CN110912822B - 路径寻找方法、控制器、电子设备及可读存储介质 - Google Patents
路径寻找方法、控制器、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN110912822B CN110912822B CN201911332914.7A CN201911332914A CN110912822B CN 110912822 B CN110912822 B CN 110912822B CN 201911332914 A CN201911332914 A CN 201911332914A CN 110912822 B CN110912822 B CN 110912822B
- Authority
- CN
- China
- Prior art keywords
- node
- target
- path
- network topology
- shortest path
- 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/12—Shortest path evaluation
-
- 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
-
- 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/12—Shortest path evaluation
- H04L45/128—Shortest path evaluation for finding disjoint paths
- H04L45/1287—Shortest path evaluation for finding disjoint paths with disjoint nodes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种路径寻找方法、控制器、电子设备及可读存储介质。方法包括:基于网络系统的网络拓扑,判断必经节点是否在网络拓扑的单臂分支上;当必经节点位于单臂分支时,复制单臂分支上的多个目标节点及多个目标节点的链路,得到与每个目标节点对应的复制节点,多个目标节点包括必经节点至单臂分支的根节点的链路上的所有节点;建立必经节点的复制节点与必经节点之间的连线,以及建立根节点的复制节点与根节点的目标相邻节点的连线,得到新的网络拓扑;根据新的网络拓扑确定源节点经过必经节点至目的节点的目标路径,在计算必经节点在单臂分支上的最短路径的过程中,有利于降低运算量、提高运算效率。
Description
技术领域
本发明涉及基于计算机的路径寻找技术领域,具体而言,涉及一种路径寻找方法、控制器、电子设备及可读存储介质。
背景技术
软件定义网络(Software Defined Network,SDN)为网络虚拟化的一种实现方式。在基于SDN的网络系统中,通常涉及到业务的下发,而在业务下发过程中,需要在网络系统中选择一条优质的路径以传输该业务。在实际应用过程中,用户存在需要业务部署或发送到指定网络节点的需求,比如数据备份、业务交互等。指定网络节点即为业务传输过程中的必经节点。目前,当必经节点在网络系统的拓扑链路的单臂分支上时,通常采用分段计算的方式来寻找业务传输的路径。分段计算的方式通常为:计算必经节点与源节点之前的最短路径,以及计算必经节点与目的节点之间的最短路径,然后组合所计算的最短路径,使得该方式的运算量大、效率低。
发明内容
本申请提供一种路径寻找方法、控制器、电子设备及可读存储介质,能够改善必经节点在单臂分支上时寻找最短路径的运算量大、效率低的问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种路径寻找方法,应用于包括必经节点的网络系统,所述方法包括:
基于网络系统的原始网络拓扑,判断必经节点是否在所述原始网络拓扑的单臂分支上;当所述必经节点位于所述单臂分支时,复制所述单臂分支上的多个目标节点及所述多个目标节点的链路,得到与每个目标节点对应的复制节点,所述多个目标节点包括所述必经节点至所述单臂分支的根节点的链路上的所有节点;建立所述必经节点的复制节点与所述必经节点之间的连线,以及建立所述根节点的复制节点与所述根节点的目标相邻节点的连线,得到新的网络拓扑;根据所述新的网络拓扑确定源节点经过所述必经节点至目的节点的目标路径。
在上述的实施方式中,通过复制单臂分支上的链路及节点,然后建立必经节点的复制节点与必经节点之间的链路,以及建立根节点的复制节点与根节点的目标相邻节点的链路,得到新的网络拓扑,可以使得必经节点不再位于单臂分支上,从而无需分段计算最短路径,以减少运算量、提高运算效率。
结合第一方面,在一些可选的实施方式中,根据所述新的网络拓扑确定源节点经过所述必经节点至目的节点的目标路径,包括:
根据最短路径算法,从所述新的网络拓扑确定所述源节点经过所述必经节点至所述目的节点的最短路径;将所述最短路径中的复制节点替换为与所述复制节点对应的目标节点,以得到所述目标路径。
在上述的实施方式中,在模拟或仿真得到的新的网络拓扑中,必经节点已经未在单臂分支上,此时,便可以通过最短路径算法直接得到经过必经节点的最短路径,而无需采用分段计算方式,从而有利于提高运算效率,降低运算的复杂度。
结合第一方面,在一些可选的实施方式中,基于所述网络系统的原始网络拓扑,判断所述必经节点是否在所述原始网络拓扑的单臂分支上,包括:
通过最短路径算法,计算所述必经节点至所述源节点的第一类最短路径,以及计算所述必经节点至所述目的节点的第二类最短路径;判断所述第一类最短路径是否存在与所述第二类最短路径中除去所述必经节点之外的相同节点,其中,当存在所述相同节点时,确定所述必经节点位于所述单臂分支上。
在上述的实施方式中,当必经节点在单臂分支上时,必经节点到源节点的最短路径与必经节点到目的节点之间的最短路径存在重合的节点或重合的链路,基于此,便能确定出必经节点是否在网络拓扑结构的单臂分支上。
结合第一方面,在一些可选的实施方式中,基于所述网络系统的原始网络拓扑,判断所述必经节点是否在所述原始网络拓扑的单臂分支上,包括:
通过最短路径算法,计算所述必经节点至所述目的节点的第二类最短路径;判断所述第二类最短路径的链路中是否存在所述链路的传输方向为指定方向的链路,其中,所述指定方向与所述源节点至所述必经节点的最短路径的传输方向相反,且当所述第二类最短路径的链路中存在所述链路的传输方向为所述指定方向的链路时,确定所述必经节点位于所述单臂分支上。
在上述的实施方式中,在计算出必经节点至目的节点的最短路径后,基于单臂分支链路自带的传输方向,便能根据最短路径中的每个链路的传输方向,确定最短路径中出是否存在单臂分支的链路,从而有利于快速确定出必经节点是否在单臂分支上。
结合第一方面,在一些可选的实施方式中,在建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述方法还包括:
将位于所述第二类最短路径中且与所述根节点相邻的节点确定为所述目标相邻节点。
在上述的实施方式中,通过将位于第二类最短路径中且与根节点相邻的节点确定为目标相邻节点,有利于减少确定目标相邻节点的计算量。
结合第一方面,在一些可选的实施方式中,在建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述方法还包括:
将与所述根节点相邻的所有节点确定为所述目标相邻节点。
在上述的实施方式中,可以将与根节点相邻的所以节点作为目标相邻节点,可以无需基于第二类最短路径来确定目标相邻根节点。
结合第一方面,在一些可选的实施方式中,所述方法还包括:
将所述目标路径发送至所述源节点,以使源节点通过所述目标路径建立与所述目标节点的通信连接。
在上述的实施方式中,通过目标路径来建立源节点与目的节点之间的通信连接,有利于降低在传输过程中消耗的节点资源,缩短数据传输所需的时间。
第二方面,本申请实施例还提供一种路径寻找控制器,应用于包括必经节点的网络系统,所述控制器包括:
判断单元,用于基于所述网络系统的原始网络拓扑,判断所述必经节点是否在所述原始网络拓扑的单臂分支上;
复制单元,用于当所述必经节点位于所述单臂分支时,复制所述单臂分支上的多个目标节点及所述多个目标节点的链路,得到与每个目标节点对应的复制节点,所述多个目标节点包括所述必经节点至所述单臂分支的根节点的链路上的所有节点;
链路建立单元,用于建立所述必经节点的复制节点与所述必经节点之间的连线,以及建立所述根节点的复制节点与所述根节点的目标相邻节点的连线,得到新的网络拓扑;
路径确定单元,用于根据所述新的网络拓扑确定源节点经过所述必经节点至目的节点的目标路径。
结合第二方面,在一些可选的实施方式中,所述路径确定单元还用于:
根据最短路径算法,从所述新的网络拓扑确定所述源节点经过所述必经节点至所述目的节点的最短路径;
将所述最短路径中的复制节点替换为与所述复制节点对应的目标节点,以得到所述目标路径。
结合第二方面,在一些可选的实施方式中,所述判断单元还用于:
通过最短路径算法,计算所述必经节点至所述源节点的第一类最短路径,以及计算所述必经节点至所述目的节点的第二类最短路径;
判断所述第一类最短路径是否存在与所述第二类最短路径中除去所述必经节点之外的相同节点,其中,当存在所述相同节点时,确定所述必经节点位于所述单臂分支上。
结合第二方面,在一些可选的实施方式中,所述判断单元还用于:
通过最短路径算法,计算所述必经节点至所述目的节点的第二类最短路径;
判断所述第二类最短路径的链路中是否存在所述链路的传输方向为指定方向的链路,其中,所述指定方向与所述源节点至所述必经节点的最短路径的传输方向相反,且当所述第二类最短路径的链路中存在所述链路的传输方向为所述指定方向的链路时,确定所述必经节点位于所述单臂分支上。
结合第二方面,在一些可选的实施方式中,所述控制器还包括节点确定单元,在所述链路建立单元建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述节点确定单元用于:
将位于所述第二类最短路径中且与所述根节点相邻的节点确定为所述目标相邻节点。
结合第二方面,在一些可选的实施方式中,所述控制器还包括节点确定单元,在所述链路建立单元建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述节点确定单元用于:
将与所述根节点相邻的所有节点确定为所述目标相邻节点。
结合第二方面,在一些可选的实施方式中,所述控制器还包括发送单元,用于将所述目标路径发送至所述源节点,以使源节点通过所述目标路径建立与所述目标节点的通信连接。
第三方面,本申请实施例还提供一种电子设备,所述电子设备包括相互耦合的存储器、处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行上述的方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网络系统的原始网络拓扑示意图。
图2为本申请实施例提供的路径寻找方法的流程示意图。
图3为本申请实施例提供的网络系统的新的网络拓扑示意图之一。
图4为本申请实施例提供的网络系统的新的网络拓扑示意图之二。
图5为本申请实施例提供的控制器的功能框图。
图标:10-网络系统;100-控制器;110-判断单元;120-复制单元;130-链路建立单元;140-路径确定单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
申请人发现,在包括多个节点的网络系统中,在计算最短路径时,若必经节点处于单臂分支上,最短路径算法便无法直接得出经过该必经节点的最短路径。目前通常采用分段计算的方式来组合得到最终的最短路径。若必经节点为多个,在分段计算的过程中,需要计算源节点至必经节点的最短路径、必经节点之间的最短路径、以及必经节点至目的节点之间的最短路径,然后进行筛选组合,得到最终的最短路径。而必经节点在不同的单臂分支上的数量越多,路径组合的难度越大,计算最短路径所需的运算量也就越大。
下面结合附图,对本申请实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,为本申请实施例提供的网络系统10的原始网络拓扑的示意图。在本实施例中,网络系统10为基于软件定义网络(Software Defined Network,SDN)的系统,该网络系统10可以包括多个节点及SDN控制器。
SDN控制器运行在电子设备上,例如,该电子设备可以为服务器、个人电脑等。其中,SDN控制器可理解为基于SDN技术的应用程序。SDN控制器可以与网络系统10中的各节点进行通信,可以用于收集各个节点之间的连接关系,以生成网络拓扑。
在本实施例中,SDN控制器可以用于执行下述的路径寻找方法。另外,SDN控制器还可以用于向网络系统10中的节点下发配置,以使相应的节点执行相应的配置。
其中,配置可以由用户根据实际情况进行设置。例如,配置可以为让节点A将一数据(该数据可以根据实际情况进行确定,包括但不限于图片、文档、视频等数据)传输至节点F上,并在传输过程中,将该数据备份在节点H、节点J。
在图1中,网络系统10可以包括节点A至节点J。相连接的两个节点建立有链路,可以用于双向通信。例如,节点A与节点B相连接,则表示节点A与节点B之间建立有链路,节点A与节点B之间可以相互通信。
需要说明的是,在本申请实施例中,网络系统10所包括的节点的数量及节点之间的链路连接关系可以根据实际情况进行确定,而不限于如图1所示的网络拓扑。例如,网络系统10还可以包括与节点E连接的节点。其中,节点可以是但不限于路由器、交换机等网络设备。
请结合参照图1和图2,本申请实施例还提供一种路径寻找方法,可以应用于上述的网络系统10的SDN控制器中,由网络系统10中的SDN控制器执行或实现方法中的各步骤。其中,源节点为需要传输数据的节点,目的节点为需要接收源节点的数据的节点。必经节点为指定的在传输过程中必须要经过的节点,例如可以为用于数据备份的服务器。可理解地,源节点、目的节点及必经节点均可以根据实际情况进行设置或确定。另外,必经节点的数量可以为一个或多个,可以根据实际情况进行设置,这里不作具体限定。
为了便于描述,下面将图1、图3、图4中的节点A作为源节点,将节点F作为目的节点,将节点H及节点J作为必经节点,阐述路径寻找方法的实现流程。在实际应用过程中,网络系统10的网络拓扑可以不同于图1所示的拓扑结构,源节点、目的节点及必经节点也可以不同于图1所示的节点。在本实施例中,路径寻找方法可以包括步骤S210至步骤S240。下面将对路径寻找方法进行详细阐述,如下:
步骤S210,基于所述网络系统10的原始网络拓扑,判断所述必经节点是否在所述原始网络拓扑的单臂分支上。
在本实施例中,完整的单臂分支指网络拓扑中的边缘节点到非边缘节点之间最长的唯一路径。其中,边缘节点为只与一个节点连接的节点。例如,在图1中,节点A、H、F均为边缘节点。节点A至节点B形成的路径,节点B至节点H形成的路径,节点E至节点F形成的路径均可以称为单臂分支。
SDN控制器可以通过SDN控制器获取到网络系统10的原始网络拓扑,原始网络拓扑中包括网络系统10的节点及节点之间的连接关系。其中,网络拓扑可以理解为模拟或仿真实际网络系统10中的节点及链路得到的逻辑有向图。SDN控制器可以基于单臂分支的特性,从网络拓扑中确定出必经节点是否在单臂分支上。
例如,作为一种可选的实施方式,步骤S210可以包括:通过最短路径算法,计算所述必经节点至所述源节点的第一类最短路径,以及计算所述必经节点至所述目的节点的第二类最短路径;判断所述第一类最短路径是否存在与所述第二类最短路径中除去所述必经节点之外的相同节点,其中,当存在所述相同节点时,确定所述必经节点位于所述单臂分支上。
在本实施例中,必经节点至源节点的最短路径即为第一类最短路径。必经节点至目的节点的最短路径即为第二类最短路径。当必经节点在单臂分支上时,第一类最短路径与第二类最短路径便存在除去必经节点外的相重合的节点。
例如,在图1中,必经节点H的第一类最短路径为:H-G-B-A;第二类最短路径为:H-G-B-C-D-E-F。两类最短路径中重合的节点包括H、G、B。由于节点H为必经节点,需要去除。在去除该必经节点H后,仍然存在重合的节点G、B。因此,节点H在单臂分支上。
同样地,必经节点J的第一类最短路径为:J-I-D-C-B-A。必经节点J的第二类最短路径为:J-E-F。两类最短路径中重合的节点仅包括J。由于节点J为必经节点,需要去除。在去除该必经节点J后,两类最短路径中便不存在重合的节点,即,必经节点J未在单臂分支上。
作为一种可选的实施方式,步骤S210可以包括:通过最短路径算法,计算所述必经节点至所述目的节点的第二类最短路径;判断所述第二类最短路径的链路中是否存在所述链路的传输方向为指定方向的链路,其中,所述指定方向与所述源节点至所述必经节点的最短路径的传输方向相反,且当所述第二类最短路径的链路中存在所述链路的传输方向为所述指定方向的链路时,确定所述必经节点位于所述单臂分支上。
在本实施例中,SDN控制器在获取到原始网络拓扑图之后,可以为相连接的两个节点的链路设定链路传输的正向、反向属性,其正反向属性可以根据实际情况进行设置。指定方向可以为正向或者为反向。
在图1中,节点A为源节点,节点F为目的节点,假设从离源节点距离焦较近的节点到离源节点距离较远的节点之间的链路为正向链路,反之为反向链路。
则在图1中,正向链路包括:A-B,B-G,G-H,B-C,C-D,D-I,D-E,I-J,J-E,E-F。
反向链路包括:F-E,E-J,J-I,E-D,I-D,D-C,C-B,H-G,G-B,B-A。
此时,原始网络拓扑中的各个链路具有正反属性,若必经节点在单臂分支上,则必经节点至目的节点的路径中便会存在反向属性的链路,同时,指定方向即为反向链路的传输方向(若将从离源节点距离焦较近的节点到离源节点距离较远的节点之间的链路为反向链路,则指定方向为正向链路的传输方向)。
基于此,便能从原始网络拓扑中确定出必经节点是否在单臂分支上。即,当SDN控制器计算得到必经节点至目的节点的路径后,可以判断该路径的链路中是否存在反向属性的链路,若存在反向属性的链路,则表示必经节点在单臂分支上。若不存在反向属性的链路,则表示必经节点未在单臂分支上。通过该判断方式,无需计算第一类最短路径,从而有利于简化运算方式,降低运算量,以提高运算效率。
步骤S220,当所述必经节点位于所述单臂分支时,复制所述单臂分支上的多个目标节点及所述多个目标节点的链路,得到与每个目标节点对应的复制节点,所述多个目标节点包括所述必经节点至所述单臂分支的根节点的链路上的所有节点。
例如,请参照图3,SDN控制器在确定出必经节点H在单臂分支上时,可以复制单臂分支上的所有节点,或者仅复制必经节点至单臂分支的根节点的链路上的所有节点。即,目标节点可以为单臂分支上的所有节点,或者为必经节点至单臂分支的根节点的链路上的所有节点。
其中,单臂分支的根节点为单臂分支上的离源节点或离目的节点的距离最近的节点。例如,在图3中,节点B即为单臂分支B-G-H的根节点。需要复制的目标节点为节点B、G、H,从而得到相应的复制节点B’、G’、H’。
复制得到的复制节点可以用于与原始网络拓扑、单臂分支建立新的链路,以得到新的网络拓扑,以使必经节点在新的网络拓扑中未在单臂分支上。
步骤S230,建立所述必经节点的复制节点与所述必经节点之间的连线,以及建立所述根节点的复制节点与所述根节点的目标相邻节点的连线,得到新的网络拓扑。
可理解地,SDN控制器建立必经节点的复制节点与必经节点之间的链路,以及建立根节点的复制节点与根节点的目标相邻节点的链路,可以使得原来的单臂分支与复制的单臂分支形成环回,以得到新的网络拓扑。此时,在新的网络拓扑中,在原来的单臂分支上的必经节点便不再位于单臂分支上。
在步骤S230之前,SDN控制器可以确定根节点的目标相邻节点,然后再将根节点的复制节点与目标相邻节点连接。
例如,作为一种可选的实施方式,在步骤S230之前,方法还可以包括:将位于所述第二类最短路径中且与所述根节点相邻的节点确定为所述目标相邻节点。
比如,在结合图1和图3,SDN控制器可以确定出与节点C相邻的节点包括节点A和节点C,且节点C在第二类最短路径中。此时,SDN控制器可以将图1中的节点C作为目标相邻节点。然后再由SDN控制器建立节点C与复制节点B’的链路,得到如图3所述的新的网络拓扑。
其中,图3所示的网络拓扑为仿真或模拟的网络拓扑,在实际的网络系统10中,并不需要部署与复制节点对应的设备或服务器。同样地,图4所示的网络拓扑也为仿真或模拟的网络拓扑,在实际的网络系统10中,并不需要部署与复制节点对应的设备或服务器。
作为一种可选的实施方式,在步骤S230之前,方法还可以包括:将与所述根节点相邻的所有节点确定为所述目标相邻节点。
例如,请结合参照图1和图4,SDN控制器可以基于图1所示的网络拓扑,确定出根节点B的所有相邻节点,分别为节点A、C、G。然后再由SDN控制器建立复制节点B’与节点A的链路,建立复制节点B’与节点C的链路,以及建立复制节点B’与节点G的链路,从而得到如图3所示的新的网络拓扑。
步骤S240,根据所述新的网络拓扑确定源节点经过所述必经节点至目的节点的目标路径。
在本实施例中,目标路径可以包括源节点经过必经节点至目的节点最短路径或优质路径,或者目标路径为指定数量的路径。
例如,SDN控制器可以基于新的网络拓扑确定指定数量的路径。指定数量的路径为源节点经过必经节点至目的节点的路径中,指定数量的最短路径。其中,指定数量可以根据实际情况进行设置,例如为2、3等数量。比如,指定数量为5,则SDN控制器可以基于新的网络拓扑,通过最短路径算法确定5条最短的源节点经过必经节点至目的节点的路径。在确定出指定数量的路径后,可以供用户或SDN控制器以根据需求从指定数量的路径中选取优质路径。
其中,选取优质路径方式可以根据实际情况进行设定。例如,用户或SDN控制器可以将指定数量的路径中最短路径的作为优质路径,或者,将指定数量的路径中,空闲带宽最大的路径作为优质路径。
由于新的网络拓扑使得原处于单臂分支上的必经节点不再位于单臂分支上。此时,SDN控制器可以无需通过分段计算的方式来计算源节点经过必经节点至目的节点的最短路径,在计算目标路径的过程中,将有利于降低运算量、提高运算效率。
在本实施例中,步骤S240可以包括:根据最短路径算法,从所述新的网络拓扑确定所述源节点经过所述必经节点至所述目的节点的最短路径;将所述最短路径中的复制节点替换为与所述复制节点对应的目标节点,以得到所述目标路径。
可理解地,若必经节点为多个,多个分布在不同的单臂分支上。SDN控制器可以针对具有必经节点的每个单臂分支进行如步骤S220、步骤S230的操作,以模拟或仿真得到新的网络拓扑。在新的网络拓扑中,原处于单臂分支上的必经节点便不再位于单臂分支上。
由于在新的网络拓扑中,原处于单臂分支上的必经节点不再位于单臂分支上,此时,SDN控制器便可以继续采用最短路径算法计算源节点经过必经节点至目的节点的最短路径,避免必经节点在单臂分支上而无法通过最短路径算法直接计算经过必经节点的最短路径。
另外,本实施例提供的路径寻找方法中,在计算必经节点位于单臂分支上的最短路径时,无需分段计算,也就无需如分段计算中因单臂分支的数量多而难以组合得到目标路径。因此,在本实施例中,即使必经节点为多个,多个分布在不同的单臂分支上,SDN控制器也能快速实现最短路径的计算。
作为一种可选的实施方式,方法还可以包括:将所述目标路径发送至所述源节点,以使源节点通过所述目标路径建立与所述目标节点的通信连接。
在本实施例中,SDN控制器在获取到目标路径后,可以将目标路径发送至源节点,以使源节点与目的节点之间通过目标路径进行数据交互,从而有利于减少源节点与目的节点之间传输数据所消耗的节点资源。其中,该目标路径可以为源节点经过必经节点至目的节点的最短路径,或者为多条最短路径中的优质路径。
请参照图5,本申请实施例还提供一种控制器100,用于执行或实现路径寻找方法中的各步骤。其中,控制器100可以包括判断单元110、复制单元120、链路建立单元130及路径确定单元140。
判断单元110,用于基于所述网络系统10的原始网络拓扑,判断所述必经节点是否在所述原始网络拓扑的单臂分支上。
复制单元120,用于当所述必经节点位于所述单臂分支时,复制所述单臂分支上的多个目标节点及所述多个目标节点的链路,得到与每个目标节点对应的复制节点,所述多个目标节点包括所述必经节点至所述单臂分支的根节点的链路上的所有节点。
链路建立单元130,用于建立所述必经节点的复制节点与所述必经节点之间的连线,以及建立所述根节点的复制节点与所述根节点的目标相邻节点的连线,得到新的网络拓扑。
路径确定单元140,用于根据所述新的网络拓扑确定源节点经过所述必经节点至目的节点的目标路径。
可选地,所述路径确定单元140还用于:根据最短路径算法,从所述新的网络拓扑确定所述源节点经过所述必经节点至所述目的节点的最短路径;将所述最短路径中的复制节点替换为与所述复制节点对应的目标节点,以得到所述目标路径。
可选地,所述判断单元110还用于:通过最短路径算法,计算所述必经节点至所述源节点的第一类最短路径,以及计算所述必经节点至所述目的节点的第二类最短路径;判断所述第一类最短路径是否存在与所述第二类最短路径中除去所述必经节点之外的相同节点,其中,当存在所述相同节点时,确定所述必经节点位于所述单臂分支上。
可选地,所述判断单元110还可以用于:通过最短路径算法,计算所述必经节点至所述目的节点的第二类最短路径;判断所述第二类最短路径的链路中是否存在所述链路的传输方向为指定方向的链路,其中,所述指定方向与所述源节点至所述必经节点的最短路径的传输方向相反,且当所述第二类最短路径的链路中存在所述链路的传输方向为所述指定方向的链路时,确定所述必经节点位于所述单臂分支上。
可选地,控制器100还可以包括节点确定单元,在所述链路建立单元130建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述节点确定单元用于:将位于所述第二类最短路径中且与所述根节点相邻的节点确定为所述目标相邻节点。
可选地,控制器100还可以包括节点确定单元。在所述链路建立单元130建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述节点确定单元用于:将与所述根节点相邻的所有节点确定为所述目标相邻节点。
可选地,控制器100还可以包括发送单元。发送单元用于将所述目标路径发送至所述源节点,以使源节点通过所述目标路径建立与所述目标节点的通信连接。
本实施例还提供一种电子设备,该电子设备可以包括相互耦合的存储模块、处理模块,存储模块内存储计算机程序,当计算机程序被处理模块执行时,使得所述电子设备执行如上述实施例中所述的路径寻找方法。
当然,电子设备还可以包括其他器件或模块。例如,电子设备还可以包括通信模块以及控制器100,控制器100为上述的SDN控制器。处理模块、存储模块、通信模块以及控制器100各个元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
处理模块可以是一种集成电路芯片,具有信号的处理能力。上述处理模块可以是通用处理器。例如,该处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。
存储模块可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块可以用于存储网络系统10的网络拓扑。当然,存储模块还可以用于存储程序,处理模块在接收到执行指令后,执行该程序。
电子设备可以作为网络系统10中的一个节点,通信模块可以用于通过网络建立电子设备与网络系统10中的其他节点的通信连接,并通过网络收发数据。其中,其他节点指网络系统10中除去电子设备自身的节点。
控制器100包括至少一个可以软件或固件(Firmware)的形式存储于存储模块中或固化在电子设备操作系统中的软件功能模块。处理模块用于执行存储模块中存储的可执行模块,例如控制器100所包括的软件功能模块及计算机程序等。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备、控制器100的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质。可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的路径寻找方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请提供一种路径寻找方法、控制器、电子设备及可读存储介质。方法包括:基于网络系统的网络拓扑,判断必经节点是否在网络拓扑的单臂分支上;当必经节点位于单臂分支时,复制单臂分支上的多个目标节点及多个目标节点的链路,得到与每个目标节点对应的复制节点,多个目标节点包括必经节点至单臂分支的根节点的链路上的所有节点;建立必经节点的复制节点与必经节点之间的连线,以及建立根节点的复制节点与根节点的目标相邻节点的连线,得到新的网络拓扑;根据新的网络拓扑确定源节点经过必经节点至目的节点的目标路径。在本方案中,通过复制单臂分支上的链路及节点,然后建立必经节点的复制节点与必经节点之间的链路,以及建立根节点的复制节点与根节点的目标相邻节点的链路,得到新的网络拓扑,可以使得必经节点不再位于单臂分支上,从而无需分段计算最短路径,以减少运算量、提高运算效率。
在本申请所提供的实施例中,应该理解到,所揭露的控制器、设备、系统和方法,也可以通过其它的方式实现。以上所描述的控制器、设备、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种路径寻找方法,其特征在于,应用于控制器,所述方法包括:
基于网络系统的原始网络拓扑,判断必经节点是否在所述原始网络拓扑的单臂分支上,所述单臂分支为所述原始网络拓扑中的边缘节点到非边缘节点之间的唯一路径;
当所述必经节点位于所述单臂分支时,复制所述单臂分支上的多个目标节点及所述多个目标节点的链路,得到与每个目标节点对应的复制节点,所述多个目标节点包括所述必经节点至所述单臂分支的根节点的链路上的所有节点,所述单臂分支的根节点为所述单臂分支上的离源节点或离目的节点的距离最近的节点;
建立所述必经节点的复制节点与所述必经节点之间的连线,以及建立所述根节点的复制节点与所述根节点的目标相邻节点的连线,得到新的网络拓扑;
根据所述新的网络拓扑确定源节点经过所述必经节点至目的节点的目标路径;
其中,基于网络系统的原始网络拓扑,判断必经节点是否在所述原始网络拓扑的单臂分支上,包括:
通过最短路径算法,计算所述必经节点至所述源节点的第一类最短路径,以及计算所述必经节点至所述目的节点的第二类最短路径;
判断所述第一类最短路径是否存在与所述第二类最短路径中除去所述必经节点之外的相同节点,其中,当存在所述相同节点时,确定所述必经节点位于所述单臂分支上;或者
基于网络系统的原始网络拓扑,判断所述必经节点是否在所述原始网络拓扑的单臂分支上,包括:
通过最短路径算法,计算所述必经节点至所述目的节点的第二类最短路径;
判断所述第二类最短路径的链路中是否存在所述链路的传输方向为指定方向的链路,其中,所述指定方向与所述源节点至所述必经节点的最短路径的传输方向相反,且当所述第二类最短路径的链路中存在所述链路的传输方向为所述指定方向的链路时,确定所述必经节点位于所述单臂分支上。
2.根据权利要求1所述的方法,其特征在于,根据所述新的网络拓扑确定源节点经过所述必经节点至目的节点的目标路径,包括:
根据最短路径算法,从所述新的网络拓扑确定所述源节点经过所述必经节点至所述目的节点的最短路径;
将所述最短路径中的复制节点替换为与所述复制节点对应的目标节点,以得到所述目标路径。
3.根据权利要求1所述的方法,其特征在于,在建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述方法还包括:
将位于所述第二类最短路径中且与所述根节点相邻的节点确定为所述目标相邻节点。
4.根据权利要求1所述的方法,其特征在于,在建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述方法还包括:
将与所述根节点相邻的所有节点确定为所述目标相邻节点;和/或
所述方法还包括:
将所述目标路径发送至所述源节点,以使源节点通过所述目标路径建立与所述目标节点的通信连接。
5.一种控制器,其特征在于,包括:
判断单元,用于基于原始网络拓扑,判断必经节点是否在所述网络拓扑的单臂分支上,所述单臂分支为所述原始网络拓扑中的边缘节点到非边缘节点之间的唯一路径;
复制单元,用于当所述必经节点位于所述单臂分支时,复制所述单臂分支上的多个目标节点及所述多个目标节点的链路,得到与每个目标节点对应的复制节点,所述多个目标节点包括所述必经节点至所述单臂分支的根节点的链路上的所有节点,所述单臂分支的根节点为所述单臂分支上的离源节点或离目的节点的距离最近的节点;
链路建立单元,用于建立所述必经节点的复制节点与所述必经节点之间的连线,以及建立所述根节点的复制节点与所述根节点的目标相邻节点的连线,得到新的网络拓扑;
路径确定单元,用于根据所述新的网络拓扑确定源节点经过所述必经节点至目的节点的目标路径;
其中,所述判断单元还用于:
通过最短路径算法,计算所述必经节点至所述源节点的第一类最短路径,以及计算所述必经节点至所述目的节点的第二类最短路径;
判断所述第一类最短路径是否存在与所述第二类最短路径中除去所述必经节点之外的相同节点,其中,当存在所述相同节点时,确定所述必经节点位于所述单臂分支上;或者
所述判断单元还用于:
通过最短路径算法,计算所述必经节点至所述目的节点的第二类最短路径;
判断所述第二类最短路径的链路中是否存在所述链路的传输方向为指定方向的链路,其中,所述指定方向与所述源节点至所述必经节点的最短路径的传输方向相反,且当所述第二类最短路径的链路中存在所述链路的传输方向为所述指定方向的链路时,确定所述必经节点位于所述单臂分支上。
6.根据权利要求5所述的控制器,其特征在于,所述路径确定单元还用于:
根据最短路径算法,从所述新的网络拓扑确定所述源节点经过所述必经节点至所述目的节点的最短路径;
将所述最短路径中的复制节点替换为与所述复制节点对应的目标节点,以得到所述目标路径。
7.根据权利要求5所述的控制器,其特征在于,所述控制器还包括节点确定单元,在所述链路建立单元建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述节点确定单元用于:
将位于所述第二类最短路径中且与所述根节点相邻的节点确定为所述目标相邻节点。
8.根据权利要求5所述的控制器,其特征在于,所述控制器还包括节点确定单元,在所述链路建立单元建立所述根节点的复制节点与所述根节点的目标相邻节点的连线之前,所述节点确定单元用于:
将与所述根节点相邻的所有节点确定为所述目标相邻节点;和/或
所述控制器还包括发送单元,用于将所述目标路径发送至所述源节点,以使源节点通过所述目标路径建立与所述目标节点的通信连接。
9.一种电子设备,其特征在于,所述电子设备包括相互耦合的存储器、处理器,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-4中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911332914.7A CN110912822B (zh) | 2019-12-20 | 2019-12-20 | 路径寻找方法、控制器、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911332914.7A CN110912822B (zh) | 2019-12-20 | 2019-12-20 | 路径寻找方法、控制器、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110912822A CN110912822A (zh) | 2020-03-24 |
CN110912822B true CN110912822B (zh) | 2022-02-22 |
Family
ID=69827049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911332914.7A Active CN110912822B (zh) | 2019-12-20 | 2019-12-20 | 路径寻找方法、控制器、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110912822B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865404B (zh) * | 2020-06-09 | 2021-05-14 | 烽火通信科技股份有限公司 | 保护环路径查找方法、装置、设备及可读存储介质 |
CN115865783B (zh) * | 2022-11-22 | 2024-04-09 | 中国联合网络通信集团有限公司 | 目标节点的确定方法、装置及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179485A (zh) * | 2006-11-10 | 2008-05-14 | 中兴通讯股份有限公司 | 新增组播成员的路径选择方法 |
CN102204190A (zh) * | 2011-05-31 | 2011-09-28 | 华为技术有限公司 | 路径建立方法和装置 |
CN102318286A (zh) * | 2009-02-16 | 2012-01-11 | 日本电气株式会社 | 事件分发系统、集合节点、中间节点、事件分发系统的负荷分散方法、集合节点的负荷分散方法、中间节点的分发路径建立方法、存储有负荷分散程序的存储介质以及存储有分发路径建立程序的存储介质 |
JP2013005210A (ja) * | 2011-06-16 | 2013-01-07 | Fujitsu Telecom Networks Ltd | パケット伝送システムおよびパケット伝送装置並びに無瞬断切替方法 |
CN104113477A (zh) * | 2009-11-18 | 2014-10-22 | 日本电气株式会社 | 动态路由分支系统和动态路由分支方法 |
CN110430140A (zh) * | 2019-08-07 | 2019-11-08 | 迈普通信技术股份有限公司 | 路径处理方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101080913A (zh) * | 2004-12-14 | 2007-11-28 | 松下电器产业株式会社 | 通信路由优化方法、相应的设备和系统 |
CN101488921B (zh) * | 2009-02-24 | 2011-09-14 | 华为技术有限公司 | 报文轨迹记录方法及报文轨迹记录装置 |
US10673742B2 (en) * | 2015-09-10 | 2020-06-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Multicast state reduction via tunneling in a routed system |
US10270691B2 (en) * | 2016-02-29 | 2019-04-23 | Cisco Technology, Inc. | System and method for dataplane-signaled packet capture in a segment routing environment |
CN110191382B (zh) * | 2019-06-27 | 2020-03-27 | 北京邮电大学 | 一种基于路径排序的虚链路优先映射方法 |
-
2019
- 2019-12-20 CN CN201911332914.7A patent/CN110912822B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179485A (zh) * | 2006-11-10 | 2008-05-14 | 中兴通讯股份有限公司 | 新增组播成员的路径选择方法 |
CN102318286A (zh) * | 2009-02-16 | 2012-01-11 | 日本电气株式会社 | 事件分发系统、集合节点、中间节点、事件分发系统的负荷分散方法、集合节点的负荷分散方法、中间节点的分发路径建立方法、存储有负荷分散程序的存储介质以及存储有分发路径建立程序的存储介质 |
CN104113477A (zh) * | 2009-11-18 | 2014-10-22 | 日本电气株式会社 | 动态路由分支系统和动态路由分支方法 |
CN102204190A (zh) * | 2011-05-31 | 2011-09-28 | 华为技术有限公司 | 路径建立方法和装置 |
JP2013005210A (ja) * | 2011-06-16 | 2013-01-07 | Fujitsu Telecom Networks Ltd | パケット伝送システムおよびパケット伝送装置並びに無瞬断切替方法 |
CN110430140A (zh) * | 2019-08-07 | 2019-11-08 | 迈普通信技术股份有限公司 | 路径处理方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
SDN网络中高效流量分配方法研究;梁胜;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180215(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110912822A (zh) | 2020-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Govindan et al. | Evolve or die: High-availability design principles drawn from googles network infrastructure | |
US20160352578A1 (en) | System and method for adaptive paths locator for virtual network function links | |
CN110912822B (zh) | 路径寻找方法、控制器、电子设备及可读存储介质 | |
EP3320653B1 (en) | Parallelized network traffic flow availability simulation using stochastic process and traffic engineering algorithms | |
EP2497233B1 (en) | Disjoint path computation algorithm | |
US10831630B2 (en) | Fault analysis method and apparatus based on data center | |
CN103152261B (zh) | 一种链路状态协议数据单元分片报文生成发布方法和设备 | |
Bianco et al. | Optimal resource allocation for disaster recovery | |
CN114185678A (zh) | 数据存储方法、装置、设备及存储介质 | |
CN113300861B (zh) | 网络切片配置方法、装置以及存储介质 | |
Datta et al. | Sum of disjoint product approach for reliability evaluation of stochastic flow networks | |
CN104168192A (zh) | 一种故障网络中的重路由方法和装置 | |
CN108494597B (zh) | 智能光网络仿真系统及方法 | |
CN103532615A (zh) | 一种路径计算方法、实现该方法的节点和路径计算单元 | |
CN111046004B (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
CN111131479B (zh) | 流量处理方法、装置及分流器 | |
CN105335376A (zh) | 一种流处理方法、装置及系统 | |
CN109889393B (zh) | 一种地理分布式图处理方法和系统 | |
CN113556281A (zh) | 一种重新路由方法及装置、电子设备、计算机可读介质 | |
Gomes et al. | Two heuristics for calculating a shared risk link group disjoint set of paths of min-sum cost | |
US11765042B2 (en) | Traffic application amount calculation apparatus, method and program | |
JP5856699B1 (ja) | 階層型パス制御システム、パス制御方法およびプログラム、並びに、下位制御装置 | |
US11099965B2 (en) | Management system, test method and recording medium | |
CN112783673A (zh) | 一种调用链的确定方法、装置、计算机设备及存储介质 | |
EP3026850A1 (en) | Method for processing multi-zone path computation failure and path computation element (pce) |
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 |