一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种适用于三维空间中解决贪婪转发出现路由空洞的方法与流程

2022-02-18 23:23:21 来源:中国专利 TAG:
一种适用于三维空间中解决贪婪转发出现路由空洞的方法与流程

本发明属于无人机自组网技术领域,涉及一种适用于三维空间中解决贪婪转发出现路由空洞的方法。

背景技术

无人机自组网作为一个特别的自组织网络分类被单独研究,但是目前大部分路由协议均在二维平面进行分析研究,实际上无人机自组织网络的应用场景多为三维空间,应该从三维空间的角度对无人机自组织网络进行分析。

无人机自组网的路由协议一般分为两类:一种是基于拓扑的路由协议,一种是基于地理位置的路由协议。基于拓扑的路由协议由于依赖链路状态系统信息通常不兼容第三个维度的拓展,而基于地理位置的路由协议其特征可以在三维空间中被利用。但是现有基于地理位置信息的路由协议大多适合应用于移动自组织网络等二维自组织网络,无法直接应用到三维空间中。

在二维空间中基于地理位置的贪婪转发在处理路由空洞时,都利用平面化算法进行转发,但是这些算法不适用于三维空间中基于地理位置的贪婪转发,因此需要一种新的转发方式来处理当贪婪转发失败时,出现的路由空洞问题。



技术实现要素:

本发明的目的是提供一种适用于三维空间中解决贪婪转发出现路由空洞的方法,采用该方法在三维空间中无人机自组网节点进行贪婪转发时,借用以目的节点为球心形成可变半径的虚拟球体为转发范围,逐渐增大虚拟球体半径,将被虚拟球体所接触的节点选作下一跳转发节点,进行数据的转发。

本发明所采用的技术方案是,一种适用于三维空间中解决贪婪转发出现路由空洞的方法,具体包括如下步骤:

步骤1,构建无人机节点网络模型;

步骤2,确定无人机节点通信范围与虚拟球体转发范围;

步骤3,确定无人机下一个转发节点。

本发明的特点还在于:

步骤1的具体过程为:

步骤1.1,将N个无人机随机分布在三维空间中,每个无人机通过自身携带的GPS设备获取自身的位置信息;

步骤1.2,选取任意一台无人机作为源节点S,源节点S通过目的地位置服务获取数据包目的地的位置信息,即无人机目的节点D的位置信息。

步骤1.1中,每个无人机通过自身携带的GPS设备获取的自身位置信息包括经纬度、海拔。

步骤2的具体过程为:

步骤2.1,采用如下公式(1)确定任一无人机节点(a,b,c)的通信范围r:

(x-a)2 (y-b)2 (z-c)2=r2 (1);

步骤2.2,利用无人机目的节点D的坐标(xD,yD,zD)为球心形成一个半径可变的球形,该球形的半径为R,R即为无人机的球体转发范围,采用如下公式(2)计算球形半径R:

(x-xD)2 (y-yD)2 (z-zD)2=R2 (2);

步骤2.3,采用如下公式(3)计算无人机源节点S到目的节点D的距离L:

步骤3的具体过程为:

N个无人机自组网中各节点通过GPS模块获取自身位置信息,各无人机在各自通信范围内通过周期性hello信息获取相邻节点的位置信息,各无人机节点生成各自的一跳邻居表,根据一跳邻居表可以得到任意两个邻节点间的距离;

当源节点S要发送数据给目的节点D时,首先分析源节点S的一跳邻居表中是否存在目的节点D,即判断目的节点D与源节点S是否互为一跳邻居节点,如果存在,则源节点S直接给目的节点D发送数据;

如果在源节点S的邻居表中不存在目的节点D,那么以目的节点D的位置坐标为球心形成一个半径R可变的球体转发范围,当R=L-r时,球体转发范围与源节点S的球形通信范围两个球面是相切的,此时逐渐增大球体转发范围的半径R,则两个球形范围相交,选择在源节点S的邻节点中最先与球体转发范围相接触的节点A作为下一跳转发节点,进行数据转发;

若球体转发范围在接触源节点S之前都没有与任何源节点的一跳邻节点接触,那么则认为出现了路由空洞的情况;

当出现路由孔洞情况时,继续增大球体转发范围的半径直到接触到除源节点S之外的源节点S的一跳邻节点,并将该节点作为下一跳邻节点进行数据转发;

当该球体转发范围同时接触多个邻节点时,当球体转发范围的半径R小于源节点S到目的节点D的距离时,则选择最靠近源节点S的邻节点进行转发;当球体转发范围的半径R大于或等于源节点S到目的节点D的范围时,即出现路由空洞的情况,则选择距离源节点S最远的邻节点进行转发。

本发明的有益效果如下:

1.利用以目的节点为球心的可变半径虚拟球体转发范围能够更快的为源节点选择出最合适的下一跳转发节点,在数据传输过程中,有效的降低了端到端的延迟。

2.在发生路由空洞的情况时,使用此方法能够快速的找到适合进行转发的邻节点作为下一跳转发节点进行数据的转发,跳出节点稀疏的区域,解决了贪婪转发在三维空间中遇到路由空洞的情况而发生数据转发失败的问题。

3.当多个节点同时接触虚拟球体转发范围,符合上述转发条件时,都作为下一跳转发节点进行数据的转发能过够降低丢包率,大大提高数据转发成功的概率。

附图说明

图1为本发明一种适用于三维空间中解决贪婪转发出现路由空洞的方法中任意节点X通信范围与虚拟球体转发范围示意图;

图2为本发明一种适用于三维空间中解决贪婪转发出现路由空洞的方法在三维空间中贪婪转发示意图;

图3为本发明一种适用于三维空间中解决贪婪转发出现路由空洞的方法在贪婪转发失败利用虚拟球体转发范围选择下一跳转发节点示意图;

图4为本发明一种适用于三维空间中解决贪婪转发出现路由空洞的方法在贪婪转发过程中在多个合适邻节点中选择最优转发节点示意图;

图5为本发明一种适用于三维空间中解决贪婪转发出现路由空洞的方法在贪婪转发失败在多个合适邻节点选择最优转发节点示意图;

图6为本发明一种适用于三维空间中解决贪婪转发出现路由空洞的方法选择下一跳转发节点流程图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种适用于三维空间中解决贪婪转发出现路由空洞的方法,具体包括如下步骤:

步骤1,构建无人机节点网络模型;

将N个无人机节点按照一定飞行规律飞行在在三维空间中,通过自身携带的GPS设备可以获取自身的位置信息,如经纬度、海拔等。当 无人机之间要进行数据转发时,源节点S(数据进行转发的初始节点)可以通过某些目的地位置服务获取数据包目的地的位置信息,即目的节点的位置信息。空间中每一无人机的通信范围为一定值,无人机节点可以通过交换周期性的hello信息得到通信范围内的一跳邻节点的位置信息,形成一跳邻居列表。

步骤2,确定节点通信范围与虚拟球体转发范围;

如图1所示,任一无人机节点坐标(a,b,c)通信范围为半径为r的球形通信范围。

(x-a)2 (y-b)2 (z-c)2=r2 (1);

利用目的节点的坐标(xD,yD,zD)为球心形成一个半径R可变的虚拟球体转发范围。

(x-xD)2 (y-yD)2 (z-zD)2=R2 (2);

计算源节点S到目的节点D的距离为L:

步骤3,选择下一跳转发节点的流程如下:

无人机自组网中各无人机节点通过GPS模块获取自身位置信息,在各自通信范围内通过周期性hello信息获取其邻节点的位置信息,各节点生成其一跳邻居表,继而可以得到任意两个相邻节点间的距离。当某一节点为源节点S要发送数据给目的节点D时,首先分析源节点的一跳邻居表中是否存在目的节点,即判断目的节点D与源节点S是否互为一跳邻居节点,如果存在,则源节点S直接给目的节点D发送数据。

如果在源节点S的邻居表中不存在目的节点D,那么以目的节点的位置坐标为球心形成一个半径可变的虚拟球体转发范围,当R=L-r时,虚拟球体转发范围与源节点S的球形通信范围两个球面是相切的,此时逐渐增大球形转发范围的半径R,则两个球形范围相交,直到虚拟球体转发范围接触到源节点S的某一邻节点,如图2,选择在源节点的邻节点中最先与虚拟球体转发范围相接触的节点A作为下一跳转发节点,进行数据转发。若球形转发范围在接触源节点S之前都没有任何源节点的一跳邻节点与其接触,那么则认为出现了路由空洞的情况。此时继续增大球形转发范围的半径直到接触到除源节点S之外的其一跳邻节点将其作为下一跳邻节点进行数据转发,如图3,源节点S的邻节点B作为下一跳的转发节点,进行数据转发。

当该虚拟球体转发范围同时接触多个邻节点时,且虚拟球体转发范围的半径小于源节点到目的节点的距离时,那么选择最靠近源节点S的邻节点C进行数据转发(此时被虚拟转发球体接触的邻节点到目的节点D距离是一样的,选择最接近源节点S的邻节点能提高转发效率),即如图4所示。当球形转发范围的半径大与或等于源节点到目的节点的范围时,即出现路由空洞的情况,则选择距离源节点S最远的邻节点E进行转发(出现路由空洞情况认为此范围节点数量稀疏,选择最远邻节点作为下一跳邻节点,可以使数据转发出节点稀疏区域),即如图5所示。当有多个节点符合上述转发情况,则都作为下一跳节点进行数据的转发。当下一跳邻节点接收到源节点转发的数据时,此邻节点变为源节点继续进行上述转发,直到数据成功转发到目的节点,转发流程如图6所示。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献