基于补偿的无线传感器网络可靠性数据的传播策
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)06-1178-05
无线传感器网络经历了快速的发展,特别是针对一些危险的环境的监控,推出了许多应用。无线传感器网络可以在战场上、受灾地区和有毒区域密集的部署,用以处理各种突发事件,实现对类似战场、火山喷发等状况的监控甚至对类似核泄漏事件的监测[1]。这些极具颠覆性且寿命较短的应用需要即时可靠的收集传感数据,因为这些应用的主要特点是:1) 具有突发性;2) 短期内没有人工干预使得其难以及时的收集所需的信息。
在一些具有破坏性的环境中,任何情况的发生都有可能造成传感器节点的突然死亡,于是,实现快速和准确的消息传输成为了一个无线传感器网络可靠性和服务质量的重要方面。因此,在一些节点失效的情况下,需要一种机制来保证足够的信息收集。换句话说,这种机制需要有一定的容错率,确保网络中出现一个或者一些节点死亡的情况时并不会影响到整个传感器网络所要执行的任务。
以往的一些研究方法主要是通过减少数据传输量或者融合数据来实现能量高效的无线传感器网络,该文提出了一种新的、智能的机制——基于数据补偿的可靠性数据传输机制(PCI),该方案建立在分簇路由的基础上,一方面用以减少不必要的、冗余的信息,另一方面通过补偿信息传输不足来保证传输的可靠性。PCI可以提高网络可靠性、减少传输时延、使网络能量得到高效利用。
1 系统总体设计
1.1 系统模型
PCI包括三个部分:可靠性概率计算模型P,消息分类机制C和智能均衡机制I。可靠性概率计算模型给出了接收方正确接受发送方发送的有效消息的可靠性概率,接着PCI可以由此计算出当前簇头节点(CH)发送的数据包能够被基站(BS)正确接受的概率。基于此可靠性概率值,通过消息分类机制C,PCI可以同步实现对消息的分类和转发。此外,PCI根据智能均衡机制中的补偿判断模块决定是过滤还是补偿信息。根据不同的情况,PCI调用不同的机制。我们将每单位时间内发送相同类消息的数量定义为消息的频率。补偿判断模块判断消息的频率并根据信息的饱和度来调用不同的模块。消息的饱和度是某个阈值。当消息饱和时,智能均衡机制调用冗余过滤模块来过滤那些具有时空相关特性的冗余信息。当消息不饱和时,智能均衡机制通过调用消息补偿模块提高消息的传输率,以此来保证能有足够的有效信息能够被基站准确的接收。
1.2 网络模型
分簇的网络可以有效的减少网络的能耗,延长网络的生命周期。LEACH协议就是一个典型的例子[2],这种协议运用分布式算法使网络中的节点自组织成簇,每个簇由簇内的簇头节点控制,这些簇头节点收集并融合来自其成员节点的信息,之后将这些信息转发至基站。而ECDG协议则是在成簇阶段之后,在这些均匀分布的簇头节点中生成一个路由树,只有作为根节点的簇头节点才负责把自身和其他簇头节点转发过来的融合消息转发至基站。与同类型的LEACH协议相比,ECDG也采用轮换选取簇头节点的方式,不同的是,他采用在簇头节点之间建立路由树的方法将信息通过多跳的方式传输至基站,如图1所示。
考虑到大规模无线传感器网络的适用性,PCI协议是建立在ECDG协议[4]的基础上提出来的,我们假设:1) 一个传感器网络是由一个基站和大量的传感器节点组成,这些节点是自组织成簇的;2) 每个簇内的成员节点由该簇内的簇头节点监控,簇头节点可以广播消息至簇内的所有节点;3) 所有的节点在部署完毕后都是静止不动的。4) 每个簇头节点对于其簇内的成员节点而言,都是消息可达的。如图1所示,簇头节点通过单跳或者多跳的方式将数据转发至基站。簇内的成员节点的主要功能有两点:感知和传输数据。感知模块负责监控周围的环境,之后采集到的数据将被传输至簇内的簇头节点。
1.3 文中所用到的符号解释
A1:接收方能够准确接收到的有效数据量,比如:基站。
Ci:网络中的第i个簇。
A2:Ci发往基站的数据量。
Hab:节点a到节点b的跳数。
Hi:簇头节点i到基站的跳数。
P: 默认的网络中传输错误的概率值[3]。
Pab:节点a和b之间传输的准确率。
Pt:簇头节点和基站之间传输的准确率。
2 功能模块的实现与测试
在这一节中,我们将重点介绍PCI协议的组成结构和工作原理。如图2所示,PCI协议主要包括三个部分:1) 可靠性概率计算机制;2) 消息分类机制;3) 智能均衡机制。
图2 PCI协议架构图
在簇头节点选取阶段,PCI协议在簇头节点中同步地建立起来。在簇头节点处理消息之前,PCI首先运用概率估计算法计算出当前簇头节点发送的有效数据被基站正确接受的概率。然后,PCI开始处理消息,这个处理过程分为两个阶段:消息分类阶段和智能均衡阶段。在第一个阶段,PCI通过消息分类机制,同步实现对消息的分类和转发;第二阶段,PCI通过智能均衡机制决定是过滤还是补偿信息。其中的补偿判断模块的功能是确定消息的频率并根据信息的饱和度来调用不同的模块。
2.1 可靠性概率计算机制
出于无线传感器网络固有的传输容易出错的特点,一般的网络不能提供良好的可靠性传输。因此,有必要估计有效消息能被基站准确接收的概率。依据此概率值,PCI可以确定能被基站成功接受的数据量。根据ECDG协议可知,ECDG形成了多个簇,其中绝大部分的簇头节点以多跳的方式将消息转发至基站。其中每一跳,消息都将按照同样的可靠性概率来转发。
在这一节,我们提出了一种从簇头节点到基站可靠传输概率的计算方法。我们假定无线传感器网络有默认的传输误码率P。为了简化计算,我们用式子1和2来分别表示数据量和传输概率之间的关系以及两个节点之间传输概率的关系:
[A1=A21-P] (1)
根据如上所述,我们可以得到在成簇阶段每个簇头结点到基站的跳数,这个跳数不是固定的,而是节点的空间位置决定的,我们称之为Hi。不失一般性,我们可以根据下式得到可靠性传输的概率:
[Pt=b=1Hi-1Pb,b+1] (2)
首先,可以设定默认值[pb,b+1=1-p],因此式子2可表示为:
[Pt=1-PHi-1] (3)
为了简化计算,根据泰勒级数理论,可靠性传输概率[pt≈1-pHi-1]。为了保证这个可靠性概率,我们假设
Ci至少需要发送A2量的数据至基站。A1则可以由下式得到:
[A1=A2?Pt=A2b=1Hi-1Pb,b+1] (4)
因此,如果要保证作为根节点的簇头节点至少有1bit的数据传输至基站,也就是当A1=1时,A2可由下式得到:
[A2=1Pt=1b=1Hi-1Pb,b+1≈11-PHi-1≈11-PHi-1] (5)
通过式子5的结果,我们可以实现保证至少1Byte的消息数据可以被基站成功接收。在发送了足够数量的消息之后(比如A2的数据量),各簇头节点会通知其成员节点暂缓发送数据,直到新的一轮开始。通过可靠性概率计算机制,PCI可以减少许多多余的消息数据的发送,因此减少了通信开销。节点可以通过其内部的状态表来抑制冗余消息重发。
在不同的情况下,节点可以适当的调整这些重复消息的发送量以保证数据传输建立在可靠性概率的基础之上。此外,随着网络的运行,各节点的能量逐渐的减少,传输错误的概率逐渐增加。为了解决这一问题,基站会根据其接收的消息数量来调整概率参数值。
2.2 消息分类机制
消息分类机制在消息处理之前建立,负责消息的采集和分类。一般情况下,簇头节点内的消息数据来源主要分为三种:1)节点自己生成的消息数据;2) 来自簇内其他非簇头节点的消息;3) 转发来自其他簇头节点的消息。
簇内的每个节点都有唯一的ID,这些ID均存储在该簇的簇头节点的成员节点ID表中,通过此表,簇头节点可以区分不同的消息类型。为了减少网络的传输时延和能耗,上述第三种类型的消息将被直接转发至基站,因为这些来自其他簇头节点的消息已经被负责转发他们的簇头节点处理过了,因此,无需耗费有限的能量再去处理。对于前两种数据,我们将提出一种合理的融合方案,这种方案可以进一步的保证网络的可靠性,并且利用概率论的方法在下一个机制中实现数据补偿。
2.3 智能均衡机制
智能均衡机制包括三个部分:1) 补偿判断模块;2) 冗余过滤模块;3) 消息补偿模块。
2.3.1补偿判断模块 J
补偿判断模块负责判断当前状态下是否需要进行数据补偿。我们设计一个名为AList的表来保存各种最新发送的消息数据,并通过此表来区分和传输消息。AList表内的内容如下:< MT, Fre ,BS >。在这三项中,MT表示消息的类型,BS是一个用来表示消息饱和度状态的布尔型变量。如果BS的值是正的,则表示此种类型的消息发送量已足够,类似的消息数据将暂时延缓发送。然后,冗余过滤模块将发送饱和度反馈信息至补偿判断模块,以决定是否需要调用消息补偿模块。Fre代表某一种类型的消息数据的数量。当它超过某个值时(这个值是基于可靠性概率Pt时需要传输的最小消息数据量Max),我们确定此类消息数据的发送量已足够,此时,布尔型变量的值设为正,并同时更新AList。
此外,在补偿判断模块分类消息数据之前,需要将新接收到的消息与记录在AList中的历史消息进行比较。事实上,无线传感器网络中的节点一般具有时空相关性,我们可以假设同一簇内某一时期产生的消息数据类型是相同的,这表示在正常情况下,同一簇内某一时期产生不同类型消息的概率是非常小的。此外,AList表需要占用一小部分的内存空间,并且这个空间里存储的内容会被不断的更新。
简单来说,令到达簇头节点时,补偿判断模块将通过下式来验证它。
[simMa,Mi=VMa?VMiVMa×VMi] (6)
其中,是一个新类型的消息,它将被存入AList并更新AList表。
2.3.2 冗余过滤模块 F
冗余过滤模块用于处理冗余消息。传感网能否以一种高效的方式来转发消息数据是十分关键的。众所周知,节点通过无线链路传输数据所产生的能耗要远大于节点处理同等量消息所产生的能耗。如前文所述,实际上,当监控区域内的事件发生时,同一簇内绝大多数的节点采集和发送的数据中包含的内容是相同的。个别的节点同时发送不同类型的消息数据的可能性很低。因此,并不需要所有的节点都与基站通信。这表示,我们需要将数据进行聚合,并在保证可靠性概率的基础之上只发送一定量的消息数据即可。
根据概率计算的结果可知,在某一阶段,当监测区域有事件发生时,每个簇头节点至少发送Max的数据量以保证此发送的有效消息可以被基站准确的接收。而不同的簇头节点由于其到基站的跳数不同,发送量也不同。为了进一步保证可靠性,基站会发送查询信息到每个簇头节点以告知他们是暂缓发送数据还是增加传输量。在发送了足够多的信息之后,在此轮接下来的时间内即使出现数据采集不足的情况,簇头节点也不会再进行消息补偿,因为基站已经接收到了足够可靠的信息。这样做避免了不必要的补偿措施。随后,簇头节点停止消息数据传输。
2.3.3 消息补偿模块 A
由于无线传感器网络经常被部署在恶劣的环境中,所以整个网络经常会遭受不同程度的损坏。如果发生爆炸,比如出现火山喷发或腐蚀性液体泄露的情况等等,均会损坏传感器节点,这将会导致网络消息数据采集不足。针对此类问题,我们通过消息补偿模块的功能来解决。如图3所示,传感网络一共包含6个簇:簇1~6,从图中可以看出,簇1、4、5内的节点分别遭到了不同程度的破坏,簇1和簇5内节点损坏情况比较严重,簇4相对较轻。一旦簇头节点侦测到此状况,他将通过对簇内成员节点数量的检查来确认此情况。举列来说,在簇5内部,将近70%的节点遭到了破坏,这导致该簇的数据采集量在短时间内急剧下降,此时簇头节点将调用消息补偿模块的功能来增加消息数据的量。另一方面,如果簇头节点遭到破坏,簇内剩余的节点将重新组簇或者加入到相邻的簇中。簇4内的节点由于受损数量较少,并不会出现数据采集不足的情况。
图3 网络受损情况图
根据上节所
述情况,当簇头节点通过冗余消息过滤模块发送的反馈信息得知消息数据量不足时,补偿判断模块将调用补偿机制来增加发送的相关数据量,直到有Max的数据量发送往基站。为了保证传输的可靠性,在下面两种情况下会调用消息补偿模块的功能:1.簇内节点大面积受损,导致消息数据采集发送不足;2.该簇所监控区域某段时间内发生瞬态事件。
3 仿真及结果分析
在这一节,我们通过MATLAB仿真来评估PCI协议的性能。根据PCI协议的要求,我们将此仿真建立在无线传感器网络ECDG协议的基础之上。为了比较PCI、ECDG和LEACH之间的性能,我们在这三种不同的环境下做了仿真。并且为了提高可比性和可行性,在这三种环境下仿真的网络参数都是相同的。网络仿真参数如下表所示。
表中[Eelec]表示节点内发送或接收电路的能耗;[Eamp]表示发送放大器的能耗。我们将网络生命周期作为评估标准。网络生命周期是指从网络部署完毕后开始运行到所有节点都死亡的整个过程的时间。
图4
图4表明在网络遭到破坏之后的很长一段时间内,PCI可以通过补偿机制来继续保证网络传输的可靠性。相反的,在同样的情况下,LEACH和ECDG却不能保证有足够的数据量来实现网络可靠性。随着网络受损程度的逐渐增加,使用PCI协议的网络所表现出来的高可靠性也越来越显著。
4 结束语
本文提出了一种新的、智能的机制——基于补偿机制的可靠数据传输协议PCI。该机制一方面可以减少网络的消息数据传输量,另一方面,当网络遭到破坏而出现数据传输量不足的情况时,PCI可以对数据传输进行补偿,以保证网络的可靠性。仿真结果表明,采用PCI协议的网络比采用的LEACH和ECDG的网络可靠性更高,网络能量利用更加高效。
参考文献:
.IEEE Computer, Special Issue in Sensor Networks, Aug,2004.
. in Proceeding of IEEE INFOCOM’03, San Francisco, April 2003.
.icicic, pp. 64-67, First International Conference on Innovative Computing, Information and Control - Volume I (ICICIC'06), 2006.
.The 8th International Conference on Electronics, Information, and Communication (ICEIC 2006), pp.351-354, Ulaanbaatar, Mongolia, June, 2006.