CN115842770B - 一种基于深度图神经网络的路由方法及相关设备 - Google Patents

一种基于深度图神经网络的路由方法及相关设备 Download PDF

Info

Publication number
CN115842770B
CN115842770B CN202211384414.XA CN202211384414A CN115842770B CN 115842770 B CN115842770 B CN 115842770B CN 202211384414 A CN202211384414 A CN 202211384414A CN 115842770 B CN115842770 B CN 115842770B
Authority
CN
China
Prior art keywords
target
feature vector
node
topological feature
local
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211384414.XA
Other languages
English (en)
Other versions
CN115842770A (zh
Inventor
仇琛
许晓东
张平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202211384414.XA priority Critical patent/CN115842770B/zh
Publication of CN115842770A publication Critical patent/CN115842770A/zh
Application granted granted Critical
Publication of CN115842770B publication Critical patent/CN115842770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于深度图神经网络的路由方法及相关设备,方法包括:获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量;将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点;将所述目标数据包发送至所述目标邻居节点。本发明可以降低路由过程中的信息冗余和网络资源消耗,实现更高效的网络路由策略。

Description

一种基于深度图神经网络的路由方法及相关设备
技术领域
本发明涉及互联网技术领域,特别涉及一种基于深度图神经网络的路由方法及相关设备。
背景技术
现有路由技术通常依赖于全网的拓扑信息交互,这将造成大量的网络资源消耗。例如,以路由信息协议(Routing Information Protocol,RIP)为代表的距离向量算法需要每个节点都维护一个距离向量表,表中记录了该节点到网络中所有其他节点的距离,同时每个节点需要定期将其现有完整的距离向量广播给其邻居节点以更新路由状态。在网络规模较大的情况下,距离向量表的体积将变得非常庞大,生成距离向量表的交互次数也随着网络规模的增大而增大,网络节点间的路由信息交互将耗费大量的网络传输资源。而开放式最短路径优先协议(Open Shortest Path First,OSPF)使用链路状态路由方法,虽然每个参与算法的节点仅将其周边的链路状态变化广播出去,但为了保证网络中所有节点都有完全的网络拓扑信息,需要采用洪泛机制向全网进行广播,将难以避免的造成大量的信息冗余和资源浪费。
因此,现有技术还有待改进和提高。
发明内容
针对现有技术的上述缺陷,本发明提供一种基于深度图神经网络的路由方法及相关设备,旨在解决现有技术中的路由方法容易造成大量的信息冗余和资源浪费的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
本发明的第一方面,提供一种基于深度图神经网络的路由方法,所述方法包括:
获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量;
将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点;
将所述目标数据包发送至所述目标邻居节点。
所述的基于深度图神经网络的路由方法,其中,所述获取目标数据包之前,还包括:
获取本地节点标识以及本地拓扑特征向量;
向注册服务器发送注册拓扑特征向量请求信息,所述请求信息包括本地节点标识以及本地拓扑特征向量,以在所述注册服务器的映射表中添加新的映射,所述注册服务器用于存储映射表,为各节点提供节点查询服务。
所述的基于深度图神经网络的路由方法,其中,所述获取本地拓扑特征向量,包括:
获取本地度,所述本地度为本地节点的邻居节点的数量;
获取各邻居节点的度,所述邻居节点的度为邻居节点的邻居节点数量;
根据所述本地度和各所述邻居节点的度生成本地初始特征向量;
将获取到的所述本地初始特征向量以及各邻居节点的初始特征向量输入至目标图神经网络,得到本地拓扑特征向量。
所述的基于深度图神经网络的路由方法,其中,所述根据所述本地度和各所述邻居节点的度生成本地初始特征向量,包括:
提取各所述邻居节点的度中的最小值、最大值、平均值、标准差以及本地度生成所述本地初始特征向量。
所述的基于深度图神经网络的路由方法,其中,所述将获取到的所述本地初始特征向量以及各邻居节点的初始特征向量输入至目标图神经网络,得到本地拓扑特征向量,包括:
所述目标图神经网络分为L层,第l层的输入为本地的第l层隐藏状态和各邻居节点第l层的隐藏状态的集合,第l层的输出为本地的第l+1层隐藏状态,其中,本地的初始隐藏状态为所述初始特征向量。
所述的基于深度图神经网络的路由方法,其中,所述本地的初始隐藏状态的公式为:
h0[v]={deg(v),min(D[v]),max(D[v]),mean(D[v]),std(D[v])};
其中,deg(v)为本地度,min(D[v])、max(D[v])、mean(D[v])和std(D[v])分别为各邻居度中的最小值、最大值、平均值和标准差;
所述本地的第l+1层隐藏状态的处理公式为:
hl+1[v]=fl(hl[v],Hl[v]);
其中,hl[v]为第l层本地隐藏状态,Hl[v]为各邻居节点第l层的隐藏状态的集合。
所述的基于深度图神经网络的路由方法,其中,所述获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,包括:
查看所述目标数据包包头中是否含有目标拓扑特征向量;
若有,则直接提取所述目标数据包包头中的所述目标拓扑特征向量;
若没有,则提取所述目标数据包包头中的目标节点标识,将所述目标节点标识发送至所述注册服务器,以获取所述目标节点标识对应的所述目标拓扑特征向量。
所述的基于深度图神经网络的路由方法,其中,所述根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点,包括:
计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,所述目标拓扑特征向量为目标节点的拓扑特征向量;
选择各邻居节点的拓扑特征向量与目标拓扑特征向量之间匹配度最高的邻居节点作为所述目标邻居节点。
所述的基于深度图神经网络的路由方法,其中,所述计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,包括:
分别将各邻居节点的拓扑特征向量与目标拓扑特征向量输入至目标神经网络,得到多个代表各邻居节点与所述目标节点的匹配度。
所述的基于深度图神经网络的路由方法,其中,所述目标神经网络对输入数据的处理公式为:
g(x[n],x[d])=(WNx[n]+bN)T(WDx[d]+bD);
其中,x[n]为第n个邻居节点的拓扑特征向量,x[d]为所述目标拓扑特征向量,维度为p,是两个k[L]×k[L]维可训练的参数矩阵,/>是k[L]维可训练的偏置向量。
本发明的第二方面,提供一种基于深度图神经网络的路由装置,包括:
目标拓扑特征向量获取模块,所述目标拓扑特征向量获取模块用于获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量;
目标邻居节点确定模块,所述目标邻居节点确定模块用于将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点;
目标数据包发送模块,所述目标数据包发送模块用于将所述目标数据包发送至所述目标邻居节点。
本发明的第三方面,提供一种路由器终端,所述路由器终端包括处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述任一项所述的基于深度图神经网络的路由方法的步骤。
本发明的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一项所述的基于深度图神经网络的路由方法的步骤。
与现有技术相比,本发明提供了一种基于深度图神经网络的路由方法及相关设备,本发明提供的基于深度图神经网络的路由方法中,当本地获取到数据包时,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量,将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点,然后将所述目标数据包发送至所述目标邻居节点,这样使用向量间的匹配度作为路由决策依据,可对网络节点或链路失效等网络拓扑变化进行快速适应,同时可以降低路由过程中的信息冗余和网络资源消耗,实现更加高效的网络路由策略。
附图说明
图1为本发明提供的基于深度图神经网络的路由方法的实施例的流程图;
图2为本发明提供的基于深度图神经网络的路由方法的实施例中拓扑特征向量生成图;
图3为本发明提供的基于深度图神经网络的路由方法的实施例中通信网络系统架构图;
图4为本发明提供的基于深度图神经网络的路由方法的实施例中拓扑特征向量扩展头结构图;
图5为本发明提供的基于深度图神经网络的路由方法的实施例中应用例的网络拓扑示例图;
图6为本发明提供的基于深度图神经网络的路由装置的实施例的结构原理图;
图7为本发明提供的路由器终端的实施例的原理示意图。
具体实施方式
为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供的基于深度图神经网络的路由方法,可以是由通信网络中的其中一个节点执行。
实施例一
如图1所示,所述基于深度图神经网络的路由方法的一个实施例中,包括步骤:
S100、获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量。
在本实施例中,所述基于深度图神经网络的路由方法是由通信网络中的其中一个节点执行。
在本实施例中,所述通信网络有多个节点,节点之间有通信链路相互连通。如图2所示,将通信网络看作图其中ν是所有节点的集合,ε是所有网络链路的结合,假设图/>总是连通的。在本实施例中,利用图神经网络为每个节点v∈ν生成一个代表其网络中拓扑位置信息的拓扑特征向量x[v]。而基于各拓扑特征向量,利用神经网络解码出目的地节点在网络中的位置信息,从而得出相应的路由决策。
因此,在所述节点获取目标数据包之前,还包括:
S010、获取本地节点标识以及本地拓扑特征向量。
在本实施例中,所述本地节点的标识用v表示,所述本地节点v的标识可以为IP地址,所述本地拓扑特征向量用x[v]表示。
其中,所述获取本地拓扑特征向量,包括:
S011、获取本地度,所述本地度为本地节点的邻居节点的数量;
通过邻居发现协议或地址解析协议获取邻居节点的数量,即该节点在图中的度deg(v)即为所述本地度。
S012、获取各邻居节点的度,所述邻居节点的度为邻居节点的邻居节点数量。
在本实施例中的所述通信网络中,各节点会将自身的邻居节点数量信息deg(v)广播给其邻居节点,本地节点获取到其自身的,将其整理为邻居度列表其中/>是本地节点v的邻居节点的集合。
S013、根据所述本地度和各所述邻居节点的度生成本地初始特征向量。
其中,所述根据所述本地度和各所述邻居节点的度生成本地初始特征向量,包括:
提取各所述邻居节点的度中的最小值、最大值、平均值、标准差以及本地度生成所述本地初始特征向量。
具体地,分别计算邻居度列表的最小值min(D[v])、最大值max(D[v])、平均值mean(D[v])和标准差std(D[v]),并基于这些统计值生成本地初始特征向量:
h0[v]={deg(v),min(D[v]),max(D[v]),mean(D[v]),std(D[v])}。
S014、将获取到的所述本地初始特征向量以及各邻居节点的初始特征向量输入至目标图神经网络,得到本地拓扑特征向量。
所述将获取到的所述本地初始特征向量以及各邻居节点的初始特征向量输入至目标图神经网络,得到本地拓扑特征向量,包括:
所述目标图神经网络分为L层,第l层的输入为本地的第l层隐藏状态和各邻居节点第l层的隐藏状态的集合,第l层的输出为本地的第l+1层隐藏状态,其中,本地的初始隐藏状态为所述初始特征向量。
所述本地的初始隐藏状态的公式为:
h0[v]={deg(v),min(D[v]),max(D[v]),mean(D[v]),std(D[v])};
其中,deg(v)为本地度,min(D[v])、max(D[v])、mean(D[v])和std(D[v])分别为各邻居度中的最小值、最大值、平均值和标准差;
所述本地的第l+1层隐藏状态的处理公式为:
hl+1[v]=fl(hl[v],Hl[v]);
其中,hl[v]为第l层本地隐藏状态,H1[v]为各邻居节点第l层的隐藏状态的集合。
参照图2,在本实施例中的所述通信网络中的每个节点上都部署有相同的具有L层的目标图神经网络。也就是说,本地节点也部署有所述目标图神经网络,所述目标图神经网络分为L层,第l层的输入为本地的第l层隐藏状态和各邻居节点第l层的隐藏状态的集合,第l层的输出为本地的第l+1层隐藏状态,其中,本地的初始隐藏状态为所述初始特征向量。
具体地,将每一层的图神经网络标记为fl(·,·)。在本地节点v上的所述目标图神经网路的第l层fl(·,·)的输入是本地节点v自身第l层隐藏状态和其邻居节点第l层隐藏状态组成的集合/>其输出是本地节点v第l+1层的隐藏状态/>即hl+1[v]=fl(hl[v],Hl[v])。其中k[l]和k[l+1]分别是隐藏状态在第l和l+1层的维度。
fl(hl[v],Hl[v])的作用是对邻居节点的隐藏状态进行总结和聚合,生成新的汇聚向量。而通过多层的fl(·,·),各节点的隐藏状态将包含其高阶邻居节点的拓扑信息,并最终生成最终的隐藏状态hL[v]。最终的隐藏状态即为所述本地拓扑信息向量,也就是说,x[v]=hL[v]。
由于在本实施例中的所述通信网络中的各节点邻居节点数量不同,所述目标图神经网络的每一层fl(·,·)的输入尺寸为可变的。需要采用支持可变输入长度的图神经网络结构来实现fl(·,·)。
在本实施例中,采用目标图神经网络结构来实现fl(·,·),所述目标图神经网络结构主要参考自TransformerConv图神经网络层。TransformerConv基于一种自适应加权机制对接收到的隐藏状态进行汇聚。
具体地,首先通过ReLU激活函数引入非线性,公式如下:
其中ReLU激活函数的定义是ReLU(·)=max(·,0)。
所述本地节点v与其计算邻居节点之间的匹配度的公式如下:
其中,是一个标量,/>是两个k[l+1]×k[l]维可训练的参数矩阵,/>是两个j维的可训练偏置向量,参数矩阵和偏置向量的作用是通过仿射变换将/>和/>分别映射j维的向量,将两个j维向量的点积除以作为匹配度的度量,选用点积是为了使用高度优化的线性算子库,除以/>的作用是为了避免k[l+1]较大时点积的结果对后续计算的数值稳定性造成影响。
然后,使用softmax函数将匹配度进行归一化,得到合并隐藏状态所需的加权值其计算公式如下:
其中,exp(·)是指数函数,是个标量,且/>
生成新的隐藏状态,计算公式如下:
其中是两个k[l+1]×k[l]维可训练的参数矩阵,其作用是将k[l]维的/>和/>分别映射为k[l+1]维。
在所述本地拓扑特征向量生成的过程中,所述本地节点与其邻居节点以初始隐藏状态h0[v]为基础,基于的隐藏状态的交互来获取其周边的拓扑结构信息,并对自身的隐藏状态进行更新,通过多轮的交互和更新输出网络拓扑特征向量,其具体过程如下:
所述本地节点与其邻居节点交互其第l={0,1,…,L-1}层的隐藏状态
所述本地节点使用第l层的图神经网络fl(·,·)基于其邻居节点和自身节点的隐藏状态生成新的隐藏状态即hl+1[v]=fl(hl[v],Hl[v]);
重复上述本地节点与其邻居节点交互其第l层的隐藏状态,直到生成所述本地拓扑特征向量x[v],即第L层的隐藏状态hL[v],并保存所述本地节点的各邻居节点的所有L层隐藏状态
在生成所述本地拓扑特征向量后,继续进行以下步骤:
S020、向注册服务器发送注册拓扑特征向量请求信息,所述请求信息包括本地节点标识以及本地拓扑特征向量,以在所述注册服务器的映射表中添加新的映射,所述注册服务器用于存储映射表,为各节点提供节点查询服务。
具体地,参照图3,在本实施例所述的通信网络中,还包括包含一个用于注册拓扑特征向量的服务器,也就是所述注册服务器,所述注册服务器用于记录所述通信网络中各节点的拓扑特征向量,并向各节点提供由节点标识到对应特征向量的查询服务。各节点进行自身拓扑特征向量的生成或更新过程之后,各节点将通过控制链路向所述注册服务器上报其自身的节点标识及其对应的拓扑特征向量。
具体地,以本地节点为例,所述本地节点将所述本地节点v,也就是所述本地节点标识v和对应的所述本地拓扑特征向量x[v]上报给所述注册服务器,并将x[v]广播给邻居节点。
也就是说,在获取所述目标数据包之前,所述通信网络中的各节点会先在所述注册服务器中注册节点标识和拓扑特征向量的映射关系,以便其他节点查询。
完成初始的映射关系注册后,执行图1中步骤:
S100、获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量。
其中,所述获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,包括:
S110、查看所述目标数据包包头中是否含有目标拓扑特征向量;
S120、若有,则直接提取所述目标数据包包头中的所述目标拓扑特征向量;
S130、若没有,则提取所述目标数据包包头中的目标节点标识,将所述目标节点标识发送至所述注册服务器,以获取所述目标节点标识对应的所述目标拓扑特征向量。
具体地,当外部流量到达所述通信网络时,入口的节点向注册服务器查询所述目标数据包对应的目标节点的目标拓扑特征向量,并将查询结果封装到述目标数据包的包头当中,如图4所示。在接下来的每一跳路由过程中,各节点从数据包包头中提取目标节点的拓扑特征向量。
所述本地节点可能为入口的节点或中间跳转的节点或是目标节点。因此,在获取到所述目标数据包后,先查看所述目标数据包包头中是否含有目标拓扑特征向量,若有,则直接提取所述目标数据包包头中的所述目标拓扑特征向量;若没有,则提取所述目标数据包包头中的目标节点标识,将所述目标节点标识发送至所述注册服务器,以获取所述目标节点标识对应的所述目标拓扑特征向量。所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量。
S200、将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点。
将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则说明本地节点即为所述目标节点,拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,路由过程结束。
若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点
具体地,所述根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点,包括:
S210、计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,所述目标拓扑特征向量为目标节点的拓扑特征向量。
所述计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,包括:
分别将各邻居节点的拓扑特征向量与目标拓扑特征向量输入至目标神经网络,得到多个代表各邻居节点与所述目标节点的匹配度。
所述目标神经网络对输入数据的处理公式为:
g(x[n],x[d])=(WNx[n]+bN)T(WDx[d]+bD);
其中,x[n]为第n个邻居节点的拓扑特征向量,x[d]为所述目标拓扑特征向量,维度为p,是两个k[L]×k[L]维可训练的参数矩阵,/>是k[L]维可训练的偏置向量。
在本实施例中,使用所述目标神经网络g(·,·)来计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,以实现路由的决策。所述目标神经网络g(·,·)的输入是两个维度为p的向量,输出为一个标量。g(·,·)计算了两个向量之间的匹配度。各节点将分别计算目的地节点的拓扑特征向量和其邻居节点的拓扑特征向量之间的匹配度,并选择匹配度最高的邻居作为下一跳的路由。在本实施例中g(·,·)的实现公式如下:
g(x[n],x[d])=(WNx[n]+bN)T(WDx[d]+bD);
其中,x[n]为第n个邻居节点的拓扑特征向量,x[d]为所述目标拓扑特征向量,x[n],x[d]的维度均为p,是两个k[L]×k[L]维可训练的参数矩阵,是k[L]维可训练的偏置向量,参数矩阵和偏置向量的作用是以仿射变换的方式将k[L]维的拓扑特征向量映射为k[L]维向量。将两个k[L]维向量的点积作为决策神经网络的输出。
S220、选择各邻居节点的拓扑特征向量与目标拓扑特征向量之间匹配度最高的邻居节点作为所述目标邻居节点。
选择各邻居节点的拓扑特征向量与目标拓扑特征向量之间匹配度最高的邻居节点作为所述目标邻居节点。所述目标邻居节点的选择公式为:
S300、将所述目标数据包发送至所述目标邻居节点。
将所述目标数据包转发给所述目标邻居节点vnext
在将所述目标数据包转发给所述目标邻居节点vnext后,所述目标邻居节点vnext也执行所述方法,直至所述目标数据包到达所述目标节点。
以下为本实施例所述方法的一个可能的应用例:
参照图5,本应用例的网络拓扑如图5所示,设各层隐藏状态的维度为k[0]=5,k[1]=4,k[2]=4。
在本应用例中,各节点的邻居节点数量deg(v)、邻居节点列表邻居节点度列表D[v]和生成的初始信息向量示例如下:
首先生成本应用例中各节点的第1层隐藏状态:
根据各层隐藏状态的维度可知第0层图神经网络f0(·,·)参数矩阵和偏置向量的维度为一组可能的取值如下:
基于以上的数据,根据公式计算各节点通过ReLU激活函数进行非线性化得到的如下:
以图5中v2的拓扑向量生成过程为例,其中,利用公式计算之间的匹配度如下:
/>
使用公式计算加权值如下:
使用公式计算第一层的隐藏状态如下
进行类似的计算,可得到本应用例中各节点在第1层的隐藏状态如下:
然后生成本应用例中各节点的的第2层隐藏状态:
以节点v2为例,v2在第2层的隐藏状态h2[v2]的具体计算步骤为:
根据各层隐藏状态的维度可知第1层图神经网络f1(·,·)参数矩阵和偏置向量的维度为一组可能的取值如下:/>
将第一层的隐藏状态进行非线性化得到如下:
用公式计算与/>之间的匹配度如下
/>
使用公式计算加权值如下
使用公式计算第2层的隐藏状态如下
进行类似的计算,可得到本应用例中的各节点在第2层的隐藏状态如下:
将第2层的隐藏状态作为各个节点的拓扑特征向量。
在本应用例中,假设节点v2接收到一个目的地为v5的数据包,一下为该数据包的路由转发过程:
首先,将拓扑特征向量生成过程中得到的最终隐藏状态作为节点的拓扑特征向量即有:
设公式中的参数及偏置的值如下
节点v2根据公式进行路由决策计算如下:
/>
通过计算,节点v2可以看出其邻居节点中v3与目的地节点v5的匹配度最高,则v2将数据转发给节点v3,从而完成这一步的路由。
为了降低网络拓扑信息交互对网络传输资源的占用,本实施例提供的基于图神经网络的路由方法,使用目标图神经网络的消息传递范式替代传统路由算法中的距离向量表或链接状态广播,将路由拓扑信息交互替换为固定长度的节点隐藏状态交互,提升路由拓扑信息交互的效率。基于节点间的信息交互,各个节点将对自身的拓扑位置信息进行编码,生成拓扑特征向量。最后,使用目标神经网络对节点拓扑特征向量进行解码,从而实现数据包传输过程中的路由功能。
本实施例提供的基于目标图神经网络的拓扑特征向量生成过程中仅需在相邻的节点之间进行固定次数的特征向量进行交互,避免了链路状态类路由方法在全网进行洪泛带来的传输资源消耗。而相对于距离向量类路由方法,本实施例中将网络拓扑信息压缩为固定长度的向量,在避免使用洪泛的同时避免了拓扑信息交互数据量随着网络规模增大而增大的问题,提高了拓扑信息交互的效率。另外,本实施例提供的基于图神经网络的路由方法,使用向量间的匹配度作为路由决策依据,可对网络节点或链路失效等网络拓扑变化进行快速适应。而通过将匹配度定义为可导的计算,可以将本方法跟深度强化学习相结合,实现更加高效的网络路由策略。
综上所述,本实施例提供一种基于深度图神经网络的路由方法,当本地获取到数据包时,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量,将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点,然后将所述目标数据包发送至所述目标邻居节点,这样使用向量间的匹配度作为路由决策依据,可对网络节点或链路失效等网络拓扑变化进行快速适应,同时可以降低路由过程中的信息冗余和网络资源消耗,实现更加高效的网络路由策略。
应该理解的是,虽然本发明说明书附图中给出的的流程图中的各个步骤按照箭头的指示依次显式,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
实施例二
基于上述实施例,本发明还相应提供了一种基于深度图神经网络的路由装置,如图5所示,所述基于深度图神经网络的路由装置包括:
目标拓扑特征向量获取模块,所述目标拓扑特征向量获取模块用于获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量,具体如实施例一中所述;
目标邻居节点确定模块,所述目标邻居节点确定模块用于将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点,具体如实施例一中所述;
目标数据包发送模块,所述目标数据包发送模块用于将所述目标数据包发送至所述目标邻居节点,具体如实施例一中所述。
关键节点确定模块,所述关键节点确定模块用于将各个所述目标子路径的所有端点中不是所述源节点和所述目的节点的端点作为所述目标路径的关键节点,具体如实施例一中所述;
实施例三
基于上述实施例,本发明还相应提供了一种路由器终端,如图6所示,所述路由器终端包括处理器10以及存储器20。图6仅示出了路由器终端的部分组件,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
所述存储器20在一些实施例中可以是所述路由器终端的内部存储单元,例如路由器终端的硬盘或内存。所述存储器20在另一些实施例中也可以是所述路由器终端的外部存储设备,例如所述路由器终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器20还可以既包括所述路由器终端的内部存储单元也包括外部存储设备。所述存储器20用于存储安装于所述路由器终端的应用软件及各类数据。所述存储器20还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,存储器20上存储有基于深度图神经网络的路由程序30,该基于深度图神经网络的路由程序30可被处理器10所执行,从而实现本申请中基于深度图神经网络的路由方法。
所述处理器10在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他芯片,用于运行所述存储器20中存储的程序代码或处理数据,例如执行所述基于深度图神经网络的路由方法等。
在一实施例中,当处理器10执行所述存储器20中基于深度图神经网络的路由程序30时实现以下步骤:
获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目的节点对应的拓扑特征向量;
将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点;
将所述目标数据包发送至所述目标邻居节点。
其中,所述获取目标数据包之前,还包括:
获取本地节点标识以及本地拓扑特征向量;
向注册服务器发送注册拓扑特征向量请求信息,所述请求信息包括本地节点标识以及本地拓扑特征向量,以在所述注册服务器的映射表中添加新的映射,所述注册服务器用于存储映射表,为各节点提供节点查询服务。
其中,所述获取本地拓扑特征向量,包括:
获取本地度,所述本地度为本地节点的邻居节点的数量;
获取各邻居节点的度,所述邻居节点的度为邻居节点的邻居节点数量;
根据所述本地度和各所述邻居节点的度生成本地初始特征向量;
将获取到的所述本地初始特征向量以及各邻居节点的初始特征向量输入至目标图神经网络,得到本地拓扑特征向量。
其中,所述根据所述本地度和各所述邻居节点的度生成本地初始特征向量,包括:
提取各所述邻居节点的度中的最小值、最大值、平均值、标准差以及本地度生成所述本地初始特征向量。
其中,所述将获取到的所述本地初始特征向量以及各邻居节点的初始特征向量输入至目标图神经网络,得到本地拓扑特征向量,包括:
所述目标图神经网络分为L层,第l层的输入为本地的第l层隐藏状态和各邻居节点第l层的隐藏状态的集合,第l层的输出为本地的第l+1层隐藏状态,其中,本地的初始隐藏状态为所述初始特征向量。
其中,所述本地的初始隐藏状态的公式为:
h0[v]={deg(v),min(D[v]),max(D[v]),mean(D[v]),std(D[v])};
其中,deg(v)为本地度,min(D[v])、max(D[v])、mean(D[v])和std(D[v])分别为各邻居度中的最小值、最大值、平均值和标准差;
所述本地的第l+1层隐藏状态的处理公式为:
hl+1[v]=fl(hl[v],Hl[v]);
其中,hl[v]为第l层本地隐藏状态,Hl[v]为各邻居节点第l层的隐藏状态的集合。
其中,所述获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,包括:
查看所述目标数据包包头中是否含有目标拓扑特征向量;
若有,则直接提取所述目标数据包包头中的所述目标拓扑特征向量;
若没有,则提取所述目标数据包包头中的目标节点标识,将所述目标节点标识发送至所述注册服务器,以获取所述目标节点标识对应的所述目标拓扑特征向量。
其中,所述根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点,包括:
计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,所述目标拓扑特征向量为目标节点的拓扑特征向量;
选择各邻居节点的拓扑特征向量与目标拓扑特征向量之间匹配度最高的邻居节点作为所述目标邻居节点。
其中,所述计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,包括:
分别将各邻居节点的拓扑特征向量与目标拓扑特征向量输入至目标神经网络,得到多个代表各邻居节点与所述目标节点的匹配度。
其中,所述目标神经网络对输入数据的处理公式为:
g(x[n],x[d])=(WNx[n]+bN)T(WDx[d]+bD);
其中,x[n]为第n个邻居节点的拓扑特征向量,x[d]为所述目标拓扑特征向量,维度为p,是两个k[L]×k[L]维可训练的参数矩阵,/>是k[L]维可训练的偏置向量。
实施例四
本发明还提供一种计算机可读存储介质,其中,存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上所述的基于深度图神经网络的路由方法的步骤。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种基于深度图神经网络的路由方法,其特征在于,所述方法包括:
获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目标节点对应的拓扑特征向量;
将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则确认本地节点为所述目标节点,并拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点;
将所述目标数据包发送至所述目标邻居节点;
所述获取目标数据包之前,还包括:
获取本地节点标识以及本地拓扑特征向量;
向注册服务器发送注册拓扑特征向量请求信息,所述请求信息包括本地节点标识以及本地拓扑特征向量,以在所述注册服务器的映射表中添加新的映射,所述注册服务器用于存储映射表,为各节点提供节点查询服务;
所述获取本地拓扑特征向量,包括:
获取本地度,所述本地度为本地节点的邻居节点的数量;
获取各邻居节点的度,所述邻居节点的度为邻居节点的邻居节点数量;
根据所述本地度和各所述邻居节点的度生成本地初始特征向量;
将获取到的所述本地初始特征向量以及各邻居节点的初始特征向量输入至目标图神经网络,得到本地拓扑特征向量;
所述将获取到的所述本地初始特征向量以及各邻居节点的初始特征向量输入至目标图神经网络,得到本地拓扑特征向量,包括:
所述目标图神经网络分为L层,第l层的输入为本地的第l层隐藏状态和各邻居节点第l层的隐藏状态的集合,第l层的输出为本地的第l+1层隐藏状态,其中,本地的初始隐藏状态为所述初始特征向量;
所述本地的初始隐藏状态的公式为:
h0[υ]={deg(υ),min(D[υ]),max(D[υ]),mean(D[υ]),std(D[υ])};
其中,deg(υ)为本地度,min(D[υ])、max(D[υ])、mean(D[υ])和std(D[υ])分别为各邻居度中的最小值、最大值、平均值和标准差;
所述本地的第l+1层隐藏状态的处理公式为:
hl+1[υ]=fl(hl[υ],Hl[υ]);
其中,hl[υ]为第l层本地隐藏状态,fl为第l层图神经网络,Hl[υ]为各邻居节点第l层的隐藏状态的集合。
2.根据权利要求1所述的基于深度图神经网络的路由方法,其特征在于,所述根据所述本地度和各所述邻居节点的度生成本地初始特征向量,包括:
提取各所述邻居节点的度中的最小值、最大值、平均值、标准差以及本地度生成所述本地初始特征向量。
3.根据权利要求1所述的基于深度图神经网络的路由方法,其特征在于,所述获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,包括:
查看所述目标数据包包头中是否含有目标拓扑特征向量;
若有,则直接提取所述目标数据包包头中的所述目标拓扑特征向量;
若没有,则提取所述目标数据包包头中的目标节点标识,将所述目标节点标识发送至所述注册服务器,以获取所述目标节点标识对应的所述目标拓扑特征向量。
4.根据权利要求1所述的基于深度图神经网络的路由方法,其特征在于,所述根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点,包括:
计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,所述目标拓扑特征向量为目标节点的拓扑特征向量;
选择各邻居节点的拓扑特征向量与目标拓扑特征向量之间匹配度最高的邻居节点作为所述目标邻居节点。
5.根据权利要求4所述的基于深度图神经网络的路由方法,其特征在于,所述计算各邻居节点的拓扑特征向量与目标拓扑特征向量之间的匹配度,包括:
分别将各邻居节点的拓扑特征向量与目标拓扑特征向量输入至目标神经网络,得到多个代表各邻居节点与所述目标节点的匹配度。
6.根据权利要求5所述的基于深度图神经网络的路由方法,其特征在于,所述目标神经网络对输入数据的处理公式为:
g(x[n],x[d])=(WNx[n]+bN)T(WDx[d]+bD);
其中,x[n]为第n个邻居节点的拓扑特征向量,x[d]为所述目标拓扑特征向量,维度为p,是两个k[L]×k[L]维可训练的参数矩阵,/>是k[L]维可训练的偏置向量。
7.一种基于深度图神经网络的路由装置,所述路由装置用于实现权利要求1-6任一项所述的基于深度图神经网络的路由方法,其特征在于,所述路由装置包括:
目标拓扑特征向量获取模块,所述目标拓扑特征向量获取模块用于获取目标数据包,提取所述目标数据包对应的目标拓扑特征向量,所述目标拓扑特征向量为所述目标数据包的目标节点对应的拓扑特征向量;
目标邻居节点确定模块,所述目标邻居节点确定模块用于将所述目标拓扑特征向量与自身拓扑特征向量进行比较,若相同,则确认本地节点为所述目标节点,并拆除所述目标数据包的包头并获取所述目标数据包中的目标数据,若不同,则根据所述目标拓扑特征向量与各邻居节点的拓扑特征向量确定与所述目标拓扑特征向量的匹配度最高的目标邻居节点;
目标数据包发送模块,所述目标数据包发送模块用于将所述目标数据包发送至所述目标邻居节点。
8.一种路由器终端,其特征在于,所述路由器终端包括:处理器、与处理器通信连接的计算机可读存储介质,所述计算机可读存储介质适于存储多条指令,所述处理器适于调用所述计算机可读存储介质中的指令,以执行实现上述权利要求1-6任一项所述的基于深度图神经网络的路由方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-6任一项所述的基于深度图神经网络的路由方法的步骤。
CN202211384414.XA 2022-11-07 2022-11-07 一种基于深度图神经网络的路由方法及相关设备 Active CN115842770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211384414.XA CN115842770B (zh) 2022-11-07 2022-11-07 一种基于深度图神经网络的路由方法及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211384414.XA CN115842770B (zh) 2022-11-07 2022-11-07 一种基于深度图神经网络的路由方法及相关设备

Publications (2)

Publication Number Publication Date
CN115842770A CN115842770A (zh) 2023-03-24
CN115842770B true CN115842770B (zh) 2024-05-14

Family

ID=85576891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211384414.XA Active CN115842770B (zh) 2022-11-07 2022-11-07 一种基于深度图神经网络的路由方法及相关设备

Country Status (1)

Country Link
CN (1) CN115842770B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106961707A (zh) * 2017-03-06 2017-07-18 哈尔滨工程大学 一种vanet中基于连通性的多因素决策路由协议
CN112532529A (zh) * 2021-02-09 2021-03-19 深圳市乙辰科技股份有限公司 一种mesh路由拓扑组网方法及系统
CN112686971A (zh) * 2020-12-29 2021-04-20 博锐尚格科技股份有限公司 建筑系统关系拓扑无向图有向化方法和系统
CN114423061A (zh) * 2022-01-20 2022-04-29 重庆邮电大学 一种基于注意力机制和深度强化学习的无线路由优化方法
CN114697229A (zh) * 2022-03-11 2022-07-01 华中科技大学 一种分布式路由规划模型的构建方法及应用

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106961707A (zh) * 2017-03-06 2017-07-18 哈尔滨工程大学 一种vanet中基于连通性的多因素决策路由协议
CN112686971A (zh) * 2020-12-29 2021-04-20 博锐尚格科技股份有限公司 建筑系统关系拓扑无向图有向化方法和系统
CN112532529A (zh) * 2021-02-09 2021-03-19 深圳市乙辰科技股份有限公司 一种mesh路由拓扑组网方法及系统
CN114423061A (zh) * 2022-01-20 2022-04-29 重庆邮电大学 一种基于注意力机制和深度强化学习的无线路由优化方法
CN114697229A (zh) * 2022-03-11 2022-07-01 华中科技大学 一种分布式路由规划模型的构建方法及应用

Also Published As

Publication number Publication date
CN115842770A (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
US20170005877A1 (en) Data object and networking node locators
JP6195014B2 (ja) 通信システム、通信方法、中継装置、および、通信プログラム
CN107332770B (zh) 一种必经点路由路径选择方法
CN117135108B (zh) 路由路径规划方法、路由请求处理方法、设备及介质
CN112737885B (zh) 一种自治域内自管理的bgp异常检测方法
CN111311005B (zh) 配送路径的规划方法、装置、介质及计算机设备
CN109511123A (zh) 一种基于时间信息的软件定义车辆网络自适应路由方法
CN115842770B (zh) 一种基于深度图神经网络的路由方法及相关设备
CN110826606A (zh) 要素匹配方法、装置、服务器及可读存储介质
CN112511341B (zh) 一种网络自动化故障定位方法、终端及存储介质
CN111291085B (zh) 层次化兴趣匹配方法、装置、计算机设备和存储介质
JP5924598B2 (ja) データ指向型通信システム、ノード、および、データ転送方法
CN108683599B (zh) 一种基于预处理的流通网络最大流确定方法及系统
CN115221244A (zh) 区块链跨链方法、装置、计算机设备和存储介质
JP5949561B2 (ja) 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
CN112822242B (zh) 一种点对点网络及其节点通信方法和装置
CN112187640B (zh) 一种基于l3vpn业务点到点路由的查询方法和装置
Torres et al. Proposing, specifying, and validating a controller-based routing protocol for a clean-slate Named-Data Networking
US8199756B2 (en) Forwarding apparatus, forwarding method, and computer product
CN113315708B (zh) 栅格化网关的实现系统、方法、计算机设备和存储介质
Patan et al. Performance improvement of blockchain-based IoT applications using deep learning techniques
Cherifi et al. An incremental evidential conflict resolution method for data stream fusion in IoT
CN114826999B (zh) 卫星网络数据传输方法及装置
CN111953535B (zh) 一种网络故障定位方法、终端及存储介质
CN115550194B (zh) 基于类最远采样的区块链网络传输方法及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant