專利名稱:基于勢能場的能量平衡的路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線傳感器網(wǎng)絡(luò)(WSN)技術(shù)領(lǐng)域,尤其涉及一種基于勢能場的能量平 衡的路由方法。
背景技術(shù):
對于WSN路由協(xié)議設(shè)計而言,能量平衡和能量效率是兩個重要的技術(shù)指標,它們 也將采用不同的方法來設(shè)計路由算法。能量效率路由協(xié)議通過最小化能量消耗來延長網(wǎng) 絡(luò)生命期,但是能量平衡路由協(xié)議是通過平衡能量消耗來延長網(wǎng)絡(luò)生命期的。前者很容易 導(dǎo)致很早的網(wǎng)絡(luò)分區(qū),以至于雖然有很多的剩余能量但網(wǎng)絡(luò)不可用。雖然后者可能不能 達到各自最優(yōu)化的能量效率,但是它可以均勻地消耗能量來盡可能長時間地維持網(wǎng)絡(luò)連 接性和網(wǎng)絡(luò)功能。到目前為止,針對無線傳感器網(wǎng)絡(luò)協(xié)議大量的研究都關(guān)注在能量高效 的路由協(xié)議,其目標是在本地節(jié)點或者整個網(wǎng)絡(luò)中尋找一種優(yōu)化的路徑去最小化能量消 耗。不過,有一些協(xié)議也注意到了能量不平衡的問題。低功耗自適應(yīng)集簇分層型協(xié)議(Low Energy Adaptive Clustering Hierarchy, LEACH)、高效成族算法(Efficient Clustering Algorithm, EAD)和能量效率混合聚類算法(A hybrid, Energy-efficient Distributed Clustering Approach, HEED)三個路由協(xié)議都提供了在簇中通過隨機選擇簇頭的方式來 達到能量平衡的解決方案,但是它們僅僅是本地化的解決方案。除此之外在Singh和 Prasarma的研究中,定義了能量平衡的性質(zhì)和建議,分析和評估了能量平衡的算法在單跳 的無線傳感器網(wǎng)絡(luò)中的情況,但是這是基于每個節(jié)點可以直接同終端通信的假設(shè),和實際 的多跳無線傳感器網(wǎng)絡(luò)不相符合。在Olariu和Sto jmenovic的研究中,關(guān)注于在終端附近 的能量洞現(xiàn)象,而不是整個網(wǎng)絡(luò)的能量平衡問題。非均勻節(jié)點分配策略的提出實現(xiàn)了近平 衡的能源消耗,但是由于除了最外面的部分之外,節(jié)點數(shù)量從外到內(nèi)成幾何倍增加,這樣帶 來的消耗是巨大的。能量感知的路由協(xié)議維護了多條路徑,同時為每一個數(shù)據(jù)包的發(fā)送選 擇其中合適的一條路徑,通過這種方式可以改善網(wǎng)絡(luò)的生存能力。但是它是十分耗能的,因 為它需要十分頻繁地交換路由信息(每次在路徑上的節(jié)點能量值改變的時候)來獲得精確 的路由量度。主動多路徑路由算法實現(xiàn)了空間能量平衡,但是實際上它是一個負載平衡機 制,這是因為它是基于“能量負擔”和“傳輸負載”被認為是相同的前提下。在實際的無線 傳感器網(wǎng)絡(luò)中,除了傳輸負載外還有很多的因素導(dǎo)致了能量的負擔,例如通道感知和通道 競爭。無疑,通過多路徑散播傳輸,能量在一定程度上得到了平衡。但是它不是一個優(yōu)化的 解決方案,因為對于散播傳輸而言,對于剩余能量分布的不了解是一個很大的弊端。在其它研究中,關(guān)于平衡能量消耗的綜合設(shè)計已經(jīng)有所研究,同時其路由算法已 經(jīng)作為了一種輔助的機制。在EfthymioiuNikoletseas和Rolim的研究中,能量消耗通過選 擇一跳接一跳傳輸模式還是直接傳輸模式來達到平衡。一跳接一跳傳輸可以節(jié)省距離終端 較遠的節(jié)點的能量,而直接傳輸可以節(jié)省距離終端較近的節(jié)點的能量,由于轉(zhuǎn)發(fā)的負擔在 這種傳輸模式中得到了緩解。數(shù)據(jù)聚集的能量平衡算法(Balancing Energy Consumption to Maximize Network Lifetime inData-gathering Sensor Networks,EBDG)路由協(xié)議充分利用了基于邊緣的網(wǎng)絡(luò)劃分、混合路由和數(shù)據(jù)聚合來平衡能量消耗。下面是一些在無線傳感器網(wǎng)路中基于梯度的路由協(xié)議。它們主要分為兩大類信 息問詢路由和數(shù)據(jù)收集路由。前者是將問詢信息由終端發(fā)送到節(jié)點,而后者是將收集的數(shù) 據(jù)從節(jié)點發(fā)向終端。大部分基于梯度的信息問詢路由協(xié)議都采用物理現(xiàn)象的自然梯度,物 理量的空間分布(例如溫度測量)符合自然界的擴散法則。然而,在一些存在的局部極值 或者大型高原地區(qū),通過自然法則實施的梯度就不能起到很好的作用了。為了去克服這些 缺點,H. J Lin等提出了一種在合適的網(wǎng)絡(luò)中,通過解決一個離散逼近的偏微分方程來計算 信息勢能的方法。這種解決方案是一種典型的調(diào)和函數(shù),它具有很好的代數(shù)結(jié)構(gòu)和很多有 用的性質(zhì),包括缺少局部極值的情況下。一些數(shù)據(jù)收集的路由協(xié)議也使用梯度的概念?;谔荻鹊穆酚蓞f(xié)議(Gradient Based Routing,GBR)將傳輸均勻地分配到了每一個節(jié)點上,并防止不均勻的傳輸過載。終 端廣播一條感興趣的信息到整個網(wǎng)絡(luò)。每一個節(jié)點收到這條感興趣的信息并且在信息中帶 有跳數(shù)的記錄,記載著到終端所需要的跳數(shù)。每個節(jié)點的梯度就是由跳數(shù)所決定的。跳數(shù) 梯度從節(jié)點到終端被建立起來,同時所有的消息也將順著終端的方向傳輸。事實上,GBR協(xié) 議等同于最短路徑路由,其計算梯度時僅僅將跳數(shù)考慮在內(nèi)。基于梯度的廣播協(xié)議(Gradient Broadcast, GRAB)是為了可靠性而設(shè)計的,其主 要是從每個源到接收者都要傳輸消息的多個冗余副本經(jīng)過一個交錯網(wǎng)絡(luò)。GRAB根據(jù)數(shù)據(jù) 消息中攜帶的信用值來控制帶寬,從而允許發(fā)送者調(diào)整數(shù)據(jù)發(fā)送的可靠性。耗能場是通過 網(wǎng)絡(luò)中的廣播包來實現(xiàn)的。一個節(jié)點的耗能指的是從該節(jié)點到終端發(fā)送一個包所需消耗的 最少能量。換句話來說,GRAB采用了多路徑和耗能場來達到增強數(shù)據(jù)發(fā)送的可靠性以及實 現(xiàn)最小能量消耗的目的,但是這仍然很容易導(dǎo)致能量不平衡,甚至產(chǎn)生能量洞。除此之外, GRAB十分依賴于周期性的梯度信息的維護,這樣導(dǎo)致了高帶寬和能量消耗。狀態(tài)無關(guān)的基 于勢能場的傳輸協(xié)議(A State-Free Gradient-BasedForwarding Protocol, SGF)將 GRAB 進行了擴展,它為了能夠適應(yīng)短暫的通道和拓撲變化,采用了在多個候選節(jié)點中投機地選 擇轉(zhuǎn)發(fā)節(jié)點的方式。它對于梯度的維護完全是由數(shù)據(jù)傳輸來實現(xiàn)的,因此減少了能量的消 耗。但是,投機的選擇幾乎不能保證耗能場的單調(diào)性,因此路由環(huán)路很可能無法控制。勢能和梯度的概念不僅僅應(yīng)用于無線網(wǎng)絡(luò)領(lǐng)域,同時應(yīng)用于有線領(lǐng)域。舉個例子, 傳輸感知的路由算法(稱為PBTA)為采用路由數(shù)據(jù)包繞開網(wǎng)絡(luò)中擁擠的熱點的方法,改善 了端到端的延時和振動。但是,由于需要有大量的管理消耗,它沒有得到廣泛的關(guān)注。在傳 統(tǒng)網(wǎng)絡(luò)中為每一個發(fā)送目的地建立一個獨占的虛擬場是很昂貴的,而且在傳統(tǒng)網(wǎng)絡(luò)中每一 個隨機部署的節(jié)點都能成為一些包的發(fā)送目的地。相反,在無線傳感器網(wǎng)絡(luò)中當基于勢能 的路由協(xié)議被應(yīng)用的時候,由于整個網(wǎng)絡(luò)只有一個終端,所以這種多對一的向心型傳輸模 式僅僅需要一個混合場去維護。在另外一項工作中,受到物理學(xué)中磁學(xué)的影響,H. J.Huang 等提出了一個數(shù)據(jù)傳播機制,這種機制就是將數(shù)據(jù)包作為金屬針而終端節(jié)點作為一塊磁 石,這個過程就是金屬針被磁石吸引的過程。這個簡單的數(shù)據(jù)傳播機制僅僅能提供一個基 本的路由功能,例如通過建立一個簡單的磁場,讓指令包向終端傳播。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問題
本發(fā)明要解決的技術(shù)問題是提供一種基于勢能場的能量平衡的路由方法,以實 現(xiàn)以均勻地消耗能量來盡可能長時間地維持網(wǎng)絡(luò)連接性和網(wǎng)絡(luò)功能。(二)技術(shù)方案為解決上述問題,本發(fā)明提供了一種基于勢能場的能量平衡的路由方法,該方法 包括步驟Si.初始化節(jié)點,設(shè)置路由狀態(tài)為正常,終端深度為0,其余節(jié)點深度為+⑴,檢測 節(jié)點自身能量并存儲在能量表中,接收來自終端或鄰居節(jié)點的信息包;S2.解析接收到的信息包,若接收到的信息包為非確認路由環(huán)路的更新信息包且 非數(shù)據(jù)包,則執(zhí)行步驟S3,若接收到的信息包為確認路由環(huán)路的更新信息包或數(shù)據(jù)包,則執(zhí) 行步驟S5 ;S3.根據(jù)接收到的所述更新信息包,更新節(jié)點自身的深度表、能量密度表及能量 表,若節(jié)點自身的深度以及能量密度沒有改變,則返回步驟S2,否則,執(zhí)行步驟S4 ;S4.廣播節(jié)點自身的更新信息包,并返回步驟S2 ;S5.根據(jù)節(jié)點自身的深度表、能量密度表及能量表,計算鄰居節(jié)點勢能差,選擇勢 能差最大的節(jié)點作為下一跳節(jié)點;S6.根據(jù)選擇的下一跳節(jié)點的深度,確認最終下一跳節(jié)點,并發(fā)送所述確認路由環(huán) 路的更新信息包或數(shù)據(jù)包至所述最終下一跳節(jié)點,并返回步驟S2。其中,所述深度表、能量密度表及能量表分別存有每個節(jié)點自身及其鄰居節(jié)點的 深度、能量密度及剩余能量信息。其中,在步驟Sl后、步驟S2之前還包括步驟若在兩個設(shè)定的最大更新間隔內(nèi)沒有收到來自鄰居節(jié)點的更新信息包,則判定對 應(yīng)的鄰居節(jié)點失效,去除節(jié)點自身的深度表、能量密度表及能量表中所述對應(yīng)的鄰居節(jié)點 的信息,并更新節(jié)點自身的能量密度。其中,在步驟Sl后,步驟S2之前還包括步驟若節(jié)點自身的能量消耗超過其剩余能量的時,檢測節(jié)點自身的剩余能量,更新 節(jié)點自身的能量信息,并執(zhí)行步驟S4。其中,在步驟S2中還包括步驟若在設(shè)定的最小更新間隔內(nèi),接收到的信息包在緩沖區(qū)內(nèi)的隊列長度增加了緩沖 區(qū)大小的20%時,將路由狀態(tài)變?yōu)榫姝h(huán)路,啟動警告計時器,并執(zhí)行步驟S6。其中,若所述警告計時器計時超過3倍深度個設(shè)定的最大更新間隔時,關(guān)閉所述 警告計時器,將路由狀態(tài)變?yōu)檎?,并重新?zhí)行步驟S2。其中,步驟S5后、步驟S6前還包括步驟S5. 1若所述確認路由環(huán)路的更新信息包或數(shù)據(jù)包的原始地址為節(jié)點自身的ID或 者其源地址為選擇的下一跳節(jié)點ID,則關(guān)閉警告計時器,開啟發(fā)現(xiàn)環(huán)路計時器,將路由狀態(tài) 變?yōu)榘l(fā)現(xiàn)環(huán)路,并重新執(zhí)行步驟S5,否則執(zhí)行步驟S6。其中,若發(fā)現(xiàn)環(huán)路計時器超過6倍深度個設(shè)定的最大更新間隔時,關(guān)閉所述發(fā)現(xiàn) 環(huán)路計時器,將路由狀態(tài)變?yōu)檎#⒅匦聢?zhí)行步驟S2。其中,步驟S6進一步包括S6. 1若選擇的下一跳節(jié)點的深度小于節(jié)點本身深度或其他鄰居節(jié)點深度,則執(zhí)行步驟S6. 2,否則,選擇勢能差次最大的節(jié)點作為選擇的下一跳節(jié)點,關(guān)閉發(fā)現(xiàn)環(huán)路計時器, 將路由狀態(tài)變?yōu)檎#⒎祷夭襟ES5. 1 ; S6. 2以選擇的下一跳節(jié)點作為最終下一跳節(jié)點,發(fā)送所述確認路由環(huán)路的更新fi 息包或數(shù)據(jù)包至所述最終下一跳節(jié)點,并返回步驟S2。
權(quán)利要求
1.一種基于勢能場的能量平衡的路由方法,其特征在于,該方法包括步驟S1.初始化節(jié)點,設(shè)置路由狀態(tài)為正常,終端深度為0,其余節(jié)點深度為+⑴,檢測節(jié)點 自身能量并存儲在能量表中,接收來自終端或鄰居節(jié)點的信息包;S2.解析接收到的信息包,若接收到的信息包為非確認路由環(huán)路的更新信息包且非數(shù) 據(jù)包,則執(zhí)行步驟S3,若接收到的信息包為確認路由環(huán)路的更新信息包或數(shù)據(jù)包,則執(zhí)行步 驟S5 ;S3.根據(jù)接收到的所述更新信息包,更新節(jié)點自身的深度表、能量密度表及能量表,若 節(jié)點自身的深度以及能量密度沒有改變,則返回步驟S2,否則,執(zhí)行步驟S4 ;S4.廣播節(jié)點自身的更新信息包,并返回步驟S2;S5.根據(jù)節(jié)點自身的深度表、能量密度表及能量表,計算鄰居節(jié)點勢能差,選擇勢能差 最大的節(jié)點作為下一跳節(jié)點;S6.根據(jù)選擇的下一跳節(jié)點的深度,確認最終下一跳節(jié)點,并發(fā)送所述確認路由環(huán)路的 更新信息包或數(shù)據(jù)包至所述最終下一跳節(jié)點,并返回步驟S2。
2.如權(quán)利要求1所述的基于勢能場的能量平衡的路由方法,其特征在于,所述深度表、 能量密度表及能量表分別存有每個節(jié)點自身及其鄰居節(jié)點的深度、能量密度及剩余能量信 息。
3.如權(quán)利要求1所述的基于勢能場的能量平衡的路由方法,其特征在于,在步驟Sl后、 步驟S2之前還包括步驟若在兩個設(shè)定的最大更新間隔內(nèi)沒有收到來自鄰居節(jié)點的更新信息包,則判定對應(yīng)的 鄰居節(jié)點失效,去除節(jié)點自身的深度表、能量密度表及能量表中所述對應(yīng)的鄰居節(jié)點的信 息,并更新節(jié)點自身的能量密度。
4.如權(quán)利要求1所述的基于勢能場的能量平衡的路由方法,其特征在于,在步驟Sl后, 步驟S2之前還包括步驟若節(jié)點自身的能量消耗超過其剩余能量的時,檢測節(jié)點自身的剩余能量,更新節(jié)點 自身的能量信息,并執(zhí)行步驟S4。
5.如權(quán)利要求1所述的基于勢能場的能量平衡的路由方法,其特征在于,在步驟S2中 還包括步驟若在設(shè)定的最小更新間隔內(nèi),接收到的信息包在緩沖區(qū)內(nèi)的隊列長度增加了緩沖區(qū)大 小的20%時,將路由狀態(tài)變?yōu)榫姝h(huán)路,啟動警告計時器,并執(zhí)行步驟S6。
6.如權(quán)利要求5所述的基于勢能場的能量平衡的路由方法,其特征在于,若所述警告 計時器計時超過3倍深度個設(shè)定的最大更新間隔時,關(guān)閉所述警告計時器,將路由狀態(tài)變 為正常,并重新執(zhí)行步驟S2。
7.如權(quán)利要求6所述的基于勢能場的能量平衡的路由方法,其特征在于,步驟S5后、步 驟S6前還包括步驟S5. 1若所述確認路由環(huán)路的更新信息包或數(shù)據(jù)包的原始地址為節(jié)點自身的ID或者其 源地址為選擇的下一跳節(jié)點ID,則關(guān)閉警告計時器,開啟發(fā)現(xiàn)環(huán)路計時器,將路由狀態(tài)變?yōu)?發(fā)現(xiàn)環(huán)路,并重新執(zhí)行步驟S5,否則執(zhí)行步驟S6。
8.如權(quán)利要求7所述的基于勢能場的能量平衡的路由方法,其特征在于,若發(fā)現(xiàn)環(huán)路 計時器超過6倍深度個設(shè)定的最大更新間隔時,關(guān)閉所述發(fā)現(xiàn)環(huán)路計時器,將路由狀態(tài)變?yōu)檎?,并重新?zhí)行步驟S2。
9.如權(quán)利要求7所述的基于勢能場的能量平衡的路由方法,其特征在于,步驟S6進一 步包括S6. 1若選擇的下一跳節(jié)點的深度小于節(jié)點本身深度或其他鄰居節(jié)點深度,則執(zhí)行步驟 S6. 2,否則,選擇勢能差次最大的節(jié)點作為選擇的下一跳節(jié)點,關(guān)閉發(fā)現(xiàn)環(huán)路計時器,將路 由狀態(tài)變?yōu)檎?,并返回步驟S5. 1 ;S6. 2以選擇的下一跳節(jié)點作為最終下一跳節(jié)點,發(fā)送所述確認路由環(huán)路的更新信息包 或數(shù)據(jù)包至所述最終下一跳節(jié)點,并返回步驟S2。
10.如權(quán)利要求1所述的基于勢能場的能量平衡的路由方法,其特征在于,步驟S3進一 步包括S3. 1若節(jié)點自身的深度大于對應(yīng)的鄰居節(jié)點的深度加1,則更新節(jié)點自身的深度信息;S3. 1若所述對應(yīng)節(jié)點的剩余能量改變,則更新節(jié)點自身的能量密度信息;S3. 3若節(jié)點自身的深度、能量密度均沒有改變,則返回步驟S2,否則執(zhí)行步驟S4。
11.如權(quán)利要求1所述的基于勢能場的能量平衡的路由方法,其特征在于,若節(jié)點在設(shè) 定的最大更新間隔內(nèi)沒有廣播自身的更新信息包,則執(zhí)行步驟S4。
12.如權(quán)利要求9所述的基于勢能場的能量平衡的路由方法,其特征在于,所述勢能差 的計算公式為Um(i, j, t) = (Ι-α-β)υ' d(i, j) + aU' ed(i,j,t) + β U' e(i,j,t)其中,Um(i,j,t)為勢能差,0彡a ^ 1,0 ^ β彡1且0彡α+β彡1,α和β分別 表明能量密度勢能場和剩余能量勢能場對于路由決定的權(quán)重,U' d(i,j)、U' e(i, j, t), U' ed(i, j,t)分別表示每單位深度勢能的勢能差、每單位剩余能量勢能的勢能差、以及每 單位能量密度勢能的勢能差,
全文摘要
本發(fā)明公開了一種基于勢能場的能量平衡的路由方法,該方法包括步驟S1.初始化節(jié)點;S2.若接收到的信息包為非CLP更新信息包且非數(shù)據(jù)包,則執(zhí)行步驟S3,否則,執(zhí)行步驟S5;S3.更新節(jié)點自身的深度表、能量密度表及能量表,若節(jié)點自身的深度以及能量密度沒有改變,則返回步驟S2,否則,執(zhí)行步驟S4;S4.廣播節(jié)點自身的更新信息包,返回步驟S2;S5.計算鄰居節(jié)點勢能差,選擇勢能差最大的節(jié)點作為下一跳節(jié)點;S6.確認最終下一跳節(jié)點,并發(fā)送信息包包至最終下一跳節(jié)點,返回步驟S2。本發(fā)明的方法根據(jù)可用的區(qū)域信息來動態(tài)地轉(zhuǎn)換不同的路徑,以實現(xiàn)以均勻地消耗能量來盡可能長時間地維持網(wǎng)絡(luò)連接性和網(wǎng)絡(luò)功能,且避免網(wǎng)絡(luò)劃分和能量洞。
文檔編號H04W40/10GK102076049SQ20101059643
公開日2011年5月25日 申請日期2010年12月10日 優(yōu)先權(quán)日2010年12月10日
發(fā)明者任豐原, 何滔, 程鵬 申請人:清華大學(xué)