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