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