尹中康 孙恩岩 王传云 谭明爵
摘 要:路由协议是无线传感器网络设计中的一项重要技术,文中提出一种高效、节能的路由协议。分析原始DD协议,对原始协议中由于节点的选择策略导致网络中存在能量消耗不均的问题进行改进,同时考虑改进后的协议中传感器当前节点与下一跳节点间的距离以及下一跳节点的剩余能量,使得网络的生命周期、网络节点的剩余能量以及网络节点的能量均方差得以提高。通过仿真得出,改进后的协议更适合于无线图像传感器网络的数据传输,可延长整个传感器网络的生命周期。
关键词:无线传感器网络;DD协议;蚂蚁算法;网络节点
中圖分类号:TP212 文献标识码:A 文章编号:2095-1302(2018)08-00-03
0 引 言
本文主要对现有的定向扩散协议[1-3](Directed Diffusion,DD)进行改进并实现仿真,使其能适合于无线传感器网络。在改进的DD协议中同时考虑节点间的传输距离以及节点间的剩余能量,使得网络中节点的剩余能量比较平均,从而避免原始协议中能量较小的节点因承担通信距离较长的网络数据传输任务而导致能量消耗过快最终提前“死亡”的现象,最终使得整个网络的生命周期得到显著提高,同时能耗也比较均衡。
1 定向扩散协议的概念过程分析
DD协议是一种基于查询的路由方法,查询命令由汇聚节点发出,传感器向查询节点报告采集到的数据。在DD协议中,协议的执行由兴趣扩散过程、梯度建立过程及路径加强过程组成,定向扩散路由协议的过程如图1所示。兴趣设计的目的是向全网络中的节点发出信息,并表明汇聚节点想要的数据类型。兴趣向网络中的扩散采用泛洪方式,如图1(a)所示。在兴趣广播完成后,源节点与汇聚节点之间的梯度就建立完毕,最后形成的梯度如图1(b)所示。当网络中的传感器节点采集到相关匹配数据后,向所有感兴趣的邻近节点转发该数据,若收到该数据的邻近节点不是汇聚节点,则采用同样的方式转发该数据。因此汇聚节点会收到从不同路径上传送来的相同数据,在收到这些数据后,汇聚节点选择一条最优路径作为强化路径,后续数据沿该路径传播,如图1(c)所示。
2 利用蚁群算法模拟实现原始定向扩散路由协议
利用蚁群算法(Ant Colony Optimization,ACO)模拟实现传感器网络中寻找一条从源节点到汇聚节点的最短路径[4-6]。假设算法中蚂蚁的数量为m,整个无线传感器网络中传感器节点的个数(即蚂蚁觅食过程中路口的个数)为n。
2.1 算法中各个参数的初始化操作
算法中各个参数的初始化操作步骤如下:
(1)将m只蚂蚁放到待搜索路径的起始位置(即汇聚节点的位置),同时为每只蚂蚁设置一个路径禁忌表,用来标记每只蚂蚁走过的路径,避免下次寻找路径时重复选择走过的路。其初始化操作为将每只蚂蚁的路径搜索禁忌表tabuk(s)中的第一个元素tabuk(1)设置为当前起始位置。
(2)为所有路径赋予信息素值τ(i,j)=C(C为常数)。
(3)为网络中的汇聚节点和源节点赋予较大的能量初值,将其他节点视为普通节点,赋予较小的能量初值。
2.2 算法中路径的选择规则
在t时刻,蚂蚁k在节点i位置选择其邻近节点j时的概率按照以下公式确定:
(1)
式中:Jk(i)代表下一个可以选择的所有节点集合,即传感节点中蚂蚁k尚未经过的节点集合;ηij是按概率选择下一跳时的启发因子,其大小取决于两节点间距离的倒数;α,β表示概率公式中信息素因子和启发式因子相对重要程度的大小,并且在算法执行过程中其值保持不变。
2.3 算法中信息素的更新
在所有蚂蚁完成一次路径搜索后,对所有路径上的信息素进行规则重置:
(2)
式中:Q为常系数;ρ为各条路径上信息素的挥发速率,其值在
[0,1]之间;Δτij为路径ij上信息素增加量;Δτkij为蚂蚁k在路径ij上留下的信息素;Lk表示蚂蚁k所走过路径的路程。为了找到从源节点到汇聚节点的最短路径[7],设置蚂蚁搜索路径的迭代次数iter,用来控制算法结束的终止条件。在算法中设置一个变量Route_best,大小为iter×n的二维数组,用来记录各代路径中最短路径所经过的每个节点的顺序。在算法中设置一个变量Length_best,其是大小为iter×1的一维数组,用来记录各代路径中最短路径的长度。蚁群算法解决最短路径流程如图2所示。
2.4 能量消耗计算
假设网络中有node_A和node_B两个传感器节点,它们之间的距离为d m,当节点node_A向节点node_B发送
k bit数据包时,节点node_A和node_B消耗的能量计算公式
如下[7]:
(3)
(4)
式中:ETX-elec(k)表示功率放大器消耗的能量;Eelec表示传感器节点中无线发射电路的能量损耗。
由式(3)可以看出,当发送端节点发送数据时,发送节点消耗的能量由发射电路损耗与功率放大损耗两部分能耗构成。当两节点间的距离小于常数值d0时,功率放大采用自由空间模型;当两节点间的距离大于常数值d0时,功率放大采用多路径衰减模型。式(3)中的εfs与εamp分别表示这两种模型所对应功率放大能量的大小。
3 对原始DD协议的改进
在原始定向扩散的基础上,增加一个变量Eall(i),用来记录传感器网络中节点i的初始能量;增加一个变量Erem(i),用来记录网络中节点i的剩余能量,其大小等于Eall(i)减去已经消耗的能量,具体计算步骤如下:
(1)计算节点间的距离:
(5)
(2)计算候选节点的剩余能量:
(6)
(3)综合考虑节点间的距离以及剩余能量对选择概率所占的权重,决定最终选择的节点:
(7)
式中u是[0,1]之间的常数。
(4)当候选节点的相邻节点间出现相同概率的节点时,在候选节点中随机选择其中一个节点作为下一跳。
(5)对信息素的更新与原始DD协议相同。
4 原始协议的仿真
仿真过程是将无线传感器网络模型抽象成為一个二维平面带权的无向图。在无向图中,G=(V,A),其中,V=(V1,V2,…,Vn)代表无线传感器网络中的节点集合。在仿真过程中,对集合中的每个节点赋予一个能量初值。在节点集合中,V1代表汇聚节点,Vn代表源节点,其余节点代表网络中的普通节点;A代表无向图中所有边的集合,对每一条边都赋予一个权值,表示边所连接的两个节点间距离的大小。
在Matlab中产生一个18 m×25 m的二维平面区域,部署45个无线传感器节点。节点之间有线相连表示两节点可以进行数据通信;否则不能进行数据通信[8-9]。寻找最短路径的模拟场景如图3所示,图中五角星表示最短路径节点。
5 改进前后DD协议的仿真结果及分析
为检验改进后算法的整体效果,从网络中节点的生命周期、路由链路的变化、节点剩余能量的均匀程度以及能量的标准差等几方面进行仿真验证。
在改进后的定向扩散协议中,由于选择中间节点时考虑了节点间的距离与剩余能量,从而实现了数据的可靠传输,同时传输完成后节点的能耗比较均匀[9]。网络中能量较低的节点不会被选择作为下一跳,避免了被选节点能够从源节点一端接收数据但却不能将其发往汇聚节点一端的情况发生。原始DD协议和改进后DD协议的生命周期对比结果如图4所示。
原始DD协议和改进后DD协议的动态路由选择效果图分别如图5、图6所示。在改进后的协议中,数据传输链路随着网络中节点剩余能量的变化而进行动态调整,网络中的所有节点都会分担整个网络数据传输任务的负荷量。
在改进后的协议中,网络节点的能量消耗分布更加均匀,这在一定程度上也延长了整个网络的生命周期。
原始DD协议和改进后DD协议中各个节点的能耗分布情况分别如图7、图8所示。
DD协议改进前后整个网络能量的标准差变化如图9所示。从图9可以看出,当数据传输到100轮以后,原始DD协议中节点的能量标准方差逐渐变大,而改进后的DD协议中节点的能量标准方差比原始协议小,说明改进后的协议使得传感器网络中节点的能量消耗均匀,符合无线传感器网络的设计要求,达到了网络中节点能量消耗均匀的目的。
6 结 语
本文在现有协议的基础上对网络中数据通信过程中下一跳节点的选择策略进行改进,即在选择节点的同时考虑节点间的通信距离与节点的剩余能量情况。此协议规则能避免原始协议中能量较少的节点被选为数据传输路径上的负载节点,导致节点能量消耗不均的问题,最终使整个网络的寿命得到延长,并能提高能量的利用率,保证网络数据传输的服务质量。后续工作可在仿真过程中设置更多的节点并使节点位置具有更强的随机性。
参考文献
[1]彭海英,唐伶俐,唐红.无线传感器网络中DD路由协议的改进研究[J].计算机工程与应用,2007,43(14):127-130.
[2]孙利民,叶驰,廖勇.传感器网络的路由机制[J].计算机科学,2004,31(3):54-57.
[3] DORIGO M,GAMBARDELLA L M.Ant colony system:a cooperative learning approach to the traveling salesman problem[J].IEEE trans on evolutionary computation,1997,1(1):53-56.
[4]黄翰,郝志峰,吴春国,等.蚁群算法的收敛速度分析[J].计算机学报,2007,30(8):1344-1353.
[5]汪凯,张贵仓.基于改进蚁群算法的图像边缘检测研究[J].计算机工程与应用,2017,53(23):171-176.
[6] BELLO R,NOWE A,CABALLERO Y,et al.A model based on ant colony system and rough set theory to feature selection[C]//Genetic and Evolu-tionary Computation Conference,2005.
[7]罗兰花,梁海英,任子亭.基于改进蚁群算法的网络能量平衡路由策略[J].机械设计与制造,2017(11):238-241.
[8]郑明才,李勇帆,赵小超,等.定向扩散路由无线传感器网络行为仿真[J].计算机系统应用,2013,22(5):143-146.
[9] KANNAMMAL K E,PURUSOTHAMAN T. Performance of improved directed diffusion protocol for sensor networks under different mobility models[J]. Journal of computer science,2012,8(5):694-700.