沈阳理工大学信息科学与工程学院 崔宏瑶 胡树杰 胡玉兰
基于TEEN路由协议的节能改进算法
沈阳理工大学信息科学与工程学院 崔宏瑶 胡树杰 胡玉兰
在TEEN路由协议中,每个节点当选簇头的概率相同是因为其初始能量相同,然而实际中传感器网络(wireless sensor network,WSN)大多是能量异构的,这会导致能量不均衡而引起浪费。另外,TEEN路由协议选出的簇头会有因距离太近而导致簇的覆盖,这也会造成能量浪费。基于TEEN路由协议能量浪费的情况本文提出了一种节能改进算法。此改进算法对于能量浪费现象能有效改善,进而延长WSN的寿命。
传感器网络;路由协议;TEEN改进算法
WSN是一种分布式传感网络,大量微型传感器被投放在需要监测的区域来组成一个多跳的自组织的网络,微型传感器会协作的感知、采集、处理监测区域内的目标对象信息,并上传给上一级进行进一步处理。WSN的发展主要得益于随着微机电系统(Micro-Electro-Mechanism System,MEMS)、片上系统(SOC,System on Chip)、无线通信和低功耗嵌入式技术的高速发展。
在通信的结构方面传感器网络路由协议分为平面路由协议和分簇路由协议[1]。平面路由协议包括洪泛路由协议(flooding)、闲聊路由协议(gossiping)、SPIN(sensor protocolfor information via negotiation)法。洪泛路由协议是是一种简单有效的路由协议。在洪泛路由协议中,节点会以广播的形式转发收到的数据分组,并丢弃重复的数据分组。 洪泛路由不用维护网络拓扑结构和路由计算,实现方式简单,对于要求高健壮性的场合尤其适用,但却存在资源消耗大、信息内爆、资源盲点等问题;闲聊路由算法在洪泛法基础上利用随机发送数据的方法减少了资源的浪费;SPIN协议是一种以数据为中心的自适应通信路由协议。它通过使用节点间的协商制度和资源自适应机制,解决了洪泛路由存在的缺点。分簇路由协议有低功耗自适应集簇分层型协议(Low Energy Adaptive Clustering Hierarchy,LEACH),PEGASIS(Power-Efficient Gathering in Sensor Information Systems)协议,节能的阈值敏感路由协议(Thresholdsensitive Energy-Efficient Sensor Network,TEEN)。其中,在LEACH协议中提出了“轮”的概念,每一轮中包括簇的建立和稳定运行两个阶段,稳定运行阶段要远大于簇的建立阶段;PEGASIS是在LEACH的分簇算法的基础上改进而来的链式结构;TEEN算法类似于LEACH的分簇算法,但却增加了两个阈值,减少了没有必要的信息传输,降低了能量的消耗。
TEEN路由协议是LEACH 路由协议的改进[2]。它的实现机制与LEACH算法基本一致,只不过在LEACH算法的基础上增加了硬阈值和软阈值两个阈值。硬阈值是传感器节点感应数据信息的门限值,当传感器节点采集到的数据信息首次超过硬阈值时,节点会将数据发送给簇头节点。若节点感应到的数据信息未超过硬阈值,则说明要感知、采集的信息数据变化不明显,在安全范围内,无需发送给簇头。软阈值是采集到的数据信息变化量的最小值,只有当采集到的信息超过了硬阈值且变化量超过了软阈值,传感器节点才会把信息传给簇头节点。采用这种设定阈值的方法,在需对数据变化敏感,实时性要求高的传感器网络中,可以过滤掉一些变化不大,没有必要的信息,从而网络的稳定阶段得以延长。
TEEN协议的实现过程按照“轮(round)”来进行,每一轮分为两个阶段:簇头选举阶段与稳定传输阶段,在每一轮中数据稳定传输阶段所占时间远大于簇头选举阶段。
在簇头选举阶段,会给传感器随机分配一个0到1之间的随机数,分配到的随机数如果小于簇首选举阈值T(n),则该节点被选为簇头,否则成为非簇头节点。簇头选举阈值T(n)的计算公式如下:
上式中的T(n)是簇头选举的判断阈值;P为理想簇头节点所占比例;r为网络当前运行到的轮数;r mod(1/P)表示运行到第r轮时在该轮转周期内已当选过簇头的节点数目;G表示第r轮中还未当选过的簇头的节点集合。
选定的簇头节点会向簇内的其它节点广播硬阈值、软阈值。阈值的设定是在簇刚刚组建的时候。采用这一机制使会使传感网络对监测目标的变化做出迅速的反应,而不是等待基站的定时查询。
1)虽然TEEN协议能保证每个节点都有相同的概率当选簇头,但这只适用于能量同构形网络,当传感器网络中出现能量异构情况时将不再适用。
2)选出的簇头节点会有距离太近的可能,从而导致簇的重复覆盖,造成能量的浪费。
1)传感器网络中出现能量异构的情形时,为了延长网络寿命,提出了对簇头选举算法的改进,根据节点剩余能量的多少与网络平均剩余能量的差值与平均剩余能量比较得出被选为簇头的概率,使得剩余能量越高的节点越有可能成为簇首,节点被选为簇头的概率如下:
则簇头选举门限为:
2)针对选出的簇头有可能距离太近而造成能量浪费的情况,可以设定一个阈值D,当选出的簇头距离小于阈值D时则使其中一个不在本轮中当选为簇头,阈值的计算方法如下:
其中,M为正方形监测区域的边长;n为传感器节点总数;Popt为预先设定的簇首比例。
图1 TEEN与TEEN改进算法存活节点数随时间变化、网络能量消耗对比图
从图1中可以看出在同样参数设置的情况下,TEEN改进算法在2000轮时才有节点开始死亡,直到4750轮左右节点才全部死亡,而TEEN算法在1500轮时就有节点开始死亡,并且3500轮左右节点就已经全部死亡,在TEEN算法节点全部死亡前,TEEN改进算法每一轮的存活节点数都大于TEEN算法。从图中可以看出在前4000轮中,TEEN改进算法每一轮的能量消耗都比TEEN少。由此可以得出结TEEN改进算法能有效减少传感器网络的能量消耗,延长网络寿命。
本文对TEEN算法就能量消耗方面提出了改进,提出了一种TEEN改进算法。该算法克服了TEEN算法只适用于能量同构网络的缺点,改进了簇头选举阈值的算法,使其更适用于较为常见的能量异构网络的情况,延长了异构网络的寿命。同时改进了选举的簇头过近而导致簇的覆盖问题,进一步减少了网络能量的消耗。
[1]唐勇,周明天,张欣.无线传感器网络路由协议进展[J].软件学报,2006,17(3):410-421.
[2]范鹏飞.无线传感器网络TEEN协议数据数据融合技术的研究[D].武汉:武汉理工大学,2014.
崔宏瑶(1993—),女,硕士研究生,主要研究方向:通信与信息系统。
胡树杰(1964—),男,硕士,副教授,主要研究方向:自适应信号处理。
胡玉兰(1961—),女,硕士,教授,主要研究方向:模式识别与图像处理、人工智能应用。