專利名稱:一種無線傳感器網絡能量均衡的路由方法
技術領域:
本發明屬于無線傳感器網絡通信技術領域,具體涉及一種無線傳感器網絡能量均衡 的路由方法。
背景技術:
無線傳感器網絡是由大量低功耗、多功能的微型無線傳感器協同組織起來的一種特 殊的AdHoc網絡,它具有自組織、多跳路由、動態拓撲、硬件資源和電源容量有限、 節點數目眾多而分布密集、以數據為中心(即以數據本身作為査詢或傳輸線索,而不同 于以地址為中心的互聯網)等特點,可應用于軍事、環境、健康、家庭、商業等領域。 由于無線傳感器網絡節點能量極為有限,部分節點非常容易因能耗過大而導致網絡分 裂,從而喪失其感知覆蓋能力。因此,如何提高無線傳感器節點能量使用的效率,避免 單個或部分節點能量的過度使用,成為無線傳感器研究的一個至關重要的方面。目前傳 感器領域關于能量如何高效使用的方法涉及到數據融合、功率控制、路由等方面。
在路由方面,主要是通過有效的路由算法來實現節點能量的均衡使用。由于多路徑 路由在路由過程中可以選擇不同的路徑,能夠平衡節點能量的消耗,因此近年來對多路 徑路由的研究較多。但是,越靠近sink (匯聚節點)的節點,需要轉發的數據越多, 能量消耗也越多,從而造成能量消耗熱點,多路徑路由也不能解決sink節點附近區域 能量消耗熱點問題。
發明內容
本發明的所要解決的技術問題是提供一種無線傳感器網絡能量均衡的路由方法, 以克服現有的無線傳感器網絡中節點能量使用不均衡、網絡生命周期短的缺點。 為解決上述技術問題,本發明所采用的技術方案為
—種無線傳感器網絡能量均衡的路由方法,該無線傳感器網絡由一個匯聚節點和多個節點通信連接而成;其特征在于,該無線傳感器網絡能量均衡的路由方法包括以下 步驟
1) 將無線傳感器網絡按最小跳數分層,形成一個按最小跳數分層的網絡;
2) 創建每一個節點的多跳路由表;
每個所述的節點v維護一個路由表,表中記錄可能的下一跳路由節點 ("^,'",""),以及它們到匯聚節點路徑的能量值0 ("1),^("2),''',^("")),并且記錄 ;^'), ;V^maxO^^("2),…,p(""》;匯聚節點向網絡廣播帶^ =0,;^) = oo的路
由創建消息,其中^表示匯聚節點的最小跳數,/K。表示匯聚節點的能量;當節點v把 節點"加入節點v的路由表的同時,也記錄下節點"的路徑能量p("); P(")的計算公式 為/ (")-min(e("),; (x')),其中e(")為節點"的剩余能量,為"的下一跳節點到匯
聚節點的所有最小跳數路徑的能量的最大值,同時將/K")與^("')進行比較,如果p(") 大于P("'),則令P("')-^(");否則P("')的值不變;
A=払]
3) 計算轉發概率A; 五[&] + EL/:],其中,五[g,.]-W.A, ^為無線傳感器
網絡節點總數,A為第f層節點占總節點數的比例,五[g,]為第z'層節點發送自己產生的
負載所消耗的平均能量;^;]一i:n^^.("^[&]一^+^u+"廣廚,]),其
中《,=^,《-(/:1)2-1,五[乂]為第f層節點轉發其它層節點數據所消耗的平均能量,
這里公式中的五L/i]就是i為l時的五[y;],式中的n表示第n層,即按跳數分為第l層 直到第n層;
4) 節點/以A的概率向下一節點轉發數據,以l-A的概率向匯聚節點直接發送數
據;
5) 對路由表進行維護和更新
節點"發送數據時在數據包中加入它的更新的路徑能量,利用無線通信的偵聽機制,路由表中包含u的節點v更新^"),同時更新P("'),并査看P(力是否有所變化,
如果有變化則廣播帶^(v)的消息,如果沒有變化則什么都不做,路由表中含有v且收到
廣播消息的節點則做同樣的檢測,依次類推下去;完成對路由表的維護和更新;返回到 步驟4)。
步驟l)中的按最小跳數分層的網絡的創建方法為
令、為節點v的到匯聚節點的最小跳數;初始時,匯聚節點的最小跳數&=0,其 它節點"的最小跳數/^設為無窮大;匯聚節點向網絡廣播帶/^的路由創建消息;節點" 從節點V接收到一個路由創建消息后,從中取出、進行以下比較
若&>/| -1,"什么都不做;
若/^=&-1,"把v加入到它的路由表中;
若/^</ -1,"清空路由表中已有的內容,并把v加入路由表中;然后,節點"設 置/! =^+1,并重新廣播帶/^的路由創建消息給節點"的鄰居節點;
路由創建消息按照以上規則傳播,最后建成按最小跳數分層的網絡。
本發明的有益效果
本發明的路由方法把傳感器網絡構成一個按最小跳數分層的網絡,且使用多跳傳輸 和直接與sin^通信的混合傳輸策略。在多跳傳輸時,使用改進的基于多路徑路由的最 大能量路徑算法。
本方法利用節點直接傳輸和逐跳轉發相結合的混合傳輸方式來消除sinA附近區域能
量消耗熱點問題,在逐跳轉發時采用改進的最大能量路徑機制來解決局部區域的能量平 衡問題,該最大能量路徑機制又采用了多路徑路由方式,因此,該方法很好的實現了網 絡全局范圍內的能量均衡使用,有效的延長了網絡的生命周期。
圖1是本發明的無線傳感器網絡能量均衡的路由算法的流程圖;圖2為多路徑分層網絡。
具體實施例方式
以下結合附圖對本發明作進一步說明。 實施例1 :
如圖l所示,首先,在網絡工作前,通過初始化把網絡構造成按最小跳數分層的網 絡。到匯聚節點最小跳數為1的節點集合稱為傳感器網絡的第一層,到匯聚節點最小跳
數為W的節點集合稱為傳感器網絡的第W層。這樣,圍繞匯聚節點從里到外依次形成 按最小跳數分層的網絡。實現方法如下
令、為節點v的到siia節點的最小跳數。初始時,sinA節點設置4^0,其它節點
"的^設為無窮大。sh^節點向網絡廣播帶&的路由創建消息。節點"從節點v接收到
一個路由創建消息后,從中取出、進行一下比較 如果&>/^-1,"什么都不做。 如果&=&—1,"把V加入到它的路由表中。
如果&〈^-1,"清空路由表中已有的內容,并把V加入路由表中。然后,"設置
^=^+1,并重新廣播帶&的路由創建消息給它的鄰居節點。
路由創建消息按照以上規則傳播,最后可建成根據最小跳數分層的網絡. 在多跳傳輸時,使用改進的基于多路徑路由的最大能量路徑算法。首先聲明兩個定義。
最弱節點 一條路徑上的所有節點中剩余能量最小的節點。 路徑能量該路徑中最弱節點的剩余能量值。
定義節點w到匯聚節點的路徑為所有最小跳數路徑中能量最大的路徑,設該路徑能 量為P(w),則i (w)-minOO),pO'》,其中e(w)為節點w的剩余能量,P("')為w的下
一跳節點到匯聚節點的所有最小跳數路徑的能量的最大值。 本發明的多跳路由創建如下每個節點v維護一個路由表,表中記錄可能的下一跳路由節點(""""'"'""),以及
它們到匯聚節點路徑的能量值b("I),^"2),'''^(" )),并且記錄,
/^"-max(/^)'M"^"'/K""))。在構造分層網絡的同時進行路由的創建。sinfc節點
向網絡廣播帶&^,^^)-w的路由創建消息。當節點v把"加入v的路由表的同時,也 記錄下^(")的值(的計算公式為= min(e(w),p(x'》,其中為節點"的剩余 能量,p(x')為"的下一跳節點到匯聚節點的所有最小跳數路徑的能量的最大值),同時
與P("')進行比較,如果其值大于i^"'),則令^("')-zK")。否則P("')不變。這樣,
隨著按最小跳數分層的網絡的構成,能量均衡路由的創建也隨之完成。 本發明的多跳路由維護如下
節點"發送數據時在數據包中加入它的更新的路徑能量,利用無線通信的偵聽機
制。路由表中包含u的節點v更新^("),同時更新P("'),并査看"(v)是否有所變化,
如果有變化則廣播帶P(v)的消息,如果沒有變化則什么都不做,路由表中含有v且收到 廣播消息的節點則做同樣的檢測,依次類推下去。
由于節點選擇能量最大的路徑來傳輸數據,避免了能量較小的節點過早死亡導致網 絡不連通,上述方法構建的多跳路由在局部區域較好的實現了能量的均衡使用,但是沒
有在全局區域實現。例如在能量消耗熱點區域(sin^附近區域的節點),沒有實現與其
它區域節點能量的均衡使用,這些節點會因為能量消耗過多而過早的死亡。而在最外圍 區域的節點,因為無需轉發或轉發其它節點的數據較少,其能量消耗相對較低。本發明 釆用逐跳轉發和直接轉發相結合的混合傳輸模式來傳輸數據以解決上述問題。基本思想 是每個節點以概率選擇直接傳輸或逐跳轉發數據,最外圍區域的節點,由于無需轉發 或轉發別的節點的數據較少,可以較大概率選擇直接傳輸,從而減輕中間區域節點的負 載;中間區域的節點則以幾乎逐跳轉發數據;而靠近si"區域的節點也可以較低的概 率直接與sir^節點進行通信,因為它們與siia的距離較小,直接與sira通信消耗的能
量有限。為此,計算每個節點逐跳轉發的概率A是實現層間能量均衡數據傳輸的關鍵。本發明計算^算法如下
令3,為第Z層區域消耗的總能量,為了實現各層與各層之間能量的均衡,則每層的 每個節點消耗的能量滿足下列等式,=^1, S,為各層的區域面積。
即滿足£[^M_A] = jE[^LJi], (1)
其中&為z'層要處理的負載數,^為處理每個負載消耗的能量。
定義1: £[gi] = A^A,其中^為無線傳感器網絡節點總數,^為第z'層節點占總
節點數的比例,五[&]為第z'層節點發送自己產生的負載所消耗的平均能量。 定義2:
£["=—zr-;^^.(^[&〗一"""五[g""]+"r廚,]), 其 中
丄i一 ""-乂
《=i,《J!':1) 、五[,]為第z'層節點轉發其它層節點數據所消耗的平均能量,
這里公式中的五[y;]就是/為i時的五L/;],式中的n表示第n層,即按跳數分為第i層
直到第n層;可由式(1)推導求得。
定義3:五[w-五[g,]+五L/;] (2)
定義4:五L/M]-;^[/g (3)
由式(2) (3)可得(4)
具體的一個實例如圖2,在圖2中,h代表各節點所在層次,e為各節點本身的剩 余能量,節點e到匯聚節點有兩條最小跳數路徑e —6 ——^,e^^ —e —氣路徑 6 —a —s的能量為節點a的剩余能量值,所以^(&) = 35,路徑^ —c —^的能量為節點
c的剩余能量值,^(力=10 。
所以= max(;;(6),p(力)=35 , /^) = 111111("6),/^"'))=35。當通過概率pi選擇通過多跳轉發數據時,節點e不是選擇剩余能量最大的節點^作為下一跳節點,而是選擇路徑e^6 —"4s來傳輸數據,從而 避免了節點c過早的死亡而導致網絡的不連通。同時,節點e可以通過概率l-pi選擇直 接轉發數據。Pi按照公式(4)來計算。
權利要求
1.一種無線傳感器網絡能量均衡的路由方法,該無線傳感器網絡由一個匯聚節點和多個節點通信連接而成;其特征在于,該無線傳感器網絡能量均衡的路由方法包括以下步驟1)將無線傳感器網絡按最小跳數分層,形成一個按最小跳數分層的網絡;2)創建每一個節點的多跳路由表;每個所述的節點v維護一個路由表,表中記錄可能的下一跳路由節點(u1,u2,…,un),以及它們到匯聚節點路徑的能量值(p(u1),p(u2),…,p(un)),并且記錄p(u*),p(u*)=max(p(u1),p(u2),…,p(un));匯聚節點向網絡廣播帶hs=0,p(s)=∞的路由創建消息,其中hs表示匯聚節點的最小跳數,p(s)表示匯聚節點的能量;當節點v把節點u加入節點v的路由表的同時,也記錄下節點u的路徑能量p(u);p(u)的計算公式為p(u)=min(e(u),p(x*)),其中e(u)為節點u的剩余能量,p(x*)為u的下一跳節點到匯聚節點的所有最小跳數路徑的能量的最大值,同時將p(u)與p(u*)進行比較,如果p(u)大于p(u*),則令p(u*)=p(u);否則p(u*)的值不變;3)計算轉發概率pi;<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msub> <mi>p</mi> <mi>i</mi></msub><mo>=</mo><mfrac> <mrow><mi>E</mi><mo>[</mo><msub> <mi>f</mi> <mrow><mi>i</mi><mo>-</mo><mn>1</mn> </mrow></msub><mo>]</mo> </mrow> <mrow><mi>E</mi><mo>[</mo><msub> <mi>g</mi> <mi>i</mi></msub><mo>]</mo><mo>+</mo><mi>E</mi><mo>[</mo><msub> <mi>f</mi> <mi>i</mi></msub><mo>]</mo> </mrow></mfrac><mo>,</mo> </mrow>]]></math> id="icf0001" file="A20092C1.tif" wi="32" he="11" top= "157" left = "81" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>其中,E[gi]=N·Di, N為無線傳感器網絡節點總數,Di為第i層節點占總節點數的比例,E[gi]為第i層節點發送自己產生的負載所消耗的平均能量;<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><mi>E</mi><mo>[</mo><msub> <mi>f</mi> <mi>i</mi></msub><mo>]</mo><mo>=</mo><mo>-</mo><msubsup> <mi>Σ</mi> <mrow><mi>k</mi><mo>=</mo><mn>1</mn> </mrow> <mrow><mi>n</mi><mo>-</mo><mi>i</mi> </mrow></msubsup><mfrac> <mrow><msubsup> <mi>Π</mi> <mrow><mi>j</mi><mo>=</mo><mi>k</mi> </mrow> <mrow><mi>n</mi><mo>-</mo><mi>i</mi><mo>+</mo><mn>1</mn> </mrow></msubsup><msub> <mi>a</mi> <mrow><mi>n</mi><mo>-</mo><mi>j</mi> </mrow></msub> </mrow> <mrow><msubsup> <mi>Π</mi> <mrow><mi>j</mi><mo>=</mo><mi>k</mi> </mrow> <mrow><mi>n</mi><mo>-</mo><mi>i</mi> </mrow></msubsup><msub> <mi>d</mi> <mrow><mi>n</mi><mo>-</mo><mi>j</mi> </mrow></msub> </mrow></mfrac><mo>·</mo><mrow> <mo>(</mo> <msub><mi>a</mi><mn>1</mn> </msub> <mi>E</mi> <mo>[</mo> <msub><mi>g</mi><mn>1</mn> </msub> <mo>]</mo> <mo>-</mo> <msub><mi>a</mi><mrow> <mi>n</mi> <mo>-</mo> <mi>k</mi> <mo>+</mo> <mn>1</mn></mrow> </msub> <mi>E</mi> <mo>[</mo> <msub><mi>g</mi><mrow> <mi>k</mi> <mo>+</mo> <mn>1</mn></mrow> </msub> <mo>]</mo> <mo>+</mo> <msub><mi>a</mi><mn>1</mn> </msub> <mo>·</mo> <mi>E</mi> <mo>[</mo> <msub><mi>f</mi><mn>1</mn> </msub> <mo>]</mo> <mo>)</mo></mrow><mo>,</mo> </mrow>]]></math> id="icf0002" file="A20092C2.tif" wi="103" he="10" top= "194" left = "23" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>其中<maths id="math0003" num="0003" ><math><![CDATA[ <mrow><msub> <mi>a</mi> <mi>i</mi></msub><mo>=</mo><mfrac> <msup><mi>i</mi><mn>2</mn> </msup> <mrow><mn>2</mn><mi>i</mi><mo>-</mo><mn>1</mn> </mrow></mfrac><mo>,</mo><msub> <mi>d</mi> <mi>i</mi></msub><mo>=</mo><mfrac> <mrow><msup> <mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>)</mo> </mrow> <mn>2</mn></msup><mo>-</mo><mn>1</mn> </mrow> <mrow><mn>2</mn><mi>i</mi><mo>+</mo><mn>1</mn> </mrow></mfrac><mo>,</mo> </mrow>]]></math> id="icf0003" file="A20092C3.tif" wi="45" he="9" top= "194" left = "137" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>E[fi]為第i層節點轉發其它層節點數據所消耗的平均能量,其中公式中的E[f1]就是i為1時的E[fi],式中的n表示第n層;4) 節點i以pi的概率向下一節點轉發數據,以1-pi的概率向匯聚節點直接發送數據;5)對路由表進行維護和更新節點u發送數據時在數據包中加入它的更新的路徑能量,利用無線通信的偵聽機制,路由表中包含u的節點v更新p(u),同時更新p(u*),并查看p(v)是否有所變化,如果有變化則廣播帶p(v)的消息,如果沒有變化則什么都不做,路由表中含有v且收到廣播消息的節點則做同樣的檢測,依次類推下去;完成對路由表的維護和更新;返回到步驟4)。
2.根據權利要求1所述的無線傳感器網絡能量均衡的路由方法,其特征在于,步 驟l)中的按最小跳數分層的網絡的創建方法為令、為節點v的到匯聚節點的最小跳數;初始時,匯聚節點的最小跳數4=0,其 它節點"的最小跳數A設為無窮大;匯聚節點向網絡廣播帶/^的路由創建消息;節點" 從節點v接收到一個路由創建消息后,從中取出、進行以下比較若^>/2 -1,"什么都不做;若&=&-1,"把V加入到它的路由表中;若&<&-1,"清空路由表中已有的內容,并把v加入路由表中;然后,節點"設 置& = & +1 ,并重新廣播帶的路由創建消息給節點"的鄰居節點;路由創建消息按照以上規則傳播,最后建成按最小跳數分層的網絡。
全文摘要
本發明公開了一種無線傳感器網絡能量均衡的路由方法,本發明的路由算法把傳感器網絡構成一個按最小跳數分層的網絡,且使用多跳傳輸和直接與匯聚節點通信的混合傳輸策略。在多跳傳輸時,使用改進的基于多路徑路由的最大能量路徑算法。本方法利用節點直接傳輸和逐跳轉發相結合的混合傳輸方式來消除sink附近區域能量消耗熱點問題,在逐跳轉發時采用改進的最大能量路徑機制來解決局部區域的能量平衡問題,該最大能量路徑機制又采用了多路徑路由方式,因此,該算法很好的實現了網絡全局范圍內的能量均衡使用,有效的延長了網絡的生命周期。
文檔編號H04W40/10GK101562862SQ200910043419
公開日2009年10月21日 申請日期2009年5月15日 優先權日2009年5月15日
發明者潔 劉, 張海洋, 曾凡仔, 李仁發, 娟 羅, 玲 肖 申請人:湖南大學