專利名稱::基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種用于無線傳感器網(wǎng)絡(luò)負(fù)載均衡方法,屬于無線傳感器網(wǎng)絡(luò)
技術(shù)領(lǐng)域:
。
背景技術(shù):
:無線傳感器網(wǎng)絡(luò)是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過無線通信方式組成的一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng),能廣泛應(yīng)用于軍事、環(huán)境監(jiān)測(cè)與預(yù)報(bào)、醫(yī)療護(hù)理、建筑物狀態(tài)監(jiān)控、智能家居等領(lǐng)域。無線傳感器網(wǎng)絡(luò)研究的關(guān)鍵技術(shù)包括網(wǎng)絡(luò)拓?fù)淇刂?、路由技術(shù)、節(jié)點(diǎn)定位技術(shù)、時(shí)間同步、數(shù)據(jù)融合與管理、能源管理方案、網(wǎng)絡(luò)安全等。本發(fā)明主要涉及的是無線傳感器網(wǎng)絡(luò)的路由技術(shù)和能源管理兩個(gè)方面。無線傳感器網(wǎng)絡(luò)本身的特點(diǎn)決定了節(jié)點(diǎn)的能量有限,且不能利用有線鏈路持續(xù)供電,因此如何延長(zhǎng)整個(gè)網(wǎng)絡(luò)的生存期限成為傳感器網(wǎng)絡(luò)協(xié)議設(shè)計(jì)的重點(diǎn),需要考慮的主要因素包括節(jié)點(diǎn)的能源消耗以及網(wǎng)絡(luò)負(fù)載的均衡問題。高效利用網(wǎng)絡(luò)能量是傳感器網(wǎng)絡(luò)路由協(xié)議的一個(gè)顯著特征,早期提出的一些傳感器網(wǎng)絡(luò)能量感知路由協(xié)議往往僅考慮了能量因素,提出最大可用能量路由、最小能量消耗路由、最大最小可用能量路由等,但都需要知道全網(wǎng)拓?fù)湫畔?。RahulC.Shah等人(參見ShahRC,RabaeyJM.Energyawareroutingforlowenergyadhocsensornetworks.WirelessCommunicationsandNetworkingConference(WCNC'02),IEEE,Volume1,17-21March,2002)提出的能量多路徑路由機(jī)制在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間建立多條路徑,根據(jù)路徑上節(jié)點(diǎn)的通信能量消耗以及節(jié)點(diǎn)的剩余能量情況,為每條路徑賦予一定的選擇概率,根據(jù)概率在路由表中選擇一個(gè)節(jié)點(diǎn)作為路由的下一跳節(jié)點(diǎn),但頻繁使用同一條路徑傳輸數(shù)據(jù)就會(huì)造成該路徑上的節(jié)點(diǎn)因能量消耗過快而過早失效,從而使整個(gè)網(wǎng)絡(luò)分割成互不相連的孤立部分,減少了整個(gè)網(wǎng)絡(luò)的生存期。
發(fā)明內(nèi)容本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提供一種基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法,該方法能夠平衡無線傳感器網(wǎng)絡(luò)的負(fù)載,使網(wǎng)絡(luò)能量在所有節(jié)點(diǎn)間均衡地消耗,延長(zhǎng)了整個(gè)網(wǎng)絡(luò)的生存周期。本發(fā)明采用的技術(shù)方案為一種基于節(jié)點(diǎn)能量信息的無線傳感器網(wǎng)絡(luò)負(fù)載平衡方法,包括能源報(bào)告消息轉(zhuǎn)發(fā)和負(fù)載匯聚過程,其具體步驟如下-G)終端用戶通過無線鏈路控制匯聚節(jié)點(diǎn)Sink發(fā)起能源報(bào)告消息的動(dòng)作,匯聚節(jié)點(diǎn)Sink向全網(wǎng)廣播能源報(bào)告消息,所述的能源報(bào)告消息包括轉(zhuǎn)發(fā)節(jié)點(diǎn)的編號(hào)、消息類型、剩余能量、能耗比、跳數(shù)、時(shí)間戳字段;(2)網(wǎng)絡(luò)中的其它節(jié)點(diǎn)收到匯聚節(jié)點(diǎn)Sink發(fā)來的能源報(bào)告消息后,更新和維護(hù)本地負(fù)載轉(zhuǎn)發(fā)表,所述的本地負(fù)載轉(zhuǎn)發(fā)表中的每個(gè)轉(zhuǎn)發(fā)表項(xiàng)是由轉(zhuǎn)發(fā)節(jié)點(diǎn)的編號(hào)、消息類型、剩余能量、能耗比、跳數(shù)、時(shí)間戳字段組成;(3)根據(jù)本地負(fù)載轉(zhuǎn)發(fā)表表項(xiàng)中的剩余能量和能耗比計(jì)算各轉(zhuǎn)發(fā)表項(xiàng)中的各轉(zhuǎn)發(fā)節(jié)點(diǎn)所應(yīng)承擔(dān)的負(fù)載分配比例;(4)根據(jù)步驟(3)中計(jì)算的負(fù)載分配比例,將本地節(jié)點(diǎn)的負(fù)載按照負(fù)載分配比例分別傳送到對(duì)應(yīng)的上層各節(jié)點(diǎn)中,并計(jì)算各節(jié)點(diǎn)需要承擔(dān)的負(fù)載;(5)按照上述步驟(2)、(3)、(4)完成本地節(jié)點(diǎn)負(fù)載的分配后,需要根據(jù)能源報(bào)告消息中的跳數(shù)字段決定是否轉(zhuǎn)發(fā)該消息,只有當(dāng)本地節(jié)點(diǎn)相對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)距離匯聚節(jié)點(diǎn)更遠(yuǎn)或者和轉(zhuǎn)發(fā)節(jié)點(diǎn)互為同層兄弟節(jié)點(diǎn)時(shí),才轉(zhuǎn)發(fā)該消息;(6)若本地節(jié)點(diǎn)決定轉(zhuǎn)發(fā)能源報(bào)告消息,首先需要用自身能源信息修改消息中的各字段值,然后向除了轉(zhuǎn)發(fā)節(jié)點(diǎn)外的所有下層鄰居節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)轉(zhuǎn)發(fā)該消息;(7)節(jié)點(diǎn)可能會(huì)收到多個(gè)鄰居節(jié)點(diǎn)發(fā)來的能源報(bào)告消息,當(dāng)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都收到能源報(bào)告消息或一次能源報(bào)告周期結(jié)束時(shí),停止此消息的轉(zhuǎn)發(fā);(8)單個(gè)周期內(nèi)能源報(bào)告消息轉(zhuǎn)發(fā)完畢后,反向使用能源報(bào)告消息的傳播路徑逐跳地建立從傳感節(jié)點(diǎn)到匯聚節(jié)點(diǎn)Sink的負(fù)載匯聚路由,完成一個(gè)周期內(nèi)傳感數(shù)據(jù)的收集;(9)匯聚節(jié)點(diǎn)Sink周期性地發(fā)起能源報(bào)告消息,所有節(jié)點(diǎn)重復(fù)執(zhí)行上述步驟(2)—步驟(7),從而完成傳感數(shù)據(jù)的分配及其匯聚的過程。所述步驟(2)中建立或更新本地負(fù)載轉(zhuǎn)發(fā)表,實(shí)現(xiàn)維護(hù)本地負(fù)載轉(zhuǎn)發(fā)表的過程為(2.1)轉(zhuǎn)發(fā)表的建立若本地轉(zhuǎn)發(fā)表中無能源報(bào)告消息中轉(zhuǎn)發(fā)節(jié)點(diǎn)對(duì)應(yīng)的表項(xiàng),需要在轉(zhuǎn)發(fā)表的末尾新增加一個(gè)條目,并將轉(zhuǎn)發(fā)節(jié)點(diǎn)的編號(hào)、消息類型、剩余能量、能耗比、跳數(shù)、時(shí)間戳填入新表項(xiàng)的對(duì)應(yīng)字段;(2.2)轉(zhuǎn)發(fā)表的更新若本地轉(zhuǎn)發(fā)表中有能源報(bào)告消息中轉(zhuǎn)發(fā)節(jié)點(diǎn)對(duì)應(yīng)的表項(xiàng),且對(duì)應(yīng)表項(xiàng)中的某些字段值發(fā)生了改變,需要將此表項(xiàng)更新;(2.3)轉(zhuǎn)發(fā)表的刪除若由于無線鏈路失效或超時(shí)原因?qū)е罗D(zhuǎn)發(fā)表中的此表項(xiàng)不再可用,需要將此表項(xiàng)從轉(zhuǎn)發(fā)表中刪除。所述步驟(3)中負(fù)載分配比例的計(jì)算公式為其中E^^-i的Rwi。-i分別為剩余能量和能耗比,節(jié)點(diǎn)的能耗比R^"i。-i通過計(jì)算該節(jié)點(diǎn)已消耗的能量和已發(fā)送的數(shù)據(jù)量(包括轉(zhuǎn)發(fā))之間的比值得到,W,A2分別為剩余能量和能耗比對(duì)應(yīng)的系數(shù),可根據(jù)實(shí)際應(yīng)用動(dòng)態(tài)調(diào)整,/的取值范圍為0《/《A^^,,iV"/^,為轉(zhuǎn)發(fā)表中的表項(xiàng)數(shù)。所述步驟(4)中各節(jié)點(diǎn)需要承擔(dān)的負(fù)載的計(jì)算公式如下7>我*7W#c,oto,其中W為步驟(3)中計(jì)算得到的負(fù)載分配比例,rmj^。,。,為本地節(jié)點(diǎn)欲發(fā)送到上層節(jié)點(diǎn)的總的負(fù)載量。所述步驟(8)負(fù)載數(shù)據(jù)匯聚的過程步驟如下(8.1)若節(jié)點(diǎn)是位于網(wǎng)絡(luò)邊緣的傳感節(jié)點(diǎn),查找本地負(fù)載轉(zhuǎn)發(fā)表,將其負(fù)載量按照權(quán)利要求l步驟(3)和步驟(4)描述的方法分配到多個(gè)上層節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)中;(8.2)若節(jié)點(diǎn)是位于網(wǎng)絡(luò)內(nèi)部的傳感節(jié)點(diǎn),首先計(jì)算來自下層鄰居節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)的負(fù)載,得到本地節(jié)點(diǎn)的負(fù)載總量,然后查找本地負(fù)載轉(zhuǎn)發(fā)表并按照步驟(3)和步驟(4)描的方法將負(fù)載數(shù)據(jù)分配到多個(gè)上層節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)中;(8.3)重復(fù)執(zhí)行步驟(8.1)或步驟(8.2)直到所有數(shù)據(jù)匯聚到Sink節(jié)點(diǎn)和終端主機(jī)。本發(fā)明的原理在無線傳感器網(wǎng)絡(luò)中,利用傳感器節(jié)點(diǎn)的能量信息優(yōu)化網(wǎng)絡(luò)路由協(xié)議進(jìn)而達(dá)到網(wǎng)絡(luò)負(fù)載平衡。Sink節(jié)點(diǎn)(匯聚節(jié)點(diǎn))周期性地發(fā)送能源報(bào)告消息,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都維護(hù)一張本地負(fù)載轉(zhuǎn)發(fā)表,節(jié)點(diǎn)收到能源報(bào)告消息后,根據(jù)消息中的某些字段建立或更新本地負(fù)載轉(zhuǎn)發(fā)表表項(xiàng)并計(jì)算各轉(zhuǎn)發(fā)表項(xiàng)中的轉(zhuǎn)發(fā)節(jié)點(diǎn)所應(yīng)承擔(dān)的負(fù)載分配比例;根據(jù)節(jié)點(diǎn)間的鄰接關(guān)系決定是否轉(zhuǎn)發(fā)能源報(bào)告消息,若轉(zhuǎn)發(fā)則將自己的剩余能量、能耗比等信息填入此報(bào)文并通過無線多跳的方式向其余鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)。當(dāng)網(wǎng)絡(luò)中所有節(jié)點(diǎn)都收到此報(bào)文后,開始數(shù)據(jù)收集過程。位于網(wǎng)絡(luò)邊緣的感知節(jié)點(diǎn)按照一定的分配比例將自己的負(fù)載數(shù)據(jù)分配到多個(gè)上層鄰居節(jié)點(diǎn),網(wǎng)絡(luò)內(nèi)部節(jié)點(diǎn)首先計(jì)算自身的負(fù)載(包括轉(zhuǎn)發(fā)負(fù)載量)大小,然后按照本地負(fù)載轉(zhuǎn)發(fā)表中的負(fù)載分配比例將數(shù)據(jù)轉(zhuǎn)發(fā)到多個(gè)上層鄰居節(jié)點(diǎn),重復(fù)此過程直到所有數(shù)據(jù)匯聚到Sink節(jié)點(diǎn)。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于(1)該發(fā)明提出的基于傳感器節(jié)點(diǎn)能量信息的網(wǎng)絡(luò)負(fù)載平衡方法,不是建立唯一的一條到匯聚節(jié)點(diǎn)的路徑,而是同時(shí)建立多條路徑,可以使節(jié)點(diǎn)間均衡地消耗能量,且即使在某條鏈路失效的情況下仍能有效傳輸,延長(zhǎng)了網(wǎng)絡(luò)的生存期限;同時(shí)本發(fā)明考慮了網(wǎng)絡(luò)中節(jié)點(diǎn)處理能力的差異,采用了分層的體系結(jié)構(gòu),因此適用于異構(gòu)類型的大規(guī)模無線傳感器網(wǎng)絡(luò)。(2)本發(fā)明利用了節(jié)點(diǎn)的剩余能量信息和節(jié)點(diǎn)處理能力的差異,因此適用于異構(gòu)類型的傳感器網(wǎng)絡(luò)。節(jié)點(diǎn)在數(shù)據(jù)收集過程中,不再是從多個(gè)鄰居節(jié)點(diǎn)中選擇一個(gè)作為其轉(zhuǎn)發(fā)節(jié)點(diǎn),而是按照鄰居節(jié)點(diǎn)的可用資源情況和能力大小分配負(fù)載,同一個(gè)節(jié)點(diǎn)可以有多個(gè)鄰居節(jié)點(diǎn)為其轉(zhuǎn)發(fā)數(shù)據(jù),位于網(wǎng)絡(luò)內(nèi)部的節(jié)點(diǎn)也可能同時(shí)為多個(gè)鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù),這就使得所有鄰居節(jié)點(diǎn)的能量均勻地消耗。本發(fā)明還采用了多層的思想,因此具有很強(qiáng)的可擴(kuò)展性并可應(yīng)用于大規(guī)模的無線傳感器網(wǎng)絡(luò)。圖1為本發(fā)明的無線傳感器網(wǎng)絡(luò)拓?fù)鋱D。圖2為本發(fā)明的節(jié)點(diǎn)能源報(bào)告消息流程圖;圖3為本發(fā)明的網(wǎng)絡(luò)負(fù)載匯聚流程圖。具體實(shí)施例方式本發(fā)明在具體實(shí)施前,需要有兩個(gè)前提其一,無線傳感器網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都能計(jì)算自己的剩余能量和已消耗能量。節(jié)點(diǎn)的能量消耗模型主要包括無線收發(fā)器消耗的能量和功率放大器消耗的能量,可用下式表示&(、d)=(A)+(*,=*A:+f。mp*"W其中,£&^^)和£&(0分別是節(jié)點(diǎn)傳輸4位的數(shù)據(jù)所消耗的發(fā)送能量和接收能量,五^&(W和五^,^,力分別是節(jié)點(diǎn)上無線收發(fā)器和功率放大器消耗的能量,"是發(fā)送節(jié)點(diǎn)距離接收節(jié)點(diǎn)的距離,五&和s。,均是和硬件相關(guān)的參數(shù),實(shí)際使用時(shí)可當(dāng)作常數(shù)處理并根據(jù)實(shí)際情況適當(dāng)調(diào)整,二者的參考值為^e^50nJ/M,e。,-100^/M/m2??刹捎蒙鲜龉接?jì)算節(jié)點(diǎn)傳送一定量的數(shù)據(jù)總共消耗的能量,根據(jù)節(jié)點(diǎn)初始時(shí)的總能量和已消耗能量計(jì)算節(jié)點(diǎn)的剩余能量。其二,每個(gè)節(jié)點(diǎn)都需要累計(jì)自己已傳輸?shù)臄?shù)據(jù)總量,可以通過在每個(gè)節(jié)點(diǎn)內(nèi)部設(shè)置一個(gè)計(jì)數(shù)器,每次傳輸數(shù)據(jù)時(shí)增加計(jì)數(shù)實(shí)現(xiàn)數(shù)據(jù)量的統(tǒng)計(jì)。這兩個(gè)前提用來計(jì)算能源報(bào)告消息中的剩余能量和能耗比兩個(gè)字段值。下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述圖l給出了適合采用本發(fā)明介紹方法的無線傳感器網(wǎng)絡(luò)拓?fù)鋱D。圖中各節(jié)點(diǎn)都有全網(wǎng)唯一的編號(hào),其中l(wèi)號(hào)節(jié)點(diǎn)為Siiik節(jié)點(diǎn)用于收集傳感數(shù)據(jù),并通過無線鏈路與插有無線網(wǎng)卡的計(jì)算機(jī)終端相連。整個(gè)網(wǎng)絡(luò)均采用無線鏈路通信,無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)負(fù)責(zé)采集溫度、濕度、光強(qiáng)等傳感數(shù)據(jù),網(wǎng)絡(luò)節(jié)點(diǎn)同時(shí)具有數(shù)據(jù)采集、通信和路由的功能。圖2是圖1所示的無線傳感器網(wǎng)絡(luò)中的能源報(bào)告消息的轉(zhuǎn)發(fā)流程圖。網(wǎng)絡(luò)中只有匯聚節(jié)點(diǎn)能發(fā)起并在全網(wǎng)廣播能源報(bào)告消息,用戶通過計(jì)算機(jī)終端控制匯聚節(jié)點(diǎn)的動(dòng)作。匯聚節(jié)點(diǎn)在發(fā)起能源報(bào)告消息前,先將自身的剩余能量、能耗比、節(jié)點(diǎn)編號(hào)等信息填入該消息,網(wǎng)絡(luò)中的其它節(jié)點(diǎn)收到鄰居節(jié)點(diǎn)發(fā)來的能源報(bào)告消息后,更新和維護(hù)本地負(fù)載轉(zhuǎn)發(fā)表,并計(jì)算轉(zhuǎn)發(fā)表項(xiàng)中各轉(zhuǎn)發(fā)節(jié)點(diǎn)所應(yīng)承擔(dān)的負(fù)載。相對(duì)轉(zhuǎn)發(fā)該消息鄰居節(jié)點(diǎn),只有當(dāng)自己距網(wǎng)絡(luò)邊緣更近、匯聚節(jié)點(diǎn)更遠(yuǎn)的情況下,才轉(zhuǎn)發(fā)該消息,否則就丟棄該消息。當(dāng)自身節(jié)點(diǎn)和轉(zhuǎn)發(fā)節(jié)點(diǎn)位于同一層次時(shí)也要轉(zhuǎn)發(fā)該消息,以便兄弟節(jié)點(diǎn)間能夠均衡地分配負(fù)載。若網(wǎng)絡(luò)中的節(jié)點(diǎn)決定轉(zhuǎn)發(fā)能源報(bào)告消息,將自己的節(jié)點(diǎn)編號(hào)及能耗比等信息填入能源報(bào)告消息并向下層鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)。節(jié)點(diǎn)可能會(huì)收到多個(gè)鄰居節(jié)點(diǎn)發(fā)來的能源報(bào)告消息,當(dāng)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都收到此能源報(bào)告消息后,停止此消息的轉(zhuǎn)發(fā)。在能源報(bào)告消息傳播的過程中,依據(jù)每個(gè)傳感器節(jié)點(diǎn)維護(hù)的本地負(fù)載轉(zhuǎn)發(fā)表中的轉(zhuǎn)發(fā)節(jié)點(diǎn)編號(hào),逐跳地建立反向的從傳感節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的數(shù)據(jù)匯聚路徑,完成一個(gè)周期內(nèi)傳感數(shù)據(jù)的收集。表l給出了能源報(bào)告消息的消息格式,具體包括轉(zhuǎn)發(fā)節(jié)點(diǎn)編號(hào)、消息類型、剩余能量、能耗比、跳數(shù)、時(shí)間戳信息,每個(gè)節(jié)點(diǎn)在收到此消息后都要按照如前述步驟所述維護(hù)本地負(fù)載轉(zhuǎn)發(fā)表,若決定轉(zhuǎn)發(fā)該消息,還要用自身剩余能量等信息修改能源報(bào)告消息字段并做進(jìn)一步轉(zhuǎn)發(fā)。表1能源報(bào)告消息格式<table>tableseeoriginaldocumentpage8</column></row><table>圖3是負(fù)載匯聚流程圖。當(dāng)傳感節(jié)點(diǎn)要向匯聚節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),首先查找自己的轉(zhuǎn)發(fā)表,若有多個(gè)表項(xiàng),將要傳送的數(shù)據(jù)量分成多份,綜合考慮節(jié)點(diǎn)剩余能量和能耗比大小,節(jié)點(diǎn)剩余能量多且能耗比低者分配的負(fù)載較重。將分配后的負(fù)載分別傳送給各表項(xiàng)中的轉(zhuǎn)發(fā)節(jié)點(diǎn),也即相對(duì)該節(jié)點(diǎn)的上一層鄰居節(jié)點(diǎn)或同層的兄弟節(jié)點(diǎn)。當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)收到多個(gè)鄰居節(jié)點(diǎn)發(fā)來的數(shù)據(jù)后,首先計(jì)算自己收到的總數(shù)據(jù)量,然后按照同樣的方法將負(fù)載分配并傳送到上級(jí)節(jié)點(diǎn),直至到達(dá)匯聚節(jié)點(diǎn)。本發(fā)明介紹的基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法的具體實(shí)施步驟如下-(1)終端用戶通過無線鏈路控制匯聚節(jié)點(diǎn)(Sink)周期性地廣播能源報(bào)告消息,所述的能源報(bào)告消息格式如表1所示。(2)網(wǎng)絡(luò)中的其余節(jié)點(diǎn)收到能源報(bào)告消息后,執(zhí)行圖2所示的能源報(bào)告消息流程圖,根據(jù)本地負(fù)載轉(zhuǎn)發(fā)表中有無能源報(bào)告消息中轉(zhuǎn)發(fā)節(jié)點(diǎn)對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng)更新或維護(hù)本地負(fù)載8轉(zhuǎn)發(fā)表。(3)根據(jù)本地負(fù)載轉(zhuǎn)發(fā)表各轉(zhuǎn)發(fā)表項(xiàng)的轉(zhuǎn)發(fā)節(jié)點(diǎn)的剩余能量信息和能耗比計(jì)算各轉(zhuǎn)發(fā)節(jié)點(diǎn)所應(yīng)承擔(dān)的負(fù)載分配比例。(4)根據(jù)本地節(jié)點(diǎn)的負(fù)載量大小和步驟(3)中計(jì)算得到的各轉(zhuǎn)發(fā)節(jié)點(diǎn)的負(fù)載分配比例,計(jì)算各轉(zhuǎn)發(fā)節(jié)點(diǎn)應(yīng)為本節(jié)點(diǎn)轉(zhuǎn)發(fā)承擔(dān)的負(fù)載。(5)完成本地節(jié)點(diǎn)負(fù)載的分配后,需要根據(jù)節(jié)點(diǎn)的鄰接關(guān)系和能源報(bào)告消息中的跳數(shù)字段決定是否轉(zhuǎn)發(fā)該消息,只有當(dāng)本地節(jié)點(diǎn)相對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)距離匯聚節(jié)點(diǎn)更遠(yuǎn)或者和轉(zhuǎn)發(fā)節(jié)點(diǎn)互為同層兄弟節(jié)點(diǎn)時(shí),才轉(zhuǎn)發(fā)該消息。(6)若本地節(jié)點(diǎn)決定轉(zhuǎn)發(fā)能源報(bào)告消息,首先需要用其自身能源信息修改消息中的各字段值,然后向除了轉(zhuǎn)發(fā)節(jié)點(diǎn)外的所有下層鄰居節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)轉(zhuǎn)發(fā)該消息。(7)當(dāng)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都收到能源報(bào)告消息或能源報(bào)告周期結(jié)束時(shí),開始數(shù)據(jù)收集過程。(8)通過反向使用本地負(fù)載轉(zhuǎn)發(fā)表,從位于網(wǎng)絡(luò)邊緣的傳感節(jié)點(diǎn)開始分別執(zhí)行圖3所示的負(fù)載轉(zhuǎn)發(fā)流程,逐跳地將網(wǎng)絡(luò)負(fù)載數(shù)據(jù)傳送到匯聚節(jié)點(diǎn),完成一個(gè)周期內(nèi)傳感數(shù)據(jù)的收集。(9)數(shù)據(jù)收集完畢,準(zhǔn)備下一次收集過程。本發(fā)明介紹的基于節(jié)點(diǎn)能量信息的無線傳感器網(wǎng)絡(luò)負(fù)載平衡方法利用了節(jié)點(diǎn)的剩余能量信息和節(jié)點(diǎn)能力的差異性,適用于異構(gòu)類型的傳感器網(wǎng)絡(luò)。節(jié)點(diǎn)在數(shù)據(jù)收集過程中,不再是從多個(gè)上層節(jié)點(diǎn)中選擇一個(gè)作為其轉(zhuǎn)發(fā)節(jié)點(diǎn),而是按照鄰居節(jié)點(diǎn)的資源情況和能力大小分配負(fù)載,使得所有節(jié)點(diǎn)的能量平均地消耗,能有效提高網(wǎng)絡(luò)生存周期。同時(shí)采用了分層的拓?fù)浣Y(jié)構(gòu),適用于大規(guī)模的無線傳感器網(wǎng)絡(luò)。權(quán)利要求1、基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法,其特征在于包括能源報(bào)告消息轉(zhuǎn)發(fā)和負(fù)載匯聚過程兩個(gè)部分,其具體步驟如下(1)終端用戶通過無線鏈路控制匯聚節(jié)點(diǎn)發(fā)起能源報(bào)告消息的動(dòng)作,匯聚節(jié)點(diǎn)Sink向全網(wǎng)廣播能源報(bào)告消息,所述的能源報(bào)告消息包括轉(zhuǎn)發(fā)節(jié)點(diǎn)的編號(hào)、消息類型、剩余能量、能耗比、跳數(shù)、時(shí)間戳字段;(2)網(wǎng)絡(luò)中的其它節(jié)點(diǎn)收到匯聚節(jié)點(diǎn)Sink發(fā)來的能源報(bào)告消息后,更新和維護(hù)本地負(fù)載轉(zhuǎn)發(fā)表,所述的本地負(fù)載轉(zhuǎn)發(fā)表中的每個(gè)表項(xiàng)是由轉(zhuǎn)發(fā)節(jié)點(diǎn)的編號(hào)、消息類型、剩余能量、能耗比、跳數(shù)、時(shí)間戳字段組成;(3)根據(jù)本地負(fù)載轉(zhuǎn)發(fā)表表項(xiàng)中的剩余能量和能耗比計(jì)算各轉(zhuǎn)發(fā)表項(xiàng)中的各轉(zhuǎn)發(fā)節(jié)點(diǎn)所應(yīng)承擔(dān)的負(fù)載分配比例;(4)根據(jù)步驟(3)中計(jì)算的負(fù)載分配比例,將本地節(jié)點(diǎn)的負(fù)載按照負(fù)載分配比例分別傳送到對(duì)應(yīng)的上層各節(jié)點(diǎn)中,并計(jì)算各節(jié)點(diǎn)需要承擔(dān)的負(fù)載;(5)按照上述步驟(2)、(3)、(4)完成本地節(jié)點(diǎn)負(fù)載的分配后,需要根據(jù)能源報(bào)告消息中的跳數(shù)字段決定是否轉(zhuǎn)發(fā)該消息,只有當(dāng)本地節(jié)點(diǎn)相對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)距離匯聚節(jié)點(diǎn)更遠(yuǎn)或者和轉(zhuǎn)發(fā)節(jié)點(diǎn)互為同層兄弟節(jié)點(diǎn)時(shí),才轉(zhuǎn)發(fā)該消息;(6)若本地節(jié)點(diǎn)決定轉(zhuǎn)發(fā)能源報(bào)告消息,首先需要用自身能源信息修改消息中的各字段值,然后向除了轉(zhuǎn)發(fā)節(jié)點(diǎn)外的所有下層鄰居節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)轉(zhuǎn)發(fā)該消息;(7)節(jié)點(diǎn)可能會(huì)收到多個(gè)鄰居節(jié)點(diǎn)發(fā)來的能源報(bào)告消息,當(dāng)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)都收到能源報(bào)告消息或一次能源報(bào)告周期結(jié)束時(shí),停止此消息的轉(zhuǎn)發(fā);(8)單個(gè)周期內(nèi)能源報(bào)告消息轉(zhuǎn)發(fā)完畢后,反向使用能源報(bào)告消息的傳播路徑逐跳地建立從傳感節(jié)點(diǎn)到匯聚節(jié)點(diǎn)Sink的負(fù)載匯聚路由,完成一個(gè)周期內(nèi)傳感數(shù)據(jù)的收集;(9)匯聚節(jié)點(diǎn)Sink周期性地發(fā)起能源報(bào)告消息,所有節(jié)點(diǎn)重復(fù)執(zhí)行上述步驟(2)-步驟(7),從而完成傳感數(shù)據(jù)的分配及其匯聚的過程。2、根據(jù)權(quán)利要求l所述的基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法,其特征在于所述步驟(2)中建立或更新本地負(fù)載轉(zhuǎn)發(fā)表,實(shí)現(xiàn)維護(hù)本地負(fù)載轉(zhuǎn)發(fā)表的過程為(2.1)轉(zhuǎn)發(fā)表的建立若本地轉(zhuǎn)發(fā)表中無能源報(bào)告消息中轉(zhuǎn)發(fā)節(jié)點(diǎn)對(duì)應(yīng)的表項(xiàng),需要在轉(zhuǎn)發(fā)表的末尾新增加一個(gè)條目,并將轉(zhuǎn)發(fā)節(jié)點(diǎn)的編號(hào)、消息類型、剩余能量、能耗比、跳數(shù)、時(shí)間戳填入新表項(xiàng)的對(duì)應(yīng)字段;(2.2)轉(zhuǎn)發(fā)表的更新若本地轉(zhuǎn)發(fā)表中有能源報(bào)告消息中轉(zhuǎn)發(fā)節(jié)點(diǎn)對(duì)應(yīng)的表項(xiàng),且對(duì)應(yīng)表項(xiàng)中的某些字段值發(fā)生了改變,需要將此表項(xiàng)更新;(2.3)轉(zhuǎn)發(fā)表的刪除若由于無線鏈路失效或超時(shí)原因?qū)е罗D(zhuǎn)發(fā)表中的此表項(xiàng)不再可用,需要將此表項(xiàng)從轉(zhuǎn)發(fā)表中刪除。3、根據(jù)權(quán)利要求l所述的基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法,其特征在于:所述步驟(3)中負(fù)載分配比例的計(jì)算公式為<formula>formulaseeoriginaldocumentpage3</formula>其中E^^h的R^^。-i分別為剩余能量和能耗比,節(jié)點(diǎn)的能耗比Rs『a"。-i通過計(jì)算該節(jié)點(diǎn)已消耗的能量和已發(fā)送的數(shù)據(jù)量(包括轉(zhuǎn)發(fā))之間的比值得到,W,A2分別為剩余能量和能耗比對(duì)應(yīng)的系數(shù),可根據(jù)實(shí)際應(yīng)用動(dòng)態(tài)調(diào)整,/的取值范圍為0^/27\^附,,_,M而,.,自為轉(zhuǎn)發(fā)表中的表項(xiàng)數(shù)。4、根據(jù)權(quán)利要求l所述的基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法,其特征在于所述步驟(4)中各節(jié)點(diǎn)需要承擔(dān)的負(fù)載的計(jì)算公式如下<formula>formulaseeoriginaldocumentpage3</formula>其中w,為步驟(3)中計(jì)算得到的負(fù)載分配比例,7VY^c,。,。,為本地節(jié)點(diǎn)欲發(fā)送到上層節(jié)點(diǎn)的總的負(fù)載量。5、根據(jù)權(quán)利要求l所述的基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法,其特征在于-所述步驟(8)負(fù)載數(shù)據(jù)匯聚的過程步驟如下(8.1)若節(jié)點(diǎn)是位于網(wǎng)絡(luò)邊緣的傳感節(jié)點(diǎn),查找本地負(fù)載轉(zhuǎn)發(fā)表,將其負(fù)載量按照權(quán)利要求l步驟(3)和步驟(4)描述的方法分配到多個(gè)上層節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)中;(8.2)若節(jié)點(diǎn)是位于網(wǎng)絡(luò)內(nèi)部的傳感節(jié)點(diǎn),首先計(jì)算來自下層鄰居節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)的負(fù)載,得到本地節(jié)點(diǎn)的負(fù)載總量,然后查找本地負(fù)載轉(zhuǎn)發(fā)表并按照步驟(3)和步驟(4)描的方法將負(fù)載數(shù)據(jù)分配到多個(gè)上層節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)中;(8.3)重復(fù)執(zhí)行步驟(8.1)或步驟(8.2)直到所有數(shù)據(jù)匯聚到Sink節(jié)點(diǎn)和終端主機(jī)。全文摘要基于無線傳感器能量信息的網(wǎng)絡(luò)負(fù)載平衡方法(1)Sink廣播能源報(bào)告消息;(2)節(jié)點(diǎn)收到Sink的能源報(bào)告后,更新和維護(hù)本地負(fù)載轉(zhuǎn)發(fā)表;(3)計(jì)算各轉(zhuǎn)發(fā)節(jié)點(diǎn)所應(yīng)承擔(dān)的負(fù)載分配比例和各節(jié)點(diǎn)需要承擔(dān)的負(fù)載;(4)當(dāng)本地節(jié)點(diǎn)相對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)距離匯聚節(jié)點(diǎn)更遠(yuǎn)或者和轉(zhuǎn)發(fā)節(jié)點(diǎn)互為同層兄弟節(jié)點(diǎn)時(shí)轉(zhuǎn)發(fā)該消息;(5)用自身能源信息修改消息中的各字段值,向除了轉(zhuǎn)發(fā)節(jié)點(diǎn)外的所有下層鄰居節(jié)點(diǎn)或同層兄弟節(jié)點(diǎn)轉(zhuǎn)發(fā)該消息;(6)所有節(jié)點(diǎn)收到能源報(bào)告消息時(shí),停止此消息的轉(zhuǎn)發(fā);(7)單個(gè)周期內(nèi)能源報(bào)告消息轉(zhuǎn)發(fā)完畢后,反向使用能源報(bào)告消息的傳播路徑逐跳地建立從傳感節(jié)點(diǎn)到匯聚節(jié)點(diǎn)Sink的負(fù)載匯聚路由;(8)匯聚節(jié)點(diǎn)Sink周期性地發(fā)起能源報(bào)告消息,完成傳感數(shù)據(jù)的分配及其匯聚的過程。本發(fā)明解決了大規(guī)模無線傳感器網(wǎng)絡(luò)負(fù)載平衡及網(wǎng)絡(luò)生存周期的問題。文檔編號(hào)H04L12/56GK101355517SQ200810222040公開日2009年1月28日申請(qǐng)日期2008年9月8日優(yōu)先權(quán)日2008年9月8日發(fā)明者劉智武,威吳,濤尚,蘇金釗申請(qǐng)人:北京航空航天大學(xué)