專利名稱:一種基于gossip的快速覆蓋網(wǎng)絡構(gòu)建方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息領(lǐng)域,尤其涉及一種基于gossip的快速覆蓋網(wǎng)絡構(gòu)建方法。
背景技術(shù):
基于gossip (閑話)協(xié)議的覆蓋網(wǎng)絡系統(tǒng)已經(jīng)成為構(gòu)建覆蓋網(wǎng)絡的主流方式,其 協(xié)議簡單通過成對節(jié)點之間不停交換各自的鄰居節(jié)點信息來實現(xiàn)拓撲的維持與進化。如 果網(wǎng)絡不存在劇烈的拓撲關(guān)系變化,隨著節(jié)點加入覆蓋網(wǎng)絡的時間推移,整個覆蓋網(wǎng)絡最 終將會達到一種相對穩(wěn)定的狀態(tài)(就是每個節(jié)點的鄰居集合不會有劇烈變化),稱之為覆 蓋網(wǎng)絡收斂。此協(xié)議易于實現(xiàn)和部署,使得很多基于點對點方式的覆蓋網(wǎng)絡應用都采用 gossip方式作為底層的覆蓋網(wǎng)絡構(gòu)建方式,其特點包括(1)覆蓋網(wǎng)絡中的任意節(jié)點A維持一個定時器(時長為T),同時維持一個鄰居節(jié) 點集合Na,Na的大小為n,即鄰居節(jié)點集合Na中存放節(jié)點A的η個鄰居節(jié)點。節(jié)點A從自己 的鄰居節(jié)點集合Na中隨機選取一個鄰居節(jié)點B。由于覆蓋網(wǎng)絡中任意節(jié)點維持機制一樣, 節(jié)點B也維持定時器和長度為η的鄰居節(jié)點集合,記為Νβ。(2)節(jié)點A將自己的鄰居節(jié)點集合Na中的所有η個節(jié)點延時由小到大排序,然后 按序?qū)⑦@η個鄰居節(jié)點的信息發(fā)送給節(jié)點B。(3)節(jié)點B收到節(jié)點A發(fā)送的鄰居節(jié)點集合Na中η個節(jié)點的信息后,將Na與與自 己的鄰居節(jié)點集合Nb合并,合并時將Na與Nb中所有節(jié)點按照延時大小由小到大排序,并去 除可能存在的相同節(jié)點,保留延時最小的η個節(jié)點存放到鄰居節(jié)點集合Nb,即合并后新的鄰 居節(jié)點集合Nb所含節(jié)點數(shù)目仍與原來一樣。使用與O)同樣的方式將節(jié)點B新的鄰居節(jié) 點集合Nb中η個節(jié)點的信息發(fā)送給節(jié)點A ;(4)節(jié)點A將收到的鄰居節(jié)點集合Nb與自己的鄰居節(jié)點集合Na進行合并,合并時 將隊與隊中中所有節(jié)點按照延時大小由小到大排序,并去除可能存在的相同節(jié)點。保留延 時最小的η個節(jié)點存放到鄰居節(jié)點集合Να,即合并后新的鄰居節(jié)點集合Na所含節(jié)點數(shù)目仍 與原來一樣。(5)節(jié)點Α、節(jié)點B等待各自定時器超時,定時器超時后,重復上述⑴ (4)四個 步驟,并一直繼續(xù)維持下去。以上步驟應用于覆蓋網(wǎng)絡中的所有節(jié)點,可參見Jelasity Μ. , Montresor A. andBabaoglu 0. ,"Gossip-based aggregation in large dynamic networks,,,ACM Trans. On Computer Systems,2005,23(3) :219252。對于大多數(shù)采用gossip協(xié)議的覆蓋網(wǎng)絡構(gòu)建方法,當節(jié)點找到了最近的鄰居節(jié) 點就認為這個節(jié)點處于相對穩(wěn)定的局部自身拓撲。因為隨著時間推移,即使仍然存在定期 與鄰居節(jié)點來交互各自的拓撲信息,由于篩選時將保留離自己最近的鄰居,故可認為自身 拓撲(鄰居節(jié)點集合)經(jīng)過一段周期的演化以后不會有較大的變化,但目前基于gossip的 覆蓋網(wǎng)絡構(gòu)建方式都存在以下問題(1)每個節(jié)點的鄰居節(jié)點集合互不相同,這決定了節(jié)點之間存在差異性,所以他們到達最優(yōu)狀態(tài)的時間點是不一樣的,對于剛加入的節(jié)點主要任務是盡快使自身拓撲穩(wěn)定, 但是完全的鄰居節(jié)點信息交換仍然不能滿足快速的需求。(2)當節(jié)點的鄰居節(jié)點集合已經(jīng)處于相對穩(wěn)定的狀態(tài),即節(jié)點達到了相對穩(wěn)定的 局部拓撲,大量而又完全的鄰居節(jié)點交換并不能帶來鄰居集合的劇變,相反浪費了網(wǎng)絡帶 寬資源。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有基于gossip方式的覆蓋網(wǎng)絡構(gòu)建方法沒有考慮節(jié)點差 異性導致構(gòu)造過程前期覆蓋網(wǎng)絡收斂過慢,后期無用拓撲信息交換量過大造成帶寬浪費的 缺陷,設計的一種動態(tài)的拓撲信息交換方式。實現(xiàn)本發(fā)明目的采用的技術(shù)方案是一種基于gossip的快速覆蓋網(wǎng)絡構(gòu)建方法, 對覆蓋網(wǎng)絡中的所有節(jié)點,執(zhí)行以下步驟步驟1,覆蓋網(wǎng)絡中的任意節(jié)點A維持一個定時器,時長為T,同時維持一個鄰居節(jié) 點集合Na,Na的大小為η ;節(jié)點A從鄰居節(jié)點集合Na所存節(jié)點中隨機選取一個節(jié)點B ;節(jié)點 B也維持一個定時器,時長為Τ,同時維持一個鄰居節(jié)點集合Nb,Nb的大小為η ;步驟2,節(jié)點A將鄰居節(jié)點集合Na中的節(jié)點按延時由小到大排序,然后從中選擇\ 個延時最小的節(jié)點作為一個子集Sa ;其中,構(gòu)成子集\的節(jié)點個數(shù))(Α,根據(jù)節(jié)點A加入到覆蓋網(wǎng)絡到當前時間的時間 長度tA決定,公式表達為
權(quán)利要求
1. 一種基于gossip的快速覆蓋網(wǎng)絡構(gòu)建方法,其特征在于對覆蓋網(wǎng)絡中的所有節(jié) 點,執(zhí)行以下步驟步驟1,覆蓋網(wǎng)絡中的任意節(jié)點A維持一個定時器,時長為T,同時維持一個鄰居節(jié)點集 合Na,Na的大小為η ;節(jié)點A從鄰居節(jié)點集合Na所存節(jié)點中隨機選取一個節(jié)點B ;節(jié)點B也 維持一個定時器,時長為Τ,同時維持一個鄰居節(jié)點集合Nb,Nb的大小為η ;步驟2,節(jié)點A將鄰居節(jié)點集合Na中的節(jié)點按延時由小到大排序,然后從中選擇、個 延時最小的節(jié)點作為一個子集Sa ;其中,構(gòu)成子集Sa的節(jié)點個數(shù)Xa,根據(jù)節(jié)點A加入到覆蓋網(wǎng)絡到當前時間的時間長度 tA決定,公式表達為 301(0 = 1 + 一/ +10,e為自然對數(shù);步驟3,節(jié)點A將子集Sa發(fā)送給節(jié)點B ;步驟4,節(jié)點B收到節(jié)點A發(fā)送的子集\后,將子集Sa與鄰居節(jié)點集合Nb合并,得到新 的鄰居節(jié)點集合隊,合并方式為將子集\所含節(jié)點與鄰居節(jié)點集合Nb所存節(jié)點一起按照延 時大小由小到大排序,并去除重復的節(jié)點,保留延時最小的η個節(jié)點作為新的鄰居節(jié)點集 合Nb所存內(nèi)容;然后從新的鄰居節(jié)點集合Nb中選擇&個延時最小的節(jié)點作為一個子集&, 并將子集&發(fā)送給節(jié)點A ;其中,構(gòu)成子集&的節(jié)點個數(shù)Xb,根據(jù)節(jié)點B加入到覆蓋網(wǎng)絡到當前時間的時間長度、決定,公式表達為 30二1 + gfa/2_6>+10,e 為自然對數(shù);步驟5,節(jié)點A將收到的子集&與鄰居節(jié)點集合Na合并,得到新的鄰居節(jié)點集合Na ;合 并方式為,將子集&所含節(jié)點與鄰居節(jié)點集合Na所存節(jié)點一起按照延時大小由小到大排 序,并去除重復的節(jié)點,保留延時最小的η個節(jié)點作為新的鄰居節(jié)點集合Na所存內(nèi)容;步驟6,節(jié)點A和節(jié)點B等待各自定時器超時,定時器超時后,重復上述步驟1 5共五 個步驟。
全文摘要
本發(fā)明公開了一種基于gossip的快速覆蓋網(wǎng)絡構(gòu)建方法,這種方式考慮了每個節(jié)點所持有的鄰居集合的差異性,提出了一種動態(tài)自適應的拓撲信息交換機制。這種機制可以使得覆蓋網(wǎng)絡構(gòu)建階段前期節(jié)點可以快速的進行拓撲信息交換來達到拓撲信息的相對穩(wěn)定狀態(tài);而在節(jié)點達到相對拓撲穩(wěn)定后的拓撲維持階段使得節(jié)點進行較小的拓撲信息交換來避免額外的信息交換而浪費網(wǎng)絡帶寬資源。
文檔編號H04W16/00GK102098677SQ200910273158
公開日2011年6月15日 申請日期2009年12月11日 優(yōu)先權(quán)日2009年12月11日
發(fā)明者向斯達, 王亦民, 胡瑞敏, 陳鐃 申請人:武漢大學