1.本公开涉及无线网络技术领域,尤其涉及一种基于能耗和链路质量的路由选择方法。
背景技术:
2.当前无人机已广泛应用于军事领域,但面对当前战场对抗程度高、作战范围广和信息量大等特点,单架无人机独立工作已无法满足战场需求,因此多无人机协作构成飞行编队遂行作战任务已成为当前研究热点。而基于自组网络提出的飞行自组网(flying ad-hocnetwork,fanet)可以为多无人机之间提供可靠实时的网络通信,成为解决多无人机协作问题的良好方案。
3.但随着无线网络规模和复杂程度逐渐增加,fanet网络架构产生了诸多问题,例如数据传输时需要经过多层协议栈转发,增加了网络时延;fanet网络架构内功能模块分布零散,反复调用造成不必要的资源浪费;存储能力受限导致路由表容量有限,控制不灵活等问题。因此,针对当前fanet路由存在的种种问题,有必要改善上述相关技术方案中存在的一个或者多个问题,以确定最优路由路径进行数据传输。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现要素:
5.本公开实施例的目的在于提供一种基于能耗和链路质量的路由选择方法,以确定最优路由路径进行数据传输。
6.根据本公开实施例的第一方面,提供一种基于能耗和路由质量的路由选择方法,该方法包括以下步骤:
7.建立软件定义飞行自组网模型,该模型包括一个控制节点和多个传输节点;
8.多个所述传输节点在一个广播间隔时间内,分别生成各自的属性数据包,并将各自所述属性数据包分别上传给所述控制节点;
9.所述控制节点根据接收到的所有所述属性数据包生成网络拓扑;
10.所述控制节点根据所述网络拓扑,利用蚁群优化算法分别计算出每个所述传输节点的选择概率,并通过该选择概率确定最佳路由进行数据传输;
11.多个所述传输节点在下一个广播间隔时间,重复上述步骤,所述控制节点利用每个所述传输节点的更新后的属性数据包重新生成网络拓扑,并重新确定最佳路由进行数据传输。
12.本公开的一示例性实施例中,建立所述软件定义飞行自组网模型的步骤包括:将包含n个传输节点的软件定义飞行自组网建模为一个无向图g=〈v,e》,其中,e表示链路集合;v={c,tn}表示软件定义飞行自组网中所有节点的集合,其中,c表示控制节点;tn={v1,v2,
…
,vn} 表示传输节点的集合,vn表示第n个传输节点。
13.本公开的一示例性实施例中,在所述软件定义飞行自组网模型中,所有所述传输节点构成一个同构网络,且所有所述传输节点的初始状态相同;所有所述传输节点均在同一高度飞行,任意两个所述传输节点均不在同一位置;所有所述传输节点的通信范围均为半径为r的圆形区域;
14.所述控制节点能够保持对所有所述传输节点的集中控制。
15.本公开的一示例性实施例中,多个所述传输节点生成各自的属性数据包含以下步骤:
16.在所述传输节点的一个广播间隔时间内,所有所述传输节点分别向外广播采样数据包,同时分别接收邻居传输节点的采样数据包;
17.所有所述传输节点根据接收到的采样数据包,分别计算出当前链路质量的度量参数,所述度量参数包括各自相应信道的收包率 prr、接收信号强度rssi、信噪比snr的平均值和链路质量指示 lqi的平均值
18.所有所述传输节点根据各自当前链路的度量参数和当前节点剩余能量,分别生成各自的属性数据包,并将该属性数据包分别通过控制信道上传给所述控制节点。
19.本公开的一示例性实施例中,传输节点vi的广播间隔时间的公式包括:
[0020][0021]
其中,e
ij
表示传输节点vi和传输节点vj之间的链路,vi∈vn,vj∈vn;nhi表示传输节点vi的邻居传输节点的集合;t(e
ij
)表示传输节点vi和传输节点vj之间的链路持续时间,所述链路持续时间的公式包括:
[0022][0023]
其中,d
ij
表示传输节点vi和传输节点vj之间的欧式距离;和分别表示传输节点vi和传输节点vj的速度矢量;
[0024]
所述半径为r的圆形区域内,当两个所述传输节点之间的平均距离为0.9054r时,所述链路持续时间的公式变为:
[0025][0026]
本公开的一示例性实施例中,所述收包率prr的计算公式包括:
[0027][0028]
其中,0<m≤m,m表示该传输节点成功接收的采样数据包个数;m表示采样数据包
总个数;
[0029]
所述收包率prr对应控制节点中相应的信道质量分数lqs;
[0030]
所述接收信号强度rssi、信噪比snr和链路质量指示lqi的计算过程包括:
[0031]
传输节点接收到第i个采样数据包时,测量接收信号功率p
ri
,根据该接收信号功率p
ri
计算信噪比snr的值snri和rssi的值rsi,其中snri由传输节点的接收端直接获取,rssi的计算公式包括:
[0032]
rsi=10lg p
ri
ꢀꢀ
(5)
[0033]
其中,lg p
ri
表示p
ri
以10为底的对数;
[0034]
将第i个采样数据包的lqi的值记为li,其计算公式包括:
[0035]
li=255
×
(rsi 81)/91
ꢀꢀ
(6)
[0036]
在一个广播间隔时间内,该传输节点共成功接收到m个采样数据包,0<m≤m,则信噪比snr的平均值和链路质量指示lqi的平均值分别为:
[0037][0038][0039]
根据snr的平均值和链路质量指示lqi的平均值计算出相应信道的triangle值,所述triangle值的计算公式包括:
[0040][0041]
所述triangle值对应控制节点中相应的信道质量分数lqs;
[0042]
当triangle值和prr值所对应的信道质量分数lqs都较高时,认为该信道总体质量较高,当计算得到的triangle值与prr值对应的链路质量分数lqs不一致时,取二者之间更差的一个作为链路质量的最终判定结果;所述链路质量估计的公式包括:
[0043]
tm'=min(lqs(triangle),lqs(rw))
ꢀꢀ
(10)
[0044]
计算所述传输节点的剩余能量的过程包括:
[0045]
当传输节点vi将数据xbit数据发送至传输节点vj时,传输节点vi发送数据和传输节点vj接收数据消耗的能量分别为:
[0046][0047]er
(x)=eex
ꢀꢀ
(12)
[0048]
其中,ee表示传输节点vi处理1bit数据所消耗的能量,ef表示能量损耗系数;r表示传输节点通信范围的半径;根据式(11)和 (12)求得传输节点当前消耗的能量e
lost
,设每个传输节点的初始能量均为e
init
,则传输节点剩余能量为:
[0049]erest
=e
init-e
lost
ꢀꢀ
(13)。
[0050]
本公开的一示例性实施例中,所述控制节点生成网络拓扑的步骤包括,所述属性数据包的源节点地址与目的节点地址均使用mac 地址,所述属性数据包的消息类型用来区分信息所属类别,当消息类型为采样数据包时,目的节点地址为广播地址;
[0051]
控制节点接收来自传输节点的位置信息时,会生成网络拓扑,所述网络拓扑,用邻接矩阵表示无向图g包括:
[0052][0053]
其中,e
ij
表示传输节点vi和vj之间的链路,e
ij
∈e
nn
,该链路是否可达,其表示方法包括:
[0054][0055]
其中,d
ij
表示传输节点vi和vj之间的欧式距离,其计算公式包括:
[0056][0057]
本公开的一示例性实施例中,所述控制节点确定最佳路由进行数据传输的过程,包括路由的发现与选择和路由建立两个步骤,其中:
[0058]
所述路由的发现与选择的过程包括:当传输节点vi向传输节点 vj发送数据时,传输节点vi先通过控制信道向所述控制节点发送路由请求,所述控制节点获得路由请求后,基于传输节点可用资源设计启发因子函数,基于链路质量设计相应的路径信息素浓度函数,并计算出每个所述传输节点的选择其邻居节点的概率;
[0059]
所述路由建立的过程包括:所述控制节点确定最佳路由后,采用定向方式将该路由信息发送至所述软件定义飞行自组网中,便于相关传输节点沿最佳路由进行数据传输。
[0060]
本公开的一示例性实施例中,所述路由的发现和选择的过程包括:
[0061]
当传输节点vi的邻居传输节点集合nhi存在多个传输节点时,首先判断目的节点vd是否属于邻居传输节点集合nhi,若vd∈nhi,则直接选择vd作为下一跳节点;反之,则根据蚁群算法计算路径概率,进而选择下一跳节点;
[0062]
选择nhi中的传输节点vj作为下一跳节点的期望程度用启发因子η
ij
表达式包括:
[0063][0064]
其中,ξ1和ξ2均为权重系数,分别表示和对启发因子的影响程度,ξ1 ξ2=1;表示传输节点vj当前的剩余能量,表示传输节点vj当前的可用负载率,其表达式包括:
[0065][0066]
其中,lj为传输节点vj当前mac层接口队列长度,l
max
为传输节点可承受的最大负载,在该软件定义飞行自组网模型中,所有所述传输节点构成一个同构网络,且所有所述传输节点的初始状态相同,但单位不一致,将所述启发因子进行归一化处理,所述式(17) 改写为:
[0067][0068]
在传输节点vj的邻居节点集合nhi中,选择传输节点vj作为下一跳节点的概率表达式包括:
[0069][0070][0071]
其中,τ
ij
为路径e
ij
上的信息素浓度,且τ
ij
=e
tm'-1;α和β为系统参数,分别表示路径信息素和启发因子对下一跳节点选择的影响程度;公式(21)表示约束条件,表示每条路径的概率在0到1之间,所有可达路径的选择概率为1;
[0072]
所述控制节点通过深度优先选择des算法求出源节点vs到目的节点vd的所有路径集合path
sd
,当集合path
sd
中存在多条可用路径时,计算每条路径的选择概率的公式包括:
[0073][0074]
其中,p
ij
为每条路径中各个链路的选择概率;h为路由跳数;
[0075]
选择路径选择概率最大的路径为最佳路由,数据包沿该路由完成数据传输。
[0076]
本公开的一个示例性实施例中,所述路由建立的过程包括:所述控制节点采取定向方式向所述软件定义飞行自组网中发送路由信息,即当最佳路由为p
sd
=《vs,va,vb,vc,vd》时,所述控制节点仅通过相应的控制信道向传输节点vs、va、vb、vc和vd发送路由信息数据包,所述路由信息数据包的上一跳地址告知该传输节点需要接收并处理的路由信息数据包的来源,下一跳地址指示该传输节点应将该路由信息数据包转发至哪个传输节点;源节点收到的路由信息中的上一跳地址和目的节点收到的路由信息中的下一跳地址均为空。
[0077]
本公开提供的技术方案可以包括以下有益效果:
[0078]
本公开实施例中,在该数据传输方法中建立了能耗模型和链路质量估计模型,既
能提高能量利用效率,又可以避免链路拥塞并保证链路传输稳定性;在建立路由时以传输节点的地理位置信息为基础,结合传输节点当前状态和链路状态信息,选择最佳路由进行数据传输。该路由协议能够保证网络能耗均衡,同时获得较低的网络时延和网络开销,还可以获得较高的吞吐量,能够满足无人机网络执行任务的各项需求。
附图说明
[0079]
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见的,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0080]
图1示出本公开示例性实施例中基于数据传输方法的步骤示意图;
[0081]
图2示出本公开示例性实施例中传输节点周期性向外广播时网络负载变化情况示意图;
[0082]
图3示出本公开示例性实施例中仿真实验的网络能量消耗均衡性比较图;
[0083]
图4示出本公开示例性实施例中仿真实验的平均网络时延比较图;
[0084]
图5示出本公开示例性实施例中仿真实验的网络平均路由跳数比较图;
[0085]
图6示出本公开示例性实施例中仿真实验的网络平均吞吐量比较图;
[0086]
图7示出本公开示例性实施例中仿真实验的网络路由开销比较图。
具体实施方式
[0087]
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
[0088]
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0089]
本示例实施方式中首先提供了一种软件定义飞行自组网中基于能耗和链路质量的路由协议,参考附图1中所示,该路由协议可以包括以下步骤:
[0090]
步骤s101:建立软件定义飞行自组网模型,该模型包括一个控制节点和多个传输节点;
[0091]
步骤s102:多个所述传输节点在一个广播间隔时间内,分别生成各自的属性数据包,并将各自所述属性数据包分别上传给所述控制节点;
[0092]
步骤s103:所述控制节点根据接收到的所有所述属性数据包生成网络拓扑;
[0093]
步骤s104:所述控制节点根据所述网络拓扑,利用蚁群优化算法分别计算出每个所述传输节点的选择概率,并通过该选择概率确定最佳路由进行数据传输;
[0094]
步骤s105:多个所述传输节点在下一个广播间隔时间,重复上述步骤,所述控制节
点利用每个所述传输节点的更新后的属性数据包重新生成网络拓扑,并重新确定最佳路由进行数据传输。
[0095]
本公开实施例中,在该数据传输方法中建立了能耗模型和链路质量估计模型,既能提高能量利用效率,又可以避免链路拥塞并保证链路传输稳定性;在建立路由时以传输节点的地理位置信息为基础,结合传输节点当前状态和链路状态信息,选择最佳路由进行数据传输。该路由协议能够保证网络能耗均衡,同时获得较低的网络时延和网络开销,还可以获得较高的吞吐量,能够基本满足无人机网络执行任务的各项需求。
[0096]
下面,将对本示例实施例中的上述方法的各个步骤进行更详细的说明。
[0097]
步骤s101包括,将包含n个传输节点的软件定义飞行自组网建模为一个无向图g=《v,e》,其中,e表示链路集合;v={c,tn}表示软件定义飞行自组网中所有节点的集合,其中,c表示控制节点; tn={v1,v2,
…
,vn}表示传输节点的集合,vn表示第n个传输节点。
[0098]
软件定义飞行自主网包括一个控制节点和若干个传输节点,其中,传输节点可以感知和收集周边环境信息,并将相关信息分享给其他传输节点,并可将各自的属性数据包(node attribute,na消息)通过控制信道上传给控制节点。控制节点用于接收每个传输节点传输的na消息,并对其进行处理和反馈,即完成网络拓扑生成、更新及路由计算等功能。
[0099]
本示例中,在该软件定义飞行自组网中,所有传输节点均在同一高度飞行,任意两个传输节点均不在同一位置;每个传输节点的通信范围均为半径为r的圆形区域;所有传输节点构成同构网络,且所有传输节点的初始状态相同;控制节点具有充足的能力(包括计算、存储和能量等),能够保持对所有传输节点的集中控制。
[0100]
步骤s102包含以下步骤:
[0101]
步骤s1021:在所述传输节点的一个广播间隔时间内,所有所述传输节点分别向外广播采样数据包,同时分别接收邻居传输节点的采样数据包;
[0102]
参照附图1和附图2所示,传输节点通过周期性的向外广播采样数据包和接收邻居节点的采样数据包从而获得邻居节点信息和相关链路信息,但周期性地广播数据包会导致网络在某一时间段同时发出很多数据包,发生广播风暴,导致网络拥塞,严重时甚至导致网络瘫痪。如附图2所示,每经过一个周期ct,都会在检测时间tw内出现大量的数据包,而在tw之外的时间段,网络负载又相对较小,网络中就会存在大量资源无法利用于数据传输。因此,周期性的对外广播不仅存在使网络发生瘫痪的风险,也会使整个网络资源利用率不高。
[0103]
本示例中,为了解决上述问题,这里不再采用周期性的广播方式,而是提出一种自适应的广播方法,能够根据网络拓扑变化得出最佳广播间隔时间,增强网络对拓扑结构变化的适应性。这种自适应的广播方法具体为:
[0104]
传输节点vi的广播间隔时间的公式包括:
[0105][0106]
其中,e
ij
表示传输节点vi和vj之间的链路,vi∈vn,vj∈vn;nhi表示传输节点vi的邻居传输节点的集合;t(e
ij
)表示传输节点vi和传输节点vj之间的链路持续时间,链路持续时间的公式包括:
[0107][0108]
其中,d
ij
表示传输节点vi和传输节点vj之间的欧式距离;和分别表示传输节点vi和传输节点vj的速度矢量;
[0109]
由于在半径为r的圆形区域内,两个所述传输节点之间的平均距离为0.9054r;则所述链路持续时间的公式为:
[0110][0111]
步骤s1022:所有所述传输节点根据接收到的采样数据包,分别计算出当前链路质量的度量参数,所述度量参数包括各自相应信道的收包率prr、接收信号强度rssi、信噪比snr的平均值和链路质量指示lqi的平均值
[0112]
针对上述所有计算结果,各传输节点在处理后不进行转发,而是直接从各自的存储器中直接销毁。
[0113]
收包率(packet reception ratio,prr)是数据链路层进行分组接收和重传的统计,能够直接体现网络性能的优劣,可以作为衡量链路传输是否稳定的度量指标。
[0114]
本示例中,收包率prr的计算公式包括:
[0115][0116]
其中,0<m≤m,m表示该传输节点接收的采样数据包个数;m 表示采样数据包的总个数;
[0117]
prr值对信道质量的描述可以定量的给定相应的信道质量得分(link quality score,lqs),如表1所示:
[0118]
表1:prr对应的信道质量得分
[0119][0120][0121]
prr只能判断短期内链路质量变化的准确性,而且对于链路变化的敏感性较差。因此,为了更准确的表征链路质量的优劣程度,这里引入链路传输质量的概念,利用该链路传输质量,并结合prr 共同估计链路质量。
[0122]
当前衡量链路传输质量的度量参数包括接收限号强度(radio signal strengthindicator,rssi),信噪比(signaltonoise ratio,snr) 和链路质量指示(linkqualityindicator,lqi)等参数,由于这些参数都是由物理层硬件接收并测量的,容易受到外界噪声、多径衰落和干扰的影响,为了克服单一度量参数无法表征链路传输质量的问题,这里引入triangle模型。该链路传输质量的估计过程如下:
[0123]
输节点接收到第i个采样数据宝时,测量接收信号功率p
ri
,根据该接收信号功率p
ri
计算信噪比snr的值snri和rssi的值rsi,其中 snri由传输节点的接收端直接获取,rssi的计算公式包括:
[0124]
rsi=10lg p
ri
ꢀꢀ
(5)
[0125]
其中,lgp
ri
表示p
ri
以10为底的对数;
[0126]
将第i个采样数据包的lqi的值记为:
[0127]
li=255
×
(rsi 81)/91
ꢀꢀ
(6)
[0128]
在一个广播间隔时间内,该传输节点共成功接收到m个采样数据包,0<m≤m,则信噪比snr的平均值和链路质量指示lqi的平均值分别为:
[0129][0130][0131]
通过计算得到的snr的平均值和链路质量指示lqi的平均值计算出相应信道的triangle值,所述triangle值的计算公式为:
[0132][0133]
根据triangle值,也可将信道质量根据阈值进行划分,并给定相应的lqs,如表2所示:
[0134]
表2:triangle值对应的信道质量得分
[0135][0136]
在实际网络通信中,不仅要求信道传输质量高,同时期望信道传输的稳定性得到保证,即只有通过triangle和prr的值测得信道质量得分都比较高时,才认为该信道的总体质量较高。当计算得到信道的传输质量和稳定性表征的信道质量不一致时,取二者之间更
差的一个作为信道质量的最终判定结果,例如当triangle值为150,而prr的值仅为0.3时,只能说明信道传输质量较好,但是稳定性非常差,从而判断信道质量为差。因此将链路质量估计的表达式定义为:
[0137]
tm'=min(lqs(triangle),lqs(rw))
ꢀꢀ
(10)。
[0138]
步骤s1023:所有所述传输节点根据各自当前链路的度量参数和当前节点剩余能量,分别生成各自的属性数据包,并将该属性数据包分别通过控制信道上传给所述控制节点。
[0139]
本示例中,主要考虑传输节点的通信能耗,即传输节点的无线模块进行数据传输所消耗的能量,这部分能量是传输节点在发送数据和接收数据时消耗的能量总和。
[0140]
当传输节点vi将数据xbit数据发送至传输节点vj时,传输节点vi发送数据和传输节点vj接收数据消耗的能量分别为:
[0141][0142]er
(x)=eex
ꢀꢀ
(12)
[0143]
其中,ee表示传输节点vi内部电路元器件处理1bit数据所消耗的能量,ef表示能量损耗系数;r表示传输节点通信范围的半径;根据式(11)和(12)求得传输节点当前消耗的能量e
lost
,设每个传输节点的初始能量均为e
init
,则传输节点剩余能量为:
[0144]erest
=e
init-e
lost
ꢀꢀ
(13)。
[0145]
步骤s103中,控制节点根据该软件定义飞行自组网中各传输节点的na信息生成网络拓扑,用邻接矩阵表示,如表3所示:
[0146]
表3:表示生成网络拓扑的na信息格式
[0147][0148]
其中,属性数据包的源节点地址与目的节点地址均使用mac 地址,属性数据包的消息类型用来区分信息所属类别,当消息类型为属性数据包时,目的节点地址为广播地址;
[0149]
方便起见,节点即表示传输节点,源节点即表示源传输节点,目的节点即表示目的传输节点。
[0150]
本示例中,控制节点接收来自传输节点的位置信息时,会生成网络拓扑,所述网络拓扑,用邻接矩阵表示无向图g包括:
[0151][0152]
其中,e
ij
表示传输节点vi和vj之间的链路,e
ij
∈e
nn
,该链路是否可达,其表示方法包括:
[0153][0154]
其中,d
ij
表示传输节点vi和vj之间的欧式距离,由于在该网络模型中,所有传输节点均在同一高度飞行,且任意两个传输节点均不在同一位置。因此,任意两个传输节点之间的欧式距离计算公式为:
[0155][0156]
步骤s104包含以下步骤:
[0157]
步骤s1041:路由的发现与选择:当传输节点vi向传输节点vj发送数据时,传输节点vi先通过控制信道向所述控制节点发送路由请求,所述控制节点获得路由请求后,本示例基于蚁群算法实现路由发现机制,蚁群算法的核心部分在于路径信息素浓度和启发因子。本示例,基于传输节点可用资源设计启发因子函数;根据蚁群算法相关理论,基于链路质量设计相应的路径信息素浓度函数,提高数据传输性能和节点资源利用率;并计算出每个所述传输节点的选择其邻居节点的概率;
[0158]
本示例中,当传输节点vi的邻居节点集合nhi存在多个节点时,首先判断目的节点vd是否属于邻居节点集合nhi,若vd∈nhi,则直接选择vd作为下一跳节点;反之,则根据蚁群算法计算路径概率,进而选择下一跳节点;
[0159]
选择nhi中的节点vj作为下一跳节点的期望程度用启发因子η
ij
表示:
[0160][0161]
其中,ξ1和ξ2分别为权重系数,表示和对启发因子的影响程度,ξ1 ξ2=1;表示传输节点vj当前的剩余能量,表示传输节点vj当前的可用负载率,其表达式为:
[0162][0163]
其中,lj为传输节点vj当前mac层接口队列长度,l
max
为传输节点可承受的最大负载,由于在该软件定义飞行自组网模型中,所有所述传输节点构成一个同构网络,且所有所述传输节点的初始状态相同,但单位不一致,因此将所述启发因子进行归一化处理,所述式(17)改写为:
[0164][0165]
根据式(19)可知,当传输节点的剩余能量和可用负载率越大时,该传输节点被选为下一跳节点的概率越高。根据不同任务类型对网络服务质量的不同需求可以调整权重系数的值。
[0166]
在传输节点vj的邻居节点集合nhi中,选择传输节点vj作为下一跳节点的概率表达式包括:
[0167][0168][0169]
其中,τ
ij
为路径e
ij
上的信息素浓度,且τ
ij
=e
tm'-1;α和β为系统参数,分别表示路径信息素和启发因子对下一跳节点选择的影响程度;公式(21)表示约束条件,表示每条路径的概率在0到1之间,所有可达路径的选择概率为1;
[0170]
本示例中,根据链路质量估计模型定义路径信息素,链路质量越好,说明该路径进行数据转发的概率越高。
[0171]
控制节点通过接收各传输节点的属性数据,生成网络拓扑并计算出各节点选择其邻居节点的概率。在接收到源节点的路由请求后,得到目的节点地址。本示例控制节点通过深度优先搜索(depthfirst search,des)算法求出源节点vs到目的节点vd的所有可用路径集合 path
sd
,当集合path
sd
中存在多条可用路径时,分别计算每条路径的选择概率的公式包括:
[0172][0173]
其中,p
ij
为每条路径中各个链路的选择概率;h为路由跳数。
[0174]
选择路径选择概率最大的路径为最佳路由,数据包沿该路由完成数据传输。
[0175]
步骤s1042:路由建立:所述控制节点确定最佳路由后,需要将选定的路由信息发送至软件定义飞行自组网中,便于相关传输节点对数据包进行相应处理,使其沿最佳路由进行数据传输。
[0176]
本示例中,为了防止网络拥塞,同时降低不必要的控制开销,控制节点采取定向发送路由信息的方式,即当最佳路由为p
sd
=《vs,va,vb,vc,vd》时,控制节点仅通过相应的控制信道向传输节点vs、 va、vb、vc和vd发送路由信息(routing information,ri)数据包,该数据包的格式如表4所示:
[0177]
表4:ri数据包格式
[0178][0179]
其中,上一跳地址告知传输节点需要接收并处理的ri数据包的来源,下一跳地址指示传输节点应该将该ri数据包转发至哪个传输节点;源节点收到的ri信息中的上一跳地址和目的节点收到的ri 信息中的下一跳地址均为空。
[0180]
本公开的该基于能耗和链路质量的路由协议(routing based on energy consumption and link quality,以下简称“relq”)
[0181]
将本公开的relq算法与传统的gpsr协议、olsr协议和 aodv协议采用仿真实验进行分析比较,采用的仿真软件为:ns-2 (network simulator v2.35)。为了降低仿真实验的随机误差,所有实验结果均为20次实验的平均值。仿真参数如表5所示:
[0182]
表5:仿真参数表
[0183][0184][0185]
首先,进行网络能耗的仿真实验。
[0186]
传统路由算法不考虑传输节点的能量消耗,这会使部分传输节点的通信量过大,从而导致能量全部消耗而无法继续工作,从而增大网络时延和丢包率。本公开的relq算法将传输节点的能量消耗情况纳入路由选择算法中,采用能量均衡因子f
eb
衡量网路通信能量消耗的均衡性。f
eb
的表达式如下:
[0187][0188]
其中,n为传输节点的数量,为传输节点vi的剩余能量,为所有传输节点的平均剩余能量。
[0189]
参照附图3所示:附图3中给出了同一仿真环境下不同算法的能量均衡因子。可以看出,不论传输节点运动速度如何变化,relq 协议下的能量均衡因子都处于较为平稳的状态,而在其他三种协议下,能量均衡因子都随着速度的提升而降低。这是由于relq协议中建
立了传输节点的能量消耗情况,因此速度变化对其影响不大。而其他算法随着传输节点运动速度的增加,网络拓扑变化频繁,从而导致路由变化频繁,因此参与数据传输的节点更多,网络能耗更加均衡,而路由的频繁变化会增大控制开销,从而更加耗能。因此, relq协议在节能方面有着更好的表现。
[0190]
其次,进行网络时延的仿真实验
[0191]
网络时延是指网络中数据传输中端到端的时延,该指标反映了数据包传输的及时性,对于时延敏感的任务是一个非常重要的评价指标。本公开所指时延是指仿真时间内所有数据包传输的平均时延。
[0192]
参照附图4所示,附图4为不同路由协议下的网络时延对比图。附图4中,relq协议下的网络时延低于aodv协议和gpsr协议,高于olsr协议,且网络时延随传输节点运动速度变化波动较小,甚至基本没有变化,维持在较为稳定的水平。这说明relq协议不仅能够保证网络时延较低,而且能够适应高动态网络。
[0193]
参照附图5所示,附图5为不同路由协议下路由的平均跳数。由附图5可以看出,relq协议的平均跳数最高,这是由于relq 协议中的均衡机制导致的。该协议不针对某个指标进行优化,而是针对网络整体状态进行最佳路由选择。因此,随着时间的推移,最优路由将不再是最短路由,而是整体性能最佳的路由,所以relq 协议的平均路由跳数高于其他三种路由协议。
[0194]
路由跳数的增加,理论上会增大网络时延,但由附图4可知, relq协议下的网络时延并没有明显的增大趋势,这是由于路由跳数的增加仅仅增大了网络的传播时延,而relq协议在计算路由时考虑了链路状态和传输节点当前负载状况,因此降低了链路的传输时延、传输节点的排队时延和处理时延。除此之外,随着传输节点速度增加,其他三种协议下的路由稳定性相对较差,这也会导致网络时延增加。
[0195]
因此,relq协议下的网络时延性能相对较好。
[0196]
再次,进行网络吞吐量的仿真实验
[0197]
吞吐量是指网络在单位时间内处理的数据量,吞吐量对网络而言是一个重要的指标,网络平均吞吐量越高,表示能够传输并处理的数据量越多,网络性能也就越好。
[0198]
参照附图6所示,附图6为不同路由协议下的网络平均吞吐量的比较。由附图6可知,relq协议下的平均吞吐量相对于其他对比协议有较大提升,在相同的环境和条件下,能够传输和处理更多的数据量,这可以极大地提升网络性能和网络效率。
[0199]
在relq协议中,路由的计算和选择过程均由控制节点完成,控制节点计算路由时同时考虑了链路状态和传输节点当前状态,综合评估后选择最佳路由,且根据网络状态自适应调整广播周期,因此该协议选择的路由稳定性相对更高,在数据传输过程中不容易中断。因此,relq协议相对于其他三种协议而言,能够在更加稳定的路由上完成数据传输,从而得到更高的平均吞吐量。
[0200]
最后,进行网络路由开销分析
[0201]
路由开销是指网络在工作过程中,建立路由所需要发送的控制包数量。路由开销越大,表明路由变化越频繁,路由越不稳定;而且会有更多的资源用于传输控制包,对于带宽、能量等资源受限的无人机网络而言,会产生不必要的能量消耗,从而降低网络效率。对于不同路由协议而言,建立路由发送的数据包格式不同,每个数据包的大小也不同。为了更
加客观地描述路由开销,本公开不是根据控制包数量定义路由开销,而是根据控制包的数据量定义。
[0202]
参照附图7所示,附图7为不同路由协议下的路由开销对比。由附图7可知,relq协议相对于olsr协议和aodv协议而言,路由开销有了较大的降低,而与gpsr协议相比,开销有所增加。 olsr协议与aodv协议都需要维护传输节点自身的路由表,这就需要更多的控制包来保证路由表的实时性,且在路由发现过程中都采取了洪泛机制,所以路由开销相对更大;而relq协议和gpsr 协议都是基于地理位置信息选择理由,他们的传输节点自身不需要维护路由表,在选定路由时仅需要知道相应节点的地理位置信息即可,需要的控制包数量更少;relq协议增加了与控制节点的通信过程,相对于gpsr协议而言,控制包的数量有所增加,因此relq 协议的路由开销比gpsr协议更高。
[0203]
综上所述,relq协议在网络耗能、平均网络时延、平均吞吐量和网络开销方面都有较好的性能,虽然不是所有性能上该协议表现都是最好的,但是综合各方面指标看,该协议综合性能优异,能够为战场环境下软件定义无人机网络遂行作战任务提供可靠的通信保证。
[0204]
需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。另外,也易于理解的是,这些步骤可以是例如在多个模块/进程/线程中同步或异步执行。
[0205]
本公开针对传统飞行自组网架构中路由协议存在的端到端延时较高、路由开销较大和吞吐量较低等问题,提出了应用于软件定义飞行自组网中基于蚁群优化的性能均衡路由协议。该协议建立了能耗模型和链路质量估计模型,既能提高能量利用效率,又可以避免链路拥塞并保证链路传输稳定性;在建立路由时以传输节点地理位置为基础,结合传输节点当前状态和链路状态的信息,选择最佳路由进行数据传输。通过将relq协议与gpsr协议、olsr协议和 aodv协议进行仿真性能比较,结果表明relq协议能够保证网络能耗均衡,同时获得较低的网络时延和网络开销,还可以获得较高的吞吐量,能够基本满足无人机网络执行任务的各项需求。
[0206]
应当注意,尽管在上文详细描述中提及了用于动作执行的系统的若干单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。可以根据实际的需要选择其中的部分或者全部单元来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0207]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
转载请注明原文地址:https://tc.8miu.com/read-3880.html