專利名稱:一種基于集中服務的分布式對等網(wǎng)絡的實現(xiàn)方法及系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于網(wǎng)絡與通信技術領域,具體涉及一種基于集中服務的分布式 對等網(wǎng)絡的實現(xiàn)方法及系統(tǒng)。
背景技術:
隨著網(wǎng)絡規(guī)模的不斷擴大,網(wǎng)絡用戶數(shù)量的迅速增長,傳統(tǒng)的客戶端/服 務器模式面臨著過量存儲負載、單點失效、網(wǎng)絡帶寬限制等一些難以解決的 問題。為了解決這些問題,分布式對等網(wǎng)絡技術得到了快速發(fā)展。對等網(wǎng)絡
(P2P-Peer-to-Peer)是一種點對點的分布式網(wǎng)絡系統(tǒng),共享資源分布在各個對 等節(jié)點中,資源共享在各對等節(jié)點之間直接進行。
在對等網(wǎng)絡中,對等節(jié)點之間的組織方式在很大程度上決定著對等網(wǎng)絡 的性能,對等節(jié)點之間的組織方式按照提出的先后分別為(l)采用集中式的 組織方式,資源的發(fā)現(xiàn)依賴于目錄服務器,以著名的MP3共享軟件Napster為 代表;(2)采用隨機圖的組織方式,對等節(jié)點之間結(jié)構松散,資源的發(fā)現(xiàn)以泛 洪方式進行,以Gnutdla模型為代表;(3)采用某種特定結(jié)構的組織方式,如 采用Torus結(jié)構的CAN系統(tǒng),采用Plaxton Tree結(jié)構的Tapestry禾BPastry系統(tǒng),以 及采用Ring結(jié)構的Chord系統(tǒng),資源的發(fā)現(xiàn)借助于分布式Hash表(DHT)。采用 特定結(jié)構的組織方式使得對等網(wǎng)絡的性能大幅度提升,同時也帶來了新的亟 待解決的問題為了維護對等節(jié)點之間的某種特定結(jié)構使得維護開銷相當可 觀,特別是在大規(guī)模和節(jié)點加入退出頻繁的網(wǎng)絡環(huán)境下,會造成嚴重的網(wǎng)絡 波動問題。
本發(fā)明提出一種基于集中服務的分布式對等網(wǎng)絡的構造方法,在對等網(wǎng) 絡中引入集中服務器,對等網(wǎng)絡采用輪狀結(jié)構組織方式,對等節(jié)點之間采用 環(huán)狀結(jié)構組織方式。集中服務器為節(jié)點的加入、退出對等網(wǎng)絡提供集中服 務,對等節(jié)點可以通過集中服務器査找自己的鄰居節(jié)點,這樣降低了對等節(jié) 點之間維護鄰居關系的開銷,使網(wǎng)絡波動得到有效控制,避免了對等節(jié)點孤 島的出現(xiàn)。對等節(jié)點之間維護適當數(shù)量的鄰居關系,這樣既減輕了集中服務 器的負擔,又能夠在一定程度上解決服務器單點失效問題。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種基于集中服務的分布式對等網(wǎng)絡及構造方 法,以解決節(jié)點頻繁加入、退出對等網(wǎng)絡造成的網(wǎng)絡波動問題,特別適用于 大規(guī)模對等網(wǎng)絡,提高對等網(wǎng)絡工作效率。
步驟l,為所述對等網(wǎng)絡配置一個集中服務器,為服務器定義B+樹數(shù)據(jù)結(jié) 構用于存儲動態(tài)變化的對等節(jié)點的信息,節(jié)點的信息至少包括節(jié)點的唯一身 份標識ID,節(jié)點的通信地址IP和建立通信連接的端口Port,節(jié)點上次通告集中 服務器存活信息的時間Time,以及節(jié)點的存活狀態(tài)標志Flag。
步驟2,新節(jié)點加入對等網(wǎng)絡執(zhí)行以下步驟
2.1新節(jié)點向集中服務器發(fā)送加入對等網(wǎng)絡請求,如果集中服務器不能提 供集中服務,執(zhí)行2.2,否則,執(zhí)行以下步驟
2丄1集中服務器在自身維護的B+樹結(jié)構中査找新節(jié)點ID在B+樹中的插入 位置,找到后存儲新節(jié)點信息,并將新節(jié)點的ID和存儲新節(jié)點信息的指針插 入到該位置;
2丄2集中服務器在自身維護的B+樹結(jié)構中查找新節(jié)點的直接鄰居的信 息,找到后將直接鄰居的信息返回給新節(jié)點;
2丄3執(zhí)行2.3,即新節(jié)點與其直接鄰居建立鄰居關系加入對等網(wǎng)絡。
2.2新節(jié)點獲取當前已加入對等網(wǎng)絡的任一對等節(jié)點,如果未能獲得對等
節(jié)點,新節(jié)點加入失敗返回,否則,執(zhí)行以下步驟
2.2.1執(zhí)行步驟3,即從對等節(jié)點出發(fā)在虛鏈路中査找新節(jié)點的直接鄰居; 2.2.2如果找到新節(jié)點的直接鄰居,執(zhí)行2.3,即新節(jié)點與其直接鄰居建立
鄰居關系加入對等網(wǎng)絡,否則,新節(jié)點加入失敗返回。
2.3新節(jié)點與其直接鄰居建立鄰居關系加入對等網(wǎng)絡,具體步驟如下 2.3.1新節(jié)點根據(jù)己獲得的直接鄰居的信息請求與之建立直接鄰居關系; 2.3.2直接鄰居接收到新節(jié)點發(fā)出的請求建立直接鄰居關系信息后,驗證
新節(jié)點是否為其直接鄰居,如果通過驗證,修改鄰居信息表中直接鄰居的信
息條目,返回建立直接鄰居關系成功信息給新節(jié)點,否則,新節(jié)點加入失敗
返回;
2.3.3新節(jié)點接收到建立直接鄰居關系成功信息后,修改自己鄰居信息表 中相應的直接鄰居信息條目;
2.3.4重復2.3.1-2.3.3步驟,直到新節(jié)點與其直接前驅(qū)鄰居和直接后繼鄰居 都建立直接鄰居關系;
2.3.5新節(jié)點負責向集中服務器通告加入對等網(wǎng)絡成功信息。
步驟3,在不提供集中服務的情況下,從對等節(jié)點出發(fā)在虛鏈路中查找新
節(jié)點的直接鄰居,具體步驟如下
3.1將査找出發(fā)的對等節(jié)點作為當前節(jié)點,在當前節(jié)點維護的主鄰居列表 中査找新節(jié)點的直接鄰居,如果找到新節(jié)點的直接鄰居,將新節(jié)點的直接鄰 居的信息返回給新節(jié)點,査找結(jié)束返回,否則,繼續(xù)執(zhí)行;
3.2執(zhí)行3.4,即在當前節(jié)點的次鄰居列表中查找距離新節(jié)點最近的已加入 對等網(wǎng)絡的對等節(jié)點,如果找到,將其作為新的査找出發(fā)節(jié)點,轉(zhuǎn)到執(zhí)行 3.1,否則,置當前節(jié)點的主鄰居列表中距離新節(jié)點最近的對等節(jié)點為新的査 找出發(fā)節(jié)點,轉(zhuǎn)到執(zhí)行3.1;
3.3直到査找跳數(shù)(Hops)溢出為止。
3.4在當前節(jié)點的次鄰居列表中査找距離新節(jié)點最近的已加入對等網(wǎng)絡的 對等節(jié)點,具體步驟如下
3.4.1在當前節(jié)點維護的次鄰居列表中除去在主鄰居列表范圍內(nèi)的節(jié)點,
余留節(jié)點列表為査找范圍;
3.4.2如果新節(jié)點ID在査找范圍內(nèi)最小ID和最大ID之間,執(zhí)行以下步驟
(1) 依折半査找方法査找新節(jié)點ID在査找范圍的插入位置;
(2) 從新節(jié)點插入位置的前后兩個節(jié)點起按照距離新節(jié)點由小至大的順序 逐個進行連接檢測,査找當前已加入對等網(wǎng)絡的對等節(jié)點;
3.4.3否則,從査找范圍的ID最小節(jié)點和ID最大節(jié)點起由按照距離新節(jié)點 由小至大的順序逐個進行連接檢測,查找當前已加入對等網(wǎng)絡的對等節(jié)點。 步驟4,對等網(wǎng)絡內(nèi)單個節(jié)點退出或連續(xù)多個節(jié)點并發(fā)退出,執(zhí)行以下步
4.1對等網(wǎng)絡內(nèi)退出節(jié)點分別向集中服務器和自己維護的鄰居信息表的主 鄰居列表中的直接鄰居發(fā)送退出對等網(wǎng)絡信息;
4.2收到節(jié)點退出信息的集中服務器,如果正常運行,在自己維護的B+樹 結(jié)構中根據(jù)退出節(jié)點ID査找到退出節(jié)點,并在節(jié)點信息中置退出標志;
4.3將收到節(jié)點退出信息的對等節(jié)點作為邊界節(jié)點,邊界節(jié)點在其維護的 主鄰居列表的退出節(jié)點所在前驅(qū)或后繼區(qū)域中依從上到下的順序逐個連接檢 測節(jié)點的存活狀態(tài),如果邊界節(jié)點在其主鄰居列表的退出節(jié)點所在區(qū)域中檢 測到存活節(jié)點,此節(jié)點為邊界節(jié)點的直接鄰居,執(zhí)行步驟6,即邊界節(jié)點與其 直接鄰居建立直接鄰居關系,否則,繼續(xù)執(zhí)行;
4.4如果集中服務器不能提供集中服務,執(zhí)行4.5,否則,執(zhí)行以下步驟
4.4.1邊界節(jié)點向集中服務器請求査詢其直接鄰居;
4.4.2集中服務器在自己維護的B+樹結(jié)構中査找邊界節(jié)點的直接鄰居,并 將直接鄰居信息返回給邊界節(jié)點;
4.4.3執(zhí)行步驟6,即邊界節(jié)點與其直接鄰居建立直接鄰居關系。 4.5執(zhí)行步驟7,即在不提供集中服務的情況下,邊界節(jié)點從自身出發(fā)在
虛鏈路中査找其直接前驅(qū)或后繼鄰居,如果找到其直接鄰居,執(zhí)行步驟6,即 邊界節(jié)點與其直接鄰居建立直接鄰居關系,否則,網(wǎng)絡環(huán)狀拓撲斷裂返回。
步驟5,對等網(wǎng)絡內(nèi)單個節(jié)點失效或連續(xù)多個節(jié)點并發(fā)失效,被動退出對 等網(wǎng)絡,執(zhí)行以下步驟
5.1集中服務器連接檢測哪些在時間閾值內(nèi)沒有向其通告存活信息的對等 節(jié)點,對于失效節(jié)點服務器在自己維護的B+樹結(jié)構中根據(jù)失效節(jié)點ID查找到 失效節(jié)點,并在節(jié)點信息中置失效標志;
5.2對等網(wǎng)絡內(nèi)每個節(jié)點周期性連接檢測其直接鄰居的存活狀態(tài),當檢測 發(fā)現(xiàn)其直接鄰居失效,邊界節(jié)點在其維護的主鄰居列表的失效節(jié)點所在前驅(qū) 或后繼區(qū)域中依從上到下的順序逐個連接檢測節(jié)點的存活狀態(tài),如果在主鄰 居列表的失效節(jié)點所在區(qū)域中檢測到存活節(jié)點,此節(jié)點為邊界節(jié)點的直接鄰 居,執(zhí)行步驟6,即邊界節(jié)點與其直接鄰居建立直接鄰居關系,否則,繼續(xù)執(zhí) 行;
5.3如果集中服務器不能提供集中服務,執(zhí)行5.4,否則,執(zhí)行以下步驟 5.3.1邊界節(jié)點向集中服務器請求查詢其直接鄰居;
5.3.2集中服務器在自己維護的B+樹結(jié)構中査詢邊界節(jié)點的直接鄰居,并 將直接鄰居信息返回給邊界節(jié)點;
5.3.3執(zhí)行步驟6,即邊界節(jié)點與其直接鄰居建立直接鄰居關系。 5.4執(zhí)行步驟7,即在不提供集中服務的情況下,邊界節(jié)點從自身出發(fā)在 虛鏈路中査找其直接前驅(qū)或后繼鄰居,如果找到其直接鄰居,執(zhí)行步驟6,即 邊界節(jié)點與其直接鄰居建立直接鄰居關系,否則,網(wǎng)絡環(huán)狀拓撲斷裂返回。
步驟6邊界節(jié)點與其直接鄰居(邊界節(jié)點)建立直接鄰居關系,執(zhí)行以 下步驟
6.1邊界節(jié)點根據(jù)已獲得的直接鄰居的信息請求與之建立直接鄰居關系; 6.2直接鄰居接收到邊界節(jié)點發(fā)出的請求建立直接鄰居關系信息后,修改
鄰居信息表中相應的直接鄰居信息條目,返回建立直接鄰居關系成功信息給
邊界節(jié)點;
6.3邊界節(jié)點接收到建立直接鄰居關系成功信息后,修改自己鄰居信息表 中相應的直接鄰居信息條目;
6.4邊界節(jié)點與其直接鄰居的主鄰居列表的退出節(jié)點所在區(qū)域中的其余鄰 居信息條目從對方學習獲得;
6.5邊界節(jié)點與其直接鄰居向自己維護的主鄰居列表的無退出節(jié)點區(qū)域中 的其余鄰居節(jié)點通告更新的信息條目,這些節(jié)點對自己維護的主鄰居列表進 行相應修改。
步驟7,在不提供集中服務的情況下,邊界節(jié)點從自身出發(fā)在虛鏈路中査 找其直接前驅(qū)鄰居或直接后繼鄰居,執(zhí)行以下步驟
7.1邊界節(jié)點根據(jù)連接檢測的結(jié)果確定査找其直接后繼鄰居還是直接前驅(qū) 鄰居,如果查找其直接后繼鄰居,邊界節(jié)點從自己出發(fā)循逆時針方向査找順 時針距離自己最近的對等節(jié)點,否則,邊界節(jié)點從自己出發(fā)循順時針方向査 找逆時針距離自己最近的對等節(jié)點;
7.2直到找到邊界節(jié)點的直接鄰居或査找跳數(shù)(Hops)溢出為止。 一種基于集中服務的分布式對等網(wǎng)絡,包括一個集中服務器,集中服務 器用于存儲對等節(jié)點的信息,對等節(jié)點可以通過集中服務器査找自己的鄰居 節(jié)點。
一種基于集中服務的分布式對等網(wǎng)絡,還包括為集中服務器定義B+樹數(shù) 據(jù)結(jié)構用于存儲動態(tài)變化的對等節(jié)點的信息,實時記錄對等節(jié)點當前的存活 狀態(tài)。
一種基于集中服務的分布式對等網(wǎng)絡,還包括對等節(jié)點的唯一身份標識
ID為節(jié)點的通信地址IP和通信連接端口Port經(jīng)哈希函數(shù)運算得到的值,即對等
節(jié)點;d = //^/ (/尸,。
一種基于集中服務的分布式對等網(wǎng)絡,還包括對等網(wǎng)絡采用輪狀結(jié)構組 織方式,對等節(jié)點之間采用環(huán)狀結(jié)構組織方式,對等節(jié)點之間依照節(jié)點/Z)大 小組成環(huán)狀結(jié)構。
一種基于集中服務的分布式對等網(wǎng)絡,還包括每個對等節(jié)點都維護一張 鄰居信息表,鄰居信息表由集中服務器信息項、主鄰居列表和次鄰居列表三 部分組成,其中,(i)主鄰居列表包括距離該節(jié)點最近的對等節(jié)點的信息條
目,推薦值是距離自己最近的3個前驅(qū)和3個后繼,周期檢測確保這些節(jié)點存 活;(2)次鄰居列表包括由節(jié)點的加入和退出導致從主鄰居列表中調(diào)整過來的 節(jié)點信息條目,無須檢測這些節(jié)點存活與否。
本發(fā)明的優(yōu)點在于(1)在對等網(wǎng)絡中引入集中服務器,集中服務器為節(jié) 點的加入和退出對等網(wǎng)絡提供集中服務,對等節(jié)點可以通過集中服務器査找 自己的鄰居節(jié)點,這樣降低了對等節(jié)點之間維護鄰居關系的開銷,使網(wǎng)絡波 動得到有效控制,避免了對等節(jié)點孤島的出現(xiàn);(2)為服務器定義B+樹數(shù)據(jù)結(jié) 構,B+樹是動態(tài)的多路平衡査找樹,非常適合用于存儲動態(tài)變化節(jié)點的信 息;(3)對等節(jié)點之間維護適當數(shù)量的鄰居關系,這樣既減輕了集中服務器的 負擔,又能夠在一定程度上解決服務器單點失效問題。
圖l是本發(fā)明中對等網(wǎng)絡維護的輪(Wheel)狀拓撲結(jié)構的示意圖2是本發(fā)明中為集中服務器所定義的用來存儲對等節(jié)點信息的B+樹數(shù)據(jù)
結(jié)構的示意圖3是本發(fā)明中對等節(jié)點維護的鄰居信息表的示意圖4是本發(fā)明中對等節(jié)點維護的鄰居信息表的具體示例圖5是本發(fā)明中新節(jié)點加入對等網(wǎng)絡的流程圖6是本發(fā)明中新節(jié)點與其直接鄰居建立直接鄰居關系的流程圖; 圖7是本發(fā)明中從對等節(jié)點出發(fā)在虛鏈路中查找新節(jié)點直接鄰居的流程
圖8是本發(fā)明中對等節(jié)點主動退出對等網(wǎng)絡的流程圖; 圖9是本發(fā)明中兩個邊界節(jié)點建立直接鄰居關系的流程圖; 圖IO是本發(fā)明中邊界節(jié)點從自身出發(fā)在虛鏈路中査找其直接前驅(qū)或后繼 鄰居的流程圖11是本發(fā)明中對等節(jié)點失效被動退出對等網(wǎng)絡的流程圖。
具體實施例方式
有關本發(fā)明的技術內(nèi)容及詳細說明,現(xiàn)配合
如下 圖l為本發(fā)明的對等網(wǎng)絡系統(tǒng)的輪狀拓撲結(jié)構圖。本發(fā)明的一種基于集中 服務的分布式對等網(wǎng)絡系統(tǒng)包含對等節(jié)點和集中服務器。為降低新節(jié)點頻繁 加入和對等節(jié)點頻繁退出對等網(wǎng)絡造成的網(wǎng)絡波動,進一步提高對等網(wǎng)絡工 作效率,本發(fā)明所述對等網(wǎng)絡采用輪狀拓撲結(jié)構。集中服務器位于輪狀拓撲 中心,為節(jié)點的加入和退出提供集中服務。對等節(jié)點之間按照節(jié)點ID組成環(huán)
狀拓撲結(jié)構,該結(jié)構有自組織能力,可獨立完成節(jié)點的加入和退出工作。為
服務器定義B+樹數(shù)據(jù)結(jié)構用于存儲動態(tài)變化的對等節(jié)點的信息,節(jié)點的信息 至少包括節(jié)點的唯一身份標識ID,節(jié)點的通信地址IP和建立通信連接的端口 Port,節(jié)點上次通告集中服務器存活信息的時間,以及節(jié)點的存活狀態(tài)標志。
在所述對等網(wǎng)絡中節(jié)點的唯一身份標識ID為節(jié)點的通信地址IP和通信連
接端口經(jīng)哈希函數(shù)(如SHA , MD5等)運算得到的值,即節(jié)點 7D = ifo我/尸,戶or/)。
圖2為本發(fā)明的集中服務器用來存儲對等節(jié)點信息的B+樹數(shù)據(jù)結(jié)構圖。數(shù) 據(jù)結(jié)構B+樹是動態(tài)的多路平衡査找樹,非常適合用于存儲動態(tài)變化節(jié)點的信 息。 一棵附階B+樹,或為空樹,或為滿足下列特征的w叉樹.-
(1) 樹中每一個非葉結(jié)點最多有m棵子樹;
(2) 如果根結(jié)點不是葉結(jié)點,則根結(jié)點至少有2棵子樹;
(3) 除根結(jié)點外的所有非葉結(jié)點至少有「m/2]棵子樹;
(4) 所有的非葉結(jié)點中包含下列信息數(shù)據(jù)(",4^,,4,A^2,…人,A),其 中《(/ = 1,2,...,")為關鍵字,且K, <《,+1(/ = 1,2,...,"-1), 4(/-0,1,...,")為指向子樹
根結(jié)點的指針,且指針4—,所指子樹中所有的關鍵字均小于《("1,2,...^), 4
所指子樹中所有結(jié)點的關鍵字均大于《 ,"為關鍵字的個數(shù);
(5) 所有的葉結(jié)點都處于同一層次上,包含了全部關鍵字及指向相應數(shù)據(jù) 對象存放地址的指針,且葉結(jié)點本身依關鍵字從小到大順序鏈接。
B+樹中査找關鍵字方法在B+樹中有兩個入口指針,分別是指向B+樹的 根結(jié)點的指針和指向關鍵字最小的葉結(jié)點的指針,査找關鍵字可以從指向關 鍵字最小的葉結(jié)點的指針開始循葉結(jié)點鏈順序査找,也可以從指向B+樹的根 結(jié)點的指針開始,自頂向下,直至葉結(jié)點。
B+樹中結(jié)點的插入方法首先在B+樹中査找待插入關鍵字的插入位置, 然后從B+的葉結(jié)點開始進行插入,每插入一個關鍵字-指針索引項后要判斷結(jié) 點中的子樹棵數(shù)是否超出范圍,若子樹棵數(shù)超出范圍,需要將結(jié)點分裂為兩 個結(jié)點,并且它們的雙親結(jié)點中應同時包含這兩個結(jié)點的最小關鍵字和結(jié)點 地址,此后,繼續(xù)向上重復此過程,直到結(jié)點的子樹棵數(shù)未超出范圍。
B+樹中結(jié)點的刪除方法首先在B+樹中查找待刪除關鍵字所在的葉結(jié) 點,然后從B+的葉結(jié)點開始進行刪除,每刪除一個關鍵字-指針索引項后要判 斷結(jié)點中的子樹棵數(shù)是否小于下限,若子樹棵數(shù)小于下限,需要將結(jié)點進行 調(diào)整或合并,此后,繼續(xù)向上重復此過程,直到結(jié)點的子樹棵數(shù)不小于下 限。
在本發(fā)明中,集中服務器隨新節(jié)點加入和對等節(jié)點退出對等網(wǎng)絡而動態(tài)
維護B+樹數(shù)據(jù)結(jié)構。在集中服務器維護的B+樹結(jié)構中,關鍵字--指針索引項分 別為對等節(jié)點ID--指向相應對等節(jié)點信息存放地址的指針。
B+樹的階數(shù)m和每個葉結(jié)點可容納關鍵字-指針索引的最大容量可視對等 網(wǎng)絡的規(guī)模等因素確定,在本具體實施例中均為28。
集中服務器為了在B+樹中快速檢索到某一節(jié)點的直接鄰居,在本發(fā)明 中,葉結(jié)點本身依關鍵字從小到大順序鏈接成環(huán),并且依關鍵字從大到小順 序鏈接成環(huán),這樣葉結(jié)點構成雙向循環(huán)鏈接。
當新節(jié)點加入對等網(wǎng)絡,集中服務器在自己維護的B+樹結(jié)構中査找新節(jié) 點ID的插入位置,將新節(jié)點ID和指向新節(jié)點信息存放地址的指針插入到該位 置;當對等節(jié)點退出對等網(wǎng)絡,集中服務器在自己維護的B+樹結(jié)構中查找退 出節(jié)點ID的所在位置,修改退出節(jié)點信息結(jié)構的存活狀態(tài)標志值或從B+樹結(jié)
構中刪除退出節(jié)點;當査找對等節(jié)點的直接鄰居,集中服務器在自己維護的 B+樹結(jié)構中査找該節(jié)點ID的所在位置,從所在位置起在葉節(jié)點內(nèi)或葉結(jié)點之 間查找該節(jié)點的直接鄰居。為集中服務器所定義的B+樹數(shù)據(jù)結(jié)構可以高效地 處理動態(tài)變化的對等節(jié)點信息,為新節(jié)點加入對等網(wǎng)絡和對等節(jié)點退出提供 集中服務。
圖3為本發(fā)明對等節(jié)點維護的鄰居信息表的結(jié)構。在本發(fā)明中,加入對等 網(wǎng)絡中的每個節(jié)點都會維護一張鄰居信息表,鄰居信息表中存儲鄰居節(jié)點信 息,節(jié)點信息主要包括節(jié)點的唯一身份標識ID,節(jié)點的通信地址IP和建立通
信連接的端口,節(jié)點上次通告集中服務器存活信息的時間,以及節(jié)點的存活 狀態(tài)標志。鄰居信息表由集中服務器信息項、主鄰居列表和次鄰居列表三部 分組成,其中,(1)主鄰居列表是指當前必須維護的該節(jié)點的第l、 2、 3個前 驅(qū)和第l、 2、 3個后繼節(jié)點信息條目,共計六條,節(jié)點周期檢測主鄰居列表中
節(jié)點的存活狀態(tài),確保這些節(jié)點存活;(2)次鄰居列表是指由節(jié)點的加入和退 出導致從主鄰居列表中調(diào)整過來的節(jié)點信息條目。
圖4為本發(fā)明實施例的對等節(jié)點維護的鄰居信息表結(jié)構示例圖。節(jié)點的主 鄰居列表分為前驅(qū)鄰居列表和后繼鄰居列表,前驅(qū)鄰居列表中節(jié)點信息按照 從下至上節(jié)點ID順時針有序排列,后繼鄰居列表中節(jié)點信息按照從上至下節(jié) 點ID順時針有序排列。
圖5為本發(fā)明的新節(jié)點加入對等網(wǎng)絡的流程圖。首先,新節(jié)點向集中服務 器發(fā)送加入對等網(wǎng)絡請求(步驟S101),集中服務器判斷是否能夠提供集中 服務(步驟S102),如果集中服務器能夠提供集中服務,則集中服務器在自 身維護的B+樹結(jié)構中査找新節(jié)點ID在B+樹中的插入位置,找到后存儲新節(jié)點 信息,并將新節(jié)點的ID和存儲新節(jié)點信息的指針插入到該位置(步驟 S103);然后,集中服務器在自身維護的B+樹結(jié)構中査找新節(jié)點的直接鄰居 信息,找到后將直接鄰居的信息返回給新節(jié)點(步驟S104)。
如果集中服務器不能提供集中服務,則判斷新節(jié)點是否能獲取當前已加 入對等網(wǎng)絡的任一對等節(jié)點(步驟S105),如果能夠獲得對等節(jié)點,則從對 等節(jié)點出發(fā)在對等網(wǎng)絡中通過虛鏈路在限定跳數(shù)內(nèi)査詢新節(jié)點的直接鄰居節(jié) 點,找到后將直接鄰居的信息返回給新節(jié)點(步驟S106),如果沒有找到直 接鄰居節(jié)點或步驟105的判斷結(jié)果為不能獲取當前已加入對等網(wǎng)絡的任一對等 節(jié)點,則新節(jié)點加入對等網(wǎng)絡失敗(歩驟S107)。
在步驟104及106將直接鄰居的信息返回給新節(jié)點后,新節(jié)點與其直接鄰 居建立直接鄰居關系,新節(jié)點加入對等網(wǎng)絡成功(步驟S108)。
新節(jié)點加入對等網(wǎng)絡有兩種可選方式 一是新節(jié)點通過集中服務器査找 獲得其直接鄰居信息,與其直接鄰居建立直接鄰居關系加入對等網(wǎng)絡;另一 種是新節(jié)點從對等網(wǎng)絡內(nèi)任一對等節(jié)點出發(fā),通過虛鏈路在限定跳數(shù)內(nèi)查詢 獲得其直接鄰居信息,與直接鄰居建立直接鄰居關系加入對等網(wǎng)絡,并通告 集中服務器加入成功信息。
如果集中服務器正常運行并且連接不繁忙,新節(jié)點首選通過集中服務器 査找獲得其直接鄰居加入對等網(wǎng)絡,否則,新節(jié)點從對等網(wǎng)絡內(nèi)任一對等節(jié) 點出發(fā)査詢獲得其直接鄰居加入對等網(wǎng)絡。
新節(jié)點獲取當前已加入對等網(wǎng)絡的任一對等節(jié)點的方法有(1)通過用戶 配置獲得當前已加入對等網(wǎng)絡的對等節(jié)點;(2)新節(jié)點在自身維護的以前記錄 的鄰居列表中按照距離自己由近及遠的順序?qū)?jié)點逐個進行連接檢測,獲得 當前已加入對等網(wǎng)絡的對等節(jié)點。
在新節(jié)點加入對等網(wǎng)絡的兩種方式中,通過集中服務器加入對等網(wǎng)絡造 成的網(wǎng)絡波動很小,缺點是增加了集中服務器的負擔,而通過對等節(jié)點在虛 鏈路中査詢其直接鄰居加入對等網(wǎng)絡會造成一定網(wǎng)絡波動,優(yōu)點是減輕了集 中服務器的負擔,在本發(fā)明中,新節(jié)點加入對等網(wǎng)絡的兩種方式融合在一 起,既降低了新節(jié)點加入對等網(wǎng)絡造成的網(wǎng)絡波動又減輕了集中服務器的負 擔。
圖6為本發(fā)明中新節(jié)點與其直接鄰居建立直接鄰居關系的流程圖。步驟
S108進一步包含首先,新節(jié)點根據(jù)己獲得的直接鄰居的信息向直接鄰居節(jié) 點發(fā)出與之建立直接鄰居關系的請求(步驟S201)。直接鄰居節(jié)點接收到請 求后,驗證新節(jié)點是否為其直接鄰居(步驟S202),如果通過驗證,修改鄰 居信息表中直接鄰居的信息條目,并返回建立直接鄰居關系成功信息給新節(jié) 點(步驟S203);否則,返回建立直接鄰居關系失敗信息給新節(jié)點(步驟 S204)。然后,判斷新節(jié)點與其直接前驅(qū)鄰居和直接后繼鄰居是否都建立了
直接鄰居關系(步驟S205),如果沒有,則返回步驟201;如果已經(jīng)都建立的 直接鄰居關系,則新節(jié)點負責向集中服務器通告加入對等網(wǎng)絡成功信息(步
驟S206)。
在新節(jié)點與其直接鄰居建立直接鄰居關系步驟中,直接鄰居需要驗證新 節(jié)點是否為其直接鄰居,在此給出檢測算法來驗證節(jié)點ID x是否為節(jié)點ID "和 6的順時針直接鄰居,算法詳細介紹如下
設有"個對等節(jié)點,對等節(jié)點之間拓撲關系為<",6>,其中,6=(a+0% w, a=0, 7,…,w-/, hMin[y—/,…,w &節(jié)點(x+力% "是存活的}。
檢測直接鄰居算法(a, b, x) 如果a小于b
如果x大于a并且x小于b,返回x是節(jié)點a和b的直接鄰居 否則,返回x非節(jié)點a和b的直接鄰居 如果a大于b
如果x大于b并且x小于a,返回x非節(jié)點a和b的直接鄰居 否則,返回x是節(jié)點a和b的直接鄰居 圖7為本發(fā)明中從對等節(jié)點出發(fā)在虛鏈路中査找新節(jié)點的直接鄰居節(jié)點的 流程圖。步驟S106進一步包含首先,將査找出的對等節(jié)點作為當前節(jié)點, 在當前節(jié)點維護的主鄰居列表中査找新節(jié)點的直接鄰居節(jié)點(步驟S301), 如果找到新節(jié)點的直接鄰居節(jié)點,將新節(jié)點的直接鄰居的信息返回給新節(jié) 點,查找結(jié)束返回(步驟S302);否則,在當前節(jié)點的次鄰居列表中查找距 離新節(jié)點最近的已加入對等網(wǎng)絡的對等節(jié)點(步驟S303),如果找到,將其 作為新的査找出發(fā)節(jié)點,否則,置當前節(jié)點的主鄰居列表中距離新節(jié)點最近 的對等節(jié)點為新的查找出發(fā)節(jié)點。然后,判斷查找跳數(shù)(hops)是否溢出, 如果沒有溢出,返回步驟301,否則,返回査找新節(jié)點的直接鄰居失敗。在步驟S301中,需要在對等節(jié)點的主鄰居列表中查找新節(jié)點的直接鄰
居,可調(diào)用上述"檢測直接鄰居算法(",6, x)"完成,將節(jié)點IDa和6代換為對 等節(jié)點主鄰居列表中順時針有序的兩個節(jié)點ID, x代換為新節(jié)點ID。
步驟S303進一步包含首先,在當前節(jié)點維護的次鄰居列表中除去在主 鄰居列表范圍內(nèi)的節(jié)點,余留節(jié)點列表為査找范圍(步驟S303A);然后,如 果新節(jié)點ID在査找范圍內(nèi)最小ID和最大ID之間,依折半査找方法査找新節(jié)點 ID在査找范圍的插入位置,接著從新節(jié)點插入位置的前后兩個節(jié)點起按照距 離新節(jié)點由小至大的順序逐個進行連接檢測,査找當前已加入對等網(wǎng)絡的對 等節(jié)點(步驟S303B),否則,從査找范圍的ID最小節(jié)點和ID最大節(jié)點起由 按照距離新節(jié)點由小至大的順序逐個進行連接檢測,查找當前己加入對等網(wǎng) 絡的對等節(jié)點(步驟S303C)。
在步驟S303B和步驟S303C中需要計算兩個對等節(jié)點之間的最短距離,在 此給出有"個節(jié)點的對等網(wǎng)中,計算對等節(jié)點/和乂之間的最短距離算法,詳細 介紹如下
計算兩個節(jié)點間最短距離算法(z', _/', n)
/到j'的順時針距離為《=- / + ")%"
/到y(tǒng)的逆時針距離為^ = (/ - _/+")%"
/到J'的最短距離為c^min(《,《) 圖8給出了本發(fā)明中對等節(jié)點主動退出對等網(wǎng)絡的流程圖。首先,對等網(wǎng) 絡內(nèi)退出節(jié)點分別向集中服務器和自己維護的鄰居信息表的主鄰居列表中的 直接鄰居發(fā)送退出對等網(wǎng)絡信息(步驟S401)。其次,收到節(jié)點退出信息的 集中服務器,如果正常運行,在自己維護的B+樹結(jié)構中根據(jù)退出節(jié)點ID査找 到退出節(jié)點,并在節(jié)點信息中置退出標志(步驟S402)。最后,邊界節(jié)點 (收到直接鄰居節(jié)點退出信息的對等節(jié)點)在其維護的主鄰居列表的退出節(jié) 點所在前驅(qū)或后繼區(qū)域中依從上到下的順序逐個連接檢測節(jié)點的存活狀態(tài)
(步驟S403),如果邊界節(jié)點在其主鄰居列表的退出節(jié)點所在區(qū)域中檢測到 存活節(jié)點(此節(jié)點為邊界節(jié)點的直接鄰居),邊界節(jié)點與其直接鄰居建立直
接鄰居關系(步驟S404);否則,如果集中服務器能提供集中服務,通過集 中服務器査找邊界節(jié)點的直接鄰居(步驟S405),邊界節(jié)點執(zhí)行步驟S404, 否則,邊界節(jié)點從自身出發(fā)在虛鏈路中査找其直接前驅(qū)或后繼鄰居(步驟 S406),如果找到,邊界節(jié)點執(zhí)行步驟S404,否則,網(wǎng)絡環(huán)狀拓撲斷裂返回。
步驟S405進一步包含邊界節(jié)點向集中服務器請求查詢其直接鄰居(步 驟S405A)。集中服務器在自己維護的B+樹結(jié)構中査找邊界節(jié)點的直接鄰居, 并將直接鄰居信息返回給邊界節(jié)點(步驟S405B)。
圖9是本發(fā)明中兩個邊界節(jié)點建立直接鄰居關系的流程圖。步驟S404進一 步包含首先,邊界節(jié)點g在獲得邊界節(jié)點i 的信息后,請求與i 建立直接鄰 居關系(步驟S501)。其次,7 接收到g發(fā)出的請求建立直接鄰居關系信息 后,修改自己鄰居信息表中相應的直接鄰居信息條目,并將建立直接鄰居關 系成功信息發(fā)送給^ (步驟S502)。最后,Q接收到建立直接鄰居關系成功信 息后,修改自己鄰居信息表中相應的直接鄰居信息條目(步驟S503)。
圖IO是本發(fā)明中邊界節(jié)點從自身出發(fā)在虛鏈路中査找其直接前驅(qū)或后繼 鄰居的流程圖。步驟S406進一步包含邊界節(jié)點根據(jù)連接檢測的結(jié)果確定查 找其直接后繼鄰居還是直接前驅(qū)鄰居(步驟S601),如果査找其直接后繼鄰 居,邊界節(jié)點從自己出發(fā)循逆時針方向査找其直接后繼鄰居(步驟S602), 否則,邊界節(jié)點從自己出發(fā)循順時針方向查找其直接前驅(qū)鄰居(步驟 S603)。
步驟S602進一步細化為首先,邊界節(jié)點從自己出發(fā)循逆時針方向査找 順時針距離自己最近的對等節(jié)點(步驟S602A)。然后,將査找到的對等節(jié)點 作為當前節(jié)點(步驟S602B)。最后,如果當前節(jié)點是邊界節(jié)點的直接后繼,
査找成功返回(步驟S602C),否則,判斷是否在査找限定跳數(shù)(hops)內(nèi), 如果在査找限定跳數(shù)(hops)內(nèi),從當前節(jié)點出發(fā),循逆時針方向査找順時 針距離邊界節(jié)點最近的對等節(jié)點(步驟S602D),返回步驟S602B,否則,査
找失敗。
步驟S603進一步細化為首先,邊界節(jié)點從自己出發(fā)循順時針方向查找 逆時針距離自己最近的對等節(jié)點(步驟S603A)。然后,將査找到的對等節(jié)點 作為當前節(jié)點(步驟S603B)。最后,如果當前節(jié)點是邊界節(jié)點的直接前驅(qū), 査找成功返回(步驟S603C),否則,判斷是否在查找限定跳數(shù)(hops)內(nèi), 如果在査找限定跳數(shù)(hops)內(nèi),從當前節(jié)點出發(fā),循順時針方向查找逆時 針距離邊界節(jié)點最近的對等節(jié)點(步驟S603D),返回步驟S603B,否則,查 找失敗。
圖ll是本發(fā)明中對等節(jié)點失效被動退出對等網(wǎng)絡的主要流程。對等節(jié)點 周期性連接檢測鄰居節(jié)點的存活狀態(tài)(步驟S701),當檢測發(fā)現(xiàn)其鄰居節(jié)點 失效,邊界節(jié)點在其維護的主鄰居列表的失效節(jié)點所在前驅(qū)或后繼區(qū)域中依 從上到下的順序逐個連接檢測節(jié)點的存活狀態(tài)(步驟S702),如果在主鄰居 列表的失效節(jié)點所在區(qū)域中檢測到存活節(jié)點,此節(jié)點為邊界節(jié)點的直接鄰 居,邊界節(jié)點與其直接鄰居建立直接鄰居關系(步驟S404);否則,如果集 中服務器能提供集中服務,通過集中服務器査找邊界節(jié)點的直接鄰居(步驟 S405),邊界節(jié)點執(zhí)行步驟S404,否則,邊界節(jié)點從自身出發(fā)在虛鏈路中査 找其直接前驅(qū)或后繼鄰居(步驟S406),如果找到,邊界節(jié)點執(zhí)行步驟 S404,否則,網(wǎng)絡環(huán)狀拓撲斷裂返回。
以上對本發(fā)明的技術方案和有益效果作了進一步詳細說明。本發(fā)明可以 有多種變形方案實現(xiàn),凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、參 數(shù)替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種基于集中服務的分布式對等網(wǎng)絡系統(tǒng),包含對等節(jié)點,其特征在于,還包含存儲對等節(jié)點的信息,對等節(jié)點通過它來查找自己的鄰居節(jié)點的集中服務器;集中服務器內(nèi)含有用于存儲動態(tài)變化的對等節(jié)點的信息,實時記錄對等節(jié)點當前的存活狀態(tài)的B+樹數(shù)據(jù)結(jié)構體;對等節(jié)點的唯一身份標識ID為節(jié)點的通信地址IP和通信連接端口Port經(jīng)哈希函數(shù)運算得到的值,對等節(jié)點ID=Hash(IP,Port)。
2、 根據(jù)權利要求l所述的一種基于集中服務的分布式對等網(wǎng)絡系統(tǒng),其 特征在于,對等網(wǎng)絡采用輪狀結(jié)構組織方式,對等節(jié)點之間采用環(huán)狀結(jié)構組 織方式,對等節(jié)點之間依照節(jié)點/D大小組成環(huán)狀結(jié)構。
3、 根據(jù)權利要求l所述的一種基于集中服務的分布式對等網(wǎng)絡系統(tǒng),其 特征在于,對等節(jié)點還有鄰居信息表,鄰居信息表由集中服務器信息項、主 鄰居列表和次鄰居列表三部分組成,其中,(1)主鄰居列表包括距離該節(jié)點最 近的對等節(jié)點的信息條目,推薦值是距離自己最近的3個前驅(qū)和3個后繼,周 期檢測確保這些節(jié)點存活;(2)次鄰居列表包括由節(jié)點的加入和退出導致從主 鄰居列表中調(diào)整過來的節(jié)點信息條目,無須檢測這些節(jié)點存活與否。
4、 一種基于集中服務的分布式對等網(wǎng)絡的實現(xiàn)方法,新節(jié)點加入對等網(wǎng) 絡,其特征在于,包含以下步驟步驟l:新節(jié)點向集中服務其發(fā)送加入對等網(wǎng)絡請求;步驟2:如果集中服務器可以提供集中服務,集中服務器記錄新節(jié)點信 息,在自身維護的B+樹結(jié)構中査找新節(jié)點的直接鄰居信息,將新節(jié)點的直接 鄰居信息返回給新節(jié)點;步驟3:否則,新節(jié)點從對等網(wǎng)絡內(nèi)一個對等節(jié)點出發(fā),通過虛鏈路在限 定跳數(shù)內(nèi)査詢獲得直接鄰居信息; 步驟4:新節(jié)點與其直接鄰居建立直接鄰居關系加入對等網(wǎng)絡,并通告集 中服務器加入成功消息。
5、 根據(jù)權利要求4所述的實現(xiàn)方法,其特征在于,從對等節(jié)點出發(fā)在虛 鏈路中查找新節(jié)點的直接鄰居的步驟如下(1) 對等節(jié)點在自己維護的主鄰居列表中查找新節(jié)點的直接鄰居;(2) 如果找到新節(jié)點的直接鄰居,返回直接鄰居的信息給新節(jié)點;(3) 否則,在對等節(jié)點維護的鄰居信息表中查找距離新節(jié)點ID最近的當前 已加入對等網(wǎng)絡的對等節(jié)點,將此節(jié)點作為新的查找出發(fā)節(jié)點;(4) 重復此過程,直到找到新節(jié)點的直接鄰居或查找跳數(shù)(Hops)溢出為止。
6、 根據(jù)權利要求4所述的實現(xiàn)方法,其特征在于,驗證節(jié)點IDx是否為節(jié) 點ID a和6的順時針直接鄰居算法如下設有w個對等節(jié)點,對等節(jié)點之間拓撲關系為<",6>,其中,6 m a=0, /,…,w-7, /t=Min[y [y=7,…,w &節(jié)點(x+力% "是存活的}。如果a小于Z),若x大于a并且x小于6,返回x是節(jié)點a和6的直接鄰居,否則 返回x非節(jié)點a和6的直接鄰居;如果"大于6,若x大于6并且:c小于a,返回x非節(jié) 點"和6的直接鄰居,否則返回x是節(jié)點a和6的直接鄰居。
7、 根據(jù)權利要求4所述的實現(xiàn)方法,其特征在于,在"個節(jié)點的所述對等 網(wǎng)中,計算對等節(jié)點/和/之間的最短距離算法如下/到y(tǒng)的順時針距離為《=(7-/ + ")%" , /到J'的逆時針距離為 ^ = (/"' + ")%",得/到y(tǒng)的最短距離為d = min(《,^)。
8、 根據(jù)權利要求4所述的實現(xiàn)方法,其特征在于,新節(jié)點與其直接鄰居 建立直接鄰居關系的步驟如下(1)新節(jié)點請求與其直接鄰居建立直接鄰居關系; (2)新節(jié)點的直接鄰居驗證新節(jié)點是否為其直接鄰居,如果未通過驗證,新節(jié)點加入失敗返回;C3)否則,新節(jié)點的直接鄰居修改其鄰居信息表中相應的直接鄰居的信息 條目,返回建立直接鄰居關系成功信息給新節(jié)點;(4)新節(jié)點接收到建立直接鄰居關系成功信息后,修改自己鄰居信息表中 相應的直接鄰居信息條目。
9、 一種基于集中服務的分布式對等網(wǎng)絡的實現(xiàn)方法,對等節(jié)點主動退出 對等網(wǎng)絡,其特征在于,包含步驟如下步驟l:對等網(wǎng)絡內(nèi)退出節(jié)點分別向集中服務器和其直接鄰居發(fā)送退出信息;步驟2:接收到其前驅(qū)或后繼直接鄰居退出信息的邊界節(jié)點逐個連接檢測其主鄰居列表中退出節(jié)點所在區(qū)域內(nèi)其他節(jié)點的存活狀態(tài);步驟3:如果邊界節(jié)點直接連接檢測到自己新的前驅(qū)或后繼直接鄰居,與 其前驅(qū)或后繼直接鄰居建立直接鄰居關系;步驟4:否則,邊界節(jié)點需要從集中服務器處查找獲得自己新的前驅(qū)或后繼直接鄰居或者從自己出發(fā)在虛鏈路中查找其前驅(qū)或后繼直接鄰居,與其前 驅(qū)或后繼直接鄰居建立直接鄰居關系。
10、 一種基于集中服務的分布式對等網(wǎng)絡的實現(xiàn)方法,對等節(jié)點失效被動退出對等網(wǎng)絡,其特征在于包含步驟如下步驟l:對等節(jié)點周期性連接檢測鄰居節(jié)點的存活狀態(tài);步驟2:檢測到其鄰居節(jié)點失效的邊界節(jié)點逐個連接檢測其主鄰居列表中退出節(jié)點所在區(qū)域內(nèi)其他節(jié)點的存活狀態(tài);步驟3:如果邊界節(jié)點直接連接檢測到自己新的前驅(qū)或后繼直接鄰居,與 其前驅(qū)或后繼直接鄰居建立直接鄰居關系; 步驟4:否則,邊界節(jié)點需要從集中服務器處査找獲得自己新的前驅(qū)或后 繼直接鄰居或者從自己出發(fā)在虛鏈路中査找其前驅(qū)或后繼直接鄰居,與其前 驅(qū)或后繼直接鄰居建立直接鄰居關系。
11、 根據(jù)權利要求10所述的實現(xiàn)方法,其特征在于邊界節(jié)點從自己出發(fā) 在虛鏈路中査找其前驅(qū)或后繼直接鄰居的步驟如下步驟l:如果査找直接后繼鄰居,邊界節(jié)點從自己出發(fā)循逆時針方向査找 順時針距離自己最近的對等節(jié)點;步驟2:否則,邊界節(jié)點從自己出發(fā)循順時針方向查找逆時針距離自己最 近的對等節(jié)點;步驟3:直到找到邊界節(jié)點的直接鄰居或查找跳數(shù)溢出為止。
12、 根據(jù)權利要求10所述的實現(xiàn)方法,其特征在于邊界節(jié)點從自己出發(fā) 在虛鏈路中查找其前驅(qū)或后繼直接鄰居的步驟如下步驟l:如果査找直接后繼鄰居,邊界節(jié)點從自己出發(fā)循逆時針方向査找 順時針距離自己最近的對等節(jié)點;步驟2:否則,邊界節(jié)點從自己出發(fā)循順時針方向查找逆時針距離自己最 近的對等節(jié)點;步驟3:直到找到邊界節(jié)點的直接鄰居或查找跳數(shù)溢出為止。
全文摘要
一種基于集中服務的分布式對等網(wǎng)絡及構造方法,該方法包括(1)為對等網(wǎng)絡配置一個集中服務器,該服務器用來為新節(jié)點加入對等網(wǎng)絡以及對等網(wǎng)絡中的節(jié)點退出提供服務,并為服務器定義B<sup>+</sup>樹的數(shù)據(jù)結(jié)構用于存儲動態(tài)變化節(jié)點的信息;(2)新節(jié)點經(jīng)集中服務器查找其直接鄰居或從對等節(jié)點出發(fā)在虛鏈路中查找其直接鄰居,加入對等網(wǎng)絡;(3)邊界節(jié)點(其前驅(qū)或后繼直接鄰居退出的對等節(jié)點)經(jīng)集中服務器查找其直接前驅(qū)或后繼鄰居,或從該節(jié)點出發(fā)在虛鏈路中查找其直接前驅(qū)或后繼鄰居,使得對等節(jié)點之間維持環(huán)狀拓撲。本發(fā)明將集中服務融合在分布式對等網(wǎng)絡中,明顯降低了因節(jié)點的頻繁加入和退出造成的網(wǎng)絡波動,顯著提高了對等網(wǎng)絡的工作效率。
文檔編號H04L12/42GK101179466SQ20071017587
公開日2008年5月14日 申請日期2007年10月15日 優(yōu)先權日2007年10月15日
發(fā)明者明 萬, 吳恒奎, 飛 宋, 張宇翔, 張宏科, 冬 楊, 秦雅娟, 羅洪斌 申請人:北京交通大學