摘要:通信你工程師互聯(lián)網(wǎng)技術(shù)DHT使用分布式:DHT使用分布式哈希算法來解決結(jié)構(gòu)化的分布式存儲問題。分布式哈希算法的核心思想是通過將存儲對象的特征(關(guān)鍵字)經(jīng)過哈希運算,得到鍵值(Hash Key),對象的分布存儲依據(jù)鍵值來進行。
6.5.3 DHT簡介
DHT使用分布式哈希算法來解決結(jié)構(gòu)化的分布式存儲問題。分布式哈希算法的核心思想是通過將存儲對象的特征(關(guān)鍵字)經(jīng)過哈希運算,得到鍵值(Hash Key),對象的分布存儲依據(jù)鍵值來進行。具體來講,大致有以下步驟:
對存儲對象的關(guān)鍵字進行哈希運算,得到鍵值。這樣就將所有的對象映射到了一個具體的數(shù)值范圍中,
覆蓋網(wǎng)中的每個節(jié)點負責(zé)數(shù)值范圍中的特定段落。例如.節(jié)點A負責(zé)存儲鍵值從8000到8999的對象t而節(jié)點B負責(zé)7000-7999的對象。這樣就將對象集合分布地存儲在所有的節(jié)點中。
節(jié)點可以直接存儲對象本身,如文件中的一個片段;也可以存儲對象的索引,如該對象所在節(jié)點的IP地址。
結(jié)構(gòu)化的分布式存儲問題解決后,剩下的問題就是用戶如何才能找到存儲著目標(biāo)信息的節(jié)點。在有大量節(jié)點(如100萬個)的P2P系統(tǒng)中,任何節(jié)點都不可能擁有全部的節(jié)點/鍵值/內(nèi)容的對應(yīng)關(guān)系;因此用戶獲得了鍵值之后,如何找到該鍵值對應(yīng)的節(jié)點就被稱為DHT的路由問題。DHT協(xié)議必須定義優(yōu)化的查找(路由)算法來完成這一搜尋的工作。不同的DHT協(xié)議之間的區(qū)別很大程度上就在于定義了不同的路由算法。
DHT的應(yīng)用結(jié)構(gòu)如圖2-26所示:應(yīng)用層將數(shù)據(jù)對象(文件、數(shù)據(jù)塊或索引)通過哈希算法獲得鍵值,將該鍵值提交給DHT后,返回結(jié)果就是鍵值所在節(jié)點的IP地址。
返回目錄:
編輯推薦:
中級通信專業(yè)實務(wù)
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取