《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 一种虚拟传感器网络中事件监测的容错机制
一种虚拟传感器网络中事件监测的容错机制
2015年微型机与应用第19期
孙智彦
(南京邮电大学 通信与信息工程学院,江苏 南京 210003)
摘要: 事件监测是无线传感器网络中的重要应用之一,而准确检测出故障节点是提高事件监测效率的前提。为了实现多应用目标传感器网络中较高的节点故障识别率,在基于簇状树的虚拟传感网架构上,提出一种基于节点邻域中值的事件监测容错算法。该算法充分利用了无线传感网节点之间的空间相关性,融合邻域各节点的测量值,通过节点的数值与邻域中值之间的差值来判断节点状态。仿真实验结果表明,即使是在节点故障概率比较高的情况下,该算法依然具有优越的容错性能。
Abstract:
Key words :

  摘  要事件监测是无线传感器网络中的重要应用之一,而准确检测出故障节点是提高事件监测效率的前提。为了实现多应用目标传感器网络中较高的节点故障识别率,在基于簇状树的虚拟传感网架构上,提出一种基于节点邻域中值的事件监测容错算法。该算法充分利用了无线传感网节点之间的空间相关性,融合邻域各节点的测量值,通过节点的数值与邻域中值之间的差值来判断节点状态。仿真实验结果表明,即使是在节点故障概率比较高的情况下,该算法依然具有优越的容错性能。

  关键词: 容错;虚拟传感器网络;事件监测

0 引言

  目前大多数无线传感器网络的部署都是为特定的应用服务,为每个应用部署相应的专用传感器网络往往成本过高,效率低下。虚拟传感器网络(Virtual Sensor Networks,VSN)则从一系列传感器当中挑选出若干节点形成一种逻辑网络,为某类特定的应用服务,其基本概念与在物理拓扑之上建立服务于特定用户的虚拟网络技术有异曲同工之妙。部署在相同地理区域内,并且互相协作的传感器节点可以根据不同的监测任务,在逻辑上构成多个不同的VSN[1]。

  在传统的无线传感网事件监测过程中,往往由于节点的质量较差、被损坏以及无线通信受噪声干扰等问题,导致节点故障,产生错误的采样数值,降低事件监测的准确性。实现准确度较高的事件监测,良好的容错算法必不可少。然而,在虚拟传感网架构中,传感节点的容错需求除了检测出故障节点外,还要考虑在VSN内的故障节点拓扑管理问题,这是传统无线传感网容错算法所欠缺的。因此,本文的主要研究目标是提出适用于虚拟传感网架构,且具有优越性能的容错算法。

1 相关成果

  参考文献[2]提出了一种利用节点测量值的平均值来消除噪声对传感器读数干扰的容错算法。但是该算法仅适用于节点故障率较低的传感网。参考文献[3]同时考虑到了事件的时间、空间相关性,提出了一种分布式的事件区域检测容错算法,但该算法仅局限于固定事件区域的监测。而在虚拟传感器网络架构下的容错处理方面,仅有参考文献[1]利用随机过程描述事件的时间相关性,提出了一种基于统计假设检验的容错策略,通过检验本地采样数据构成的时间序列与事件统计特征的符合程度来判断节点是否发生错误。

  依照参考文献[1],传感器错误分为如下两类[3]:一是误判错误,即监测环境处于正常状态时,传感器节点却报告有相应事件发生;二是失判错误,即事件发生时,传感器节点却没有报告。如果节点失判,由于邻居节点大多都正常工作,已监测到了该事件,所以参考文献[1]认为出现失判无关紧要而不做处理;如果节点发生误判,则不再接受此节点消息。参考文献[1]的容错策略不当之处在于:(1)很多传感网应用并不是仅仅以监测到事件发生为最终目的,还需要将采集到的数据汇总并进行运算处理。失判情况下,如果放任错误数据不管,对传感网应用的结果准确度会产生影响;(2)节点故障状况中存在瞬时测量值故障[4],即由于监测环境的突然变化使得传感节点极短时间内采样数据异常。这样的故障是暂时的、可恢复的。若因为一次瞬时测量值故障,就再不采用该节点所传输的数据,会降低传感网的效率。

2 事件监测的容错算法

  2.1 基于节点邻域中值的容错算法

  在发生例如森林火灾、化工毒气泄漏的监测区域中,邻居节点间在正常情况下的测量数值是相同或者相近的,则称该区域内的节点测量值具有空间相关性[5]。但节点误判或者失判通常是视为随机独立的,不具有空间相关性。本文利用采集数据之间的空间相关性,对可能存在错误的传感数据进行处理。

  假设在传感节点Si的通信半径范围内共有m-1个邻居节点,这m个节点的集合构成了Si的节点邻域,记为N(Si)。其中,Si的第k个邻居节点记为Sik,1≤k≤m-1,其在某时刻所采集到的数据记为D(Sik)。因为节点采样值中有可能会出现与正常数据偏差极大的错误值,所以如果用样本均值来估计中心节点邻域内的总体状态是不合理的。因此,本文用邻域数据中值来反映样本中心。令N(Si)的中值为M(Si),假设Si的邻域N(Si)中,各个邻居节点所采集的数据按照数值大小升序排列,D(Si)≤D(Si1)≤…≤D(Si(m-1)),中值M(Si)的计算公式如下:

  M(Si)=D(Si(m-1)/2),m为奇数[D(Si(m/2)+D(Si(m/2-1))]/2,m为偶数(1)

  得出中值后,再计算出Si的采样数值与M(Si)的差值pi。

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

  得出差值pi后,根据式(3)计算出pi的均值与方差。

 3.png

  之后再由式(4)对传感节点数值与中值的差值pi进行标准化处理。

  4.png

  本文假设在应用场景中,所部署的各个传感器的采样数值都是独立同正态分布的,这意味着理论上N(Si)的均值与中值相同,但中值相比于均值能更为准确地反映出样本中心。而当样本数目i足够大时,经过标准化的中值差值序列g1,g2…gi可视为服从N(0,1)标准正态分布的一个样本。

  最后,根据式(5)来检测Si是否出现故障。将经过标准化的gi与预先给定的阈值θ相比较,其中θ>1。

  5.png

  如果|gi|-θ≥0,则Ri=1,表明Si发生故障。查询标准正态分布表,如果设定判决阈值θ为1.65,则|gi|-θ≥0的概率大约是10%,这意味着如果某些偏离正常采样值范围的极值出现概率不超过10%,则可视作节点故障。其他节点故障率与对应的判决阈值如表1所示。

004.jpg

  2.2 节点信誉机制

  为了解决瞬时测量值故障导致传感网效率降低的问题,本文提出了节点信誉机制。首先,定义变量LTC和STC,分别代表Si的长期信誉和短期信誉,假设max(LTC)为5,max(STC)为3,初始值都为0。status为节点暂时状态,正常时为0,故障时为1,表示正处于考察阶段。final_status为节点最终状态,若为1,则永不采用其采样值。sample为节点信誉未破产阶段的采样许可标识,值为1时正常采样,值为0且final_status为0时采样数据仍参与节点故障检测,但仅对此采样数据的对错进行判断,并不采用。算法伪代码如下:

  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;

  }

  }

  }

  一旦该节点发生故障,则LTC加1,STC无论为何值都重新归零。在Si标识为故障节点期间仍然可以传输其他节点数据,并且其之后的采样数据仍参与节点故障检测,但仅对此采样数据的对错进行判断,并不采用。如果之后的采样数据在正常范围内,则STC加1,直到STC等于3时撤销对节点Si的故障标识,并正常采用其采样数据。这样可以有效规避因某一时刻的瞬时测量值故障而使得节点不再被信任。如果LTC累加到5,可视为Si信誉破产,不再与Si进行任何数据交换,更不会采用其采样值。

3 容错处理流程

  参考文献[6]提出了一种基于自顶向下的簇树状结构的VSN组建算法,使得传感网部署区域内监测到相同事件的节点构成一个VSN。

  在VSN中,监测到事件后需要将消息上传到根节点,每个簇头节点都在VSN簇树构建过程中向路由表内添加条目建立路由,连通监测到相同事件的所有节点。簇头节点处理VSN构建消息的流程图如图1所示。

001.jpg

  根据参考文献[6]所提出的虚拟传感网架构,当VSN内某传感节点经本文第2节容错算法确认为故障节点时,就会进行如图2所示容错处理流程。

002.jpg

  如果Si是VSN簇头节点(Cluster Head,CH),当CH失判时,簇内节点只要有一个监测到了事件,都会上报给CH,并将CH纳入VSN事件内。因此,CH失判对事件能否被监测到影响并不大,但是为了保证失判时CH所提交的错误数据不影响汇总数据的精确性,无论失判还是误判,都需要及时删除并重新选择CH。

4 仿真结果与性能分析

  在仿真实验中,将总数n=5 000个传感节点随机均匀地部署在500 m×500 m的平面区域内,sink节点部署在区域中央。每个节点有8个邻居节点,节点采样频率为10 Hz,max(LTC)=3,max(STC)=3。判决阈值θ= 1.96。考虑同一监测事件发生在单个区域和三个不同区域内两种情况。事件区域内节点测量值服从正态分布N(100,10),故障节点测量值服从均匀分布U(40,100),正常区域节点测量值服从正态分布N(40,10)。比较本文算法与参考文献[1]基于统计假设检验的容错算法在不同节点故障率下的性能优劣。节点故障率与错误节点数目对应关系如表2所示。

005.jpg

  容错准确率=)E5FE0UGB70HLJ_`U`FWS)P.jpg,其中,num(Identify)指检测出来的错误节点数目,num(fault)指错误节点总数。事件监测准确率=`DF5{EOF9{OLE4R28[NCK2X.jpg,其中,num(IEvent)指监测到事件的传感节点数目,num(Event)指位于事件区域内的传感节点数目。

003.jpg

  图3显示了在同事件单区域和多区域的场景中,相同传感节点错误率的情况下,本文算法与参考文献[1]算法的容错准确率。图4则显示了两种应用场景中,两种算法事件监测准确率随节点错误率的变化。图中,标有空心菱形节点的scheme1是参考文献[1]算法性能曲线,标有空心圆节点的scheme2是本文算法性能曲线。由图3、图4可以看出,本文所提出的基于节点邻域中值的事件监测容错算法无论在单目标区域还是多目标区域的事件监测场景中,性能都要比参考文献[1]基于统计假设检验的容错算法更为优越。

5 结束语

  本文研究了虚拟传感器网络架构下的事件监测容错问题,组建了相应的网络模型,提出了一种基于节点邻域中值的事件监测容错算法,利用邻域节点采样值之间的空间相关性,对节点的观测数值的正误进行判断,最后提出了节点信誉机制,有效规避了因瞬时测量值故障导致相应节点被弃用而使得传感网效率降低的问题。仿真实验结果表明,即便是在节点故障概率比较高的情况下,本文提出的算法依然具有优越的容错性能。

参考文献

  [1] 宋欣,王翠荣.基于统计假设检验的虚拟传感网容错策略[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] 曹冬磊,曹建农,金蓓弘.一种无线传感器网络中事件区域检测的容错算法[J].计算机学报,2007,30(10):1770-1776.

  [4] 徐小龙,耿卫建,杨庚,等.高效容错的无线传感网事件及其边界检测算法[J].计算机研究与发展,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.


此内容为AET网站原创,未经授权禁止转载。