基于休眠/唤醒机制的无线传感器网络存活状态建模与分析
2015-11-14韩瑞艳丁雷雷
韩瑞艳,高 飞,丁雷雷
(1.云南民族大学电气信息工程学院,云南 昆明650500)
(2.云南民族大学云南省高校无线传感器网络技术重点实验室,云南昆明650500)
无线传感器网络(WSNs)是由分布在一定区域内的大量低成本、低功耗的具有传感、计算与通信能力的微小传感器节点构成的自治网络系统,具有多跳、自组织及布置灵活等特点,能够大量的部署到各种地形的环境中,达到信息收集和通信的目的.在环境监测、医疗卫生、智能家居和军事应用等领域有着广泛的应用前景.
传感器节点采用电池供给能量,电池能量一般是有限的,且难以补充.节点的能量消耗决定了无线传感器网络的生存时间,为提高网络的健壮性和可靠性,常常在监控区域内撒布大量节点来工作以延长网络的寿命.但如果所有节点同时工作就会浪费能量,使节点过早死亡,因此,如何降低节点的能量消耗,延长网络寿命成为相关领域的研究热点[1-2].
延长网络生存期,目前最常见也是最直接的解决方法就是采用节点休眠调度算法.无线传感器网络通常用足够数量的传感器节点保证网络的有效性,传感器节点密度较高,存在着大量的冗余节点,可通过只激活部分节点,以便节点能够在活跃与休眠轮次之间轮换.节点的休眠调度算法就是采取判定算法一次选取一部分节点作为本轮的工作节点,通过节点在活跃状态和休眠状态间周期性地轮换,来降低整个网络的能耗,延长网络的生存时间[3-4].
由于节点在休眠状态消耗的能量最小,所以在休眠调度协议中,合理地控制适量的节点进入休眠可以很好地减少网络总体能量消耗,从而提高网络的生存周期.而过度的休眠会影响网络的监测功能,所以如何合理地控制适量的节点休眠是研究的主要目标[5].
近年来,研究人员提出了多种休眠调度算法.其中比较典型的是随机调度RS(randomized scheduling)算法.RS算法的核心思想是网络中所有节点在每一轮使用同一个概率判断是否需要休眠.该算法的实现相对简单,能快速求解,但使用相同的概率休眠会导致网络的吞吐量下降且产生覆盖空洞[5].
针对上述问题,本文提出了一种改进算法.将网络的工作时间划分成轮次,在每轮次开始时,全网中的节点按照某一休眠概率进行休眠,结束时所有节点保持该轮次的状态,等待下一轮次开始时重新进行休眠判决;而在下一轮次开始时,上一轮次中的休眠节点依然保持休眠状态,这些休眠节点在休眠一定轮次后将“激活”,从而返回到活跃状态.通过采用轮换节点是否“激活”或者“休眠”状态的节能方案,为整个网络节省能量,延长了网络的生存期[1].
1 节点的休眠/唤醒模型
在无线传感器网络中,由于节点分布众多,如何合理控制适量的节点休眠是主要研究的问题.休眠机制的采用,可通过节点状态的转换来均衡能量消耗,避免部分节点过早地因能量耗尽而致使全网生命周期的结束,以此提高网络使用寿命[6].
1.1 简单的休眠/唤醒模型
节点具有活跃和休眠2种工作状态,并能够在二者之间进行转换.休眠机制的采用,即让一些节点休眠,另一些节点工作,可以平衡网内节点能耗,达到平衡网内能耗的目的,这可以有效延长网络生存时间.
如果节点长时间处于休眠状态,会影响到网络的数据传输致使整个网络失去监控意义,因此需要使节点轮换进入休眠状态.由此我们考虑节点在活跃状态和休眠状态间的互相转换,即分析节点从活跃状态到休眠状态的双向转换模型,如图1所示.
1.2 休眠/唤醒算法的仿真设计
休眠/唤醒的实验模型:100个传感器节点随机分布在50 m×50 m的区域中;网络初始运行时,传感器节点均处于活跃状态;所有传感器节点具有相同的休眠概率P.
具体算法步骤如下:
第1步:每一轮次开始,每个处于活跃状态的节点独立地判断该轮次中自己是进行休眠还是保持工作状态,结束时所有节点保持该轮次的状态.
第2步:该轮次中处于休眠状态的节点休眠x轮次后,休眠节点返回到活跃状态.
第3步:下一轮次重新进行休眠判决,返回到第1步.
1.3 休眠 /唤醒模型的仿真实验
定义节点的休眠率用D表示、活跃率用A表示[7].设网络中节点总数为N,处于休眠状态的节点数为n,D为休眠节点数与网络中总节点数的比值:为活跃节点数与网络中总节点数的比值:
为了消除随机性,较好地反映出统计规律,仿真过程进行100次.节点的休眠概率包含了所有处于(0,1)间的概率值,仿真参数设置:休眠概率值的选取是从0.1到0.9,其间隔为0.1;由于节点长时间休眠会影响到网络的覆盖连通性,休眠轮次的仿真参数由1增加到5.
表1和表2计算了在网络中节点总数一定的情况下,设置不同的休眠概率和休眠轮次,分别计算出休眠节点和活跃节点所占的比例.仿真过程分轮次进行,经统计平均后,实验数据见表1和表2.
表1 仿真100轮次后的节点休眠率D
表2 仿真100轮次后的节点活跃率A
仿真结果表明,休眠轮次相同而休眠概率不同时,由于节点的休眠概率增大,网络中进入休眠状态的节点数量增多,即相同x值的情况下,随着p值的增加,全网的休眠率增加而活跃率降低;休眠概率相同而休眠轮次不同时,由于网络中休眠节点的休眠轮次增加,从而使得网络中休眠节点数量增多,即相同p值的情况下,随着x值的增加,全网的休眠率增加而活跃率下降.
由于网络节能的标准可以用休眠率进行衡量,当网络中的节点总数固定时,休眠率越高,网络节能效果越好[8].在实际应用中,可根据网络的不同需求,选择合适的休眠概率和休眠轮次使网络中的节点得到合理地休眠,从而使网络的生存期得到延长.
1.4 休眠 /唤醒模型的理论分析
由于节点相互轮换工作,休眠调度采用周期性调度方式[9].将网络的工作时间划分成轮次,网络中节点的工作轮次按时间T进行周期性划分,在每个轮次T开始,网络中所有节点执行休眠判决,如图2所示.根据判决结果,网络中各个节点在该轮次T剩余时间内进行休眠或是保持活跃状态.
每一轮次使用休眠调度后,网络中的节点处于休眠或活跃状态,该轮次活跃节点和休眠节点个数满足,其中N0为节点总数为活跃节点个数为休眠节点个数.网络中节点的任一轮次用tn表示,当休眠轮次为x时,在当前轮次执行休眠判决后,处于活跃状态的节点在下一轮次进行休眠判决,而处于休眠状态的节点经x轮次休眠后重新进行休眠判决.在tn轮次,经过休眠判决休眠节点个数用表示,活跃节点的个数用表示,n的取值范围为0<n≤100.第一轮次休眠节点个数和活跃节点个数的表达式分别为:
采用递推方式进行数学分析,当1≤x≤5,n>(x+1)时,推导出每一轮次活跃节点个数和休眠节点个数的数学通式如下:
经计算可知,理论模型和实验模型休眠率的相对误差范围介于0.14% ~3.42%,活跃率的相对误差范围介于0.35% ~2.96%.
2 节点休眠 /唤醒 /死亡的状态模型
上文提到的休眠/唤醒模型没有涉及到能量消耗问题,在实际应用中,无线传感器网络的正常运行需要消耗能量.节点处于休眠状态的能量消耗是最低的,因此应该在保证足够的网络覆盖能力的前提下,让节点尽可能多地投入到低功耗休眠状态,用于均衡节点的能量消耗,从而尽可能地提高网络中每个节点的生存时间.
2.1 节点休眠 /唤醒 /死亡模型
当无线传感器网络中节点的能量消耗完,节点就会失效,进入到死亡状态.在实际应用中,网络中的节点具有3种状态:休眠状态、活跃状态和死亡状态,节点在3种状态间的轮换可用休眠/唤醒/死亡模型来描述.图3是节点3种状态的转换模型.基于休眠/唤醒模型提出了休眠/唤醒/死亡模型,与上述模型的不同点是:处于工作状态的节点需要消耗能量.
该实验模型中,节点的能量是均等的,每个节点的初始能量最大值为E0.其中,节点处于休眠状态消耗能量(E0-0.2)/轮,处于活跃状态消耗能量(E0-0.5)/轮.不论节点是处于活跃状态或是休眠状态,一旦能量值耗尽,节点随之进入到死亡状态,而节点的死亡状态是不可逆的.
2.2 休眠 /唤醒 /死亡模型的仿真实验
执行休眠 /唤醒 /死亡算法,随着节点能量的消耗,网络中的节点由最初的活跃状态和休眠状态转变成3种状态共存(如图4(b)所示),直至网络中所有节点能量全耗尽.图4(b)的仿真参数设置:
图4中的黑色星号表示处于活跃状态的节点,黑色空心圆表示处于休眠状态的节点,黑色实心圆表示处于死亡状态的节点.
2.3 性能分析
无线传感器网络的生命周期定义为从网络建立直到首个节点或最后一个节点能量耗尽的时间,网络生命周期的结束时间具体根据不同的应用而确定,这取决于网络中存活的节点是否还能继续支持网络实现其功能[7].可从单个节点平均存活时间与全网存活时间2个方面,分析休眠概率和休眠轮次对无线传感器网络生命周期的影响.
2.3.1 单个节点平均存活时间
由于无线传感器网络是由大量节点构成的,当网络中有大量单个节点死亡时,会影响到网络的性能.因此,我们分析单个节点在不同休眠概率和休眠轮次下的存活时间.单个节点存活时间可定义为,从仿真实验开始,直到网络中第一个节点死亡,即单个节点能量耗尽所经过的工作轮次.图5是在不同参数设置下,单个节点平均存活时间与休眠概率关系的仿真图.
2.3.2 全网存活时间
由于无线传感器网络中的节点密度高、数量多,当小部分节点死亡时,网络仍能继续完成任务;而当越来越多的节点因能量耗尽而死亡之后,网络的功能才逐渐无法持续;当网络中的所有节点全部进入到死亡状态时,即是整个网络完全进入到死亡状态[7].从仿真实验开始,至网络中最后一个节点能量耗尽所经过的工作轮次,即全网存活的时间.图6是在不同参数值设置下,全网存活时间与休眠概率关系的仿真图.
图6表明,随着休眠概率和休眠轮次的增加,网络中休眠节点的数量亦随之增加,全网的能量消耗降低,从而网络的存活时间得到延长.由于较大的休眠概率使网络中单个节点在存活过程中处于休眠状态的次数相同成为一种可能,因此当休眠概率增大到一定值时,全网存活时间达到稳定值.
3 结语
对于无线传感器网络,延长网络寿命成为了优先考虑的问题,休眠机制的采用,可以有效降低网络的能量浪费,从而延长网络的生命周期.本文针对基于休眠/唤醒机制的无线传感器网络存活状态进行分析,提出了无线传感器网络中节点休眠/唤醒机制的模型.在未考虑网络覆盖度和连通性的条件下,分析了休眠概率以及休眠轮次对网络生存周期的影响.
[1]孙超,赵路路,张影,等.无线传感器网络分簇拓扑的覆盖区域节点调度优化算法研究[J].传感技术学报,2010,23(1):116-121.
[2]ZEBBANE B,CHENAIT M,BADACHE N.Towards an energy-efficient algorithm based sleep-scheduling for wireless sensor networks[C]//New Technologies,Mobility and Security(NTMS),2012 5th International Conference on.IEEE,2012:1-4.
[3]郑亚玲.无线传感器网络中的节点休眠调度算法研究[D].重庆:重庆邮电大学,2007.
[4]ZEBBANE B,CHENAIT M,BADACHE N.Enhancing the sensor network lifetime by topology control and sleepscheduling[C]//Smart Communications in Network Technologies(SaCoNeT),2013 International Conference on.IEEE,2013,1:1-5.
[5]郝俊峰.无线网状传感器休眠协议及算法研究[D].昆明:云南民族大学,2012.
[6]KUMAR S,LAI T H,POSNER M E,et al.Optimal sleep -wakeup algorithms for barriers of wireless sensors[C]//Broadband Communications, Networks and Systems,2007.BROADNETS 2007.Fourth International Conference on.IEEE,2007:327-336
[7]周伟.基于分簇的无线传感器网络关键技术研究[D].上海:上海大学,2011.
[8]顾晓燕,孙力娟,郭剑,等.无线传感器网络覆盖质量与节点休眠优化策略[J].计算机仿真,2011,28(9):127-131.
[9]张乾燕,黄海平,沙超.无线多媒体传感器网络中一种自适应的休眠调度策略[J].科学技术与工程,2012,28(12):7226-7230.