首页> 中国专利> 一种求完全风险共享链路组分离路径对的方法及系统

一种求完全风险共享链路组分离路径对的方法及系统

摘要

本发明公开了一种求完全风险共享链路组分离路径对的方法及系统,在共享风险链路组的网络中遇到trap的情况下,通过首先找到的第一条工作(主)路径AP的信息,来求得风险共享链路组边冲突集T,并给出利用风险共享链路组边冲突集T来分而治之并行处理原问题的算法。本发明在软件定义网络控制器层路由业务上对需要对工作路径AP进行容错保护的应用领域中,这种完全风险共享链路组分离路径算法的运行时间远小于已有其他同类型算法的运行时间,算法加速比高达20倍,远优于其他同类型算法求解速度。本发明在现有的完全风险共享链路组分离路由领域都可以适应,比现有的现有的完全风险共享链路组分离路由算法具有更加广泛的应用前景。

著录项

  • 公开/公告号CN107689916A

    专利类型发明专利

  • 公开/公告日2018-02-13

    原文格式PDF

  • 申请/专利权人 湖南大学;

    申请/专利号CN201710928470.8

  • 发明设计人 陶恒;谢鲲;文吉刚;

    申请日2017-10-09

  • 分类号

  • 代理机构长沙正奇专利事务所有限责任公司;

  • 代理人马强

  • 地址 410082 湖南省长沙市岳麓区麓山南路2号

  • 入库时间 2023-06-19 04:33:06

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-24

    授权

    授权

  • 2018-03-13

    实质审查的生效 IPC(主分类):H04L12/709 申请日:20171009

    实质审查的生效

  • 2018-02-13

    公开

    公开

说明书

技术领域

本发明涉及软件定义网络中对虚拟网络路径的可生存性保护、光网络链路故障情况的路径保护、集中式路由控制器情景下对特定路径的路由保护等应用领域,特别是一种求完全风险共享链路组分离路径对的方法及系统。

背景技术

多媒体流和视讯会议等新应用的出现要求网络提供可靠的服务质量(QoS)保证,不仅要满足应用的QoS要求,还要在网络故障时能够持续保证业务不间断地运行。要达到这些要求,通常为一个网络连接提供两条分离的路径,其中1条主用,1条备用。当主用路径故障时,将其承载的业务流倒换到备用路径上,从而实现快速的业务恢复。此外,负载均衡也需要分离路径实现网络中业务流的均匀分布,避免网络拥塞,优化网络吞吐量。健壮性(Robustness)和负载均衡是可靠QoS路由的2个重要方面。光网络和MPLS/GMPLS技术的发展提供资源预约和显式路由能力,使得在网络中提供可靠的QoS保证成为可能。如何在节点之间建立链路/节点分离路径成为提供可靠QoS的主要问题。

光网络设备技术的进一步发展和成熟,具有更高性能的光分插复用器(OADM,Optical Add/Drop Multiplexer)和光交叉连接器(OXC,Optical Cross Connector)等正在不断涌现,如何构造新的光传送网络(OTN,Optical Transport Network)和利用这些设备设计,从网络设计、控制和管理的角度,研究和开发新的协议,以保证OTN具有更高的可扩展性(Scalability)、生存性(survivability)和灵活性(flexibility),正日益受到人们的广泛关注。其中的一个重要问题是如何在OTN中自动拆除和建立光通路。目前,已有多家企业联盟和标准化组织都在制定相应的标准,IETF正在研究采用MPLS的控制面协议实现光网络控制,从1999年底至今,有关工作才在IETF的众多草案文本中体现了出来,并被统一地称为GMPLS协议族。

所有这些工作目的都是规范光网络的控制层协议,但对其中涉及到的有关算法细节没有作细致的规定。例如光路的保护问题.由于一条光路可能聚合了大量的用户业务,因此光路的失效造成的损失难以承受,公认的观点是必须在光层提供合适的保护和恢复机制。

一种有效的提供光路保护的机制是为每个光路请求建立两条路径,分别称为工作路径AP和保护路径BP,一旦工作路径失效,可以立刻将业务切换到保护路径上运行.显然,要保证这一机制有效运行,计算出的两条路径必须是“物理分离”的.物理分离根据防止的失效程度有三种含义,即节点分离、链路分离和范围分离。所谓共享风险链路组(SharedRisk Link Groups,SRLG)的概念是对“物理分离”概念的进一步扩展和抽象,其定义为一组链路共享同一物理资源,比如具有相同的失效风险、经过同一灾区。网络操作者通过指定物理链路的SRLG来满足不同的要求.例如,所有穿过同一光缆的光纤属于同一SRLG;类似地,所有穿过同一光纤的波长通路属于同一SRLG.甚至,网络操作者为了能在地震、洪水等非常情况下也能确保服务,可以指定穿过同一灾区的物理链路具有同一SRLG标识。同时每条链路可以同时属于多个SRLG。SRLG分离的两条路径可以减少同时失效的可能性,提高了光路的抗毁机制.因此,提供通路保护的路由计算问题可以描述为:给定网络拓扑以及业务的源宿节点,要求找到两条以源节点为起点,以宿节点为终点的路径,且这两条路径是SRLG分离的路径上的所有链路与保护路径上的所有链路都不共享风险)。

传统的计算两条物理分离(注意,不是SRLG分离)路径的方法有两种。第一种可以称作去主路径边最短路算法。这是最直观,也是最通常使用的方法:先计算一条最短路作为工作路径,然后在网络拓扑图中删除所有属于工作路径上的链路,最后在裁剪后的拓扑上计算一条最短路作为保护路径。另一种可以称为变换边最短路算法,这是由Suurballe提出的,其基本思想仍然是两次调用最短路算法,不过在两次调用之间不是对图进行链路裁剪,而是对图进行权值变换。

下面分析一下直接采用这两种方法进行SRLG分离路径对的计算的情况。

先来考察去主路径边最短路算法算法。将该算法扩展到计算SRLG分离路径对是容易的,只需在进行裁剪时不仅删除工作路径的所有链路,而且删除所有与这些链路具有相同SRLG属性的其它链路就可以了。但是,该算法有两个缺点:首先它是不完备的,即可能存在次优路径对,但采用该算法无法得到可能存在的次优路径对。其次,该算法计算出的两条路径只是保证工作路径最优,两条路径的指标之和未必最佳,这在很多场合下是不合理的。例如,光网络中最佳路由的常用计算指标之一是路径跳数最小,其物理含义是保证该业务占用的资源最少,因为增加一跳就多占了一跳链路上的资源。由于光网络中进行1+1独占式通路保护时,工作路径和保护路径上的资源都被占用了,不能再被其它业务占用,因此更合理的最佳路由指标应该是工作/保护路径的跳数之和最小。但采用去主路径边最短路算法计算时,只能保证工作路径跳数最小,工作和保护路径跳数之和可能很大。

变换边最短路算法可以计算出两条路径,且两条路径的指标之和最佳;并且该算法是完备的。但是遗憾的是,变换边最短路算法只适用于链路分离/节点分离的情况(原算法只适用于链路分离,但只需在进行变换时稍作修正就可适用于节点分离情况),不适用于更抽象、更完整的SRLG分离要求。实际上,正是由于该算法是变换相继最短路,若指标和最佳的两条路中有具有相同SRLG属性的链路,则该算法无法完备求解,因为此时可能存在两条次优路满足要求。

综上所述,现有的算法尚无法完备解决SRLG分离路径对的计算问题。

发明内容

本发明所要解决的技术问题是,针对现有技术不足,提供一种求完全风险共享链路组分离路径对的方法及系统,降低方法复杂度,缩小搜索空间。

为解决上述技术问题,本发明所采用的技术方案是:一种求完全风险共享链路组分离路径对的方法,包括以下步骤:

1)利用迪杰斯特拉算法在原图拓扑G中计算出第一条路径AP;

2)在原图拓扑G中去除路径AP的边和与路径AP边共享风险的边,得到删减图Go

3)通过迪杰斯特拉算法在删减图Go中找第二条路径BP,如果找到BP返回True;如果没找到BP,通过第一条路径AP在原图拓扑G中构造流量图G*,在流量图G*上求风险链路组冲突链路集合,利用风险链路组冲突链路集合来将原问题分成互不相容的子问题,并行执行每个子问题,求得每个子问题的最优解,从而求得原问题的最优解。

步骤3)中,求风险链路组冲突链路集合的具体实现步骤包括:

1)通过设置第一条路径AP上的边,与第一条路径AP上的边共风险的边以及其他边的边容量,得到流量图G*

2)利用最大流最小割算法对流量图G*求得源节点s与目标节点d的最小割集;

3)最小规模第一条路径AP上的边集合阻塞覆盖最小割集上的边,得到风险链路组冲突链路集合。

相应地,本发明还提供了一种求完全风险共享链路组分离路径对的系统,其包括:

计算单元:用于利用迪杰斯特拉算法在原图拓扑G中计算出第一条路径AP;

删减图获取单元:用于在原图拓扑G中去除路径AP的边和与路径AP边共享风险的边,得到删减图Go

判断单元:用于通过迪杰斯特拉算法在删减图Go中找第二条路径BP,如果找到BP返回True;如果没找到BP,通过第一条路径AP在原图拓扑G中构造流量图G*,在流量图G*上求风险链路组冲突链路集合,利用风险链路组冲突链路集合来将原问题分成互不相容的子问题,并行执行每个子问题,求得每个子问题的最优解,从而求得原问题的最优解。

与现有技术相比,本发明所具有的有益效果为:本发明提出的求风险共享链路组完全分离路径对的方法,在现有的求点完全分离或者链路完全分离路径对的领域都可以适应,如软件定义网络中对虚拟网络路径的可生存性保护、光网络链路故障情况的路径保护、集中式路由控制器情景下对特定路径的路由保护等应用领域。本发明尤其适用于任何类型的风险链路组的情形,具有十分广泛的应用前景。本发明的方法有利于降低算法的复杂度,而且由于缩小了搜索空间,使得算法的效率可以满足实际的工程要求。

附图说明

图1是五种算法AP路径BP路径和分离路径对的归一化路径权值;

图2是五种算法AP路径BP路径和分离路径对的归一化路径跳数;

图3展示了不同算法在不同核数的情况下的运行时间;

图4是五种算法不同核数下与KSP算法时间比较的归一化算法加速比;

图5是五种算法不同核数下的核加速比。

具体实施方式

本发明具体实现过程如下:

第一步:利用迪杰斯特拉算法在原图拓扑G中计算出第一条路径AP;

第二步:在原图拓扑G中去除求得的第一条路径AP的边和其边共享风险的边的,得到删减图Go

第三步:删减图Go通过迪杰斯特拉算法找第二条路径BP。如果找到BP返回True;

第四步:如果没找到BP,通过第一条路径AP在原图拓扑G中构造流量图G*,在流量图G*上求风险链路组冲突链路集合。利用风险链路组冲突链路集合来将原问题分而治之成互不相容的子问题,并行执行每个子问题求得每个子问题的最优解,来求得原问题的最优解。

以下对本发明做出进一步说明。

为了通过割集合来求得风险链路组冲突链路集合,我们构造如下构造流量图G*

1.原图拓扑G上构建流量图G*,通过设置AP路径上的边,与AP路径上的边共风险的边以及其他边的边容量,来得到流量图G*。

2.利用最大流最小割算法对流量图G*求得源节点s与目标节点d的最小割集。

3.最小规模AP路径上的边集合阻塞覆盖最小割集上的边,得到风险链路组冲突链路集合。

以下对本发明做出进一步说明。为了通过割集合来求得风险链路组冲突链路集合,我们构造如下构造流量图G*.

1.G*跟原图G是有相同的点和边的拓扑关系。

2.G*每条边的权值与原图G的相对应边的权值相等。

3.我们设置如下规则来设定每条边的容量。

引理3.1.在流量图G*中从s到d的任何路径必定经过至少一条在AP或者ER

上的边。

证明3.2.我们通过反证法来证明这个引理。假设为路径AP,在图G*中存在另外一条从s到d的路径,这条路径与AP不共享任何风险,即这条路径不经过任何链路都不在AP或者ER上。我们能显而易知这条路径是AP路径的风险共享链路组分离路径BP,这与我们的前提矛盾,我们假设AP路径是没有风险共享链路组分离路径BP的。

引理3.3.在流量图G*中的最大流量最可能为|AP|+(|AP|+1)×|ER|。

证明3.4.假设流量图G*的最大流的值为|f|=k.f能在流量图G*中被均分为k个从s到d的1单元的流。根据引理3.1,这些1单元的流必定经过一条边是在链路集AP或者ER中。然而AP或者ER边的容量为1或者|AP|+1。根据边AP和ER的容量设置原则,在AP上的边最多承载1单元的流量,同时在ER上的边最多承载|AP|+1单元的流。因此,将最大流最多只有|AP|+(|AP|+1)×|ER|单元的流量。

引理3.5.在流量图G*中的最小割Φ割边集LΦ的全部边属于AP或者ER。

证明3.6.根据最小割最大流定理,最小割Φ的容量为c(Φ)应该等于最大流量值,而根据引理3.3最大流量值为|AP|+|ER|×(|AP|+1)。根据等式3.1的容量设计原则,不是AP或者ER上的边的容量为|AP|+(|AP|+1)×|ER|+1在一个具有风险共享链路组的网络中,如果一条边是AP的边或者是与AP共享风险的边,则这条边不会是AP路径风向共享链路组分离的路径BP上的边。我们称这些边被路径AP阻塞。

定理3.7.如果原图G的一个流路径阻塞了在最小割边集LΦ的所有边,然后就没有流从s到d能通过这个图的割。

证明3.8.如果原图G的一个流路径阻塞了在最小割边集LΦ的所有边,然后就没有流能使用割边集LΦ的边,因此没有流能通过这个割集Φ从s流到d。

定理3.7告诉我们找到风险链路组冲突边集合的可能性。即当一条AP路径遇到一个trap问题时,我们能找到最小AP的子集来阻塞所有最小割边集LΦ的所有边,这个最小子集边组成风险链路组冲突边集合。当我们任何一条路径包含风险链路组冲突边集合的所有边,则没有多余的流能通过这个割集Φ,因此不存在SRLG分离的路径BP。

尽管所有在路径AP上的边形成一个SRLG冲突边集合,我们感兴趣的在于获得尽量小规模的集合,因为这个SRLG冲突边的大小决定子问题的数量。根据定理3.7,求最小SRLG冲突边集合问题能被描述成找到在最小的规模AP的子集来覆盖所有的最小割集边LΦ。

对每条边ei,让SRei表示与边ei共风险边的集合,很明显,SRei包含ei这条边本身和所有与它共风险的边。对每条在AP上的边ei,我们定义cut-block-link集合Bei=SRei∩LΦ,最小割集边LΦ的边子集能被ei阻塞。因此,求最小的险链路组冲突边集合问题能被形式化为集合覆盖问题:给定AP(路径AP的路径边的边集合),最小割边集LΦ和cut-block-link集合族Be1,Be2,···,Be|AP|,我们想求一个Bei最小规模其的集合族其并是LΦ。最小的使得∪ei∈TBei=LΦ。

集合覆盖问题是NP-难问题并且它的计算复杂度取决于元素的规模(n)。在我们求最小风险链路组冲突边集合的问题中,n=LΦ,即最小割集边LΦ的边的数目。我们应用贪婪算法求得最小风险链路组冲突边集合。根据SRLG的图形类型,有两种SRLG类型的:星型与非星型。不同于已经存在的其他研究方法,我们处理星型SRLG和非星型的SRLG。

当我们获得最小风险链路组冲突边集合时,我们能设计一个分而治之的算法来拆分原Min-Min SRLG-disjoint routing问题成多个子问题,这些子问题能并行处理以至于加速整个SRLG分离路径对的求解过程。为了使这个问题更加好分离,我们首先定义两个互斥的边集合I和O,I是被称作必经集合和O是被称作分离集合,定义P(I,O)为Min-Min SRLG-disjoint routing问题的子问题,在这个P(I,O)问题里路径AP是所有必须过I中所有边和必须不过O中所有AP路径集里最短的那一条路径。让原Min-Min SRLG-disjoint routing问题能被表示为给定风险链路组冲突边集合T,T有|T|条边e1,e2,···,e|T|,这个原问题能被按照以下步骤分离成各个子问题。

Step 1,能够被分离成两个子问题

Step 2,同理,能够继续被分离成两个子问题和P({e1},{e2}).这个拆分过程能持续到Step|T|,我们有问题能够被拆分成两个子问题和P({e1,e2,···,e|T|-1},e|T|).即我们已知子问题的I={e1,e2,···,e|T|-1,e|T|}=T和而且它是无解的。我们将找到除其它每一个子问题的最优解,然后取这些解中最优的一个作为原问题的最优解。如果所有的子问题都没有解则我们保证原问题也将没有解。

就时间复杂度而言,这些子问题将比原问题花费更小的时间求得解,因为每个子问题都至少有一条边(来自T)被移除出原图,这样将减少AP路径路径复杂度,这也保证了不同的AP将被求出来继续求是否存在SRLG分离的路径BP。

当遭遇trap问题时,我们的方法拆分原问题和测试每一个子问题为了找到最优解。跟已经存在的算法比较,我们的算法能够通过前面计算的结果和信息来找到其他替代的路径AP,这样我们的算法能大大的减少时间花销。而在给定的路径AP上为了得到最小SRLG冲突边集合我们求最小子集覆盖来获得。

下面从五个方面来描述CSLS算法与其他四类算法的区别:

1.路径权值:路径上所有边的权重和。

2.路径跳数:这条路径的跳数总数。

3.运行时间:找到一对SRLG分离路径所花费的平均时间。

4.算法加速比:给定两个不同算法的运行时间,表示为T1和T2,这个算法alg2相对于算法alg1的算法加速比为S1-2=T1/T2.

5.核加速比:一个并行程序的核数加速比是被定义为是指处理器的

核数,T1和Tp表示各自运行在1核和p核上的运行时间。

6.效率:定义为并且取值区间是在(0,1]内。

图1是五种算法AP路径BP路径和分离路径对的归一化路径权值,显而易见,

全部实现的算法如SCLS,CoSE,KSP,ILP和IQCP的AP路径能获得相同的权值,

但是他们的BP路径权值的不同导致路径对权值和的不同。因为这五种算法解决

相同的Min-Min SRLG分离路由问题,尽管他们都去的不同的SRLG分离路径对,但是这些算法都达到求最小路径权值的路径AP。尽管两个ILP基础的算法,

ILP和IQCP主要是找到最小的路径权值的AP和与AP路径SRLG分离的BP

路径,所以ILP和IQCP的BP路径与其他两个算法不同。

图2是五种算法AP路径BP路径和分离路径对的归一化路径跳数。因为所有

的算法都在求SRLG分离路径里较小路径尽量小而不是求最小跳数,即使他们AP

路径有不同跳数但是有相同的AP权值。尽管在图1所有算法中AP路径的权值

是小于BP路径的权值,但是在图2AP路径的跳数可能不总是小于BP路径的跳数。

图3展示了不同算法在不同核数的情况下的运行时间。正是因为KSP,ILP和IQP不是并行算法,这些算法在不同核数的情况下的运行时间几乎相等。我们算法SCLE和CoSE的运行时间随着处理的核数增多而降低,因为这两个算法能拆分原问题为多个子问题以至于并行执行和充分利用多核CPU的并行性来加快路径搜索的速度。尽管CoSE是并行算法,它的计算时间是大于ILP和IQCP。一些可能的原因1)因为在CoSE算法中找到冲突SRLG集合的查找过程是不够效率的,2)因为一个SRLG通常包含多条边,这个分离问题是基于冲突SRLG集合的以至于引入大量需要求解的子问题,这将导致大量的计算代价。不同于CoSE,我们的算法SCLE是根据图论的最小割定理来找到当一条AP路径遇到trap问题时的冲突边集合,和从图4示我们算法运行更少的时间。这图描述了我们冲突边集合查找算法的高效性,和我们根据SRLG冲突边集合的分而治之的算法和智能的AP查找过程极大的减少计算代价。KSP是另一种处理trap问提的有效算法。而且,在不同算法的执行过程中,KSP算法的运行时间是最大的。KSP算法的主要问题是当候选AP路径不存在相应的SRLG分离路径时,这个下一个候选的AP路径的选择是仅仅根据路径长度而选择的。在我们研究的这17个拓扑结构中,当为了找到分离路径而一大堆的路径要经过测试,因此这是需要大量的计算时间的。

在图3中显示一个例子来说明为什么KSP算法是如此不高效的。在这个图里,假设SRLG冲突边集合是e1,e2,和e1,e2,e3,e4的链路权值是远远大于其他链路的权值。首先从s到d的前K条最短路径包含路径段e1,e2(标识为虚线),这将让首先的AP路径遇到trap问题。为了避免trap问题,K值必须设定成一个较大值,这将让KSP算法带来很大的计算复杂度。当路径AP遇到trap问题时,我们能快速的识别出{e1,e2}是SRLG冲突边集合和拆分原问题成两个子问题和P({e1},{e2})以至于能在多核CPU里并行快速的找到SRLG分离路径对。

图4是五种算法不同核数下与KSP算法时间比较的归一化算法加速比。为了计算加速比度量,我们使用KSP作为基准算法和设置alg1=KSP.类似于图4的结果,我们的算法SCLS能获得明显的较大加速比。

图5是五种算法不同核数下的核加速比,为了比较两个并行算法SCLS和CoSE,这个核数加速比随着核数的增加而增加。尽管增加的速度变得越来越小随着核数的增多和更高的代价来协调进程。KSP,ILP和IQCP三种算法的核加速比在不同核数的情况下几乎等于1因为他们都不是并行算法,在所有的算法中,我们算法SCLS的核加速比是最大的,这描述了基于SRLG冲突边分离的分而治之的算法能带来巨大的并行效应。

本发明提供在软件定义网络控制器中路由业务模块共享风险链路组分离路由的方法。选取不同点数和边数的拓扑图数据,拓扑图数据上附有点,边,边的权值和风险共享链路组等信息。从这多个拓扑图数据中以不同的度量标准来获取多个实验数据并且归一化实验数据。输入网络图G,源节点s,目的节点d,返回一对分离路径(AP,BP).路由算法整体过程:为了找到一对SRLG分离路由,通过方法(G,s,d,I,O)在这个网络中最短的权重的主路径AP,然后在主路径AP的基础上,将原网络图G上包含主路径的边和主路径相关的风险共享链路组的边剔除,然后通过方法FIND_SRLG_Disjoint_BP(G,s,d,AP)查找备份路径BP。方法(G,s,d,I,O)是在图G运用迪杰斯特拉算法求一条必过集合I里所有边和必定不过O集合里所有边的路径。方法FIND_SRLG_Disjoint_BP是在图G中去除路径AP的边和与AP共享风险共享链路组的边,然后运用迪杰斯特拉算法求一条从源节点s到目的节点d的最短路BP。如果存在路径BP则算法结束,否则找到风险共享链路组冲突边集合,剔除已经存在在集合I和集合O中的边T←T-(I∪O)。分解原问题为多个子问题并行处理,从每个子问题中找到最优的解返回。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号