CN110768899B - 最短路径的确定方法、装置、存储介质及电子装置 - Google Patents
最短路径的确定方法、装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN110768899B CN110768899B CN201911072235.0A CN201911072235A CN110768899B CN 110768899 B CN110768899 B CN 110768899B CN 201911072235 A CN201911072235 A CN 201911072235A CN 110768899 B CN110768899 B CN 110768899B
- Authority
- CN
- China
- Prior art keywords
- path
- node
- directed graph
- condition
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 36
- 239000011159 matrix material Substances 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
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
- 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/12—Shortest path evaluation
- H04L45/128—Shortest path evaluation for finding disjoint paths
-
- 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/24—Multipath
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种最短路径的确定方法、装置、存储介质及电子装置,其中,该方法包括:确定修正有向图G’(V,E’);对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi;在确定Pi为直连路径时,将所述源节点到所述目的节点的之间的状态值设置为无穷大值,以得到更新后的修正的有向图;在确定Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图;重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。通过本发明,解决了相关技术中存在的需要求解出多条路径,以及无法实现满足多条件的路径计算的问题。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种最短路径的确定方法、装置、存储介质及电子装置。
背景技术
最短路径是路由协议、交通网络规划等的一个经典问题,旨在根据节点的状态(代价),计算从源节点到目的节点最小代价的路径。当具体到数据网络时,网络节点的状态(代价)包括中间跳数最少、时延最小、带宽最大等。在求解最短路径问题的算法上,经典的算法有迪杰斯特拉(Dijkstra)算法、弗洛伊德(Floyd)算法等。
在实际网络的部署与优化中,经典的最短路径方法具有局限性:
最短路径算法得到的最优路径,发生故障或者不可用时,需要计算得到另外一条或者多条可用路径。因此,不但需要解出最短路径,同时也需要求解出次最短路径、乃至第三最短路径,直至第K条最短路径(K>=2),即K最短路径问题。
最短路径算法中,对于路径代价只能考虑单一因素,例如考虑跳数,或者考虑时延。而实际应用中,通常需要考虑各种综合因素;比如,对于视频数据的传输时,需要综合考虑时延、时延抖动、丢包率等因素,也即满足多条件问题。因此,这就要求在路径计算时,计算出的路径能够满足这些条件,以保证数据的传输质量,满足多条件的路径计算也成为QOS路由的一个关键问题。
针对相关技术中存在的需要求解出多条路径,以及无法实现满足多条件的路径计算的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种最短路径的确定方法、装置、存储介质及电子装置,以至少解决相关技术中存在的需要求解出多条路径,以及无法实现满足多条件的路径计算的问题中的至少之一。
根据本发明的一个实施例,提供了一种最短路径的确定方法,包括:确定修正有向图G’(V,E’),其中,V为网络的节点集,E’为将节点之间的条件状态值中与预设条件阈值不一致的条件状态置为无穷大值之后所得到的修正后的代价矩阵,所述代价矩阵用于表示所述节点集中所包括的节点之间的条件状态值;对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi,其中,Pi用于表示第i条路径所经过的所有节点,Fi用于表示所述第i条路径上从源节点到目的节点所经过的中间节点,1≤i≤K,K为预设的最短路径的数量,且K正整数;在确定Pi为直连路径时,将所述源节点到所述目的节点的之间的状态值设置为无穷大值,以得到更新后的修正的有向图;在确定Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图;重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
根据本发明的另一个实施例,提供了一种最短路径的确定装置,包括:确定模块,用于确定修正有向图G’(V,E’),其中,V为网络的节点集,E’为将节点之间的条件状态值中与预设条件阈值不一致的条件状态置为无穷大值之后所得到的修正后的代价矩阵,所述代价矩阵用于表示所述节点集中所包括的节点之间的条件状态值;计算模块,用于对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi,其中,Pi用于表示第i条路径所经过的所有节点,Fi用于表示所述第i条路径上从源节点到目的节点所经过的中间节点,1≤i≤K,K为预设的最短路径的数量,且K正整数;处理模块,用于在确定Pi为直连路径时,将所述源节点到所述目的节点的之间的状态值设置为无穷大值,以得到更新后的修正的有向图;在确定Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图;重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述方法实施例中的步骤。
通过本发明,由于确定修正有向图G’(V,E’),其中,V为网络的节点集,E’为将节点之间的条件状态值中与预设条件阈值不一致的条件状态置为无穷大值之后所得到的修正后的代价矩阵,所述代价矩阵用于表示所述节点集中所包括的节点之间的条件状态值;对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi,其中,Pi用于表示第i条路径所经过的所有节点,Fi用于表示所述第i条路径上从源节点到目的节点所经过的中间节点,1≤i≤K,K为预设的最短路径的数量,且K正整数;在确定Pi为直连路径时,将所述源节点到所述目的节点的之间的状态值设置为无穷大值,以得到更新后的修正的有向图;在确定Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图;重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。因此,可以解决相关技术中存在的需要求解出多条路径,以及无法实现满足多条件的路径计算的问题,达到无需求解出多条路径且能够实现满足多条件的路径计算的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的最短路径的确定方法的移动终端的硬件结构框图;
图2是根据本发明实施例的最短路径的确定方法的流程图;
图3是根据本发明实施例的满足多条件且不相交K最短路径的计算方法流程图;
图4是根据本发明实施例的最短路径的确定装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
首先对本发明可能涉及到的术语以及相关技术进行说明:
可能涉及到的术语:
不相交路径:从源节点到目的节点的多条路径,除源、目的节点之外不存在相同节点。
K最短路径:K条最短路径算法(KSP,k-shortest pathes),从源节点到目的节点,依次从最优到第K优的K条路径。
与本发明相关的现有技术一:
(1)现有求解最短路径的技术方案
现有的对求解图中的节点之间最短路径方案中,经典最短路径算法如迪杰斯特拉(Dijkstra)算法、弗洛伊德(Floyd)算法等,这些算法解决了求解单一最短路径问题。
(2)现有求解最短路径的缺点
经典最短路径算法,解决了求解单一最短路径问题,但存在如下缺点:
实际需求的最短K路径中,并没有解决最短K路径问题(K≥2);
对多约束条件的需求场景下,没有解决多条件约束下的K最短路径问题;
对路径不相交的需求场景下,没有解决路径不相交问题。
与本发明相关的现有技术二
(1)现有求解K最短路径的技术方案
现有求解K最短路径技术方案中,包含有偏离路径算法、删除路径算法等。
算法可分为两部分,算出第1条最短路径P1,然后在此基础上依次依次算出其他的K-1条最短路径。在求Pi+1时,将Pi上除了终止节点外的所有节点都视为偏离节点,并计算每个偏离节点到终止节点的最短路径,再与之前的Pi上起始节点到偏离节点的路径拼接,构成候选路径,进而求得最短偏离路径。
偏离路径算法:最为典型的是Yen在1971年提出的以其名字命名的Yen算法。该算法分为两大步骤,先用经典最短路径算法(Dijkstra、Floyd等),算出最短路径P1。P2或者已经求得的第i条最短偏离路径Pi为下一步计算基础,在路径Pi上除了目的节点外的所有节点都视为偏离节点,并计算偏离节点到目的节点的最短路径,再与之前的Pi上从起始节点到偏离节点的路径拼接,构成候选路径,得到最短偏离路径。
删除路径算法:求解并存储从起始节点到终止节点的最短路径,然后轮流删除最短路径中的某条边,并寻找替换路径,来确定下一条最短路径,这需要通过建立附加节点和相应的边来实现。
现有K最短路径算法中,实际上对得到的K最短路径是否相交,并不约束;而在实际的数据网络传输过程中,K最短路径不相交对解决网络可靠性问题更具有实际意义。
(2)现有求解K最短路径的技术缺点
现有的求解K最短路径的技术缺点:
对多约束条件的需求场景下,没有解决多条件约束下的K最短路径问题;
对路径不相交的需求场景下,不解决路径不相交问题。
针对经典最短路径算法计算单一最短路径问题,在现有的求解K最短路径中,没有解决需要多条件约束、K最短路径不相交的场景适应性问题,针对上述问题,在本发明实施例中提出了一种能够满足多条件的节点不相交K最短路径计算方案。
为不失一般性的描述方便,本发明做如下说明与定义。
网络可表示为一个有向图G(V,E),其中V是网络的节点集,E是边集,亦可以表示为E[N][N]来体现两两节点之间构成的代价矩阵。在链路多条件(状态)前提下,E为多种状态的信息集合,可以包括但不限于时延、时延抖动、丢包率、最大带宽等。假设E的多种状态的数量为M(M为正整数)即定义状态维度为M,每个状态维度为E的分量,Em,m=[1…M]。
在节点集V中,从u节点到v节点的有向链路记为u→v,u,v∈V;E(u→v)m表示从节点u到节点v的第m个状态值;记E(u→v)为路径计算时的主代价值,例如某些需求场景下,主要考虑节点之间的时延代价,那么路径计算时以时延为主,E(u→v)取节点之间的时延值。记MAX_COST为状态值无穷,E(u→v)=MAX_COST,表示从节点u到节点v的代价为无穷大,即在该状态下节点u到节点v不可达。
定义K条路径集合为P,Pi为集合的第i条路径,i=[1…K]。Pi包含了从源节点s到目的节点t所经过的所有节点(包括源节点和目的节点),例如P1={s,a,b,t}为从源节点s到目的节点t的第1条路径经过节点a,节点b;记Fi为从源节点s到目的节点t的第i条路径所经过的中间节点(除去源节点s和目的节点t),当P1={s,a,b,t}时,对应的F1={a,b}。
u→v∈Pi表示,从源节点s到目的节点到目的节点t的第i条路径上相邻的两个节点u、v的有向链路。
记Rm为第m个状态值满足条件的阈值;例如,节点之间的多个状态的第1个状态为时延,要满足可用状态时延必须低于500ms,则记为R1=500,即E1≤R1。同理,满足节点所有状态为可用的,需要满足:Em≤Rm,m=[1…M](如果有状态条件j是大于某个阈值,可以转换表达为Ej≤Rj)。
结合以上说明与定义,求解满足多条件且不相交K最短路径问题:给定有向图G(V,E),其中V是网络的节点集(节点数记为N),E是边集,E是M维状态的集合,依次求出前最短K条路径Pi,i=[1…K]并满足:
下面结合实施例对本发明进行说明:
本申请中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的最短路径的确定方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的最短路径的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种最短路径的确定方法,图2是根据本发明实施例的最短路径的确定方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定修正有向图G’(V,E’),其中,V为网络的节点集,E’为将节点之间的条件状态值中与预设条件阈值不一致的条件状态置为无穷大值之后所得到的修正后的代价矩阵,所述代价矩阵用于表示所述节点集中所包括的节点之间的条件状态值;
步骤S204,对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi,其中,Pi用于表示第i条路径所经过的所有节点,Fi用于表示所述第i条路径上从所述源节点到所述目的节点所经过的中间节点,1≤i≤K,K为预设的最短路径的数量,且K正整数;
步骤S206,在确定Pi为直连路径时,将所述源节点到所述目的节点的之间的状态值设置为无穷大值,以得到更新后的修正的有向图;在确定Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图;重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
其中,执行上述操作的可以是具备处理能力的终端,或者类似的处理器或服务器。在上述实施例中,节点之间的条件状态可以为多种,例如,可以是时延、时延抖动、丢包率、最大带宽等,因此,在上述实施例中综合考虑了多条件。
通过上述实施例,可以解决相关技术中存在的需要求解出多条路径,以及无法实现满足多条件的路径计算的问题,达到无需求解出多条路径且能够实现满足多条件的路径计算的效果。
在一个可选的实施例中,确定修正有向图G’(V,E’)包括:确定网络节点数N,多维度条件状态的数量M,与各条件状态对应的预设条件阈值R,以及所述K值;基于所述N、M以及K确定有向图G(V,E),其中,E为用于表示所述节点集中所包括的节点之间的条件状态值的代价矩阵;将所述E所表示的节点之间的条件状态值中与所述R不一致的条件状态置为无穷大值之后,得到修正后的代价矩阵E’;确定包括所述V和所述E’的所述修正有向图G’(V,E’)。
在一个可选的实施例中,基于所述N、M以及K确定有向图G(V,E)包括:通过如下确定方式确定所述E:在确定所述第一网络节点到所述第二网络节点之间的条件状态为至少两种时,将至少两种条件状态中满足预定条件的条件状态的值确定为所述第一网络节点到第二网络节点之间的条件状态值,或者将至少两种条件状态进行加权来得到所述第一网络节点到第二网络节点之间的条件状态值。
在一个可选的实施例中,在对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi之后,所述方法还包括:在确定所述Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图,并重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
在一个可选的实施例中,对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi包括:利用预定路径算法对所述G’(V,E’)进行最短路径计算,得到所述路径结果Pi和Fi,其中,所述预定路径算法包括以下至少之一:迪杰斯特拉Dij-kstra算法、弗洛伊德Floyd算法。
下面结合附图对本发明进行说明;
图3是根据本发明实施例的满足多条件且不相交K最短路径的计算方法流程图,如图3所示,包括如下步骤:
S302(对应于图3中的S1-S2):设定网络节点数N;设定所期望得到多少条优化的最大路径数,也即K最短路径的K值(在实际应用中通常K值为2,作为通信系统中主用路径、备用路径);设置多维度条件的数量M,并设置各个条件分量阈值Rm,m=[1…M]。
S304(对应于图3中的S3):获取两两网络节点之间的条件状态,包括但不限于时延、时延抖动、丢包率,构造网络节点之间的代价矩阵E[N][N],矩阵中的元素E[i][j]=E(i→j)表示从网络节点i到网络节点j之间的多种条件状态信息集合中的主要状态值或者统一之后加权值(例如某些需求场景下,主要考虑节点之间的时延代价,那么路径计算时以时延为主,E(u→v)取节点之间的时延值)。
S306(对应于图3中的S4-S13)遍历代价矩阵中条件分量状态E[i][j]m,与对应条件列表Rm进行比较,如果不满足,则设置E[i][j]m为代价最大值,也即E(i→j)=MAX_COST;如果E[i][j]m均小于Rm,则不需要修改原始数值;由此,形成了满足多种条件的修正后的有向图G(V,E’),此修正的有向图中,V不变,E因为有产生值变化的可能,表示为E’;
S308(对应于图3中的S14)开始进入最短路径计算,用i记录当前计算到第几条路径;初始时,设置i=0,G”(V’,E’)=G(V,E’);
S310(对应于图3中的S15)判断当前已经计算到第几条K最短路径,也即i与k值的比较,如果i<k则转S312处理,否则转S324处理;
S312(对应于图3中的S16)使用最短路径经典算法对G”(V’,E’)计算出源节点s到目的节点t最短路径,此时最短路径经典算法可以包括但不限于迪杰斯特拉(Dij-kstra)算法、弗洛伊德(Floyd)算法等;
S314(对应于图3中的S17)判断此次计算结果Pi,如果得到解转S316处理,否则转S324处理;
S316(对应于图3中的S18)将本次计算出的结果Pi及Fi,并将Pi存入K最短路径集合P;
S318(对应于图3中的S19)判断计算结果是否是源节点s和目的节点t直连路径,如果是源节点s和目的节点t的直连路径则转S320处理,否则转S322处理;
S320(对应于图3中的S20)将源节点s、目的节点t之间代价设置为不可达,即E[i][j]=MAX_COST,否则影响后续计算;
S322(对应于图3中的S21)从代价矩阵中,删除计算出的路径上出源节点s、目的节点t以外的网络节点,即G”(V’,E’)=G”(V’,E’)\Fi,得到新的修正后的有向图G”(V’,E’),转7处理;
S324(对应于图3中的S22)结束。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种最短路径的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的最短路径的确定装置的结构框图,如图4所示,该装置包括:
确定模块42,用于确定修正有向图G’(V,E’),其中,V为网络的节点集,E’为将节点之间的条件状态值中与预设条件阈值不一致的条件状态置为无穷大值之后所得到的修正后的代价矩阵,所述代价矩阵用于表示所述节点集中所包括的节点之间的条件状态值;计算模块44,用于对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi,其中,Pi用于表示第i条路径所经过的所有节点,Fi用于表示所述第i条路径上从所述源节点到所述目的节点所经过的中间节点,1≤i≤K,K为预设的最短路径的数量,且K正整数;处理模块46,用于在确定Pi为直连路径时,将所述源节点到所述目的节点的之间的状态值设置为无穷大值,以得到更新后的修正的有向图;在确定Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图;重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
在一个可选的实施例中,所述确定模块42用于通过如下方式确定修正有向图G’(V,E’):确定网络节点数N,多维度条件状态的数量M,与各条件状态对应的预设条件阈值R,以及所述K值;基于所述N、M以及K确定有向图G(V,E),其中,E为用于表示所述节点集中所包括的节点之间的条件状态值的代价矩阵;将所述E所表示的节点之间的条件状态值中与所述R不一致的条件状态置为无穷大值之后,得到修正后的代价矩阵E’;确定包括所述V和所述E’的所述修正有向图G’(V,E’)。
在一个可选的实施例中,所述确定模块42用于通过如下方式确定所述E:在确定所述第一网络节点到所述第二网络节点之间的条件状态为至少两种时,将至少两种条件状态中满足预定条件的条件状态的值确定为所述第一网络节点到第二网络节点之间的条件状态值,或者将至少两种条件状态进行加权来得到所述第一网络节点到第二网络节点之间的条件状态值。
在一个可选的实施例中,所述装置还用于在对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi之后,在确定所述Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图,并重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
在一个可选的实施例中,所述计算模块44用于通过如下方式对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi:利用预定路径算法对所述G’(V,E’)进行最短路径计算,得到所述路径结果Pi和Fi,其中,所述预定路径算法包括以下至少之一:迪杰斯特拉Dij-kstra算法、弗洛伊德Floyd算法。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
通过上述实施例,可以实现如下有益效果:
解决K最短路径问题;
可得到满足多条件的K最短路径,得到网络节点之间的多条路由;
可得到节点不相交的K最短路径,提高网络节点之间数据传输的可靠性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种最短路径的确定方法,其特征在于,包括:
确定修正有向图G’(V,E’),其中,V为网络的节点集,E’为将节点之间的条件状态值中与预设条件阈值不一致的条件状态置为无穷大值之后所得到的修正后的代价矩阵,所述代价矩阵用于表示所述节点集中所包括的节点之间的条件状态值;
对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi,其中,Pi用于表示第i条路径所经过的所有节点,Fi用于表示所述第i条路径上从源节点到目的节点所经过的中间节点,1≤i≤K,K为预设的最短路径的数量,且K正整数;
在确定Pi为直连路径时,将所述源节点到所述目的节点的之间的状态值设置为无穷大值,以得到更新后的修正的有向图;在确定Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图;重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
2.根据权利要求1所述的方法,其特征在于,确定修正有向图G’(V,E’)包括:
确定网络节点数N,多维度条件状态的数量M,与各条件状态对应的预设条件阈值R,以及所述K值;
基于所述N、M以及K确定有向图G(V,E),其中,E为用于表示所述节点集中所包括的节点之间的条件状态值的代价矩阵;
将所述E所表示的节点之间的条件状态值中与所述R不一致的条件状态置为无穷大值之后,得到修正后的代价矩阵E’;
确定包括所述V和所述E’的所述修正有向图G’(V,E’)。
3.根据权利要求2所述的方法,其特征在于,基于所述N、M以及K确定有向图G(V,E)包括:
通过如下确定方式确定所述E:在确定第一网络节点到第二网络节点之间的条件状态为至少两种时,将至少两种条件状态中满足预定条件的条件状态的值确定为所述第一网络节点到第二网络节点之间的条件状态值,或者将至少两种条件状态进行加权来得到所述第一网络节点到第二网络节点之间的条件状态值。
4.根据权利要求1所述的方法,其特征在于,在对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi之后,所述方法还包括:
在确定所述Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图,并重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
5.根据权利要求1所述的方法,其特征在于,对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi包括:
利用预定路径算法对所述G’(V,E’)进行最短路径计算,得到所述路径结果Pi和Fi,其中,所述预定路径算法包括以下至少之一:
迪杰斯特拉Dij-kstra算法、弗洛伊德Floyd算法。
6.一种最短路径的确定装置,其特征在于,包括:
确定模块,用于确定修正有向图G’(V,E’),其中,V为网络的节点集,E’为将节点之间的条件状态值中与预设条件阈值不一致的条件状态置为无穷大值之后所得到的修正后的代价矩阵,所述代价矩阵用于表示所述节点集中所包括的节点之间的条件状态值;
计算模块,用于对所述G’(V,E’)进行最短路径计算,得到路径结果Pi和Fi,其中,Pi用于表示第i条路径所经过的所有节点,Fi用于表示所述第i条路径上从源节点到目的节点所经过的中间节点,1≤i≤K,K为预设的最短路径的数量,且K正整数;
处理模块,用于在确定Pi为直连路径时,将所述源节点到所述目的节点的之间的状态值设置为无穷大值,以得到更新后的修正的有向图;在确定Pi为非直连路径时,删除所述中间节点,以得到更新后的修正的有向图;重复执行对更新后的修正的有向图进行最短路径计算的处理,直到i=K为止或者直到计算结果为无最短路径为止。
7.根据权利要求6所述的装置,其特征在于,所述确定模块用于通过如下方式确定修正有向图G’(V,E’):
确定网络节点数N,多维度条件状态的数量M,与各条件状态对应的预设条件阈值R,以及所述K值;
基于所述N、M以及K确定有向图G(V,E),其中,E为用于表示所述节点集中所包括的节点之间的条件状态值的代价矩阵;
将所述E所表示的节点之间的条件状态值中与所述R不一致的条件状态置为无穷大值之后,得到修正后的代价矩阵E’;
确定包括所述V和所述E’的所述修正有向图G’(V,E’)。
8.根据权利要求7所述的装置,其特征在于,所述确定模块用于通过如下方式确定所述E:
在确定第一网络节点到第二网络节点之间的条件状态为至少两种时,将至少两种条件状态中满足预定条件的条件状态的值确定为所述第一网络节点到第二网络节点之间的条件状态值,或者将至少两种条件状态进行加权来得到所述第一网络节点到第二网络节点之间的条件状态值。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072235.0A CN110768899B (zh) | 2019-11-05 | 2019-11-05 | 最短路径的确定方法、装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072235.0A CN110768899B (zh) | 2019-11-05 | 2019-11-05 | 最短路径的确定方法、装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110768899A CN110768899A (zh) | 2020-02-07 |
CN110768899B true CN110768899B (zh) | 2021-12-21 |
Family
ID=69335969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911072235.0A Expired - Fee Related CN110768899B (zh) | 2019-11-05 | 2019-11-05 | 最短路径的确定方法、装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110768899B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309989A (zh) * | 2020-02-13 | 2020-06-19 | 平安科技(深圳)有限公司 | 基于图数据库的最短路径查询方法及相关设备 |
CN111343086A (zh) * | 2020-03-16 | 2020-06-26 | 中国联合网络通信集团有限公司 | 数据传输方法、系统、终端设备及存储介质 |
CN111813883B (zh) * | 2020-06-23 | 2024-05-28 | 上海阿尔卡特网络支援系统有限公司 | 最短路径查询方法及查询系统 |
CN111935005B (zh) * | 2020-08-07 | 2023-10-24 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、处理设备及介质 |
CN115983189B (zh) * | 2023-01-06 | 2024-02-23 | 中山大学 | 一种自适应网格的模拟集成电路版图布线方法及系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IN2012DE00287A (zh) * | 2012-02-02 | 2015-04-10 | Ciena Corp | |
US9253032B2 (en) * | 2013-09-30 | 2016-02-02 | Infinera Corporation | Disjoint path computation for arbitrary directed graph |
CN103873363B (zh) * | 2014-03-24 | 2017-04-05 | 华北电力大学(保定) | 一种电力光纤通信网业务的双路由配置方法 |
CN106549779B (zh) * | 2015-09-18 | 2020-01-24 | 中国电力科学研究院 | 一种多约束电力通信业务最大不相交双路由配置方法 |
CN107196858B (zh) * | 2017-07-04 | 2020-06-23 | 西安理工大学 | 一种考虑多类型约束的k最短路径求解方法 |
CN108924053B (zh) * | 2018-07-27 | 2021-01-29 | 福州大学 | 用于多路径路由的多条部分不相交最短路径快速寻找方法 |
-
2019
- 2019-11-05 CN CN201911072235.0A patent/CN110768899B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN110768899A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110768899B (zh) | 最短路径的确定方法、装置、存储介质及电子装置 | |
US5535195A (en) | Method for efficient aggregation of link metrics | |
Poularakis et al. | One step at a time: Optimizing SDN upgrades in ISP networks | |
US7072304B2 (en) | Network path selection based on bandwidth | |
US10033623B2 (en) | Multithreaded system and method for establishing network connections | |
US10250484B2 (en) | Network service computation system | |
CN108712491A (zh) | 区块链节点、交易信息处理方法、终端设备和介质 | |
Shvedov et al. | Determining shortest paths between two arbitrary nodes in a composite transport network using segment routing | |
CN117499297B (zh) | 数据包传输路径的筛选方法及装置 | |
CN116074204A (zh) | 算路方法、路由计算设备、电子设备和计算机存储介质 | |
US20130250805A1 (en) | Method for investigating a data transport network and computer program product | |
US11153214B2 (en) | In service flow capability update in guaranteed bandwidth multicast network | |
CN117201365A (zh) | 流量确定方法、装置、电子设备及存储介质 | |
CN113556281A (zh) | 一种重新路由方法及装置、电子设备、计算机可读介质 | |
CN113872784B (zh) | 网络配置的验证方法和装置 | |
CN116668364A (zh) | 实时音视频网络的路由规划方法及装置 | |
Kodialam et al. | Network link weight setting: A machine learning based approach | |
CN114448858B (zh) | 报文广播方法、装置、网络设备和存储介质 | |
CN114124791B (zh) | 一种sptn网络隧道重路由方法 | |
US11606296B2 (en) | Longest-prefix matching dynamic allocation in communications network | |
CN114124711B (zh) | 针对多业务编排切片、选择路由的方法及其装置 | |
CN114244854B (zh) | 基于强化学习的数据中心数据备份方法及系统 | |
CN111181854B (zh) | 确定配用电多业务差异QoS最优路由的方法及系统 | |
CN112600751B (zh) | 一种路径计算方法、装置、设备及机器可读存储介质 | |
WO2024094074A1 (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211221 |
|
CF01 | Termination of patent right due to non-payment of annual fee |