CN113347083B - 网络路径确定及切换方法、装置、设备、介质及程序产品 - Google Patents
网络路径确定及切换方法、装置、设备、介质及程序产品 Download PDFInfo
- Publication number
- CN113347083B CN113347083B CN202110598189.9A CN202110598189A CN113347083B CN 113347083 B CN113347083 B CN 113347083B CN 202110598189 A CN202110598189 A CN 202110598189A CN 113347083 B CN113347083 B CN 113347083B
- Authority
- CN
- China
- Prior art keywords
- path
- network node
- shortest
- network
- 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/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- 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/123—Evaluation of link metrics
-
- 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/124—Shortest path evaluation using a combination of metrics
-
- 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/22—Alternate routing
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种网络路径确定及切换方法、装置、设备、介质及程序产品,应用于通信技术领域,该方法包括:基于源网络节点和目的网络节点建立第一有向有环图,并确定第一最短路径;获取前i‑1条最短路径对应的所有的目标边集合,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,并确定目标边集合对应的第i条候选最短路径;将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合,将候选路径集合中的最短路径作为源网络节点和目的网络节点之间的第i条最短路径,从候选路径集合中删除第i条最短路径,将i的值加1,并继续执行获取前i‑1条最短路径对应的所有的目标边集合的步骤。本申请可以提高网络的可用性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种网络路径确定及切换方法、装置、设备、介质及程序产品。
背景技术
为了确保网络的高可用性,可以预先计算网络质量较好的路径作为备份路径,以在发生网络故障的情况下进行切换。相关技术中,通过最短路径算法(例如,Dijkstra算法、Floyd算法、A*算法等)只能计算一条最短路径作为备份路径,而不能计算多条路径作为备份路径,导致在发生网络故障的情况下网络的可用性不高。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种网络路径确定及切换方法、装置、设备、介质及程序产品。
根据本申请的第一方面,提供了一种网络路径确定方法,包括:
获取源网络节点和目的网络节点,基于所述源网络节点和所述目的网络节点建立第一有向有环图;其中,所述第一有向有环图包括所述源网络节点至所述目的网络节点的所有可达路径上的网络节点;
根据最短路径算法,确定所述第一有向有环图中所述源网络节点和所述目的网络节点之间的第一最短路径;执行如下的路径确定步骤:
获取前i-1条最短路径对应的所有的目标边集合,其中,每个所述目标边集合中包含所述前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;
针对每个所述目标边集合,从所述第一有向有环图中删除所述目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从所述第二有向有环图中获取所述目标边集合对应的第i条候选最短路径;
将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将所述候选路径集合中的最短路径作为所述源网络节点和所述目的网络节点之间的第i条最短路径,所述候选路径集合的初始状态为空集;
方法还包括:
如果i的值小于N,从所述候选路径集合中删除所述第i条最短路径,更新i,更新后的i的值比更新前的i的值大1,并继续执行所述路径确定步骤,其中,N小于或等于所述源网络节点和所述目的网络节点之间的网络路径总数量。
在一种可选的实施方式中,所述基于所述源网络节点和所述目的网络节点建立第一有向有环图,包括:
根据所述源网络节点和所述目的网络节点之间的网络拓扑结构,建立第一有向有环图,其中,所述第一有向有环图的边的权重根据节点之间的网络质量确定;
其中,所述网络质量包括以下一种或多种:延迟时间、丢包率和网络类型。
在一种可选的实施方式中,根据节点之间的网络质量确定所述第一有向有环图的边的权重,包括:
根据所述延迟时间,确定延迟权重;
根据所述丢包率,确定丢包权重;
根据所述网络类型,确定抖动性权重;
根据所述延迟权重、所述丢包权重和所述抖动性权重,确定所述第一有向有环图的边的权重。
在一种可选的实施方式中,所述根据所述延迟时间,确定延迟权重,包括:
如果所述延迟时间大于延迟时间阈值,基于所述延迟时间与所述延迟时间阈值确定延迟权重;
如果所述延迟时间不大于所述延迟时间阈值,将0作为延迟权重。
在一种可选的实施方式中,所述根据所述丢包率,确定丢包权重,包括:
如果所述丢包率不小于丢包阈值,将预设最大权重作为丢包权重;
如果所述丢包率小于所述丢包阈值,基于所述丢包率确定丢包权重。
在一种可选的实施方式中,所述根据所述网络类型,确定抖动性权重,包括:
如果网络类型为专线,将第一预设数值作为抖动性权重;
如果网络类型为公网,将第二预设数值作为抖动性权重,其中,所述第二预设数值大于所述第一预设数值。
在一种可选的实施方式中,所述方法还包括:
在得到前N条最短路径后,如果所述源网络节点和所述目的网络节点之间当前使用的初始网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由所述初始网络路径切换至所述前N条最短路径中的任一条路径;以及
如果所述初始网络路径的网络质量不低于所述网络质量阈值,将当前使用的网络路径由所述任一路径切换至所述初始网络路径。
根据本申请的第二方面,提供了一种网络路径切换方法,包括:
获取源网络节点和目的网络节点之间的前N条最短路径;其中,N小于或等于所述源网络节点和所述目的网络节点之间的网络路径总数量;
确定所述源网络节点和所述目的网络节点之间当前使用的第一网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由所述第一网络路径切换至第二网络路径,所述第二网络路径为所述前N条最短路径中的一条。
在一种可选的实施方式中,所述方法还包括:
确定所述源网络节点和所述目的网络节点之间的初始网络路径的网络质量不低于所述网络质量阈值,将当前使用的网络路径由所述第二网络路径切换至所述初始网络路径,其中,所述初始网络路径的稳定性高于预设稳定性阈值。
在一种可选的实施方式中,所述获取源网络节点和目的网络节点之间的前N条最短路径,包括:
获取源网络节点和目的网络节点,基于所述源网络节点和所述目的网络节点建立第一有向有环图,其中,所述第一有向有环图包括所述源网络节点至所述目的网络节点的所有可达路径上的网络节点;
根据最短路径算法,确定所述第一有向有环图中所述源网络节点和所述目的网络节点之间的第一最短路径;执行如下的路径确定步骤:
根据所述源网络节点和所述目的网络节点之间的前i-1条最短路径,确定第i条最短路径,所述i的初始值为2;
根据所述前i-1条最短路径和所述第i条最短路径,得到前i条最短路径;
所述方法还包括:
更新i,更新后的i的值比更新前的i的值大1,并继续执行路径确定步骤,直到所述i的值等于N。
在一种可选的实施方式中,所述根据所述源网络节点和所述目的网络节点之间的前i-1条最短路径,确定第i条最短路径,包括:
获取前i-1条最短路径对应的所有的目标边集合,其中,每个所述目标边集合中包含所述前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;
针对每个目标边集合,从所述第一有向有环图中删除所述目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从所述第二有向有环图中获取所述目标边集合对应的第i条候选最短路径;
将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将所述候选路径集合中的最短路径作为所述源网络节点和所述目的网络节点之间的第i条最短路径,从所述候选路径集合中删除所述第i条最短路径,所述候选路径集合的初始状态为空集。
在一种可选的实施方式中,所述基于所述源网络节点和所述目的网络节点建立第一有向有环图,包括:
根据所述源网络节点和所述目的网络节点之间的网络拓扑结构,建立第一有向有环图,其中,所述第一有向有环图的边的权重根据节点之间的网络质量确定;
其中,所述网络质量包括以下一种或多种:延迟时间、丢包率和网络类型。
在一种可选的实施方式中,根据节点之间的网络质量确定所述第一有向有环图的边的权重,包括:
根据所述延迟时间,确定延迟权重;
根据所述丢包率,确定丢包权重;
根据所述网络类型,确定抖动性权重;
根据所述延迟权重、所述丢包权重和所述抖动性权重,确定所述第一有向有环图的边的权重。
在一种可选的实施方式中,所述根据所述延迟时间,确定延迟权重,包括:
如果所述延迟时间大于延迟时间阈值,基于所述延迟时间与所述延迟时间阈值确定延迟权重;
如果所述延迟时间不大于所述延迟时间阈值,将0作为延迟权重。
在一种可选的实施方式中,所述根据所述丢包率,确定丢包权重,包括:
如果所述丢包率不小于丢包阈值,将预设最大权重作为丢包权重;
如果所述丢包率小于所述丢包阈值,基于所述丢包率确定丢包权重。
在一种可选的实施方式中,所述根据所述网络类型,确定抖动性权重,包括:
如果网络类型为专线,将第一预设数值作为抖动性权重;
如果网络类型为公网,将第二预设数值作为抖动性权重,其中,所述第二预设数值大于所述第一预设数值。
根据本申请的第三方面,提供了一种网络路径确定装置,包括:
第一有向有环图建立模块,用于获取源网络节点和目的网络节点,基于所述源网络节点和所述目的网络节点建立第一有向有环图,其中,所述第一有向有环图包括所述源网络节点至所述目的网络节点的所有可达路径上的网络节点;
第一条最短路径确定模块,用于根据最短路径算法,确定所述第一有向有环图中所述源网络节点和所述目的网络节点之间的第一最短路径;
目标边集合获取模块,用于获取前i-1条最短路径对应的所有的目标边集合,其中,每个目标边集合中包含所述前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;
第i条候选最短路径确定模块,用于针对每个目标边集合,从所述第一有向有环图中删除所述目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从所述第二有向有环图中获取所述目标边集合对应的第i条候选最短路径;
目标最短路径选取模块,用于将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将所述候选路径集合中的最短路径作为所述源网络节点和所述目的网络节点之间的第i条最短路径,所述候选路径集合的初始状态为空集;
最短路径删除模块,用于如果i的值小于N,从所述候选路径集合中删除所述第i条最短路径,更新i,更新后的i的值比更新前的i的值大1,返回所述目标边集合获取模块以继续执行所述获取前i-1条最短路径对应的所有的目标边集合的步骤,N小于或等于所述源网络节点和所述目的网络节点之间的网络路径总数量。
在一种可选的实施方式中,所述第一有向有环图建立模块,具体用于根据所述源网络节点和所述目的网络节点之间的网络拓扑结构,建立第一有向有环图,其中,所述第一有向有环图的边的权重根据节点之间的网络质量确定;其中,所述网络质量包括以下一种或多种:延迟时间、丢包率和网络类型。
在一种可选的实施方式中,上述网络路径确定装置还包括:
边的权重确定模块,用于根据所述延迟时间,确定延迟权重;根据所述丢包率,确定丢包权重;根据所述网络类型,确定抖动性权重;根据所述延迟权重、所述丢包权重和所述抖动性权重,确定所述第一有向有环图的边的权重。
在一种可选的实施方式中,边的权重确定模块,包括:
延迟权重确定单元,用于如果所述延迟时间大于延迟时间阈值,基于所述延迟时间与所述延迟时间阈值确定延迟权重;如果所述延迟时间不大于所述延迟时间阈值,将0作为延迟权重。
在一种可选的实施方式中,边的权重确定模块,包括:
丢包权重确定单元,用于如果所述丢包率不小于丢包阈值,将预设最大权重作为丢包权重;如果所述丢包率小于所述丢包阈值,基于所述丢包率确定丢包权重。
在一种可选的实施方式中,边的权重确定模块,包括:
抖动性权重确定单元,用于如果网络类型为专线,将第一预设数值作为抖动性权重;如果网络类型为公网,将第二预设数值作为抖动性权重,其中,所述第二预设数值大于所述第一预设数值。
在一种可选的实施方式中,上述网络路径确定装置还包括:
网络路径切换模块,用于在得到前N条最短路径后,如果所述源网络节点和所述目的网络节点之间当前使用的初始网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由所述初始网络路径切换至所述前N条最短路径中的任一条路径;以及如果所述初始网络路径的网络质量不低于所述网络质量阈值,将当前使用的网络路径由所述任一路径切换至所述初始网络路径。
根据本申请的第四方面,提供了一种网络路径切换装置,包括:
前N条最短路径获取模块,用于获取源网络节点和目的网络节点之间的前N条最短路径;其中,N小于或等于所述源网络节点和所述目的网络节点之间的网络路径总数量;
第一网络路径切换模块,用于确定所述源网络节点和所述目的网络节点之间当前使用的第一网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由所述第一网络路径切换至第二网络路径,所述第二网络路径为所述前N条最短路径中的一条。
在一种可选的实施方式中,所述装置还包括:
第二网络路径切换模块,用于确定所述源网络节点和所述目的网络节点之间的初始网络路径的网络质量不低于所述网络质量阈值,将当前使用的网络路径由所述第二网络路径切换至所述初始网络路径,其中,所述初始网络路径的稳定性高于预设稳定性阈值。
在一种可选的实施方式中,所述前N条最短路径获取模块,包括:
第一有向有环图建立单元,用于获取源网络节点和目的网络节点,基于所述源网络节点和所述目的网络节点建立第一有向有环图,其中,所述第一有向有环图包括所述源网络节点至所述目的网络节点的所有可达路径上的网络节点;
第一条最短路径确定单元,用于根据最短路径算法,确定所述第一有向有环图中所述源网络节点和所述目的网络节点之间的第一最短路径;
第i条最短路径确定单元,用于根据所述源网络节点和所述目的网络节点之间的前i-1条最短路径,确定第i条最短路径,所述i的初始值为2;
前i条最短路径确定单元,用于根据所述前i-1条最短路径和所述第i条最短路径,得到前i条最短路径;
I值更新模块,用于更新i,更新后的i的值比更新前的i的值大1,返回所述第i条最短路径确定单元,以继续执行根据所述源网络节点和所述目的网络节点之间的前i-1条最短路径的步骤,直至所述i的值等于N。
在一种可选的实施方式中,所述第i条最短路径确定单元,具体用于获取前i-1条最短路径对应的所有的目标边集合,其中,每个所述目标边集合中包含所述前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;针对每个目标边集合,从所述第一有向有环图中删除所述目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从所述第二有向有环图中获取所述目标边集合对应的第i条候选最短路径;将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将所述候选路径集合中的最短路径作为所述源网络节点和所述目的网络节点之间的第i条最短路径,从所述候选路径集合中删除所述第i条最短路径,所述候选路径集合的初始状态为空集。
在一种可选的实施方式中,所述第一有向有环图建立单元,具体用于根据所述源网络节点和所述目的网络节点之间的网络拓扑结构,建立第一有向有环图,其中,所述第一有向有环图的边的权重根据节点之间的网络质量确定;其中,所述网络质量包括以下一种或多种:延迟时间、丢包率和网络类型。
在一种可选的实施方式中,上述网络路径切换装置还包括:
边的权重确定模块,用于根据所述延迟时间,确定延迟权重;根据所述丢包率,确定丢包权重;根据所述网络类型,确定抖动性权重;根据所述延迟权重、所述丢包权重和所述抖动性权重,确定所述第一有向有环图的边的权重。
在一种可选的实施方式中,边的权重确定模块,包括:
延迟权重确定单元,用于如果所述延迟时间大于延迟时间阈值,基于所述延迟时间与所述延迟时间阈值确定延迟权重;如果所述延迟时间不大于所述延迟时间阈值,将0作为延迟权重。
在一种可选的实施方式中,边的权重确定模块,包括:
丢包权重确定单元,用于如果所述丢包率不小于丢包阈值,将预设最大权重作为丢包权重;如果所述丢包率小于所述丢包阈值,基于所述丢包率确定丢包权重。
在一种可选的实施方式中,边的权重确定模块,包括:
抖动性权重确定单元,用于如果网络类型为专线,将第一预设数值作为抖动性权重;如果网络类型为公网,将第二预设数值作为抖动性权重,其中,所述第二预设数值大于所述第一预设数值。
根据本申请的第五方面,提供了一种电子设备,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
根据本申请的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第二方面所述的方法。
根据本申请的第七方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面或第二方面所述的方法。
本申请实施例提供的技术方案与现有技术相比具有如下优点:
由于基于网络节点所建立的有向图是有环的,因此,可以基于最短路径算法,通过循环的方式,逐次选取第一最短路径至第N条最短路径,从而提供了一种可以得到前N条最短路径的方法。并且,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从第二有向有环图中获取目标边集合对应的第i条候选最短路径,也就是,基于前i-1条最短路径计算第i条最短路径时,通过删除前i-1条最短路径中的每条路径中的每一条边,计算多种情况下的候选最短路径。例如,如果第1短路径中有10条边,第2短路径中有15条边,删除第1条最短路径和第2条最短路径中的各一条边,可以得到150种目标边集合,从而可以得到150条候选最短路径。从该150条候选最短路径中选取最短路径作为第3条最短路径,以此类推。这样,可以提高前N条最短路径确定的准确性,进而可以在出现网络故障的情况下提供多条网络路径进行切换,以提高网络的可用性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中网络质量地图的一种示意图;
图2为本申请实施例中网络路径确定方法的一种流程图;
图3为本申请实施例中网络路径确定方法的又一种流程图;
图4a为本申请实施例中网络路径切换方法的一种流程图;
图4b为本申请实施例中前N条最短路径的获取方法的一种流程图;
图5为本申请实施例中网络路径确定装置的一种结构示意图;
图6为本申请实施例中网络路径切换装置的一种结构示意图;
图7为本申请实施例中电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面将对本申请的方案进行进一步描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但本申请还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本申请的一部分实施例,而不是全部的实施例。
各个地区的网络可以构成网络质量地图,包括:各个地区的网络设备、网络设备之间的网络路径、各个网络路径的网络质量,可以将网络质量地图抽象为有向图。网络质量地图可以是全球范围内的网络质量地图,也可以是全球部分地区内的网络质量地图。由于网络质量地图是可以包含回路的有向图,因此,可以将网络质量地图抽象为有向有环图,有向有环图中的节点为各个地区的网络设备。
参见图1,图1为本申请实施例中网络质量地图的一种示意图。可以看出,该网络质量地图是有向有环图,即节点3经过节点1、节点4之后,可以再回到节点3,从而形成一个回路。假设节点2要向节点6传输数据,那么,节点2即为源网络节点,节点6即为目的网络节点,节点2和节点6之间可以包括多条网络路径。本申请实施例的网络路径确定及切换方法、装置、设备、介质及程序产品,可以确定源网络节点和目的网络节点之间的前N条最短路径作为备份路径,以在发生网络故障的情况下进行切换,以提高网络的可用性。
参见图2,图2为本申请实施例中网络路径确定的一种流程图,可以包括以下步骤:
步骤110,获取源网络节点和目的网络节点,基于源网络节点和目的网络节点建立第一有向有环图,其中,第一有向有环图包括源网络节点至目的网络节点的所有可达路径上的网络节点。
本申请实施例中,源网络节点和目的网络节点可以是全球任意两个地区的网络设备,例如,可以分别是北京的网络设备和上海的网络设备。源网络节点和目的网络节点不同,源网络节点至目的网络节点之间的所有可达路径可以不同,因此,所建立的第一有向有环图也可以不同。例如,如果源网络节点和目的网络节点是中国某个省的两个市的网络设备,那么,第一有向有环图可以是包含该省内的各个地区的网络设备的有向有环图。如果源网络节点和目的网络节点是中国某两个省的网络设备,第一有向有环图可以是包含中国区域内的各个地区的网络设备的有向有环图,或者,第一有向有环图也可以是包含全球内各个地区的网络设备的有向有环图。
步骤120,根据最短路径算法,确定第一有向有环图中源网络节点和目的网络节点之间的第一最短路径。
需要说明的是,最短路径算法可以是Dijkstra算法、Floyd算法、A*算法等,上述算法可以计算第一有向有环图中的最短路径。最短路径只有一条,该最短路径也就是源网络节点和目的网络节点之间的第一最短路径。
步骤130,获取前i-1条最短路径对应的所有的目标边集合,其中,每个目标边集合中包含前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2。
本申请实施例中,步骤130是可以循环执行的步骤,在第一次执行步骤130时,i的初始值为2,前i-1条最短路径指的是前1条最短路径,即第一条最短路径。在第二次执行步骤130时,前i-1条最短路径指的是第一条最短路径和第二条最短路径,在第三次执行步骤130时,前i-1条最短路径指的是第一条最短路径、第二条最短路径和第三条最短路径,以此类推。
由于在计算第i条最短路径时,可以删除前i-1条最短路径中每条路径中的各一条边之后再计算最短路径,因此,可以获取前i-1条最短路径对应的所有的目标边集合。例如,第一条最短路径中包含12条边,在计算第二条最短路径时,删除第一条最短路径中的每一条表,可以得到12种目标边集合,每个目标边集合中包含一条边。如果计算得到的第二条最短路径中包含13条边,在计算第三条最短路径时,通过将该12条边和13条边进行组合,可以得到12×13种目标边集合,每个目标边集合中包含两条边。如果计算得到的第三条最短路径中包含15条边,那么在计算第四条最短路径时,通过将该12条边、13条边和15条边进行组合,可以得到12×13×15种目标边集合,每个目标边集合中包含三条边。
步骤140,针对每个目标边集合,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从第二有向有环图中获取目标边集合对应的第i条候选最短路径。
具体的,从第一有向有环图中删除每个目标边集合后,均可以得到对应的第二有向有环图,并计算该第二有向有环图中源网络节点和目的网络节点之间的最短路径。例如,对于步骤130中的12×13种目标边集合,可以得到12×13个第二有向有环图,并且该12×13个第二有向有环图均不相同,因此可以得到12×13条候选最短路径。
步骤150,将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将候选路径集合中的最短路径作为源网络节点和目的网络节点之间的第i条最短路径,候选路径集合的初始状态为空集。
本申请实施例中,在循环执行步骤130的过程中,候选路径集合中的最短路径不断累加。例如,在计算第二条最短路径时,可以得到12种目标边集合,即对应于12个第二有向有环图。相应地,可以得到12条最短路径,并将该12条最短路径添加至候选路径集合中。在计算第三条最短路径时,可以得到12×13种目标边集合,即对应于12×13个第二有向有环图。相应地,可以得到12×13条候选最短路径,并将该12×13条候选最短路径添加至候选路径集合中,以此类推。从候选路径集合中选取最短路径,作为源网络节点和目的网络节点之间的第i条最短路径。需要说明的是,如果候选路径集合中的最短路径有多条,可以任意选取一条作为源网络节点和目的网络节点之间的第i条最短路径。
步骤160,如果i的值小于N,从候选路径集合中删除第i条最短路径,更新i,更新后的i的值比更新前的i的值大1,返回执行步骤130,N小于或等于源网络节点和目的网络节点之间的网络路径总数量。
需要说明的是,N可以为预先设置的备选路径的总数量。在从候选路径集合中选取最短路径,作为源网络节点和目的网络节点之间的第i条最短路径之后,如果i的值小于N,表示已经选取的网络路径的数量未达到要求,可以将该最短路径从候选路径集合中删除,并将i的值加1,返回步骤130,继续确定下一条最短路径。这样,在下次从候选路径集合中选取最短路径时,避免重复选取。如果i的值等于N,流程结束。
如前所述,在计算第四条最短路径时,可以得到12×13×15种目标边集合,即,得到12×13×15个第二有向有环图,分别计算12×13×15个第二有向有环图的最短路径所需要的计算量明显增加。即,随着N的数值的增加,计算量也会明显增加。优选的,N的值可以设置为3,一方面,设置3条备选网络路径通常可以满足网络需求,另一方面,不会因为N的值过大,导致计算量的明显增加。
本申请实施例的网络路径确定方法,由于基于网络节点所建立的有向图是有环的,因此,可以基于最短路径算法,通过循环的方式,逐次选取第一最短路径至第N条最短路径,从而提供了一种可以得到前N条最短路径的方法。并且,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从第二有向有环图中获取目标边集合对应的第i条候选最短路径,也就是,基于前i-1条最短路径计算第i条最短路径时,通过删除前i-1条最短路径中的每条路径中的每一条边,计算多种情况下的候选最短路径。例如,如果第1短路径中有10条边,第2短路径中有15条边,删除第1条最短路径和第2条最短路径中的各一条边,可以得到150种目标边集合,从而可以得到150条候选最短路径。从该150条候选最短路径中选取最短路径作为第3条最短路径,以此类推。这样,可以提高前N条最短路径确定的准确性,进而可以在出现网络故障的情况下提供多条网络路径进行切换,以提高网络的可用性。
参见图3,图3为本申请实施例中网络路径确定的又一种流程图,可以包括以下步骤:
步骤210,获取源网络节点和目的网络节点,基于源网络节点和目的网络节点建立第一有向有环图,其中,第一有向有环图包括源网络节点至目的网络节点的所有可达路径上的网络节点。
本申请实施例中,可以根据源网络节点和目的网络节点之间的网络拓扑结构,建立第一有向有环图,其中,第一有向有环图的边的权重可以根据节点之间的网络质量确定。其中,网络质量包括以下一种或多种:延迟时间、丢包率和网络类型。
假设网络质量包括延迟时间、丢包率和网络类型,在一种可选的实施方式中,可以根据延迟时间,确定延迟权重,延迟时间越长,延迟权重越大。根据丢包率,确定丢包权重,丢包率越高,丢包权重越大。根据网络类型,确定抖动性权重,由于公网的抖动性比专线的抖动性高,因此,在网络类型为公网的情况下,抖动性权重越大,在网络类型为专线的情况下,抖动性权重越小。
本申请实施例中,如果延迟时间在延迟时间阈值(例如150ms、200ms等)之内,可以认为该延迟时间可以忽略不计,此时,可以将延迟权重的值设置为0。因此,根据延迟时间,确定延迟权重的方式可以为:如果延迟时间大于延迟时间阈值,可以基于延迟时间与延迟时间阈值确定延迟权重。可选的,可以将延迟时间与延迟时间阈值之差与第一倍数的乘积作为延迟权重,其中,第一倍数大于1;如果延迟时间不大于延迟时间阈值,将0作为延迟权重。可以看出,延迟时间越长,延迟权重越大。
如果丢包率不小于丢包阈值(例如,80%、90%等),表示该条边的丢包率过大,可以将预设最大权重作为丢包权重。这样,在该预设最大权重的基础上计算得到的边的权重也会较大,在计算最短路径时将不会选取该条边。如果丢包率小于丢包阈值,可以基于丢包率确定丢包权重。可选的,由于丢包率是小于1的数,对丢包率进行平方根运算之后得到的数值大于丢包率,并且更接近于1,因此,可以将丢包率的平方根与第二倍数的乘积作为丢包权重,其中,第二倍数大于1,例如,第二倍数可以是大于50的数。当然,丢包权重的计算方式不限于此,例如,也可以将丢包率的立方根与第二倍数的乘积作为丢包权重等等。
由于公网的稳定性较专线低,因此,如果网络类型为专线,可以将第一预设数值作为抖动性权重;如果网络类型为公网,可以将第二预设数值作为抖动性权重。其中,第二预设数值大于第一预设设置,这样,公网对应的抖动性权重大于专线对应的抖动性权重。可选的,第二预设数值可以是第一预设数值与第三倍数的乘积,即公网对应的抖动性权重可以是专线对应的抖动性权重与第三倍数的乘积,其中,第三倍数大于1。或者,公网对应的抖动性权重也可以是专线对应的抖动性权重加上一正数值,等等。
之后,可以根据延迟权重、丢包权重和抖动性权重,确定第一有向有环图的边的权重。例如,可以将延迟权重、丢包权重和抖动性权重之和,作为第一有向有环图的边的权重。或者,可以为延迟权重、丢包权重和抖动性权重设置权重系统系数,将延迟权重、丢包权重和抖动性权重的加权之和,作为第一有向有环图的边的权重。
步骤220,根据最短路径算法,确定第一有向有环图中源网络节点和目的网络节点之间的第一最短路径。
步骤230,获取前i-1条最短路径对应的所有的目标边集合,其中,每个目标边集合中包含前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2。
步骤240,针对每个目标边集合,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从第二有向有环图中获取目标边集合对应的第i条候选最短路径。
步骤250,将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将候选路径集合中的最短路径作为源网络节点和目的网络节点之间的第i条最短路径,候选路径集合的初始状态为空集。
上述步骤220~步骤250的处理过程与图2实施例步骤120~步骤150相同,具体参见图2实施例中的描述即可,在此不再赘述。
步骤260,判断i的值是否小于N,其中,N小于或等于源网络节点和目的网络节点之间的网络路径总数量。
如前所述,如果i的值小于N,表示当前选取的最短路径的数量未达到网络路径总数量,可以执行步骤270,以选取下一条最短路径。如果i的值等于N,可以执行步骤280,即,在发生网络故障的情况下切换网络路径。
步骤270,从候选路径集合中删除第i条最短路径,更新i,更新后的i的值比更新前的i的值大1,返回执行步骤230。
步骤280,如果源网络节点和目的网络节点之间当前使用的初始网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由初始网络路径切换至前N条最短路径中的任一条路径;以及如果初始网络路径的网络质量不低于网络质量阈值,将当前使用的网络路径由任一路径切换至初始网络路径。
具体的,源网络节点和目的网络节点之间当前使用的初始网络路径,可能因突发情况导致网络质量变差,即网络质量不低于网络质量阈值,此时,可以及时挑选较优路径。例如,可以是前N条最短路径中的任一路径,或者,前N条最短路径中的最短路径,即第一条最短路径,并切换到较优路径。由于初始网络路径通常是结合人工观测确定的比较稳定的路径,而切换后的较优路径虽然当前网络质量较好,但是可能存在无法保证路径稳定性问题。因此,在一些应用场景中,若初始网络路径的网络质量恢复,可以再切回初始网络路径。
在一种可选的实施方式中,在确定前N条最短路径后,如果源网络节点和目的网络节点之间当前使用的初始网络路径不稳定,可以结合人工观测从前N条最短路径中挑选一条较稳定的路径作为默认路径长期使用。
另外,在确定前N条最短路径后,还可以对前N条最短路径进行更精确的排序。具体而言,还可以根据累乘丢包率以及节点个数增多带来的常量级别损耗,重新计算权重,并重新对前N条最短路径进行排序,得到排序后的网络路径。
例如,A->B的丢包率是10%,B->C的丢包率是10%,A->B->C的累乘丢包率为1-(1-10%)×(1-10%),而不是10%+10%。A->C的路径,可能是A->B->C,也可能是A->B->D->E->C,后者会带来更多的损耗。因此,可以结合前N条最短路径中的累乘丢包率和网络损耗,重新对前N条最短路径进行排序,以对排序结果进行优化。
本申请实施例的网络路径确定方法,在确定前N条最短路径后,可以将前N条最短路径作为备选路径,以在发生网络故障的情况下切换到前N条最短路径中的任一路径,在原始网络路径恢复后,还可以切回原始网络路径,从而可以提高网络的可用性。另外,在源网络节点和目的网络节点之间的网络不稳定的情况下,还可以选取一条备选路径作为默认路径长期使用,也可以提高网络的可用性。
参见图4a,图4a为本申请实施例中网络路径切换方法的一种流程图,可以包括以下步骤:
步骤302,获取源网络节点和目的网络节点之间的前N条最短路径;其中,N小于或等于源网络节点和目的网络节点之间的网络路径总数量。
步骤304,确定源网络节点和目的网络节点之间当前使用的第一网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由第一网络路径切换至第二网络路径,第二网络路径为前N条最短路径中的一条。
在获取前N条最短路径后,可以基于源网络节点和目的网络节点之间当前使用的第一网络路径的网络质量,确定是否进行网络切换,以提高网络的可用性。
在一种可选的实施方式中,第一网络路径可以是结合人工观测挑选的初始网络路径,该初始网络路径的稳定性较好。如果初始网络路径的网络质量第一网络质量阈值,可以将网络路径由该初始网络路径切换至第二网络路径。
在又一种场景下,通过执行上述步骤,第一网络路径为前N条最短路径中的一条,而前N条最短路径是随着时间变化的,那么,第一网络路径为变化之前的前N条最短路径中的一条网络路径,第二网络路径可以为变化之后的前N条最短路径中的一条网络路径。也就是说,源网络节点和目的网络节点之间当前使用的网络路径可以随着前N条最短路径的变化而变化。
本申请实施例的网络路径切换方法,在获取前N条最短路径后,可以将前N条最短路径作为备选路径,以在源网络节点和目的网络节点之间当前使用的第一网络路径发生网络故障的情况下,切换到前N条最短路径中的任一路径,从而可以提高网络的可用性。
在一种可选的实施方式中,确定源网络节点和目的网络节点之间的初始网络路径的网络质量不低于网络质量阈值,将当前使用的网络路径由第二网络路径切换至初始网络路径,其中,初始网络路径的稳定性高于预设稳定性阈值。即,在原始网络路径恢复后,还可以切回至稳定性较好的原始网络路径,以提高网络的可用性。
参见图4b,图4b为本申请实施例中前N条最短路径的获取方法的一种流程图,可以包括以下步骤:
步骤310,获取源网络节点和目的网络节点,基于源网络节点和目的网络节点建立第一有向有环图,其中,第一有向有环图包括源网络节点至目的网络节点的所有可达路径上的网络节点。
需要说明的是,建立第一有向有环图的方法与图2、图3实施例中建立第一有向有环图的方法相同,具体参见图2实施例中的描述即可,在此不再赘述。
步骤320,根据最短路径算法,确定第一有向有环图中源网络节点和目的网络节点之间的第一最短路径。
步骤330,根据源网络节点和目的网络节点之间的前i-1条最短路径,确定第i条最短路径,i的初始值为2。
本申请实施例中,在确定第一最短路径后,可以基于第一最短路径确定第二条最短路径,基于第一最短路径和第二条最短路径确定第三条最短路径,以此类推,逐个得到前N条最短路径。
在一种可选的实施方式中,可以获取前i-1条最短路径对应的所有的目标边集合,其中,每个目标边集合中包含前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2。针对每个目标边集合,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从第二有向有环图中获取目标边集合对应的第i条候选最短路径。将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将候选路径集合中的最短路径作为源网络节点和目的网络节点之间的第i条最短路径,从候选路径集合中删除第i条最短路径,候选路径集合的初始状态为空集。
上述确定第i条最短路径的方式可参见图2、图3实施例中的描述,在此不再赘述。
步骤340,根据前i-1条最短路径和第i条最短路径,得到前i条最短路径。
在每确定一次第i条最短路径后,可以将前i-1条最短路径和第i条最短路径的集合作为前i条最短路径。
步骤350,判断i的值是否小于N。
如果i的值小于N,执行步骤360,如果i的值不小于N,即i的值等于N,表示已经获取到前N条最短路径,流程结束。
步骤360,更新i,更新后的i的值比更新前的i的值大1,返回步骤330。
本申请基于最短路径算法,通过循环的方式,逐次选取第一最短路径至第N条最短路径,从而提供了一种可以得到前N条最短路径的方法。并且,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从第二有向有环图中获取目标边集合对应的第i条候选最短路径,也就是,基于前i-1条最短路径计算第i条最短路径时,通过删除前i-1条最短路径中的每条路径中的每一条边,计算多种情况下的候选最短路径,从而可以提高前N条最短路径确定的准确性。
相应于上述方法实施例,本申请实施例还提供了一种网络路径确定装置,参见图5,该网络路径确定装置包括:
第一有向有环图建立模块410,用于获取源网络节点和目的网络节点,基于源网络节点和目的网络节点建立第一有向有环图,其中,第一有向有环图包括源网络节点至目的网络节点的所有可达路径上的网络节点;
第一条最短路径确定模块420,用于根据最短路径算法,确定第一有向有环图中源网络节点和目的网络节点之间的第1条最短路径;
目标边集合获取模块430,用于获取前i-1条最短路径对应的所有的目标边集合,其中,每个目标边集合中包含前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;
第i条候选最短路径确定模块440,用于针对每个目标边集合,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从第二有向有环图中获取目标边集合对应的第i条候选最短路径;
目标最短路径选取模块450,用于将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将候选路径集合中的最短路径作为源网络节点和目的网络节点之间的第i条最短路径,候选路径集合的初始状态为空集;
最短路径删除模块460,用于如果i的值小于N,从候选路径集合中删除第i条最短路径,更新i,更新后的i的值比更新前的i的值大1,返回目标边集合获取模块430以继续执行获取前i-1条最短路径对应的所有的目标边集合的步骤,N小于或等于源网络节点和目的网络节点之间的网络路径总数量。
在一种可选的实施方式中,第一有向有环图建立模块,具体用于根据源网络节点和目的网络节点之间的网络拓扑结构,建立第一有向有环图,其中,第一有向有环图的边的权重根据节点之间的网络质量确定;其中,网络质量包括以下一种或多种:延迟时间、丢包率和网络类型。
在一种可选的实施方式中,上述网络路径确定装置还包括:
边的权重确定模块,用于根据延迟时间,确定延迟权重;根据丢包率,确定丢包权重;根据网络类型,确定抖动性权重;根据延迟权重、丢包权重和抖动性权重,确定第一有向有环图的边的权重。
在一种可选的实施方式中,边的权重确定模块,包括:
延迟权重确定单元,用于如果延迟时间大于延迟时间阈值,基于延迟时间与延迟时间阈值确定延迟权重;如果延迟时间不大于延迟时间阈值,将0作为延迟权重。
在一种可选的实施方式中,边的权重确定模块,包括:
丢包权重确定单元,用于如果丢包率不小于丢包阈值,将预设最大权重作为丢包权重;如果丢包率小于丢包阈值,基于丢包率确定丢包权重。
在一种可选的实施方式中,边的权重确定模块,包括:
抖动性权重确定单元,用于如果网络类型为专线,将第一预设数值作为抖动性权重;如果网络类型为公网,将第二预设数值作为抖动性权重,其中,第二预设数值大于第一预设数值。
在一种可选的实施方式中,上述网络路径确定装置还包括:
网络路径切换模块,用于在得到前N条最短路径后,如果源网络节点和目的网络节点之间当前使用的初始网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由初始网络路径切换至前N条最短路径中的任一条路径;以及如果初始网络路径的网络质量不低于网络质量阈值,将当前使用的网络路径由任一路径切换至初始网络路径。
参见图6,图6为本申请实施例中网络路径切换装置的一种结构示意图,包括:
前N条最短路径获取模块510,用于获取源网络节点和目的网络节点之间的前N条最短路径;N小于或等于源网络节点和目的网络节点之间的网络路径总数量;
第一网络路径切换模块520,用于确定源网络节点和目的网络节点之间当前使用的第一网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由第一网络路径切换至第二网络路径,第二网络路径为前N条最短路径中的一条。
在一种可选的实施方式中,上述装置还包括:
第二网络路径切换模块,用于确定源网络节点和目的网络节点之间的初始网络路径的网络质量不低于网络质量阈值,将当前使用的网络路径由第二网络路径切换至初始网络路径,其中,初始网络路径的稳定性高于预设稳定性阈值。
在一种可选的实施方式中,前N条最短路径获取模块,包括:
第一有向有环图建立单元,用于获取源网络节点和目的网络节点,基于源网络节点和目的网络节点建立第一有向有环图,其中,第一有向有环图包括源网络节点至目的网络节点的所有可达路径上的网络节点;
第一条最短路径确定单元,用于根据最短路径算法,确定第一有向有环图中源网络节点和目的网络节点之间的第一最短路径;
第i条最短路径确定单元,用于根据源网络节点和目的网络节点之间的前i-1条最短路径,确定第i条最短路径,i的初始值为2;
前i条最短路径确定单元,用于根据前i-1条最短路径和第i条最短路径,得到前i条最短路径;
I值更新模块,用于更新i,更新后的i的值比更新前的i的值大1,返回第i条最短路径确定单元,以继续执行根据源网络节点和目的网络节点之间的前i-1条最短路径的步骤,直至i的值等于N。
在一种可选的实施方式中,第i条最短路径确定单元,具体用于获取前i-1条最短路径对应的所有的目标边集合,其中,每个目标边集合中包含前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;针对每个目标边集合,从第一有向有环图中删除目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从第二有向有环图中获取目标边集合对应的第i条候选最短路径;将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将候选路径集合中的最短路径作为源网络节点和目的网络节点之间的第i条最短路径,从候选路径集合中删除第i条最短路径,候选路径集合的初始状态为空集。
在一种可选的实施方式中,第一有向有环图建立单元,具体用于根据源网络节点和目的网络节点之间的网络拓扑结构,建立第一有向有环图,其中,第一有向有环图的边的权重根据节点之间的网络质量确定;其中,网络质量包括以下一种或多种:延迟时间、丢包率和网络类型。
在一种可选的实施方式中,上述网络路径切换装置还包括:
边的权重确定模块,用于根据延迟时间,确定延迟权重;根据丢包率,确定丢包权重;根据网络类型,确定抖动性权重;根据延迟权重、丢包权重和抖动性权重,确定第一有向有环图的边的权重。
在一种可选的实施方式中,边的权重确定模块,包括:
延迟权重确定单元,用于如果延迟时间大于延迟时间阈值,基于延迟时间与延迟时间阈值确定延迟权重;如果延迟时间不大于延迟时间阈值,将0作为延迟权重。
在一种可选的实施方式中,边的权重确定模块,包括:
丢包权重确定单元,用于如果丢包率不小于丢包阈值,将预设最大权重作为丢包权重;如果丢包率小于丢包阈值,基于丢包率确定丢包权重。
在一种可选的实施方式中,边的权重确定模块,包括:
抖动性权重确定单元,用于如果网络类型为专线,将第一预设数值作为抖动性权重;如果网络类型为公网,将第二预设数值作为抖动性权重,其中,第二预设数值大于第一预设数值。
上述装置中各模块或单元的具体细节已经在对应的方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
在本申请的示例性实施例中,还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行上述网络路径确定方法,或网络路径切换方法。
图7为本申请实施例中电子设备的一种结构示意图。需要说明的是,图7示出的电子设备600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统操作所需的各种程序和数据。中央处理单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如局域网(LAN)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元601执行时,执行本申请的装置中限定的各种功能。
本申请实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述网络路径确定方法,或网络路径切换方法。
需要说明的是,本申请所示的计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器、只读存储器、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、射频等等,或者上述的任意合适的组合。
本申请实施例中,还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述网络路径确定方法,或网络路径切换方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种网络路径确定方法,其特征在于,所述方法包括:
获取源网络节点和目的网络节点,基于所述源网络节点和所述目的网络节点建立第一有向有环图,其中,所述第一有向有环图包括所述源网络节点至所述目的网络节点的所有可达路径上的网络节点;
根据最短路径算法,确定所述第一有向有环图中所述源网络节点和所述目的网络节点之间的第一最短路径;执行如下的路径确定步骤:
获取前i-1条最短路径对应的所有的目标边集合,其中,每个所述目标边集合中包含所述前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;
针对每个目标边集合,从所述第一有向有环图中删除所述目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从所述第二有向有环图中获取所述目标边集合对应的第i条候选最短路径;
将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将所述候选路径集合中的最短路径作为所述源网络节点和所述目的网络节点之间的第i条最短路径,所述候选路径集合的初始状态为空集;
所述方法还包括:
如果i的值小于N,从所述候选路径集合中删除所述第i条最短路径,更新i,更新后的i的值比更新前的i的值大1,并继续执行所述路径确定步骤,其中,N小于或等于所述源网络节点和所述目的网络节点之间的网络路径总数量。
2.根据权利要求1所述的方法,其特征在于,所述基于所述源网络节点和所述目的网络节点建立第一有向有环图,包括:
根据所述源网络节点和所述目的网络节点之间的网络拓扑结构,建立第一有向有环图,其中,所述第一有向有环图的边的权重根据节点之间的网络质量确定;
其中,所述网络质量包括以下一种或多种:延迟时间、丢包率和网络类型。
3.根据权利要求2所述的方法,其特征在于,根据节点之间的网络质量确定所述第一有向有环图的边的权重,包括:
根据所述延迟时间,确定延迟权重;
根据所述丢包率,确定丢包权重;
根据所述网络类型,确定抖动性权重;
根据所述延迟权重、所述丢包权重和所述抖动性权重,确定所述第一有向有环图的边的权重。
4.根据权利要求3所述的方法,其特征在于,所述根据所述延迟时间,确定延迟权重,包括:
如果所述延迟时间大于延迟时间阈值,基于所述延迟时间与所述延迟时间阈值确定延迟权重;
如果所述延迟时间不大于所述延迟时间阈值,将0作为延迟权重。
5.根据权利要求3所述的方法,其特征在于,所述根据所述丢包率,确定丢包权重,包括:
如果所述丢包率不小于丢包阈值,将预设最大权重作为丢包权重;
如果所述丢包率小于所述丢包阈值,基于所述丢包率确定丢包权重。
6.根据权利要求3所述的方法,其特征在于,所述根据所述网络类型,确定抖动性权重,包括:
如果网络类型为专线,将第一预设数值作为抖动性权重;
如果网络类型为公网,将第二预设数值作为抖动性权重,其中,所述第二预设数值大于所述第一预设数值。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在得到前N条最短路径后,如果所述源网络节点和所述目的网络节点之间当前使用的初始网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由所述初始网络路径切换至所述前N条最短路径中的任一条路径;以及
如果所述初始网络路径的网络质量不低于所述网络质量阈值,将当前使用的网络路径由所述任一条路径切换至所述初始网络路径。
8.一种网络路径切换方法,其特征在于,所述方法包括:
获取源网络节点和目的网络节点之间的前N条最短路径;其中,N小于或等于所述源网络节点和所述目的网络节点之间的网络路径总数量;
确定所述源网络节点和所述目的网络节点之间当前使用的第一网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由所述第一网络路径切换至第二网络路径,所述第二网络路径为所述前N条最短路径中的一条;
所述获取源网络节点和目的网络节点之间的前N条最短路径,包括:
获取源网络节点和目的网络节点,基于所述源网络节点和所述目的网络节点建立第一有向有环图,其中,所述第一有向有环图包括所述源网络节点至所述目的网络节点的所有可达路径上的网络节点;
根据最短路径算法,确定所述第一有向有环图中所述源网络节点和所述目的网络节点之间的第一最短路径;执行如下的路径确定步骤:
根据所述源网络节点和所述目的网络节点之间的前i-1条最短路径,确定第i条最短路径,i的初始值为2;
根据所述前i-1条最短路径和所述第i条最短路径,得到前i条最短路径;
所述方法还包括:
更新i,更新后的i的值比更新前的i的值大1,并继续执行路径确定步骤,直到i的值等于N;
所述根据所述源网络节点和所述目的网络节点之间的前i-1条最短路径,确定第i条最短路径,包括:
获取前i-1条最短路径对应的所有的目标边集合,其中,每个所述目标边集合中包含所述前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;
针对每个目标边集合,从所述第一有向有环图中删除所述目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从所述第二有向有环图中获取所述目标边集合对应的第i条候选最短路径;
将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将所述候选路径集合中的最短路径作为所述源网络节点和所述目的网络节点之间的第i条最短路径,从所述候选路径集合中删除所述第i条最短路径,所述候选路径集合的初始状态为空集。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
确定所述源网络节点和所述目的网络节点之间的初始网络路径的网络质量不低于所述网络质量阈值,将当前使用的网络路径由所述第二网络路径切换至所述初始网络路径,其中,所述初始网络路径的稳定性高于预设稳定性阈值。
10.一种网络路径确定装置,其特征在于,所述装置包括:
第一有向有环图建立模块,用于获取源网络节点和目的网络节点,基于所述源网络节点和所述目的网络节点建立第一有向有环图,其中,所述第一有向有环图包括所述源网络节点至所述目的网络节点的所有可达路径上的网络节点;
第一条最短路径确定模块,用于根据最短路径算法,确定所述第一有向有环图中所述源网络节点和所述目的网络节点之间的第一最短路径;
目标边集合获取模块,用于获取前i-1条最短路径对应的所有的目标边集合,其中,每个目标边集合中包含所述前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;
第i条候选最短路径确定模块,用于针对每个目标边集合,从所述第一有向有环图中删除所述目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从所述第二有向有环图中获取所述目标边集合对应的第i条候选最短路径;
目标最短路径选取模块,用于将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将所述候选路径集合中的最短路径作为所述源网络节点和所述目的网络节点之间的第i条最短路径,所述候选路径集合的初始状态为空集;
最短路径删除模块,用于如果i的值小于N,从所述候选路径集合中删除所述第i条最短路径,更新i,更新后的i的值比更新前的i的值大1,返回所述目标边集合获取模块以继续执行所述获取前i-1条最短路径对应的所有的目标边集合的步骤,N小于或等于所述源网络节点和所述目的网络节点之间的网络路径总数量。
11.一种网络路径切换装置,其特征在于,所述装置包括:
前N条最短路径获取模块,用于获取源网络节点和目的网络节点之间的前N条最短路径;其中,N小于或等于所述源网络节点和所述目的网络节点之间的网络路径总数量;
第一网络路径切换模块,用于确定所述源网络节点和所述目的网络节点之间当前使用的第一网络路径的网络质量低于网络质量阈值,将当前使用的网络路径由所述第一网络路径切换至第二网络路径,所述第二网络路径为所述前N条最短路径中的一条;
所述前N条最短路径获取模块,包括:
第一有向有环图建立单元,用于获取源网络节点和目的网络节点,基于所述源网络节点和所述目的网络节点建立第一有向有环图,其中,所述第一有向有环图包括所述源网络节点至所述目的网络节点的所有可达路径上的网络节点;
第一条最短路径确定单元,用于根据最短路径算法,确定所述第一有向有环图中所述源网络节点和所述目的网络节点之间的第一最短路径;
第i条最短路径确定单元,用于根据所述源网络节点和所述目的网络节点之间的前i-1条最短路径,确定第i条最短路径,i的初始值为2;
前i条最短路径确定单元,用于根据所述前i-1条最短路径和所述第i条最短路径,得到前i条最短路径;
i值更新模块,用于更新i,更新后的i的值比更新前的i的值大1,返回所述第i条最短路径确定单元,以继续执行根据所述源网络节点和所述目的网络节点之间的前i-1条最短路径的步骤,直至所述i的值等于N;
所述第i条最短路径确定单元,具体用于获取前i-1条最短路径对应的所有的目标边集合,其中,每个所述目标边集合中包含所述前i-1条最短路径的各一条边,任意两个目标边集合包含的目标边不完全相同,i的初始值为2;针对每个目标边集合,从所述第一有向有环图中删除所述目标边集合中的所有边得到第二有向有环图,根据最短路径算法,从所述第二有向有环图中获取所述目标边集合对应的第i条候选最短路径;将所有的目标边集合分别对应的第i条候选最短路径添加至候选路径集合中,将所述候选路径集合中的最短路径作为所述源网络节点和所述目的网络节点之间的第i条最短路径,从所述候选路径集合中删除所述第i条最短路径,所述候选路径集合的初始状态为空集。
12.一种电子设备,其特征在于,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法的步骤,或者实现权利要求8或9所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法的步骤,或者实现权利要求8或9所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110598189.9A CN113347083B (zh) | 2021-05-31 | 2021-05-31 | 网络路径确定及切换方法、装置、设备、介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110598189.9A CN113347083B (zh) | 2021-05-31 | 2021-05-31 | 网络路径确定及切换方法、装置、设备、介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113347083A CN113347083A (zh) | 2021-09-03 |
CN113347083B true CN113347083B (zh) | 2022-09-23 |
Family
ID=77472346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110598189.9A Active CN113347083B (zh) | 2021-05-31 | 2021-05-31 | 网络路径确定及切换方法、装置、设备、介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113347083B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124722B (zh) * | 2021-11-22 | 2024-01-19 | 湖南经研电力设计有限公司 | 有向无环图生成方法、网络编码方法及网络传输方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6813272B1 (en) * | 1999-06-23 | 2004-11-02 | Korea Telecommunication Authority | QoS-based routing method |
US6891943B1 (en) * | 1998-01-23 | 2005-05-10 | Siemens Aktiengesellschaft | Method and device for establishing connection path in a communications network |
CN101087240A (zh) * | 2006-06-07 | 2007-12-12 | 华为技术有限公司 | 最短路径优先协议中的路由选择方法及其装置 |
CN101453407A (zh) * | 2007-12-03 | 2009-06-10 | 华为技术有限公司 | 路由器及路径消息处理的方法 |
JP2010130173A (ja) * | 2008-11-26 | 2010-06-10 | Nippon Telegr & Teleph Corp <Ntt> | 最短経路計算装置、最短経路計算方法、およびプログラム |
CN105337862A (zh) * | 2014-06-30 | 2016-02-17 | 华为技术有限公司 | 路径切换的方法和网络设备 |
WO2019011338A1 (zh) * | 2017-07-13 | 2019-01-17 | 华为技术有限公司 | 一种最短路径确定方法及控制器 |
CN109587057A (zh) * | 2018-12-06 | 2019-04-05 | 中通天鸿(北京)通信科技股份有限公司 | 一种信息传输平台的智能路由方法及系统 |
WO2020078527A1 (en) * | 2018-10-15 | 2020-04-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for transmitting data over multiple paths in a network |
CN111210065A (zh) * | 2020-01-03 | 2020-05-29 | 武汉大学 | 一种基于重优化技术的物流网络高效k最短路径算法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7280481B2 (en) * | 2002-10-10 | 2007-10-09 | Guangyi David Rong | Shortest path search method “Midway” |
US20150051944A1 (en) * | 2012-05-18 | 2015-02-19 | Regents Of The University Of Minnesota | Conveyance Planning Using Dartboard Network |
-
2021
- 2021-05-31 CN CN202110598189.9A patent/CN113347083B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6891943B1 (en) * | 1998-01-23 | 2005-05-10 | Siemens Aktiengesellschaft | Method and device for establishing connection path in a communications network |
US6813272B1 (en) * | 1999-06-23 | 2004-11-02 | Korea Telecommunication Authority | QoS-based routing method |
CN101087240A (zh) * | 2006-06-07 | 2007-12-12 | 华为技术有限公司 | 最短路径优先协议中的路由选择方法及其装置 |
CN101453407A (zh) * | 2007-12-03 | 2009-06-10 | 华为技术有限公司 | 路由器及路径消息处理的方法 |
JP2010130173A (ja) * | 2008-11-26 | 2010-06-10 | Nippon Telegr & Teleph Corp <Ntt> | 最短経路計算装置、最短経路計算方法、およびプログラム |
CN105337862A (zh) * | 2014-06-30 | 2016-02-17 | 华为技术有限公司 | 路径切换的方法和网络设备 |
WO2019011338A1 (zh) * | 2017-07-13 | 2019-01-17 | 华为技术有限公司 | 一种最短路径确定方法及控制器 |
WO2020078527A1 (en) * | 2018-10-15 | 2020-04-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for transmitting data over multiple paths in a network |
CN109587057A (zh) * | 2018-12-06 | 2019-04-05 | 中通天鸿(北京)通信科技股份有限公司 | 一种信息传输平台的智能路由方法及系统 |
CN111210065A (zh) * | 2020-01-03 | 2020-05-29 | 武汉大学 | 一种基于重优化技术的物流网络高效k最短路径算法 |
Also Published As
Publication number | Publication date |
---|---|
CN113347083A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109432777B (zh) | 路径生成方法及装置、电子设备、存储介质 | |
CN110601978B (zh) | 流量分发控制方法和装置 | |
CN113347083B (zh) | 网络路径确定及切换方法、装置、设备、介质及程序产品 | |
CN110362598B (zh) | 数据查询的方法、装置、存储介质及电子设备 | |
CN114968573A (zh) | 一种算力资源调度方法、装置及计算机可读存储介质 | |
CN114816393A (zh) | 信息生成方法、装置、设备以及存储介质 | |
EP1209617A2 (en) | Information processing method and information processing apparatus | |
CN116841870A (zh) | 一种测试方法、系统、装置、设备及存储介质 | |
CN115577491A (zh) | 一种参数修正方法、装置、电子设备及存储介质 | |
CN113626472B (zh) | 一种处理订单数据的方法和装置 | |
US8797851B2 (en) | Locating traffic reduction utilities in communication networks | |
CN111950232B (zh) | 一种自动切换号段的方法和装置 | |
CN108520025B (zh) | 一种服务节点确定方法、装置、设备及介质 | |
CN113743040A (zh) | 测试方法、装置、电子设备以及可读存储介质 | |
CN104933248B (zh) | 多核平台上的路网近似最短路径计算方法 | |
CN114598613B (zh) | 虚拟网络功能的部署方法、装置、设备及介质 | |
JP4829911B2 (ja) | ネットワーク設計装置、ネットワーク設計方法およびネットワーク設計システム | |
CN118093048A (zh) | 一种多模块启动管理方法、装置、设备及介质 | |
CN114500170B (zh) | 一种vpn线路筛选方法、装置、设备及存储介质 | |
CN113190439B (zh) | 测试用例的执行方法、装置和电子设备 | |
CN113032069B (zh) | 页面切换方法、装置、电子设备及可读存储介质 | |
CN115293083B (zh) | 集成电路时序预测方法、装置、电子设备及存储介质 | |
CN110765728B (zh) | 一种基于电气回路的排布方法及装置 | |
CN111553622B (zh) | 一种配送路线的确定方法和装置 | |
CN115935562A (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 |