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

面向高动态网络拓扑下的自适应路由方法、系统、设备与流程

2022-03-01 22:55:31 来源:中国专利 TAG:


1.本发明属于通信技术领域,尤其涉及一种面向高动态网络拓扑下的自适应路由方法、系统、设备。


背景技术:

2.近年来,随着制造、通信、传感,电子和控制等技术的发展,无人机、无人船等设备在军事、民用和公共领域应用的普及,高动态自组网技术越来越多地受到人们的关注。高动态自组网除具备一般自组网无中心、自组织、多跳中继、无线带宽资源有限等特点外,由于节点的高动态性和所处环境的复杂性,呈现出拓扑的高动态性:一方面,节点移动速度可达几十到几百米每秒,节点间相对速度变化较大,网络拓扑变化较为频繁;另一方面,在实际应用环境中,传输信道会受到自然环境、干扰信号和节点姿态转换等干扰,影响传输链路质量,使得网络内相邻节点通信链路频繁连通和断开,造成网络拓扑结构改变。上述高动态自组网的特点对路由方法设计提出了挑战,要求路由方法能适应网络拓扑结构快速变化,能快速收敛,且具备良好的可扩展性。
3.目前大多数自组网采用的路由方法是贪心周边无状态路由(greedy perimeter stateless routing,gpsr),该方法依据本节点、邻居节点和目的节点的地理位置转发数据包,在地理位置信息准确时,该方法正确高效。然而,在高动态自组网中,高度动态的节点会影响定位的准确性,且难以解决,造成环路和链路丢失,导致路由失败,从而影响gpsr方法的有效性和适应性;此外,由于gpsr对网络状态无感知,进一步限制了其在复杂网络环境中的可扩展性。
4.为提升gpsr方法在高动态网络中的性能,网络研究者们尝试通过分析节点的移动规律,结合网络状态信息,建立相应的数学模型,预测未来网络节点状态,以辅助gpsr方法进行路由决策。son等人为解决gpsr方法的链路丢失和环路问题,缓解节点移动导致的定位错误,利用领域位置预测(neighbor location prediction,nlp)和目的地位置预测(destination location prediction,dlp)方法,根据预测的邻居节点和目的节点的位置坐标,再利用gpsr方法,确定数据包在网内的路径;lei等人分析了高动态航空自组网中节点移动方式,建立半马尔可夫移动模型,结合节点间相对距离和移动速度,预测链路生存时间,将其作为gpsr方法的决策依据,提升gpsr方法在高动态网络中的性能。
5.可以看到,基于数学模型的高动态网络路由方法在建模时通常会针对应用场景进行一些假设以简化问题,以便高效求解。例如,son等人假设移动节点在短时间内速度保持不变;lei等人假设移动节点的速度和加速度为定值。然而,真实的网络场景往往难以符合理想化假设,使得基于数学模型的方法不能适应真实的网络环境;另外,由于对网络状态无感知,将这些方法部署到真实网络环境下会对限制网络的可扩展性。
6.综上所述,现有的高动态网络路由方法普遍存在网络环境适应性差、可扩展性不佳等问题,因此需要一种自适应的路由方法,能根据网络环境的变化动态调整路由策略,提升路由算法的适应性和可扩展性,进而提升高动态网络的数据传输效率。以深度学习为代
表的人工智能模型具备强大的学习能力和良好的泛化性,利用人工智能模型解决高动态网络下的路由优化问题,是一个可行的方向。软件定义网络技术(software definednetwork,sdn)的出现使得基于人工智能的自适应路由方法能作为一个运行在具备强大算力的sdn控制器上的应用,对流量进行有效的控制和管理,为基于人工智能的自适应路由方法提供部署的可能。
7.通过上述分析,现有技术存在的问题及缺陷为:
8.(1)目前的自组网采用的路由方法是贪心周边无状态路由,但在高动态自组网中,高度动态的节点会影响定位的准确性,且难以解决,造成环路和链路丢失,导致路由失败,从而影响gpsr方法的有效性和适应性;且由于gpsr对网络状态无感知,进一步限制了其在复杂网络环境中的可扩展性。
9.(2)现有基于数学模型的高动态网络路由方法,真实的网络场景往往难以符合理想化假设,使得基于数学模型的方法不能适应真实的网络环境;且由于对网络状态无感知,将这些方法部署到真实网络环境下会限制网络的可扩展性。
10.(3)现有的高动态网络路由方法普遍存在网络环境适应性差、可扩展性不佳等问题。
11.解决以上问题及缺陷的难度为:如何设计一种能提前预知网络节点间的连接关系,不依赖于理想化假设前提,具有较强的可扩展性,且能根据网络状态,为每条业务流规划转发路径的算法,从而提升业务流的在高动态网络拓扑下的服务质量。
12.解决以上问题及缺陷的意义为:路由算法能适应高度动态变化的网络环境,且具备较强的可扩展性,可提升业务流在高动态网络中的服务质量,改善高动态网络的数据传输效率。


技术实现要素:

13.针对现有技术存在的问题,本发明提供了一种面向高动态网络拓扑下的自适应路由方法、系统、设备。
14.本发明是这样实现的,一种面向高动态网络拓扑下的自适应路由方法,所述面向高动态网络拓扑下的自适应路由方法包括:基于软件定义网络技术,利用图注意力神经网络构建预测模型,对下一时刻网络节点间连接关系进行预测,得到下一时刻全局网络拓扑,并结合链路传输时延、链路丢包率和链路带宽占用率三个指标,对链路质量进行评估,为每条流选择最佳的传输路径。
15.进一步,所述面向高动态网络拓扑下的自适应路由方法包括以下步骤:
16.步骤一,进行预测模型的训练数据集构建;从高动态网络拓扑中构建的训练数据集有助于提升预测模型的性能。
17.步骤二,构建基于图注意力网络的预测模型,并利用构建好的训练数据集训练基于图注意网络的预测模型,使得该预测模型能够适应高动态网络拓扑;
18.步骤三,将训练好的基于图注意力网络的预测模型部署于sdn控制器中;
19.步骤四,各网络节点每隔δ时间,向sdn控制器发送位置信息、本节点在时间间隔内已发送数据包数量m、各个已发送数据包的时间戳ti,i=1,2,

,m、已接收数据包的数量n、各个已接收数据包的时间戳tj,j=1,2,

,n,下一时间间隔内待发送的流的五元组信息,
以此表征各时间间隔内的网络状态,作为后续各链路的性能指标计算的依据;
20.步骤五,sdn控制器接收各网络节点发送的信息,得到当前时刻的网络拓扑,作为预测模型的输入之一;并计算各条链路的传输时延、丢包率和链路带宽占用率,作为各链路质量计算的依据;
21.步骤六,sdn控制器将当前时刻的网络拓扑和前k个时刻的网络拓扑,作为预测模型的输入,得到下一个时刻的网络拓扑,用多个历史间隔的网络拓扑作为预测模型的输入,可提升预测模型预测下一时刻网络拓扑的精度;根据各链路的传输时延、丢包率和链路带宽占用率,计算得到各链路的质量,作为计算业务流备选路径价值的依据;
22.步骤七,针对各节点待发送的流,sdn控制器根据每条流的五元组信息和下一时刻的网络拓扑,得到源目的节点间所有备选路径,并根据各链路质量,计算各条备选路径的价值,选择价值最大的路径为该流的转发路径,使得每条流的转发路径为当前时间间隔的最优路径;更新流表,当各节点所有流的转发路径确定完毕,将更新完毕的流表下发至网内各节点;
23.步骤八,网内各节点接收sdn控制器下发的流表,并根据对应的流表项,转发每条流的数据包。
24.进一步,步骤一中,所述预测模型的训练数据集构建,包括:
25.(1)在应用场景中,各网络节点在n个连续的时刻,分别向sdn控制器发送位置信息和时间戳。
26.(2)sdn控制器根据各网络节点的位置信息,计算各网络节点之间距离r,并与网络中节点最大通信距离r相比较,判断各网络节点之间的连接关系,若r小于r,则判断两网络节点之间相连,可进行双向通信;若r大于r,则判断两网络节点不相连;由此得到n个时刻的网络拓扑,并以邻接矩阵的形式记录,得到n个邻接矩阵;其中,所述邻接矩阵的表示如下:
[0027][0028]
若a
xy
=1,表示网络节点x和y有连接,可进行双向通信;若a
xy
=0,表示网络节点x和y之间无连接,不能进行通信。
[0029]
(3)对n个邻接矩阵进行洗牌操作,即调换n个邻接矩阵的排列顺序,以提高训练数据集中,数据的独立性。
[0030]
进一步,步骤二中,所述构建并训练预测模,包括:
[0031]
(1)构建基于图注意力网络的预测模型;其中,所述基于图注意力网络的预测模型由输入全连接层、3个子块和输出全连接层构成;每个子块的结构均相同,包含2层隐藏层,第一层为图注意力层,第二层为包含64个循环核的门控循环神经网络层;子块之间采用残差跳跃的方式连接。
[0032]
其中,所述图注意力层的内部结构公式如下:
[0033]exy
=a([wh
x
||why]);
[0034][0035][0036]
其中,e
xy
为乘法注意力机制获得一对网络节点之间的相关性系数,a(
·
)为内积函数,[
·
||
·
]为拼接操作,w为线性映射操作,h
x
和hy为节点x和y的输入特征,α
xy
为归一化后的相关性系数,leakyrelu(
·
)为非线性激活函数,h

x
为节点x经过图注意力层后的输出特征,σ(
·
)为sigmoid激活函数,exp(
·
)为以自然常数e为底的指数函数。
[0037]
所述leakyrelu(
·
)非线性激活函数的公式为:
[0038][0039]
其中,斜率a的取值为0.01。
[0040]
所述sigmoid激活函数的公式为:
[0041][0042]
所述门控循环神经网络层的内部结构公式如下:
[0043]zt
=σ(wz[h
t-1
,x
t
] bz);
[0044]rt
=σ(wr[h
t-1
,x
t
] br);
[0045][0046][0047]
其中,z
t
为门控循环神经网络层的更新门输出量,σ(
·
)为sigmoid激活函数,wz为更新门的上一时刻隐藏状态及输入特征的线性变换,h
t-1
为上一时刻隐藏状态,x
t
为输入特征,bz为更新门的偏置量,r
t
为门控循环神经网络层的重置门输出量,wr为重置门的上一时刻隐藏状态及输入特征的线性变换,br为重置门的偏置量,为门控循环神经网络层的隐藏状态候选集合,tanh为tanh激活函数,w为隐藏状态候选集的上一时刻状态及输入特征的线性变换,bh为门控循环神经网络层的隐藏状态候选集偏置量,h
t
为经过门控循环神经网络层的输出特征。
[0048]
所述tanh激活函数的公式为:
[0049][0050]
所述子块间残差跳跃的连接方式,其特征在于,输入全连接层的输出特征,除作为子块1的输入特征外,还作为子块2的输入特征;子块1的输出特征,除作为子块2的输入特征外,还作为子块3的输入特征;子块2的输出特征,除作为子块3的输入特征外,还作为输出全
连接层的输入特征。
[0051]
(2)训练基于图注意力网络的预测模型;将得到的训练数据集均匀地分批次输入至基于图注意力网络的预测模型中,训练数据依次经过预测模型的输入全连接层、3个子块的图注意力层和门控循环神经网络层、输出全连接层,完成前向传播;在前向传播过程中,使用dropout方法,按照丢弃率,随机屏蔽各层的一部分参数,被屏蔽的参数暂时不认为是训练模型结构的一部分,不参与前向传播,但会保留参数的值,丢弃率设为30%。
[0052]
(3)计算前向传播过程中产生的误差和梯度;利用二进制交叉熵损失函数,计算前向传播传播过程中,预测模型输出值和真实值之间的差量,作为误差,并利用adam优化器计算梯度,将误差和梯度储存起来,激活函数为relu。
[0053]
其中,所述relu激活函数的公式为:
[0054][0055]
所述二进制交叉熵损失函数公式如下:
[0056][0057]
其中,n为样本数,y为真实值,为预测模型输出值。
[0058]
(4)将步骤(3)中得到的误差和梯度,利用反向传播方法,经过输出全连接层、3个子块的门控循环神经网络层和图注意力层、输入全连接层逐层传播,并自动更新网络参数的值;判断所在网络层是否为输入全连接层,若是,则执行步骤(3),否则,重复步骤(4)。
[0059]
(5)当损失函数值趋于稳定或达到迭代次数时,则认为模型参数调整完毕,基于图注意力网络的预测模型训练完毕。
[0060]
进一步,步骤五中,所述各条链路的传输时延丢包率和链路带宽占用率的计算公式为:
[0061][0062][0063][0064]
其中,l
xy
为所述网络节点x到所述网络节点y的链路;s为每个数据包的字节量,为常数;为链路l
xy
的带宽,为常数。
[0065]
进一步,步骤六中,所述各链路的质量的计算公式为:
[0066][0067]
其中,w1,w2,w3为权重,且w1 w2 w3=1,可根据需求,调整传输时延、丢包率和链路带宽占用率的权重。
[0068]
本发明的另一目的在于提供一种应用所述的面向高动态网络拓扑下的自适应路由方法的面向高动态网络拓扑下的自适应路由系统,所述面向高动态网络拓扑下的自适应路由系统包括:
[0069]
数据集构建模块,用于进行预测模型的训练数据集构建;
[0070]
预测模型构建模块,用于构建并训练预测模型;
[0071]
预测模型部署模块,用于将基于图注意力网络的预测模型部署于sdn控制器中;
[0072]
信息发送模块,用于通过各网络节点每隔δ时间,向sdn控制器发送位置信息、本节点在时间间隔内已发送数据包数量m、各个已发送数据包的时间戳、已接收数据包的数量n、各个已接收数据包的时间戳,下一时间间隔内待发送的流的五元组信息;
[0073]
信息接收模块,用于通过sdn控制器接收各网络节点发送的信息,得到当前时刻的网络拓扑,并计算各条链路的传输时延、丢包率和链路带宽占用率;
[0074]
链路质量计算模块,用于通过sdn控制器将当前时刻的网络拓扑和前k个时刻的网络拓扑,作为预测模型的输入,得到下一个时刻的网络拓扑;根据各链路的传输时延、丢包率和链路带宽占用率,计算得到各链路的质量;
[0075]
备选路径获取模块,用于针对各节点待发送的流,sdn控制器根据每条流的五元组信息和下一时刻的网络拓扑,得到源目的节点间所有备选路径,并根据各链路质量,计算各条备选路径的价值,选择价值最大的路径为该流的转发路径,更新流表,当各节点所有流的转发路径确定完毕,将更新完毕的流表下发至网内各节点;
[0076]
数据包转发模块,用于通过网内各节点接收sdn控制器下发的流表,并根据对应的流表项,转发每条流的数据包。
[0077]
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0078]
基于软件定义网络技术,利用图注意力神经网络构建预测模型,对下一时刻网络节点间连接关系进行预测,得到下一时刻全局网络拓扑,并结合链路传输时延、链路丢包率和链路带宽占用率三个指标,对链路质量进行评估,为每条流选择最佳的传输路径。
[0079]
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
[0080]
基于软件定义网络技术,利用图注意力神经网络构建预测模型,对下一时刻网络节点间连接关系进行预测,得到下一时刻全局网络拓扑,并结合链路传输时延、链路丢包率和链路带宽占用率三个指标,对链路质量进行评估,为每条流选择最佳的传输路径。
[0081]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的面向高动态网络拓扑下的自适应路由系统。
[0082]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的面向高动态网络拓扑下的自适应路由方法,可用于提高无人机、船舶等的数据传输效率,能够
缓解网络节点和传输链路在高度动态情况下产生的负面影响,提高网络数据传输效率。
[0083]
本发明在为高动态网络中所有流规划传输路径时,通过采用人工智能技术构建预测模型,预测下一个时刻的网络拓扑,并结合各节点上报的实时网络状态信息进行决策,实现网络状态感知的自适应路由,有效缓解现有技术方法因前提假设严苛,且对网络状态环境无感知带来的网络环境适应性差和可扩展性不佳等问题,有效提高网络传输效率。
[0084]
本发明运行于sdn控制器内,只需增加相应的软件代码,无需额外的硬件,部署难度低,具有良好的可部署性,具备在现有的高动态网络进行部署的能力;本发明具有较好的灵活性和泛化性,可满足具有不同算力的用户的需求,可推广至任意节点高动态网络,如无人机自组织网络,卫星自组织网络,船舶自组织网络等。
附图说明
[0085]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0086]
图1是本发明实施例提供的面向高动态网络拓扑下的自适应路由方法流程图。
[0087]
图2是本发明实施例提供的面向高动态网络拓扑下的自适应路由方法原理图。
[0088]
图3是本发明实施例提供的面向高动态网络拓扑下的自适应路由系统结构框图;
[0089]
图中:1、数据集构建模块;2、预测模型构建模块;3、预测模型部署模块;4、信息发送模块;5、信息接收模块;6、链路质量计算模块;7、备选路径获取模块;8、数据包转发模块。
[0090]
图4是本发明实施例提供的应用场景示意图。
[0091]
图5是本发明实施例提供的预测模型结构示意图。
具体实施方式
[0092]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0093]
针对现有技术存在的问题,本发明提供了一种面向高动态网络拓扑下的自适应路由方法、系统、设备,下面结合附图对本发明作详细的描述。
[0094]
如图1所示,本发明实施例提供的面向高动态网络拓扑下的自适应路由方法包括以下步骤:
[0095]
s101,进行预测模型的训练数据集构建;
[0096]
s102,构建并训练预测模型;
[0097]
s103,将基于图注意力网络的预测模型部署于sdn控制器中;
[0098]
s104,各网络节点每隔δ时间,向sdn控制器发送位置信息、本节点在时间间隔内已发送数据包数量m、各个已发送数据包的时间戳、已接收数据包的数量n、各个已接收数据包的时间戳,下一时间间隔内待发送的流的五元组信息;
[0099]
s105,sdn控制器接收各网络节点发送的信息,得到当前时刻的网络拓扑,并计算各条链路的传输时延、丢包率和链路带宽占用率;
[0100]
s106,sdn控制器将当前时刻的网络拓扑和前k个时刻的网络拓扑,作为预测模型的输入,得到下一个时刻的网络拓扑;根据各链路的传输时延、丢包率和链路带宽占用率,计算得到各链路的质量;
[0101]
s107,针对各节点待发送的流,sdn控制器根据每条流的五元组信息和下一时刻的网络拓扑,得到源目的节点间所有备选路径,并根据各链路质量,计算各条备选路径的价值,选择价值最大的路径为该流的转发路径,更新流表,当各节点所有流的转发路径确定完毕,将更新完毕的流表下发至网内各节点;
[0102]
s108,网内各节点接收sdn控制器下发的流表,并根据对应的流表项,转发每条流的数据包。
[0103]
本发明实施例提供的面向高动态网络拓扑下的自适应路由方法原理图如图2所示。
[0104]
如图3所示,本发明实施例提供的面向高动态网络拓扑下的自适应路由系统包括:
[0105]
数据集构建模块1,用于进行预测模型的训练数据集构建;
[0106]
预测模型构建模块2,用于构建并训练预测模型;
[0107]
预测模型部署模块3,用于将基于图注意力网络的预测模型部署于sdn控制器中;
[0108]
信息发送模块4,用于通过各网络节点每隔δ时间,向sdn控制器发送位置信息、本节点在时间间隔内已发送数据包数量m、各个已发送数据包的时间戳、已接收数据包的数量n、各个已接收数据包的时间戳,下一时间间隔内待发送的流的五元组信息;
[0109]
信息接收模块5,用于通过sdn控制器接收各网络节点发送的信息,得到当前时刻的网络拓扑,并计算各条链路的传输时延、丢包率和链路带宽占用率;
[0110]
链路质量计算模块6,用于通过sdn控制器将当前时刻的网络拓扑和前k个时刻的网络拓扑,作为预测模型的输入,得到下一个时刻的网络拓扑;根据各链路的传输时延、丢包率和链路带宽占用率,计算得到各链路的质量;
[0111]
备选路径获取模块7,用于针对各节点待发送的流,sdn控制器根据每条流的五元组信息和下一时刻的网络拓扑,得到源目的节点间所有备选路径,并根据各链路质量,计算各条备选路径的价值,选择价值最大的路径为该流的转发路径,更新流表,当各节点所有流的转发路径确定完毕,将更新完毕的流表下发至网内各节点;
[0112]
数据包转发模块8,用于通过网内各节点接收sdn控制器下发的流表,并根据对应的流表项,转发每条流的数据包。
[0113]
下面结合具体实施例对本发明的技术方案作进一步描述。
[0114]
实施例1
[0115]
本发明的目的在于针对上述现有技术的不足,提出一种面向高动态网络拓扑下的自适应路由方法,缓解网络节点和传输链路在高度动态情况下产生的负面影响,提高网络数据传输效率。
[0116]
为实现上述目的,本发明的技术思路为:基于软件定义网络技术,利用图注意力神经网络构建预测模型,对下一时刻网络节点间连接关系进行预测,得到下一时刻全局网络拓扑,并结合链路传输时延、链路丢包率和链路带宽占用率三个指标,对链路质量进行评估,为每条流选择最佳的传输路径。
[0117]
本发明具体实现步骤包括如下:
[0118]
(1)从高动态网络中获取n个时刻的节点数量及节点间的连接关系,得到网络拓扑,并以邻接矩阵的形式表示,对n个邻接矩阵进行洗牌(shuffle)操作,形成作为预测模型的训练用数据集。
[0119]
所述邻接矩阵的表示如下:
[0120][0121]
若a
xy
=1,表示网络节点x和y有连接,可以进行双向通信;若a
xy
=0,表示网络节点x和y之间无连接,不能进行通信。
[0122]
(2)将(1)中获得的数据集输入到预测模型中进行训练,完成预测模型的训练。
[0123]
(3)将完成训练的预测模型部署至sdn控制器。
[0124]
(4)各网络节点每隔δ时间,向sdn控制器发送位置信息、本节点在时间间隔内已发送数据包数量m、各个已发送数据包的时间戳ti,i=1,2,

,m、已接收数据包的数量n、各个已接收数据包的时间戳tj,j=1,2,

,n,下一时间间隔内待发送的流的五元组信息。
[0125]
(5)sdn控制器接收各网络节点发送的信息,得到当前时刻的网络拓扑,并计算各条链路的传输时延丢包率和链路带宽占用率计算公式为:
[0126][0127][0128][0129]
其中,l
xy
为所述网络节点x到所述网络节点y的链路;s为每个数据包的字节量,为常数;为链路l
xy
的带宽,为常数。
[0130]
(6)sdn控制器将当前时刻的网络拓扑和前k个时刻的网络拓扑,作为预测模型的输入,得到下一个时刻的网络拓扑。根据各链路的传输时延、丢包率和链路带宽占用率,计算得到各链路的质量计算公式为:
[0131][0132]
其中,w1,w2,w3为权重,且w1 w2 w3=1,可根据需求,调整传输时延、丢包率和链路带宽占用率的权重。
[0133]
(7)针对各节点待发送的流,sdn控制器根据每条流的五元组信息和下一时刻的网络拓扑,得到源目的节点间所有备选路径,并根据各链路质量,计算各条备选路径的价值,选择价值最大的路径为该流的转发路径,更新流表,当各节点所有流的转发路径确定完毕,将更新完毕的流表下发至网内各节点。
[0134]
(8)网内各节点接收sdn控制器下发的流表,并根据对应的流表项,转发每条流的数据包。
[0135]
本发明在为高动态网络中所有流规划传输路径时,通过采用人工智能技术构建预测模型,预测下一个时刻的网络拓扑,并结合各节点上报的实时网络状态信息进行决策,实现网络状态感知的自适应路由,有效缓解现有技术方法因前提假设严苛,且对网络状态环境无感知带来的网络环境适应性差和可扩展性不佳等问题,有效提高网络传输效率。
[0136]
本发明运行于sdn控制器内,只需增加相应的软件代码,无需额外的硬件,部署难度低,具有良好的可部署性,具备在现有的高动态网络进行部署的能力;本发明具有较好的灵活性和泛化性,可满足具有不同算力的用户的需求,可推广至任意节点高动态网络,如无人机自组织网络,卫星自组织网络,船舶自组织网络等。
[0137]
实施例2
[0138]
本实例提到的“流”,均指协议号,源/目的地址,源/目的端口号等五元组信息相同的数据包序列。
[0139]
步骤1:预测模型的训练数据集构建。
[0140]
步骤1.1:在如图4所示的应用场景中,各网络节点在n个连续的时刻,分别向sdn控制器发送位置信息和时间戳。
[0141]
步骤1.2:sdn控制器根据各网络节点的位置信息,计算各网络节点之间距离r,并与网络中节点最大通信距离r相比较,判断各网络节点之间的连接关系,若r小于r,则判断两网络节点之间相连,可进行双向通信;若r大于r,则判断两网络节点不相连。由此得到n个时刻的网络拓扑,并以邻接矩阵的形式记录,得到n个邻接矩阵。
[0142]
所述邻接矩阵的表示如下:
[0143][0144]
若a
xy
=1,表示网络节点x和y有连接,可以进行双向通信;若a
xy
=0,表示网络节点x和y之间无连接,不能进行通信。
[0145]
步骤1.3:对n个邻接矩阵进行洗牌操作,即调换n个邻接矩阵的排列顺序,以提高训练数据集中,数据的独立性。
[0146]
步骤2:构建并训练预测模型。
[0147]
步骤2.1:构建基于图注意力网络的预测模型。基于图注意力网络的预测模型,其结构如图5所示,由输入全连接层、3个子块和输出全连接层构成。每个子块的结构均相同,包含2层隐藏层,第一层为图注意力层,第二层为包含64个循环核的门控循环神经网络层。子块之间采用残差跳跃的方式连接。
[0148]
所述图注意力层的内部结构公式如下:
[0149]exy
=a([wh
x
||why])
[0150]
[0151][0152]
其中,e
xy
为乘法注意力机制获得一对网络节点之间的相关性系数,a(
·
)为内积函数,[
·
||
·
]为拼接操作,w为线性映射操作,h
x
和hy为节点x和y的输入特征,α
xy
为归一化后的相关性系数,leakyrelu(
·
)为非线性激活函数,h

x
为节点x经过图注意力层后的输出特征,σ(
·
)为sigmoid激活函数,exp(
·
)为以自然常数e为底的指数函数。
[0153]
所述leakyrelu(
·
)非线性激活函数的公式为:
[0154][0155]
其中,斜率a的取值为0.01。
[0156]
所述sigmoid激活函数的公式为:
[0157][0158]
所述门控循环神经网络层的内部结构公式如下:
[0159]zt
=σ(wz[h
t-1
,x
t
] bz)
[0160]rt
=σ(wr[h
t-1
,x
t
] br)
[0161][0162][0163]
其中,z
t
为门控循环神经网络层的更新门输出量,σ(
·
)为sigmoid激活函数,wz为更新门的上一时刻隐藏状态及输入特征的线性变换,h
t-1
为上一时刻隐藏状态,x
t
为输入特征,bz为更新门的偏置量,r
t
为门控循环神经网络层的重置门输出量,wr为重置门的上一时刻隐藏状态及输入特征的线性变换,br为重置门的偏置量,为门控循环神经网络层的隐藏状态候选集合,tanh为tanh激活函数,w为隐藏状态候选集的上一时刻状态及输入特征的线性变换,bh为门控循环神经网络层的隐藏状态候选集偏置量,h
t
为经过门控循环神经网络层的输出特征。
[0164]
所述tanh激活函数的公式为:
[0165][0166]
所述子块间残差跳跃的连接方式,其特征在于,输入全连接层的输出特征,除作为子块1的输入特征外,还作为子块2的输入特征;子块1的输出特征,除作为子块2的输入特征外,还作为子块3的输入特征;子块2的输出特征,除作为子块3的输入特征外,还作为输出全连接层的输入特征。
[0167]
步骤2.2:训练基于图注意力网络的预测模型。将步骤1得到的训练数据集,均匀地分批次输入至基于图注意力网络的预测模型中,训练数据依次经过预测模型的输入全连接层、3个子块的图注意力层和门控循环神经网络层、输出全连接层,完成前向传播。在前向传
播过程中,使用dropout方法,按照丢弃率,随机屏蔽各层的一部分参数,被屏蔽的参数暂时不认为是训练模型结构的一部分,不参与前向传播,但会保留参数的值,在本发明中,丢弃率设为30%。采用dropout方法后,可减少预测模型的训练时间,加快训练模型收敛,并缓解模型在训练过程中出现的过拟合问题。
[0168]
步骤2.3:计算前向传播过程中产生的误差和梯度。利用二进制交叉熵损失函数,计算前向传播传播过程中,预测模型输出值和真实值之间的差量,作为误差,并利用adam优化器计算梯度,将误差和梯度储存起来,激活函数为relu,以提升训练速度。
[0169]
所述relu激活函数的公式为:
[0170][0171]
所述二进制交叉熵损失函数公式如下:
[0172][0173]
其中,n为样本数,y为真实值,为预测模型输出值。
[0174]
步骤2.4:将步骤2.3中得到的误差和梯度,利用反向传播方法,经过输出全连接层、3个子块的门控循环神经网络层和图注意力层、输入全连接层逐层传播,并自动更新网络参数的值。判断所在网络层是否为输入全连接层,若是,则执行步骤2.3,否则,重复步骤2.4。
[0175]
步骤2.5:当损失函数值趋于稳定或达到迭代次数时,可认为模型参数调整完毕,基于图注意力网络的预测模型训练完毕。
[0176]
步骤3:将基于图注意力网络的预测模型部署于sdn控制器中。
[0177]
步骤4:各网络节点每隔δ时间,向sdn控制器发送位置信息、本节点在时间间隔内已发送数据包数量m、各个已发送数据包的时间戳ti,i=1,2,

,m、已接收数据包的数量n、各个已接收数据包的时间戳tj,j=1,2,

,n,下一时间间隔内待发送的流的五元组信息。
[0178]
步骤5:sdn控制器接收各网络节点发送的信息,按步骤1所述方法,得到当前时刻的网络拓扑,并计算各条链路的传输时延丢包率和链路带宽占用率计算公式为:
[0179][0180][0181][0182]
其中,l
xy
为所述网络节点x到所述网络节点y的链路;s为每个数据包的字节量,为常数;为链路l
xy
的带宽,为常数。
[0183]
步骤6:sdn控制器将当前时刻的网络拓扑和前k个时刻的网络拓扑,作为预测模型的输入,得到下一个时刻的网络拓扑。根据各链路的传输时延、丢包率和链路带宽占用率,计算得到各链路的质量计算公式为:
[0184][0185]
其中,w1,w2,w3为权重,且w1 w2 w3=1,可根据需求,调整传输时延、丢包率和链路带宽占用率的权重。
[0186]
步骤7:针对各节点待发送的流,sdn控制器根据每条流的五元组信息和下一时刻的网络拓扑,得到源目的节点间所有备选路径,并根据各链路质量,计算各条备选路径的价值,选择价值最大的路径为该流的转发路径,更新流表,当各节点所有流的转发路径确定完毕,将更新完毕的流表下发至网内各节点。
[0187]
步骤8:网内各节点接收sdn控制器下发的流表,并根据对应的流表项,转发每条流的数据包。
[0188]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0189]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
再多了解一些

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

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

相关文献