本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其是一種基于虛擬勢能場的礦井混合無線mesh網(wǎng)絡(luò)路由協(xié)議。
背景技術(shù):
目前無線mesh網(wǎng)絡(luò)(WMN)路由協(xié)議主要有:目的節(jié)點序列距離矢量路由協(xié)議(DSDV),自組織按需距離矢量路由協(xié)議(AODV)和混合無線Mesh路由協(xié)議(HWMP)。其中,
目的節(jié)點序列距離矢量路由協(xié)議(DSDV)是一種基于經(jīng)典Bellman-Ford算法的表驅(qū)動先驗式路由協(xié)議。自組織按需距離矢量路由協(xié)議(AODV)建立在DSDV算法之上,但它只在需要的時候才啟動路由發(fā)現(xiàn)過程,因此降低了路由維護的開銷?;旌蠠o線Mesh路由協(xié)議(HWMP)是一種混合式路由協(xié)議,該路由協(xié)議具有先驗式路由的快速性和反應(yīng)式路由的靈活性。以上典型路由協(xié)議沿用了Ad hoc網(wǎng)絡(luò)路由協(xié)議的設(shè)計思想,沒有針對WMN的特點和應(yīng)用領(lǐng)域進行設(shè)計。隨著WMN應(yīng)用領(lǐng)域的擴大,對網(wǎng)絡(luò)服務(wù)性能的要求不斷提高,以上路由協(xié)議難以滿足快速變化的應(yīng)用需求,例如當數(shù)據(jù)傳輸對網(wǎng)絡(luò)的服務(wù)質(zhì)量提出多種要求時,衡量網(wǎng)絡(luò)質(zhì)量的多個參數(shù)之間難以有效融合,實現(xiàn)既簡單又高效的路由決策。
更為重要的是,煤礦井下多為狹長巷道,且采煤工作面不斷推進,有線網(wǎng)絡(luò)以及傳統(tǒng)無線網(wǎng)絡(luò)出現(xiàn)故障后自修復(fù)能力弱,而在混合WMNs中,終端可參與組網(wǎng),能夠有效解決礦井網(wǎng)絡(luò)面臨的難題。礦井混合無線mesh網(wǎng)絡(luò)數(shù)據(jù)類型多樣,傳輸數(shù)據(jù)時對網(wǎng)絡(luò)時延、吞吐量等提出了不同的服務(wù)要求,這就需要路由協(xié)議能夠按需動態(tài)調(diào)整路由,實現(xiàn)數(shù)據(jù)的高效穩(wěn)定傳輸?,F(xiàn)有的路由協(xié)議沒有針對礦井實際需求進行設(shè)計,應(yīng)用于煤礦井下時無法滿足緊急數(shù)據(jù)低時延,非緊急數(shù)據(jù)高吞吐量的傳輸需求,很難發(fā)揮混合WMNs的優(yōu)勢。同時,礦井混合WMNs的終端節(jié)點采用電池供電,能量受限,路由節(jié)點采用有線電源供電,能量充足。在路由決策過程中不僅要保證數(shù)據(jù)傳輸?shù)挠行裕€需要優(yōu)化節(jié)點能耗,現(xiàn)有路由協(xié)議在設(shè)計時沒有充分考慮不同類型節(jié)點的特點,難以降低終端節(jié)點能耗,因此影響網(wǎng)絡(luò)生存時間。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于滿足礦井混合WMN中不同類型數(shù)據(jù)的傳輸需求,解決終端節(jié)點能 量受限問題,本發(fā)明基于勢能場理論,提出了基于虛擬勢能場的礦井混合無線mesh網(wǎng)絡(luò)路由協(xié)議。
發(fā)明內(nèi)容:為實現(xiàn)上述技術(shù)效果,本發(fā)明提出的技術(shù)方案為:
基于虛擬勢能場的礦井混合無線mesh網(wǎng)絡(luò)路由協(xié)議,所述礦井混合無線mesh網(wǎng)絡(luò)中包括網(wǎng)關(guān)節(jié)點和其他節(jié)點;該協(xié)議包括以下步驟:
(1)網(wǎng)絡(luò)初始化,包括步驟:
(1-1)各節(jié)點生成自己的HELLO分組并廣播,HELLO分組中記錄有生成HELLO分組的節(jié)點的深度勢能值、緊急數(shù)據(jù)資源勢能值、非緊急數(shù)據(jù)資源勢能值和IP地址;各節(jié)點根據(jù)接收到的其他節(jié)點發(fā)送的HELLO分組生成鄰居表;鄰居表中記錄有該節(jié)點鄰居節(jié)點的IP地址、深度勢能值Pd、緊急數(shù)據(jù)資源勢能值和非緊急數(shù)據(jù)資源勢能值;
任意一個節(jié)點i的緊急數(shù)據(jù)資源勢能值和非緊急數(shù)據(jù)資源勢能值的計算公式為:
式中,Pr_urgent(i)和Pr_non-urgent(i)分別表示節(jié)點i的緊急數(shù)據(jù)資源勢能值和非緊急數(shù)據(jù)資源勢能值;Qu(i)為節(jié)點i已緩存的緊急數(shù)據(jù)包個數(shù);Q(i)為節(jié)點i已緩存的數(shù)據(jù)包總數(shù);N(i)為節(jié)點i可緩存的數(shù)據(jù)包總數(shù);E(i)為節(jié)點i剩余能量百分比;a為低能量門限;
(1-2)節(jié)點根據(jù)鄰居表生成兩張路由表:緊急數(shù)據(jù)路由表和非緊急數(shù)據(jù)路由表;兩路由表中均記載節(jié)點的鄰居地址和節(jié)點與鄰居節(jié)點之間的混合作用力Fh;Fh的計算公式為:
Fh(v,w)=αFd(v,w)+(1-α)Fr(v,w)
=α(Pd(v)-Pd(w))/Δd+(1-α)(Pr(v)-Pr(w))/Δd
式中,v表示當前節(jié)點,w是v的鄰居節(jié)點;Fd(v,w)為節(jié)點v、w之間的深度作用力;α是可調(diào)參數(shù),傳輸緊急數(shù)據(jù)時α=α1,傳輸非緊急數(shù)據(jù)時α=α2,且α1≠α2;Fr(v,w) 表示節(jié)點v、w之間的資源作用力;Pd(v)、Pd(w)分別表示節(jié)點v、w的深度勢能值;Δd表示節(jié)點v、w之間的距離,Δd取值為1;Pr(v)、Pr(w)分別表示節(jié)點v、w的資源勢能值,當節(jié)點i傳輸緊急數(shù)據(jù)時,Pr(i)=Pr_urgent(i),當節(jié)點i傳輸非緊急數(shù)據(jù)時,Pr(i)=Pr_non-urgent(i);
(1-3)在數(shù)據(jù)分組頭部添加用以區(qū)分緊急數(shù)據(jù)和非緊急數(shù)據(jù)的priority標志位,節(jié)點在轉(zhuǎn)發(fā)數(shù)據(jù)分組時根據(jù)priority標志位選擇相應(yīng)的路由表進行路由選擇;
(2)以節(jié)點的深度勢能值為關(guān)鍵字建立虛擬勢能場,發(fā)送數(shù)據(jù)時從深度勢能值高的節(jié)點向深度勢能值低的節(jié)點發(fā)送;
(3)虛擬勢能場建立后,節(jié)點定期向鄰居節(jié)點廣播HELLO分組;節(jié)點接收到鄰居節(jié)點發(fā)送的HELLO分組后,搜索自已的鄰居表中該鄰居節(jié)點對應(yīng)的深度勢能值、緊急數(shù)據(jù)資源勢能值和非緊急數(shù)據(jù)資源勢能值,若這三個參數(shù)中的任意一個大于HELLO分組中記錄的對應(yīng)值,則將鄰居表中的深度勢能值、緊急數(shù)據(jù)資源勢能值和非緊急數(shù)據(jù)資源勢能值更新為HELLO分組中的對應(yīng)值;
(4)節(jié)點根據(jù)更新后的鄰居表計算與各鄰居節(jié)點之間的混合作用力更新值F′h,并將F′h與自己路由表中原本記錄的Fh值比較,若F′h>Fh,則令Fh=F′h;
(5)源節(jié)點發(fā)送數(shù)據(jù)分組時,首先根據(jù)數(shù)據(jù)分組頭部的priority標志位選擇相應(yīng)的路由表;再從選出的路由表中根據(jù)混合作用力值選擇路由,選出的路由中,第k跳節(jié)點為第k-1跳節(jié)點的路由表中與第k-1跳節(jié)點之間的混合作用力值最大的鄰居節(jié)點。
進一步的,所述步驟(1)中,節(jié)點生成鄰居表的方法為:
當節(jié)點接收到HELLO分組時,首先檢索自己的鄰居表中是否有關(guān)于發(fā)出HELLO分組的節(jié)點的信息,若沒有,則將HELLO分組中記錄的對應(yīng)節(jié)點的深度勢能值、緊急數(shù)據(jù)資源勢能值、非緊急數(shù)據(jù)資源勢能值和IP地址補充到自己的鄰居表中;若有,則放棄該HELLO分組。
進一步的,所述步驟(2)中,建立虛擬勢能場的步驟為:
(2-1)初始化所有節(jié)點的緊急數(shù)據(jù)資源勢能值和非緊急數(shù)據(jù)資源勢能值都為0,網(wǎng)關(guān)節(jié)點的深度勢能值為0,其他節(jié)點深度勢能值為網(wǎng)絡(luò)最大跳數(shù);
(2-2)網(wǎng)關(guān)生成HELLO分組并向網(wǎng)絡(luò)中的其他節(jié)點廣播;其他節(jié)點接收到網(wǎng)關(guān)節(jié) 點發(fā)出的HELLO分組后,獲取HELLO分組中記錄的網(wǎng)關(guān)節(jié)點深度勢能值;
(2-3)節(jié)點接收到來自鄰居節(jié)點的HELLO分組,并判斷收到的HELLO分組中記錄的深度勢能值加1后是否小于節(jié)點自身的深度勢能值;若是,節(jié)點將自身的深度勢能值加1;否則,節(jié)點自身的深度勢能值保持不變;
(2-4)節(jié)點根據(jù)更新后的深度勢能值和自己的IP地址生成新的HELLO分組并向鄰居節(jié)點廣播;
(2-4)重復(fù)執(zhí)行步驟(2-2)、(2-3),直到所有可連接節(jié)點的深度勢能值都小于網(wǎng)絡(luò)最大跳數(shù),此時,虛擬勢能場建立完畢。
進一步的,所述HELLO分組包括:depth字段、resource_urgent字段、resource_non-urgent字段和node IP Address字段;depth、resource_urgent、resource_non-urgent和node IP Address字段分別記錄發(fā)出HELLO分組的節(jié)點的深度勢能值、緊急數(shù)據(jù)資源勢能值、非緊急數(shù)據(jù)資源勢能值和IP地址。
進一步的,各節(jié)點除了定期廣播HELLO分組外,當任意一節(jié)點的緊急數(shù)據(jù)資源勢能值或非緊急數(shù)據(jù)資源勢能值的變化幅度大于5%時,該節(jié)點向鄰居廣播HELLO分組。
進一步的,還包括步驟:定義緊急數(shù)據(jù)priority標志位為1,非緊急數(shù)據(jù)priority標志位為0;節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)分組時,若priority等于1,則選擇urgent_RT中的路由發(fā)送數(shù)據(jù);若priority等于0,則選擇non-urgent_RT中的路由發(fā)送數(shù)據(jù);數(shù)據(jù)分組存入節(jié)點緩存時根據(jù)priority值降序排列,節(jié)點優(yōu)先轉(zhuǎn)發(fā)優(yōu)先級高的數(shù)據(jù)分組。
進一步的,還包括路由維護,步驟為:
(7-1)各節(jié)點生成阻塞節(jié)點表;
(7-2)在數(shù)據(jù)分組頭部增加用于記錄該數(shù)據(jù)分組經(jīng)過的節(jié)點的字段;當數(shù)據(jù)分組到達某一節(jié)點時,該節(jié)點將數(shù)據(jù)分組頭部記錄的該數(shù)據(jù)分組經(jīng)過的節(jié)點加入自己的阻塞節(jié)點表,在選擇下一跳時避開阻塞節(jié)點表中的節(jié)點。
進一步的,所述阻塞節(jié)點表僅記錄數(shù)據(jù)分組最新經(jīng)過的三跳節(jié)點。
有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明提出的路由協(xié)議能夠滿足礦井混合WMNs中緊急數(shù)據(jù)低時延、非緊急數(shù)據(jù)高吞吐量的傳輸需求,并解決終端節(jié)點能量受限問題。該路由協(xié)議選取節(jié)點的多個參數(shù)構(gòu)建深度勢能場和資源勢能場,然后根據(jù)不同類型數(shù)據(jù)的傳輸需求將各個勢能場相互疊加,通過物理學(xué)場論的原理組成混合勢能場,根據(jù)相鄰節(jié)點之間的勢能差建立路由,為不同的應(yīng)用提供區(qū)分服務(wù)。本發(fā)明設(shè)計的路由協(xié)議僅需局部 信息即可做出路由決策,無需獲取整個網(wǎng)絡(luò)的性能參數(shù),這種分布式路由協(xié)議具有較小的網(wǎng)絡(luò)開銷與較好的可擴展性。實驗結(jié)果表明,與現(xiàn)有路由協(xié)議相比,本文路由協(xié)議傳輸兩種類型的數(shù)據(jù)時,在端到端時延、投遞率方面都更具優(yōu)勢,同時終端節(jié)點使用均衡,能夠延長網(wǎng)絡(luò)生存時間,提高網(wǎng)絡(luò)服務(wù)質(zhì)量。
附圖說明
圖1為HELLO分組結(jié)構(gòu)的結(jié)構(gòu)示意圖;
圖2為網(wǎng)絡(luò)中各節(jié)點的分布圖;
圖3為虛擬勢能場示意圖;
圖4為路由選擇的流程示意圖。
具體實施方式
為滿足礦井混合WMN中不同類型數(shù)據(jù)的傳輸需求,解決終端節(jié)點能量受限問題,本發(fā)明基于勢能場理論,提出了基于虛擬勢能場的礦井混合無線mesh網(wǎng)絡(luò)路由協(xié)議。為實現(xiàn)上述路由協(xié)議,本發(fā)明根據(jù)礦井混合WMN網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膮R聚性特點,選取不同的網(wǎng)絡(luò)性能參數(shù)構(gòu)造不同的勢能場,并為網(wǎng)關(guān)節(jié)點設(shè)置最低的勢能值,數(shù)據(jù)分組在勢能場的作用下向網(wǎng)關(guān)匯聚,實現(xiàn)基于虛擬勢能場的路由協(xié)議。該路由協(xié)議包含以下部分:網(wǎng)絡(luò)初始化、建立勢能場、節(jié)點間信息交換、路由建立、路由選擇、路由維護。具體實現(xiàn)步驟如下:
步驟一,網(wǎng)絡(luò)初始化:
1、為節(jié)點信息表、鄰居表、路由表分配存儲空間。
2、初始化節(jié)點信息。包括IP地址、緩存空間大小、剩余能量、勢能值。其中,網(wǎng)關(guān)的深度勢能值為0,其他節(jié)點深度勢能值為網(wǎng)絡(luò)最大跳數(shù)。所有節(jié)點的資源勢能值都為0。
步驟二,建立勢能場:
由網(wǎng)關(guān)首先廣播HELLO分組,鄰居節(jié)點接收并處理后繼續(xù)向外擴散,直到所有節(jié)點都確定各自的勢能值。HELLO分組結(jié)構(gòu)如圖1所示。HELLO分組中Type為類型標識;TTL為生存時間,設(shè)置為1;Node IP Address記錄節(jié)點IP地址;depth記錄節(jié)點的深度勢能值;resource_urgent和resource_non-urgent分別記錄節(jié)點的緊急數(shù)據(jù)資源勢能值和非緊急數(shù)據(jù)資源勢能值。計算公式如下:
其中Pr(w)為節(jié)點w的資源勢能值;Qu(w)為w已緩存的緊急數(shù)據(jù)包個數(shù);Q(w)為w已緩存的數(shù)據(jù)包總數(shù);N(w)為w可緩存的數(shù)據(jù)包總數(shù);E(w)為節(jié)點剩余能量百分比;a為低能量門限,此處取0.1。計算后的Pr(w)取值范圍為[0,1]。
勢能場建立過程如下:
(1)網(wǎng)關(guān)生成HELLO分組并廣播。其中resource_urgent、resource_non-urgent、depth、Node IP Address對應(yīng)等于網(wǎng)關(guān)當前的信息。
(2)節(jié)點接收并處理HELLO分組。收到HELLO分組后以Node IP Address為關(guān)鍵字建立鄰居表,記錄鄰居節(jié)點的深度勢能值和兩個資源勢能值,即depth、resource_urgent和resource_non-urgent。另外,若接收到的depth加1后小于當前節(jié)點的深度勢能值,則將當前節(jié)點信息表中的深度勢能值更新為depth加1。
(3)節(jié)點生成HELLO分組并廣播。根據(jù)公式1計算節(jié)點當前的兩個資源勢能值,然后和節(jié)點信息表中的深度勢能值、IP地址一起生成新的HELLO分組并向鄰居廣播。
(4)重復(fù)步驟(2)、(3),直到所有可連接節(jié)點的深度勢能值都小于網(wǎng)絡(luò)最大跳數(shù)。
步驟三,節(jié)點間信息交換:
節(jié)點通過HELLO數(shù)據(jù)包定期交換信息,維護鄰居表。由于節(jié)點資源勢能值不斷變化,若僅定時廣播HELLO分組容易造成信息更新不及時。若僅在節(jié)點資源發(fā)生變化時廣播HELLO分組,那么若某節(jié)點資源勢能值長時間不變,又會被其鄰居節(jié)點誤認為該節(jié)點已斷開連接。因此節(jié)點在兩種情況下向其鄰居廣播HELLO分組:(1)當節(jié)點資源勢能值變化幅度大于5%時,向鄰居廣播HELLO分組;(2)每隔1s廣播一次HELLO分組。上述兩種機制同時使用,只要滿足其中一個條件節(jié)點即廣播HELLO分組。
步驟四,路由建立:
基于虛擬勢能場的路由協(xié)議需要根據(jù)數(shù)據(jù)類型動態(tài)調(diào)整路由,因此節(jié)點維護兩張路由表:urgent_RT和non-urgent_RT,主要包含下一跳IP地址和混合作用力Fh,由公式2計算。
其中v表示當前節(jié)點,w是v的鄰居節(jié)點;Fd為深度作用力;Fr為資源作用力;Pd為深度勢能值;Pr為資源勢能值;Δd表示兩節(jié)點之間的距離,由于v與w是鄰居,所以取值為1;α是可調(diào)參數(shù),本實施例中設(shè)置傳輸緊急數(shù)據(jù)時取0.6,傳輸非緊急數(shù)據(jù)時取0.3。在計算勢能差時,緊急數(shù)據(jù)的節(jié)點資源勢能值用resource_urgent計算,更新的路由信息存入urgent_RT表;非緊急數(shù)據(jù)節(jié)點資源勢能值用resource_non-urgent計算,更新的路由信息存入non-urgent_RT表。
路由建立過程如下:
(1)節(jié)點收到HELLO分組后,根據(jù)Node IPAddress查找鄰居表中與之對應(yīng)的節(jié)點,若HELLO分組中的depth、resource_urgent、resource_non-urgent小于鄰居表中對應(yīng)的值,則更新鄰居表。
(2)當鄰居表中有記錄更新時,根據(jù)公式2計算該鄰居的混合作用力Fh,并與路由表中現(xiàn)存的路由記錄比較,若Fh更大則更新路由表。
步驟五,路由選擇:
基于虛擬勢能場的路由協(xié)議為了區(qū)分數(shù)據(jù)類型,在數(shù)據(jù)分組的頭部添加了priority標志位,緊急數(shù)據(jù)設(shè)置為1,非緊急數(shù)據(jù)為0。數(shù)據(jù)包存入節(jié)點緩存時根據(jù)priority值降序排列,這樣在同一節(jié)點的緩存隊列中,緊急數(shù)據(jù)包能夠先于非緊急數(shù)據(jù)包轉(zhuǎn)發(fā),降低傳輸時延。節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)分組時,若priority等于1,則選擇urgent_RT中的路由發(fā)送數(shù)據(jù);若priority等于0,則選擇non-urgent_RT中的路由發(fā)送數(shù)據(jù)。
步驟六,路由維護:
基于虛擬勢能場的路由協(xié)議使用分布式路由策略,節(jié)點根據(jù)其鄰居與自身的勢能差確立路由,由于各個節(jié)點的勢能值不斷更新,路由可能出現(xiàn)環(huán)路,所以在維護階段主要任務(wù)是環(huán)路避免。本發(fā)明提出的路由協(xié)議在數(shù)據(jù)分組頭部記錄其經(jīng)過的節(jié)點,將這些節(jié)點加入阻塞節(jié)點表,在選擇下一跳時避開阻塞節(jié)點表中的節(jié)點。若重復(fù)出現(xiàn)較大的環(huán)路,說明該環(huán)路區(qū)域的整體勢能值比周圍低,環(huán)路外圍可能出現(xiàn)大面積擁塞或其他故障,這種情況即使避開環(huán)路上的節(jié)點,也難以選出更好的路徑,反而加重周圍節(jié)點的負載,因 此阻塞節(jié)點表只記錄數(shù)據(jù)分組最新經(jīng)過的三跳節(jié)點。對于較大的環(huán)路,待擁塞緩解或故障修復(fù)后節(jié)點能夠自主查找到新路徑。
以下將結(jié)合附圖對本發(fā)明的技術(shù)方案進行詳細說明。
礦井混合WMN中節(jié)點的位置決定其到網(wǎng)關(guān)的跳數(shù),距離網(wǎng)關(guān)越遠跳數(shù)越大,如圖2所示,H(x)表示節(jié)點x到網(wǎng)關(guān)的跳數(shù),即節(jié)點深度。
根據(jù)物理學(xué)中場論原理,若將網(wǎng)關(guān)勢能值設(shè)置為0,則各個節(jié)點的勢能值可以抽象為如圖3所示的深度勢能場,數(shù)據(jù)分組會自發(fā)的從勢能高的節(jié)點向勢能低的節(jié)點移動,最終到達網(wǎng)關(guān)。同樣的原理可以利用節(jié)點緩存空間使用率和剩余能量百分比構(gòu)建節(jié)點資源勢能場。
下面將給出具體的實例,分析基于虛擬勢能場的路由協(xié)議如何進行路由選擇。
實例分析:
(a)如圖4所示的網(wǎng)絡(luò)拓撲,其中S為源節(jié)點,GW為網(wǎng)關(guān)。圖4中各節(jié)點的深度勢能值Pd、節(jié)點之間的深度作用力Fd如表1所示。
表1
初始狀態(tài)下沒有緩存隊列且終端能量相等,路由選擇僅與深度作用力Fd相關(guān),由表1得出初始狀態(tài)下S發(fā)送緊急和非緊急數(shù)據(jù)時都會選擇路徑S→D→E→GW,如圖4(a),該路徑為最短路徑。
緊急數(shù)據(jù)優(yōu)先級高,若節(jié)點出現(xiàn)緩存隊列,可以排到隊列前端優(yōu)先發(fā)送,且發(fā)送緊急數(shù)據(jù)時不考慮節(jié)點剩余能量,優(yōu)先選擇最短路徑,因此隨著網(wǎng)絡(luò)的運行緊急數(shù)據(jù)仍選擇S→D→E→GW。接下來重點討論發(fā)送非緊急數(shù)據(jù)時的路由決策過程。
(b)隨著網(wǎng)絡(luò)中數(shù)據(jù)分組的增加,節(jié)點可能出現(xiàn)緩存,能量也逐漸消耗,假設(shè)各節(jié)點的深度勢能值Pd不變(如表5所示),資源勢能值Pr、深度作用力Fd、資源作用力Fr如表2所示。
表2
基于虛擬勢能場的路由協(xié)議在處理非緊急數(shù)據(jù)時公式2中α取0.3(由實驗確定),可計算出各節(jié)點之間的混合作用力Fh如表2所示,最終推出S發(fā)送非緊急數(shù)據(jù)時選擇S→A→B→C→GW如圖4(b)。該路徑中S和A的深度勢能值相等,也就是說當節(jié)點D緩存數(shù)據(jù)較多或能量較低時,S會選擇和自己深度勢能值相等的A節(jié)點作為下一跳,而不是最短路徑上的D節(jié)點。
(c)當網(wǎng)絡(luò)中某些節(jié)點緩存隊列已滿或剩余能量非常低時,本發(fā)明提出的路由協(xié)議在發(fā)送非緊急數(shù)據(jù)時會避開相應(yīng)節(jié)點,如圖4(c)中的節(jié)點B、E、G。假設(shè)各節(jié)點的深度勢能值Pd如表1所示,資源勢能值Pr、深度作用力Fd、資源作用力Fr如表2所示。則根據(jù)公式2可計算出各節(jié)點之間的混合作用力Fh如表3所示。
表3
當S發(fā)送非緊急數(shù)據(jù)時,最終選擇路徑S→D→F→J→K→H→GW,如圖4(c)。該路徑中Pd(F)>Pd(D),說明當深度勢能較小的鄰居(如E)負載過重時,節(jié)點D會選擇深度勢能更高而資源勢能較低的鄰居(如F)作為下一跳,以此緩解過重的鏈路負載,避免擁塞和大量丟包。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出:對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。