一種基于節(jié)點(diǎn)能耗和剩余能量的無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于節(jié)點(diǎn)能耗和剩余能量的無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃方法,針對(duì)待規(guī)劃節(jié)點(diǎn)和該可選節(jié)點(diǎn),本發(fā)明先計(jì)算可選節(jié)點(diǎn)的傳輸能耗、剩余能量、總傳輸能耗和總剩余能量;然后計(jì)算可選節(jié)點(diǎn)的傳輸能耗與該可選節(jié)點(diǎn)的剩余能量的比值以及總傳輸能耗與總剩余能量的比值,將這兩個(gè)比值加權(quán)求和得到評(píng)價(jià)參數(shù);最后對(duì)所有可選節(jié)點(diǎn)按評(píng)價(jià)參數(shù)排序,選擇評(píng)價(jià)參數(shù)最小的可選節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn)。本發(fā)明對(duì)能耗過(guò)快的節(jié)點(diǎn)起到了保護(hù),節(jié)省總體能耗,使節(jié)點(diǎn)能耗相對(duì)均衡,延長(zhǎng)了網(wǎng)絡(luò)生命周期,優(yōu)化利用網(wǎng)絡(luò)資源。同時(shí),本發(fā)明計(jì)算簡(jiǎn)單,路徑規(guī)劃速度快,資源消耗少。
【專(zhuān)利說(shuō)明】
一種基于節(jié)點(diǎn)能耗和剩余能量的無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃方法
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及無(wú)線傳感網(wǎng)絡(luò),特別涉及一種無(wú)線傳感網(wǎng)絡(luò)中,為延長(zhǎng)網(wǎng)絡(luò)的生命周期,綜合考慮單個(gè)節(jié)點(diǎn)的剩余能量和傳輸能耗,以及總剩余能量和總傳輸能耗優(yōu)化選擇中繼節(jié)點(diǎn)的傳輸路徑規(guī)劃方法。屬于無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用前景非常廣闊,能夠廣泛應(yīng)用于軍事,環(huán)境監(jiān)測(cè)與預(yù)報(bào),健康護(hù)理,智能家居,建筑物狀態(tài)與監(jiān)控,復(fù)雜機(jī)械監(jiān)控,城市交通,空間探索,以及機(jī)場(chǎng),大型工業(yè)園區(qū)的安全監(jiān)控等領(lǐng)域。隨著傳感器的深入研究與廣泛應(yīng)用,無(wú)線傳感器網(wǎng)絡(luò)將會(huì)應(yīng)用到人類(lèi)生活的各個(gè)領(lǐng)域。網(wǎng)絡(luò)拓?fù)淇刂剖菬o(wú)線傳感網(wǎng)絡(luò)關(guān)鍵技術(shù)之一,傳感器網(wǎng)絡(luò)拓?fù)淇刂颇壳爸饕芯康膯?wèn)題是在滿足網(wǎng)絡(luò)覆蓋度和連通度的前提下,通過(guò)功率控制和骨干網(wǎng)節(jié)點(diǎn)的選擇,剔除節(jié)點(diǎn)之間不必要的無(wú)線通信鏈路,生成一個(gè)高效的數(shù)據(jù)轉(zhuǎn)發(fā)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。拓?fù)淇刂瓶梢苑譃楣?jié)點(diǎn)功率控制和層次型拓?fù)浣Y(jié)構(gòu)形成兩個(gè)方面。層次型的拓?fù)淇刂评梅执貦C(jī)制,讓一些節(jié)點(diǎn)作為簇頭節(jié)點(diǎn),由簇頭節(jié)點(diǎn)完成數(shù)據(jù)處理并轉(zhuǎn)發(fā),形成骨干網(wǎng),其他非骨干網(wǎng)節(jié)點(diǎn)可以暫時(shí)關(guān)閉通信模塊,進(jìn)入休眠狀態(tài)以節(jié)省能量。
[0003]無(wú)線傳感網(wǎng)絡(luò)中,由于應(yīng)用場(chǎng)景限制,節(jié)點(diǎn)多由電池供電,能量無(wú)法補(bǔ)充;同時(shí),由于分布范圍廣,信息由傳感器傳到匯集節(jié)點(diǎn)一般通過(guò)多跳方式實(shí)現(xiàn)。通過(guò)選擇合適的路徑,可以使得網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)的能耗相對(duì)均衡,避免部分節(jié)點(diǎn)能耗快速耗盡的情況出現(xiàn),提高網(wǎng)絡(luò)的實(shí)用性。
[0004]在無(wú)線傳感網(wǎng)絡(luò)中,一個(gè)網(wǎng)絡(luò)好壞的評(píng)價(jià)機(jī)制包括網(wǎng)絡(luò)節(jié)負(fù)荷的均衡性、傳輸能耗、多跳傳輸?shù)钠骄鴶?shù)、網(wǎng)絡(luò)的生命周期等。目前提出的層次型拓?fù)淇刂朴蠺opDisc成簇算法,改進(jìn)的GAF虛擬地理網(wǎng)格分簇算法,以及LEACH和HEED等自組織成簇算法,這些算法均有各自的優(yōu)缺點(diǎn)。TopDisc成簇算法繼承圖論中的經(jīng)典算法,可以在節(jié)點(diǎn)密集的傳感器網(wǎng)絡(luò)中快速形成分簇結(jié)構(gòu),但是這種算法靈活性不強(qiáng),重復(fù)執(zhí)行算法的開(kāi)銷(xiāo)過(guò)大,且沒(méi)有考慮節(jié)點(diǎn)剩余能量的問(wèn)題。改進(jìn)的GAF虛擬地理網(wǎng)格分簇算法需要節(jié)點(diǎn)的精確位置信息。LEACH算法的簇頭是隨機(jī)產(chǎn)生的,不僅沒(méi)有考慮剩余能量,也無(wú)法保證簇頭節(jié)點(diǎn)均勻分布,造成某些區(qū)域簇頭節(jié)點(diǎn)密度過(guò)大。所以,無(wú)線傳感器分簇的關(guān)鍵問(wèn)題是如何制定算法策略,不僅考慮到節(jié)點(diǎn)負(fù)載均勻,傳輸能耗較少以延長(zhǎng)網(wǎng)絡(luò)生命周期,而且更加要提高運(yùn)行速度,滿足實(shí)時(shí)性要求。
【發(fā)明內(nèi)容】
[0005]針對(duì)現(xiàn)有無(wú)線傳感網(wǎng)絡(luò)在路徑規(guī)劃中存在拓?fù)淇刂旗`活性不強(qiáng),能量消耗不均勻,能量利用效率低,可擴(kuò)展性差或規(guī)劃速度慢等不足,本發(fā)明提出了一種新的無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃方法,本方法通過(guò)綜合考慮節(jié)點(diǎn)的傳輸能耗、剩余能量以及總能耗和總剩余能量,設(shè)計(jì)評(píng)價(jià)因素來(lái)為待規(guī)劃節(jié)點(diǎn)優(yōu)化選擇上行節(jié)點(diǎn),快速得到傳輸路徑,并使節(jié)點(diǎn)能耗相對(duì)均衡,有效延長(zhǎng)網(wǎng)絡(luò)生命周期,解決了一般路徑規(guī)劃算法計(jì)算復(fù)雜度高,需要進(jìn)行多次修改,處理速度慢等問(wèn)題。
[0006]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
一種基于節(jié)點(diǎn)能耗和剩余能量的無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃方法,所述無(wú)線傳感網(wǎng)絡(luò)包含若干個(gè)路由節(jié)點(diǎn)和一個(gè)匯集節(jié)點(diǎn);每個(gè)路由節(jié)點(diǎn)連接一個(gè)傳感器,可以將自身傳感器信息或來(lái)自于其他路由節(jié)點(diǎn)需要轉(zhuǎn)發(fā)的信息上傳到上行節(jié)點(diǎn),并最終傳輸?shù)絽R集節(jié)點(diǎn),由匯集節(jié)點(diǎn)傳輸給控制主機(jī);匯集節(jié)點(diǎn)不考慮能量消耗,路由節(jié)點(diǎn)攜帶的能量固定且不能補(bǔ)充,但傳輸能量可控,能根據(jù)傳輸距離調(diào)整發(fā)送功率;路徑規(guī)劃步驟如下,
(1)網(wǎng)絡(luò)參數(shù)初始化
a.根據(jù)路由節(jié)點(diǎn)和匯集節(jié)點(diǎn)的空間位置,計(jì)算匯集節(jié)點(diǎn)到各路由節(jié)點(diǎn)的距離并由小到大排序;
b.計(jì)算每個(gè)路由節(jié)點(diǎn)到其它所有路由節(jié)點(diǎn)距離并由小到大排序;
c.設(shè)定路由節(jié)點(diǎn)的最遠(yuǎn)傳輸距離,所有路由節(jié)點(diǎn)的最遠(yuǎn)傳輸距離相同;假設(shè)任一路由節(jié)點(diǎn)周?chē)辽儆幸粋€(gè)路由節(jié)點(diǎn),它們兩者的距離在最遠(yuǎn)傳輸距離內(nèi),即所有路由節(jié)點(diǎn)都不會(huì)成為孤立節(jié)點(diǎn);
(2)將到匯集節(jié)點(diǎn)距離最小的未規(guī)劃的路由節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)并為其規(guī)劃上行節(jié)點(diǎn),可以作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn)可能有多個(gè),這些上行節(jié)點(diǎn)稱(chēng)為可選節(jié)點(diǎn);
(3)若待規(guī)劃節(jié)點(diǎn)到匯集節(jié)點(diǎn)的距離沒(méi)有超過(guò)設(shè)定的最遠(yuǎn)傳輸距離,則將匯集節(jié)點(diǎn)指定為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),實(shí)現(xiàn)一步傳輸,該待規(guī)劃節(jié)點(diǎn)的路徑規(guī)劃完畢,為其作已規(guī)劃標(biāo)志,轉(zhuǎn)步驟(9)判斷并選擇下一個(gè)待規(guī)劃節(jié)點(diǎn);否則轉(zhuǎn)步驟(4)為其規(guī)劃上行節(jié)點(diǎn);
(4)在未考察作為待規(guī)劃節(jié)點(diǎn)可選節(jié)點(diǎn)的其它路由節(jié)點(diǎn)中,選擇到待規(guī)劃節(jié)點(diǎn)距離最小的路由節(jié)點(diǎn)作為可選節(jié)點(diǎn),若距離超過(guò)最遠(yuǎn)傳輸距離限制,則可選節(jié)點(diǎn)考察完畢,轉(zhuǎn)步驟(8),否則轉(zhuǎn)步驟(5);
(5)如果步驟(4)選出的該可選節(jié)點(diǎn)未置路徑已規(guī)劃標(biāo)志,說(shuō)明該可選節(jié)點(diǎn)本身未規(guī)劃路徑,不能作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),轉(zhuǎn)步驟(7),判斷是否還有可選的路由節(jié)點(diǎn);否則轉(zhuǎn)步驟(6)計(jì)算該可選節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)上行節(jié)點(diǎn)的評(píng)價(jià)參數(shù);
(6)針對(duì)待規(guī)劃節(jié)點(diǎn)和該可選節(jié)點(diǎn),計(jì)算該可選節(jié)點(diǎn)的傳輸能耗、該可選節(jié)點(diǎn)的剩余能量、總傳輸能耗和總剩余能量;然后計(jì)算該可選節(jié)點(diǎn)的傳輸能耗與該可選節(jié)點(diǎn)的剩余能量的比值以及總傳輸能耗與總剩余能量的比值,將這兩個(gè)比值加權(quán)求和得到評(píng)價(jià)參數(shù);
可選節(jié)點(diǎn)的傳輸能耗是指可選節(jié)點(diǎn)將信息傳遞到它的上行節(jié)點(diǎn)所消耗的能量;該可選節(jié)點(diǎn)初始能量減去以前傳輸過(guò)程消耗的能量即為該可選節(jié)點(diǎn)的剩余能量;總傳輸能耗為將傳感器信息從待規(guī)劃節(jié)點(diǎn)通過(guò)該可選節(jié)點(diǎn)一直傳輸?shù)絽R集節(jié)點(diǎn)時(shí)各節(jié)點(diǎn)所消耗的能量之和;總剩余能量是待規(guī)劃節(jié)點(diǎn)通過(guò)該可選節(jié)點(diǎn)一直傳輸?shù)絽R集節(jié)點(diǎn)的鏈路上不含匯集節(jié)點(diǎn)外的其他所有節(jié)點(diǎn)的剩余能量之和;
(7)判斷可以作為可選的路由節(jié)點(diǎn)是否選擇完畢,若還存在則轉(zhuǎn)到步驟(4)選擇下一個(gè)可選節(jié)點(diǎn),否則轉(zhuǎn)步驟(8);
(8 )對(duì)所有計(jì)算了評(píng)價(jià)參數(shù)的可選節(jié)點(diǎn)按評(píng)價(jià)參數(shù)排序,選擇評(píng)價(jià)參數(shù)最小的可選節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),并作已規(guī)劃標(biāo)志;
(9)判斷是否還存在未規(guī)劃路由節(jié)點(diǎn),若有則轉(zhuǎn)步驟(2),否則所有路由節(jié)點(diǎn)路徑規(guī)劃完畢,得到當(dāng)前傳輸周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),在該傳輸周期按該網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行信息傳輸即可;
在下一個(gè)傳輸周期,重復(fù)步驟(2)_(9),以得到下一個(gè)周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)并進(jìn)行信息傳輸;如此周而復(fù)始,得到每個(gè)傳輸周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),直到任一路由節(jié)點(diǎn)能量耗盡為止,此時(shí)視為網(wǎng)絡(luò)失效。
[0007]步驟(6)中,該可選節(jié)點(diǎn)的傳輸能耗與該可選節(jié)點(diǎn)的剩余能量的比值的權(quán)值與總傳輸能耗與總剩余能量的比值的權(quán)值均為0.5。
[0008]在每個(gè)傳輸周期,控制主機(jī)將得到的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和每個(gè)節(jié)點(diǎn)分配的時(shí)隙信息進(jìn)行封裝生成控制信息包,然后通過(guò)匯集節(jié)點(diǎn)采用廣播方式發(fā)送給每個(gè)路由節(jié)點(diǎn),同時(shí)啟動(dòng)該傳輸周期。
[0009]與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:
針對(duì)含一個(gè)匯集節(jié)點(diǎn)和若干路由節(jié)點(diǎn)的多跳無(wú)線傳感網(wǎng)絡(luò),本發(fā)明綜合考慮了節(jié)點(diǎn)傳輸距離與能耗、節(jié)點(diǎn)剩余能量、總能耗與總剩余能量,將它們的比值加權(quán)求和得到評(píng)價(jià)因素,為每個(gè)節(jié)點(diǎn)規(guī)劃傳輸路徑,客觀上對(duì)能耗過(guò)快的節(jié)點(diǎn)起到了保護(hù),又節(jié)省總體能耗,使節(jié)點(diǎn)能耗相對(duì)均衡,延長(zhǎng)了網(wǎng)絡(luò)生命周期,耗費(fèi)資源少,優(yōu)化利用網(wǎng)絡(luò)資源。同時(shí),本發(fā)明采用的方法計(jì)算簡(jiǎn)單,路徑規(guī)劃速度快,資源消耗少,并具有靈活的擴(kuò)展能力,實(shí)用性強(qiáng)。
【附圖說(shuō)明】
[0010]圖1-無(wú)線傳感網(wǎng)絡(luò)通信架構(gòu)圖。
[0011]圖2-本發(fā)明實(shí)施流程圖。
[0012]圖3-待規(guī)劃路徑的節(jié)點(diǎn)分布(圓形代表匯集節(jié)點(diǎn),星形代表路由節(jié)點(diǎn))。
[0013]圖4-路徑規(guī)劃結(jié)果1(節(jié)點(diǎn)剩余能量相同,最遠(yuǎn)距離為200m)。
[0014]圖5-路徑規(guī)劃結(jié)果Π(節(jié)點(diǎn)剩余能量相同,最遠(yuǎn)距離為250m)。
[0015]圖6-路徑規(guī)劃結(jié)果ΙΠ(節(jié)點(diǎn)剩余能量相同,最遠(yuǎn)距離為300m)。
【具體實(shí)施方式】
[0016]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
[0017]本發(fā)明提出的無(wú)線傳感網(wǎng)絡(luò)傳輸路徑規(guī)劃方法,其應(yīng)用場(chǎng)景的網(wǎng)絡(luò)拓?fù)淙鐖D1所示。網(wǎng)絡(luò)覆蓋范圍中有一個(gè)匯集節(jié)點(diǎn)和若干路由節(jié)點(diǎn),每個(gè)路由節(jié)點(diǎn)連接傳感器用于采集監(jiān)測(cè)信息,并將本地監(jiān)測(cè)信息和需要轉(zhuǎn)發(fā)的信息傳輸?shù)缴闲泄?jié)點(diǎn),匯集節(jié)點(diǎn)負(fù)責(zé)收集所有路由節(jié)點(diǎn)的傳感器信息并傳輸?shù)胶笈_(tái)PC機(jī)(控制主機(jī))。控制主機(jī)的軟件除處理監(jiān)測(cè)信息夕卜,還負(fù)責(zé)執(zhí)行本發(fā)明的路徑規(guī)劃算法,將得到的拓?fù)浣Y(jié)構(gòu)通過(guò)匯集節(jié)點(diǎn)以廣播方式傳輸?shù)礁髀酚晒?jié)點(diǎn)并存儲(chǔ),作為路由節(jié)點(diǎn)的數(shù)據(jù)傳輸依據(jù),降低了路由節(jié)點(diǎn)的處理負(fù)擔(dān)。
[0018]本發(fā)明無(wú)線傳感網(wǎng)絡(luò)遵從如下假設(shè):
匯集節(jié)點(diǎn)不考慮能量消耗,路由節(jié)點(diǎn)攜帶的能量固定且不能補(bǔ)充,但傳輸能量可控,能根據(jù)傳輸距離調(diào)整發(fā)送功率;
網(wǎng)絡(luò)運(yùn)行分成多個(gè)傳輸周期,一個(gè)周期內(nèi)所有節(jié)點(diǎn)發(fā)送一次數(shù)據(jù)包,任一路由節(jié)點(diǎn)能量耗盡不能傳輸數(shù)據(jù),將視為整個(gè)網(wǎng)絡(luò)失效;
所有節(jié)點(diǎn)位置不可移動(dòng),連接于匯集節(jié)點(diǎn)的控制主機(jī)了解所有節(jié)點(diǎn)的位置和初始能量,并能根據(jù)初始能量和各節(jié)點(diǎn)在數(shù)據(jù)傳輸過(guò)程中已消耗的能量計(jì)算剩余能量; 控制主機(jī)根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)的剩余能量、數(shù)據(jù)包傳輸?shù)哪芰肯摹⒕W(wǎng)絡(luò)均衡性為評(píng)價(jià)依據(jù),在每個(gè)周期動(dòng)態(tài)規(guī)劃網(wǎng)絡(luò),并為每個(gè)節(jié)點(diǎn)分配傳輸時(shí)隙。
[0019]在每個(gè)傳輸周期,控制主機(jī)封裝更改的路徑和時(shí)隙信息,生成控制信息包,通過(guò)匯集節(jié)點(diǎn)采用廣播方式發(fā)送給每個(gè)路由節(jié)點(diǎn),同時(shí)啟動(dòng)一個(gè)傳輸周期。
[0020]本發(fā)明的具體路徑規(guī)劃步驟如下,同時(shí)請(qǐng)參見(jiàn)圖2。
[0021](I)網(wǎng)絡(luò)參數(shù)初始化
a.根據(jù)路由節(jié)點(diǎn)和匯集節(jié)點(diǎn)的空間位置,計(jì)算匯集節(jié)點(diǎn)到各路由節(jié)點(diǎn)的距離并由小到大排序;
b.計(jì)算每個(gè)路由節(jié)點(diǎn)到其它所有路由節(jié)點(diǎn)距離并由小到大排序;
c.由于設(shè)備性能和電池功率限制等原因,本發(fā)明為所有路由節(jié)點(diǎn)設(shè)置最遠(yuǎn)傳輸距離,所有路由節(jié)點(diǎn)的最遠(yuǎn)傳輸距離相同,超過(guò)此距離限制則需要規(guī)劃轉(zhuǎn)發(fā)節(jié)點(diǎn)。假設(shè)任一路由節(jié)點(diǎn)周?chē)辽儆幸粋€(gè)路由節(jié)點(diǎn),它們兩者的距離在最遠(yuǎn)傳輸距離內(nèi),即所有路由節(jié)點(diǎn)都不會(huì)成為孤立節(jié)點(diǎn);
(2)將到匯集節(jié)點(diǎn)距離最小的未規(guī)劃的路由節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)并為其規(guī)劃上行節(jié)點(diǎn),可以作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn)可能有多個(gè),需要對(duì)其選優(yōu),這也是本發(fā)明的重點(diǎn),這些上行節(jié)點(diǎn)稱(chēng)為可選節(jié)點(diǎn);
(3)若待規(guī)劃節(jié)點(diǎn)到匯集節(jié)點(diǎn)的距離沒(méi)有超過(guò)設(shè)定的最遠(yuǎn)傳輸距離,則將匯集節(jié)點(diǎn)指定為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),實(shí)現(xiàn)一步傳輸,該待規(guī)劃節(jié)點(diǎn)的路徑規(guī)劃完畢,為其作已規(guī)劃標(biāo)志,轉(zhuǎn)步驟(9)判斷并選擇下一個(gè)待規(guī)劃節(jié)點(diǎn);若待規(guī)劃節(jié)點(diǎn)到匯集節(jié)點(diǎn)的距離超過(guò)設(shè)定的最遠(yuǎn)傳輸距離,則轉(zhuǎn)步驟(4)為其規(guī)劃上行節(jié)點(diǎn);
(4)在未考察作為待規(guī)劃節(jié)點(diǎn)可選節(jié)點(diǎn)的其它路由節(jié)點(diǎn)中,選擇到待規(guī)劃節(jié)點(diǎn)距離最小的路由節(jié)點(diǎn)作為可選節(jié)點(diǎn),若該可選節(jié)點(diǎn)到待規(guī)劃節(jié)點(diǎn)距離超過(guò)最遠(yuǎn)傳輸距離限制,則可選節(jié)點(diǎn)考察完畢,轉(zhuǎn)步驟(8),否則轉(zhuǎn)步驟(5);
(5)如果步驟(4)選出的該可選節(jié)點(diǎn)未置路徑已規(guī)劃標(biāo)志,說(shuō)明該可選節(jié)點(diǎn)本身未規(guī)劃路徑,不能作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),轉(zhuǎn)步驟(7),判斷是否還有可選的路由節(jié)點(diǎn);如果步驟(4)選出的該可選節(jié)點(diǎn)已置路徑已規(guī)劃標(biāo)志,則轉(zhuǎn)步驟(6)計(jì)算該可選節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)上行節(jié)點(diǎn)的評(píng)價(jià)參數(shù);
(6)針對(duì)待規(guī)劃節(jié)點(diǎn)和該可選節(jié)點(diǎn),計(jì)算該可選節(jié)點(diǎn)的傳輸能耗、該可選節(jié)點(diǎn)的剩余能量、總傳輸能耗和總剩余能量;然后計(jì)算該可選節(jié)點(diǎn)的傳輸能耗與該可選節(jié)點(diǎn)的剩余能量的比值以及總傳輸能耗與總剩余能量的比值,將這兩個(gè)比值加權(quán)求和得到評(píng)價(jià)參數(shù);實(shí)際處理時(shí),兩比值的權(quán)值均為0.5。
[0022]可選節(jié)點(diǎn)的傳輸能耗是指可選節(jié)點(diǎn)將信息傳遞到它的上行節(jié)點(diǎn)所消耗的能量;該可選節(jié)點(diǎn)初始能量減去以前傳輸過(guò)程消耗的能量即為該可選節(jié)點(diǎn)的剩余能量;總傳輸能耗為將傳感器信息從待規(guī)劃節(jié)點(diǎn)通過(guò)該可選節(jié)點(diǎn)(并按該可選節(jié)點(diǎn)規(guī)劃路徑)一直傳輸?shù)絽R集節(jié)點(diǎn)時(shí)各節(jié)點(diǎn)所消耗的能量之和;總剩余能量是待規(guī)劃節(jié)點(diǎn)通過(guò)該可選節(jié)點(diǎn)一直傳輸?shù)絽R集節(jié)點(diǎn)的鏈路上不含匯集節(jié)點(diǎn)外的其他所有節(jié)點(diǎn)的剩余能量之和;
(7)判斷可以作為可選的路由節(jié)點(diǎn)是否選擇完畢,若還存在則轉(zhuǎn)到步驟(4)選擇下一個(gè)可選節(jié)點(diǎn),否則轉(zhuǎn)步驟(8);
(8 )對(duì)所有計(jì)算了評(píng)價(jià)參數(shù)的可選節(jié)點(diǎn)按評(píng)價(jià)參數(shù)排序,選擇評(píng)價(jià)參數(shù)最小的可選節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),并作已規(guī)劃標(biāo)志;
(9)判斷是否還存在未規(guī)劃路由節(jié)點(diǎn),若有則轉(zhuǎn)步驟(2),否則所有路由節(jié)點(diǎn)路徑規(guī)劃完畢,得到當(dāng)前傳輸周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),在該傳輸周期按該網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行信息傳輸即可;
在下一個(gè)傳輸周期,重復(fù)步驟(2)_(9),以得到下一個(gè)周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)并進(jìn)行信息傳輸;如此周而復(fù)始,得到每個(gè)傳輸周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),直到任一路由節(jié)點(diǎn)能量耗盡為止,即網(wǎng)絡(luò)失效。
[0023]下面結(jié)合一個(gè)非限定性實(shí)例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。由于不同路由節(jié)點(diǎn)剩余能量在該實(shí)施例中不便于展示,本實(shí)施例假定所有路由節(jié)點(diǎn)剩余能量相同(相當(dāng)于初始時(shí)的路徑規(guī)劃)。
[0024](I)初始化
設(shè)置N=60為路由節(jié)點(diǎn)數(shù),分布1000mX 100m的二維空間(三維空間分布時(shí)改變距離計(jì)算方式,其余步驟不變),見(jiàn)圖3,節(jié)點(diǎn)編號(hào)為I到60。(1為傳輸?shù)淖钸h(yuǎn)距離限制,實(shí)施例中分別取200m,250m及300m。
[0025]匯集節(jié)點(diǎn)編號(hào)設(shè)為O,s為匯集節(jié)點(diǎn)坐標(biāo),維數(shù)IX 2( I行2列,下同),next記錄每個(gè)路由節(jié)點(diǎn)的上行節(jié)點(diǎn),維數(shù)I XN,初始時(shí)給-1,作為未被規(guī)劃的標(biāo)志。
[0026](2)計(jì)算幾個(gè)重要參數(shù)
dis_S_R,維數(shù)NX2,匯集節(jié)點(diǎn)到任意路由節(jié)點(diǎn)的距離,任意行兩個(gè)值分別表示路由節(jié)點(diǎn)號(hào)和距離,跟在那一行沒(méi)關(guān)系。計(jì)算好后將行按距離從小到大排序;
dis_R_R,維數(shù)N*N X 2,每個(gè)路由節(jié)點(diǎn)到其它路由節(jié)點(diǎn)的距離,其格式定義為:N* (1-1) +I行到N*(1-1)+N行為第i個(gè)節(jié)點(diǎn)到所有N個(gè)路由節(jié)點(diǎn)的距離,它們按距離從小到大排序,第I列為節(jié)點(diǎn)號(hào),第2列為距離,排第I位的一定是節(jié)點(diǎn)自身,距離為O;
E_r,維數(shù)NX2,表示節(jié)點(diǎn)的剩余能量,第一列為路由節(jié)點(diǎn)號(hào),第二列為剩余能量。
[0027](3)按到匯集節(jié)點(diǎn)距離從小到大取一個(gè)路由節(jié)點(diǎn),序號(hào)i從I到N,路由節(jié)點(diǎn)號(hào)為temp=dis_S_R(i,I)
(4)根據(jù)dis_S_R(i,2),若該節(jié)點(diǎn)到匯集節(jié)點(diǎn)距離超限:dis_S_R(i,2)>d,轉(zhuǎn)(6)
(5)將該節(jié)點(diǎn)直接連到匯集節(jié)點(diǎn):next(temp )=0該節(jié)點(diǎn)的下一節(jié)點(diǎn)是匯集節(jié)點(diǎn)O,dis_R_track(temp)=dis_S_R( i ,2)該節(jié)點(diǎn)的真實(shí)路徑為它到匯集節(jié)點(diǎn)的距離,轉(zhuǎn)到(12)
(6)根據(jù)(^_1?_1?,由與temp的距離由小到大取節(jié)點(diǎn)(序號(hào)j從2:N,序號(hào)為I的節(jié)點(diǎn)是temp自己,不考慮),序號(hào)為j時(shí)取得的節(jié)點(diǎn)號(hào)為templ=dis_R_R(N*(temp-l)+j,I)
(7)若dis_R_R(N*(temp_l)+j,2)>d,表示temp到tempi的距離超限,轉(zhuǎn)(II)
(8 )根據(jù)next,若temp I節(jié)點(diǎn)沒(méi)有下一節(jié)點(diǎn),轉(zhuǎn)(1 )
(9)該節(jié)點(diǎn)為可選節(jié)點(diǎn),計(jì)算當(dāng)選此節(jié)點(diǎn)tempi作為節(jié)點(diǎn)temp的下一節(jié)點(diǎn)時(shí),以下的幾個(gè)值并保存:
temp I為temp轉(zhuǎn)發(fā)信息的能耗E (temp I),能耗計(jì)算方法由其他文獻(xiàn)中的標(biāo)準(zhǔn)算法給出,不是本發(fā)明的內(nèi)容;
temp的信息通過(guò)temp I傳輸?shù)絽R集節(jié)點(diǎn)的總能耗,記為E_t (temp I),其值為temp到t emp I的能耗+ t emp I到匯集節(jié)點(diǎn)的能耗。
[0028]除了待規(guī)劃節(jié)點(diǎn)temp以及可選節(jié)點(diǎn)tempi,再根據(jù)next可以找到從tempi開(kāi)始直到匯集節(jié)點(diǎn)的所有節(jié)點(diǎn),得到鏈路上所有節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)(不含匯集節(jié)點(diǎn)),將E_r中以這些節(jié)點(diǎn)號(hào)為行的全部第二列求和得到該路徑的總剩余能量,記為E_r_t。
[0029]計(jì)算總能耗和總剩余能量的比值a=E_t(templ)/E_r_t,計(jì)算節(jié)點(diǎn)templ的能耗與剩余能量的比值b=E(templ)/E_r(templ,2),引入加權(quán)因子α(0〈α〈1),計(jì)算評(píng)價(jià)因子為a*a+(1-<1)*13,實(shí)驗(yàn)仿真中(1取為0.5;
(10)為temp規(guī)劃可選的路由節(jié)點(diǎn)尚未處理完畢,轉(zhuǎn)(6)
(11)從所有候選節(jié)點(diǎn)中選擇評(píng)價(jià)因子最小的節(jié)點(diǎn)作為為temp規(guī)劃的上行節(jié)點(diǎn),修改:next(temp)
(12)待規(guī)劃的路由節(jié)點(diǎn)尚未處理完畢,轉(zhuǎn)(3)
(13)全部節(jié)點(diǎn)規(guī)劃完畢,得到網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
[0030]圖4、5、6為路徑規(guī)劃結(jié)果,分別對(duì)應(yīng)了不同的最遠(yuǎn)傳輸距離限制的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,圖4對(duì)應(yīng)最遠(yuǎn)傳輸距離為200m;圖5對(duì)應(yīng)最遠(yuǎn)傳輸距離為250m;圖6對(duì)應(yīng)最遠(yuǎn)傳輸距離為300m。由于路徑規(guī)劃是按照距離匯集節(jié)點(diǎn)由小到大進(jìn)行,所以使所有節(jié)點(diǎn)的信息總體上朝著匯集節(jié)點(diǎn)的方向傳輸,提高了傳輸效率,降低了能耗。
[0031 ] 實(shí)施例還對(duì)執(zhí)行速度進(jìn)行了測(cè)試,在Pentium 3.2GHz計(jì)算機(jī)上,用VC++編程,由于初始化和距離參數(shù)都只需要一次計(jì)算,測(cè)試中從剩余能量計(jì)算開(kāi)始到路徑規(guī)劃結(jié)束進(jìn)行循環(huán)測(cè)試,每個(gè)周期平均耗時(shí)僅為42mS,具有良好的速度性能。
[0032]本發(fā)明提出的基于節(jié)點(diǎn)傳輸能耗和剩余能量的路徑規(guī)劃方法,不僅操作簡(jiǎn)單,容易實(shí)現(xiàn),而且避免了大多數(shù)算法要進(jìn)行多次修改的弊端,大大提升了路徑規(guī)劃的速度。本發(fā)明以延長(zhǎng)網(wǎng)絡(luò)生命周期為出發(fā)點(diǎn),建立了路由節(jié)點(diǎn)選擇的評(píng)價(jià)因素,在網(wǎng)絡(luò)節(jié)點(diǎn)負(fù)荷的均衡性、能量消耗比例,多跳傳輸?shù)钠骄鴶?shù)等方面綜合考慮,實(shí)驗(yàn)表明其性能良好,運(yùn)行速度快,可廣泛應(yīng)用于智能電網(wǎng)的監(jiān)測(cè)信息傳輸,智能小區(qū),環(huán)境監(jiān)測(cè),森林火警和洪災(zāi)預(yù)警等防災(zāi)減災(zāi)監(jiān)測(cè),危險(xiǎn)工作環(huán)境的探測(cè)工作領(lǐng)域。
[0033]最后需要說(shuō)明的是,本發(fā)明的上述實(shí)例僅僅是為說(shuō)明本發(fā)明所作的舉例,而并非是對(duì)本發(fā)明的實(shí)施方式的限定。盡管
【申請(qǐng)人】參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,對(duì)于所屬領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在上述說(shuō)明的基礎(chǔ)上還可以做出其他不同形式的變化和變動(dòng)。這里無(wú)法對(duì)所有的實(shí)施方式予以窮舉。凡是屬于本發(fā)明的技術(shù)方案所引申出的顯而易見(jiàn)的變化或變動(dòng)仍處于本發(fā)明的保護(hù)范圍之列。
【主權(quán)項(xiàng)】
1.一種基于節(jié)點(diǎn)能耗和剩余能量的無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃方法,所述無(wú)線傳感網(wǎng)絡(luò)包含若干個(gè)路由節(jié)點(diǎn)和一個(gè)匯集節(jié)點(diǎn);每個(gè)路由節(jié)點(diǎn)連接一個(gè)傳感器,可以將自身傳感器信息或來(lái)自于其他路由節(jié)點(diǎn)需要轉(zhuǎn)發(fā)的信息上傳到上行節(jié)點(diǎn),并最終傳輸?shù)絽R集節(jié)點(diǎn),由匯集節(jié)點(diǎn)傳輸給控制主機(jī);匯集節(jié)點(diǎn)不考慮能量消耗,路由節(jié)點(diǎn)攜帶的能量固定且不能補(bǔ)充,但傳輸能量可控,能根據(jù)傳輸距離調(diào)整發(fā)送功率;其特征在于,路徑規(guī)劃步驟如下, (1)網(wǎng)絡(luò)參數(shù)初始化 a.根據(jù)路由節(jié)點(diǎn)和匯集節(jié)點(diǎn)的空間位置,計(jì)算匯集節(jié)點(diǎn)到各路由節(jié)點(diǎn)的距離并由小到大排序; b.計(jì)算每個(gè)路由節(jié)點(diǎn)到其它所有路由節(jié)點(diǎn)距離并由小到大排序; c.設(shè)定路由節(jié)點(diǎn)的最遠(yuǎn)傳輸距離,所有路由節(jié)點(diǎn)的最遠(yuǎn)傳輸距離相同;假設(shè)任一路由節(jié)點(diǎn)周?chē)辽儆幸粋€(gè)路由節(jié)點(diǎn),它們兩者的距離在最遠(yuǎn)傳輸距離內(nèi),即所有路由節(jié)點(diǎn)都不會(huì)成為孤立節(jié)點(diǎn); (2)將到匯集節(jié)點(diǎn)距離最小的未規(guī)劃的路由節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)并為其規(guī)劃上行節(jié)點(diǎn),可以作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn)可能有多個(gè),這些上行節(jié)點(diǎn)稱(chēng)為可選節(jié)點(diǎn); (3)若待規(guī)劃節(jié)點(diǎn)到匯集節(jié)點(diǎn)的距離沒(méi)有超過(guò)設(shè)定的最遠(yuǎn)傳輸距離,則將匯集節(jié)點(diǎn)指定為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),實(shí)現(xiàn)一步傳輸,該待規(guī)劃節(jié)點(diǎn)的路徑規(guī)劃完畢,為其作已規(guī)劃標(biāo)志,轉(zhuǎn)步驟(9)判斷并選擇下一個(gè)待規(guī)劃節(jié)點(diǎn);否則轉(zhuǎn)步驟(4)為其規(guī)劃上行節(jié)點(diǎn); (4)在未考察作為待規(guī)劃節(jié)點(diǎn)可選節(jié)點(diǎn)的其它路由節(jié)點(diǎn)中,選擇到待規(guī)劃節(jié)點(diǎn)距離最小的路由節(jié)點(diǎn)作為可選節(jié)點(diǎn),若距離超過(guò)最遠(yuǎn)傳輸距離限制,則可選節(jié)點(diǎn)考察完畢,轉(zhuǎn)步驟(8),否則轉(zhuǎn)步驟(5); (5)如果步驟(4)選出的該可選節(jié)點(diǎn)未置路徑已規(guī)劃標(biāo)志,說(shuō)明該可選節(jié)點(diǎn)本身未規(guī)劃路徑,不能作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),轉(zhuǎn)步驟(7),判斷是否還有可選的路由節(jié)點(diǎn);否則轉(zhuǎn)步驟(6)計(jì)算該可選節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)上行節(jié)點(diǎn)的評(píng)價(jià)參數(shù); (6)針對(duì)待規(guī)劃節(jié)點(diǎn)和該可選節(jié)點(diǎn),計(jì)算該可選節(jié)點(diǎn)的傳輸能耗、該可選節(jié)點(diǎn)的剩余能量、總傳輸能耗和總剩余能量;然后計(jì)算該可選節(jié)點(diǎn)的傳輸能耗與該可選節(jié)點(diǎn)的剩余能量的比值以及總傳輸能耗與總剩余能量的比值,將這兩個(gè)比值加權(quán)求和得到評(píng)價(jià)參數(shù); 可選節(jié)點(diǎn)的傳輸能耗是指可選節(jié)點(diǎn)將信息傳遞到它的上行節(jié)點(diǎn)所消耗的能量;該可選節(jié)點(diǎn)初始能量減去以前傳輸過(guò)程消耗的能量即為該可選節(jié)點(diǎn)的剩余能量;總傳輸能耗為將傳感器信息從待規(guī)劃節(jié)點(diǎn)通過(guò)該可選節(jié)點(diǎn)一直傳輸?shù)絽R集節(jié)點(diǎn)時(shí)各節(jié)點(diǎn)所消耗的能量之和;總剩余能量是待規(guī)劃節(jié)點(diǎn)通過(guò)該可選節(jié)點(diǎn)一直傳輸?shù)絽R集節(jié)點(diǎn)的鏈路上不含匯集節(jié)點(diǎn)外的其他所有節(jié)點(diǎn)的剩余能量之和; (7)判斷可以作為可選的路由節(jié)點(diǎn)是否選擇完畢,若還存在則轉(zhuǎn)到步驟(4)選擇下一個(gè)可選節(jié)點(diǎn),否則轉(zhuǎn)步驟(8); (8 )對(duì)所有計(jì)算了評(píng)價(jià)參數(shù)的可選節(jié)點(diǎn)按評(píng)價(jià)參數(shù)排序,選擇評(píng)價(jià)參數(shù)最小的可選節(jié)點(diǎn)作為待規(guī)劃節(jié)點(diǎn)的上行節(jié)點(diǎn),并作已規(guī)劃標(biāo)志; (9)判斷是否還存在未規(guī)劃路由節(jié)點(diǎn),若有則轉(zhuǎn)步驟(2),否則所有路由節(jié)點(diǎn)路徑規(guī)劃完畢,得到當(dāng)前傳輸周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),在該傳輸周期按該網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)進(jìn)行信息傳輸即可; 在下一個(gè)傳輸周期,重復(fù)步驟(2)_(9),以得到下一個(gè)周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)并進(jìn)行信息傳輸;如此周而復(fù)始,得到每個(gè)傳輸周期的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),直到任一路由節(jié)點(diǎn)能量耗盡為止,此時(shí)視為網(wǎng)絡(luò)失效。2.根據(jù)權(quán)利要求1所述的基于節(jié)點(diǎn)能耗和剩余能量的無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃方法,其特征在于,步驟(6)中,該可選節(jié)點(diǎn)的傳輸能耗與該可選節(jié)點(diǎn)的剩余能量的比值的權(quán)值與總傳輸能耗與總剩余能量的比值的權(quán)值均為0.5。3.根據(jù)權(quán)利要求1所述的基于節(jié)點(diǎn)能耗和剩余能量的無(wú)線傳感網(wǎng)絡(luò)路徑規(guī)劃方法,其特征在于,在每個(gè)傳輸周期,控制主機(jī)將得到的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)和每個(gè)節(jié)點(diǎn)分配的時(shí)隙信息進(jìn)行封裝生成控制信息包,然后通過(guò)匯集節(jié)點(diǎn)采用廣播方式發(fā)送給每個(gè)路由節(jié)點(diǎn),同時(shí)啟動(dòng)該傳輸周期。
【文檔編號(hào)】H04W52/02GK106028417SQ201610369344
【公開(kāi)日】2016年10月12日
【申請(qǐng)日】2016年5月26日
【發(fā)明人】毛玉星, 趙慧源, 成濤, 嚴(yán)冬梅, 周晉濤
【申請(qǐng)人】重慶大學(xué)