CN116074204A - 算路方法、路由计算设备、电子设备和计算机存储介质 - Google Patents
算路方法、路由计算设备、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN116074204A CN116074204A CN202111300379.4A CN202111300379A CN116074204A CN 116074204 A CN116074204 A CN 116074204A CN 202111300379 A CN202111300379 A CN 202111300379A CN 116074204 A CN116074204 A CN 116074204A
- Authority
- CN
- China
- Prior art keywords
- path
- target
- current
- calculation request
- request
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供一种算路方法、路由计算设备、电子设备和计算机存储介质,涉及通信技术领域。该方法包括:基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径;基于目标路径对当前网络拓扑信息进行预设处理,以获得新的当前网络拓扑信息,并返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤;在确定出的目标路径满足目标条件的情况下,确定出当前算路请求对应的所有不同的目标路径。本公开能够加快实现从源节点到目的节点的所有路径的尽力分离的效果。
Description
技术领域
本公开涉及通信技术领域,具体涉及一种算路方法、路由计算设备、电子设备和计算机存储介质。
背景技术
新一代分段路由流量工程体系(Segment Routing Traffic Engineering,SR-TE)——SR Policy,是全新设计的一套体系架构。SR Policy由(头端,颜色,端点)三元组进行标识。在给定的头端节点的前提下,SR Policy由(颜色,端点)二元组标识。
大规模网络的SR Policy的业务开通时,需要将SR Policy的流量通过多个段列表(Segment List,SL)进行负载均衡。同时,为了防止主路径损坏影响业务,需有多组候选路径(Candidate Path,Cpath)备用,其中,每条候选路径可以具有一个或者多个Segment列表。为了尽力减小路径损坏带来的对业务的冲击,往往需要负载均衡的链路尽力分离。
发明内容
本公开针对现有技术中存在的上述不足,提供一种算路方法、路由计算设备、电子设备和计算机存储介质。
本公开实施例提供一种算路方法,该方法包括:基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径;基于所述目标路径对所述当前网络拓扑信息进行预设处理,以获得新的所述当前网络拓扑信息,并返回所述基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径的步骤;在确定出的目标路径满足目标条件的情况下,确定出所述当前算路请求对应的所有不同的所述目标路径。
本公开实施例提供一种路由计算设备,该路由计算设备包括:计算模块,用于基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径;处理模块,用于基于所述目标路径对所述当前网络拓扑信息进行预设处理,以获得新的所述当前网络拓扑信息,并返回所述基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径的步骤;决策模块,用于在确定出的目标路径满足目标条件的情况下,确定出所述当前算路请求对应的所有不同的所述目标路径。
本公开实施例提供一种电子设备,包括:一个或多个处理器;存储器,其上存储有一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例中任一项算路方法。
本公开实施例提供一种计算机存储介质,其上存储有计算机程序,其中,所述程序被执行时实现本公开实施例中任一项算路方法。
根据本公开实施例提供的算路方法、路由计算设备、电子设备和计算机存储介质,基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径,然后,基于目标路径对当前网络拓扑信息进行预设处理,以获得新的当前网络拓扑信息,并返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤,在确定出的目标路径满足目标条件的情况下,确定出当前算路请求对应的所有不同的目标路径,能够加快实现从源节点到目的节点的所有路径的尽力分离的效果。
关于本申请的以上实施例和其他方面以及其实现方式,在附图说明、具体实施方式和权利要求中提供更多说明。
附图说明
图1为本发明实施例提供的一种SR Policy的结构示意图;
图2为本公开实施例提供一种算路方法的流程图;
图3为本公开实施例提供的一种步骤S202的具体实施方式的流程图;
图4a为本公开实施例提供的一种当前网络拓扑信息的示意图;
图4b为本公开实施例提供的一种新的当前网络拓扑信息的示意图;
图5为本公开实施例提供的另一种算路方法的流程图;
图6为本公开实施例提供的又一种算路方法的流程图;
图7为本公开实施例提供的另一种当前网络拓扑信息的示意图;
图8为本公开实施例提供的又一种当前网络拓扑信息的示意图;
图9为本公开实施例提供一种路由计算设备的结构示意图;
图10为本公开实施提供的一种管控产品的系统结构示意图;
图11为本公开实施例提供的一种电子设备的组成框图。
具体实施方式
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
近年来,软件定义网络(Software Define Network,SDN)技术受到了广泛关注。SDN控制器具备转发与控制相分离的特点,通过SDN控制器可以实现全网拓扑的采集、路径计算、流表生成与下发等功能。其中,路径计算单元(Path Computation Element,PCE)是SDN控制器中的一个重要模块。
新一代分段路由流量工程体系(Segment Routing Traffic Engineering,SR-TE)——SR Policy,是全新设计的一套体系架构。SR Policy由(头端,颜色,端点)三元组进行标识。在给定的头端节点的前提下,SR Policy由(颜色,端点)二元组标识。
图1为本发明实施例提供的一种SR Policy的结构示意图。如图1所示,SR Policy的候选路径代表将流量从相应SR Policy头端传送到端点的特定方式。每条候选路径(Candidate Path,Cpath)对应一个偏好值(Preference),候选路径的偏好值越高则该候选条路径越优选,其中,具有最高偏好值的候选路径是活动候选路径。
大规模网络的SR Policy的业务开通时,需要将SR Policy的流量通过多个段列表(Segment List,SL)进行负载均衡。通常一个SR Policy最多可配置16个Segment列表进行流量负荷分担。同时,为了防止路径损坏影响业务,需有多组候选路径备用,例如,图1中SRPolicy的候选路径包括Cpath1-CpathN,其分别对应的偏好值为p1-pN,其中,偏好值p1>px,x∈[2,N],即候选路径Cpath1为活动候选路径。
其中,每条候选路径可以具有一个或者多个SL,例如,图1中Cpath1具有m个SL(S11,S12…S1m)、Cpath2具有m个SL(S21,S22…S2m),以及Cpath3具有k个SL(S31,S32…S3k)。为了尽力减小路径损坏带来的对业务的冲击,往往需要负载均衡的路径(SL)尽力分离。“尽力分离”指的是:在选择SL时,如果存在与已经选定的SL完全不相交的路径,则将该与已经选定的SL完全不相交的路径确定为下一条SL;如果找不到与已经选定的SL完全不相交的路径,则找到与已经选定的SL相交次数最少的路径,作为下一条SL。将负载均衡的路径尽力分离,能够在任意一条SL损坏的情况下,不会导致所有的SL都无法工作。但是,利用当前主流的链路分离算法,一个SR Policy业务往往需要串行重复计算,导致达到尽力分离的效果的过程复杂,路径计算耗时长,无法满足当前的大规模网络规模和超大网络规模下对批量业务创建和恢复的性能要求。
为了解决上述难题,本公开实施例提供一种算路方法,应用于路由计算设备。
图2为本公开实施例提供一种算路方法的流程图。如图2所示,该方法包括:步骤S201-步骤S203。
步骤S201、基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径。
其中,网络拓扑信息包括网络的节点信息、链路信息、各链路对应的路由代价和各链路的可用资源信息等。本实施例中,链路指的是网络拓扑中任意一个节点与相邻节点之间的路径。该链路信息可以是链路的唯一标识。链路对应的路由代价是用于评估该链路的优劣的指标,例如,在路由代价仅与时延相关的情况下,该链路的时延越大,则该链路对应的路由代价越大。链路的可用资源信息包括该链路的带宽信息等。
当前算路请求对应的路径配置信息包括源节点的信息和目的节点的信息,其中源节点的信息可以包括源节点的标识、地址等信息;目的节点的信息可以包括目的节点的标识、地址等信息。目标路径是在当前网络拓扑信息中从源节点到目的节点对应的路由代价最小的路径。
算路请求是用于请求计算从源节点到目的节点的候选路径的请求,算路请求包括对应的候选路径的路径配置信息,该路径配置信息是该候选路径需要具有的性能参数。其中,路径配置信息包括源节点的信息、目的节点的信息、对应的段列表数量、预设带宽和算路约束信息。
其中,候选路径包括至少一个段列表,步骤S201中确定出的一条该目标路径可作为该候选路径的一个段列表。预设带宽是候选路径需要具有的最小带宽。需要说明的是,候选路径的多个段列表用于进行负荷分担,例如,在预设带宽为50Mpbs的情况下,该候选路径包括的多个段列表对应的总带宽需要不小于50Mpbs。算路约束是在计算路径时需要满足的特殊路径要求,例如,时延、跳数、带宽利用率和路由代价中的至少一种。
步骤S202、基于目标路径对当前网络拓扑信息进行预设处理,以获得新的当前网络拓扑信息,并返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤。
其中,预设处理是为了通过对当前网络拓扑信息中目标路径的路径信息进行修改和/或清除,以获得新的当前网络拓扑信息,从而可以在确定下一条目标路径时,在有其他可选的目标路径的情况下,有效避免之前已确定出的目标路径再次被选择,如此,使得在基于该新的当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤中,能够有效地将与之前确定出的所有目标路径完全不相交的路径筛选出来,或者,有效地将与之前确定出的所有目标路径相交次数最少的路径筛选出来,进而实现从源节点到目的节点的所有路径的尽力分离。
在本实施例中,目标路径的路径信息包括但不限于:该目标路径的各链路的路由代价、目标路径经过的节点的父子关系以及经过的节点对应的子节点的父子关系。
在一个实施方式中,在与之前确定出的所有目标路径完全不相交的路径,以及与之前确定出的所有目标路径不完全相交的路径均已经被筛选出来的情况下,则上述返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤之后,在该步骤中确定出的目标路径将会是与之前确定出的任一目标路径相同的路径。
因此,为实现上述“尽力分离”,在每次确定出一条目标路径之后,均需进行目标条件的判断,其中,目标条件包括:当前确定出的目标路径与之前确定出的目标路径相同,或者,确定出的所有目标路径互不相同且累计数量为预设数量。
换言之,在基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤之后,该算路方法还包括:判断确定出的目标路径是否满足目标条件。
在一些实施例中,判断确定出的目标路径是否满足目标条件,包括:
判断当前确定出的目标路径与之前确定出的目标路径是否相同,其中,路径的相同指是两条路径从源节点到目的节点所经过的各链路的链路标识对应相同。
在判断出当前确定出的目标路径与之前确定出的任一目标路径相同的情况下,则判定确定出的目标路径满足目标条件。
在判断出当前确定出的目标路径与之前确定出的目标路径不同的情况下,判断当前确定出的目标路径的累计数量是否为预设数量。
在确定出的所有目标路径互不相同的情况下,进一步判断当前确定出的目标路径的累计数量是否为预设数量,其中,预设数量可以为算路请求包括的路径配置信息中对应的段列表数量,即该预设数量代表了路径配置的要求之一。
在判断出当前确定出的目标路径的累计数量为预设数量的情况下,则判定确定出的目标路径满足目标条件;在判断出当前确定出的目标路径的累计数量小于预设数量的情况下,则判定确定出的目标路径不满足目标条件。
在确定出的目标路径不满足目标条件的情况下,执行步骤S202。
步骤S203、在确定出的目标路径满足目标条件的情况下,确定出当前算路请求对应的所有不同的目标路径。
在一些实施例中,目标条件包括:当前确定出的目标路径与之前确定出的目标路径相同。在当前确定出的目标路径与之前确定出的目标路径相同的情况下,说明与之前确定出的所有目标路径完全不相交的路径以及与之前确定出的所有目标路径不完全相交的路径均已经被筛选出来,即使此时确定出的所有目标路径的累计数量未达到路径配置的要求,也无法再确定出当前算路请求对应的新的目标路径。因此,在当前确定出的目标路径与之前确定出的目标路径相同的情况下,已经确定出当前算路请求对应的所有不同的目标路径。
例如,当前确定出的目标路径为目标路径5,之前确定出的目标路径为目标路径1、目标路径2、目标路径3和目标路径4。在该目标路径5与目标路径3相同的情况下,确定出当前算路请求对应的所有不同的目标路径为目标路径1、目标路径2、目标路径3和目标路径4。
在一些实施例中,目标条件包括:确定出的所有目标路径互不相同且累计数量为预设数量。在确定出的所有目标路径互不相同且累计数量为预设数量的情况下,说明与之前确定出的所有目标路径完全不相交的路径以及与之前确定出的所有目标路径不完全相交的路径可能没有全部被筛选出来,但是,当前确定出的所有目标路径的累计数量已经达到路径配置的要求,无需再获取新的目标路径。因此,在确定出的所有目标路径互不相同且累计数量为预设数量的情况下,也同样已经确定出了当前算路请求对应的所有不同的目标路径。
例如,当前确定出的目标路径为目标路径5,之前确定出的目标路径为目标路径1、目标路径2、目标路径3和目标路径4,预设数量为5。则在该目标路径5与目标路径1-4均不相同、且累计数量(目标路径1-5共5条)等于预设数量的情况下,确定出当前算路请求对应的所有不同的目标路径为目标路径1-5。
在本实施例中,由于每一次确定目标路径时都是基于不同的当前网络拓扑信息,且新的当前网络拓扑信息是基于当前确定出的目标路径对当前网络拓扑信息进行预设处理后获得,因此,相比于现有技术中的链路分离算法,本实施例中在确定出当前算路请求对应的所有不同的目标路径的过程中不仅能够有效避免多次重复计算,还能够降低路径计算的复杂度,缩短路径计算耗时,从而加快达到对从源节点到目的节点的所有路径尽力分离的效果。
在一个SR Policy业务场景中,本实施例提供的算路方法能够降低路径计算的复杂度,缩短路径计算耗时,从而能够达到加快实现路径尽力分离的效果,能够满足当前的大规模网络规模和超大网络规模下对批量业务创建和恢复的性能要求。
本公开实施例提供一种算路方法,首先,基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径,然后,基于目标路径对当前网络拓扑信息进行预设处理,以获得新的当前网络拓扑信息,并返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤。在确定出的目标路径满足目标条件的情况下,确定出当前算路请求对应的所有不同的目标路径,能够加快实现从源节点到目的节点的所有路径的尽力分离的效果。
在一个实施方式中,基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤(步骤S201),包括:基于路径配置信息和当前网络拓扑信息,利用目标路径计算算法,确定当前算路请求对应的一条目标路径,其中,目标路径为在当前网络拓扑信息中从源节点到目的节点对应的路由代价最小的路径。
其中,目标路径计算算法包括双向迪杰斯特拉(Dijkstra)算法、单向迪杰斯特拉算法或A*算法。
图3为本公开实施例提供的一种步骤S202的具体实施方式的流程图。在一个实施方式中,如图3所示,基于目标路径对当前网络拓扑信息进行预设处理,以获得新的当前网络拓扑信息的步骤,包括步骤S2021-步骤S2022。
步骤S2021、将当前网络拓扑信息中目标路径的各链路的路由代价增大预设值。
其中,预设值是当前网络拓扑信息的各链路的路由代价中最大的路由代价对应的值的至少一倍,例如,当前网络拓扑信息的各链路的路由代价中最大的路由代价对应的值为100,则预设值可以为100的正整数倍,即100、200、300或400等。该预设值可以根据具体应用场景进行设置,此处不进行具体限定。
在本实施例中,将当前网络拓扑信息中目标路径的各链路的路由代价增大预设值之后,该目标路径的各链路的路由代价,均大于最初的网络拓扑信息的各链路的路由代价中最大的路由代价。
在本实施例中,每次选择的目标路径为在当前网络拓扑信息中从源节点到目的节点对应的路由代价最小的路径,因此在选择出目标路径后,通过将该目标路径对应的各链路的路由代价增大预设值,可以有效避免该目标路径在下次选择下一条目标路径时再次被选择,从而达到“尽力分离”的效果。
步骤S2022、将当前网络拓扑信息中目标路径经过的节点以及经过的节点对应的子节点的父子关系进行剪枝。
其中,剪枝指的是清除缓存中存储的当前网络拓扑信息中目标路径经过的节点以及经过的节点对应的子节点的父子关系。
在本实施例中,由于目标路径是在当前网络拓扑信息中从源节点到目的节点对应的路由代价最小的路径,因此,该目标路径是当前已知的在该当前网络拓扑信息中从源节点到目的节点的最好的路径选择。如果在当前网络拓扑信息中继续进行路径搜索,不可能找到比已知的目标路径更好的选择,因此需要停止在该当前网络拓扑信息中继续进行路径搜索。其中,停止在当前网络拓扑信息中继续进行路径搜索的方法包括上述剪枝。
在本实施例中,在选择出目标路径后,通过当前网络拓扑信息中目标路径经过的节点以及经过的节点对应的子节点的父子关系进行剪枝,可以有效避免该目标路径在下次选择下一条目标路径时再次被选择,从而达到“尽力分离”的效果。
需要说明的是,经过上述步骤S2021-步骤S2022,获得的新的当前网络拓扑信息中,已经确定出的目标路径所对应的各链路的路由代价均增大了预设值,因此,在该新的当前网络拓扑信息中存在与已经确定出的目标路径均不相同的路径的情况下,这些已经确定出的目标路径,在该新的当前网络拓扑信息中将不再是从源节点到目的节点对应的路由代价最小的路径。并且,在获得新的当前网络拓扑信息,返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤中,重新确定目标路径时将选择节点间路由代价小的链路,即会优先选择节点间路由代价没有被增大预设值的链路。基于此,根据选择路由代价最小的路径的原则,与之前确定出的所有目标路径完全不相交的路径将被优先筛选出来,进而筛选出与之前确定出的所有目标路径不完全相交的路径,直至确定出当前算路请求对应的所有不同的目标路径。
图4a为本公开实施例提供的一种当前网络拓扑信息的示意图。
在一个实施场景中,如图4a所示,网络拓扑信息包括网络的节点信息(A、B、C、D、F)、链路信息(各节点之间的连线)、各链路对应的路由代价(链路上的数据)等。获取的路径计算客户端发送的算路请求包括:算路请求1,对应的候选路径的路径配置信息中源节点为A、目的节点为B、对应的段列表数量为3。则根据该如图4a所示的当前网络拓扑信息进行算路的方法包括:
步骤一、基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径。
在该实施场景中,通过单Dijkstra算法进行路径计算,在从源节点A到达目的节点B后,获得一条路由代价最小路径,同时获得源节点A到其它节点的父子关系。其中,路由代价最小路径为A---B,源节点A到其它节点的父子关系为A到C的父子关系以及A到D的父子关系。
步骤二、基于目标路径对当前网络拓扑信息进行预设处理,以获得新的当前网络拓扑信息,并返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤。
其中,预设处理包括:将当前网络拓扑信息中目标路径的各链路的路由代价增大预设值,将当前网络拓扑信息中目标路径经过的节点以及经过的节点对应的子节点的父子关系进行剪枝。
图4b为本公开实施例提供的一种新的当前网络拓扑信息的示意图。如图4b所示,基于目标路径对当前网络拓扑信息进行预设处理之后,A---B路径的路由代价增大98,由原来的2更新为100。并且,A到B的父子关系、A到C的父子关系以及A到D的父子关系被剪枝,即A到B的父子关系、A到C的父子关系以及A到D的父子关系从缓存信息中被清除。
对于新的当前网络拓扑信息,返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤,在该步骤中,继续获得当前从源节点A到达目的节点B的下一条目标路径(路由代价最小路径),即A---C---B。再次重复本实施例中的步骤二,以继续获得从源节点A到达目的节点F的下一条目标路径A---D---F---B。
在一个实施方式中,在确定出当前算路请求对应的所有不同的目标路径之后,还包括:基于确定出的各目标路径生成当前算路请求对应的路由信息,并将路由信息发送至转发设备,以供转发设备基于路由信息进行路由转发操作。
其中,路由信息包括候选路径,该候选路径包括至少一个段列表,一个段列表对应确定出的一条目标路径。
图5为本公开实施例提供的另一种算路方法的流程图。在一个实施方式中,如图5所示,在基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径之前,该算路方法还包括步骤S501-步骤S503。
步骤S501、获取路径计算客户端发送的至少一个算路请求。
其中,算路请求包括对应的候选路径的路径配置信息,该路径配置信息是该候选路径需要具有的性能参数。该路径配置信息包括源节点的信息、目的节点的信息、对应的段列表数量、预设带宽和算路约束信息。其中,预设带宽是候选路径需要具有的最小带宽,即各目标路径需要具有的带宽大小为预设带宽与对应的段列表数量的比值;算路约束是在计算路径时需要满足的特殊要求,例如,时延、跳数、带宽利用率和路由代价中的至少一种。
路径计算客户端是用于发送算路请求的设备。该路径计算客户端可以用于配置SRPolicy路径计算单元,如添加SR Policy的源节点和目的节点、候选路径的数量、候选路径的优先级、每个候选路径对应的段列表数量、算路约束信息等。用户在该路径计算客户端的操作界面配置算路数据后,路径计算客户端基于算路数据生成至少一个算路请求,并将该算路请求发送至路由计算设备。其中,每个算路请求对应请求计算一条候选路径。
步骤S502,在算路请求的数量为多个的情况下,基于各算路请求对应的路径配置信息,将满足预定条件的多个算路请求合并为一个新的算路请求。
其中,预定条件指的是任意多个算路请求对应的路径配置信息中源节点的信息、目的节点的信息、对应的段列表数量均对应相同,预设带宽之差小于第一预设阈值,以及,算路约束信息包括的约束值之差小于第二预设阈值。该第一预设阈值和第二预设阈值可以根据具体实施场景进行设置,本公开实施例中不做具体限定。
步骤S503,根据满足预定条件的多个算路请求对应的路径配置信息,确定新的算路请求对应的路径配置信息。
其中,新的算路请求对应的路径配置信息中,源节点和目的节点与满足预定条件的多个算路请求中任意一个算路请求的源节点和目的节点对应相同,对应的段列表数量为满足预定条件的多个算路请求包括的对应的段列表数量之和,预设带宽为满足预定条件的多个算路请求所包括的预设带宽中最大的预设带宽,算路约束信息为满足预定条件的多个算路请求所包括的算路约束信息中具有最小约束值的算路约束信息,或者,算路约束信息为多个算路约束的并集。
例如,满足预定条件的多个算路请求包括:算路请求1,对应的路径配置信息中源节点为A1、目的节点为A2、对应的段列表数量为2、预设带宽为30Mbps、算路约束信息为最小时延约束;算路请求2,对应的路径配置信息中源节点为A1、目的节点为A2、对应的段列表数量为2、预设带宽为40Mbps、算路约束信息为最小时延约束。则,根据算路请求1和算路请求2,确定新的算路请求对应的路径配置信息中,源节点为A1、目的节点为A2、对应的段列表数量为4、预设带宽为40Mbps、算路约束信息为最小时延约束。
在一个实施方式中,在对满足预定条件的多个算路请求进行合并后,依次对剩余的每个算路请求(包括合并后的新的算路请求),执行上述步骤S201-步骤S203,以确定出各算路请求所对应的所有不同的目标路径。
需要说明的是,将满足预定条件的多个算路请求合并为一个新的算路请求之后,只需对该新的算路请求执行一次算路过程(上述步骤S201-步骤S203)就能确定出满足预定条件的各算路请求对应的目标路径,而无需对合并前的每个算路请求均执行算路过程,从而能够有效降低路径计算的复杂度,缩短路径计算耗时,从而加快实现路径尽力分离。
图6为本公开实施例提供的又一种算路方法的流程图。如图6所示,在一个实施方式中,在当前算路请求为合并多个算路请求后的新的算路请求的情况下,在确定出当前算路请求对应的所有不同的目标路径之后,还包括步骤S601-步骤S604:
步骤S601、将当前算路请求拆分为合并前的多个算路请求。
其中,拆分为合并前的多个算路请求之后,各算路请求分别对应各自的路径配置信息。
步骤S602、基于拆分得到的各算路请求对应的路径配置信息,为拆分得到的各算路请求分配相应数量的目标路径。
本实施例中,由于当前算路请求为合并多个算路请求后的新的算路请求,而新的算路请求对应的段列表数量为多个算路请求包括的对应的段列表数量之和,因此,在将当前算路请求拆分为合并前的多个算路请求之后,可以基于确定出的所有不同的目标路径的数量和各算路请求包括的对应的段列表数量,为各算路请求分配相应数量的目标路径。
例如,在确定出的所有不同的目标路径的数量为多个算路请求包括的对应的段列表数量之和的情况下,为各算路请求分配相应数量的目标路径时,任意算路请求分配的目标路径的数量为该算路请求中对应的段列表数量。
在确定出的所有不同的目标路径的数量小于多个算路请求包括的对应的段列表数量之和的情况下,在为各算路请求分配相应数量的目标路径时,使得尽可能少的算路请求所分配的目标路径的数量小于该算路请求对应的段列表数量。例如,当前算路请求拆分为合并前的3个算路请求,该3个算路请求对应的段列表数量分别为3,确定出的所有不同的目标路径的数量为7条,则,为各算路请求分配相应数量的目标路径时,使得两个算路请求分配的目标路径的数量为3,另外一个算路请求分配的目标路径的数量为1。
在一个实施方式中,在基于拆分得到的各算路请求对应的路径配置信息,为拆分得到的各算路请求分配相应数量的目标路径之后,还包括:在拆分得到的任一算路请求对应的目标路径的数量小于该算路请求对应的段列表数量的情况下,基于当前网络拓扑信息和该算路请求对应的路径配置信息,确定该算路请求对应的其他目标路径。
需要说明的是,当前算路请求为合并多个算路请求后的新的算路请求,而新的算路请求对应的路径配置信息中,预设带宽为满足预定条件的多个算路请求所包括的预设带宽中最大的预设带宽,算路约束信息为满足预定条件的多个算路请求所包括的算路约束信息中具有最小约束值的算路约束信息。因此,针对该对应的目标路径的数量小于对应的段列表数量的算路请求,可能存在该算路请求对应的路径配置信息中,预设带宽小于新的算路请求对应的预设带宽和/或算路约束信息具有约束值大于新的算路请求对应的算路约束信息具有约束值的情况。换言之,可能存在目标路径不满足合并后的新的算路请求对应的路径配置信息,而满足该算路请求对应的路径配置信息的情况。
因此,在拆分得到的任一算路请求对应的目标路径的数量小于该算路请求对应的段列表数量的情况下,基于当前网络拓扑信息和该算路请求对应的路径配置信息,确定该算路请求对应的其他目标路径,能够筛选出不满足合并后的新的算路请求对应的路径配置信息,而满足该算路请求对应的路径配置信息的目标路径,实现路径尽力分离。
步骤S603、基于拆分得到的各算路请求对应的目标路径,生成拆分得到的各算路请求对应的路由信息。
其中,路由信息包括候选路径,该候选路径包括至少一个段列表,该一个段列表对应确定出的一条各目标路径。
在一个实施方式中,在拆分得到的任一算路请求对应的目标路径的数量小于该算路请求对应的段列表数量且确定出该算路请求对应的其他目标路径的情况下,生成的该算路请求对应的路由信息中,还包括确定出的其他目标路径。
步骤S604、将路由信息发送至转发设备,以供转发设备基于路由信息进行路由转发操作。
本公开实施例提供的一种算路方法,将满足预定条件的多个算路请求合并为一个新的算路请求,在对满足预定条件的多个算路请求进行合并后,依次对剩余的每个算路请求(包括合并后的新的算路请求),执行上述步骤S201-步骤S203,以确定出剩余各算路请求对应的所有不同的目标路径,最后针对合并后得到的新的算路请求,将新的算路请求拆分为合并前的多个算路请求,基于拆分得到的各算路请求对应的路径配置信息,为拆分得到的各算路请求分配相应数量的目标路径,能够只需对新的算路请求执行一次算路过程就能确定出满足预定条件的各算路请求对应的目标路径,降低了路径计算的复杂度,缩短了路径计算耗时,能够加快实现路径尽力分离。
图7为本公开实施例提供的另一种当前网络拓扑信息的示意图。在一个实施场景中,如图7所示。网络拓扑信息包括网络的节点信息(A、B、C、D、E、F)、链路信息(各节点之间的连线)、各链路对应的路由代价(链路上括号内的第一个数据代表该链路的时延代价)和各链路的可用资源信息(链路上括号内的第二个数据代表该链路的带宽)等。则根据该如图7所示的当前网络拓扑信息进行算路的方法包括:
步骤一、获取的路径计算客户端发送的至少一个算路请求。
其中,获取的路径计算客户端发送的算路请求包括:算路请求1,对应的候选路径的路径配置信息中源节点为A、目的节点为F、对应的段列表数量为2、预设带宽为30Mbps、算路约束信息为最小时延约束;算路请求2,对应的候选路径的路径配置信息中源节点为A、目的节点为F、对应的段列表数量为2、预设带宽为40Mbps、算路约束信息为最小时延约束。
步骤二、在算路请求的数量为多个的情况下,基于各算路请求对应的路径配置信息,将满足预定条件的多个算路请求合并为一个新的算路请求,并确定新的算路请求对应的路径配置信息。
其中,根据算路请求1和算路请求2,确定新的算路请求对应的路径配置信息中,源节点为A、目的节点为F、对应的段列表数量为4、预设带宽为40Mbps、算路约束信息为最小时延约束。
需要说明的是,针对算路请求1,每个段列表分担的带宽为15Mbps;针对算路请求2,每个段列表分担的带宽为20Mbps,因此,在将满足预定条件的多个算路请求合并为一个新的算路请求之后,均以每个段列表分担的带宽中最大的带宽为准进行计算。由于每个段列表分担的带宽为20Mbps,因此,在后续算路过程中确定出的任意目标路径中,各链路对应的带宽均需要大于该20Mbps。
步骤三、基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定出当前算路请求对应的所有不同的目标路径。
其中,确定出的当前算路请求对应的所有不同的目标路径包括:A---B---F,A---C---F,A---D---F,A---E---F。
在一个实施方式中,还可以对确定出的当前算路请求对应的所有不同的目标路进行带宽校验,以保证确定出的任意目标路径中,各链路对应的带宽均大于该每个段列表分担的带宽。
步骤四、将当前算路请求拆分为合并前的多个算路请求,并基于拆分得到的各算路请求对应的路径配置信息,为拆分得到的各算路请求分配相应数量的目标路径。
本实施例中,将当前算路请求拆分为合并前的算路请求1和算路请求2,为算路请求1分配的目标路径为A---B---F和A---C---F,为算路请求2分配的目标路径为A---D---F和A---E---F。由于算路请求是用于请求计算从源节点到目的节点的候选路径的请求,因此,本实施例中确定出从源节点到目的节点的两条候选路径,该每条候选路径包括2个段列表,算路请求1确定出的候选路径对应的段列表为A---B---F和A---C---F,算路请求2确定出的候选路径对应的段列表为A---D---F和A---E---F。
在另一个实施场景中,当前网络拓扑信息如图7所示。网络拓扑信息包括网络的节点信息(A、B、C、D、E、F)、链路信息(各节点之间的连线)、各链路对应的路由代价(链路上括号内的第一个数据代表该链路的时延代价)和各链路的可用资源信息(链路上括号内的第二个数据代表该链路的带宽)等。则根据该如图7所示的当前网络拓扑信息进行算路的方法包括:
步骤一、获取的路径计算客户端发送的至少一个算路请求。
其中,获取的路径计算客户端发送的算路请求包括:算路请求1,对应的候选路径的路径配置信息中源节点为A、目的节点为F、对应的段列表数量为2、预设带宽为90Mbps、算路约束信息为最小时延约束;算路请求2,对应的候选路径的路径配置信息中源节点为A、目的节点为F、对应的段列表数量为2、预设带宽为90Mbps、算路约束信息为最小时延约束。
步骤二、在算路请求的数量为多个的情况下,基于各算路请求对应的路径配置信息,将满足预定条件的多个算路请求合并为一个新的算路请求,并确定新的算路请求对应的路径配置信息。
其中,根据算路请求1和算路请求2,确定新的算路请求对应的路径配置信息中,源节点为A、目的节点为F、对应的段列表数量为4、预设带宽为90Mbps、算路约束信息为最小时延约束。
需要说明的是,针对算路请求1,每个段列表分担的带宽为45Mbps;针对算路请求2,每个段列表分担的带宽为45Mbps,因此,在将满足预定条件的多个算路请求合并为一个新的算路请求之后,每个段列表分担的带宽为45Mbps。
步骤三、基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定出当前算路请求对应的所有不同的目标路径。
其中,确定出的当前算路请求对应的所有不同的目标路径包括:A---B---F,A---C---F,A---E---F。
在一个实施方式中,还可以对确定出的当前算路请求对应的所有不同的目标路进行带宽校验,以保证确定出的任意目标路径中,各链路对应的带宽均大于该每个段列表分担的带宽。
步骤四、将当前算路请求拆分为合并前的多个算路请求,并基于拆分得到的各算路请求对应的路径配置信息,为拆分得到的各算路请求分配相应数量的目标路径。
本实施例中,将当前算路请求拆分为合并前的算路请求1和算路请求2,为算路请求1分配的目标路径为A---B---F,A---C---F,为算路请求2分配的目标路径为A---E---F。由于算路请求是用于请求计算从源节点到目的节点的候选路径的请求,因此,本实施例中确定出从源节点到目的节点的两条候选路径,算路请求1确定出的候选路径对应2个段列表,算路请求2确定出的候选路径只能对应1个段列表。
图8为本公开实施例提供的又一种当前网络拓扑信息的示意图。在又一个实施场景中,如图8所示。网络拓扑信息包括网络的节点信息(A、B、C、D、E)、链路信息(各节点之间的连线)、各链路对应的路由代价(链路上的数据)等。获取的路径计算客户端发送的算路请求包括:算路请求1,对应的候选路径的路径配置信息中源节点为A、目的节点为F、对应的段列表数量为2、预设带宽为40Mbps、算路约束信息为最小时延约束;算路请求2,对应的候选路径的路径配置信息中源节点为A、目的节点为F、对应的段列表数量为2、预设带宽为40Mbps、算路约束信息为最小时延约束。
在该实施场景中,如果不进行链路分离,则根据最小时延约束原则,两条算路请求确定出的两条候选路径中,第一条候选路径对应的2个段列表均是A---E---F,第二条候选路径对应的2个段列表也均是A---E---F。
由此可见,本公开实施例提供的算路方法能够实现路径尽力分类的效果。
图9为本公开实施例提供一种路由计算设备的结构示意图。如图9所示,该路由计算设备包括:计算模块91、处理模块92和决策模块93。
计算模块91,用于基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径。
其中,网络拓扑信息包括网络的节点信息、链路信息、各链路对应的路由代价和各链路的可用资源信息等。本实施例中,链路指的是网络拓扑中任意一个节点与相邻节点之间的路径。该链路信息可以是链路的唯一标识。链路对应的路由代价是用于评估该链路的优劣的指标,例如,在路由代价仅与时延相关的情况下,该链路的时延越大,则该链路对应的路由代价越大。链路的可用资源信息包括该链路的带宽信息等。
当前算路请求对应的路径配置信息包括源节点的信息和目的节点的信息,其中源节点的信息可以包括源节点的标识、地址等信息;目的节点的信息可以包括目的节点的标识、地址等信息。目标路径是在当前网络拓扑信息中从源节点到目的节点对应的路由代价最小的路径。
算路请求是用于请求计算从源节点到目的节点的候选路径的请求,算路请求包括对应的候选路径的路径配置信息,该路径配置信息是该候选路径需要具有的性能参数。其中,路径配置信息包括源节点的信息、目的节点的信息、对应的段列表数量、预设带宽和算路约束信息。
处理模块92,用于基于所述目标路径对所述当前网络拓扑信息进行预设处理,以获得新的所述当前网络拓扑信息,并返回所述基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径的步骤。
决策模块93,用于在确定出的目标路径满足目标条件的情况下,确定出当前算路请求对应的所有不同的目标路径。
其中,目标条件包括:当前确定出的目标路径与之前确定出的目标路径相同,或者,确定出的所有目标路径互不相同且累计数量为预设数量。
在一个实施方式中,路由计算设备还包括:路由生成模块和发送模块。
其中,路由生成模块用于基于确定出的各目标路径生成所述当前算路请求对应的路由信息;发送模块用于将路由信息发送至转发设备,以供转发设备基于路由信息进行路由转发操作。
在一个实施方式中,路由计算设备还包括:获取模块、合并模块和拆分模块。
其中,获取模块用于获取路径计算客户端发送的至少一个算路请求,该算路请求包括对应的候选路径的路径配置信息。
合并模块用于基于各算路请求对应的路径配置信息,将满足预定条件的多个算路请求合并为一个新的算路请求;并且根据满足预定条件的多个算路请求对应的路径配置信息,确定新的算路请求对应的路径配置信息。
拆分模块用于将当前算路请求拆分为合并前的多个算路请求;基于拆分得到的各算路请求对应的路径配置信息,为拆分得到的各算路请求分配相应数量的目标路径。
在一个实施方式中,计算模块91还用于在拆分得到的任一算路请求对应的目标路径的数量小于该算路请求对应的段列表数量的情况下,基于当前网络拓扑信息和该算路请求对应的路径配置信息,确定该算路请求对应的其他目标路径。
路由生成模块还用于基于拆分得到的各算路请求对应的目标路径,生成拆分得到的各算路请求对应的路由信息。
发送模块还用于将路由信息发送至转发设备,以供转发设备基于所述路由信息进行路由转发操作。
本公开实施例提供一种路由计算设备,计算模块用于基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径,处理模块用于基于目标路径对当前网络拓扑信息进行预设处理,以获得新的当前网络拓扑信息,并返回基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定当前算路请求对应的一条目标路径的步骤。决策模块用于在确定出的目标路径满足目标条件的情况下,确定出当前算路请求对应的所有不同的目标路径,能够加快实现从源节点到目的节点的所有路径的尽力分离的效果。
在一个实施方式中,本公开提供的路由计算设备应用于管控产品中。
图10为本公开实施提供的一种管控产品的系统结构示意图,例如管控产品为SDN控制器。如图10所示,该管控产品的系统包括:IP(Internet Protocol,网际互连协议)网络设备1000、南向接口1001、拓扑资源模块1002、路径计算单元(Path Calculate Element,PCE)1003和北向接口1004。
其中,IP网络设备100包括路由器、交换机等。
南向接口1001,是管控产品与IP网络设备交互的模块,采用协议使得SDN控制器可以采集到应用设备的信息,例如,光设备信息。南向接口还用于采集网络拓扑信息。
拓扑资源模块1002,用于接收并存储南向接口发送的网络拓扑信息。
路径计算单元(Path Calculate Element,PCE)1003,实际上包含了很多子模块,其自身就是一个复杂的系统。PCE中包括本公开实施例提供的上述路由计算设备。除了上述路由计算设备,PCE还包括资源管理模块、图管理模块等。PCE通过协调调度各模块之间的交互,达到路由计算的目的。
北向接口1004:主要与更上层的应用模块进行交互,例如,路径计算客户端。
其中,路径计算客户端是用于发送算路请求的设备。该路径计算客户端可以用于配置SR Policy路径计算单元,如添加SR Policy的源节点和目的节点、候选路径的数量、候选路径的优先级、每个候选路径对应的段列表数量、算路约束信息等。用户在该路径计算客户端的操作界面配置算路数据后,路径计算客户端基于算路数据生成至少一个算路请求,并将该算路请求发送至路由计算设备。其中,每个算路请求对应请求计算一条候选路径。
图11为本公开实施例提供的一种电子设备的组成框图。如图11所示,该电子设备包括:
一个或多个处理器1101;
存储器1102,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一项的算路方法;
一个或多个I/O接口1103,连接在处理器与存储器之间,配置为实现处理器与存储器的信息交互。
其中,处理器1101为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器1102为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)1103连接在处理器1101与存储器1102间,能实现处理器1101与存储器1102的信息交互,其包括但不限于数据总线(Bus)等。
在一些实施例中,处理器1101、存储器1102和I/O接口1103通过总线相互连接,进而与计算设备的其它组件连接。
本公开实施例还提供一种计算机存储介质,其上存储有计算机程序,其中,该程序被执行时实现任意一项的算路方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (15)
1.一种算路方法,其特征在于,所述方法包括:
基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径;
基于所述目标路径对所述当前网络拓扑信息进行预设处理,以获得新的所述当前网络拓扑信息,并返回所述基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径的步骤;
在确定出的目标路径满足目标条件的情况下,确定出所述当前算路请求对应的所有不同的所述目标路径。
2.根据权利要求1所述的方法,其特征在于,所述目标条件包括:当前确定出的目标路径与之前确定出的目标路径相同。
3.根据权利要求1所述的方法,其特征在于,所述目标条件包括:确定出的所有目标路径互不相同且累计数量为预设数量。
4.根据权利要求1所述的方法,其特征在于,在基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径之前,所述方法还包括:
获取路径计算客户端发送的至少一个算路请求,所述算路请求包括对应的候选路径的路径配置信息。
5.根据权利要求4所述的方法,其特征在于,所述算路请求的数量为多个,在所述获取路径计算客户端发送的至少一个算路请求之后,所述方法还包括:
基于各所述算路请求对应的路径配置信息,将满足预定条件的多个算路请求合并为一个新的算路请求;并且
根据满足预定条件的多个算路请求对应的路径配置信息,确定新的算路请求对应的路径配置信息。
6.根据权利要求1所述的方法,其特征在于,所述基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径的步骤,包括:
基于所述路径配置信息和当前网络拓扑信息,利用目标路径计算算法,确定所述当前算路请求对应的一条目标路径;
其中,所述路径配置信息包括源节点的信息和目的节点的信息,所述目标路径为在所述当前网络拓扑信息中从所述源节点到所述目的节点对应的路由代价最小的路径。
7.根据权利要求6所述的方法,其特征在于,所述目标路径计算算法包括双向迪杰斯特拉算法、单向迪杰斯特拉算法或A*算法。
8.根据权利要求6所述的方法,其特征在于,所述基于所述目标路径对所述当前网络拓扑信息进行预设处理的步骤,包括:
将当前网络拓扑信息中所述目标路径的各链路的路由代价增大预设值;
将当前网络拓扑信息中所述目标路径经过的节点以及经过的节点对应的子节点的父子关系进行剪枝。
9.根据权利要求1所述的方法,其特征在于,在所述确定出所述当前算路请求对应的所有不同的所述目标路径之后,还包括:
基于确定出的各目标路径生成所述当前算路请求对应的路由信息;
将所述路由信息发送至转发设备,以供所述转发设备基于所述路由信息进行路由转发操作。
10.根据权利要求5所述的方法,其特征在于,在所述当前算路请求为合并多个算路请求后的新的算路请求的情况下,在所述确定出所述当前算路请求对应的所有不同的所述目标路径之后,还包括:
将所述当前算路请求拆分为合并前的多个算路请求;
基于拆分得到的各算路请求对应的路径配置信息,为拆分得到的各算路请求分配相应数量的目标路径;
基于拆分得到的各算路请求分别对应的目标路径,生成拆分得到的各算路请求分别对应的路由信息;
将所述路由信息发送至转发设备,以供所述转发设备基于所述路由信息进行路由转发操作。
11.根据权利要求10所述的方法,其特征在于,在所述基于拆分得到的各算路请求对应的路径配置信息,为拆分得到的各算路请求分配相应数量的目标路径之后,还包括:
在拆分得到的任一算路请求对应的目标路径的数量小于该算路请求对应的段列表数量的情况下,基于当前网络拓扑信息和该算路请求对应的路径配置信息,确定该算路请求对应的其他目标路径。
12.根据权利要求1所述的方法,其特征在于,所述路径配置信息还包括源节点的信息、目的节点的信息、对应的段列表数量、预设带宽和算路约束信息。
13.一种路由计算设备,其特征在于,所述路由计算设备包括:
计算模块,用于基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径;
处理模块,用于基于所述目标路径对所述当前网络拓扑信息进行预设处理,以获得新的所述当前网络拓扑信息,并返回所述基于当前网络拓扑信息和当前算路请求对应的路径配置信息,确定所述当前算路请求对应的一条目标路径的步骤;
决策模块,用于在确定出的目标路径满足目标条件的情况下,确定出所述当前算路请求对应的所有不同的所述目标路径。
14.一种电子设备,包括:
一个或多个处理器;
存储器,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-12任一项所述的算路方法。
15.一种计算机存储介质,其上存储有计算机程序,其中,所述程序被执行时实现如权利要求1-12任一项所述的算路方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111300379.4A CN116074204A (zh) | 2021-11-04 | 2021-11-04 | 算路方法、路由计算设备、电子设备和计算机存储介质 |
PCT/CN2022/127910 WO2023078150A1 (zh) | 2021-11-04 | 2022-10-27 | 算路方法、路由计算设备、电子设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111300379.4A CN116074204A (zh) | 2021-11-04 | 2021-11-04 | 算路方法、路由计算设备、电子设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116074204A true CN116074204A (zh) | 2023-05-05 |
Family
ID=86179183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111300379.4A Pending CN116074204A (zh) | 2021-11-04 | 2021-11-04 | 算路方法、路由计算设备、电子设备和计算机存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116074204A (zh) |
WO (1) | WO2023078150A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117135059A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 一种网络拓扑结构、构造方法、路由算法、设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760761B (zh) * | 2023-08-16 | 2023-10-13 | 摩尔线程智能科技(北京)有限责任公司 | 路径创建方法、数据处理系统、控制器、存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016131298A (ja) * | 2015-01-13 | 2016-07-21 | 富士通株式会社 | パス計算装置およびパス計算方法 |
CN108833271B (zh) * | 2018-05-28 | 2021-02-09 | 全球能源互联网研究院有限公司 | 一种电网广域控制业务通信路径选择方法及服务器 |
CN110557337B (zh) * | 2018-05-30 | 2021-12-28 | 中兴通讯股份有限公司 | 一种分段路由路径计算方法、装置及计算机存储介质 |
CN110289996A (zh) * | 2019-06-14 | 2019-09-27 | 浪潮思科网络科技有限公司 | 一种基于sr的业务路由计算方法 |
CN112261690B (zh) * | 2020-10-10 | 2022-04-01 | 北京航空航天大学 | 卫星网络约束多路径路由设定方法、电子设备及存储介质 |
-
2021
- 2021-11-04 CN CN202111300379.4A patent/CN116074204A/zh active Pending
-
2022
- 2022-10-27 WO PCT/CN2022/127910 patent/WO2023078150A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117135059A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 一种网络拓扑结构、构造方法、路由算法、设备及介质 |
CN117135059B (zh) * | 2023-10-25 | 2024-02-09 | 苏州元脑智能科技有限公司 | 一种网络拓扑结构、构造方法、路由算法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023078150A1 (zh) | 2023-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11627094B2 (en) | Scalable network slice based queuing using segment routing flexible algorithm | |
US10374956B1 (en) | Managing a hierarchical network | |
US7813270B2 (en) | Route precomputation method and apparatus for bandwidth guaranteed traffic | |
CN111654438B (zh) | 一种网络中建立转发路径的方法、控制器及系统 | |
Tomovic et al. | Performance comparison of QoS routing algorithms applicable to large-scale SDN networks | |
CN103650435A (zh) | 路由流量调整方法、装置及控制器 | |
CN116074204A (zh) | 算路方法、路由计算设备、电子设备和计算机存储介质 | |
CN108476175B (zh) | 使用对偶变量的传送sdn流量工程方法与系统 | |
CN107659426B (zh) | 分配物理资源的方法和网络侧设备 | |
CN109218213B (zh) | 一种流量调控方法及装置 | |
Liu et al. | Cost-efficient virtual network function placement and traffic steering | |
Shvedov et al. | Determining shortest paths between two arbitrary nodes in a composite transport network using segment routing | |
CN105357124A (zh) | 一种MapReduce带宽优化方法 | |
WO2016186861A1 (en) | Method and apparatus for self-tuned adaptive routing | |
EP3515018B1 (en) | Method, apparatus and system for measuring network path | |
WO2017136186A1 (en) | Mutually compatible path search | |
US7836201B2 (en) | Methods and systems for providing efficient provisioning of data flows | |
CN107995121A (zh) | 基于通配符的软件定义网络中流量统计方法 | |
US20130121146A1 (en) | Iterative max-min fairness algorithms | |
Amaral et al. | SDN based traffic engineering without optimization: A centrality based approach | |
CN110139173B (zh) | 一种降低光传送网端到端时延的网络分域方法 | |
US9674094B1 (en) | Method and apparatus for controlling transmission of packets over a link aggregation group | |
US11343120B2 (en) | ACTN virtual network augmentation for resource sharing | |
US11595292B2 (en) | Dynamic node cluster discovery in an unknown topology graph | |
Kostiv et al. | Metaheuristics in cloud platform traffic engineering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |