專利名稱:基于網絡編碼的無線傳感器網絡數據分發方法
技術領域:
本發明屬于無線傳感器網絡通信技術領域,具體涉及一種無線傳感器網絡數據分 發方法。
背景技術:
無線傳感器網絡已被廣泛應用于軍事、環境監測、醫療護理、建筑物狀態監控等很 多方面。在傳感器網絡中,Sink節點經常需要對所有節點進行數據分發,比如應用程序開 發與調試、代碼更新、參數設置、任務分配等。廣播是Sink節點將數據包傳輸給網絡中所有 節點的一種操作。該廣播必須是可靠、快速并且盡可能地減少能量消耗。廣播通信是無線網絡中的一種很普遍的通信方式。洪泛法是簡單易行的廣播,但 洪泛法會導致巨大的能量開銷,直接影響到無線節點電池的壽命,因此如何利用現有的網 絡資源,減少廣播開銷,提高能量利用率成為研究的熱點之一。用路由的方式實現最小化能 量廣播非常困難。因此,有必要提供一種更好的通信方法以減少無線傳感器網絡的能量消
^^ ο
發明內容
本發明的目的是提出一種基于網絡編碼的無線傳感器網絡數據分發方法,該基于 網絡編碼的無線傳感器網絡數據分發方法用以在實際應用中傳感器節點失效或傳輸鏈路 不穩定導致丟包發生的情況。將網絡編碼與廣播特性相結合,通過對接收的多個數據包進 行編碼,增加單次傳輸的信息量,可減少數據包的傳輸次數和重傳次數,從而達到節省無線 傳感器節點能量消耗的目的。本發明的技術解決方案如下一種基于網絡編碼的無線傳感器網絡數據分發方法,無線傳感器網絡是由一個匯 聚節點和多個普通節點組成,所述的基于網絡編碼的該無線傳感器網絡數據分發方法包括 以下步驟步驟1 匯聚節點分批編碼發出數據步驟匯聚節點將要發送的數據進行分批處理和編碼后,形成編碼包向普通節點廣播; 同一批次的編碼包由m個源數據包組成;每一批次數據包都設置有區分不同批次的批次標 識。步驟2 普通節點轉發數據步驟普通節點接收到編碼包后,首先根據編碼包是否增加矩陣的秩判斷該編碼包是否 是更新包;如果是更新包,則將新數據包存入緩存,如果不是更新包,則丟棄該包,也不再繼 續向其它節點轉發;將收到的更新包按批處理,如果同一批剛好收齊了 m個,就不再轉發, 否則,如果收到的更新包對應的這一批還沒有達到m個,就將收到的η個已編碼包進行再編 碼并以轉發概率P向其它普通節點轉發,n<m;步驟3 數據解碼任一普通節點收到了同一批次的m個更新編碼包后,則解碼出
4原始的數據包;普通節點轉發編碼后的數據包是一個動態的過程,當每一個普通節點都沒有數據 包可發了,則本次通信過程自動結束。步驟1中,當匯聚節點發送數據時,將所要發送的原始數據分成若干個批次,每批 次由m個源數據包組成,這m個數據包記為Xl,x2,….Xffl,并賦予相同的批次標識,每個源數 據包為L比特,當它與要組合的數據包長度不同時,較短的信息附加額外一串“0”補齊到L 比特。選取m個編碼系數,對原始的m個數據包進行線性編碼,把原來的m個源數據編碼成 新的m個數據包,記編碼第i個數據包時所使用的m個編碼系數為gn,gi2,…, gim,則編碼的公式為
權利要求
一種基于網絡編碼的無線傳感器網絡數據分發方法,無線傳感器網絡是由一個匯聚節點和多個普通節點組成,其特征在于,所述的基于網絡編碼的該無線傳感器網絡數據分發方法包括以下步驟步驟1匯聚節點分批編碼發出數據步驟匯聚節點將要發送的數據進行分批處理和編碼后,形成編碼包向普通節點廣播;同一批次的編碼包由m個源數據包組成;每一批次數據包都設置有區分不同批次的批次標識。步驟2普通節點轉發數據步驟普通節點接收到編碼包后,首先根據編碼包是否增加矩陣的秩判斷該編碼包是否是更新包;如果是更新包,則將新數據包存入緩存,如果不是更新包,則丟棄該包,也不再繼續向其它節點轉發;將收到的更新包按批處理,如果同一批剛好收齊了m個,就不再轉發,否則,如果收到的更新包對應的這一批還沒有達到m個,就將收到的n個已編碼包進行再編碼并以轉發概率p向其它普通節點轉發,n<m;步驟3數據解碼任一普通節點收到了同一批次的m個更新編碼包后,則解碼出原始的數據包;普通節點轉發編碼后的數據包是一個動態的過程,當每一個普通節點都沒有數據包可發了,則本次通信過程自動結束。
2.根據權力要求1所述的基于網絡編碼的該無線傳感器網絡數據分發方法,其特征在 于步驟1中,當匯聚節點發送數據時,將所要發送的原始數據分成若干個批次,每批次由m 個源數據包組成,這m個數據包記為Xl,x2,. . . Xffl,并賦予相同的批次標識,每個源數據包為 L比特,當它與要組合的數據包長度不同時,較短的信息附加額外一串“0”補齊到L比特。 選取m個編碼系數,對原始的m個數據包進行線性編碼,把原來的m個源數據編碼成新的m 個數據包y1; y2,... ym,記編碼第i個數據包時所使用的m個編碼系數為gn,gi2,...,gim,則編碼的公式為
3.根據權利要求1或2所述的基于網絡編碼的無線傳感器網絡數據分發方法,其特征 在于編碼包個數m取為2的整數次冪;編碼系數的選取為首系數都取為1,其余系數在0 到q_l之間隨機取整數,q為素數。
4.根據權利要求1所述的基于網絡編碼的無線傳感器網絡數據分發方法,其特征在 于轉發概率P值在0-1之間選取。
5.根據權利要求1-4任一項所述的基于網絡編碼的無線傳感器網絡數據分發方法,其 特征在于匯聚節點發送完同一批次的m個編碼包后,停頓T毫秒時間,來確保普通節點有 充分時間收到同一批次的編碼包;T毫秒過后,匯聚節點再進行下一批次數據包的發送。
全文摘要
本發明公開了一種基于網絡編碼的無線傳感器網絡的數據分發方法,本發明的數據分發方法把流內隨機網絡編碼應用在無線傳感器網絡中Sink節點將數據傳輸給網絡中所有節點的情況。本方法的基本思想是Sink節點將要發送的數據包先進行編碼后再發送,所有其它節點收到足夠的已編碼數據包后進行再編碼并按相應轉發機制進行廣播,當節點收到足夠的編碼包后解碼出原始的數據包。該數據分發方法特別適用于在實際應用中傳感器節點失效或傳輸鏈路不穩定導致丟包發生的情況。將網絡編碼與廣播特性相結合,可減少數據包的傳輸次數和重傳次數,降低無線傳感器網絡信息傳輸過程中的能量消耗,從而節省節點能耗。
文檔編號H04W28/06GK101951556SQ20101029510
公開日2011年1月19日 申請日期2010年9月28日 優先權日2010年9月28日
發明者李仁發, 羅娟, 肖玲 申請人:湖南大學