水下传感器网络中基于距离的能量均衡动态地理路由方法与流程

文档序号:16675361发布日期:2019-01-18 23:53阅读:237来源:国知局
水下传感器网络中基于距离的能量均衡动态地理路由方法与流程

本发明涉及一种水下无线传感器网络路由方法。特别是涉及一种水下传感器网络中基于距离的能量均衡动态地理路由方法。



背景技术:

水下无线传感器网络是由一系列具有声学通信能力和计算能力的传感器节点构成的水下检测网络系统,在海洋资源勘测,水污染检测、海洋地震监控、战术监视等领域都有着广泛的应用前景。路由问题是水下传感器网络中的关键问题之一。

因为无线电波在水下会被严重吸收,损耗严重,光波又会有严重的散射,都不符合水下网络的通信要求。水下环境中节点通信能耗大、能量补给及节点更换困难,且水下传感器网络的拓扑控制与优化问题也远比地面传感器网络复杂。所以在水下传感器网络中,信息通常通过声学通信的方式进行传播。由于声音在水下的传播速度只有1.5×103m/s(远远低于无线电波在空气中的传播速度(3×108m/s)),所以水声信道具有高延迟和高误码率的特点。在无线传感器网络路由协议方面,现有的陆上无线传感器网络(wsns,wirelesssensornetworks)路由协议虽然已经有很多种,但却无法直接应用到水下传感器网络中。针对水下传感器网络的相关特性,学者们提出了大量的适合水下网络的路由协议。通过实验分析发现地理路由协议更加适合水声传感器网络的环境和特性,所以地理路由协议逐渐成为水声传感器网络路由协议方向的研究热点,常见的包括gpsr、vbf、fbr、dfr协议等。由于水下网络的节点不断移动,拓扑结构也不断变化,而传统的水声网络的地理路由协议设置都只是针对特殊单一的网络环境。例如,在vbf(vector-basedforwardingroutingprotocol)路由协议中存在管道半径问题,如果半径设置过小就可能造成管道内没有可用的转发节点,即造成空洞问题,如果管道半径设置过大就会造成有过多的节点在管道内部,产生过多的冗余转发,导致能量消耗过多,无法很好的适应动态变化的网络环境。

在虚拟管道路由协议(vbf,vector-basedforwardingroutingprotocol)中,以源节点和目的节点的连线为轴,预先设定一个半径r,建立一个虚拟的圆柱形管道,所有的数据包都沿着管道内部传输,即只有管道内的节点才会转发数据包。管道半径对路由效率影响较大,但是管道半径r却不容易确定。r过大将导致过多的节点参与转发数据,造成能耗过大,r过小可能会导致管道内没有可以转发的节点,形成空洞,数据无法正常转发。特别是在节点密度分布不均衡时,无法找到合适的管道半径提高路由效率。而后又对vbf的空洞问题进行了改进,提出了hhvbf(hop-by-hopvector-basedforwardingroutingprotocol)路由协议。

在聚束路由协议(fbr,focusedbeamroutingprotocol)中以源节点和目标节点的连线为轴,以预先设定的锥角θ定义一个虚拟圆锥体,如果节点位于圆锥体内部则转发数据包,否则丢弃数据包。与vbf协议类似,只有圆锥体内的节点参与转发数据包,可以有效的降低能耗。但是由于网络节点密度分布不均衡,锥角θ的值很难控制以满足较好的效率。

在定向洪泛路由协议(dfr,anefficientdirectionalflooding-basedroutingprotocol)中,通过基本角base_angle限制广播的方向和区域,减少广播的消耗。只有转发节点f与源节点s和目的节点d之间的夹角比base_angle大的节点才会转发数据包,在逐跳过程中根据链路质量动态调整base_angle,当链路质量较差时,base_angle较小,将会有更多的节点参与转发,能够有效应对网络拓扑的动态变化。

水下传感器网络的特点是传感器节点的位置动态变化,进而导致整个网络的拓扑结构持续变化。由于节点存在移动性,决定了节点在整个网络的分布不均匀,有的地方节点稠密,有的地方节点稀疏,甚至存在空洞区域。



技术实现要素:

本发明所要解决的技术问题是,提供一种水下传感器网络中基于距离的能量均衡动态地理路由方法。

本发明所采用的技术方案是:一种水下传感器网络中基于距离的能量均衡动态地理路由方法,包括如下步骤:

1)邻居节点表的建立与维护;

2)根据邻居节点表选择转发数据包的邻居节点构成数据包转发区域;

3)计算转发因子;

4)根据转发因子设置相邻传感器节点等待转发数据包的时间。

步骤1)中所述的邻居节点表的建立,是水下传感器网络中的每个传感器节点分别广播数据包,每个传感器节点在首次接收到相邻传感器节点广播的数据包时,记录每个数据包所对应的相邻传感器节点的标识和位置信息,形成一个邻居节点表。

步骤1)中所述的维护是当传感器节点再接收到一个相邻传感器节点发送过来的数据包时,如果该传感器节点已经在所述的邻居节点表中,则在邻居节点表中更新该传感器节点的位置信息,否则将该传感器节点作为一个新的相邻节点将该传感器节点的标识和位置信息加入到邻居节点表中,在更新邻居表过程中,移除一些在设定的时间没有更新的节点。

步骤2)中所述数据包转发区域的确定是:

当一个传感器节点i准备发送数据包时,会遍历邻居节点表,并根据如下公式计算出每个相邻传感器节点的距离差值δd(i,j),

δd(i,j)=d(i,destinaton)-d(j,destination)(1)

式中,d(i,destination)表示当前传感器节点i到目标节点的距离;d(j,destination)表示与当前传感器节点相邻的传感器节点j到目标节点的距离;

当前传感器节点根据距离差值对相邻传感器节点进行降序排序,使前n个相邻传感器节点所在的区域构成转发区域,当相邻传感器节点数目不足n个时,所有距离较该传感器节点更接近目标节点的相邻传感器节点都在数据包转发区域内;

n的计算方式为:

式中vsensor为传感器节点传输范围的体积,vxyz为水下传感器网络的体积,n0为水下传感器网络中传感器节点的数量。

步骤3)包括:

当传感器节点j收到来自传感器节点i的数据包时,传感器节点j首先判断自己是否处在数据包转发区域中,若在则开始计算自己的转发因子α,若不在,则直接丢弃数据包。根据如下公式计算转发因子α:

其中enow为传感器节点当前的剩余能量,einit为传感器节点的初始能量,r为传感器节点传输范围,d为传感器节点到上一跳传感器节点的距离,θ为上一跳传感器节点到当前传感器节点的向量(sf)与上一跳传感器节点到目标节点的向量(sd)之间的夹角。

步骤4)包括:

为了避免有过多的传感器节点转发相同的数据包,当一个传感器节点j接收到一个数据包后,该传感器节点计算转发因子α,然后根据如下公式计算出等待时间t,在等待时间t完结后才会转发该数据包,其中,

式中α为传感器节点的转发因子,r为传感器节点的传输范围,d为传感器节点到上一跳传感器节点的距离,v为声波在水下的传播速度;

如果在等待时间t内收到相同的数据包,将根据发送该数据包的传感器节点的位置信息重新计算等待时间t',如果等待时间t'大于预先设定的阈值tmax,则直接丢弃该数据包,否则重新执行新的等待时间t'。

本发明的水下传感器网络中基于距离的能量均衡动态地理路由方法,具有如下特点:

1、基于距离转发划分转发区域:此路由协议作为一种地理路由协议,通过节点的坐标位置信息进行路由选择,有效地弥补了拓扑信息路由方法的一些缺陷。

2、动态自适应性:此路由协议能够动态调整转发区域的大小,以应对节点分布不均等水下网络的特殊情况。动态的调整转发区域的大小,减少过多的冗余节点发送数据,使得路由协议能够做到动态自适应性。

3、能量均衡:节点在发送数据之前,会计算转发因子,而在计算转发因子时,会参考当前节点的剩余能量。即当节点的剩余能量越大,越容易转发数据,反之亦然。最终,能够达到能量均衡的目的。

附图说明

图1是本发明中节点转发数据包的流程图;

图2是确定数据包转发区域的示意图;

图3是计算转发因子的示意图;

图4是有效投递的数据包数目随节点数目变化趋势图;

图5是能量消耗随节点数目变化的趋势图;

图6是单位数据能耗随节点移动速度变化趋势图。

具体实施方式

下面结合实施例和附图对本发明的水下传感器网络中基于距离的能量均衡动态地理路由方法做出详细说明。

如图1所示,本发明的水下传感器网络中基于距离的能量均衡动态地理路由方法,包括如下步骤:

1)邻居节点表的建立与维护;

所述的邻居节点表的建立,是水下传感器网络中的每个传感器节点分别广播数据包,每个传感器节点在首次接收到相邻传感器节点广播的数据包时,记录每个数据包所对应的相邻传感器节点的标识和位置信息,形成一个邻居节点表。

所述的维护是当传感器节点再接收到一个相邻传感器节点发送过来的数据包时,如果该传感器节点已经在所述的邻居节点表中,则在邻居节点表中更新该传感器节点的位置信息,否则将该传感器节点作为一个新的相邻节点将该传感器节点的标识和位置信息加入到邻居节点表中,在更新邻居表过程中,移除一些在设定的时间没有更新的节点,因为这些节点可能已经不在其通信范围内。

2)根据邻居节点表选择转发数据包的邻居节点构成数据包转发区域;

当一个传感器节点i准备发送数据包时,会遍历邻居节点表,并根据如下公式计算出每个相邻传感器节点的距离差值δd(i,j),

δd(i,j)=d(i,destinaton)-d(j,destination)(1)

式中,d(i,destination)表示当前传感器节点i到目标节点的距离;d(j,destination)表示与当前传感器节点相邻的传感器节点j到目标节点的距离;

当前传感器节点根据距离差值对相邻传感器节点进行降序排序,使前n个相邻传感器节点所在的区域构成转发区域,如图2所示。当相邻传感器节点数目不足n个时,所有距离较该传感器节点更接近目标节点的相邻传感器节点都在数据包转发区域内;

n的计算方式为:

式中vsensor为传感器节点传输范围的体积,vxyz为水下传感器网络的体积,n0为水下传感器网络中传感器节点的数量。

3)计算转发因子;

当传感器节点j收到来自传感器节点i的数据包时,传感器节点j首先判断自己是否处在数据包转发区域中,若在则开始计算自己的转发因子α,若不在,则直接丢弃数据包。根据如下公式计算转发因子α:

其中enow为传感器节点当前的剩余能量,einit为传感器节点的初始能量,r为传感器节点传输范围,d为传感器节点到上一跳传感器节点的距离,θ为上一跳传感器节点到当前传感器节点的向量sf与上一跳传感器节点到目标节点的向量sd之间的夹角,如图3所示。

4)根据转发因子设置相邻传感器节点等待转发数据包的时间,包括:

为了避免有过多的传感器节点转发相同的数据包,当一个传感器节点j接收到一个数据包后,该传感器节点计算转发因子α,然后根据如下公式计算出等待时间t,在等待时间t完结后才会转发该数据包,

式中α为传感器节点的转发因子,r为传感器节点的传输范围,d为传感器节点到上一跳传感器节点的距离,v为声波在水下的传播速度。

如果在等待时间t内收到相同的数据包,将根据发送该数据包的传感器节点的位置信息重新计算等待时间t',如果等待时间t'大于预先设定的阈值tmax,则直接丢弃该数据包,否则重新执行新的等待时间t'。

下面给出示范性实例分析与相关工作比较

仿真平台为拓展自ns2的包含水声网络仿真模块的aqua-sim。仿真的硬件平台参数为:(1)cpu:intelcore(tm)2duo;(2)主频:2.20ghz;(3)内存:2gb;(4)操作系统:ubuntu14.04(64bit)。仿真的环境参数:在500m*500m*200m的空间内分别部署100,200,300,400,500,600个节点进行仿真实验。仿真具体的环境参数为:传感器节点数据发送、接收和空闲功率分别为2w、0.75w和5mw,网络拓扑空间区域为500m*500m*200m,目标节点三维坐标为(250,250,200),区域内活动节点数目为100、200、300、400、500、600,节点的移动速度为1.5m/s(除了仿真实验三外),数据生成速率为10kbps,数据包的大小设定为50字节。

为了更好地说明本发明提出的方法在水下传感器网络具有更好的效率。将其与hhvbf协议在仿真平台aqua-sim中进行的三组对比试验。

仿真实验一是比较两个协议随节点数目增加在投递率方面的表现。仿真结果如图4所示,从图4中可以看出,其中有效投递的数据包数目是指sink节点成功接收到的数据包数目,节点数量对投递率有显著的影响。随着节点数目的增加,数据包的投递率逐渐增高。在仿真场景中,节点数目设置为从100到600,针对hhvbf协议,当节点数目从400增加到500时,投递率有显著提高,当节点密度足够大时,每个管道内都有足够的节点转发数据,所以会有较好的投递率,但同时会有能耗增大的负面影响。但针对本发明来说,由于针对节点密度的不同,动态选择转发区域,所以随着节点数目增加时,数据包的投递率也有增长但都很稳定。在节点数目从100到200时,投递率有个明显提升,因为节点数目为100时,大部分节点的转发区域内节点数目可能不够n,所以投递率会较低。但当节点数目达到200以上时,投递率就会保持一个稳定值,因为当节点密度很大时,也只会有转发区域内的一定数量的节点会参与转发数据。所以对动态变化的水下网络来说具有较好的自适应性。

仿真实验二是比较两个协议随节点数目增加在能耗方面的表现。仿真结果如图5所示,图5描述了随着节点数目的增加,所有节点总能耗的变化趋势,当节点数目增加时,所有节点的总能耗显著增加。在仿真场景中,节点数目设置为从100到600,从图中可以看到,随着节点数目的增加,二者的总能耗都在增加,但是由于本发明提出的方法采取了通过选择不同的转发区域来限制参与转发的节点数目,有效地降低了能耗。特别是当节点比较少时,二者的能耗是比较接近的,但当节点数目非常多时,二者的能耗差距也越来越大。尤其是当节点数目超过500以后,本发明提出的方法相对于hhvbf协议的节约的能耗优势越来越明显。

仿真实验三是比较两种方法随节点移动速度增加在能耗方面的表现。仿真结果如图6所示,图6描述了当节点数目固定,单位数据能耗随节点移动速度变化的趋势,单位数据能耗就是成功投递一个数据包的能耗。从图中可以看出,随着节点移动速度的增加,单位数据能耗逐渐增加,初始节点速度为0时,二者单位数据能耗几乎相等,但随着节点移动速度的增加,hhvbf协议的单位数据能耗开始出现较大幅度增加,而本发明提出的方法的单位数据能耗虽然也在增加,但还是保持相对稳定的。因为本发明能够针对网络的动态变化做出自适应调整,很好地降低了能耗。当节点移动速度增加时,整个网络的动态变化性也在不断增加,本发明能够保持相对稳定的单位数据能耗,所以能很好地表现其动态适应性。

水下传感器网络的特点是传感器节点的位置动态变化,进而导致整个网络的拓扑结构持续变化。由于节点存在移动性,决定了节点在整个网络的分布不均匀,有的地方节点稠密,有的地方节点稀疏,甚至存在空洞区域。传统的水下地理路由协议,例如vbf协议,在管道半径r的设置上,当节点密度小时,r较大时效果较好;当节点密度大时,r较小时效果较好。所以针对节点分布不均匀的水下网络,没有自适应性。

而本发明提出的方法中,每个节点在发送数据前,根据自身周围邻接点的分布情况,动态划分转发区域,只有转发区域内的节点才能转发数据包,有效地应对了节点分布不均的情况,具有较好的自适应性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1