傳感器網絡中基於節點緩衝區佔用率的退避方法
2023-12-11 16:54:02
傳感器網絡中基於節點緩衝區佔用率的退避方法
【專利摘要】本發明涉及一種傳感器網絡中基於節點緩衝區佔用率的退避方法,包括以下步驟:1)利用協調器在一個時隙內接收到的數據包個數,及一個超幀時隙內信道最多能傳輸數據包的個數,計算超幀時隙利用率;2)利用閾值對超幀時隙利用率進行分析,並動態調整佔空比,降低傳感器節點的能耗;3)利用MAC層緩衝區現存的數據包個數,得到節點緩存佔用率,當其超過一定範圍時,認為該節點負荷較重,應為其競爭信道提供便利;相反,若緩存中數據包不多時,可以讓其保持現狀或者增大該節點退避次數。該方法既能有效的解決傳統算法對能耗的忽略,又能通過基於緩衝區佔用率的自適應退避算法,使得每個傳感器節點都能儘可能多的競爭到信道,傳輸數據包。
【專利說明】傳感器網絡中基於節點緩衝區佔用率的退避方法
【技術領域】
[0001] 本發明屬於傳感器網絡【技術領域】,涉及一種傳感器網絡中基於節點緩衝區佔用率 的退避方法。
【背景技術】
[0002] 傳感器網絡被部署在一些真實的應用場景中,例如,環境監測,安全監控,工業自 動化和控制等。這些應用的實現一部分得益於:(1)IEEE802. 15.4協議,它定義了協議棧的 物理層和介質訪問控制層(2)ZigBee協議,它包含了網絡層和應用層。由於傳感器節點是 電池供電,並且被期望獨立地工作幾個月或幾年,那麼如何減少能耗成了傳感器網絡中一 個主要的問題。另外一個關鍵的問題是傳感器網絡的可靠性如何保障。因為有一些應用程 序對可靠性依賴很高。許多例子通過減少能量消耗和保證可靠性來提高網絡壽命,並且滿 足應用程式的需求。
[0003] 為了解決傳感器節點能耗的問題,目前很多人提出了改變佔空比來減少能耗。例 如,HongeokYoo等提出了基於剩餘能量數目的動態佔空比算法;Rasouli,H等提出了一種 新的基於最大利用網絡流量自動調節佔空比的算法;Oliveira,C.H.S等提出了一種根據 網絡負載變化的超幀改變算法。為了解決傳感器可靠性問題,提高數據包交付率,降低傳輸 時延,基於CSMA/CA的參數改變算法被提出了。例如,周林,陳楊楊提出了一種基於網絡的 流量動態地調整CSMA/CA的退避算法;MarioDiFrancesco等提出了一種複雜度低的分布 式算法-ADAPT(AdaptiveAcessparametersTuning) 〇
[0004] 上述算法雖然解決了能耗問題或者可靠性問題,但是只是單方面解決了一個問 題,沒有同時解決以上問題;而且都是基於全網絡的流量或者吞吐量對協議進行修改,沒有 考慮到節點自身的流量狀況。所以在既能保障減少能耗的前提下,還能提高單個節點自身 可靠性的方面存在一些不足。
【發明內容】
[0005] 有鑑於此,本發明的目的在於提供一種傳感器網絡中基於節點緩衝區佔用率的退 避方法,該方法首先通過計算超幀時隙的利用率,將利用率與閾值結合起來動態改變節點 佔空比,達到減少能耗的目的;其次,計算傳感器節點MAC層緩衝區佔用率,每個節點根據 自身情況自適應地調整退避算法,達到提高協議可靠性,進而提高傳感器網絡的可靠性。
[0006] 為達到上述目的,本發明提供如下技術方案:
[0007] 一種傳感器網絡中基於節點緩衝區佔用率的退避方法,包括以下步驟:
[0008] 步驟一:利用協調器在一個時隙內接收到的數據包個數,及一個超幀時隙內信道 最多能傳輸數據包的個數,計算得到超幀時隙利用率;
[0009] 步驟二:利用閾值對超幀時隙利用率進行分析,並動態調整佔空比,降低傳感器節 點的能耗;
[0010] 步驟三:利用MAC層緩衝區現存的數據包得到節點緩存佔用率,緩存佔用率體現 的是節點緩存中待發送的數據包,當其超過一預設閾值時,認為該節點負荷較重,應為其競 爭信道提供便利;相反,若緩存中數據包不多時,可以讓其保持現狀或者增大該節點退避次 數。
[0011] 進一步,在步驟一中,利用協調器節點在一個超幀時隙內接收到的數據包,及一個 超幀時隙最多能傳輸的數據包,計算超幀時隙利用率,其具體的計算方法如下:
【權利要求】
1. 一種傳感器網絡中基於節點緩衝區佔用率的退避方法,其特徵在於:包括以下步 驟: 步驟一:利用協調器在一個時隙內接收到的數據包個數,及一個超幀時隙內信道最多 能傳輸數據包的個數,計算得到超幀時隙利用率; 步驟二:利用閾值對超幀時隙利用率進行分析,並動態調整佔空比,降低傳感器節點的 能耗; 步驟三:利用MAC層緩衝區現存的數據包得到節點緩存佔用率,緩存佔用率體現的是 節點緩存中待發送的數據包,當其超過一預設閾值時,認為該節點負荷較重,應為其競爭信 道提供便利;相反,若緩存中數據包不多時,可以讓其保持現狀或者增大該節點退避次數。
2. 根據權利要求1所述的一種傳感器網絡中基於節點緩衝區佔用率的退避方法,其特 徵在於:在步驟一中,利用協調器節點在一個超幀時隙內接收到的數據包,及一個超幀時隙 最多能傳輸的數據包,計算超幀時隙利用率,其具體的計算方法如下:
Symbolst0tal=Symbolsreceive-ack+SymboIstransmitjacket Symbolstransmitjacket=Symbols(2CCA+Lpacket) Symbolsreceiveack=Symbols(Lack+tack+IFS) 其中,!為超幀時隙利用率,Symbols^iveadt為目的節點收到發送ACK確認包所 需的時間單位;Symbolstransmitjjad5rt為發送一個數據包所需的時間單位;Symbolst(rtal為成功 傳輸一個數據包所需的時間單位。
3. 根據權利要求2所述的一種傳感器網絡中基於節點緩衝區佔用率的退避方法,其特 徵在於:當R^6iv6dE(0.4, 0.7)時,說明超幀時隙利用率在0.5附近,需要將超幀間隔,及 節點的活躍期變大,以允許傳輸更多的數據包;當(0. 2, 0. 4)時,表明網絡中需要 傳輸的數據包不多,沒必要浪費節點能量,需要把超幀間隔減小,使得活躍期變短。
4. 根據權利要求1所述的一種傳感器網絡中基於節點緩衝區佔用率的退避方法,其特 徵在於:在步驟三中,利用節點MAC層緩衝區現存的數據包個數,得到節點緩存利用率;緩 存利用率BufferRate計算如下:
Currentpackets=TXBuffer.size Totalpackets=macBufferSize 其中,Currentpaekets、Totalpaekets分別為節點中現存的數據包個數、節點MAC層緩衝區能 容納數據包的個數,超過這個值則會溢出;TXBuffer.SizeO為緩衝區目前的大小,根據其 中的數據包數量求得的;macBufferSize為節點MC層緩衝區總共的大小,即能容納數據包 的最大數量。
【文檔編號】H04W28/14GK104507125SQ201510002834
【公開日】2015年4月8日 申請日期:2015年1月5日 優先權日:2015年1月5日
【發明者】尚鳳軍, 毛冉 申請人:重慶郵電大學