無線Ad-Hoc網絡中P2P文件搜索機制的研究
3.1 WANET網絡系統樹形拓撲的建立
假設網絡組建初期只有一個初始節點A,要建立一個如圖1d所示的7個節點的WANET文件共享網絡,樹形拓撲的建立過程如下:
(1)節點A對自己的兩個共享文件α1、α2哈希后將值映射到整段共享文件哈希鏈上,如圖2a所示。
(2)節點B(共享文件β1、β2)發現節點A并向節點A發起接入請求,即B要加入A組成的網絡。節點A收到B的接入請求后,將自己所負責的哈希鏈分成兩段并分配一半給B,文件α2因此落入節點B負責的一段哈希鏈,A將文件α2的位置索引送至B(文件雖然還存放在節點A,但A上α2的位置信息置空)。因此,A成為B的雙親節點。B存放著文件α2的位置信息[α2,A]。
(3)B向網絡插入其共享文件β1和β2,β1映射到B節點所負責的哈希鏈段,β2映射到A節點所負責哈希鏈段。則B節點存儲位置信息[β1,B],A節點存儲位置信息[β2,B],即B為文件β1的PnodeA為文件β2的Pnode,如圖2b所示。
(4)另一個新節點C(存儲文件γ1、γ2)發現節點B并對其發出接入請求,節點C從B接入網絡,B將自己的哈希鏈段分出一半給C。節點C上的文件γ1、 γ2哈希后映射到哈希鏈上,如圖2c。α2落入C所負責的哈希鏈段,B將α2的信息送至C,節點C不僅保留α2的位置信息,也保留從C到文件α2的路徑信息。C將B加到路徑上,同時保存[α2,BA]的索引項。表明文件α2存儲在節點A,并且從C到節點A的路徑是“C-B-A”。節點B成為C的雙親節點。
(5)C向網絡插入共享文件γ1、γ2,γ1映射到C負責的哈希鏈段,γ2映射到A負責的哈希鏈段。
(6)同理,節點E發現網絡并向節點B發出接入請求后,分擔了B負責的一半哈希鏈并插入文件σ1,B成為E的雙親節點;節點D(存儲文件δ1和δ2)發現網絡并從節點E接入后分擔了E一半的哈希鏈,節點F(存儲了文件η1和η2)發現網絡并從E接入,叉分擔E剩下部分一半的哈希鏈:最后節點G(存儲共享文件ε1)也從E加入網絡又分擔了 E剩下哈希鏈的一半。這樣,E成為節點D、G、F的雙親節點。各個節點在加入的過程中向網絡插入自己提供的共享文件,如圖2d~圖2g中所示,相應的共享文件被插入到網絡中各節點所負責的哈希鏈上,在此過程中,相應的節點也存儲了文件名及到達文件存儲節點的路由信息。
該網絡結構建立后,網絡中各共享文件的當前位置和路由信息也被定位,搜索各共享文件的路由可從訪問Pnode的請求消息中獲得,如圖2所示。網絡的樹形拓撲結構也同時建立,如圖1所示。
(7)恢復當雙親節點的一個子節點斷網時,雙親節點重新獲得子節點所負責的哈希鏈段。或子節點與其雙親斷開時,從子節點往下每個雙親與子節點哈希鏈重新分配。
(8)離開當一個節點要離開WANET文件共享網絡時,要先刪除所有共享文件,再將其索引信息刪除,如E將自己的哈希鏈交付雙親B,同時將離網消息通知其雙親B和子節點D、G、F,則節點B將D、G、F加為子節點,節點D、G、F將B作為雙親節點。
綜上所述,在圖1d中,假設節點D要查找文件η1,則D為查詢節點Qnode,文件η1存儲在F節點,則F節點就是文件節點Fnode,文件η1映射到哈希鏈上的H(η1)點,而H(η1)點正好落在節點C負責的哈希鏈上,所以,節點C就是路徑節點Pnode,它存儲著由Pnode(節點C)到Fnode (節點F)的路由信息。
p2p機相關文章:p2p原理
評論