徐野 周贺贺
摘 要:无线传感器网络易受外界环境干扰考验着传感器网络的鲁棒性、极为有限的电池能量供给制约着网络生存时间,因此研究提高其鲁棒性延长网络生命周期的算法变得尤为重要,传统的Leach算法采用层次性的组网结构,通过定期随机形成的簇首转发数据,在一定程度上均衡了簇首负载,却没有考虑剩余能量,基于位置的Leach算法,通过虚拟单元格,结合节点的剩余能量,周期性的选择新的簇首,进一步均衡负载,达到提高网络鲁棒性、延长网络生存时间的目的。
关键词:簇首 Leach算法 虚拟单元格 鲁棒性 网络生存时间
中图分类号:TN929 文献标识码:A 文章编号:1672-3791(2015)07(a)-0010-02
以信息技术的飞速发展为基础,人类加快了网络化的发展进程,由此复杂互联系统与大规模网络走进了人们的生产生活,无线传感器网络便顺着这一潮流快速发展起来,广泛应用在军事信息收集、工农业生产,生活服务等生活领域。在军事应用领域,无线传感器网络凭借快速部署、可自组织、隐蔽性强的特点,实现对敌军兵力和装备的监控、战场的实时监视、目标的定位等功能。在环境监测和预报方面,无线传感器网络可用于监视土壤湿度、温度及空气情况,通过跟踪鸟类、小型动物和昆虫进行种群复杂度的研究等。在医疗应用领域,无线传感器网络实时监测人体的各种生理数据,跟踪和监控患者的行动等。在家电设备中,通过图像传感设备随时监控家庭安全情况。无线传感器网络在方便人们生产生活的同时,其稳定性的研究也日益受到重视,由于工作中的无线传感器网络自身结构和有限的电池作为电源的特点,其鲁棒性和网络生存时间成为研究无线传感器网络的热点。
1 无线传感器网络常见的路由算法
提高无线传感器网络的鲁棒性、延长无线传感器网络的生命周期,除了提高传感器及基站等硬件性能、增加无线传感器电池能量外,还可以从改善传感器网络拓扑形成的算法入手,充分利用已有网络设备的硬件资源,提高无线传感器网络的鲁棒性和网络生命周期。
对于一般的无线传感器网络,比如检测病人各种生理数据,传感器覆盖的范围不是很大,网络节点也不是很多,传统的平面路由协议便能满足应用需求,典型的泛洪算法[1]通过广播的形式将数据通过分组发送给目的节点;定向扩散[2]是一个基于数据为中心的,查询驱动的路由协议,传感器节点只需要保存邻居节点的信息,不用维护整个网络的信息,这类算法在简单的无线传感器网络中应用尚可,对于复杂的、覆盖范围比较广的无线传感器网络,其传感器端点要传输很长的距离才能到达基站,实际通信中,数据的传输路径可看做自由空间和多径衰落信道,通信能量消耗和距离成正比,直接通信距离越远,所需发射功率就越大,能耗速度也就更快,从而缩短了网络生存时间,因此采用层次型路由协议,通过簇首以信息中间传递的形式发送给基站可在一定程度上解决能耗过快的问题。
2 Leach算法
2.1 Leach算法简介
Leach算法通过定期以及在网络遭受攻击后竞选簇首,并通过簇首转发簇内节点发送的数据的形式将实时信息转发给基站。在簇头选择上,传感器通过随机发射一个随机数,网络选择发送小于某个特定数的传感器作为簇首节点,簇首节点广播自己当选簇首的消息,同时非簇首成员接收消息,并选择功率最大的簇首作为自己的从属簇首,同时,通知簇首,簇首向簇内节点发送TDMA时分序列,完成簇的确立,网络进入稳定运行阶段,簇首接收来自簇内传感器节点发送的数据,并进行数据融合,压缩之后转发给基站,基站对实时数据做进一步处理,根据网络实际需要,基站可向簇首发送反馈信息,待工作特定时间后,重新进行簇首的选择、簇单元的确立、网络稳定运行。
2.2 Leach算法相比平面路由算法的优势和自身不足
作为层次型路由算法最常见的一种,Leach算法和平面路由算法在大规模无线传感器网络中在提高无线传感器网络的鲁棒性和网络生存时间上有着明显的优势,从拓扑结构上看,在传输路径上,平面路由算法都是将采集到的数据直接从传感器传输到基站,传输路径会很远,Leach算法则通过形成的簇首转发传感器终端采集到的实时数据,簇首将收集到的来自簇内成员发送的数据进行数据融合,压缩后的数据再传输给基站。
Leach算法通过不断更替簇首的形式把负载均衡到多个传感器节点,但是在簇首选择上,在每一轮循环内,仅依据其是否当选过簇首,却没有考虑形成的簇首分布情况,容易导致形成的簇首在整个网络范围内的某一区域过于集中,在别的区域簇首过于稀疏;其次,Leach算法中,只能通过簇首节点占网络节点比例p设置传感器网络的簇首个数期望,却不能准确设置簇首个数,而当预设值的簇首节点个数很少时,形成的簇首个数不确定性将大大增加,甚至出现簇首为0的情况,这时Leach网络将变成平面路由网络。
3 基于地理位置的Leach协议
3.1 基于地理位置的Leach协议思想
考虑到Leach协议的不足,通过借鉴GAF算法[3](geographic adaptive fidelity),依据节点的地理位置进行分簇,该算法把监测区域划分为若干虚拟单元格,将节点按照位置信息划入相应单元格,每个单元格为一个簇单元,每个簇中只有簇头节点保持活动,其他节点进入睡眠状态,这样可以对各簇内的节点选择性的进行休眠;同时,在选举簇首的时候,将节点的剩余能量考虑进来,达到了进一步降低并均衡簇首节点能耗,延长了网络的生命周期的目。
3.2 基于地理位置 Leach协议算法
其具体算法如下:设N个传感器节点分布在面积为的监测区域,各传感器节点通过约束条件下最大似然估计来确定自身所处位置,以划定的每一个虚拟单元格为一个单位,网络在每一个虚拟单元格内选择本簇成员所属的簇首,簇首的选择主要依据虚拟单元格内节点的剩余能量,簇成员节点向基站发送自身编号(包含簇单元编号)及自身剩余能量信息,基站对收到的信息统计,确定每个簇单元内剩余能量最多的节点作为本簇单元的簇首,簇内成员收到信息后由簇首为本簇成员分配时隙,簇成员节点收到分配的时隙后,网络进入数据传输阶段,簇首收到簇成员节点在相应时隙发来的信息后,对来自簇成员节点的信息进行数据融合,压缩后的信息包发送给基站。待网络工作特定时间或者网络受到外界攻击基站没有按时收到某个簇首发来的数据包或者簇首发来的数据包在某一短暂时间有大量簇成员时隙的消息缺失时,基站通知每个虚拟单元格内的簇首,网络的每一个簇单元重新选择簇首,形成新的拓扑。
3.3 基于地理位置 Leach协议算法评价
传统Leach算法通过根据所需簇首个数和网络节点个数的比例,确定决定该节点是否当选簇首节点的阀值,进而选出网络的簇首,非簇首节点根据自身位置选择最优的从属簇首,确定网络拓扑。改进后的Leach算法通过在基站收到的数据包内有大量节点时隙短时间内信息为空时,网络重新组建拓扑结构,提高了网络的鲁棒性;通过虚拟单元格直接确定簇单元的个数及每个簇单元的成员,再在各自虚拟单元格内选择本单元的簇首,确定网络拓扑,网络簇首个数可以准确设定,选出的簇首也不会出现集中于某一区域的现象,依据传感器的剩余能量选出簇首,充分利用了有限的电池能量,延长网络的生命周期。因此,对于大规模无线传感器网络,基于地理位置的Leach算法有更强的优越性。
参考文献
[1] 李方敏,刘新华,旷海兰.无线传感器网络中一种高能效低延时的泛红算法研究[J].通信学报,2007,28(8):46-53.
[2] 郑明才,李勇帆,赵小超,周辉.定向扩散路由无线传感器网络行为仿真[J].计算机系统应用,2013,22(5):143-146.
[3] 赵学鹏,邹传云.无线传感器网络GAF算法的性能分析与仿真[J].计算机仿真,2008,25(11):154—156.