基于改进麻雀搜索算法优化移动自组网网络路由的方法与流程

文档序号:29254439发布日期:2022-03-16 10:49阅读:190来源:国知局
基于改进麻雀搜索算法优化移动自组网网络路由的方法与流程

1.本发明属于移动自组网技术领域,具体涉及一种基于改进麻雀搜索算法优化移动自组网网络路由的方法。


背景技术:

2.在人类发展的历程中,几乎每年都会经历各种各样灾难性的自然灾害,在遭遇大规模自然灾害的情况下,生命救援行动离不开通信服务系统的支撑,但由于自然灾害所带来的毁坏力度十分严重,因而通常使得通信服务系统受到严重的毁坏,并且在短时间内难以重新组建和恢复基础网路设施。此外针对西北地区,由于自然地理环境因素导致在戈壁地区人烟稀少,运营商为了通信的经济效益,导致这些地方的通信设备欠发达,因而这为前来地质勘测或者学术科研者带来了通信的困难。
3.因而随着通信技术的不断发展,移动自组网的出现给通信服务系统带来了转机,并且移动自组网已经成为无线通信中的一个重要研究领域。从传统的传感器网络发展形成的移动自组网,由于其广泛的应用场景而越来越受到人们的重视。虽然移动自组网具有自组织、无需中心实体、各个节点相互协作能够实现动态地加入和退出独立地传输和处理数据包的能力。
4.但是移动自组网容易出现节点间的通信链路中断,从而致使移动自组网的通信失效。导致这一现象的主要有两个原因,分别为:节点的能量受限和节点的移动性。


技术实现要素:

5.为了解决现有技术中存在的上述问题,本发明提供了一种基于改进麻雀搜索算法优化移动自组网网络路由的方法。本发明要解决的技术问题通过以下技术方案实现:
6.一种基于改进麻雀搜索算法优化移动自组网网络路由的方法,包括:
7.s1、启动移动自组网;
8.s2、判断所述移动自组网的源节点至目的节点是否存在有效路径,若存在,则所述源节点直接将数据包发送至目的节点,若不存在,则所述源节点广播rreq路由请求信息至中间节点,以确定待传播中间节点;
9.s3、判断广播时间是否超过第一预设时间,若超过,则终止rreq路由请求信息到达目的节点;
10.s4、当所述传播时间超过所述第一预设时间后,将根据各条路由路径的适应度函数值进行排序,以使所述目的节点依据具有最小的适应度函数值的路由路径进行rrep路由应答到达所述源节点;
11.s5、判断数据包传送时间是否超过第二预设时间,若超过,且所述目的节点未接收到数据包,则从备选路径中选取最优路径。
12.在本发明的一个实施例中,所述源节点广播rreq路由请求信息至中间节点,以确定待传播中间节点,包括:
13.判断所述中间节点所记录的目的节点序列号是否大于当前rreq路由请求信息中的目的节点序列号,并判断所述中间节点的能量因子是否大于能量阈值因子,若所述中间节点的目的节点序列号大于当前rreq路由请求信息中的目的节点序列号,并且所述中间节点的能量因子大于能量阈值因子,则该所述中间节点作为所述待传播中间节点。
14.在本发明的一个实施例中,所述适应度函数为:
[0015][0016]
其中,f为适应度函数值,t'm为第m条路由路径上各节点t'通信时间预测信息值的总值,e'm为第m条路由路径上各节点e'通信能量剩余率预测信息的总值,a和b均为常数,且满足a+b=1。
[0017]
在本发明的一个实施例中,所述通信能量剩余率预测信息的计算公式为:
[0018][0019]
其中,t为网络时间,为能量因子,ε为网络系数,e
rest
为当前节点的剩余能量值,e为节点的总能量值。
[0020]
在本发明的一个实施例中,所述通信时间预测信息的计算公式为:
[0021][0022]
其中,d
max
为最大通信链路距离,r
i,j
为i节点和j节点间的通信链路距离,i节点和j节点为网络中任意两个相邻的节点,节点为网络中任意两个相邻的节点,i'节点和j'节点分别为i节点和j节点运动t

时间后的节点, vi表示为i节点的运动速度,vj表示为j节点的运动速度。
[0023]
在本发明的一个实施例中,
[0024]
所述最大通信链路距离的计算公式为:
[0025]
[0026]
其中,为地形进行修正的参数因子,δh为所在地的地形起伏高度,f为载频频率,h
t
为发射天线的高度,hr为接收天线的高度,p
t
发射天线的辐射功率,pr为接收天线的接收功率,gr为接收天线的增益,g
t
为发射天线的增益。
[0027]
在本发明的一个实施例中,所述备选路径的产生方法包括:
[0028]
根据所有到达目的节点的rreq路由请求信息中提取出各路由路径所遍历的节点来判断出各路由路径之间是否存在有连接关系的中间节点,若不存在,则选取较小值的k个适应度函数值作为网络路由的备选路径,若存在,则根据麻雀搜索算法求解出新路径的适应度函数值,以得到所述备选路径。
[0029]
在本发明的一个实施例中,根据改进麻雀搜索算法求解出新路径的适应度函数值,以得到所述备选路径,包括:
[0030]
在改进麻雀搜索算法中,依据当前适应度函数值的最小值更新发现者的位置、加入者的位置以及警戒者的位置,得到新路径的适应度函数值,以将所有新路径的适应度函数值的最小值对应的路由路径作为所述备选路径。
[0031]
在本发明的一个实施例中,所述发现者的位置更新公式为:
[0032][0033]
其中,为第p只麻雀在第t+1次迭代中在第d维中的位置信息,为第p只麻雀在第t次迭代中在第d维中的位置信息,为当前全局的最优位置,α∈[0,1]为一个随机数,r2为预警值,st为安全值,q为服从[0,1]正态分布的随机数,l为1
×
d维元素均为1的矩阵,ω
p
为权重公式,ω
p
=ω
min
+(ω
max-ω
min
)
·
exp(-z(t/item
max
)2),ω
min
为最小权重值,ω
max
为最大权重值,z为控制因子。
[0034]
在本发明的一个实施例中,所述警戒者的位置更新公式为:
[0035][0036]
其中,为第p只麻雀在第t+1次迭代中在第d维中的位置信息,为当前全局的最优位置,为当前全局的最差位置,β为步长控制参数,β服从均值为0、方差为1的正态分布的随机数,fg为当前全局最佳适应度函数值,f
p
为当前的适应度函数值。
[0037]
本发明的有益效果:
[0038]
本发明的方法更适于实际的移动自组网环境中,因为在实际的移动自组网应用场景中,每个节点都会无时无刻地发生着变化,因而在移动自组网中充分地考虑节点的移动性是非常有必要的。
[0039]
本发明把相邻两个节点间的运动速度和运动方向考虑进组网的方法中来,通过该
方法可以有效地预测出相邻两个节点之间失去通信连接的时间,因而能够更好地提高移动自组网通信链路的可靠性。
[0040]
本发明从节点的能量因子延伸至预测通信能量剩余率信息的大小。在移动自组网中,节点的能量通常是研究者关注的重点。因而在本发明中,首先通过预设的能量阈值和当前节点的能量因子相比较,如果某些节点能量不适用,则直接丢弃其转发来的rreq报文,该方法能够减少路由路径的开销。其次,通过通信能量剩余率预测信息,可以感知各节点能量随时间的变化趋势,从而避免数据在转发时,能量过低,无法进行路由的过程,这样有利于提高移动自组网中各节点能量的利用率和减少网络的开销。
[0041]
本发明通过采用改进麻雀搜索算法与移动自组网中节点的移动性和节点的能量二者相结合的方法,该方法能够当数据包传输的链路发生意外中断时无需重新进行路由发现的过程,可直接从备选路径中选取出较优的路径进行数据包的发送,从而这样可以有效地提高移动自组网络的工作效率,使得整个网络的总效率得到提高。
[0042]
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
[0043]
图1是本发明实施例提供的一种基于改进麻雀搜索算法优化移动自组网网络路由的方法的流程示意图;
[0044]
图2是本发明实施例提供的一种各个节点的关系示意图。
具体实施方式
[0045]
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
[0046]
实施例一
[0047]
请参见图1,图1是本发明实施例提供的一种基于改进麻雀搜索算法优化移动自组网网络路由的方法的流程示意图。本实施例提供一种基于改进麻雀搜索算法优化移动自组网网络路由的方法,该方法包括步骤s1至s5,其中:
[0048]
s1、启动移动自组网。
[0049]
具体地,启动移动自组网,由于各个节点具有gps/北斗定位系统,因而可以根据节点设备获取到节点相关的信息,包括:位置信息、速度信息、能量信息和角度方向信息。
[0050]
s2、判断移动自组网的源节点至目的节点是否存在有效路径,若存在,则源节点直接将数据包发送至目的节点,若不存在,则源节点广播rreq路由请求信息至中间节点,以确定待传播中间节点。
[0051]
具体地,当在移动自组网中,源节点要向目的节点发送数据包时,如果存在源节点到目的节点的有效路径则将数据包直接发送,其中,在每个节点上存有下一跳路由的地址信息,如果这些地址信息都是为在不过期的序列号时间内产生的,则说明这条路径是有效的,否则源节点需要广播rreq路由请求信息,并且需要针对rreq路由请求信息扩展出新的地址空间用来存储所遍历路由路径上各节点的通信能量剩余率预测信息、所遍历路由路径上各节点的通信时间预测信息、源节点到当前节点的通信能量剩余率预测信息总值和源节点到当前节点的通信时间预测信息总值。其目的是为了对移动自组网中最优路由路径的选
取,即在目的节点依据每条路径的通信时间预测信息总值以及通信能量剩余率预测信息总值对各路由路径的适应度函数值进行计算,进而选取出最优路由路径。
[0052]
在本实施例中,在广播rreq路由请求信息时,中间各个节点需要更新与本节点相关的路由表信息,包括:目的节点ip地址、目的节点序列号有效标志位、下一跳节点ip地址、本节点的通信能量剩余率预测信息、本节点的通信时间预测信息、生存时间等。因而,rreq路由请求在经过中间节点时会将所遍历节点的通信能量剩余率预测信息、所遍历节点的通信时间预测信息、源节点到当前节点的通信能量剩余率预测信息总值和源节点到当前节点的通信时间预测信息总值写入到rreq路由请求信息中。其中,目的节点ip地址、目的节点序列号有效标志位是根据rreq路由请求信息进行更新,下一跳节点ip地址、所遍历节点的通信时间预测信息是根据hello数据包在 hello_interval时间内,相邻节点之间信息相互传输与计算获得,生存时间为网络每当接收到一条rreq消息时,指向源节点ip地址的反向路由的有效时间,因而这是节点自身依据接收到的rreq数据包时自身进行更新,所遍历节点的通信能量剩余率预测信息是根据当前节点的能量因子、网络时间和网络系数进行计算获取得到。
[0053]
在一个具体实施例中,源节点广播rreq路由请求信息至中间节点,以确定待传播中间节点,包括:
[0054]
判断中间节点所记录的目的节点序列号是否大于当前rreq路由请求信息中的目的节点序列号,并判断中间节点的能量因子是否大于能量阈值因子,若中间节点的目的节点序列号大于当前rreq路由请求信息中的目的节点序列号,并且中间节点的能量因子大于能量阈值因子,则该中间节点作为待传播中间节点,该待传播中间节点即为源节点向目的节点发送数据包的一个待选的中间节点。
[0055]
具体地,如果中间节点有到目的节点的路由时,只有该中间节点所记录的目的节点序列号比当前rreq路由请求信息中的目的节点序列号更大时,此路径才为有效路径;此外,rreq报文会将能量因子与能量阈值因子进行比较,如果能量高于能量阈值因子,则进一步发送rreq报文,否则直接丢弃rreq报文。
[0056]
s3、判断广播时间是否超过第一预设时间,若超过,则终止rreq路由请求信息到达目的节点。
[0057]
具体地,通过设置一个延长定时器使得目的节点能够获取到更多的 rreq路由请求信息,当延长定时器时间到达时(即广播时间超过第一预设时间),则终止获取其它rreq路由请求信息继续到达目的节点,其中,第一预设时间为根据实际需要通过如延长定时器设定的一个时间,实际工作人员可以根据实际需求进行设置,本实施例对此不作具体限定。
[0058]
s4、当传播时间超过第一预设时间后,将根据各条路由路径的适应度函数值进行排序,以使目的节点依据具有最小的适应度函数值的路由路径进行rrep路由应答到达源节点。
[0059]
具体地,当延长定时器所设定的第一预设时间的时间到达时,则目的节点终止获取其它rreq路由请求信息。目的节点根据各条路由路径的通信能量剩余率预测信息总值和通信时间预测信息总值求解出各条路由路径适应度函数值,并对各条路由路径适应度函数值进行排序,进而得到当前全局的适应度函数值的最优值和最差值,然后目的节点依据最优(即最小)的适应度函数值进行rrep路由应答到达源节点。
[0060]
在本实施例中,适应度函数为:
[0061][0062]
其中,f为适应度函数值,t'm为第m条路由路径上各节点t'通信时间预测信息值的总值,e'm为第m条路由路径上各节点e'通信能量剩余率预测信息的总值,a和b均为常数,且满足a+b=1,一般情况下,取具体可根据实验需求进行调整。
[0063]
通信能量剩余率预测信息的计算公式为:
[0064][0065]
其中,t为网络时间,为能量因子,ε为网络系数,ε的取值为t时间段内节点能量因子的均值,e
rest
为当前节点的剩余能量值,e为节点的总能量值。
[0066]
请参见图2,r
i,j
为i节点和j节点间的通信链路距离,其中,
[0067]r′
i,j'
为i'节点和j'节点在t'时刻的通信链路距离,其中,
[0068]
为了使通信节点间能够在最大通信链路距离d
max
内进行有效地通信,因而在本实施例中在通信预测时间信息上让r

i,j'
=d
max
(即假设相邻的两个节点如i节点和j节点间的通信链路距离达到最大值),从而计算出两个相邻节点运动到失去链路通信范围的时间t

。则:
[0069]
最大通信链路距离的计算公式为:
[0070][0071]
其中,为地形进行修正的参数因子,δh为所在地的地形起伏高度,f为载频频率,h
t
为发射天线的高度,hr为接收天线的高度,p
t
发射天线的辐射功率,pr为接收天线的接收功率,gr为接收天线的增益,g
t
为发射天线的增益。。
[0072]
因此t

为:
[0073][0074]
其中,d
max
为最大通信链路距离,r
i,j
为i节点和j节点间的通信链路距离,i节点和j节点为网络中任意两个相邻的节点,节点为网络中任意两个相邻的节点,i'节点和j'节点分别为i节点和j节点运动t

时间后的节点,vi表示为i节点的速度,vj表示为j节点的速度。
[0075]
s5、判断数据包传送时间是否超过第二预设时间,若超过,且目的节点未接收到数据包,则从备选路径中选取最优路径。
[0076]
具体地,由于节点常常会发生链路中断,而导致步骤s4中所选的最佳路径无法进行通信,为了避免重新路由过程。当目的节点依据最小的适应度函数值的路由路径进行rrep路由应答到达源节点后,若超过第二预设时间,目的节点仍未接收到数据包,则说明该数据包传输的路由路径发生了链路中断,而导致步骤s4中所选的最佳路径无法进行通信,为了避免重新路由过程,因此本实施例通过从备选路径中选取最优路径,从而减少目的节点接收到数据包的时延,以提高网络整体的可靠性。
[0077]
在一个具体实施例中,备选路径的产生方法包括:
[0078]
根据所有到达目的节点的rreq路由请求信息中提取出各路由路径所遍历的节点来判断出各路由路径之间是否存在有连接关系的中间节点,若不存在,则选取较小的k个适应度函数值作为网络路由的备选路径,若存在,则根据麻雀搜索算法求解出新路径的适应度函数值,以得到备选路径。
[0079]
具体地,当步骤s4中所选的最佳路径无法进行通信,为了避免重新路由过程。因而在目的节点中上,还需要提取出各路由路径的rreq路由请求信息中所遍历的中间节点信息,用以判断是否存在连接关系的节点作为备份最优的路径信息,其中,至少两个节点可以将rreq路由请求信息发送至某一节点,该节点即为存在连接关系的节点。如果不存连接关系则直接按照步骤s4中适应度函数值,保留较小的k个适应度函数值作为备选路径,k例如为3~4。如果存在连接关系,则通过rreq路由请求信息中各节点的通信能量剩余率预测信息、各节点的通信时间预测信息结合改进麻雀搜索算法来共同求解出最佳的路由路径,作为备选路径方案。
[0080]
在本实施例中,根据改进麻雀搜索算法求解出新路径的适应度函数值,以得到备选路径,包括:
[0081]
在改进麻雀搜索算法中,依据当前适应度函数值的最小值更新发现者的位置、加入者的位置以及警戒者的位置,得到新路径的适应度函数值,以将所有新路径的适应度函数值的最小值对应的路径作为备选路径。
[0082]
具体地,设置改进麻雀搜索算法的相关参数值,包括:麻雀种群数目、麻雀初始位
置、发现者数目、跟随者数目、警戒者数目、最大迭代数目、搜索空间的维度d、预警值、安全值、维度的上限值和维度的下限值。对初始的适应度函数值进行排序,进而得到当前全局的最优值和最差值,更新发现者的位置、加入者的位置以及警戒者的位置,循环更新,直至达到最大迭代数目,然后会输出全局的最优位置及最优值,该最优值对应的适应度函数值即为目前的最优路径,将该路径作为备选路径。
[0083]
发现者的位置更新公式为:
[0084][0085]
其中,为第p只麻雀在第t+1次迭代中在第d维中的位置信息,为第p只麻雀在第t次迭代中在第d维中的位置信息,为当前全局的最优位置,α∈[0,1]为一个随机数,r2为预警值,st为安全值,q为服从[0,1]正态分布的随机数,l为1
×
d维元素均为1的矩阵,ω
p
为权重公式,ω
p
=ω
min
+(ω
max-ω
min
)
·
exp(-z(t/item
max
)2),ω
min
为最小权重值,ω
max
为最大权重值,z为控制因子。
[0086]
警戒者的位置更新公式为:
[0087][0088]
其中,为第p只麻雀在第t+1次迭代中在第d维中的位置信息,为当前全局的最优位置,为当前全局的最差位置,β为步长控制参数,β服从均值为0、方差为1的正态分布的随机数,fg为当前全局最佳适应度函数值,f
p
为当前的适应度函数值。
[0089]
本发明的方法更适于实际的移动自组网环境中,因为在实际的移动自组网应用场景中,每个节点都会无时无刻地发生着变化,因而在移动自组网中充分地考虑节点的移动性是非常有必要的。
[0090]
本发明把相邻两个节点间的运动速度和运动方向考虑进组网的方法中来,通过该方法可以有效地预测出相邻两个节点之间失去通信连接的时间,因而能够更好地提高移动自组网通信链路的可靠性。
[0091]
本发明从节点的能量因子延伸至预测通信能量剩余率信息的大小。在移动自组网中,节点的能量通常是研究者关注的重点。因而在本发明中,首先通过预设的能量阈值和当前节点的能量因子相比较,如果某些节点能量不适用,则直接丢弃其转发来的rreq报文,该方法能够减少路由路径的开销。其次,通过通信能量剩余率预测信息,可以感知各节点能量随时间的变化趋势,从而避免数据在转发时,能量过低,无法进行路由的过程,这样有利于提高移动自组网中各节点能量的利用率和减少网络的开销。
[0092]
本发明通过采用改进麻雀搜索算法与移动自组网中节点的移动性和节点的能量二者相结合的方法,该方法能够让移动自组网中当数据包传输的链路发生意外中断时无需重新进行路由发现的过程,可直接从备选路径中选取出较优的路径进行数据包的发送,从而这样可以有效地提高移动自组网络的工作效率,使得整个网络的总效率得到提高。
[0093]
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0094]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者数据点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者数据点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
[0095]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1