本發(fā)明屬于無線傳感器網(wǎng)絡(luò)技術(shù)領(lǐng)域,涉及一種基于AOMDV的能量感知節(jié)點(diǎn)不相交多路徑路由算法。
背景技術(shù):
近些年來,無線通信技術(shù)和無線網(wǎng)絡(luò)的應(yīng)用越來越廣泛。移動(dòng)自組織通信網(wǎng)絡(luò)是由無線移動(dòng)節(jié)點(diǎn)構(gòu)成,利用移動(dòng)終端的路由轉(zhuǎn)發(fā)功能,具有組網(wǎng)速度快,抗毀能力強(qiáng)等特點(diǎn)。在無基礎(chǔ)設(shè)施的情況下進(jìn)行通信,從而彌補(bǔ)了無網(wǎng)絡(luò)通信基礎(chǔ)設(shè)施可使用的缺陷。
在移動(dòng)自組織網(wǎng)絡(luò)中,源節(jié)點(diǎn)通過無線傳輸?shù)姆绞?,將?shù)據(jù)包經(jīng)過相鄰節(jié)點(diǎn)、中間節(jié)點(diǎn)發(fā)送到目的節(jié)點(diǎn),一旦中間某個(gè)節(jié)點(diǎn)出現(xiàn)問題,或者是因?yàn)楣?jié)點(diǎn)的移動(dòng),就會(huì)造成網(wǎng)絡(luò)通信失效,從而影響到網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)男Ч?。在某些特殊的?yīng)用場景下,可靠性保證和容錯(cuò)性保證是網(wǎng)絡(luò)運(yùn)行的前提。目前,常用的按需路由協(xié)議AODV(Ad hoc On-demand Distance Vector Routing)、DSR(Dynamic Source Routing)等,都是單路徑路由,頻繁的全網(wǎng)泛洪,路由的開銷很大,數(shù)據(jù)報(bào)文傳送時(shí)延較大,不適合實(shí)時(shí)性的應(yīng)用,而且無線網(wǎng)絡(luò)節(jié)點(diǎn)移動(dòng)性高,帶寬資源有限,連接中斷率高。因而傳統(tǒng)的無線路由算法已漸漸不在適用了。
當(dāng)前提出了很多多路徑路由的思想。多路徑路由提供了一些機(jī)制來分配通信量、平衡網(wǎng)絡(luò)負(fù)載,以及提供容錯(cuò)能力,受到很多人的研究。多路徑路由可以分為3種:節(jié)點(diǎn)不相交多路徑(Node-Disjoint)、鏈路不相交多路徑(Link-Disjoint)和相交多路徑。多路徑可以提高路由的可靠性和容錯(cuò)性,使用多路徑策略改善了通訊性能,避免了單路徑由于節(jié)點(diǎn)能量消耗殆盡導(dǎo)致的數(shù)據(jù)傳輸失敗。AOMDV(AdHoc on-Demand Multipath Distance Vector)路由協(xié)議是在AODV路由協(xié)議基礎(chǔ)上設(shè)計(jì)多徑路由協(xié)議,該協(xié)議經(jīng)過一次路由發(fā)現(xiàn)過程,能夠找到多條從一個(gè)節(jié)點(diǎn)到另一個(gè)節(jié)點(diǎn)的路徑,這些路徑是節(jié)點(diǎn)不相交或鏈路不相交。當(dāng)其中一條出錯(cuò)時(shí),直接選用其他可用路徑,而不用重新啟動(dòng)路由發(fā)現(xiàn)過程,增加了容錯(cuò)能力和穩(wěn)定性,然而,它沒有考慮鏈路擁塞、鏈路丟包率、帶寬等其它參數(shù),因此得到的多路徑不一定是最好的,其次,AOMDV協(xié)議從路由表中選擇路徑傳輸數(shù)據(jù)時(shí),選擇的是最早發(fā)現(xiàn)的路徑,但最早的路徑往往不一定是最優(yōu)的。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于AOMDV的能量感知節(jié)點(diǎn)不相交多路徑路由算法,該算法針對由于節(jié)點(diǎn)失效,節(jié)點(diǎn)移動(dòng)等問題,綜合考慮了不相交多路徑、鏈路質(zhì)量和節(jié)點(diǎn)能耗等因素,從而達(dá)到降低節(jié)點(diǎn)能耗、均衡網(wǎng)絡(luò)負(fù)載,提高能量的利用效率的目的。
為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
一種基于AOMDV的能量感知節(jié)點(diǎn)不相交多路徑路由算法,在該方法中,根據(jù)在路由發(fā)現(xiàn)階段、路由回復(fù)階段,通過泛洪,查找出所有可能的不相交多路徑;再根據(jù)在數(shù)據(jù)傳輸階段,對路由數(shù)據(jù)包設(shè)計(jì),在路由表中增加節(jié)點(diǎn)能量字段用來統(tǒng)計(jì)當(dāng)前節(jié)點(diǎn)的能量,根據(jù)每條路徑節(jié)點(diǎn)的能量給每條路徑分配權(quán)重,篩選鏈路,獲取最優(yōu)鏈路;具體包括以下步驟:
S1:在鄰居發(fā)現(xiàn)階段,首先網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)通過廣播HELLO包,在規(guī)定時(shí)間間隔內(nèi)交互報(bào)文發(fā)現(xiàn)他們的鄰居節(jié)點(diǎn),確定鏈路,為在鄰居發(fā)現(xiàn)過程中交換各自的能量信息,丟棄節(jié)點(diǎn)能量較低的節(jié)點(diǎn);在鄰居發(fā)現(xiàn)階段后,每個(gè)節(jié)點(diǎn)都有了其鄰居節(jié)點(diǎn)的信息;
S2:在多路徑路由階段,路由發(fā)現(xiàn)階段,以源節(jié)點(diǎn)為起點(diǎn),首先通過泛洪RREQ包,通過不同的中間節(jié)點(diǎn)多次轉(zhuǎn)發(fā)到達(dá)目的節(jié)點(diǎn),目的節(jié)點(diǎn)維持多條到達(dá)源節(jié)點(diǎn)的路由,發(fā)現(xiàn)從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的所有不相交多路徑,存儲(chǔ)路徑信息在路由表中;
S3:在數(shù)據(jù)傳輸階段,源節(jié)點(diǎn)到目的節(jié)點(diǎn)的多條路徑被存儲(chǔ)在路由表中,路徑能量等級分有五種,這些能量等級用來分配鏈路權(quán)重,通過篩選出能量較好的路徑進(jìn)行數(shù)據(jù)通信,在最小權(quán)重路徑發(fā)送數(shù)據(jù)包。
進(jìn)一步,在步驟S1中,鄰居發(fā)現(xiàn)過程中,中間節(jié)點(diǎn)的能量水平有限,當(dāng)有節(jié)點(diǎn)能量很低時(shí),但又需要轉(zhuǎn)發(fā)路由請求包RREQ時(shí),這種情況是很危險(xiǎn)的,如果使用這種節(jié)點(diǎn)建立路徑會(huì)因節(jié)點(diǎn)能量過低而導(dǎo)致網(wǎng)絡(luò)分割的現(xiàn)象出現(xiàn),所以要避免這類節(jié)點(diǎn)參與到多徑路由過程中;在本方法中,設(shè)置一個(gè)能量閾值來丟棄節(jié)點(diǎn)能量過低的節(jié)點(diǎn),取能量閾值為Et,當(dāng)鄰居節(jié)點(diǎn)自身的剩余能量率,即目前節(jié)點(diǎn)能量與初始能量的比值低于這個(gè)閾值時(shí),將丟棄該鏈路,不再繼續(xù)轉(zhuǎn)發(fā),從而有效地保護(hù)了能量較低的節(jié)點(diǎn)。
進(jìn)一步,所述步驟S2具體包括:
S21:當(dāng)源節(jié)點(diǎn)需要發(fā)送數(shù)據(jù)包時(shí),首先檢測源節(jié)點(diǎn)路由表中是否存在到達(dá)目的節(jié)點(diǎn)的路徑,若存在,將按著已用的路徑發(fā)送數(shù)據(jù),不需要重新路由的過程;
S22:已有路徑失效,重新路徑發(fā)現(xiàn)過程,主要使用路由請求(RREQ)、路由回復(fù)(RREP)兩種類型的控制信息;源節(jié)點(diǎn)在整個(gè)網(wǎng)絡(luò)中泛洪RREQ信息,通過不同的中間節(jié)點(diǎn)多次轉(zhuǎn)發(fā)到目的節(jié)點(diǎn);中間節(jié)點(diǎn)通過Routing_list檢測發(fā)來的RREQ是否是新的;Routing_list包含泛洪ID,在網(wǎng)絡(luò)中唯一標(biāo)識(shí)RREQ包;中間節(jié)點(diǎn)收到的請求包已在Routing_list中,將認(rèn)為是重復(fù)的RREQ包,將丟棄停止廣播;否則將中間將創(chuàng)建新的Routing_list并更新路由表,繼續(xù)泛洪RREQ信息包;
S23:在整個(gè)網(wǎng)絡(luò)中,只有目的節(jié)點(diǎn)可以在收到RREQ數(shù)據(jù)包時(shí)發(fā)送RREP數(shù)據(jù)包,這樣以便于得到節(jié)點(diǎn)不相交路徑;目的節(jié)點(diǎn)每收到一個(gè)RREQ數(shù)據(jù)包,響應(yīng)一個(gè)RREP數(shù)據(jù)包,沿著RREQ數(shù)據(jù)包的反向路徑單播RREP數(shù)據(jù)包;
S24:在目的節(jié)點(diǎn)收到第一個(gè)路由請求包時(shí),啟動(dòng)定時(shí)器,在一定周期內(nèi)收到的REEQ包,將進(jìn)行響應(yīng),丟棄跳數(shù)太多或者時(shí)延太長的路徑,留下相對最優(yōu)的節(jié)點(diǎn)不相交多路徑。
進(jìn)一步,所述步驟S3具體包括:
S31:在RREQ數(shù)據(jù)包字段中加入首跳節(jié)點(diǎn)能量和源節(jié)點(diǎn)能量;首跳節(jié)點(diǎn)能量和源節(jié)點(diǎn)能量顯示當(dāng)前節(jié)點(diǎn)的能量;
S32:在RREP數(shù)據(jù)包字段中加入目的節(jié)點(diǎn)能量和首跳節(jié)點(diǎn)能量;目的節(jié)點(diǎn)能量和首跳節(jié)點(diǎn)能量顯示當(dāng)前節(jié)點(diǎn)的能量;
S33:在完成多路徑發(fā)現(xiàn)過程后,源節(jié)點(diǎn)到目的節(jié)點(diǎn)的可靠多路徑被存儲(chǔ)在路由表中,然后源節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)能量分配路徑權(quán)重,發(fā)送數(shù)據(jù)包將選擇在最小權(quán)重路徑上;
S34:當(dāng)前的數(shù)據(jù)包傳輸在指定的時(shí)間內(nèi)完成,然后下一個(gè)數(shù)據(jù)包將繼續(xù)根據(jù)當(dāng)前路徑權(quán)重,選擇權(quán)重最小的路徑進(jìn)行傳輸數(shù)據(jù)包,避免了一直使用同一路徑造成的節(jié)點(diǎn)過度消耗死亡,均衡整個(gè)網(wǎng)絡(luò)負(fù)載目的;
S35:當(dāng)權(quán)重最小的路徑傳輸數(shù)據(jù)包未在指定時(shí)間內(nèi)完成,數(shù)據(jù)重傳三次沒有收到確認(rèn),將重新開始路由發(fā)現(xiàn)過程。
本發(fā)明的有益效果在于:在本發(fā)明提供的算法中,建立源節(jié)點(diǎn)到目的節(jié)點(diǎn)的多條節(jié)點(diǎn)不相交路徑,基于路徑上節(jié)點(diǎn)的能量等級分配權(quán)重,節(jié)點(diǎn)能量最大、權(quán)重最小的路徑傳輸數(shù)據(jù)包,每次發(fā)送數(shù)據(jù)包都是選擇的權(quán)重最低的路徑。當(dāng)都失效時(shí),將重新路由發(fā)現(xiàn)過程,這樣的傳輸方式將均勻的分布到多個(gè)路徑上,這樣可以確保沿著路徑的節(jié)點(diǎn)的能量被均勻地利用,還可以節(jié)點(diǎn)過度消耗,延長網(wǎng)絡(luò)的生存周期。
附圖說明
為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說明:
圖1為本發(fā)明所述能量高效不相交多路徑路由算法的流程圖;
圖2為本發(fā)明所述RREQ包的報(bào)文格式;
圖3為本發(fā)明所述RREP包的報(bào)文格式;
圖4為本發(fā)明所述路由請求RREQ發(fā)送流程圖;
圖5為本發(fā)明所述路由回復(fù)RREP發(fā)送流程圖;
圖6為本發(fā)明所述路徑選擇示意圖;
圖7為本發(fā)明的說明框圖。
具體實(shí)施方式
下面將結(jié)合附圖,對本發(fā)明的優(yōu)選實(shí)施例進(jìn)行詳細(xì)的描述。
圖1是本發(fā)明提出的能量感知節(jié)點(diǎn)不相交多路徑路由算法流程圖。根據(jù)在路由發(fā)現(xiàn)階段、路由回復(fù)階段,通過泛洪,查找出所有可能的不相交多路徑;在根據(jù)在數(shù)據(jù)傳輸階段,對路由數(shù)據(jù)包設(shè)計(jì),在路由表中增加節(jié)點(diǎn)能量字段用來統(tǒng)計(jì)當(dāng)前節(jié)點(diǎn)的能量,根據(jù)每條路徑節(jié)點(diǎn)的能量給每條路徑分配權(quán)重,篩選鏈路,獲取最優(yōu)鏈路。路由算法包括以下步驟:
S1:在鄰居發(fā)現(xiàn)階段,首先網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)通過廣播HELLO包,在規(guī)定時(shí)間間隔內(nèi)交互報(bào)文發(fā)現(xiàn)他們的鄰居節(jié)點(diǎn),確定鏈路,為在鄰居發(fā)現(xiàn)過程中交換各自的能量信息,丟棄節(jié)點(diǎn)能量較低的節(jié)點(diǎn)。在鄰居發(fā)現(xiàn)階段后,每個(gè)節(jié)點(diǎn)都有了其鄰居節(jié)點(diǎn)的信息。
節(jié)點(diǎn)通過鄰居發(fā)現(xiàn)過程找到相鄰節(jié)點(diǎn),相鄰節(jié)點(diǎn)的剩余能量率與該節(jié)點(diǎn)的能量閾值比較,當(dāng)相鄰節(jié)點(diǎn)的剩余能量率低于該閾值時(shí),將丟棄該鏈路,不在繼續(xù)鄰居發(fā)現(xiàn)過程,只有當(dāng)節(jié)點(diǎn)的剩余能量率高于閾值的時(shí)候,才繼續(xù)路由建立過程。
S2:在多路徑路由階段,主要考慮形成節(jié)點(diǎn)不相交的情況。多路徑情況主要是考慮路徑的穩(wěn)定性。節(jié)點(diǎn)不相交多路徑,就是各條路徑中除源節(jié)點(diǎn)和目的節(jié)點(diǎn)之外沒有其他任何共用節(jié)點(diǎn)。鏈路不相交多路徑是指各條路徑間沒有任何共用的鏈路,但有可能有共用的節(jié)點(diǎn)。相交多路徑是指各條路徑間既有共用的節(jié)點(diǎn),又有共用的鏈路。當(dāng)共享節(jié)點(diǎn)失效或者共享鏈路終端,就會(huì)導(dǎo)致多條使用共享節(jié)點(diǎn)的路徑失效,其容錯(cuò)能力就差很多,因此,節(jié)點(diǎn)不相交路由容錯(cuò)能力最強(qiáng)。
單路徑的穩(wěn)定性:路徑上各條鏈路失效的概率為P,整條路徑失效率為PLF,路徑穩(wěn)定概率為PLS,則路徑1失效率為PLF1,穩(wěn)定概率為PLS1。
PLF1=1-(1-P)n
PLS1=1-PLF1=(1-P)n
單一路徑時(shí),路徑的穩(wěn)定性與節(jié)點(diǎn)個(gè)數(shù)成指數(shù)關(guān)系,路徑上節(jié)點(diǎn)越多,穩(wěn)定性越差。
多路徑的穩(wěn)定性:當(dāng)擁有兩條路徑組成是,每條路徑上同樣有n個(gè)節(jié)點(diǎn),則其路徑2失效率為PLF2,穩(wěn)定概率為PLS2。
PLF2=[1-(1-P)n][1-(1-P)n]=1-2(1-P)n+(1-P)2n
PLS2=1-PLF2=2(1-P)n-(1-P)2n
當(dāng)兩條多路徑,每條路徑有n個(gè)節(jié)點(diǎn),m條共同鏈路,則此時(shí)路徑3失效率PLF3,穩(wěn)定概率為PLS3。
PLS3={1-[1-(1-P)n-m][1-(1-P)n-m]}(1-P)m=2(1-P)n-(1-P)2n-m
PLF3=1-PLS3=1-2(1-P)n+(1-P)2n-m
綜上,多路徑類型的公共鏈路越多,路徑失效概率越大,節(jié)點(diǎn)不相交的穩(wěn)定性最高。而且,在無線傳輸?shù)倪^程中,網(wǎng)絡(luò)中有信號干擾的問題,在共享節(jié)點(diǎn)處需要競爭信道,相交多路徑不僅存在共享節(jié)點(diǎn)還有共享鏈路,相交多路徑干擾最大,節(jié)點(diǎn)不相交多路徑間干擾最小。此外,在節(jié)點(diǎn)能量有限的情況下,可以將負(fù)載分配到不同的路徑上,減少端到端的時(shí)延。在節(jié)點(diǎn)不相交的情況下還能減少由公共節(jié)點(diǎn)導(dǎo)致的排隊(duì)時(shí)延。所以本發(fā)明的多路徑的策略選擇節(jié)點(diǎn)不相交多路徑。
路由發(fā)現(xiàn)階段,以源節(jié)點(diǎn)為起點(diǎn),首先通過泛洪RREQ包,通過不同的中間節(jié)點(diǎn)多次轉(zhuǎn)發(fā)到達(dá)目的節(jié)點(diǎn),目的節(jié)點(diǎn)維持多條到達(dá)源節(jié)點(diǎn)的路由,發(fā)現(xiàn)從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的所有不相交多路徑,存儲(chǔ)路徑信息在路由表中。
圖2和圖3分別是基于本發(fā)明的路由算法改進(jìn)的RREQ和RREP數(shù)據(jù)包報(bào)文格式。RREQ ID和RREP ID是個(gè)序列號,用它和發(fā)起節(jié)點(diǎn)的IP就可以唯一標(biāo)識(shí)一個(gè)路由請求信息。在RREQ包中目的節(jié)點(diǎn)序列號表示到目的節(jié)點(diǎn)的最新序列號,首跳表示存在的多路徑,存儲(chǔ)第一跳信息節(jié)點(diǎn)。
圖4為本發(fā)明的能量感知節(jié)點(diǎn)不相交多路徑路由請求過程:
1、當(dāng)節(jié)點(diǎn)要向另一節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),源節(jié)點(diǎn)首先查詢路由表,看有沒有到目的節(jié)點(diǎn)的活躍路由,如果有則按照路由表中權(quán)重最小的路由將數(shù)據(jù)發(fā)送給目的節(jié)點(diǎn);如果沒有,該節(jié)點(diǎn)將廣播RREQ信息包尋找目的節(jié)點(diǎn);
2、鄰居節(jié)點(diǎn)收到RREQ包,先通過Routing_list檢測發(fā)來的RREQ是否是新的。Routing_list包含泛洪ID,在網(wǎng)絡(luò)中唯一標(biāo)識(shí)RREQ包。中間節(jié)點(diǎn)收到的請求包已在Routing_list中,將認(rèn)為是重復(fù)的RREQ包,將丟棄停止廣播。否則將中間將創(chuàng)建新的Routing_list并更新路由表,繼續(xù)泛洪RREQ信息包。這是為了防止出現(xiàn)同一節(jié)點(diǎn)出現(xiàn)在兩條或多條路徑中;
3、之后節(jié)點(diǎn)會(huì)判斷本節(jié)點(diǎn)是否是目的節(jié)點(diǎn),如果不是的話,將繼續(xù)廣播RREQ信息包,如果該節(jié)點(diǎn)是目的節(jié)點(diǎn)的話,還要進(jìn)行判斷,如果在規(guī)定的時(shí)間內(nèi)接收到RREQ包,將產(chǎn)生路由回復(fù)RREP信息包,返回的路徑將按照RREQ包來的路徑單播回去,最后源節(jié)點(diǎn)收到RREP響應(yīng)包,丟棄跳數(shù)太多或者時(shí)延太長的路徑,留下相對最優(yōu)的節(jié)點(diǎn)不相交多路徑。
圖5為本發(fā)明的能量感知節(jié)點(diǎn)不相交多路徑路由響應(yīng)過程:
目的節(jié)點(diǎn)收到RREQ信息包,創(chuàng)建RREP信息包,并以單播形式沿著RREQ包路徑返回RREP包。當(dāng)源節(jié)點(diǎn)收到RREP包后,將會(huì)啟動(dòng)定時(shí)器,在收到第一個(gè)RREP信息包后,T時(shí)間內(nèi),源節(jié)點(diǎn)將收到多個(gè)RREP包,將其路徑信息添加到路由表中,如果未在T時(shí)間內(nèi)達(dá)到源節(jié)點(diǎn)的RREP包,將丟棄。這樣源節(jié)點(diǎn)就建立了到達(dá)目的節(jié)點(diǎn)的多條路徑,多路徑路由的過程完成。
S3:在數(shù)據(jù)傳輸階段,源節(jié)點(diǎn)到目的節(jié)點(diǎn)的多條路徑被存儲(chǔ)在路由表中,路徑能量等級分有五種,這些能量等級用來分配鏈路權(quán)重,通過篩選出能量較好的路徑進(jìn)行數(shù)據(jù)通信,在最小權(quán)重路徑發(fā)送數(shù)據(jù)包。
在移動(dòng)自組織網(wǎng)絡(luò)中,源節(jié)點(diǎn)能夠找到達(dá)到目的節(jié)點(diǎn)的多條路徑,這些路徑有些能保證數(shù)據(jù)包的端到端可靠傳輸,有些由于存在質(zhì)量太差,有嚴(yán)重的丟包現(xiàn)象。所以本發(fā)明通過節(jié)點(diǎn)的能量作為衡量路徑質(zhì)量的好壞,來選擇作為數(shù)據(jù)傳輸?shù)亩鄺l路徑。
在圖2中,RREQ包的報(bào)文格式中First Hop node Energy和Source node Energy分別代表當(dāng)前首跳的節(jié)點(diǎn)能量和存儲(chǔ)當(dāng)前源節(jié)點(diǎn)能量信息。在圖3中,RREP包的報(bào)文格式中Destination node Energy和First Hop node Energy分別代表當(dāng)前的目的節(jié)點(diǎn)的能量和存儲(chǔ)當(dāng)前的首跳節(jié)點(diǎn)能量信息。
圖6為本發(fā)明的所述路徑選擇簡單示意圖:
節(jié)點(diǎn)S與節(jié)點(diǎn)D通信,最初通過泛洪RREQ包發(fā)現(xiàn)多路徑。節(jié)點(diǎn)S發(fā)現(xiàn)有三條路徑到達(dá)目的節(jié)點(diǎn)(S-A-B-C-E-D),(S-G-H-I-J-D)和(S-K-L-P-M-D)路徑。在節(jié)點(diǎn)P收到L發(fā)來的RREQ包后,繼續(xù)收到節(jié)點(diǎn)O發(fā)來的RREQ,由于在Routing_list檢測到節(jié)點(diǎn)P發(fā)來的RREQ包,所以將舍棄節(jié)點(diǎn)O發(fā)來的RREQ包,形成節(jié)點(diǎn)不相交多路徑。
然而根據(jù)路由表中節(jié)點(diǎn)的信息,每條鏈路的能量等級為(100+70+60+70+80+90=470),(100+80+70+70+80+90=490)和(100+70+70+50+60+90=440)。源節(jié)點(diǎn)分別分配權(quán)重2,1和3分別代表這些路徑的能量等級?;诠?jié)點(diǎn)能量也就是路徑上節(jié)點(diǎn)平均能量分配路徑權(quán)重。
節(jié)點(diǎn)S將選擇最小權(quán)重路徑(S-G-H-I-J-D)發(fā)送數(shù)據(jù)包。在每次發(fā)送數(shù)據(jù)包之前計(jì)算當(dāng)前路徑的能量等級,再分配路徑權(quán)重,節(jié)點(diǎn)S每次發(fā)送數(shù)據(jù)包都是選擇的權(quán)重最低的路徑,當(dāng)路徑都失效時(shí),將重新路由發(fā)現(xiàn)過程。在節(jié)點(diǎn)能量有限的情況下,這樣可以確保多路徑上節(jié)點(diǎn)的能量被均勻地利用,防止節(jié)點(diǎn)過度消耗,延長網(wǎng)絡(luò)的生存周期。圖7為本發(fā)明的說明框圖。
最后說明的是,以上優(yōu)選實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管通過上述優(yōu)選實(shí)施例已經(jīng)對本發(fā)明進(jìn)行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對其作出各種各樣的改變,而不偏離本發(fā)明權(quán)利要求書所限定的范圍。