專利名稱:基于數(shù)據(jù)輸出過濾機(jī)制的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及無線傳感器網(wǎng)絡(luò)領(lǐng)域,特別涉及一種基于數(shù)據(jù)輸出過濾機(jī)制的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集方法,適用于條件惡劣環(huán)境中的數(shù)據(jù)可靠收集。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)是由大量的傳感器節(jié)點(diǎn)通過無線通信方式組成的多跳自組織網(wǎng)絡(luò),這些傳感器節(jié)點(diǎn)具有信息采集、數(shù)據(jù)處理和無線通信等功能,同時(shí)具有能量受限,計(jì)算和通信能力受限的特點(diǎn)。無線傳感器網(wǎng)絡(luò)能夠在人們無法接近的惡劣或特殊環(huán)境中工作,如氣候監(jiān)控、外層空間以及戰(zhàn)場環(huán)境和信息采集系統(tǒng)建設(shè)等,也可以在水災(zāi)、火災(zāi)或地震災(zāi)難性環(huán)境的災(zāi)害監(jiān)測中發(fā)揮重要作用,這類場景是無線傳感器網(wǎng)絡(luò)一類常見的應(yīng)用模式。然而在這類場景下,網(wǎng)絡(luò)中的感知數(shù)據(jù)往往變得非常脆弱,其可用性在外界環(huán)境的影響下可能嚴(yán)重下降。如何提高各類場景下無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)持久性和數(shù)據(jù)收集效率成為了該研究領(lǐng)域的重要問題。傳統(tǒng)的多跳無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集方法主要基于可靠路由傳輸策略而設(shè)計(jì),但這類方法通常需要對網(wǎng)絡(luò)進(jìn)行全局預(yù)配置,例如傳感器節(jié)點(diǎn)需要一定的網(wǎng)絡(luò)全局信息。然而,在災(zāi)難等極端場景下,此類基于路由的收集方法往往顯得低效而不適用,更可行的方法是用隨機(jī)路由的方式來進(jìn)行數(shù)據(jù)收集。近年來,此領(lǐng)域中基于網(wǎng)絡(luò)編碼的數(shù)據(jù)收集方法的研究得到了較多的關(guān)注。基于增量碼(Growth Codes)的數(shù)據(jù)收集協(xié)議較好地解決了災(zāi)難場景中數(shù)據(jù)可靠收集問題,有效地提高了零配置網(wǎng)絡(luò)的數(shù)據(jù)持久性和數(shù)據(jù)收集速率。但該協(xié)議仍存在一些問題,研究者們針對不同的問題相繼提出了相應(yīng)的收集方法,如:胡世文等人在《基于Bloom過濾器改進(jìn)的Growth Codes》一文中,在增量碼的研究基礎(chǔ)上,提出一種有效減少冗余數(shù)據(jù)傳輸,提高數(shù)據(jù)傳輸和解碼速度的數(shù)據(jù)收集方法;萬健等人在專利《基于節(jié)點(diǎn)分級策略的無線傳感器網(wǎng)絡(luò)編碼數(shù)據(jù)采集方法》(專利號(hào):201210052883)中,針對監(jiān)測區(qū)域邊緣數(shù)據(jù)的收集效率低下的問題,設(shè)計(jì)了一種基于節(jié)點(diǎn)分級策略的數(shù)據(jù)收集協(xié)議,改變了基于增量碼的數(shù)據(jù)收集協(xié)議中完全隨機(jī)的數(shù)據(jù)傳輸方式,使每個(gè)傳感器節(jié)點(diǎn)以不同的概率來選取鄰居節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸,從而提高了邊緣數(shù)據(jù)被匯聚節(jié)點(diǎn)恢復(fù)的概率,進(jìn)而提高了整個(gè)網(wǎng)絡(luò)數(shù)據(jù)收集的效率;王汝傳等在專利《基于時(shí)間序列預(yù)測模型的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)采集方法》(專利號(hào):200910026101)中,針對能耗最小化問題,利用時(shí)間序列預(yù)測模型來完成對傳感器節(jié)點(diǎn)的動(dòng)態(tài)調(diào)度,優(yōu)化采樣頻率,解決無線傳感器網(wǎng)絡(luò)能耗最小化的需求問題。由于基于增量碼的數(shù)據(jù)收集方法中數(shù)據(jù)交換和數(shù)據(jù)匯聚都是以完全隨機(jī)的方式進(jìn)行,從而使匯聚節(jié)點(diǎn)隨著數(shù)據(jù)收集過程的推進(jìn)收集到越來越多的含有已恢復(fù)數(shù)據(jù)單元的無效碼字,致使其解碼率逐漸下降。特別地,在數(shù)據(jù)收集后期,由于匯聚節(jié)點(diǎn)的解碼率過低,其需要相當(dāng)長的時(shí)間來獲取最后未收集到的數(shù)據(jù)單元。若能為匯聚節(jié) 點(diǎn)持續(xù)不斷地提供有效碼字,提高其解碼率,縮短收集最后一部分?jǐn)?shù)據(jù)的時(shí)間,將會(huì)大幅度提升匯聚節(jié)點(diǎn)的數(shù)據(jù)收集效率。
發(fā)明內(nèi)容
本發(fā)明的目的在于:針對已有增量網(wǎng)絡(luò)編碼的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集方法效率低的問題,提出一種高效的數(shù)據(jù)收集技術(shù)方法,保證網(wǎng)絡(luò)的其他傳感器節(jié)點(diǎn)能持續(xù)為匯聚節(jié)點(diǎn)提供有效碼字,提高匯聚節(jié)點(diǎn)在每個(gè)時(shí)段的解碼率,縮短收集全部數(shù)據(jù)所需的時(shí)間,提高整個(gè)網(wǎng)絡(luò)系統(tǒng)收集數(shù)據(jù)的效率。為了達(dá)到以上目的,本發(fā)明設(shè)計(jì)了數(shù)據(jù)輸出過濾機(jī)制,使得有效碼字能夠更快地輸出到匯聚節(jié)點(diǎn)進(jìn)行解碼。該機(jī)制主要包括局部配置網(wǎng)絡(luò)收集模型、預(yù)解碼機(jī)制以及數(shù)據(jù)監(jiān)聽緩存機(jī)制等三部分。本發(fā)明解決其技術(shù)問題的技術(shù)方案是:步驟1:部署無線傳感器網(wǎng)絡(luò)Stepl:將N個(gè)傳感器節(jié)點(diǎn)快速部署在欲監(jiān)測區(qū)域內(nèi),各傳感器節(jié)點(diǎn)通過自組織通信形成網(wǎng)絡(luò)。Step2:初始化所有傳感器節(jié)點(diǎn)的配置信息,如鄰居表、存儲(chǔ)空間等。Step3:選取區(qū)域邊緣的一個(gè)傳感器節(jié)點(diǎn)作為網(wǎng)絡(luò)數(shù)據(jù)處理中心在網(wǎng)絡(luò)中的代理節(jié)點(diǎn),其中網(wǎng)絡(luò)數(shù)據(jù)處理中心也稱匯聚節(jié)點(diǎn)。步驟2:網(wǎng)絡(luò)局部配置,構(gòu)建單跳收集樹Stepl:代理節(jié)點(diǎn)廣播一次hello信息,將所有接受到hello信息的傳感器節(jié)點(diǎn)設(shè)置為緩存節(jié)點(diǎn)。Step2:初 始化代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)的特有配置信息,如過濾位圖、存儲(chǔ)空間、開啟預(yù)解碼和監(jiān)聽緩存功能等。步聚3:傳感器節(jié)點(diǎn)采集數(shù)據(jù)和收集Stepl:網(wǎng)絡(luò)中每個(gè)傳感器節(jié)點(diǎn)i對環(huán)境進(jìn)行數(shù)據(jù)采樣并產(chǎn)生一個(gè)數(shù)據(jù)單元Xi。Step2:網(wǎng)絡(luò)中每個(gè)傳感器節(jié)點(diǎn)i將自身的存儲(chǔ)空間全部存儲(chǔ)為Xi,并且在一個(gè)額外的空間中保存Xi,作為該節(jié)點(diǎn)的編碼源數(shù)據(jù)。Step3:設(shè)maxdegree=l,當(dāng)前所有碼字的度不大于maxdegree。Step4:在匯聚節(jié)點(diǎn)上初始化一個(gè)空的解碼數(shù)據(jù)單元集合X,以及一個(gè)暫時(shí)不能解碼的空碼字集合Y。Step5:設(shè)round=l, round表示數(shù)據(jù)收集進(jìn)行的輪數(shù)。Step6:若round=l,則所有緩存節(jié)點(diǎn)將自身產(chǎn)生的數(shù)據(jù)發(fā)送給代理節(jié)點(diǎn),然后清空存儲(chǔ)空間;否則(round>l),在本輪中,遍歷網(wǎng)絡(luò)所有傳感器節(jié)點(diǎn),如果傳感器節(jié)點(diǎn)i為普通節(jié)點(diǎn),即除代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)以外的傳感器節(jié)點(diǎn),則需完成的工作為:I)從C個(gè)存儲(chǔ)的碼字中隨機(jī)挑選一個(gè)碼字S。2)如果degree (s)〈maxdegree并且碼字s中不包含數(shù)據(jù)單元Xi,那么對碼字s進(jìn)行編碼操作= ,其中degree (S)表不碼字s的度。3)如果round彡Kmaxdegree, maxdegree增加I,其中Kmaxdegree為碼字的度轉(zhuǎn)換時(shí)刻。4)隨機(jī)挑選一個(gè)能與其直接進(jìn)行通信的傳感器節(jié)點(diǎn)j,即鄰居節(jié)點(diǎn),并用碼字s與鄰居節(jié)點(diǎn)j隨機(jī)挑選的碼字s’互相交換。5)將碼字S,存儲(chǔ)在s的存儲(chǔ)空間。
如果傳感器節(jié)點(diǎn)i為緩存節(jié)點(diǎn),則需完成的工作為:I)監(jiān)聽鄰居節(jié)點(diǎn)的碼字廣播(在與其他傳感器節(jié)點(diǎn)交換碼字時(shí)產(chǎn)生),如果該碼字是有效碼字,保存下來;否則,丟棄。2)輪到該節(jié)點(diǎn)通信時(shí),從存儲(chǔ)空間中隨機(jī)挑選一個(gè)碼字S,并發(fā)送給代理節(jié)點(diǎn)。3)最后,緩存節(jié)點(diǎn)i收到最新的過濾位圖后,根據(jù)該位圖清理存儲(chǔ)空間中的冗余碼字。代理節(jié)點(diǎn)所需完成的工作:I)接收到一個(gè)來自代理節(jié)點(diǎn)的一個(gè)碼字S,如果當(dāng)前該碼字是有效碼字且存儲(chǔ)空間有空閑時(shí),保存s到存儲(chǔ)空間;特別地,如果預(yù)解碼出該碼字為可解碼字,在過濾位圖上標(biāo)記上解出數(shù)據(jù)屬于哪個(gè)傳感器節(jié)點(diǎn)ID號(hào)。2)輪到該節(jié)點(diǎn)通信時(shí),發(fā)送一個(gè)有效碼字給匯聚節(jié)點(diǎn)。3)最后,代理節(jié)點(diǎn)將最新的過濾位圖廣播給所有的緩存節(jié)點(diǎn)。匯聚節(jié)點(diǎn)所需完成的工作為:I)接收到一個(gè)來自代理節(jié)點(diǎn)的一個(gè)碼字。2)運(yùn)行迭代型解碼器D程序進(jìn)行解碼,新解出的數(shù)據(jù)單元存入X中,當(dāng)X中的數(shù)據(jù)單元數(shù)量為N時(shí),轉(zhuǎn)入Step8。Step7:round 增加 I,轉(zhuǎn)至 Step6。Step8:停止收集工作。本發(fā)明有益效果:1、本發(fā)明采用局部配置模型,即在零配置收集模型的基礎(chǔ)上,對代理節(jié)點(diǎn)及其鄰居節(jié)點(diǎn)進(jìn)行配置,將代理節(jié)點(diǎn)的鄰居節(jié)點(diǎn)設(shè)置為緩存節(jié)點(diǎn),形成了四層收集模型,即匯聚節(jié)點(diǎn)層、代理節(jié)點(diǎn)層、緩存節(jié)點(diǎn)層和普通節(jié)點(diǎn)層,緩存節(jié)點(diǎn)層的增加過濾掉了那些冗余碼字,促進(jìn)了數(shù)據(jù)傳輸?shù)男屎蛥R聚節(jié)點(diǎn)恢復(fù)數(shù)據(jù)的效率。2、本發(fā)明通過為緩存節(jié)點(diǎn)添加預(yù)解碼功能和監(jiān)聽緩存功能,并為代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)設(shè)置了過濾器位圖,通過為匯聚節(jié)點(diǎn)拓寬碼字的選擇范圍,過濾掉冗余的無效碼字,保證了代理節(jié)點(diǎn)能夠持續(xù)不斷地為匯聚節(jié)點(diǎn)傳輸有效碼字,提高了數(shù)據(jù)收集的效率。3、本發(fā)明通過由緩存節(jié)點(diǎn)和代理節(jié)點(diǎn)組成的單跳收集樹,在結(jié)構(gòu)上從無配置改進(jìn)為局部配置,優(yōu)化了碼字輸出調(diào)度策略,減少了無效碼字的傳輸次數(shù),從而節(jié)省了網(wǎng)絡(luò)的能量資源。此外,本發(fā)明通過不同角色的傳感器節(jié)點(diǎn)間相互協(xié)作,使數(shù)據(jù)的收集速率幾乎接近了理想速率,并表現(xiàn)了良好的魯棒性。4、本發(fā)明相對基于增量碼的數(shù)據(jù)收集方法使用了較多的存儲(chǔ)空間,但并沒有增加通信資源的代價(jià),而且具有了非常良好的收集性能,本發(fā)明更加適用于災(zāi)難場景下的數(shù)據(jù)收集工作。
圖1為本發(fā)明技術(shù)采用的無線傳感器網(wǎng)絡(luò)模型示意圖;圖2為基于增量碼的數(shù)據(jù)收集協(xié)議的三層網(wǎng)絡(luò)收集模型;圖3為本發(fā)明技術(shù)的四層網(wǎng)絡(luò)收集模型;圖4為本發(fā)明技術(shù)中進(jìn)行局部配置后的網(wǎng)絡(luò)示意圖5為本發(fā)明技術(shù)中緩存節(jié)點(diǎn)的監(jiān)聽與過濾功能示意圖;圖6為本發(fā)明技術(shù)中代理節(jié)點(diǎn)過濾位圖更新示意圖;圖7為本發(fā)明技術(shù)中緩存節(jié)點(diǎn)過濾位圖更新示意圖;圖8為解碼器D的具體流程圖;圖9為本發(fā)明技術(shù)的具體流程圖。
具體實(shí)施例方式根據(jù)圖1網(wǎng)絡(luò)模型示意圖,本發(fā)明技術(shù)采用的無線傳感器網(wǎng)絡(luò)為:N個(gè)傳感器節(jié)點(diǎn)被隨機(jī)部署在一 個(gè)LXL的監(jiān)測區(qū)域內(nèi)。匯聚節(jié)點(diǎn)被安放在監(jiān)測區(qū)域外部來進(jìn)行數(shù)據(jù)處理和恢復(fù)工作。匯聚節(jié)點(diǎn)在監(jiān)測區(qū)域邊緣選擇一個(gè)傳感器節(jié)點(diǎn)作為其代理節(jié)點(diǎn)。網(wǎng)絡(luò)中所有的數(shù)據(jù)都是經(jīng)過代理節(jié)點(diǎn)傳輸?shù)絽R聚節(jié)點(diǎn)的。在網(wǎng)絡(luò)開始工作前,代理節(jié)點(diǎn)將進(jìn)行局部配置,即:發(fā)送一次廣播,將其所有鄰居節(jié)點(diǎn)設(shè)置為緩存節(jié)點(diǎn),形成一個(gè)單跳收集樹結(jié)構(gòu),并使它們具有預(yù)解碼功能和監(jiān)聽緩存功能,最后為代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)均設(shè)置一個(gè)過濾位圖。網(wǎng)絡(luò)中其他普通節(jié)點(diǎn)只與其通信范圍內(nèi)的領(lǐng)居節(jié)點(diǎn)進(jìn)行直接通信。本發(fā)明技術(shù)主要包括局部配置網(wǎng)絡(luò)收集模型、預(yù)解碼機(jī)制和數(shù)據(jù)監(jiān)聽緩存機(jī)制三個(gè)部分:1、局部配置網(wǎng)絡(luò)收集模型從網(wǎng)絡(luò)節(jié)點(diǎn)的角色來看,已有基于增量碼的數(shù)據(jù)收集協(xié)議的網(wǎng)絡(luò)結(jié)構(gòu)可以看成一種如圖2所示的三層收集模型。在本發(fā)明技術(shù)中,通過局部配置,在代理節(jié)點(diǎn)周圍增添了緩存節(jié)點(diǎn)層,形成如圖3所示的四層收集模型。該四層模型僅需在網(wǎng)絡(luò)布置完畢后,代理節(jié)點(diǎn)通過向其鄰居節(jié)點(diǎn)廣播一個(gè)hello消息,接收到消息的鄰居節(jié)點(diǎn)將被設(shè)置為緩存節(jié)點(diǎn)。在該四層收集模型下,緩存節(jié)點(diǎn)的主要任務(wù)是監(jiān)聽普通節(jié)點(diǎn)之間的碼字交換,并從中根據(jù)過濾位圖挑選有效碼字,最終通過代理節(jié)點(diǎn)將這些有效碼字發(fā)送給匯聚節(jié)點(diǎn)。2、預(yù)解碼機(jī)制為了接收和發(fā)送有效碼字,代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)需要判斷碼字的類型,在本發(fā)明技術(shù)中,該過程主要通過預(yù)解碼機(jī)制完成。首先,傳感器節(jié)點(diǎn)須知道匯聚節(jié)點(diǎn)迄今已經(jīng)收集到了哪些數(shù)據(jù),從而針對性地接收和發(fā)送有效碼字。在本發(fā)明提出的局部配置網(wǎng)絡(luò)模型中,由于緩存節(jié)點(diǎn)和代理節(jié)點(diǎn)需要使用預(yù)解碼機(jī)制,這些傳感器節(jié)點(diǎn)均設(shè)置一個(gè)過濾位圖,用于記錄匯聚節(jié)點(diǎn)已經(jīng)恢復(fù)出的數(shù)據(jù)單元所屬傳感器節(jié)點(diǎn)的ID號(hào)。在本發(fā)明的具體實(shí)現(xiàn)中,米用位圖結(jié)構(gòu)來表不該過濾位圖:boolean data_recovered[node_num]。在網(wǎng)絡(luò)開始收集數(shù)據(jù)時(shí),過濾位圖均被初始化為false,表示匯聚節(jié)點(diǎn)還未收集到任何數(shù)據(jù)。當(dāng)代理節(jié)點(diǎn)或緩存節(jié)點(diǎn)監(jiān)聽或發(fā)送一個(gè)碼字Si時(shí),通過計(jì)算其與已恢復(fù)數(shù)據(jù)集合X的距離diSt(Si,X)來判斷該碼字是否為可以解碼出新的數(shù)據(jù)單元,從而進(jìn)行相應(yīng)的處理操作;其中,碼字Si和集合X的距離dist (Si, X)定義為構(gòu)成碼字Si的d個(gè)數(shù)據(jù)單元與集合X中的原始數(shù)據(jù)單元所不同的個(gè)數(shù)。本發(fā)明中,上述過程稱為預(yù)解碼。緩存節(jié)點(diǎn)使用預(yù)解碼機(jī)制進(jìn)行碼字監(jiān)聽過濾,其主要原理是:緩存節(jié)點(diǎn)通過自身的過濾位圖,判斷所監(jiān)聽的碼字是無效的碼字還是含有新數(shù)據(jù)單元的有效碼字;如果判斷監(jiān)聽的碼字為有效碼字,則保存;如果為無效碼字,則丟棄。而代理節(jié)點(diǎn)使用預(yù)解碼機(jī)制對發(fā)送給匯聚節(jié)點(diǎn)的碼字進(jìn)行過濾;如果判斷出碼字s是冗余碼字,則表示匯聚已經(jīng)恢復(fù)出了 S中包含的所有數(shù)據(jù)單元,因此不發(fā)送這個(gè)類型的碼字;如果判斷出碼字S是可解碼字,則優(yōu)先發(fā)送,表明匯聚節(jié)點(diǎn)將恢復(fù)出相應(yīng)傳感器節(jié)點(diǎn)的數(shù)據(jù)單元;如果判斷出碼字S是有效碼字但暫時(shí)不能解出新的數(shù)據(jù)單元,同樣發(fā)送給匯聚節(jié)點(diǎn),但不具有優(yōu)先發(fā)送權(quán),因?yàn)樵摯a字無法使匯聚節(jié)點(diǎn)立即解出新的數(shù)據(jù)單元。由于過濾位圖是保證預(yù)解碼機(jī)制的重要基礎(chǔ),隨著匯聚節(jié)點(diǎn)收集數(shù)據(jù)量的增加,代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)上的過濾位圖的更新變得十分重要。代理節(jié)點(diǎn)主要通過預(yù)解碼機(jī)制進(jìn)行過濾位圖更新,而緩存節(jié)點(diǎn)的更新過程主要通過代理節(jié)點(diǎn)的位圖廣播。3、數(shù)據(jù)監(jiān)聽緩存機(jī)制為了使代理節(jié)點(diǎn)能夠持續(xù)不斷地為匯聚節(jié)點(diǎn)輸送有效碼字,本發(fā)明設(shè)計(jì)了數(shù)據(jù)監(jiān)聽緩存機(jī)制,使緩存節(jié)·點(diǎn)監(jiān)聽并保存有效數(shù)據(jù)。該機(jī)制的主要原理就是緩存節(jié)點(diǎn)通過預(yù)解碼機(jī)制判斷從普通節(jié)點(diǎn)監(jiān)聽到的碼字是無效的碼字還是有效碼字。如果判斷監(jiān)聽的碼字為有效碼字,則保存下來;如果為無效碼字,則丟棄。由于緩存節(jié)點(diǎn)的數(shù)量較多,在每一輪的碼字監(jiān)聽中,可以從中保存很多有效碼字,從而有效地保證了代理節(jié)點(diǎn)能夠持續(xù)不斷地向匯聚節(jié)點(diǎn)發(fā)送有效碼字進(jìn)行解碼。緩存節(jié)點(diǎn)從保存下來的有效碼字中選取一個(gè)碼字發(fā)送給代理節(jié)點(diǎn),代理節(jié)點(diǎn)根據(jù)預(yù)解碼機(jī)制判斷該碼字是否為能解出新的數(shù)據(jù)單元,若能解出,則將其優(yōu)先發(fā)送給匯聚節(jié)點(diǎn),并更新過濾位圖。最后代理節(jié)點(diǎn)將向所有的緩存節(jié)點(diǎn)廣播最新的過濾位圖,以保持兩類傳感器節(jié)點(diǎn)間的同步。下面將通過一個(gè)例子來更加形象地描述本技術(shù)發(fā)明的具體實(shí)施方式
。如圖4,網(wǎng)絡(luò)中隨機(jī)布置了 13個(gè)傳感器節(jié)點(diǎn),并且每個(gè)傳感器節(jié)點(diǎn)可以和網(wǎng)絡(luò)中的一部分傳感器節(jié)點(diǎn)通信(圖中有線段相連的兩個(gè)傳感器節(jié)點(diǎn)可直接通信)。在此例中,1#傳感器節(jié)點(diǎn)為代理節(jié)點(diǎn),代理節(jié)點(diǎn)的鄰居節(jié)點(diǎn)2#和4#則是緩存節(jié)點(diǎn),從圖中可以看出,緩存節(jié)點(diǎn)可以監(jiān)聽4個(gè)普通節(jié)點(diǎn)3#, 6#, 7#和8#,其它均為普通節(jié)點(diǎn),進(jìn)行碼字存儲(chǔ)和交換。在本發(fā)明技術(shù)中,緩存節(jié)點(diǎn)的主要任務(wù)是監(jiān)聽普通節(jié)點(diǎn)間的碼字交換。如,8#傳感器節(jié)點(diǎn)和10#傳感器節(jié)點(diǎn)互相交換碼字。由于2#緩存節(jié)點(diǎn)是8#普通節(jié)點(diǎn)的鄰居,即在碼字交換時(shí)當(dāng)8#傳感器節(jié)點(diǎn)向10#傳感器節(jié)點(diǎn)發(fā)送碼字的時(shí)候,2#緩存節(jié)點(diǎn)也可以接收到該碼字。如圖5所示,假設(shè)8#傳感器節(jié)點(diǎn)向10#傳感器節(jié)點(diǎn)發(fā)送了一個(gè)碼字A0 X8。2#緩存節(jié)點(diǎn)也將接收到該碼字,它根據(jù)過濾位圖判斷出該碼字包含新的數(shù)據(jù)單元,并保存該碼字。根據(jù)本發(fā)明,在每一輪中2#緩存節(jié)點(diǎn)需要隨機(jī)發(fā)送一個(gè)碼字給1#代理節(jié)點(diǎn)。如圖6所示,若代理節(jié)點(diǎn)收到來自2#緩存節(jié)點(diǎn)的碼字并判斷出可以解出新數(shù)據(jù)單元,則更新過濾位圖。在每一輪的最后,如圖7所示,1#代理節(jié)點(diǎn)將最新的過濾位圖廣播給2#緩存節(jié)點(diǎn)和4#緩存節(jié)點(diǎn)。匯聚節(jié)點(diǎn)在每一輪里都會(huì)接收到由代理節(jié)點(diǎn)發(fā)送的有效碼字,通過運(yùn)行解碼器D (解碼器D具體流程圖如圖8所示)對該碼字進(jìn)行解碼。隨后緩存節(jié)點(diǎn)根據(jù)收到的最新過濾位圖清理緩存中的冗余碼字。本技術(shù)發(fā)明的具體流程圖如圖9所示。
權(quán)利要求
1.基于數(shù)據(jù)輸出過濾機(jī)制的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集方法,其特征在于該數(shù)據(jù)收集方法包括以下步驟: 步驟1:部署無線傳感器網(wǎng)絡(luò) Stepl:將N個(gè)傳感器節(jié)點(diǎn)快速部署在欲監(jiān)測區(qū)域內(nèi),各傳感器節(jié)點(diǎn)通過自組織通信形成網(wǎng)絡(luò); Step2:初始化所有傳感器節(jié)點(diǎn)的配置信息,包括鄰居表和存儲(chǔ)空間; Step3:選取區(qū)域邊緣的一個(gè)傳感器節(jié)點(diǎn)作為網(wǎng)絡(luò)數(shù)據(jù)處理中心在網(wǎng)絡(luò)中的代理節(jié)點(diǎn),其中網(wǎng)絡(luò)數(shù)據(jù)處理中心也稱匯聚節(jié)點(diǎn); 步驟2:網(wǎng)絡(luò)局部配置,構(gòu)建單跳收集樹 Stepl:代理節(jié)點(diǎn)廣播一次hello信息,將所有接受到hello信息的傳感器節(jié)點(diǎn)設(shè)置為緩存節(jié)點(diǎn); Step2:初始化代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)的特有配置信息,包括過濾位圖、存儲(chǔ)空間、開啟預(yù)解碼和監(jiān)聽緩存功能; 步聚3:傳感器節(jié)點(diǎn)采集數(shù)據(jù)和收集 Stepl:網(wǎng)絡(luò)中每個(gè)傳感器節(jié)點(diǎn)i對環(huán)境進(jìn)行數(shù)據(jù)采樣并產(chǎn)生一個(gè)數(shù)據(jù)單元Xi ; Step2:網(wǎng)絡(luò)中每個(gè)傳感器節(jié)點(diǎn)i將自身的存儲(chǔ)空間全部存儲(chǔ)為Xi,并且在一個(gè)額外的空間中保存Xi,作為該節(jié)點(diǎn)的編碼源數(shù)據(jù) ; Step3:設(shè)maxdegree=l,當(dāng)前所有碼字的度不大于maxdegree ; Step4:在匯聚節(jié)點(diǎn)上初始化一個(gè)空的解碼數(shù)據(jù)單元集合X,以及一個(gè)暫時(shí)不能解碼的空碼字集合Y ; Step5:設(shè)round=l, round表示數(shù)據(jù)收集進(jìn)行的輪數(shù); Step6:若round=l,則所有緩存節(jié)點(diǎn)將自身產(chǎn)生的數(shù)據(jù)發(fā)送給代理節(jié)點(diǎn),然后清空存儲(chǔ)空間;若round〉I,在本輪中,遍歷網(wǎng)絡(luò)所有傳感器節(jié)點(diǎn),如果傳感器節(jié)點(diǎn)i為普通節(jié)點(diǎn),即除代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)以外的傳感器節(jié)點(diǎn),則需完成的工作為: 1)從C個(gè)存儲(chǔ)的碼字中隨機(jī)挑選一個(gè)碼字s; 2)如果degree(s)〈maxdegree并且碼字s中不包含數(shù)據(jù)單元Xi,那么對碼字s進(jìn)行編碼操作:$ = ,其中degree (S)表示碼字s的度; 3)如果round彡Kmaxdegree,maxdegree增加I,其中Kmaxdegree為碼字的度轉(zhuǎn)換時(shí)刻; 4)隨機(jī)挑選一個(gè)能與其直接進(jìn)行通信的傳感器節(jié)點(diǎn)j,即鄰居節(jié)點(diǎn),并用碼字s與鄰居節(jié)點(diǎn)j隨機(jī)挑選的碼字S,互相交換; 5)將碼字S,存儲(chǔ)在s的存儲(chǔ)空間; 如果傳感器節(jié)點(diǎn)i為緩存節(jié)點(diǎn),則需完成的工作為: 1)監(jiān)聽鄰居節(jié)點(diǎn)的碼字廣播,如果該碼字是有效碼字,保存下來;否則,丟棄; 2)輪到該節(jié)點(diǎn)通信時(shí),從存儲(chǔ)空間中隨機(jī)挑選一個(gè)碼字S,并發(fā)送給代理節(jié)點(diǎn); 3)最后,緩存節(jié)點(diǎn)i收到最新的過濾位圖后,根據(jù)該位圖清理存儲(chǔ)空間中的冗余碼字; 代理節(jié)點(diǎn)所需完成的工作: I)接收到一個(gè)來自代理節(jié)點(diǎn)的一個(gè)碼字S,如果當(dāng)前該碼字是有效碼字且存儲(chǔ)空間有空閑時(shí),保存s到存儲(chǔ)空間;特別地,如果預(yù)解碼出該碼字為可解碼字,在過濾位圖上標(biāo)記上解出數(shù)據(jù)屬于哪個(gè)傳感器節(jié)點(diǎn)ID號(hào); 2)輪到該節(jié)點(diǎn)通信時(shí),發(fā)送一個(gè)有效碼字給匯聚節(jié)點(diǎn); 3)最后,代理節(jié)點(diǎn)將最新的過濾位圖廣播給所有的緩存節(jié)點(diǎn); 匯聚節(jié)點(diǎn)所需完成的工作為: 1)接收到一個(gè)來自代理節(jié)點(diǎn)的一個(gè)碼字; 2)運(yùn)行迭代型解碼器D程序進(jìn)行解碼,新解出的數(shù)據(jù)單元存入X中,當(dāng)X中的數(shù)據(jù)單元數(shù)量為N時(shí),轉(zhuǎn)入St印8 ;Step7: round 增加 I,轉(zhuǎn)至 Step6 ; Step8:停止收集工作。
2.根據(jù)權(quán)利要求1所述的基于數(shù)據(jù)輸出過濾機(jī)制的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集方法,其特征在于:在步驟2中,代理節(jié)點(diǎn)通過一次廣播,將其所有鄰居節(jié)點(diǎn)設(shè)置為緩存節(jié)點(diǎn),構(gòu)成了單跳收集樹結(jié)構(gòu);每個(gè)代理節(jié)點(diǎn)和緩存節(jié)點(diǎn)都配置了一個(gè)過濾位圖,并具有預(yù)解碼功能和監(jiān)聽緩存功能;這種配置只涉及到網(wǎng)絡(luò)的局部,屬于局部配置,不需要花費(fèi)過多的功耗和時(shí)間。
3.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)輸出過濾機(jī)制的無線傳感器網(wǎng)絡(luò)編碼數(shù)據(jù)收集方法,其特征在于:在步驟3中,每個(gè)傳感器節(jié)點(diǎn)的角色不同,具有不同的功能,在每輪所需要做的工作也有所不同;普通節(jié)點(diǎn)在數(shù)據(jù)收集階段將采用增量碼數(shù)據(jù)收集協(xié)議的編碼方式和傳輸方式進(jìn)行工作,不同的是,本方法根據(jù)新的數(shù)據(jù)傳輸模型對度轉(zhuǎn)A-1 I換時(shí)刻序列Iig進(jìn)行重新計(jì)算得到的,并得出了最優(yōu)的度轉(zhuǎn)換時(shí)刻序列:=Σ「,i=G b f,]R廠1Kj =K^1+ Σ 7,其中Ri表示匯聚節(jié)點(diǎn)從度不大于i的碼字中解碼出數(shù)據(jù)單元的數(shù)量,Ri 1J = 1,2,...,N-1,ζ d表示在匯聚節(jié)點(diǎn)已經(jīng)解碼出r個(gè)數(shù)據(jù)單元,且當(dāng)前碼字度 / + I’為d時(shí),每輪能夠解碼出新數(shù)據(jù)單元的概率。
4.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)輸出過濾機(jī)制的無線傳感器網(wǎng)絡(luò)編碼數(shù)據(jù)收集方法,其特征在于:在步驟3中,所有緩存節(jié)點(diǎn)采用數(shù)據(jù)監(jiān)聽緩存機(jī)制和預(yù)解碼機(jī)制,并根據(jù)代理節(jié)點(diǎn)提供的最新過濾位圖對網(wǎng)絡(luò)中交換的碼字進(jìn)行過濾和監(jiān)聽,保存含有新數(shù)據(jù)的有效碼字,從而保證了為代理節(jié)點(diǎn)不斷地提供有效碼字。
5.根據(jù)權(quán)利要求1所述的一種基于數(shù)據(jù)輸出過濾機(jī)制的無線傳感器網(wǎng)絡(luò)編碼數(shù)據(jù)收集方法,其特征在于:在步驟3中,代理節(jié)點(diǎn)采用預(yù)解碼機(jī)制來判斷來自緩存節(jié)點(diǎn)的碼字是否為有效碼字,并決定是否存儲(chǔ);每輪中代理節(jié)點(diǎn)都會(huì)為匯聚節(jié)點(diǎn)提供一個(gè)有效碼字,并根據(jù)匯聚節(jié)點(diǎn)最新解碼情況更新過濾位圖,最后廣播給所有緩存節(jié)點(diǎn),使信息保持同步。
全文摘要
本發(fā)明涉及一種無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集方法,尤其是基于數(shù)據(jù)輸出過濾機(jī)制的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)收集方法。該方法針對災(zāi)難、極端環(huán)境等場景中的數(shù)據(jù)可靠收集問題而設(shè)計(jì),通過局部配置網(wǎng)絡(luò)和數(shù)據(jù)過濾機(jī)制提高匯聚節(jié)點(diǎn)解碼效率,以提高網(wǎng)絡(luò)數(shù)據(jù)收集效率的方法。該方法在增量網(wǎng)絡(luò)編碼方法的基礎(chǔ)上提出了局部配置網(wǎng)絡(luò)收集模型、預(yù)解碼機(jī)制以及數(shù)據(jù)監(jiān)聽緩存機(jī)制等三部分該方法,通過局部配置網(wǎng)絡(luò)模型,增設(shè)緩存節(jié)點(diǎn),并與代理節(jié)點(diǎn)形成單跳數(shù)據(jù)收集樹,在普通節(jié)點(diǎn)進(jìn)行數(shù)據(jù)編碼和交換時(shí),緩存節(jié)點(diǎn)通過監(jiān)聽和過濾功能保存有效的編碼數(shù)據(jù),促使匯聚節(jié)點(diǎn)能夠提高解碼效率,提高整個(gè)網(wǎng)絡(luò)數(shù)據(jù)的收集效率。該方法能夠以接近理想收集速率收集網(wǎng)絡(luò)數(shù)據(jù),并具有良好的魯棒性,適用于災(zāi)難、極端環(huán)境中的數(shù)據(jù)可靠、高效收集。
文檔編號(hào)H04W24/00GK103237313SQ20131011852
公開日2013年8月7日 申請日期2013年4月7日 優(yōu)先權(quán)日2013年4月7日
發(fā)明者徐向華, 李春良 申請人:杭州電子科技大學(xué)