CN112333102B - 基于知识图谱的软件定义网络路由选择方法和系统 - Google Patents
基于知识图谱的软件定义网络路由选择方法和系统 Download PDFInfo
- Publication number
- CN112333102B CN112333102B CN202011206565.7A CN202011206565A CN112333102B CN 112333102 B CN112333102 B CN 112333102B CN 202011206565 A CN202011206565 A CN 202011206565A CN 112333102 B CN112333102 B CN 112333102B
- Authority
- CN
- China
- Prior art keywords
- vector
- node
- triples
- network
- routing
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Animal Behavior & Ethology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于知识图谱的软件定义网络路由选择方法和系统,应用于SDN网络的全局控制器;方法包括:基于SDN网络中的节点信息和链路信息,对SDN网络进行实体与关系抽取,建立关于SDN网络的多个关系三元组;基于多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型;目标知识图谱映射模型包括:节点向量,链路向量,报文向量和关系向量;获取路由请求报文,并基于路由请求报文构建路由请求向量;基于路由请求向量和目标知识图谱映射模型,对路由请求报文进行路由关系预测,确定目标路由。本发明缓解了现有技术中基于矩阵建模的SDN路由算法存在着可扩展性差、有效性和准确性低的技术问题。
Description
技术领域
本发明涉及网络通信技术领域,尤其是涉及一种基于知识图谱的软件定义网络路由选择方法和系统。
背景技术
随着网络技术的快速发展,网络智能设备的数量大幅增加,网络上传输的数据量也随之剧增。网络路由问题,即如何将数据包准确无误且快速的传输到指定的设备,是网络亟需解决的关键问题,也是制约网络向更复杂、更大规模、更互联、更智能方向发展的瓶颈。在传统的网络架构中,路由器按照预先配置好的协议进行报文的传递与转发。由于难以实时地监测网络中的流量情况,网络在繁忙时容易发生拥塞,进而影响网络的传输效率。
软件定义网络(Software Defined Network,SDN)架构将网络的控制平面与数据平面分离开来,网络管理者可以通过控制平面监控数据传输情况,动态下发流表配置路由器,实现对网络数据包转发路径的控制,进而实现了路由的灵活调度。SDN架构解决了传统网络存在的僵化问题,已经成为新一代互联网研究的基础。现有SDN路由算法在网络建模方面仍然以基于直接矩阵的建模为主,例如邻接矩阵、协方差矩阵、转移矩阵等。矩阵表示法在小规模网络以及传统算法、启发式算法中较为适用,但在人工智能技术快速发展的今天,基于矩阵的建模已经不能很好地刻画网络状态。现有技术中基于矩阵建模的SDN路由算法存在着可扩展性差、有效性和准确性低的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于知识图谱的软件定义网络路由选择方法和系统,以缓解现有技术中基于矩阵建模的SDN路由算法存在着可扩展性差、有效性和准确性低的技术问题。
第一方面,本发明实施例提供了一种基于知识图谱的软件定义网络路由选择方法,应用于SDN网络的全局控制器;所述方法包括:基于SDN网络中的节点信息和链路信息,对所述SDN网络进行实体与关系抽取,建立关于所述SDN网络的多个关系三元组;其中,每个关系三元组包括:头实体,尾实体和实体间关系;基于所述多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型;所述目标知识图谱映射模型包括:节点向量,链路向量,报文向量和关系向量;获取路由请求报文,并基于所述路由请求报文构建路由请求向量;基于所述路由请求向量和所述目标知识图谱映射模型,对所述路由请求报文进行路由关系预测,确定目标路由。
进一步地,基于所述多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型,包括:随机初始化所述预设知识图谱映射模型中的所有待映射向量,得到初始待映射向量;所述初始待映射向量包括:初始节点向量、初始链路向量、初始报文向量和初始关系向量;基于所述多个关系三元组,生成多个正三元组和多个负三元组;所述正三元组为反映网络真实拓扑关系的三元组,所述负三元组为反映网络虚假拓扑关系的三元组;以所述多个正三元组为正例、以所述多个负三元组为负例训练所述初始待映射向量,得到目标知识图谱映射模型。
进一步地,所述路由请求报文包括:源节点信息和目的节点信息;基于所述路由请求报文构建路由请求向量,包括:基于所述源节点信息和所述目的节点信息,构建用于描述所述路由请求报文的目标三元组;基于所述目标三元组,构建所述路由请求报文在所述目标知识图谱映射模型所在空间下的向量表示,得到路由请求向量。
进一步地,基于所述路由请求向量和所述目标知识图谱映射模型,对所述路由请求报文进行路由关系预测,确定目标路由,包括:确定所述路由请求报文所在当前节点;基于预设节点预测算式确定所述路由请求报文的下一个节点:将所述下一个节点作为所述路由请求报文的当前节点,重复利用所述预设节点预测算式进行路由关系预测,直到确定的下一个节点为所述路由请求向量的目的节点;将所述预设节点预测算式所确定的节点路径确定为所述目标路由;其中,所述预设节点预测算式为: simi为相似度系数,β为权重参数,Dp’为归一化的报文时延要求,Lp’为归一化的报文长度,vi为候选节点,TR为路由器的发送速率,QLvi为节点vi当前的缓存区排队长度,为链路li当前已占用的带宽大小,为链路li的传输时延。
进一步地,在建立关于所述SDN网络的多个关系三元组之前,所述方法还包括:获取所述SDN网络中的节点信息和链路信息。
第二方面,本发明实施例还提供了一种基于知识图谱的软件定义网络路由选择系统,应用于SDN网络的全局控制器;所述系统包括:三元组模块,训练模块,第一获取模块和确定模块,其中,所述三元组模块,用于基于SDN网络中的节点信息和链路信息,对所述SDN网络进行实体与关系抽取,建立关于所述SDN网络的多个关系三元组;其中,每个关系三元组包括:头实体,尾实体和实体间关系;所述训练模块,用于基于所述多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型;所述目标知识图谱映射模型包括:节点向量,链路向量,报文向量和关系向量;所述第一获取模块,用于获取路由请求报文,并基于所述路由请求报文构建路由请求向量;所述确定模块,用于基于所述路由请求向量和所述目标知识图谱映射模型,对所述路由请求报文进行路由关系预测,确定目标路由。
进一步地,所述训练模块还包括:初始化单元,生成单元和训练单元,其中,所述初始化单元,用于随机初始化所述预设知识图谱映射模型中的所有待映射向量,得到初始待映射向量;所述初始待映射向量包括:初始节点向量、初始链路向量、初始报文向量和初始关系向量;所述生成单元,用于基于所述多个关系三元组,生成多个正三元组和多个负三元组;所述正三元组为反映网络真实拓扑关系的三元组,所述负三元组为反映网络虚假拓扑关系的三元组;所述训练单元,用于以所述多个正三元组为正例、以所述多个负三元组为负例训练所述初始待映射向量,得到目标知识图谱映射模型。
进一步地,所述系统还包括:第二获取模块,用于获取所述SDN网络中的节点信息和链路信息。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法的步骤。
第四方面,本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面所述方法。
本发明实施例提供的一种基于知识图谱的软件定义网络路由选择方法和系统,通过将SDN网络中的节点、链路和数据包等实体以及它们之间的复杂关系映射成知识图谱映射模型中的低维向量,然后利用知识图谱关系预测的方法对路由进行预测,缓解了现有技术中基于矩阵建模的SDN路由算法存在着可扩展性差、有效性和准确性低的技术问题。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于知识图谱的软件定义网络路由选择方法的流程图;
图2为本发明实施例提供的一种知识图谱映射模型示意图;
图3为本发明实施例提供的一种两节点的网络局部结构示意图;
图4为本发明实施例提供的一种实体间关系超平面示意图;
图5为本发明实施例提供的一种对预设知识图谱映射模型进行训练的算法流程图;
图6为本发明实施例提供的一种路由关系预测算法的流程图;
图7为本发明实施例提供的一种对模拟网络进行知识图谱映射模型训练过程的目标函数变化示意图;
图8为本发明实施例提供的一种在泊松分布λ=0.5条件下的模拟结果示意图;
图9为本发明实施例提供的一种在泊松分布λ=1.5条件下的模拟结果示意图;
图10为本发明实施例提供的一种不同大小网络下的仿真结果示意图;
图11为本发明实施例提供的一种连接率为25%的仿真结果示意图;
图12为本发明实施例提供的一种平均转发跳数模拟结果示意图;
图13为本发明实施例提供的一种基于知识图谱的软件定义网络路由选择系统的示意图;
图14为本发明实施例提供的一种训练模块的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
图1是根据本发明实施例提供的一种基于知识图谱的软件定义网络路由选择方法的流程图,该方法应用于SDN网络的全局控制器。如图1所示,该方法具体包括如下步骤:
步骤S102,基于SDN网络中的节点信息和链路信息,对SDN网络进行实体与关系抽取,建立关于SDN网络的多个关系三元组;其中,每个关系三元组包括:头实体,尾实体和实体间关系。具体地,头实体和尾实体分别为SDN网络中的不同实体,实体可以是SDN网络中的节点、链路或者报文。
步骤S104,基于多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型;目标知识图谱映射模型包括:节点向量,链路向量,报文向量和关系向量。
步骤S106,获取路由请求报文,并基于路由请求报文构建路由请求向量。
步骤S108,基于路由请求向量和目标知识图谱映射模型,对路由请求报文进行路由关系预测,确定目标路由。
本发明实施例提供的一种基于知识图谱的软件定义网络路由选择方法,通过将SDN网络中的节点、链路和数据包等实体以及它们之间的复杂关系映射成知识图谱映射模型中的低维向量,然后利用知识图谱关系预测的方法对路由进行预测,缓解了现有技术中基于矩阵建模的SDN路由算法存在着可扩展性差、有效性和准确性低的技术问题。
具体地,知识图谱映射模型的主要功能是将SDN网络中的实体(实体包括:节点、链路、报文)及实体之间的多种类型的关系映射为归一化低维向量,如图2所示,包括将SDN网络中的节点(图2中左图的A、B、C)、链路(图2中左图的lAB、lAC、lBC)和报文(图2左图中的Packet)映射为归一化低维向量包括:节点向量(图2右图中的NA、NB、NC)、链路向量(图2右图中的lAB、lAC、lBC)、报文向量(图2右图中的P)和关系向量。上述向量是对原SDN网络的刻画。
可选地,步骤S102中的对SDN网络进行实体与关系抽取过程,包括:通过SDN网络的全局控制器获取网络拓扑信息,包括节点信息和链路信息,然后将拓扑信息用关系三元组的形式表达出来。关系三元组定义为一个三元组(头实体,关系,尾实体)。其中,头实体与尾实体为网络中不同的实体,关系为网络中一种特定的关系。例如,对于某个网络,如果节点A与链路lAB直接相连,那么就可以抽取出一个三元组(节点A实体,直接相连,链路lAB实体)。这些关系三元组反映了网络中可能存在的关系。
由于网络中的关系类型是相对固定的,因此本发明实施例中预先定义了网络中存在的关系,如表1所示,表1为三元组中各个元素可能的类型。需要说明的是,三元组中元素的顺序是严格固定的,这样在后续训练的过程中,网络才能充分学习到实体与实体间的关系特征。
表1
为了更好地反映网络中的拓扑信息,本发明实施例定义了两种类型的相连关系,分别是直接相连和节点相连。直接相连刻画的是节点及其周围链路的关系,反映在知识图谱中,类似于社交网络中的一阶相似度(First order proximity);节点相连刻画的是节点及其周围节点的关系,反映在知识图谱中,类似于社交网络中的二阶相似度(Second orderproximity)。
例如,对于如图3所示的两节点的网络局部结构示意图,可以抽取出以下几个三元组:(NA,直接相连,lAB)、(NB,直接相连,lAB)、(NA,节点相连,NB)、(NB,节点相连,NA)、(NA,源节点,P1)、(NB,目的节点,P1)、(lAB,途径链路,P1)。以上三元组中,NA、NB、lAB、P1均为实体,分别对应网络中的节点A、B,链路AB和数据包Packet 1。
可选地,步骤S104包括如下步骤:
步骤S1041,随机初始化预设知识图谱映射模型中的所有待映射向量,得到初始待映射向量;初始待映射向量包括:初始节点向量、初始链路向量、初始报文向量和初始关系向量。
步骤S1042,基于多个关系三元组,生成多个正三元组和多个负三元组;正三元组为反映网络真实拓扑关系的三元组,负三元组为反映网络虚假拓扑关系的三元组。
步骤S1043,以多个正三元组为正例、以多个负三元组为负例训练初始待映射向量,得到目标知识图谱映射模型。
具体地,将实体间关系r∈R建模为一个超平面wr(用法向量表示)和一个在该超平面上的向量dr。如果在一个SDN网络中,头实体h的关系向量h和尾实体t的关系向量t满足关系r,即(h,r,t)是一个正三元组,那么h在超平面wr上的投影h⊥与t在超平面上wr的投影t⊥满足h⊥+dr=t⊥,如图4所示。
需要说明的是,图4为了可视化方便而设置了向量的维度是3维的,但实际上向量的维度一般会在10以上,取决于具体的网络拓扑复杂度,具体维度本发明实施例不做具体限定。
根据向量投影的定义:
这样,对于正三元组(h,r,t)∈Δ(△表示正三元组的集合)而言,有:
相反,对于负三元组(h′,r′,t′)∈Δ′(△’表示负三元组的集合),有:
因此,可以定义一个三元组的得分函数为:
显然,根据以上分析,得分函数越低,代表三元组越有可能属于正三元组,即更倾向于反映网络的真实关系;反之,得分函数越高,代表三元组越有可能属于负三元组,反映网络中不存在这样的关系。
为了使知识图谱映射模型中的关系向量能够对正三元组和负三元组进行有效地区分,需要输入正三元组作为正例、负三元组作为负例来训练知识图谱映射模型。然而,对于一个计算机网络而言,正三元组的数量比负三元组的数量要少得多。尤其是节点较多的大型网络中,往往是分级式的网络结构,一个节点只会与少数节点直接相连。如果直接使用所有三元组用于训练输入模型,数据集就是一个偏置的数据集,不利于模型学习到这些少量的真实关系。因此在本发明实施例中,利用每一个正三元组来生成少量对应的负三元组,以控制正负三元组的数量在同一个数量级范围内。定义负三元组与正三元组数量的比值为实数η。生成负三元组时,为了让模型学习到关系的正确与否,本发明实施例对正三元组的头实体或尾实体二者之一进行替换,而关系保持不变。也就是说,对于正三元组(h,r,t),生成的负三元组为(h′,r,t)且或(h,r,t′)且在本发明实施例中,统称负三元组为(h′,r,t′)(但这不代表头尾实体被同时替换了)。
可选地,本发明实施例提供的知识图谱映射模型中使用了合页损失函数,如下式所示:
其中γ是松弛变量。系统目标和约束如下所示:
其中,上述第二式约束dr在超平面wr内,从而能够满足所述的投影关系。为此,进一步引入权重超参数C,将以上第二式约束并入模型损失函数中,则原问题的目标函数转化为:
可选地,本发明实施例采用了小批量梯度下降(MBGD)算法对上述最小值进行优化。小批量梯度下降结合了传统的批量梯度下降法与随机梯度下降法,既保留了前者较快的收敛效率,也保留了后者较高的计算效率,适合作为本发明实施例中的训练算法。在每一次迭代中,按照上述式子的梯度来更新所有向量。具体的,更新式如下:
其中,▽为Nabla算子。将三元组得分函数f代入后,我们可以通过计算梯度来更新向量。梯度计算的结果如下列算式所示,其中L代表上述损失函数,I是k维单位矩阵:
可选地,图5是根据本发明实施例提供的一种对预设知识图谱映射模型进行训练的算法流程图。
可选地,路由请求报文包括:源节点信息和目的节点信息;基于路由请求报文构建路由请求向量,包括:
基于源节点信息和目的节点信息,构建用于描述路由请求报文的目标三元组;基于目标三元组,构建路由请求报文在目标知识图谱映射模型所在空间下的向量表示,得到路由请求向量。
具体地,路由请求向量的构建过程是根据新到达数据包的信息,将其构建为适用于本知识图谱的数据包实体向量。
对于一个需要进行路由决策的数据包(即路由请求报文)pnew而言,其包含的已知信息有a)关系类,包括源节点vs、目的节点vd;b)属性类,包括报文长度、最高时延。那么,三元组(vs,源节点,pnew)和(vd,目的节点,pnew)是正三元组,对应的关系向量应当满足下列两式:
其中ws、ds表示关系“源节点”的超平面法向量和关系向量,wd、dd表示关系“目的节点”的超平面法向量和关系向量。应当注意到的是,上面的方程组在空间Rk内不一定有解。证明如下:
将上面两式组合起来可以得到下式:
这是一个关于的非齐次线性方程组。可证明其系数矩阵的秩是2,因为的极大线性无关组中只有两个线性无关的向量ws和wd,但在维度k≥3的情况下,其增广矩阵的秩有可能是3。根据非齐次线性方程组的性质,当系数矩阵的秩小于增广矩阵的秩时,方程组在实数范围内无解。
可选地,步骤S108还包括如下步骤:
步骤S1081,确定路由请求报文所在当前节点。
步骤S1082,基于预设节点预测算式确定路由请求报文的下一个节点。
步骤S1083,将下一个节点作为路由请求报文的当前节点,重复利用预设节点预测算式进行路由关系预测,直到确定的下一个节点为路由请求向量的目的节点。
步骤S1084,将预设节点预测算式所确定的节点路径确定为目标路由。
具体地,本发明实施例提供的路由关系预测算法为数据包依次选择下一跳节点直至到达目的节点。由于SDN网络中的每条链路是连接两个固定节点的,因此下一跳节点与下一跳链路是等价的。换而言之,如果数据包已经到达了某个节点,那么在选择下一跳节点时,周围直连的链路与这些链路对应的节点以及它们的属性都应当被作为决策的参考信息。
假设数据包在节点vk处等待转发,模型目标是计算其下一跳节点与链路组合(vk+1,lk+1)。为了使网络能长期稳定地为尽可能多的数据包提供QoS保障的服务,根据数据包的要求,应该在满足带宽要求的前提下,尽量选择可用资源多、时延较短的链路,以及对应的缓存队列较短的下一节点。
可选地,预设节点预测算式为:
其中,simi为相似度系数,β为权重参数,Dp’为归一化的报文时延要求,Lp’为归一化的报文长度,vi为候选节点,TR为路由器的发送速率,QLvi为节点vi当前的缓存区排队长度,为链路li当前已占用的带宽大小,为链路li的传输时延。
simi由下式计算得到:
wn、dn表示关系“途径节点”的超平面法向量和关系向量,wl、dl表示关系“途径链路”的超平面法向量和关系向量。simi衡量的是候选节点(即第i个节点)的报文pnew与其他历史报文在选择下一跳路由(vk+1,lk+1)上的相似度,simi越小,代表它们越相似。
需要说明的是,预设节点预测算式的提出是基于以下几点考虑:
①对于时延要求较高的报文,应该尽量分配低时延的路由;对于报文大小较大的报文,应该尽量分配可用资源多的路由。
②参考与当前数据包相似的数据包的历史路由。
可选地,图6是根据本发明实施例提供的一种路由关系预测算法的流程图。
可选地,本发明实施例提供的方法,在步骤S102之前还包括:获取SDN网络中的节点信息和链路信息。
本发明实施例提供了一种基于知识图谱的软件定义网络路由选择方法,通过将计算机网络中的节点、链路、数据包等实体以及它们之间的复杂关系映射成低维向量,将原本网络的用图(Graph)表示的非欧式数据结构转化为了用向量表示的欧式数据结构。这种方法可以有效学习到网络中实体之间的关系,同时还更有可能学习到网络中包括路径、相似度等不能直接体现出来的非直观信息。本发明解决了传统的基于矩阵的网络表示方法中存在的可扩展性、有效性和准确性方面的缺点。本发明实施例提供的方法具有如下技术效果:
(1)在可扩展性方面,随着网络规模的增大,基于矩阵的网络建模会以O(n2)的复杂度递增。而利用知识图谱映射方式建模的网络,由于向量的维度是固定的,模型会以O(n)的复杂度递增。在可扩展性方面要优于传统的矩阵表示法。
(2)在有效性方面,本发明通过将网络实体与关系映射为低维连续向量,一方面避免了矩阵表示法中存在的大量“0”元素的问题,另一方面还将实体间的关系以向量的形式表示了出来,更加有效地表达了网络拓扑。
(3)在准确性方面,本发明通过关系抽取,将网络首先转化成多个三元组的形式,然后再将实体和关系映射为低维向量。这种方法避免了矩阵表示法中存在的节点索引指代不明的问题,相对而言能更加准确地表示网络。
实施例二:
为进一步验证上述实施例一提供的方法的技术效果,本发明实施例使用Python随机生成了包含若干节点和链路的网络,并比较了本发明实施例与传统的最短路径算法之间的关系。
具体的,随机生成了一个包含50个节点的网络,每一对节点之间有链路直接相连的概率是50%。对每个节点而言,其转发时延随机均匀分布于5s-20s之间,队列长度随机均匀分布于500-1000之间。对每条链路而言,其传输时延随机均匀分布于10s-40s之间,带宽随机均匀分布于500-1000之间。对数据包而言,其最大时延需求满足100s-1000s的均匀分布,数据包的大小满足20-100的均匀分布。
首先,随机生成了1000个数据包,用于模拟网络在运行前的一段时间内已经处理的数据包,这些数据包的关系信息包括随机生成的源节点、目的节点和使用Floyd算法计算得到的最短路径。然后,对这个网络进行实体与关系抽取操作,可得1664个实体与6694个正三元组。图7是根据本发明实施例提供的一种对模拟网络进行知识图谱映射模型训练过程的目标函数变化示意图,取维度k=50。
如图7所示,可以发现随着迭代次数增加,损失函数先是逐渐降低,然后在某个值左右波动,这个特征符合MBGD的结果,也说明了模型训练过程确实是收敛的。此外,通过采用不同的学习率,可以看到学习率越大,损失函数的下降越快,模型学习所需迭代次数越少;当学习率超过某个值后,损失函数会收敛到一个更大的值,这说明发生了过拟合。因此,学习率不宜过大,也不宜过小,需要针对不同的网络模型有针对性的选择,选择的方法可以参考图7,选取不同的学习率并设置较大的迭代次数,查看损失函数的变化结果。优选地,在本发明实施例中,选择学习率为0.01,迭代次数为500。
为了评估模型效果,本发明实施例继续进行路由决策算法,并通过网络在SDN路由这一实际问题中的表现说明本发明的技术效果。具体的,将知识图谱算法的表现与经典最短路径算法中的Dijkstra算法和Floyd算法进行比较,比较的指标包括丢包率、吞吐量和总时延。此外,本发明实施例中,设定数据包按照泊松分布随机到达系统,系统一次只能处理一个数据包的路由计算任务。
图8是本发明实施例提供的一种在泊松分布λ=0.5条件下的模拟结果示意图,图8意味着较小的数据包到达速率;图9是本发明实施例提供的一种在泊松分布λ=1.5条件下的模拟结果示意图,图9意味着较大的数据包到达速率。可以发现,本发明提出的算法在多个指标下都平均优于传统最短路径算法,而且针对报文较多的情况,其与传统算法的差距更大。说明本发明在网络表示的有效性和准确性方面是有提升的。
此外,为了验证本发明对于大规模网络的适用性和可扩展性,本发明实施例还针对不同大小的网络进行了仿真实验,节点数分别为30、50和70个。实验结果如图10所示,图10为本发明实施例提供的一种不同大小网络下的仿真结果示意图。
如图10所示,首先在于前述实验条件相同的情况下比较了网络节点数不同时,网络数据包通过本发明计算的路由进行转发的平均时延。可以看到,随着仿真实验进行,网络平均时延逐渐收敛到36-38附近,说明此时网络状况趋于稳定。其中,随着节点数的增加,可以看到报文的平均时延是有所增加的——这是显而易见的,由于网络规模的增大会导致节点之间的平均距离增加。但是时延的增加很少,说明本发明在大规模网络下的表现是更佳的。
考虑到实际生活生产环境中,大规模网络更多的是一种分级的架构,即若干用户首先会接入临近的边缘网络中心,若干边缘网络中心又受到更高级的网络转发系统管理。在这种架构中,网络中的节点的平均连接率一般达不到50%。为此,本发明实施例将连接率调整为25%,重新生成了若干网络,并验证本发明在这些连接情况较稀疏的网络中的表现。图11是根据本发明实施例提供的一种连接率为25%的仿真结果示意图。
从图11中可以看到,与图10中的50%连接率的情况相比,数据包传输的平均时延大幅增加了,在48-54之间。这是由于网络中的链路变少,数据包传输需要经过更多的中继节点。本发明实施例对部分数据包的路由进行分析也验证了这一点——部分数据包需要经过6、7个节点的转发才能到达目的节点。可以发现,当网络情况较差时,本发明对大规模网络中数据包路由的计算结果反而优于小规模网络的。为了排除实验的偶然性,本发明实施例在相同条件下进行了多次实验,其结果与之类似。为了更好地分析造成这一结果的原因,本发明实施例对所有报文路由的平均转发跳数(即经过的中继节点数)进行了分析,结果如图12所示。图12为本发明实施例提供的一种平均转发跳数模拟结果示意图。
如图12所示,可以发现,在网络节点数较多的情况下,本发明计算的路由方案中经过的中继节点数更少。而这也可以解释上一幅图中的结果。这是由于知识图谱对网络实体、关系信息的刻画非常依赖网络中抽取得到三元组的数量。当网络连接率不高,节点数又不够多的情况下,抽取得到的反映网络拓扑的关系数量大大减少,而这不利于对知识图谱映射模型的训练。因此,也就导致了映射得到的模型不能很好的反映网络特征。反之,当网络规模增大时,模型可以学习的网络关系数量增加,对网络信息的抽取和刻画更明确,其路由结果也会越理想。
实施例三:
图13是根据本发明实施例提供的一种基于知识图谱的软件定义网络路由选择系统的示意图,该系统应用于SDN网络的全局控制器。如图13所示,该系统包括:三元组模块10,训练模块20,第一获取模块30和确定模块40。
具体地,三元组模块10,用于基于SDN网络中的节点信息和链路信息,对SDN网络进行实体与关系抽取,建立关于SDN网络的多个关系三元组;其中,每个关系三元组包括:头实体,尾实体和实体间关系。
训练模块20,用于基于多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型;目标知识图谱映射模型包括:节点向量,链路向量,报文向量和关系向量。
第一获取模块30,用于获取路由请求报文,并基于路由请求报文构建路由请求向量。
确定模块40,用于基于路由请求向量和目标知识图谱映射模型,对路由请求报文进行路由关系预测,确定目标路由。
本发明实施例提供的一种基于知识图谱的软件定义网络路由选择系统,通过将SDN网络中的节点、链路和数据包等实体以及它们之间的复杂关系映射成知识图谱映射模型中的低维向量,然后利用知识图谱关系预测的方法对路由进行预测,缓解了现有技术中基于矩阵建模的SDN路由算法存在着可扩展性差、有效性和准确性低的技术问题。
可选地,如图13所示,该系统还包括:第二获取模块50,用于获取SDN网络中的节点信息和链路信息。
可选地,图14是根据本发明实施例提供的一种训练模块的示意图,如图14所示,训练模块20还包括:初始化单元21,生成单元22和训练单元23。
具体地,初始化单元21,用于随机初始化预设知识图谱映射模型中的所有待映射向量,得到初始待映射向量;初始待映射向量包括:初始节点向量、初始链路向量、初始报文向量和初始关系向量。
生成单元22,用于基于多个关系三元组,生成多个正三元组和多个负三元组;正三元组为反映网络真实拓扑关系的三元组,负三元组为反映网络虚假拓扑关系的三元组。
训练单元23,用于以多个正三元组为正例、以多个负三元组为负例训练初始待映射向量,得到目标知识图谱映射模型。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例一中的方法的步骤。
本发明实施例还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述实施例一中的方法。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (9)
1.一种基于知识图谱的软件定义网络路由选择方法,其特征在于,应用于SDN网络的全局控制器;所述方法包括:
基于SDN网络中的节点信息和链路信息,对所述SDN网络进行实体与关系抽取,建立关于所述SDN网络的多个关系三元组;其中,每个关系三元组包括:头实体,尾实体和实体间关系;
基于所述多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型;所述目标知识图谱映射模型包括:节点向量,链路向量,报文向量和关系向量;
获取路由请求报文,并基于所述路由请求报文构建路由请求向量;
基于所述路由请求向量和所述目标知识图谱映射模型,对所述路由请求报文进行路由关系预测,确定目标路由;
其中,基于所述路由请求向量和所述目标知识图谱映射模型,对所述路由请求报文进行路由关系预测,确定目标路由,包括:
确定所述路由请求报文所在当前节点;
基于预设节点预测算式确定所述路由请求报文的下一个节点:
将所述下一个节点作为所述路由请求报文的当前节点,重复利用所述预设节点预测算式进行路由关系预测,直到确定的下一个节点为所述路由请求向量的目的节点;
将所述预设节点预测算式所确定的节点路径确定为所述目标路由;
其中,所述预设节点预测算式为:
2.根据权利要求1所述的方法,其特征在于,基于所述多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型,包括:
随机初始化所述预设知识图谱映射模型中的所有待映射向量,得到初始待映射向量;所述初始待映射向量包括:初始节点向量、初始链路向量、初始报文向量和初始关系向量;
基于所述多个关系三元组,生成多个正三元组和多个负三元组;所述正三元组为反映网络真实拓扑关系的三元组,所述负三元组为反映网络虚假拓扑关系的三元组;
以所述多个正三元组为正例、以所述多个负三元组为负例训练所述初始待映射向量,得到目标知识图谱映射模型。
3.根据权利要求1所述的方法,其特征在于,所述路由请求报文包括:源节点信息和目的节点信息;基于所述路由请求报文构建路由请求向量,包括:
基于所述源节点信息和所述目的节点信息,构建用于描述所述路由请求报文的目标三元组;
基于所述目标三元组,构建所述路由请求报文在所述目标知识图谱映射模型所在空间下的向量表示,得到路由请求向量。
4.根据权利要求1所述的方法,其特征在于,在建立关于所述SDN网络的多个关系三元组之前,所述方法还包括:获取所述SDN网络中的节点信息和链路信息。
5.一种基于知识图谱的软件定义网络路由选择系统,其特征在于,应用于SDN网络的全局控制器;所述系统包括:三元组模块,训练模块,第一获取模块和确定模块,其中,
所述三元组模块,用于基于SDN网络中的节点信息和链路信息,对所述SDN网络进行实体与关系抽取,建立关于所述SDN网络的多个关系三元组;其中,每个关系三元组包括:头实体,尾实体和实体间关系;
所述训练模块,用于基于所述多个关系三元组对预设知识图谱映射模型进行训练,得到目标知识图谱映射模型;所述目标知识图谱映射模型包括:节点向量,链路向量,报文向量和关系向量;
所述第一获取模块,用于获取路由请求报文,并基于所述路由请求报文构建路由请求向量;
所述确定模块,用于基于所述路由请求向量和所述目标知识图谱映射模型,对所述路由请求报文进行路由关系预测,确定目标路由;
所述系统还用于:
确定所述路由请求报文所在当前节点;
基于预设节点预测算式确定所述路由请求报文的下一个节点:
将所述下一个节点作为所述路由请求报文的当前节点,重复利用所述预设节点预测算式进行路由关系预测,直到确定的下一个节点为所述路由请求向量的目的节点;
将所述预设节点预测算式所确定的节点路径确定为所述目标路由;
其中,所述预设节点预测算式为:
6.根据权利要求5所述的系统,其特征在于,所述训练模块还包括:初始化单元,生成单元和训练单元,其中,
所述初始化单元,用于随机初始化所述预设知识图谱映射模型中的所有待映射向量,得到初始待映射向量;所述初始待映射向量包括:初始节点向量、初始链路向量、初始报文向量和初始关系向量;
所述生成单元,用于基于所述多个关系三元组,生成多个正三元组和多个负三元组;所述正三元组为反映网络真实拓扑关系的三元组,所述负三元组为反映网络虚假拓扑关系的三元组;
所述训练单元,用于以所述多个正三元组为正例、以所述多个负三元组为负例训练所述初始待映射向量,得到目标知识图谱映射模型。
7.根据权利要求5所述的系统,其特征在于,所述系统还包括:第二获取模块,用于获取所述SDN网络中的节点信息和链路信息。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至4任一项所述的方法的步骤。
9.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1-4任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011206565.7A CN112333102B (zh) | 2020-11-02 | 2020-11-02 | 基于知识图谱的软件定义网络路由选择方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011206565.7A CN112333102B (zh) | 2020-11-02 | 2020-11-02 | 基于知识图谱的软件定义网络路由选择方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112333102A CN112333102A (zh) | 2021-02-05 |
CN112333102B true CN112333102B (zh) | 2021-09-14 |
Family
ID=74323043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011206565.7A Active CN112333102B (zh) | 2020-11-02 | 2020-11-02 | 基于知识图谱的软件定义网络路由选择方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112333102B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113518035B (zh) * | 2021-05-26 | 2023-01-31 | 香港中文大学(深圳) | 路由确定方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664652A (zh) * | 2018-01-24 | 2018-10-16 | 北京理工大学 | 一种复杂网络下基于路径选择的表示学习方法 |
CN109992670A (zh) * | 2019-04-04 | 2019-07-09 | 西安交通大学 | 一种基于知识图谱邻域结构的图谱完备化方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170337481A1 (en) * | 2016-05-17 | 2017-11-23 | Xerox Corporation | Complex embeddings for simple link prediction |
JP7402642B2 (ja) * | 2018-09-10 | 2023-12-21 | タタ コンサルタンシー サービシズ リミテッド | 認知的検知・分析・判定・応答フレームワークによりインテリジェントなネットワークサービスを可能にするシステムおよび方法 |
CN110851662B (zh) * | 2019-11-05 | 2023-08-11 | 中国人民解放军国防科技大学 | 基于元路径的异质信息网络链路预测方法 |
CN111581376B (zh) * | 2020-04-17 | 2024-04-19 | 中国船舶重工集团公司第七一四研究所 | 一种知识图谱自动构建系统及方法 |
-
2020
- 2020-11-02 CN CN202011206565.7A patent/CN112333102B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664652A (zh) * | 2018-01-24 | 2018-10-16 | 北京理工大学 | 一种复杂网络下基于路径选择的表示学习方法 |
CN109992670A (zh) * | 2019-04-04 | 2019-07-09 | 西安交通大学 | 一种基于知识图谱邻域结构的图谱完备化方法 |
Non-Patent Citations (1)
Title |
---|
异构YANG模型驱动的网络领域知识图谱构建;董永强等;《计算机研究与发展》;20200413;第57卷(第04期);第699-708页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112333102A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109818865B (zh) | 一种sdn增强路径装箱装置及方法 | |
Rusek et al. | Unveiling the potential of graph neural networks for network modeling and optimization in SDN | |
CN105515987B (zh) | 一种基于sdn架构面向虚拟光网络的映射方法 | |
CN108076158B (zh) | 基于朴素贝叶斯分类器的最小负载路由选择方法及系统 | |
CN112333102B (zh) | 基于知识图谱的软件定义网络路由选择方法和系统 | |
CN117639244A (zh) | 一种多域异构配电通信网络集中控制系统 | |
CN113472671A (zh) | 组播路由的确定方法、装置和计算机可读存储介质 | |
Nguyen et al. | Efficient virtual network embedding with node ranking and intelligent link mapping | |
WO2017133587A1 (zh) | 用于通信网络中的流量工程的方法和控制器 | |
CN114051272A (zh) | 动态拓扑网络智能路由方法 | |
Duran et al. | Digital twin enriched green topology discovery for next generation core networks | |
Ikeda et al. | Performance evaluation of an intelligent CAC and routing framework for multimedia applications in broadband networks | |
CN116938810A (zh) | 一种基于图神经网络的深度强化学习sdn智能路由优化方法 | |
Meng et al. | Intelligent routing orchestration for ultra-low latency transport networks | |
Gao et al. | Prophet: Fast accurate model-based throughput prediction for reactive flow in DC networks | |
Chen et al. | Traffic engineering based on deep reinforcement learning in hybrid IP/SR network | |
CN116155805A (zh) | 分布式智能路由方法、系统、电子设备和存储介质 | |
CN114205300B (zh) | 一种能够在流量信息不完整情况下保证coflow传输截止期限的流量调度方法 | |
CN115695280A (zh) | 基于边缘节点的路由方法及装置、电子设备、存储介质 | |
Gosh et al. | So-kdn: A self-organised knowledge defined networks architecture for reliable routing | |
CN113177636A (zh) | 一种基于多约束条件的网络动态路由方法及系统 | |
Li et al. | QoS routing algorithm based on entropy granularity in the network transmission | |
CN112134807A (zh) | 基于纳什议价的sdn负载均衡方法、系统、设备及存储介质 | |
Chen et al. | Hiertopo: Towards high-performance and efficient topology optimization for dynamic networks | |
Xiaoxia et al. | A hybrid ant colony optimization based on cloud model for OoS multicast routing problem |
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 |