基于事件驱动的传感节点状态转换协议的设计
2018-12-22陈君梅陈润航
陈君梅,陈润航
(1.广州大学华软软件学院软件工程系,广州 510900;2.广西师范大学计算机科学与信息工程学院,桂林 541004)
0 引言
降低能耗是延长传感器网络生命周期最主要的方式,目前很多研究者已经提出了很多节约能耗的方法。郝俊峰等人给出了随机调度算法,该算法的核心思想是通过随机生成一个概率值,以此决策网络中所有节点在每一轮中是否需要休眠[1]。该算法的实现相对简单,能够快速给出工作和休眠的节点,但使用随机概率休眠会导致网络的吞吐量下降且产生覆盖空洞。
Suraj Sharma等人提出了基于聚类的多路径路由协议,在该协议的数据传输阶段,聚类成员在一定时间槽内处于工作状态,会传输生成的数据至聚类头,其余时间将处于休眠模式,直到下一个时间槽内被唤醒[2]。此机制能够节约传感器节点的能耗,但该类设计,若环境突然在节点休眠期间发生巨变,则会因无节点处于感知状态而造成突变环境的数据丢失的现象。
Nguyen TTN等人提出了一个基于关联性的聚类,Nguyen TTN认为关联性高的节点对,一个节点感知到的数据可以代表其他节点,所以为了能效的目的,将能量更高的节点处于工作状态而其他节点将处于休眠状态。为了识别出监测环境的突然改变,使用一个阈值去控制收集数据的节点数。即:当工作节点感知到环境突变数据且改变值大于预先定义的阈值,该节点将报告给聚类头,以此唤醒聚类中其他的休眠节点[3]。该文提出的休眠唤醒机制是一次性的,没有交替休眠/唤醒过程,能耗节约不明显。
故本文在文献[3]的基础上提出了基于事件驱动的传感节点状态转换协议,并且结合了文献[2],定期检查网络中节点的活性,以此增强网络的可靠性。
1 协议介绍
1.1 协议运行场景
该协议设想运行在面向户外的预警场景,如图1所示:营地的周围部署了很多无线红外传感器,这些无线传感器与营地内的用户手机形成一个无线传感器网络,该网络中的传感器节点将人工设置形成一个以营地为中心的两级监测警戒圈。其中,远离营地中心的传感器形成的圈称为目标识别圈;靠近营地中心的传感器形成的圈称为目标警示圈[4]。
图1 户外预警的无线传感场景[4]
整个网络的工作原理如下:大量传感器节点组成大小不一的两个同心圆形分布在营地周围,按照需求采集区域内的目标信息,并将采集到的数据发送给组播组中的监视手机。目标出现时,目标识别圈的传感器感知到目标发出的感知信号,然后将传感数据播发到无线局域网(Wireless Local Area Network,简称WLAN),监视手机从WLAN接收消息。当目标持续移动到越过目标警示圈的传感器时,目标警示圈的传感器播发消息到WLAN,所有的手机(包括监视手机和待命手机)均从WLAN接收消息。
整个网络的目标警示圈上的传感器节点,以及处于待命状态的待命手机一开始均处于休眠状态,只有当识别圈的传感器感知到目标信号时,才唤醒警示圈的传感器节点;而只有目标进入到警示圈时,监视手机才会唤醒待命状态的手机。该做法的目标在于节约节点的能耗,从而延长网络生命周期。
1.2 协议假设
本协议采用了如下的假设条件:
(1)所有的传感器节点被人工部署成内外两圈,外层节点一直处于工作状态,内层节点一开始处于休眠状态,直到发生突发事件;内外两圈的节点,其标识不一样,且每个传感器节点和手机节点均有唯一的节点标识,即id;
(2)传感器节点和手机节点均是静态节点;
(3)所有监视手机均知道所有传感器节点和其他手机节点的节点标识;
(4)所有待命手机均知道其所在聚类的聚类头节点标识以及组播组IP地址;
(5)所有的待命手机一开始处于待命状态,直到发生突发事件才加入组播组。
2 协议设计
协议是指通信双方就如何进行通信的一种约定,不同机器上构成相应层次的实体称为对等体[5]。即,协议就是一组控制数据通信的规则,定义要传送什么、怎样进行通信、以及何时进行通信,协议的三个关键要素就是语法、语义与同步[6]。故,本部分将分别阐述节点运行状态转换协议的协议体、协议消息以及协议逻辑的设计,从而描述清楚本文协议的语法、语义与同步信息。
2.1 节点运行状态转换协议的协议体和协议报文设计
本部分将给出节点运行状态转换协议中的协议体和协议报文,以及协议报文中的各个字段。如表1所示。
该协议设计了两个对等协议体:Mobilew和Mobiles,分别标识监视手机和传感器手机;以及四个协议报文:update_Msg、updateRes_Msg、confirm_Msg、warm_Msg。其中,update_Msg用于查询传感器和待命手机活性,或者唤醒待命手机;updateRes_Msg用于响应update_Msg消息;confirm_Msg用于确认updateRes_Msg消息;warm_Msg是监视手机用于发布自己所处的聚类,聚类成员均已死亡的消息。
表1 协议体和协议报文的设计
2.2 节点运行状态转换协议的协议逻辑设计
本部分将详细给出节点运行状态转换协议中,监视手机和待命手机这一对对等协议体处理活性查询和状态唤醒的交互和判断过程。详细流程如算法1和算法2所示。
(1)监视手机端的算法
算法1:节点运行状态转换协议之监视手机的协议逻辑
输入:警告圈的感知信息or节点活性查询提示,updateRes_Msg
(2)待命手机端的算法
算法2:节点运行状态转换协议之待命手机的协议逻辑
3 协议实现
本实验的目的在于验证节点的运行状态转换能力:令一台智能手机退出多播组,使其进入待命状态。当有目标警示圈的传感器往多播组发送传感数据时,观察待命手机是否被监视手机唤醒。也就是,观察监视手机是否发送唤醒消息给待命手机;以及在收到唤醒消息后,待命手机是否再次加入组播组并回复消息给监视手机。本实验的实验原理图如图2所示。
图2 待命手机运行状态转换过程
验证节点运行状态转换能力的用例如表2所示。
4 实验结果与分析
本节将记录和分析实验结果,验证的是监视手机在接收到目标警示圈的传感器发送的传感数据时,唤醒待命手机的能力,实验结果如图3、4和5所示。
由图3、4和5可知:当目标警示圈的传感器感知并发送传感数据给监视手机时,监视手机会立即发送唤醒消息给待命手机,待命手机接收到唤醒消息后,会立即加入组播组。待命手机加入组播组成功后,一方面会发送唤醒回应消息给监视手机,监视手机发送确认消息给待命手机以表示接收到回应消息;另一方面,将和监视一样,接收传感数据。该实验表明,当目标进入目标警示圈之后,即危险系数增加时,监视手机能够成功唤醒休眠中的手机,使其进入监测状态,从而增加安全性。
表2 运行状态转换功能的验证说明
图3 模拟目标识别圈和警示圈的传感器发送传感数据
图4 监视手机接收到警示圈传感数据时唤醒待命手机的过程
图5 待命手机接收到监视手机的唤醒消息时唤醒自身的过程
5 结语
本文给出了基于事件驱动的传感节点状态转换协议,该协议以环境突变数据作为唤醒休眠节点的条件,并定期检查网络中节点的活性,以此增强了网络的生命周期和可靠性,具有可行性。