基于Pick-KX算法的分布式存儲系統(tǒng)設計與實現(xiàn)
發(fā)布時間:2017-07-15 10:04
本文關鍵詞:基于Pick-KX算法的分布式存儲系統(tǒng)設計與實現(xiàn)
更多相關文章: 分布式存儲 HBase Redis 文本差異檢測
【摘要】:隨著計算機網(wǎng)絡技術的發(fā)展和普及,出現(xiàn)了越來越多的像”新浪”,“淘寶”等眾多的大型門戶網(wǎng)站和電子商務網(wǎng)站,這類網(wǎng)站都保存了大量的數(shù)據(jù)資源。由于受客戶端瀏覽器的限制,無法從一臺服務器上面下載所有的數(shù)據(jù)資源,因此即使服務器有很高的帶寬,用戶的訪問速度還是會受到很大的影響,另外,由于數(shù)據(jù)保存在物理硬盤上面,訪問數(shù)據(jù)會進行頻繁的I/O操作,因此當并發(fā)用戶數(shù)越來越多時,I/O操作就會成為整個系統(tǒng)的性能瓶頸。針對以上的問題,本文提出了一種基于Pick-KX算法的分布式存儲解決方案,構建一個易于擴展,具有良好的性價比和容錯能力的分布式存儲系統(tǒng),并且允許大量的客戶端并發(fā)訪問,而不會出現(xiàn)客戶端的請求得不到響應的問題。本文的主要工作和貢獻可以歸納為以下幾點:1.研究了HBase數(shù)據(jù)庫的工作原理、讀寫流程和容錯機制,通過對HBase數(shù)據(jù)庫的整體架構和工作機制進行分析,系統(tǒng)利用HBase數(shù)據(jù)庫對文件進行分布式存儲和數(shù)據(jù)備份。2.研究了Redis內(nèi)存數(shù)據(jù)庫的工作機制、存儲數(shù)據(jù)結構、持久化機制和讀寫分離機制,通過對Redis源碼的閱讀和分析,系統(tǒng)采用Redis對數(shù)據(jù)讀取進行優(yōu)化,將用戶頻繁訪問的數(shù)據(jù)存入Redis中,同時利用Redis的過期機制將長期未被訪問的數(shù)據(jù)從Redis中移除,提高內(nèi)存使用效率。3.研究了ZooKeeper的工作原理,在系統(tǒng)中利用ZooKeeper實現(xiàn)自動化配置管理和集群管理,減少開發(fā)和維護人員的工作量,同時讓系統(tǒng)主節(jié)點實時得知工作節(jié)點上線和下線狀態(tài),調(diào)整任務分配策略,提高系統(tǒng)的可靠性。4.通過對Pick-KX算法的研究,系統(tǒng)利用Pick-KX算法實現(xiàn)各處理節(jié)點的負載均衡,避免某些處理節(jié)點長期空閑和忙死的情況,實驗表明該算法能夠有效地實現(xiàn)系統(tǒng)負載均衡。5.研究了文本差異檢測算法,當用戶對當前文件進行修改時,利用該算法將差異同步到服務器上面,避免用戶的修改數(shù)據(jù)丟失,保證系統(tǒng)的完整性,另外,系統(tǒng)利用布隆過濾器避免相同的文件重復上傳。
【關鍵詞】:分布式存儲 HBase Redis 文本差異檢測
【學位授予單位】:電子科技大學
【學位級別】:碩士
【學位授予年份】:2014
【分類號】:TP333;TP311.13
【目錄】:
- 摘要5-6
- ABSTRACT6-11
- 第一章 緒論11-16
- 1.1 課題背景11
- 1.2 網(wǎng)絡存儲的發(fā)展現(xiàn)狀11-13
- 1.3 課題的研究目的和特色13-14
- 1.3.1 課題的研究目的13
- 1.3.2 論文特色13-14
- 1.4 論文結構14-15
- 1.5 本課題的來源15
- 1.6 本章小結15-16
- 第二章 系統(tǒng)所用關鍵技術研究16-28
- 2.1 HBase數(shù)據(jù)庫研究16-20
- 2.1.1 HBase基本概念16
- 2.1.2 HBase的數(shù)據(jù)模型16-18
- 2.1.2.1 行健17
- 2.1.2.2 列族17
- 2.1.2.3 時間戳17-18
- 2.1.3 HBase物理存儲18-19
- 2.1.4 HBase的系統(tǒng)架構19-20
- 2.2 Redis緩存技術20-22
- 2.2.1 Redis的基本概念20
- 2.2.2 Redis的數(shù)據(jù)結構20-21
- 2.2.3 Redis的持久化和同步機制21-22
- 2.3 ZooKeeper分布式服務框架22-24
- 2.3.1 ZooKeeper分布式應用配置項管理原理介紹22-23
- 2.3.2 ZooKeeper集群管理原理介紹23-24
- 2.4 TCMalloc內(nèi)存分配機制24-27
- 2.4.1 TCMalloc概述24-25
- 2.4.2 小對象內(nèi)存分配過程25-26
- 2.4.3 大對象內(nèi)存分配過程26-27
- 2.5 本章小結27-28
- 第三章 分布式存儲系統(tǒng)設計與實現(xiàn)28-60
- 3.1 系統(tǒng)設計目標28
- 3.2 系統(tǒng)功能需求分析28-29
- 3.3 系統(tǒng)架構設計29-31
- 3.4 分布式存儲系統(tǒng)管理模塊設計31-34
- 3.4.1 系統(tǒng)重要的配置項介紹31
- 3.4.2 系統(tǒng)配置管理31-33
- 3.4.3 系統(tǒng)集群管理33-34
- 3.5 存儲系統(tǒng)模塊設計與實現(xiàn)34-59
- 3.5.1 服務器總體設計34-39
- 3.5.1.1 服務器工作流程34-35
- 3.5.1.2 服務器重要的數(shù)據(jù)結構35-39
- 3.5.2 服務器心跳機制實現(xiàn)39-40
- 3.5.3 文件管理模塊的設計40-42
- 3.5.4 注冊登錄模塊的設計與實現(xiàn)42-44
- 3.5.4.1 用戶表的設計43
- 3.5.4.2 用戶注冊模塊實現(xiàn)過程43-44
- 3.5.4.3 用戶登錄模塊實現(xiàn)過程44
- 3.5.5 文件處理模塊的實現(xiàn)44-48
- 3.5.5.1 文件并行上傳實現(xiàn)44-47
- 3.5.5.2 文件并行下載實現(xiàn)47-48
- 3.5.5.3 文件刪除實現(xiàn)48
- 3.5.6 文件同步設計與實現(xiàn)48-53
- 3.5.6.1 文件同步需求分析48-49
- 3.5.6.2 文本差異檢測算法49-51
- 3.5.6.3 系統(tǒng)文件差異檢測實現(xiàn)51-52
- 3.5.6.4 系統(tǒng)文件同步實現(xiàn)52-53
- 3.5.6.5 客戶端文件更新實現(xiàn)53
- 3.5.7 HBase存儲模塊設計與實現(xiàn)53-56
- 3.5.7.1 行健的設計53-54
- 3.5.7.2 數(shù)據(jù)存儲表的設計54
- 3.5.7.3 HBaseService服務實現(xiàn)54-56
- 3.5.8 數(shù)據(jù)緩存策略的設計56-58
- 3.5.9 系統(tǒng)日志的設計58-59
- 3.6 本章小結59-60
- 第四章 Pick-KX負載均衡算法研究和改進60-67
- 4.1 Pick-KX負載均衡算法基本原理60-61
- 4.2 改進的Pick-KX負載均衡算法61-66
- 4.2.1 算法的設計思想61-62
- 4.2.2 算法相關參數(shù)的計算方法62-63
- 4.2.3 系統(tǒng)負載均衡實現(xiàn)63-64
- 4.2.4 算法性能測試64-66
- 4.3 本章小結66-67
- 第五章 系統(tǒng)測試與分析67-74
- 5.1 測試軟硬件環(huán)境67-68
- 5.2 系統(tǒng)功能測試68-73
- 5.2.1 用戶注冊功能測試68-69
- 5.2.2 用戶登錄功能測試69
- 5.2.3 文件并行上傳功能測試69-70
- 5.2.4 文件并行下載功能測試70-71
- 5.2.5 文件刪除功能測試71-72
- 5.2.6 文件同步功能測試72-73
- 5.3 系統(tǒng)性能測試73
- 5.4 本章小結73-74
- 第六章 全文總結和展望74-76
- 6.1 全文總結74-75
- 6.2 論文展望75-76
- 致謝76-77
- 參考文獻77-80
- 攻讀碩士學位期間取得的成果80-81
【參考文獻】
中國期刊全文數(shù)據(jù)庫 前1條
1 薛軍,李增智,王云嵐;負載均衡技術的發(fā)展[J];小型微型計算機系統(tǒng);2003年12期
,本文編號:543359
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/543359.html
最近更新
教材專著