1、引言
集成传感器技术、微机电系统(MEMS)技术、无线通信技术和分布式信息处理技术的无线传感器网络(WSN,wirelesssensornetworks)是当前信息技术的前沿之一,也是当今的研究热点,受到了广泛的关注。目前,无线传感器网络逐渐成为一种廉价、方便的信息采集方法,尤其是在敌对和恶劣的网络应用环境下,传统的方法代价高昂而几乎无法使用。如文献[1~3]中的战场生存性应用、一些安全相关的应用以及灾难管理等应用,无线传感器网络都显示了巨大的应用价值。在上述应用中,传感器节点往往是随机地部署在监测区域,一直工作到能量耗尽为止。
无线传感器网络部署之后,传感器节点采集现实生活中诸如热、光或者某个监测对象的相关物理信息,对于传感器网络中各个节点,都通过自身的传感电路感知监测对象的相关信息,获取原始数据,然后通过一类称为基站的特殊节点经过相应处理并传送到外界的控制中心。在传感器网络中,基站的能量和处理能力都较普通节点强,基站在网络部署时基本部署在其他传感器节点的附近,其功能是在传感数据传送到外界控制中心之前对其进行相应的处理,如通过数据汇聚和融合,基站过滤掉原始传感数据中一些错误和无效的数据,并消除冗余数据,同时,基站也会定期对传感数据进行汇总处理。在文献[4]的传感器网络应用中,经过基站融合后的传感数据可以有效地用来追踪和识别监测目标;在一些灾难急救的传感器网络应用中,融合后的传感数据可以有效地预测幸存者的健康状况以及遇难者的准确位置信息等。
传感器网络节点部署之后,如何保证网络的连通性一直是研究界非常关注的问题,国内外研究界提出了一些相关的算法和协议,比较有代表性的有:文献[5]集中讨论了传感器感知模型非圆时网络覆盖和连通性之间的关系;文献[6,7]针对网络的使用寿命问题,研究了如何在部署的网络节点中选择足够的节点以构成网络的覆盖连通集;文献[8]讨论了在对部署节点位置信息未知的情况下,如何能有效地保证网络连通性覆盖的问题;在文献[9]中,详细研究了不同情况下的传感器网络覆盖连通性的分析方法;文献[10]给出了一种改进的传感器节点覆盖优化方法。
针对传感器网络的覆盖连通性问题,本文将在第2节讨论无线传感器网络覆盖连通性理论及网络模型。第3节采用了一种节点代理基站来解决网络中不可达节点的连通性方案。第4节将给出在第2节中所给模型的基础上进行网络覆盖连通性判定的算法。第5节对提出的基站代理方案和节点连通性判定算法进行实验。第6节是结束语。
2、网络覆盖连通性理论及网络模型
传感器网络节点连通性的要求与adhoc网络大致一致:1)信息必须有一条或足够多的路径从信息源转发到目的节点(基站);2)信息在转发过程中延迟尽量小。信息的转发路径越多,系统越可靠,但由于需要多个中间节点同时处于工作状态,节点能耗增加,系统寿命降低。无线发射器件的能耗随着收发距离长度的变大呈指数增长,采用多跳方式信息转发代替点对点通信,可以节约大量的能量。但过多的跳数会增加信息接收转发的次数,同样会带来额外的能耗。因此,将上述2个矛盾的因素折衷,适当控制转发节点的个数是降低能耗的关键。
通常,理想状态下具有节点连通性优化作用的密度控制所要解决的核心问题同覆盖优化类似,但节点的约束条件更多。将所有传感节点组成的集合分为{h1,h2,…,hm}等m个子集,即,设hi为组成主干连接网络的传感节点的一个集合,si是传感器节点。每个处于传感状态的非主干节点能够与至少一个主干节点通信,主干节点之间必须有一条且至少一条直接或间接的路径实现二者相连。
基于上述理论,给出一个一般意义上的无线传感器网络模型,描述如下。
设N个传感器节点随机地部署在某一区域,节点拥有有限的电池能量和数据处理能力,在网络应用中节点的任务是按照外界控制中心的需要进行动态的工作,基站部署在其他传感器节点附近。假设传感器节点和基站都处于静止状态,且基站可以获悉其他节点的位置信息。基站采用文献[11,12]中的beacons信号在网络触发阶段发现活动节点,基站负责组织协调传感器节点采集相关监测数据,汇聚融合原始传感数据并与外界控制中心进行联系,最后由控制中心把处理完的有用信息传递给用户。
在系统模型中,设传感器节点能够向基站报告其剩余能量信息,并能智能地切换开启和休眠状态,且传感电路和数据处理电路可以智能开关,另外,节点传输距离可以通过编程进行调节控制。值得注意的是,SenTech公司开发的声觉通道模块[13]传感器节点具有上述功能。设传感器节点可以作为数据转发的中继。基站拥有可以根据实际任务和环境的需要智能地选取部分传感器节点进行工作、选择数据路由以及媒体访问仲裁的网络管理功能。在网络系统模型中,网络的组织和管理都是基于能量意识的,依赖于每个传感器节点的能量知识,网络的控制参照传感器节点的工作状况和能量剩余情况。
在系统中,参考文献[14,15]中节点通信时的能量消耗模型,模型中定义的节点发送信息和接受信息的能量消耗公式如下。
发送信息能量消耗: 接收信息能量消耗:其中,Es表示节点发送消息的能量消耗;β1和β2分别表示节点在发送和接收信息过程中单位信息所耗损的能量,其值均取为50nJ/bit;β’表示单位信息在传送过程中由于信号保持而在单位面积(m2)耗损的能量,其值取为100pJ/bit/ m2;m表示信息位数;d表示信息传输距离。
基于以上无线传感器网络的系统模型,给出以下一些定义。
定义1传感器节点间的连通性。若在无线传感器网络部署区域内,节点之间总可以某种路由方式相互传送信息,则称在网络覆盖区域内节点之间是连通的。
定义2无线传感器网络的连通性。若在无线传感器网络部署区域内,对于所有节点的极大子集,基站总是可以某种路由方式传送相关控制信息到该节点集合中的任何节点,且该节点集合中的任意节点间也是连通的,则称在该网络覆盖区域内由此极大节点子集组成的无线传感器网络是连通的。
在无线传感器网络中,传感器节点的能量主要花费在对外界信号的转换处理和进行数据通信的开销方面。由于节点的能量是由有限的电池提供,如果在网络工作时一直让节点在任何情况下都处于开启状态则会降低节点的使用寿命,从而影响整个网络的使用寿命。因此,如何有效地利用基站优化组织和管理无线传感器网络节点对于网络的优化应用具有重要的意义。一类面向任务的传感器网络应用可以选择性地开启覆盖区域内的传感器节点并平衡节点的负载,对于任务无关的节点使其处于休眠状态,这样可以节约宝贵的传感器节点能量,达到延长节点乃至整个网络寿命的目的。
上述网络优化过程的前提是基站必须获悉网络中节点情况,只有确保覆盖区域内网络节点的连通性基站才能有效地对节点进行组织和管理。在传感器网络通信中,节点与基站之间理想通信模式是使用短距离的通信方式,这种方式假设基站对于网络中的节点在任何情况下都是可达的,然而,这并不符合实际。因为在部署传感器网络时没有统一的模式,且网络部署环境有很大差别。在许多实际应用场景中存在各种障碍物(如建筑物、树木以及其他一些干扰信号等)会阻碍节点和基站之间的正常通信,有时这些障碍物甚至会使节点处于不可用状态。
图1描述的是当基站和传感器节点都处于彼此的通信范围内时,由于障碍物的存在使得基站不能够与被阻碍节点进行直接通信的情况。
对于基站和传感器节点不能直接通信的另一种情况如图2所示,在传感器网络部署区域内,有部分节点处于基站的传输范围之外,此时基站和这部分节点就不能进行直接通信。
3、基于代理的不可达节点解决方案
在本节,针对第2节中在无线传感器网络部署区域内节点对于基站不可达的情况,例如,由于障碍物的存在或者位于基站射频传输范围之外使得一些节点成为基站不可达节点,提出了一种在基站可达的节点中寻找一个节点作为代理来解决基站与不可达节点之间连通性问题的方案。
3.1基本思想及定义
首先,给出方案的基本思想以及一些定义。
不失一般性,可以假设基站至多以2跳的方式
到达所有的部署节点,对于所有直接到达节点的跳数为1,其余的都简化为2跳,并且认为基站可达的节点可以作为基站转发传感数据的中继节点。从这些中继节点中选出某些节点作为代理,使其作为基站与不能接收基站信息的不可达节点之间的通信中介。我们考虑使代理节点和其周围基站不可达节点形成组,代理节点作为该组的“组长”,负责在基站和基站不可达节点之间的通信中介。
假设S为部署在监测区域的节点集合,|S|=n,基站(basestation)记为B,同时又设SR和SUR分别为部署区域内基站可达和不可达节点的集合,SR和SUR定义如下:
值得注意的是,由于在实际部署区域存在某些节点其传输信号不被其他任何节点获悉,如掉入部署区域深坑的节点,集合SR∪SUR往往并不等于集合S。因此,在节点部署阶段,使基站为每个传感器节点建立以下属性参数。
Blink:节点与基站连接状态,取值为0或1,而分属SR和SUR集合;
Nlist:集合SR中节点的所有邻居节点;
Hlist:在基站信息传输范围之内节点的跳数表。
Glist:节点成组的成员参数。
3.2基于节点代理的方案
在方案中,使得选取的代理节点和不可达节点形成相应的组的目的是通过代理使该组中不可达节点可以与基站连通,因此,方案主要是在集合SR中设计一到多个代理节点,负责转发基站信息到集合SUR中的相关节点,同时,负责作为SUR中的相关节点的采集信息发送到基站的中转站。
在设计代理和不可达节点的组时,追求一种平衡代理负载的算法以延长代理节点的寿命,在算法中,基站为每个节点增加一个属性参数,称为Aid,在集合SUR中用以标识节点被分配给哪个代理节点,而其他属于集合SR中的节点的Aid=0,另外,基站为集合SR的每个候选代理节点设置一属性参数Glist用以识别其组成员。组的形成过程描述如下。
1)对于每个节点
,基站计算其与集合SR中相邻节点的Hlist值,并对获得的节点Hlist值按照升序排列;
2)对于1)中节点Hlist排序结果由低到高(顺序),在集合SR中依次为SUR中节点分配一个代理节点,此时存在2种情况,处理如下:
if|Hlist(sj)|=1
标记Aid(sj)=si,分配sj到惟一连通的节点si;加sj到Glist(si)中
else if | Hlist(sj)|》1
为sj计算分配到SR中的多个连通节点的成本Acost
标记Aid (sj)=sk,当sj分配到集合SR中节点sk时Acost最小;加sj到Glist(sk)中
在方案中,对于节点,如果在集合SR中存在多个节点与其连通,将会选择与节点sj具有最小通信代价(此时为sj分配到集合SR中节点sk的通信成本Acost)的节点作为其代理,衡量Acost的2个重要因素是监测区域内的组成员和“组长”即代理节点。一种理想的情况是对于SUR中的节点sj,当其分配到一个组中时,该组的代理节点应满足在所有的Hlist(sj)中是最小的,即离sj最近的节点,这样节点间的通信能量耗费最小。另一方面,希望在所有的代理节点之间实现负载均衡以延长网络使用寿命,在传感器网络中,首个节点“死亡”时间是衡量网络性能的重要尺度[16,17]。定义节点sj分配到以节点sk为代理的相应组的代价为Acost(k)=r1×(sj到通信成本)+r2×|(Glist(sk)|
其中,sj到si通信成本的计算基于节点sj和si的距离,r1+r2=1,参数r1和r2是动态可调节的量,取值与Acost(k)中sj到si通信成本和|(Glist(sk)|在节点成组过程中所占的比重成正比。
4、无线传感器网络覆盖连通性判定算法
正确获悉覆盖在部署区域内节点的连通性相关信息对网络决策、管理、研究与应用具有重要的基础性作用,针对上面建立的一般意义上的无线传感器网络的系统模型,考虑到现实意义上的基站和智能节点可以存储相关的节点间路由信息,如基站可以获悉其他传感器节点的能量剩余信息,可以发送相关的控制信息与参数到相应节点,节点可以存储、转发网络信息并存储相关的节点间路由信息。基于此,提出了在无线传感器网络应用之前根据节点存储的相关参数信息和路由信息进行网络节点连通性判定的算法。
算法中使用结构类型定义节点,具体如下:
节点结构定义
StructNODE{
NodetypeN;//节点类型,区分基站和普通节点
floatE;//节点能量值
boolv;//节点访问标志
NODE*n[];//指向下一跳节点的指针集
}
算法为基于深度探测的网络覆盖连通性判定算法DBDAFNCJ(depthbaseddetectionalgorithm for network connectivity judgment),下面具体介绍。
无线传感器网络一般都是随机部署在监测区域内,一旦传感器节点分布完毕,网络管理者和用户基本上就很难对节点进行直接管理。此时,往往通过智能基站对具有信息存储和有限计算能力和能量的节点进行全局管理。因此,正确获悉部署区域内传感器节点的工作情况是高效、合理地对网络进行管理和应用的重要前提。首先,使用节点代理方案对监测区域内的节点进行处理,设处理结果产生n-1个代理,这样整个部署区域就被划分成n个组(包括基站),DBDAFNCJ算法分别对n个组进行处理,处理每个组时都是以基站或代理节点(注:统称为组长节点)为起点,然后获取相关存储信息按照逐跳路由的方式对某一方向的节点进行探测,算法中设置一空集,每次将探测到的节点加入空集,直到碰到不可达情况的节点,此时回溯到上一个节点继续探测未被访问的可达节点,当n个组都处理完毕以后,每组节点的并集即是部署区域内可以正常工作的节点。图3描述了使用DBDAFNCJ算法探测各组内节点连通性的方法。
算法DBDAFNCJ
AlgorithmDBDAFNCJ()
Begin
Si=f
//设置组内连通的节点初始集Si为空
Si←grouphead
If(Gi≠f)
//判断与组长连通的相邻节点初始集Gi为是否非空
{Si←在Gi集中任选一个节点记为k并标志为已访问;
Repeat{if(ki≠f)&&存在未被访问的节点
//判断与k节点连通的相邻节点初始集ki存在未被访问的节点
{Si←在ki集中任选一个未被访问过的节点j,并标志为已访问;
ki=ji;}
ji为与j节点连通的相邻节点集
Else
{回溯到上一个节点t
ki=ti;
}
Endif;
}
Until 整个节点集合的连通子集都处理完毕
}
Endif
End
DBDAFNCJ算法最后输出的结果是在网络覆盖区域内连通的传感器节点集,由上述算法可知,DBDAFNCJ算法的时间复杂度为О(H);空间复杂度为О(N)。其中H为算法探测的节点间路径数,N为覆盖区域内的节点数。
提出的DBDAFNCJ算法具有的优点为:充分利用了基站对传感器节点的所存储的记忆信息和节点间相关路由信息,为部署区域内无线传感器网络后续研究和使用提供了有效的决策信息;算法的时间和空间复杂度比较低,易于实现。
5、仿真实
通过仿真实验对提出的节点代理方案和DBDAFNCJ算法进行性能评估,下面依次给出实验方法、环境和结果。
5.1实验环境
在广泛使用的网络仿真器ns-2的环境下用C++和TCL实现了节点代理方案和DBDAFNCJ算法,实验设备是一台运行RedhatLinux9.0,具有P42.8GHz处理器,512MB DDR内存的PC.实验中,假设传感器节点随机部署在1 000m×1 000m监测区域内,基站被随机地部署在监测区域的边界内部,基站的传输半径设为500m,节点的传输半径设为50m,成组节点分配代价Acost中的a1和a2的取值各设定为0.4和0.6,主要考虑到在仿真中由于节点代理方案中节点成组代价比例稍重一些。为模拟第3节讨论的实际部署区域中节点处于基站传输范围之外和存在诸如建筑物等障碍物使得节点处于孤立状态,在各种节点规模的仿真中,设置某一百分比的节点随机部署在基站的传输半径之外,在算法DBDAFNCJ的实现中,为简化起见,且不影响仿真结果的可靠性,除基站外,其余节点均只存储与其只有1跳路由关系的相邻节点,为了快速得到实验结果并且不影响仿真结果的可靠性,把节点的初始能量设置为20J,采用模型中节点能量消耗模型,此时能量足以满足实验条件,选择一个简化了的定向扩散协议[18]作为网络层的路由协议,修改协议使节点间以逐跳的方式进行路由。
5.2实验设计及结果
仿真实验中,主要考虑部署区域内节点可达率NRR(nodereachabilityratio)作为测试指标,计算如下:
NRR=部署区域内可达节点的数目/部署区域内节点总数
在上述仿真实验环境下,设计了两类实验方案对节点代理方案和DBDAFNCJ算法进行评估。
1)在部署区域内,改变部署节点的数量,固定处于基站传输范围之外的节点为总节点20%,把节点数目分为100、150、200、250、300、350、400 7种情况进行仿真。
2)在部署区域内,固定部署节点的数量为300,变化部署处于基站传输范围之外的节点百分比,把百分比分为5%、10%、15%、20%、25%、30% 6种情况进行仿真。
针对两类实验方案,使用DBDAFNCJ算法分别对使用节点代理方案部署区域节点预处理前后的节点连通性进行判定,分别记为PRE_DBDAFNCJ和POST_DBDAFNCJ,下面给出实验结果。方案1)、2)的实验结果分别如图4、图5所示。
5.3结果分析
从图4和图5的结果可以看出,一方面,DBDAFNCJ算法对于初始部署区域节点的连通性比例的判定基本与设定的节点连通性比例一致,说明了DBDAFNCJ算法可以很好地对部署区域内节点的连通性实际情况进行判定。另一方面,对于用节点代理方案处理后的部署区域使用DBDAFNCJ算法进行节点连通性判定的结果表明,节点代理方案较好地改善了部署区域内节点的连通性情况,方案1)中12%~15%的不可达节点实现了与基站的间接连通;方案2)中3%~12%的不可达节点实现了与基站的间接连通。那些最终还处于不可达状态的节点是因为其1跳范围内没有基站直接可达节点。在现实情况下,如部署区域中掉入深坑的节点、部署完毕即出故障的节点均可认为是此种情况。
6、结束语
对于随机部署在监测区域的无线传感器网络节点连通性的研究是其后续研究、管理和应用的基础,针对在实际应用中,节点随机部署而可能出现与基站不能正常通信的问题,提出了一种使用与基站连通的节点作为代理解决基站不可达节点的方案,并基于节点存储的路由信息给出了一种节点连通性的判定算法,仿真实验中,在改变仿真节点数目而固定不可达节点比例以及固定仿真节点数目而改变不可达节点比例2种情况下,结果均表明所提出的节点代理方案可以有效地改善部署区域的节点不可达问题,同时表明,所提出的节点连通性判定算法能够高效地探测部署区域内节点的连通性状况。
责任编辑:gt
评论
查看更多