本發(fā)明涉及通信領(lǐng)域,具體涉及一種基于引力場(chǎng)的復(fù)雜網(wǎng)絡(luò)路由方法。
背景技術(shù):
目前,利用復(fù)雜網(wǎng)絡(luò)研究現(xiàn)實(shí)復(fù)雜系統(tǒng)的結(jié)構(gòu)和動(dòng)力學(xué)特征已經(jīng)成為各個(gè)領(lǐng)域研究的熱點(diǎn)和重點(diǎn)問(wèn)題。網(wǎng)絡(luò)交通擁塞作為一種常見(jiàn)的、復(fù)雜的動(dòng)力學(xué)現(xiàn)象,廣泛存在于各種現(xiàn)實(shí)系統(tǒng),其表現(xiàn)為網(wǎng)絡(luò)上交通流狀態(tài)的相變,即由自由流變?yōu)閾砣唷Q芯堪l(fā)現(xiàn),對(duì)于給定的路由選擇策略,當(dāng)單位時(shí)間內(nèi)產(chǎn)生的交通負(fù)載量大于某個(gè)確定值時(shí),網(wǎng)絡(luò)交通流狀態(tài)會(huì)立即從自由流陷入擁塞狀態(tài)。同時(shí),對(duì)于任意復(fù)雜網(wǎng)絡(luò),當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)和相關(guān)功能指標(biāo)保持不變時(shí),則該網(wǎng)絡(luò)必然存在一個(gè)最大網(wǎng)絡(luò)吞吐量。
交通擁塞的產(chǎn)生取決于所采用的網(wǎng)絡(luò)路由策略,對(duì)于傳輸性能較低的路由算法,網(wǎng)絡(luò)極易陷入擁塞且擁塞程度非常嚴(yán)重。所以,如何通過(guò)探索高效的路由選擇策略以提高網(wǎng)絡(luò)的吞吐量及緩解網(wǎng)絡(luò)交通擁塞程度,是解決交通擁塞問(wèn)題的關(guān)鍵途徑之一。為此,學(xué)者們對(duì)路由選擇策略進(jìn)行了深入研究并提出了很多有效的路由方法。隨機(jī)行走是一種著名的局部路由方法,其揭示了一些基本的動(dòng)力學(xué)特征。然而,該路由方法難以反映現(xiàn)實(shí)復(fù)雜系統(tǒng)的交通流特性,其路由性能較低。
為此,本發(fā)明利用引力場(chǎng)理論研究網(wǎng)絡(luò)傳輸過(guò)程,顧及節(jié)點(diǎn)自身及鄰居節(jié)點(diǎn)的聚集能力建立節(jié)點(diǎn)在傳輸過(guò)程中對(duì)流量的引力模型,進(jìn)而提出一種顧及節(jié)點(diǎn)聚集能力的引力場(chǎng)動(dòng)態(tài)路由方法。
技術(shù)實(shí)現(xiàn)要素:
在此基礎(chǔ)上,本申請(qǐng)?zhí)岢鲆环N基于引力場(chǎng)的復(fù)雜網(wǎng)絡(luò)路由方法,所述方法包括:
1)每個(gè)時(shí)間步,針對(duì)任意節(jié)點(diǎn)v,如果其緩存隊(duì)列不為空,說(shuō)明有數(shù)據(jù)包等待傳遞,故獲取所述節(jié)點(diǎn)v的所有鄰居節(jié)點(diǎn);
2)對(duì)于v的每個(gè)鄰居節(jié)點(diǎn)i,計(jì)算節(jié)點(diǎn)i到所述節(jié)點(diǎn)v的目標(biāo)節(jié)點(diǎn)t的最短路徑并得到路徑上的節(jié)點(diǎn)集合P(i,t),且
3)計(jì)算所述節(jié)點(diǎn)v的所有鄰居節(jié)點(diǎn)對(duì)應(yīng)的最短路徑對(duì)所述節(jié)點(diǎn)v的吸引力Git,如下式所述:
其中,n表示該路徑上的節(jié)點(diǎn)數(shù)量,j=1,2,...n,F(xiàn)jv表示該路徑上節(jié)點(diǎn)j對(duì)節(jié)點(diǎn)v數(shù)據(jù)包的引力,公式如下:
其中,cj表示節(jié)點(diǎn)j的傳輸能力,即單位時(shí)間內(nèi)能發(fā)送的最大數(shù)據(jù)包個(gè)數(shù);qj表示節(jié)點(diǎn)j的緩存隊(duì)列中存放的數(shù)據(jù)包個(gè)數(shù),由此反映了節(jié)點(diǎn)j的暢通程度;djv表示節(jié)點(diǎn)j與節(jié)點(diǎn)v之間的最短距離;α與γ為可調(diào)節(jié)參數(shù);hj表示節(jié)點(diǎn)j的鄰居節(jié)點(diǎn)的平均暢通程度,對(duì)于節(jié)點(diǎn)j的u個(gè)鄰居節(jié)點(diǎn),其平均暢通程度即為:
4)按照路徑引力的大小降序排列得到路徑的集合L=[L1 L2 ... Li],其中i為節(jié)點(diǎn)v的鄰居節(jié)點(diǎn)的個(gè)數(shù),其中路徑引力最大的路徑L1中對(duì)應(yīng)節(jié)點(diǎn)v的鄰居節(jié)點(diǎn)為e;
5)若同一時(shí)刻,沒(méi)有其他路徑的數(shù)據(jù)包準(zhǔn)備進(jìn)入節(jié)點(diǎn)e,則以節(jié)點(diǎn)e作為節(jié)點(diǎn)v數(shù)據(jù)包傳遞的下一個(gè)路由節(jié)點(diǎn);
6)若同一時(shí)刻,有其他路徑節(jié)點(diǎn)m的數(shù)據(jù)包準(zhǔn)備進(jìn)入節(jié)點(diǎn)e,則分別計(jì)算節(jié)點(diǎn)v和節(jié)點(diǎn)m的重量系數(shù)M,計(jì)算公式如下:
其中,k為一個(gè)可調(diào)節(jié)的參數(shù),0≤k≤1,用來(lái)平衡路徑的長(zhǎng)短和等待時(shí)間之間的權(quán)重;l為當(dāng)前節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的最短路徑長(zhǎng)度;q為當(dāng)前節(jié)點(diǎn)所儲(chǔ)存的數(shù)據(jù)包的個(gè)數(shù);ce為節(jié)點(diǎn)e單位時(shí)間內(nèi)能發(fā)送的最大數(shù)據(jù)包個(gè)數(shù);通過(guò)重量系數(shù)M的計(jì)算公式分別得到節(jié)點(diǎn)v和節(jié)點(diǎn)m的重量系數(shù)Mv和Mm;
7)比較Mv和Mm的大小,重量系數(shù)大的節(jié)點(diǎn)作為優(yōu)先節(jié)點(diǎn)進(jìn)入該路徑,并以節(jié)點(diǎn)e作為所述優(yōu)先節(jié)點(diǎn)數(shù)據(jù)包傳遞的下一個(gè)路由節(jié)點(diǎn);
8)重量系數(shù)小的節(jié)點(diǎn)返回步驟4)選擇進(jìn)入路徑引力第二大的路徑L2。
優(yōu)選的,所述步驟3)中的α與γ為大于等于1的常數(shù)。
優(yōu)選的,所述步驟6)中的系數(shù)k的取值范圍為0≤k≤1。
附圖說(shuō)明
圖1為實(shí)施例一中的路由方法過(guò)程。
圖2為本發(fā)明算法的路由性能曲線。
具體實(shí)施方式
現(xiàn)結(jié)合實(shí)施例、附圖對(duì)本發(fā)明作進(jìn)一步描述。在此需要說(shuō)明的是,對(duì)于這些實(shí)施例方式的說(shuō)明用于幫助理解本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的限定。
實(shí)施例一:
節(jié)點(diǎn)的聚集能力是由節(jié)點(diǎn)自身交通狀態(tài)及其鄰居節(jié)點(diǎn)交通狀態(tài)共同作用的結(jié)果。每個(gè)節(jié)點(diǎn)都存在一定的聚集能力,其表現(xiàn)為對(duì)網(wǎng)絡(luò)上交通流的吸引力,由此節(jié)點(diǎn)可以激發(fā)對(duì)交通流的引力場(chǎng)模型。假設(shè)當(dāng)前待發(fā)送數(shù)據(jù)包所在節(jié)點(diǎn)為v,則節(jié)點(diǎn)j對(duì)節(jié)點(diǎn)v處數(shù)據(jù)包的吸引力定義如下:
其中,F(xiàn)jv表示節(jié)點(diǎn)j對(duì)節(jié)點(diǎn)v處數(shù)據(jù)包的吸引力;cj表示節(jié)點(diǎn)j的傳輸能力,即單位時(shí)間內(nèi)能發(fā)送的最大數(shù)據(jù)包個(gè)數(shù);qj表示節(jié)點(diǎn)j的緩存隊(duì)列中存放的數(shù)據(jù)包個(gè)數(shù),由此反映了節(jié)點(diǎn)j的暢通程度;djv表示節(jié)點(diǎn)j與節(jié)點(diǎn)v之間的最短距離;α與γ為可調(diào)節(jié)參數(shù),且α與γ為大于等于1的常數(shù);hj表示節(jié)點(diǎn)j的鄰居節(jié)點(diǎn)的平均暢通程度,對(duì)于節(jié)點(diǎn)j的u個(gè)鄰居節(jié)點(diǎn),其平均暢通程度即為:公式(1)表明,節(jié)點(diǎn)j對(duì)節(jié)點(diǎn)v處數(shù)據(jù)包的吸引力與該節(jié)點(diǎn)的暢通程度與其鄰居節(jié)點(diǎn)的暢通程度呈正比,而與節(jié)點(diǎn)j、v之間的最短距離呈反比,表達(dá)了顯著的物理意義。
數(shù)據(jù)包的傳遞不是由單個(gè)節(jié)點(diǎn)的交通狀態(tài)所能決定,高效的路由策略必須顧及更多節(jié)點(diǎn)的交通狀態(tài)。對(duì)于任意數(shù)據(jù)包,其在傳輸過(guò)程中都是盡量選擇可靠的路徑傳遞,故路徑才是路由策略的研究對(duì)象。為此,設(shè)數(shù)據(jù)包當(dāng)前所在節(jié)點(diǎn)為v,用P(i,t)表示其鄰居節(jié)點(diǎn)i到目標(biāo)節(jié)點(diǎn)t的最短路徑上所有節(jié)點(diǎn)的集合且由此可以定義如下該路徑對(duì)節(jié)點(diǎn)v中數(shù)據(jù)包的引力模型:
上式表明,路徑對(duì)數(shù)據(jù)包的引力即為該路徑上所有節(jié)點(diǎn)對(duì)數(shù)據(jù)包的引力的平均值。由此,本文提出一種顧及節(jié)點(diǎn)聚集能力的引力場(chǎng)動(dòng)態(tài)路由策略,具體路由過(guò)程如下:
1)每個(gè)時(shí)間步,針對(duì)任意節(jié)點(diǎn)v,如果其緩存隊(duì)列不為空,說(shuō)明有數(shù)據(jù)包等待傳遞,故獲取該節(jié)點(diǎn)的所有鄰居節(jié)點(diǎn);
2)對(duì)于v的每個(gè)鄰居節(jié)點(diǎn)i,計(jì)算i到該數(shù)據(jù)包目標(biāo)節(jié)點(diǎn)t的最短路徑并得到路徑的節(jié)點(diǎn)集合P(i,t);
3)根據(jù)公式(1)和(2),計(jì)算所有鄰居節(jié)點(diǎn)對(duì)應(yīng)的最短路徑對(duì)該數(shù)據(jù)包引力Git;
4)按照路徑引力的大小降序排列得到路徑的集合L=[L1 L2 ... Li],其中i為節(jié)點(diǎn)v的鄰居節(jié)點(diǎn)的個(gè)數(shù),其中路徑引力最大的路徑L1中對(duì)應(yīng)節(jié)點(diǎn)v的鄰居節(jié)點(diǎn)為e;并以所述路徑L1對(duì)應(yīng)節(jié)點(diǎn)v的鄰居節(jié)點(diǎn)e作為當(dāng)前數(shù)據(jù)包傳遞的下一個(gè)路由節(jié)點(diǎn)。
實(shí)施例二:
實(shí)施例一中的技術(shù)方案也不是沒(méi)有缺陷的,從公式(1)-(2)可見(jiàn),在整個(gè)節(jié)點(diǎn)網(wǎng)絡(luò)中,引力最大的路徑L一定是較為“空曠”和“通暢”的路徑,這條路徑在整個(gè)節(jié)點(diǎn)網(wǎng)絡(luò)中相當(dāng)于一條“高速公路”。因此,根據(jù)公式(1)-(2)的計(jì)算結(jié)果,當(dāng)前節(jié)點(diǎn)v周邊的所有的攜帶數(shù)據(jù)包的節(jié)點(diǎn)都會(huì)選擇從路徑L傳輸,因此,所述路徑L會(huì)瞬間成為一條高度擁塞的路徑,而其他路徑反而會(huì)暫時(shí)“空曠”,造成節(jié)點(diǎn)路徑的浪費(fèi)。這也就意味著,實(shí)施例一中計(jì)算得到的對(duì)應(yīng)節(jié)點(diǎn)v的鄰居節(jié)點(diǎn)e可能同時(shí)會(huì)成為兩個(gè)、三個(gè)或者更多個(gè)節(jié)點(diǎn)的下一個(gè)路由節(jié)點(diǎn),這反而會(huì)成為造成進(jìn)一步的擁堵。
為解決上述缺陷,若在同一時(shí)刻,有其他路徑節(jié)點(diǎn)m的數(shù)據(jù)包準(zhǔn)備進(jìn)入節(jié)點(diǎn)e,需要對(duì)節(jié)點(diǎn)e處進(jìn)行“限流”,以避免造成擁塞,引入一個(gè)重量系數(shù)M,計(jì)算公式如下所示:
其中,k為一個(gè)可調(diào)節(jié)的參數(shù),0≤k≤1,用來(lái)平衡路徑的長(zhǎng)短和等待節(jié)點(diǎn)e處理數(shù)據(jù)包時(shí)間之間的權(quán)重;l為當(dāng)前節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的最短路徑長(zhǎng)度;q為當(dāng)前節(jié)點(diǎn)所儲(chǔ)存的數(shù)據(jù)包的個(gè)數(shù);ce為節(jié)點(diǎn)e單位時(shí)間內(nèi)能發(fā)送的最大數(shù)據(jù)包個(gè)數(shù)。上述計(jì)算式表明重量系數(shù)M越大,則表明該節(jié)點(diǎn)e屬于需要優(yōu)先傳遞的所攜帶的數(shù)據(jù)包長(zhǎng)距傳送或者數(shù)據(jù)包量較大的節(jié)點(diǎn),傳送距離和數(shù)據(jù)包量的平衡通過(guò)參數(shù)k來(lái)調(diào)節(jié)。
在上述基礎(chǔ)上,若同一時(shí)刻,有其他路徑節(jié)點(diǎn)m的數(shù)據(jù)包準(zhǔn)備進(jìn)入節(jié)點(diǎn)e,則分別計(jì)算節(jié)點(diǎn)v和節(jié)點(diǎn)m的重量系數(shù)Mv和Mm;
比較Mv和Mm的大小,重量系數(shù)大的節(jié)點(diǎn)作為優(yōu)先節(jié)點(diǎn)進(jìn)入該路徑,并以節(jié)點(diǎn)e作為所述優(yōu)先節(jié)點(diǎn)數(shù)據(jù)包傳遞的下一個(gè)路由節(jié)點(diǎn);
重量系數(shù)小的節(jié)點(diǎn)返回步驟4)選擇進(jìn)入路徑引力第二大的路徑L2。
網(wǎng)絡(luò)吞吐量是評(píng)估路由策略性能的重要指標(biāo)。為此,這里引入有序狀態(tài)參數(shù)用于度量網(wǎng)絡(luò)交通相變過(guò)程,即網(wǎng)絡(luò)交通狀態(tài)由自由流變?yōu)閾砣?,該參?shù)定義如下:
式中,W(t)為t時(shí)刻網(wǎng)絡(luò)中剩余的數(shù)據(jù)包總數(shù);R為單位時(shí)間新增數(shù)據(jù)包個(gè)數(shù),R·t即為截止t時(shí)刻網(wǎng)絡(luò)中總共產(chǎn)生的數(shù)據(jù)包總數(shù)。當(dāng)R≤Rc時(shí),有序參數(shù)η的值接近于0;然而,當(dāng)R>Rc時(shí),η值將突然變大且隨R的增加逐漸接近于1,網(wǎng)絡(luò)陷入擁塞。由此說(shuō)明網(wǎng)絡(luò)交通狀態(tài)在R=Rc處發(fā)生相變,Rc即為網(wǎng)絡(luò)的吞吐量。
為評(píng)價(jià)算法的有效性,本文采用BA無(wú)標(biāo)度網(wǎng)絡(luò)模型(網(wǎng)絡(luò)規(guī)模N=100且m=m0=4)進(jìn)行仿真實(shí)驗(yàn),為不失一般性,節(jié)點(diǎn)的傳輸能力均等于1,即c=1。如圖2所示為在針對(duì)α與γ的不同取值進(jìn)行模擬實(shí)驗(yàn)得到的路由性能。結(jié)果顯示,網(wǎng)絡(luò)交通流在負(fù)載量R=16處發(fā)生相變,由此說(shuō)明在顧及節(jié)點(diǎn)聚集能力的引力場(chǎng)路由策略控制下,該網(wǎng)絡(luò)的最大交通承載能力Rc=16。同時(shí),無(wú)論可調(diào)參數(shù)α與γ為何值,網(wǎng)絡(luò)的吞吐量及擁塞程度幾乎沒(méi)有變化,說(shuō)明這兩個(gè)參數(shù)對(duì)于本路由算法的傳輸性能沒(méi)有影響。由此表明,本路由算法是穩(wěn)定、可靠的。
如上所述,可較好地實(shí)現(xiàn)本發(fā)明。在不脫離本發(fā)明的原理和精神的情況下對(duì)這些實(shí)施例進(jìn)行變化、修改、替換、整合和變型仍落入本發(fā)明的保護(hù)范圍內(nèi)。