无线传感器网络数据汇聚路由算法
2016-06-14于泳
于泳
摘 要:无线传感器网络是一种全新的信息获取和处理技术,应用领域广泛,网内数据处理技术中传输效率和网络传输负载是重点内容,而数据汇聚与数据路由相结合是实现网内数据处理的重要方法。数据汇聚通过对传感器节点采集到大量具有高冗余度的原始数据进行一定的运算处理,提取少量可以取代原始数据的特征数据发送给汇聚节点,在保证数据有效性的同时减少传感器节点的数据通信。这种算法能够减轻了网络的传输拥塞,提高了网络性能,达到了能量平衡和能量效率的目的。
关键词:传感器网络;数据汇聚;路由算法
1 引言
无线传感器网络是由大量的传感器节点采用自组织方式构成的网络,它能够实时监测、感知和采集网络分布区域内的各种监测对象的数据。在传感器网络的节能路由算法策略中,数据汇聚是一种十分有用的技术。提高节点能量利用效率是传感器网络的重点研究内容,而设计能量高效的节能路由协议是降低能耗的重要手段。针对分簇结构的传感器网络设计了基于数据包合并的数据汇聚路由算法:簇头与簇成员之间的数据传递采用基于数据包合并的按需平均处理数据汇聚算法;簇头与簇头间的通信则采用基于数据中心地理位置的路由算法。该算法通过数据包按需平均处理可以减少簇成员上传数据的冗余度,能够提高整个网络的传输效率和降低网络的传输负载,能够迅速高效地将信息传递给中心节点。
2 数据汇聚路由算法
数据汇聚技术可以在传感器网络协议栈的多个层次中实现,既可以在MAC协议中实现,也可以路由协议或应用层协议中实现。将路由技术与数据汇聚技术相结合是一个重要的问题,数据汇聚可以减少数据量,减轻数据汇聚过程中的网络拥塞,提高网络传输效率,协助路由协议延长网络的生存时间。整个数据汇聚路由算法分两大步:第一步为簇头与簇成员之间的数据传递采用基于数据包合并的按需平均处理数据汇聚算法,第二步为簇头与簇头间的通信采用基于数据中心地理位置的路由算法。
2. 1 假设条件
为了使算法能够在平台上顺利运作,要获得或设定以下前提条件:
条件一:网络中所有节点都能通过某种定位系统,如GPS,获得节点位置信息,并且各节点事先知道中心节点的位置信息。
条件二:网络中虽然存在三种类型的节点(中心节点、簇头节点、普通节点),但节点天线发射功率是固定的,其覆盖范围是以半径r的圆。
算法的实现过程如下:
2.1.1当簇头节点有数据要发送时,先向邻近簇头节点广播路由请求(RREQ),如果中心节点在其通信范围内,直接向中心节点发送信息;
2.1.2如果收到RREQ的邻近簇头节点到中心节点的路径比路由请求的节点短,就向请求节点发送路由应答(RREP);
2.1.3路由请求节点在一定时间内收到几个邻近簇头节点的RREP,从中选择一个到中心节点路径最短的节点作为下一跳转发节点,向该节点发送信息;
2.1.4如果接收到信息的节点是中心节点,就将信息交给应用层处理;如果不是,则重复步骤1-4,直到该信息到达中心节点,本次信息传递才完成。
下面以图1为例说明算法的实现过程,
簇头A接收到簇成员的信息,汇聚后要向中心节点sink发送消息,A先发送路由请求,邻居簇头B、C接收到路由请求后都会发路由应答给节点A,节点A会在所有的路由应答中选择距离sink节点最近的节点C作为转发节点,然后A将信息传给节点C,节点C重复刚才节点A的过程,在收到节点D、E、F的路由应答中选择节点E作为下一个转发节点,直到信息上传到中心节点sink才终止。
2.2运行机制
网络运行的开始,每个节点都需要知道自己到Sink 节点的距离以及自己的邻居节点的状态。假设Sink 的能量和通信范围相对于传感器节点来说强大许多( 这种假设在传感器网络中常用) ,因此网络中的所有节点都能直接收到来自 Sink 节点的信息。首先由 Sink 节点以一定功率向全网广播一个信息,并且这个功率能保证网络中的所有节点都能收到 Sink节点的这个信息,各个节点收到这个广播信息后根据信号的强弱计算出到 Sink 节点的距离,然后各个节点再寻找自己通信范围内的邻居节点的信息,包括邻居节点的剩余能量,邻居节点到 Sink 的距离以及邻居节点到自己的距离,并将这些信息存储起来。各个节点感知或收到其他节点的数据后,需要经过融合和压缩处理,再转发这些数据到汇聚节点( Sink) 。 源节点收到所有邻居节点的应答消息后,找出其中邻居节点作为转发节点,并通知这个邻居节点要转发数据给它,然后转发数据。
3.实验结果
图2中各曲线前面部分一致,这是因为在Sink节点通信范围内的普通节点发送信息包,无须经过路由,直接发送到Sink节点。从第8包信息包开始,各曲线就开始呈现不同的状态。从图2可以看出经过数据汇聚处理的曲线在时间和信息量上都比没有使用数据汇聚处理的曲线有所减少,汇聚时间为0.04s、0.047s、0.06s的曲线比较接近,但从时间和信息量综合考虑,汇聚时间为0.047s的效果更为优越些,而且从表1仿真结果比较看出,汇聚时间为0.047s的平均通信时间是最短的,因此,把汇聚时间取为0.047s是合适的。
从以上仿真可以看出,采用具有合适的汇聚等待时间的数据汇聚路由算法,可以使网络提高传输效率、降低网络传输负载,达到我们预期目标。
4 小结
本文采用基于数据包合并的按需平均处理数据汇聚算法对数据进行了平均处理汇聚,在路由选择上,选用了基于数据中心地理位置的DCGR路由算法,对数据内容进行了坐标转换处理,并通过对何时停止等待更多的数据进行分析,获得一个汇聚等待时间的经验参考值。仿真结果表明,本章采用的汇聚算法使得网络Sink节点接收到的信息包数量明显减少,时间效率也得到提高。从仿真上证明了数据汇聚路由算法的优越性。
参考文献:
[1]任丰原,黄海宁,林闯.无线传感器网络[J].软件学报,2003,14(7):1282- 1291.
[2]林亚平,王雷,陈宇,张锦,陈治平,童调生. 传感器网络中一种分布式数据汇聚层次路由算法[J]. 电子学报,2004,11:1801-1805.
[3]孔秀平. 无线传感器网络分簇路由算法研究[D].扬州大学,2014.
[4]Agre J,Clare L.An integrated architecture for cooperative sensing net-works[J].IEEE Trans On Computers,2000,33(5):106- 108.