專利名稱::無線傳感器網(wǎng)絡(luò)中安全有效的數(shù)據(jù)聚合方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種無線傳感器網(wǎng)絡(luò)的數(shù)據(jù)聚合方法,具體是一種基于分組結(jié)構(gòu)的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)聚合方法,可以用于無線傳感器網(wǎng)絡(luò)中安全有效的聚合各個傳感器節(jié)點采集到的數(shù)據(jù)。
背景技術(shù):
:無線傳感器網(wǎng)絡(luò)廣泛應用于軍事偵察、智能建筑、環(huán)境監(jiān)控以及工業(yè)控制等各個領(lǐng)域中。首先,由于傳感器節(jié)點本身使用無線鏈路進行數(shù)據(jù)傳輸,傳輸信號容易受到干擾而導致接收到錯誤數(shù)據(jù),甚至丟失數(shù)據(jù)包。其次,傳感器節(jié)點上的部分傳感器件也會因為故障或損壞等原因而采集到錯誤的數(shù)據(jù)。最后,由于無線傳感器網(wǎng)絡(luò)部署區(qū)域的物理安全性很難保證,這使得傳感器節(jié)點很容易被捕獲,進而導致向無線傳感器網(wǎng)絡(luò)中注入惡意的虛假數(shù)據(jù)信息。這些異常的錯誤數(shù)據(jù)和惡意的攻擊數(shù)據(jù)都會導致無線傳感器網(wǎng)絡(luò)中數(shù)據(jù)聚合時產(chǎn)生錯誤的聚合結(jié)果,從而對無線傳感器網(wǎng)絡(luò)的正常應用造成巨大的影響,甚至產(chǎn)生不可預測的嚴重后果。目前現(xiàn)有的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)聚合方法僅考慮能量有效性問題,并不能過濾掉異常的錯誤數(shù)據(jù)和惡意的攻擊數(shù)據(jù),進而無法保證無線傳感器網(wǎng)絡(luò)數(shù)據(jù)聚合時的有效性和安全性。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種無線傳感器網(wǎng)絡(luò)中安全有效的數(shù)據(jù)聚合方法。使用該方法即可以有效的識別和過濾由器件故障或傳輸干擾等原因而產(chǎn)生的錯誤數(shù)據(jù),也可以安全的識別和過濾無線傳感器網(wǎng)絡(luò)所面臨的各種惡意攻擊方式而產(chǎn)生的虛假數(shù)據(jù)信息。而且,即使是在因網(wǎng)絡(luò)干擾或故障等原因而導致部分采集數(shù)據(jù)缺失的情況下,本方法仍然能保證有效和安全的識別并過濾錯誤和虛假的數(shù)據(jù)信息。為實現(xiàn)上述目的,本發(fā)明采取了以下技術(shù)方案。整個方案包括智能分組、數(shù)據(jù)傳輸及識別過濾、數(shù)據(jù)聚合三個階段,如圖1所示。首先,在智能分組階段將整個傳感器網(wǎng)絡(luò)劃分成若干個組,保證每個組內(nèi)的傳感器節(jié)點在物理空間上位置臨近而且傳感器所采集到的數(shù)據(jù)值接近(不超過預設(shè)的門限值)。其次,在數(shù)據(jù)傳輸及識別過濾階段,組內(nèi)的各個傳感器節(jié)點將采集到的數(shù)據(jù)發(fā)送到本組的組長節(jié)點,組長節(jié)點通過執(zhí)行異常數(shù)據(jù)識別算法過濾錯誤或者虛假的數(shù)據(jù)信息。最后,組長節(jié)點根據(jù)具體的傳感器網(wǎng)絡(luò)應用需求聚合過濾后的數(shù)據(jù),并將其傳輸至網(wǎng)關(guān)節(jié)點。智能分組階段如圖2所示,包括以下具體步驟1)每個傳感器節(jié)點利用隨機數(shù)生成函數(shù)生成隨機延遲時間;2)開始延遲;3)如果上述傳感器節(jié)點在延遲期間收到其他傳感器節(jié)點發(fā)送來的加入組信息,則暫停延遲并保存剩余延遲時間,否則執(zhí)行步驟7);4)此傳感器節(jié)點判斷是否滿足加入組的條件;即利用從加入組消息中獲得的組內(nèi)采集數(shù)據(jù)最大值、最小值、平均值以及此傳感器節(jié)點采集到的數(shù)據(jù)值重新計算此節(jié)點加入組后采集數(shù)據(jù)的最大值、最小值、平均值;如果新計算的采集數(shù)據(jù)最大值、最小值與平均值之差的絕對值均小于預設(shè)門限值并且此傳感器節(jié)點與組中組長節(jié)點的距離小于預設(shè)的最大跳數(shù)值,則此傳感器節(jié)點加入本組,否則此傳感器節(jié)點不加入本組;5)如果步驟4)中加入組條件不滿足,則此傳感器節(jié)點恢復延遲時間,跳轉(zhuǎn)至步驟2)繼續(xù)延遲;否則,此傳感器節(jié)點加入本組,修改其父節(jié)點為所接收到的加入組消息中的源節(jié)點;更新組內(nèi)采集數(shù)據(jù)的最大值、最小值、平均值和節(jié)點個數(shù);6)此傳感器節(jié)點利用更新后的采集數(shù)據(jù)最大值、最小值、平均值、節(jié)點個數(shù)填充廣播數(shù)據(jù)包中的各個域,并廣播更新后的加入組數(shù)據(jù)包;7)此傳感器節(jié)點選擇自己為本組組長,用自己采集到的數(shù)據(jù)填充廣播數(shù)據(jù)包中的采集數(shù)據(jù)最大值、最小值、平均值域,并廣播此加入組數(shù)據(jù)包。數(shù)據(jù)傳輸及識別過濾階段如圖3所示,具體包括以下步驟a)組內(nèi)成員傳感器節(jié)點將采集到的數(shù)據(jù)發(fā)送給組長傳感器節(jié)點;b)組長傳感器節(jié)點接收組內(nèi)各傳感器節(jié)點發(fā)送來的采集數(shù)據(jù);c)組長傳感器節(jié)點運行穩(wěn)健的多維統(tǒng)計方法計算由組內(nèi)各傳感器節(jié)點所采集數(shù)據(jù)構(gòu)成的多維矩陣的均值和協(xié)方差,如0GK(OrthogonalizedGnanadesikan-Kettenring)方法、MCD(MinimumCovaxianceDeterminant)方法、FMCD(FastMinimumCovarianceDeterminant)方法、MBA(MedianBallAlgorithm)方法等;d)組長傳感器節(jié)點利用步驟c)中計算得到的均值和協(xié)方差計算組內(nèi)各成員傳感器節(jié)點所采集數(shù)據(jù)的馬氏距離;e)如果步驟d)中計算出的馬氏距離大于自由度為組內(nèi)節(jié)點個數(shù)的卡方分布值,則此成員傳感器節(jié)點所傳輸?shù)牟杉瘮?shù)據(jù)為異常數(shù)據(jù),組長傳感器節(jié)點將其過濾;否則,此成員傳感器節(jié)點所傳輸?shù)牟杉瘮?shù)據(jù)為正常數(shù)據(jù),組長傳感器節(jié)點接受此數(shù)據(jù)以用于數(shù)據(jù)聚合。數(shù)據(jù)聚合階段將根據(jù)具體的傳感器網(wǎng)絡(luò)應用需求聚合過濾后的采集數(shù)據(jù),并將其傳輸至網(wǎng)關(guān)節(jié)點。這些數(shù)據(jù)中不再包含錯誤或虛假的數(shù)據(jù)信息,從而可以保證最終用戶獲得安全準確的數(shù)據(jù)信息。圖1本發(fā)明整體方案圖2本發(fā)明智能分組階段圖3本發(fā)明數(shù)據(jù)傳輸及識別過濾階段具體實施例方式本發(fā)明在具體實施時包括智能分組、數(shù)據(jù)傳輸及識別過濾、數(shù)據(jù)聚合三個階段。本實施例中的部分數(shù)據(jù)來源于部署在英特爾伯克利實驗室辦公區(qū)的54個Mica2Dot傳感器節(jié)點于2004年2月28日至4月5日所采集的數(shù)據(jù),其中包括溫度(單位攝氏度)、相對濕度(單位%)、光照(單位每平方米流明)數(shù)據(jù)。首先,執(zhí)行智能分組,按照以下具體步驟實施1)每個傳感器節(jié)點利用隨機數(shù)生成函數(shù)RandomC.rand()生成一個隨機數(shù),乘以組內(nèi)節(jié)點間平均消息傳遞時間得到此節(jié)點的隨機延遲時間r。2)傳感器節(jié)點開始延遲。3)如果上述傳感器節(jié)點在延遲期間內(nèi)接收到其他傳感器節(jié)點發(fā)送來的加入組信息,則暫停延遲并保存剩余延遲時間r,否則執(zhí)行步驟(7)。4)此傳感器節(jié)點判斷是否滿足加入組的條件。利用從加入組消息中獲得的組內(nèi)采集數(shù)據(jù)最大值y;^、最小值/,、平均值/,,、節(jié)點個數(shù)n以及此傳感器節(jié)點采集到的數(shù)據(jù)值/重新計算此節(jié)點加入組后采集數(shù)據(jù)的最大值/匪、最小值/1、平均值/;,即/二=tnaX(/max,/),《in=min(/min,/),A=U^xm+/)/(w+1)。如果新計算的采集數(shù)據(jù)最大值、最小值與平均值之差的絕對值均小于預設(shè)門限值s,即|《ax-/。g|<s,|《in-/。g|<^,并且此傳感器節(jié)點與組中組長節(jié)點的距離小于預設(shè)的最大跳數(shù)值A(chǔ),則此傳感器節(jié)點加入本組,否則此傳感器節(jié)點不加入本組。實施例中5=(2,5,600),分別對應于溫度、濕度、光照的門限值,最大跳數(shù)值A(chǔ)取值為3。5)如果步驟(4)中加入組條件不滿足,則此傳感器節(jié)點恢復延遲時間r,跳轉(zhuǎn)至步驟(2)繼續(xù)延遲。否則,此傳感器節(jié)點加入本組,修改其父節(jié)點為所接收到的加入組消息中的源節(jié)點。更新組內(nèi)采集數(shù)據(jù)的最大值、最小值、平均值以及節(jié)點個數(shù)分別為/二、/i、y^和Mi。6)此傳感器節(jié)點利用更新后的采集數(shù)據(jù)最大值/二、最小值/二、平均值《g、節(jié)點個數(shù)"+l填充廣播數(shù)據(jù)包中的各個域,并廣播更新后的加入組數(shù)據(jù)包。7)此傳感器節(jié)點選擇自己為本組組長,用自己采集到的數(shù)據(jù)/填充廣播數(shù)據(jù)包中的采集數(shù)據(jù)最大值、最小值、平均值域,即/_=/,/min=/,/。w=/,節(jié)點個數(shù)"-l,并廣播此加入組數(shù)據(jù)包。智能分組階段執(zhí)行后,整個傳感器網(wǎng)絡(luò)被劃分為8個組,分別為:<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>其次,執(zhí)行數(shù)據(jù)傳輸及識別過濾,按照以下步驟實施。本實施例中以組4為例,組內(nèi)各傳感器節(jié)點所采集的數(shù)據(jù)分別如下表所示-<table>tableseeoriginaldocumentpage8</column></row><table>1)組內(nèi)各成員傳感器節(jié)點2,4,5,6,8,9,10,53,54將采集到的數(shù)據(jù)發(fā)送給組長傳感器節(jié)點7。2)組長傳感器節(jié)點7接收組內(nèi)各傳感器節(jié)點發(fā)送來的采集數(shù)據(jù)。3)組長傳感器節(jié)點7運行穩(wěn)健的多維統(tǒng)計方法計算由組內(nèi)各傳感器節(jié)點所采集數(shù)據(jù)構(gòu)成的多維矩陣的均值;/和協(xié)方差i:,本實施例中選擇0GK方法,得到均值p和協(xié)方差S分別為-<formula>formulaseeoriginaldocumentpage8</formula>0.04126124-0.03501282-0.1829203、-0.035012820.061156770.0923091-0.182920270.092309101.04189144)組長傳感器節(jié)點利用步驟(3)中計算得到的均值和協(xié)方差計算組內(nèi)各成員傳感器節(jié)點所采集數(shù)據(jù)的馬氏距離^/=(/-/^z(/-//)。得到組中各傳感器節(jié)點所采集數(shù)據(jù)的馬氏距離分別如下表所示<table>tableseeoriginaldocumentpage9</column></row><table>5)如果步驟(4)中計算出的馬氏距離大于自由度為組內(nèi)節(jié)點個數(shù)的卡方分布值,即"2>^2(60,則此成員傳感器節(jié)點所傳輸?shù)牟杉瘮?shù)據(jù)為異常數(shù)據(jù),組長傳感器節(jié)點將其過濾。否則,此成員傳感器節(jié)點所傳輸?shù)牟杉瘮?shù)據(jù)為正常數(shù)據(jù),組長傳感器節(jié)點接受此數(shù)據(jù)以用于數(shù)據(jù)聚合。實施例中卡方分布值zf。(0.95)=3.940299,其中自由度"=10,精度"=0.95("的取值范圍一般為0.950.99)。組內(nèi)成員傳感器節(jié)點中節(jié)點6所采集數(shù)據(jù)計算出的馬氏距離39730.351213>3.940299,故節(jié)點6所采集的數(shù)據(jù)被判定為異常數(shù)據(jù),其值將被過濾。其余傳感器節(jié)點所采集數(shù)據(jù)計算出的馬氏距離均小于卡方分布值3.940299,故這些數(shù)據(jù)都屬于正常數(shù)據(jù),他們都將被傳遞到數(shù)據(jù)聚合階段進行聚合。最后,根據(jù)具體的傳感器網(wǎng)絡(luò)應用需求執(zhí)行數(shù)據(jù)聚合,所聚合的數(shù)據(jù)范圍為識別和過濾后的采集數(shù)據(jù),并將其傳輸至網(wǎng)關(guān)節(jié)點。實施例中所采用的數(shù)據(jù)聚合方式為計算所采集數(shù)據(jù)的最大值、最小值、平均值。因此最終的聚合結(jié)果如下表所示<table>tableseeoriginaldocumentpage9</column></row><table>數(shù)據(jù)聚合后,組長節(jié)點7將聚合結(jié)果傳輸至網(wǎng)關(guān)節(jié)點。因為這些識別和過濾后的采集數(shù)據(jù)中不再包含有錯誤或者虛假的數(shù)據(jù)信息,從而可以保證最終用戶獲得安全準確的數(shù)據(jù)信息。權(quán)利要求1.一種無線傳感器網(wǎng)絡(luò)中安全有效的數(shù)據(jù)聚合方法,其特征在于包括智能分組、數(shù)據(jù)傳輸及識別過濾、數(shù)據(jù)聚合三個階段;首先,在智能分組階段將整個傳感器網(wǎng)絡(luò)劃分成若干個組,保證每個組內(nèi)的傳感器節(jié)點在物理空間上位置臨近而且傳感器所采集到的數(shù)據(jù)值接近;其次,在數(shù)據(jù)傳輸及識別過濾階段,組內(nèi)的各個傳感器節(jié)點將采集到的數(shù)據(jù)發(fā)送到本組的組長節(jié)點,組長節(jié)點通過執(zhí)行異常數(shù)據(jù)識別算法過濾錯誤或者虛假的數(shù)據(jù)信息;最后,組長節(jié)點根據(jù)具體的傳感器網(wǎng)絡(luò)應用需求聚合過濾后的數(shù)據(jù),并將其傳輸至網(wǎng)關(guān)節(jié)點;智能分組階段,包括以下具體步驟1)每個傳感器節(jié)點利用隨機數(shù)生成函數(shù)生成隨機延遲時間;2)開始延遲;3)如果上述傳感器節(jié)點在延遲期間收到其他傳感器節(jié)點發(fā)送來的加入組信息,則暫停延遲并保存剩余延遲時間,否則執(zhí)行步驟7);4)此傳感器節(jié)點判斷是否滿足加入組的條件;即利用從加入組消息中獲得的組內(nèi)采集數(shù)據(jù)最大值、最小值、平均值以及此傳感器節(jié)點采集到的數(shù)據(jù)值重新計算此節(jié)點加入組后采集數(shù)據(jù)的最大值、最小值、平均值;如果新計算的采集數(shù)據(jù)最大值、最小值與平均值之差的絕對值均小于預設(shè)門限值并且此傳感器節(jié)點與組中組長節(jié)點的距離小于預設(shè)的最大跳數(shù)值,則此傳感器節(jié)點加入本組,否則此傳感器節(jié)點不加入本組;5)如果步驟4)中加入組條件不滿足,則此傳感器節(jié)點恢復延遲時間,跳轉(zhuǎn)至步驟2)繼續(xù)延遲;否則,此傳感器節(jié)點加入本組,修改其父節(jié)點為所接收到的加入組消息中的源節(jié)點;更新組內(nèi)采集數(shù)據(jù)的最大值、最小值、平均值和節(jié)點個數(shù);6)此傳感器節(jié)點利用更新后的采集數(shù)據(jù)最大值、最小值、平均值、節(jié)點個數(shù)填充廣播數(shù)據(jù)包中的各個域,并廣播更新后的加入組數(shù)據(jù)包;7)此傳感器節(jié)點選擇自己為本組組長,用自己采集到的數(shù)據(jù)填充廣播數(shù)據(jù)包中的采集數(shù)據(jù)最大值、最小值、平均值域,并廣播此加入組數(shù)據(jù)包;數(shù)據(jù)傳輸及識別過濾階段,具體包括以下步驟a)組內(nèi)成員傳感器節(jié)點將采集到的數(shù)據(jù)發(fā)送給組長傳感器節(jié)點;b)組長傳感器節(jié)點接收組內(nèi)各傳感器節(jié)點發(fā)送來的采集數(shù)據(jù);c)組長傳感器節(jié)點運行多維統(tǒng)計方法計算由組內(nèi)各傳感器節(jié)點所采集數(shù)據(jù)構(gòu)成的多維矩陣的均值和協(xié)方差;d)組長傳感器節(jié)點利用步驟c)中計算得到的均值和協(xié)方差計算組內(nèi)各成員傳感器節(jié)點所采集數(shù)據(jù)的馬氏距離;e)如果步驟d)中計算出的馬氏距離大于自由度為組內(nèi)節(jié)點個數(shù)的卡方分布值,則此成員傳感器節(jié)點所傳輸?shù)牟杉瘮?shù)據(jù)為異常數(shù)據(jù),組長傳感器節(jié)點將其過濾;否則,此成員傳感器節(jié)點所傳輸?shù)牟杉瘮?shù)據(jù)為正常數(shù)據(jù),組長傳感器節(jié)點接受此數(shù)據(jù)以用于數(shù)據(jù)聚合。全文摘要無線傳感器網(wǎng)絡(luò)中安全有效的數(shù)據(jù)聚合方法屬于數(shù)據(jù)聚合領(lǐng)域?,F(xiàn)有方法僅考慮能量有效性問題,并不能過濾掉異常的錯誤數(shù)據(jù)和惡意的攻擊數(shù)據(jù),無法保證有效性和安全性。本發(fā)明首先在智能分組階段將整個傳感器網(wǎng)絡(luò)劃分成若干個組,保證每個組內(nèi)的傳感器節(jié)點在物理空間上位置鄰近而且傳感器所采集到的數(shù)據(jù)值接近;其次,在數(shù)據(jù)傳輸及識別過濾階段,組內(nèi)的各個傳感器節(jié)點將采集到的數(shù)據(jù)發(fā)送到本組的組長節(jié)點,組長節(jié)點通過執(zhí)行異常數(shù)據(jù)識別算法過濾錯誤或者虛假的數(shù)據(jù)信息;最后,組長節(jié)點根據(jù)具體的傳感器網(wǎng)絡(luò)應用需求聚合過濾后的數(shù)據(jù),并將其傳輸至網(wǎng)關(guān)節(jié)點。本方法保證有效和安全的識別并過濾錯誤虛假數(shù)據(jù)信息。文檔編號H04L29/06GK101415011SQ200810225349公開日2009年4月22日申請日期2008年10月31日優(yōu)先權(quán)日2008年10月31日發(fā)明者付穎芳,何涇沙,李國瑞申請人:北京工業(yè)大學