專利名稱:一種快速定位對等網(wǎng)絡(luò)目標節(jié)點標識的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機網(wǎng)絡(luò)的應(yīng)用,尤其涉及結(jié)構(gòu)化對等網(wǎng)絡(luò)中采用 分布式哈希表的資源定位,屬于計算機網(wǎng)絡(luò)、分布式計算機和算法設(shè) 計與分析的交叉技術(shù)應(yīng)用領(lǐng)域。
背景技術(shù):
近幾年來,對等網(wǎng)絡(luò)迅速發(fā)展,EMule、 BT等對等計算軟件的使 用也成為國內(nèi)廣大網(wǎng)民的熱門話題。在對等計算系統(tǒng)中,每個節(jié)點既 為其他參與的節(jié)點提供服務(wù)也從其他參與的節(jié)點處獲得服務(wù),這正是 由于對等計算是一個分布式的網(wǎng)絡(luò)系統(tǒng),系統(tǒng)中的節(jié)點相互連接、協(xié) 作,每個節(jié)點既是服務(wù)器也是客戶端,它們在網(wǎng)絡(luò)中的地位都是對等 的。這種分布式網(wǎng)絡(luò)結(jié)構(gòu)充分利用網(wǎng)絡(luò)上各節(jié)點的資源,有效解決了 傳統(tǒng)服務(wù)器/客戶端模式網(wǎng)絡(luò)的服務(wù)瓶頸問題。
對等計算技術(shù)弱化了集中服務(wù)器的功能,重視網(wǎng)絡(luò)中所有個體的 作用,強調(diào)的是個體之間、系統(tǒng)之間、計算機之間的直接通信和聯(lián)系, 每一個參與者既是客戶又是服務(wù)方,這使人們在互聯(lián)網(wǎng)上的共享行為 被提升到了一個更廣泛的層次,使人們以更主動的方式參與到網(wǎng)絡(luò)中 去。隨著網(wǎng)絡(luò)用戶以及網(wǎng)絡(luò)內(nèi)容的增加和對服務(wù)器要求過高,使傳統(tǒng)服務(wù)器/客戶端模式網(wǎng)絡(luò)越來越難以提供滿意的服務(wù)性能。對等計算 技術(shù)的分散特性,不僅為個人用戶提供了前所未有的自由和便利.同 時也試圖有效地整合互聯(lián)網(wǎng)的潛在資源,將基于網(wǎng)頁的互聯(lián)網(wǎng)轉(zhuǎn)變成 動態(tài)存取.自由交互的信息網(wǎng)絡(luò)。對等計算技術(shù)引導網(wǎng)絡(luò)應(yīng)用的核心 從中央服務(wù)器向網(wǎng)絡(luò)邊緣的終端設(shè)備擴散.使互聯(lián)網(wǎng)"去中心化"的 趨勢越來越明顯,從而打破了大門戶網(wǎng)站控制信息流動的局面,使普 通用戶慢慢退化的對網(wǎng)絡(luò)的控制權(quán)和對內(nèi)容的創(chuàng)造權(quán)得以恢復。對等 計算技術(shù)的應(yīng)用主要體現(xiàn)在這四個方面對等計算、協(xié)同工作、搜索 引擎與文件交換。然而,由于對等網(wǎng)絡(luò)中的每個節(jié)點都可隨時加入或 退出網(wǎng)絡(luò),而網(wǎng)絡(luò)資源是分布在各個節(jié)點上的,因此,在這種動態(tài)網(wǎng) 絡(luò)的波動中,如何高效地査詢定位到所需資源是對等計算系統(tǒng)研究的 一個核心問題。
目前,拓撲結(jié)構(gòu)、分布搜索算法及安全技術(shù)是影響對等計算網(wǎng)絡(luò) 性能的3個關(guān)鍵技術(shù)。分布搜索算法即如何找到存儲有特定數(shù)據(jù)的節(jié) 點的方法,目前可歸為三大類基于集中目錄模型的方法、泛洪方法 和基于路由方法。基于資源路由方法是當前比較先進的搜索算法,其 中分布式哈希表最為流行。分布式哈希表基本思想是利用哈希函數(shù)將 分布存放在各對等節(jié)點上的網(wǎng)絡(luò)資源映射為某一范圍內(nèi)的關(guān)鍵值,然 后通過關(guān)鍵值來査詢檢索相應(yīng)的資源。
分布式哈希表的基本原理是對等計算網(wǎng)絡(luò)中的每個節(jié)點和資源 都通過散列函數(shù)作變換產(chǎn)生一個唯一的ID標識自己,每個節(jié)點負責 管理一部分ID空間,而資源根據(jù)自己的ID映射到相應(yīng)的節(jié)點,每個節(jié)點都維護一個路由表,査詢定位資源時通過路由表進行選擇性轉(zhuǎn) 發(fā),經(jīng)過一定次數(shù)的跳轉(zhuǎn)就能査詢到所需資源,所以非常方便?;?br>
DHT的具體實現(xiàn)有多個,如Chord、 Tapestry、 Kademlia、 CAN等,其 中Kademlia協(xié)議被主流對等計算下載軟件如EMule、 Bitcomet、 BitSpirit等采用。
Kademlia屬于一種典型的結(jié)構(gòu)化對等計算覆蓋網(wǎng)絡(luò)(Structured P2P Overlay Network),以分布式的應(yīng)用層全網(wǎng)方式來進行信息的存 儲和檢索是其嘗試解決的主要問題。在Kademlia網(wǎng)絡(luò)中,所有信息 均以〈關(guān)鍵字,信息值〉的哈希表條目形式加以存儲,這些條目被分散 地存儲在各個節(jié)點上,從而以全網(wǎng)方式構(gòu)成一張巨大的分布式哈希 表。Kademlia技術(shù)的最大特點之一就是能夠提供快速的節(jié)點査找機 制,并且還可以通過參數(shù)進行查找速度的調(diào)節(jié)。
但由于Kademlia網(wǎng)絡(luò)節(jié)點經(jīng)過散列之后,物理位置信息被破壞, 來自同一個子網(wǎng)的多個節(jié)點的節(jié)點號可能邏輯距離很遠,路由過程可 能需要跨越多個廣域網(wǎng)節(jié)點,從而導致一個信息的査詢占用過多的網(wǎng) 絡(luò)資源,使得應(yīng)用系統(tǒng)響應(yīng)時間長,網(wǎng)絡(luò)速度減慢。另外,在網(wǎng)絡(luò)搜 索中,有50%以上的情況都在搜索熱門資源,而現(xiàn)有的查詢一個信息, 無論是否熱門資源,都采用同一種方法搜索,存在重復使用網(wǎng)絡(luò)資源, 因而搜索時間長,且使網(wǎng)絡(luò)速度減慢。
TTL (Time To Live )表示生存時間,在網(wǎng)絡(luò)中,TTL-k是IP 協(xié)議包中的一個值,它告訴網(wǎng)絡(luò)路由器包在網(wǎng)絡(luò)中的路程是否太長而 應(yīng)被丟棄。是確定一個路程距離,超過此距離就把包丟棄。由于每個路由器都要把TTL值減一,TTL表示包在被丟棄前最多能經(jīng)過的路由器個數(shù)。當記數(shù)到0時,路由器決定丟棄該包,并發(fā)送一個ICMP報文給最初的發(fā)送者。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種快速定位對等網(wǎng)絡(luò)目標節(jié)點標識的方法,該方法在對等節(jié)點中加入記錄節(jié)點,且在物理層上跳數(shù)小于設(shè)定TTL-k,因此,在査詢過程中,上層的邏輯覆蓋圖與底層的物理拓撲圖較匹配,系統(tǒng)響應(yīng)時間相應(yīng)地減少,從而使得網(wǎng)絡(luò)速度加快,查詢延時會大大降低,信息査詢效率得到了進一步的提高。
為了達到上述目的,本發(fā)明采用如下技術(shù)方案
一種快速定位對等網(wǎng)絡(luò)目標節(jié)點標識的方法,該方法包含下列步
驟
a、 對等節(jié)點通過自身的IP地址的160比特安全哈希算法散列得到唯一的ID,通過ID加入到分布式哈??臻g;
b、 在對等節(jié)點加入對等網(wǎng)絡(luò)時,探測在區(qū)域內(nèi)TTL-k的鄰居中是否有記錄列表存在,如果存在,則將該記錄節(jié)點放入K桶中,并加以標注,所加入的對等節(jié)點成為普通節(jié)點;如果不存在,則所加入的對等節(jié)點自身成為一個記錄節(jié)點,并建立長度為100至1000的列表,每個列表保存TTL-k的鄰居中其它節(jié)點成功查詢的關(guān)鍵字及查詢該關(guān)鍵字的路徑;記錄節(jié)點在退出對等網(wǎng)絡(luò)時,把列表交給距自身TTL-k鄰居中與自己網(wǎng)絡(luò)延時最小的對等節(jié)點負責維護;
記錄節(jié)點列表信息的更新方法記錄節(jié)點接收到其它節(jié)點的關(guān)鍵字查詢結(jié)果時,如果有空的列表,當列表中保存的信息沒有被査詢的關(guān)鍵字,將該關(guān)鍵字及成功査詢該關(guān)鍵字的路徑添加到空列表中,當被査詢的關(guān)鍵字已保存在某個列表中,則將該列表移至列表隊尾;
如果沒有空的列表,當被查詢的關(guān)鍵字已在列表中,把該關(guān)鍵字所在的列表移至隊尾;當被查詢的關(guān)鍵字不在列表中,PING最早查詢隊首關(guān)鍵字的節(jié)點,有響應(yīng)時,列表不變;沒有響應(yīng)時,將列表隊首信息更換成所査詢的關(guān)鍵字及查詢該關(guān)鍵字的路徑,并把該列表移至隊尾;
c、每個節(jié)點在加入對等網(wǎng)絡(luò)時,均需建立和維護160個列表,一個列表表示一個K桶,每個K桶設(shè)定存放15-25個對等節(jié)點,每個節(jié)點設(shè)有節(jié)點ID、 IP地址、UDP端口、往返時間四個信息,每個對等節(jié)點的第i個列表存放其它與自身對等節(jié)點ID的異或值為2j-21+1的對等節(jié)點,l《i《160,對等節(jié)點建立了 160個K桶后,將在TTL-k的鄰居中查找到的其它對等節(jié)點加入到自身的K桶;
當査詢發(fā)起者向?qū)Φ裙?jié)點發(fā)出待查詢信息時,如果査詢發(fā)起者的對等節(jié)點與該對等記錄節(jié)點的異或值所對應(yīng)的K桶未滿所設(shè)定的個數(shù),且所訪問的對等節(jié)點不在K桶時,把該對等節(jié)點添加到K桶;并將該K桶所有對等節(jié)點按照PING時間的長短依次重新排序,時間最短的排在隊首;
如果查詢發(fā)起者的對等節(jié)點與該對等記錄節(jié)點的異或值所對應(yīng)的K桶己達到所設(shè)定的個數(shù),則當所訪問對等節(jié)點的PING時間大于隊尾對等節(jié)點的PING時間時,K桶不變,當所訪問對等節(jié)點的PING時間小于隊尾對等節(jié)點的PING時間時,則將隊尾對等節(jié)點替換為所
訪問的對等節(jié)點,將該K桶所有對等節(jié)點按照PING時間的長短依次重新排序,時間最短的排在隊首;
d、信息査詢的方法,該方法包括下列步驟
dl、當對等節(jié)點要査詢信息時,首先向自身TTL-k鄰居中的記錄節(jié)點發(fā)出待查詢信息,如果該記錄節(jié)點存在所査詢信息,則返回査詢結(jié)果,査詢結(jié)束;
d2、如果待査詢的信息不存在,由查詢發(fā)起者從自身的K桶中篩選出3-10個未被查詢且與目標ID異或值相對較小的對等節(jié)點,如果這些對等節(jié)點中有待查詢信息,查詢結(jié)束;
d3、否則向這些對等節(jié)點發(fā)送異步查詢請求,被查詢對等節(jié)點收到請求后,從自身己的K桶中篩選出與目標ID異或值相對較小的對等節(jié)點,并將這些對等節(jié)點的信息返回給查詢發(fā)起者;
d4、發(fā)起者在收到返回信息后,按照步驟c的規(guī)定,對收到的對等節(jié)點信息進行舍取和從新排列,再次從自身K桶中篩選出3-10個沒有請求過,且與目標ID異或值相對較小的對等節(jié)點發(fā)出査詢請求,如果這些對等節(jié)點中有待査詢信息,査詢結(jié)束,并執(zhí)行步驟d5;否則返回步驟d2;
d5、在查詢過程中,將沒有響應(yīng)的對等節(jié)點從K桶中刪除;d6、查詢成功后向自身TTL-k鄰居中的記錄節(jié)點發(fā)送本次查找的關(guān)鍵字及査詢路徑的信息;
d7、記錄節(jié)點退出對等網(wǎng)絡(luò)時把自己所維護的記錄列表交給距自身TTL-k鄰居中與自己網(wǎng)絡(luò)延時最小的對等節(jié)點,普通對等節(jié)點則直接退出。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點是由于現(xiàn)有結(jié)構(gòu)化對等網(wǎng)絡(luò)中,
網(wǎng)絡(luò)節(jié)點經(jīng)過散列后,物理位置信息被破壞,來自同一個子網(wǎng)的多個節(jié)點的節(jié)點號邏輯距離可能很遠,路由過程可能需要跨越多個廣域網(wǎng)節(jié)點,從而導致一個信息的查詢占用過多的網(wǎng)絡(luò)資源,使得應(yīng)用系統(tǒng)
響應(yīng)時間長,網(wǎng)絡(luò)速度減慢。由于本發(fā)明K桶里的對等節(jié)點的距離,在物理層上跳數(shù)都小于TTL-k,因此查詢過程中,上層的邏輯覆蓋圖與底層的物理拓撲圖較匹配,查詢時所占用的網(wǎng)絡(luò)資源減少,應(yīng)用系統(tǒng)響應(yīng)時間相應(yīng)地減少,加上K桶里所保存的節(jié)點與查詢者的往返延時都比較小,從而使得網(wǎng)絡(luò)速度加快,査詢延時會大大降低。
另外在網(wǎng)絡(luò)搜索中,有50%以上的情況都在搜索熱門資源,本發(fā)明加入記錄節(jié)點后,相同的資源采用相同的路徑査找,減少了重復,使得網(wǎng)絡(luò)資源消耗降低,信息查詢效率得到了進一步的提高。
具體實施例方式
下面對本發(fā)明作進一步的說明。
一種快速定位對等網(wǎng)絡(luò)目標節(jié)點標識的方法,該方法包括以下步
a、對等節(jié)點通過自身的IP地址的160比特安全哈希算法散列得到唯一的ID,通過ID加入到分布式哈??臻g,在對等網(wǎng)絡(luò)屮,關(guān)鍵字同樣被哈希算法散列成160比特的值,這個值和對等節(jié)點的ID值形式完全相同,因此在分布式哈希對等網(wǎng)絡(luò)屮,相應(yīng)的關(guān)鍵字被ID值與關(guān)鍵字的160比特的哈希值相同的對等節(jié)點維護,所以關(guān)鍵字的查找可以簡單的變成對等節(jié)點ID的查找;
b、 在對等節(jié)點加入對等網(wǎng)絡(luò)時,探測在區(qū)域內(nèi)TTL-k的鄰居中是否有記錄列表存在,如果存在,則將該記錄節(jié)點放入K桶中,并加以標注,所加入的對等節(jié)點成為普通節(jié)點;如果不存在,則所加入的對等節(jié)點自身成為一個記錄節(jié)點,并建立長度為100至1000的列表,每個列表保存TTL-k的鄰居中其它節(jié)點成功査詢的關(guān)鍵字及査詢該關(guān)鍵字的路徑;記錄節(jié)點在退出對等網(wǎng)絡(luò)時,把列表交給距自身TTL-k鄰居中與自己網(wǎng)絡(luò)延時最小的對等節(jié)點負責維護;
記錄節(jié)點列表信息的更新方法記錄節(jié)點接收到其它節(jié)點的關(guān)鍵
字查詢結(jié)果時,如果有空的列表,當列表中保存的信息沒有被査詢的關(guān)鍵字,將該關(guān)鍵字及成功查詢該關(guān)鍵字的路徑添加到空列表中,當
被査詢的關(guān)鍵字己保存在某個列表中,則將該列表移至列表隊尾;
如果沒有空的列表,當被查詢的關(guān)鍵字已在列表中,把該關(guān)鍵字所在的列表移至隊尾;當被査詢的關(guān)鍵字不在列表中,PING最早査詢隊首關(guān)鍵字的節(jié)點,有響應(yīng)時,列表不變;沒有響應(yīng)時,將列表隊首信息更換成所査詢的關(guān)鍵字及查詢該關(guān)鍵字的路徑,并把該列表移至隊尾;
c、 每個節(jié)點在加入對等網(wǎng)絡(luò)時,均需建立和維護160個列表,一個列表表示一個K桶,每個K桶設(shè)定存放15-25個對等節(jié)點,每個節(jié)點設(shè)有節(jié)點ID、 IP地址、UDP端口、往返時間四個信息,每個對等節(jié)點的第i個列表存放其它與自身對等節(jié)點ID的異或值為21-21+1的對等節(jié)點,l《i《160,對等節(jié)點建立了 160個K桶后,將在TTL-k的鄰居中查找到的其它對等節(jié)點加入到自身的K桶;
當査詢發(fā)起者向?qū)Φ裙?jié)點發(fā)出待査詢信息時,如果查詢發(fā)起者的對等節(jié)點與該對等記錄節(jié)點的異或值所對應(yīng)的K桶未滿所設(shè)定的個數(shù),且所訪問的對等節(jié)點不在K桶時,把該對等節(jié)點添加到K桶;并將該K桶所有對等節(jié)點按照PING時間的長短依次重新排序,時間最短的排在隊首;
如果查詢發(fā)起者的對等節(jié)點與該對等記錄節(jié)點的異或值所對應(yīng)的K桶已達到所設(shè)定的個數(shù),則當所訪問對等節(jié)點的PING時間大于隊尾對等節(jié)點的PING時間時,K桶不變,當所訪問對等節(jié)點的P頂G時間小于隊尾對等節(jié)點的PING時間時,則將隊尾對等節(jié)點替換為所訪問的對等節(jié)點,將該K桶所有對等節(jié)點按照PING時間的長短依次重新排序,時間最短的排在隊首;
d、信息査詢的方法,該方法包括下列步驟
dl、當對等節(jié)點要査詢信息時,首先向自身TTL-k鄰居中的記錄節(jié)點發(fā)出待査詢信息,如果該記錄節(jié)點存在所査詢信息,則返回査詢結(jié)果,查詢結(jié)束;
d2、如果待查詢的信息不存在,由査詢發(fā)起者從自身的K桶中篩選出3-IO個未被查詢且與目標ID異或值相對較小的對等節(jié)點,如果這些對等節(jié)點中有待査詢信息,査詢結(jié)束;
d3、否則向這些對等節(jié)點發(fā)送異步查詢請求,被查詢對等節(jié)點收到請求后,從自身己的K桶中篩選出與目標ID異或值相對較小的對等節(jié)點,并將這些對等節(jié)點的信息返回給査詢發(fā)起者;
d4、發(fā)起者在收到返回信息后,按照步驟c的規(guī)定,對收到的對等節(jié)點信息進行舍取和從新排列,再次從自身K桶中篩選出3-10個沒有請求過,且與目標ID異或值相對較小的對等節(jié)點發(fā)出查詢請求,如果這些對等節(jié)點中有待査詢信息,查詢結(jié)束,并執(zhí)行步驟d5;否則
返回步驟(12;
d5、在査詢過程中,將沒有響應(yīng)的對等節(jié)點從K桶中刪除;d6、査詢成功后向自身TTL-k鄰居中的記錄節(jié)點發(fā)送本次查找的關(guān)鍵字及査詢路徑的信息;
d7、記錄節(jié)點退出對等網(wǎng)絡(luò)時把自己所維護的記錄列表交給距自身TTL-k鄰居中與自己網(wǎng)絡(luò)延時最小的對等節(jié)點,普通對等節(jié)點則直接退出。
權(quán)利要求
1、一種快速定位對等網(wǎng)絡(luò)目標節(jié)點標識的方法,該方法包含下列步驟a、對等節(jié)點通過自身的IP地址的160比特安全哈希算法散列得到唯一的ID,通過ID加入到分布式哈??臻g;b、在對等節(jié)點加入對等網(wǎng)絡(luò)時,探測在區(qū)域內(nèi)TTL-k的鄰居中是否有記錄列表存在,如果存在,則將該記錄節(jié)點放入K桶中,并加以標注,所加入的對等節(jié)點成為普通節(jié)點;如果不存在,則所加入的對等節(jié)點自身成為一個記錄節(jié)點,并建立長度為100至1000的列表,每個列表保存TTL-k的鄰居中其它節(jié)點成功查詢的關(guān)鍵字及查詢該關(guān)鍵字的路徑;記錄節(jié)點在退出對等網(wǎng)絡(luò)時,把列表交給距自身TTL-k鄰居中與自己網(wǎng)絡(luò)延時最小的對等節(jié)點負責維護;記錄節(jié)點列表信息的更新方法記錄節(jié)點接收到其它節(jié)點的關(guān)鍵字查詢結(jié)果時,如果有空的列表,當列表中保存的信息沒有被查詢的關(guān)鍵字,將該關(guān)鍵字及成功查詢該關(guān)鍵字的路徑添加到空列表中,當被查詢的關(guān)鍵字已保存在某個列表中,則將該列表移至列表隊尾;如果沒有空的列表,當被查詢的關(guān)鍵字已在列表中,把該關(guān)鍵字所在的列表移至隊尾;當被查詢的關(guān)鍵字不在列表中,PING最早查詢隊首關(guān)鍵字的節(jié)點,有響應(yīng)時,列表不變;沒有響應(yīng)時,將列表隊首信息更換成所查詢的關(guān)鍵字及查詢該關(guān)鍵字的路徑,并把該列表移至隊尾;c、每個節(jié)點在加入對等網(wǎng)絡(luò)時,均需建立和維護160個列表,一個列表表示一個K桶,每個K桶設(shè)定存放15-25個對等節(jié)點,每個節(jié)點設(shè)有節(jié)點ID、IP地址、UDP端口、往返時間四個信息,每個對等節(jié)點的第i個列表存放其它與自身對等節(jié)點ID的異或值為2i-2i+1的對等節(jié)點,1≤i≤160,對等節(jié)點建立了160個K桶后,將在TTL-k的鄰居中查找到的其它對等節(jié)點加入到自身的K桶;當查詢發(fā)起者向?qū)Φ裙?jié)點發(fā)出待查詢信息時,如果查詢發(fā)起者的對等節(jié)點與該對等記錄節(jié)點的異或值所對應(yīng)的K桶未滿所設(shè)定的個數(shù),且所訪問的對等節(jié)點不在K桶時,把該對等節(jié)點添加到K桶;并將該K桶所有對等節(jié)點按照PING時間的長短依次重新排序,時間最短的排在隊首;如果查詢發(fā)起者的對等節(jié)點與該對等記錄節(jié)點的異或值所對應(yīng)的K桶已達到所設(shè)定的個數(shù),則當所訪問對等節(jié)點的PING時間大于隊尾對等節(jié)點的PING時間時,K桶不變,當所訪問對等節(jié)點的PING時間小于隊尾對等節(jié)點的PING時間時,則將隊尾對等節(jié)點替換為所訪問的對等節(jié)點,將該K桶所有對等節(jié)點按照PING時間的長短依次重新排序,時間最短的排在隊首;d、信息查詢的方法,該方法包括下列步驟d1、當對等節(jié)點要查詢信息時,首先向自身TTL-k鄰居中的記錄節(jié)點發(fā)出待查詢信息,如果該記錄節(jié)點存在所查詢信息,則返回查詢結(jié)果,查詢結(jié)束;d2、如果待查詢的信息不存在,由查詢發(fā)起者從自身的K桶中篩選出3-10個未被查詢且與目標ID異或值相對較小的對等節(jié)點,如果這些對等節(jié)點中有待查詢信息,查詢結(jié)束;d3、否則向這些對等節(jié)點發(fā)送異步查詢請求,被查詢對等節(jié)點收到請求后,從自身己的K桶中篩選出與目標ID異或值相對較小的對等節(jié)點,并將這些對等節(jié)點的信息返回給查詢發(fā)起者;d4、發(fā)起者在收到返回信息后,按照步驟c的規(guī)定,對收到的對等節(jié)點信息進行舍取和從新排列,再次從自身K桶中篩選出3-10個沒有請求過,且與目標ID異或值相對較小的對等節(jié)點發(fā)出查詢請求,如果這些對等節(jié)點中有待查詢信息,查詢結(jié)束,并執(zhí)行步驟d5;否則返回步驟d2;d5、在查詢過程中,將沒有響應(yīng)的對等節(jié)點從K桶中刪除;d6、查詢成功后向自身TTL-k鄰居中的記錄節(jié)點發(fā)送本次查找的關(guān)鍵字及查詢路徑的信息;d7、記錄節(jié)點退出對等網(wǎng)絡(luò)時把自己所維護的記錄列表交給距自身TTL-k鄰居中與自己網(wǎng)絡(luò)延時最小的對等節(jié)點,普通對等節(jié)點則直接退出。
全文摘要
本發(fā)明公開了一種快速定位對等網(wǎng)絡(luò)目標節(jié)點標識的方法,涉及計算機網(wǎng)絡(luò)、分布式計算機和算法設(shè)計與分析的交叉技術(shù)應(yīng)用領(lǐng)域。該方法在拓撲形成時充分利用網(wǎng)絡(luò)訪問的區(qū)域性和物理網(wǎng)絡(luò)中節(jié)點的鄰近特性降低訪問延遲和路由長度。從而能夠盡可能解決上層的邏輯覆蓋圖與底層物理拓撲圖的不匹配的問題。此外,把哈希表中的對等點分成普通節(jié)點和記錄節(jié)點,記錄節(jié)點負責記錄普通節(jié)點的查詢路徑,供查詢相同關(guān)鍵字的節(jié)點參考,減少了資源定位時間,從而使得系統(tǒng)響應(yīng)時間相應(yīng)地減少,網(wǎng)絡(luò)速度加快,查詢延時降低,信息查詢效率得到了進一步的提高。
文檔編號H04L29/08GK101582845SQ200910062729
公開日2009年11月18日 申請日期2009年6月16日 優(yōu)先權(quán)日2009年6月16日
發(fā)明者兆 余, 楠 楊, 王春枝, 陳宏偉, 魏斯瑋 申請人:湖北工業(yè)大學