《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 一種虛擬傳感器網(wǎng)絡(luò)中事件監(jiān)測的容錯機制
一種虛擬傳感器網(wǎng)絡(luò)中事件監(jiān)測的容錯機制
2015年微型機與應(yīng)用第19期
孫智彥
(南京郵電大學 通信與信息工程學院,江蘇 南京 210003)
摘要: 事件監(jiān)測是無線傳感器網(wǎng)絡(luò)中的重要應(yīng)用之一,而準確檢測出故障節(jié)點是提高事件監(jiān)測效率的前提。為了實現(xiàn)多應(yīng)用目標傳感器網(wǎng)絡(luò)中較高的節(jié)點故障識別率,在基于簇狀樹的虛擬傳感網(wǎng)架構(gòu)上,提出一種基于節(jié)點鄰域中值的事件監(jiān)測容錯算法。該算法充分利用了無線傳感網(wǎng)節(jié)點之間的空間相關(guān)性,融合鄰域各節(jié)點的測量值,通過節(jié)點的數(shù)值與鄰域中值之間的差值來判斷節(jié)點狀態(tài)。仿真實驗結(jié)果表明,即使是在節(jié)點故障概率比較高的情況下,該算法依然具有優(yōu)越的容錯性能。
Abstract:
Key words :

  摘  要事件監(jiān)測是無線傳感器網(wǎng)絡(luò)中的重要應(yīng)用之一,而準確檢測出故障節(jié)點是提高事件監(jiān)測效率的前提。為了實現(xiàn)多應(yīng)用目標傳感器網(wǎng)絡(luò)中較高的節(jié)點故障識別率,在基于簇狀樹的虛擬傳感網(wǎng)架構(gòu)上,提出一種基于節(jié)點鄰域中值的事件監(jiān)測容錯算法。該算法充分利用了無線傳感網(wǎng)節(jié)點之間的空間相關(guān)性,融合鄰域各節(jié)點的測量值,通過節(jié)點的數(shù)值與鄰域中值之間的差值來判斷節(jié)點狀態(tài)。仿真實驗結(jié)果表明,即使是在節(jié)點故障概率比較高的情況下,該算法依然具有優(yōu)越的容錯性能。

  關(guān)鍵詞: 容錯;虛擬傳感器網(wǎng)絡(luò);事件監(jiān)測

0 引言

  目前大多數(shù)無線傳感器網(wǎng)絡(luò)的部署都是為特定的應(yīng)用服務(wù),為每個應(yīng)用部署相應(yīng)的專用傳感器網(wǎng)絡(luò)往往成本過高,效率低下。虛擬傳感器網(wǎng)絡(luò)(Virtual Sensor Networks,VSN)則從一系列傳感器當中挑選出若干節(jié)點形成一種邏輯網(wǎng)絡(luò),為某類特定的應(yīng)用服務(wù),其基本概念與在物理拓撲之上建立服務(wù)于特定用戶的虛擬網(wǎng)絡(luò)技術(shù)有異曲同工之妙。部署在相同地理區(qū)域內(nèi),并且互相協(xié)作的傳感器節(jié)點可以根據(jù)不同的監(jiān)測任務(wù),在邏輯上構(gòu)成多個不同的VSN[1]。

  在傳統(tǒng)的無線傳感網(wǎng)事件監(jiān)測過程中,往往由于節(jié)點的質(zhì)量較差、被損壞以及無線通信受噪聲干擾等問題,導致節(jié)點故障,產(chǎn)生錯誤的采樣數(shù)值,降低事件監(jiān)測的準確性。實現(xiàn)準確度較高的事件監(jiān)測,良好的容錯算法必不可少。然而,在虛擬傳感網(wǎng)架構(gòu)中,傳感節(jié)點的容錯需求除了檢測出故障節(jié)點外,還要考慮在VSN內(nèi)的故障節(jié)點拓撲管理問題,這是傳統(tǒng)無線傳感網(wǎng)容錯算法所欠缺的。因此,本文的主要研究目標是提出適用于虛擬傳感網(wǎng)架構(gòu),且具有優(yōu)越性能的容錯算法。

1 相關(guān)成果

  參考文獻[2]提出了一種利用節(jié)點測量值的平均值來消除噪聲對傳感器讀數(shù)干擾的容錯算法。但是該算法僅適用于節(jié)點故障率較低的傳感網(wǎng)。參考文獻[3]同時考慮到了事件的時間、空間相關(guān)性,提出了一種分布式的事件區(qū)域檢測容錯算法,但該算法僅局限于固定事件區(qū)域的監(jiān)測。而在虛擬傳感器網(wǎng)絡(luò)架構(gòu)下的容錯處理方面,僅有參考文獻[1]利用隨機過程描述事件的時間相關(guān)性,提出了一種基于統(tǒng)計假設(shè)檢驗的容錯策略,通過檢驗本地采樣數(shù)據(jù)構(gòu)成的時間序列與事件統(tǒng)計特征的符合程度來判斷節(jié)點是否發(fā)生錯誤。

  依照參考文獻[1],傳感器錯誤分為如下兩類[3]:一是誤判錯誤,即監(jiān)測環(huán)境處于正常狀態(tài)時,傳感器節(jié)點卻報告有相應(yīng)事件發(fā)生;二是失判錯誤,即事件發(fā)生時,傳感器節(jié)點卻沒有報告。如果節(jié)點失判,由于鄰居節(jié)點大多都正常工作,已監(jiān)測到了該事件,所以參考文獻[1]認為出現(xiàn)失判無關(guān)緊要而不做處理;如果節(jié)點發(fā)生誤判,則不再接受此節(jié)點消息。參考文獻[1]的容錯策略不當之處在于:(1)很多傳感網(wǎng)應(yīng)用并不是僅僅以監(jiān)測到事件發(fā)生為最終目的,還需要將采集到的數(shù)據(jù)匯總并進行運算處理。失判情況下,如果放任錯誤數(shù)據(jù)不管,對傳感網(wǎng)應(yīng)用的結(jié)果準確度會產(chǎn)生影響;(2)節(jié)點故障狀況中存在瞬時測量值故障[4],即由于監(jiān)測環(huán)境的突然變化使得傳感節(jié)點極短時間內(nèi)采樣數(shù)據(jù)異常。這樣的故障是暫時的、可恢復(fù)的。若因為一次瞬時測量值故障,就再不采用該節(jié)點所傳輸?shù)臄?shù)據(jù),會降低傳感網(wǎng)的效率。

2 事件監(jiān)測的容錯算法

  2.1 基于節(jié)點鄰域中值的容錯算法

  在發(fā)生例如森林火災(zāi)、化工毒氣泄漏的監(jiān)測區(qū)域中,鄰居節(jié)點間在正常情況下的測量數(shù)值是相同或者相近的,則稱該區(qū)域內(nèi)的節(jié)點測量值具有空間相關(guān)性[5]。但節(jié)點誤判或者失判通常是視為隨機獨立的,不具有空間相關(guān)性。本文利用采集數(shù)據(jù)之間的空間相關(guān)性,對可能存在錯誤的傳感數(shù)據(jù)進行處理。

  假設(shè)在傳感節(jié)點Si的通信半徑范圍內(nèi)共有m-1個鄰居節(jié)點,這m個節(jié)點的集合構(gòu)成了Si的節(jié)點鄰域,記為N(Si)。其中,Si的第k個鄰居節(jié)點記為Sik,1≤k≤m-1,其在某時刻所采集到的數(shù)據(jù)記為D(Sik)。因為節(jié)點采樣值中有可能會出現(xiàn)與正常數(shù)據(jù)偏差極大的錯誤值,所以如果用樣本均值來估計中心節(jié)點鄰域內(nèi)的總體狀態(tài)是不合理的。因此,本文用鄰域數(shù)據(jù)中值來反映樣本中心。令N(Si)的中值為M(Si),假設(shè)Si的鄰域N(Si)中,各個鄰居節(jié)點所采集的數(shù)據(jù)按照數(shù)值大小升序排列,D(Si)≤D(Si1)≤…≤D(Si(m-1)),中值M(Si)的計算公式如下:

  M(Si)=D(Si(m-1)/2),m為奇數(shù)[D(Si(m/2)+D(Si(m/2-1))]/2,m為偶數(shù)(1)

  得出中值后,再計算出Si的采樣數(shù)值與M(Si)的差值pi。

  pi=|D(Si)-M(Si)|(2)

  得出差值pi后,根據(jù)式(3)計算出pi的均值與方差。

 3.png

  之后再由式(4)對傳感節(jié)點數(shù)值與中值的差值pi進行標準化處理。

  4.png

  本文假設(shè)在應(yīng)用場景中,所部署的各個傳感器的采樣數(shù)值都是獨立同正態(tài)分布的,這意味著理論上N(Si)的均值與中值相同,但中值相比于均值能更為準確地反映出樣本中心。而當樣本數(shù)目i足夠大時,經(jīng)過標準化的中值差值序列g(shù)1,g2…gi可視為服從N(0,1)標準正態(tài)分布的一個樣本。

  最后,根據(jù)式(5)來檢測Si是否出現(xiàn)故障。將經(jīng)過標準化的gi與預(yù)先給定的閾值θ相比較,其中θ>1。

  5.png

  如果|gi|-θ≥0,則Ri=1,表明Si發(fā)生故障。查詢標準正態(tài)分布表,如果設(shè)定判決閾值θ為1.65,則|gi|-θ≥0的概率大約是10%,這意味著如果某些偏離正常采樣值范圍的極值出現(xiàn)概率不超過10%,則可視作節(jié)點故障。其他節(jié)點故障率與對應(yīng)的判決閾值如表1所示。

004.jpg

  2.2 節(jié)點信譽機制

  為了解決瞬時測量值故障導致傳感網(wǎng)效率降低的問題,本文提出了節(jié)點信譽機制。首先,定義變量LTC和STC,分別代表Si的長期信譽和短期信譽,假設(shè)max(LTC)為5,max(STC)為3,初始值都為0。status為節(jié)點暫時狀態(tài),正常時為0,故障時為1,表示正處于考察階段。final_status為節(jié)點最終狀態(tài),若為1,則永不采用其采樣值。sample為節(jié)點信譽未破產(chǎn)階段的采樣許可標識,值為1時正常采樣,值為0且final_status為0時采樣數(shù)據(jù)仍參與節(jié)點故障檢測,但僅對此采樣數(shù)據(jù)的對錯進行判斷,并不采用。算法偽代碼如下:

  max(LTC)=5;max(STC)=3;

  LTC=0;STC=0;

  status=0;final_status=0;sample=1;

  WHILE(final_status!=1)

  {

  IF(LTC==5)

  {

  final_status=1;

  }

  IF(status==1)

  {

  LTC++;

  STC=0;

  sample=0;

  }

  ELSE

  IF(status==0&&LTC!=0)

  {

  STC++;

  IF(STC==3)

  {

  sample=1;

  }

  }

  }

  一旦該節(jié)點發(fā)生故障,則LTC加1,STC無論為何值都重新歸零。在Si標識為故障節(jié)點期間仍然可以傳輸其他節(jié)點數(shù)據(jù),并且其之后的采樣數(shù)據(jù)仍參與節(jié)點故障檢測,但僅對此采樣數(shù)據(jù)的對錯進行判斷,并不采用。如果之后的采樣數(shù)據(jù)在正常范圍內(nèi),則STC加1,直到STC等于3時撤銷對節(jié)點Si的故障標識,并正常采用其采樣數(shù)據(jù)。這樣可以有效規(guī)避因某一時刻的瞬時測量值故障而使得節(jié)點不再被信任。如果LTC累加到5,可視為Si信譽破產(chǎn),不再與Si進行任何數(shù)據(jù)交換,更不會采用其采樣值。

3 容錯處理流程

  參考文獻[6]提出了一種基于自頂向下的簇樹狀結(jié)構(gòu)的VSN組建算法,使得傳感網(wǎng)部署區(qū)域內(nèi)監(jiān)測到相同事件的節(jié)點構(gòu)成一個VSN。

  在VSN中,監(jiān)測到事件后需要將消息上傳到根節(jié)點,每個簇頭節(jié)點都在VSN簇樹構(gòu)建過程中向路由表內(nèi)添加條目建立路由,連通監(jiān)測到相同事件的所有節(jié)點。簇頭節(jié)點處理VSN構(gòu)建消息的流程圖如圖1所示。

001.jpg

  根據(jù)參考文獻[6]所提出的虛擬傳感網(wǎng)架構(gòu),當VSN內(nèi)某傳感節(jié)點經(jīng)本文第2節(jié)容錯算法確認為故障節(jié)點時,就會進行如圖2所示容錯處理流程。

002.jpg

  如果Si是VSN簇頭節(jié)點(Cluster Head,CH),當CH失判時,簇內(nèi)節(jié)點只要有一個監(jiān)測到了事件,都會上報給CH,并將CH納入VSN事件內(nèi)。因此,CH失判對事件能否被監(jiān)測到影響并不大,但是為了保證失判時CH所提交的錯誤數(shù)據(jù)不影響匯總數(shù)據(jù)的精確性,無論失判還是誤判,都需要及時刪除并重新選擇CH。

4 仿真結(jié)果與性能分析

  在仿真實驗中,將總數(shù)n=5 000個傳感節(jié)點隨機均勻地部署在500 m×500 m的平面區(qū)域內(nèi),sink節(jié)點部署在區(qū)域中央。每個節(jié)點有8個鄰居節(jié)點,節(jié)點采樣頻率為10 Hz,max(LTC)=3,max(STC)=3。判決閾值θ= 1.96。考慮同一監(jiān)測事件發(fā)生在單個區(qū)域和三個不同區(qū)域內(nèi)兩種情況。事件區(qū)域內(nèi)節(jié)點測量值服從正態(tài)分布N(100,10),故障節(jié)點測量值服從均勻分布U(40,100),正常區(qū)域節(jié)點測量值服從正態(tài)分布N(40,10)。比較本文算法與參考文獻[1]基于統(tǒng)計假設(shè)檢驗的容錯算法在不同節(jié)點故障率下的性能優(yōu)劣。節(jié)點故障率與錯誤節(jié)點數(shù)目對應(yīng)關(guān)系如表2所示。

005.jpg

  容錯準確率=)E5FE0UGB70HLJ_`U`FWS)P.jpg,其中,num(Identify)指檢測出來的錯誤節(jié)點數(shù)目,num(fault)指錯誤節(jié)點總數(shù)。事件監(jiān)測準確率=`DF5{EOF9{OLE4R28[NCK2X.jpg,其中,num(IEvent)指監(jiān)測到事件的傳感節(jié)點數(shù)目,num(Event)指位于事件區(qū)域內(nèi)的傳感節(jié)點數(shù)目。

003.jpg

  圖3顯示了在同事件單區(qū)域和多區(qū)域的場景中,相同傳感節(jié)點錯誤率的情況下,本文算法與參考文獻[1]算法的容錯準確率。圖4則顯示了兩種應(yīng)用場景中,兩種算法事件監(jiān)測準確率隨節(jié)點錯誤率的變化。圖中,標有空心菱形節(jié)點的scheme1是參考文獻[1]算法性能曲線,標有空心圓節(jié)點的scheme2是本文算法性能曲線。由圖3、圖4可以看出,本文所提出的基于節(jié)點鄰域中值的事件監(jiān)測容錯算法無論在單目標區(qū)域還是多目標區(qū)域的事件監(jiān)測場景中,性能都要比參考文獻[1]基于統(tǒng)計假設(shè)檢驗的容錯算法更為優(yōu)越。

5 結(jié)束語

  本文研究了虛擬傳感器網(wǎng)絡(luò)架構(gòu)下的事件監(jiān)測容錯問題,組建了相應(yīng)的網(wǎng)絡(luò)模型,提出了一種基于節(jié)點鄰域中值的事件監(jiān)測容錯算法,利用鄰域節(jié)點采樣值之間的空間相關(guān)性,對節(jié)點的觀測數(shù)值的正誤進行判斷,最后提出了節(jié)點信譽機制,有效規(guī)避了因瞬時測量值故障導致相應(yīng)節(jié)點被棄用而使得傳感網(wǎng)效率降低的問題。仿真實驗結(jié)果表明,即便是在節(jié)點故障概率比較高的情況下,本文提出的算法依然具有優(yōu)越的容錯性能。

參考文獻

  [1] 宋欣,王翠榮.基于統(tǒng)計假設(shè)檢驗的虛擬傳感網(wǎng)容錯策略[J].東北大學學報(自然科學版),2012,33(3):361-364.

  [2] JIN G, NITTEL S. Ned: an efficient noise-tolerant event and event boundary detection algorithm in wireless sensor networks[C]. Mobile Data Management, 2006. 7th International Conference on. IEEE, 2006: 153-153.

  [3] 曹冬磊,曹建農(nóng),金蓓弘.一種無線傳感器網(wǎng)絡(luò)中事件區(qū)域檢測的容錯算法[J].計算機學報,2007,30(10):1770-1776.

  [4] 徐小龍,耿衛(wèi)建,楊庚,等.高效容錯的無線傳感網(wǎng)事件及其邊界檢測算法[J].計算機研究與發(fā)展,2014,51(5):997-1008.

  [5] JI S, YUAN S F, MA T H, et al. Distributed fault detection for wireless sensor based on weighted average[C]. Networks Security Wireless Communications and Trusted Computing(NSWCTC), 2010 Second International Conference on. IEEE, 2010:57-60.

  [6] BANDARA H M N D, JAYASUMANA A P, ILLANGASEKARE T H. Cluster tree based self organization of virtual sensor networks[C]. GLOBECOM Workshops, 2008 IEEE. 2008:1-6.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。