一种基于n人非合作博弈的多域光网络组播路由恢复方法与流程

文档序号:18329128发布日期:2019-08-03 11:50阅读:143来源:国知局
一种基于n人非合作博弈的多域光网络组播路由恢复方法与流程

本发明涉及组播路由恢复方法,具体涉及一种基于n人非合作博弈的多域光网络组播路由恢复方法。



背景技术:

随着光网络的不断发展,很多分支网络不具备预留大量冗余资源的条件,在这种情况下如何保证网络的生存性成为难题。面对没有预留保护机制的光网络,只有在网络中构造恢复机制才能解决故障后业务迅速恢复的问题。光网络生存性机制有保护和恢复之分,而恢复机制是一种在故障发生后利用路由搜索为故障区域重新配置恢复路径的机制,与保护机制相比,恢复机制重新寻找可用路径牺牲了一定的业务恢复时间,但是能够节约大量的网络资源。

国内外研究人员对单域光网络组播恢复方法取得了较好的研究进展,现有技术1对基于frr方案和基于rts的端到端保护方案进行比较,如果不考虑资源的冗余,基于frr方法的方案能够更加快速地恢复业务。现有技术2提出了一种分层自适应恢复方法,但是该方法生成组播树的效率会随着组播请求数的增加而下降。现有技术3提出的恢复方案克服了恢复技术的qos限制,而且能够同时解决路径故障和节点故障,但是该方案执行恢复的时间较长。在保证生存能力不变的情况下,现有技术4提出的mmra方法区分了四种网络故障——路由故障、oxc故障、光纤故障和混合故障,并分别解决其恢复问题,但是该方法中故障分析等步骤带来的额外流量导致了频谱利用率变差。另外,目前还没有同时考虑多域光网络和组播恢复的方法,同时,以上的单域光网络的恢复方法还不能直接应用于多域光网络的组播业务恢复。



技术实现要素:

本发明的目的在于提供一种基于n人非合作博弈的多域光网络组播路由恢复方法,用以解决现有技术中组播路由恢复方法存在的无法应用至多域光网络的问题。

为了实现上述任务,本发明采用以下技术方案:

一种基于n人非合作博弈的多域光网络组播路由恢复方法,当多域光网络组播的路由从上游节点到下游节点之间的原始路径出现故障时,执行以下步骤获得恢复路径:

步骤1、判断原始路径所在位置,若原始路径在域内,执行步骤2;否则执行步骤3;

步骤2、采用路径搜索算法获得一条从上游节点到下游节点的域内路径;

将所述的域内路径作为恢复路径输出后,结束;

步骤3、判断上游节点所在域与下游节点所在域之间是否存在域间直连路径,若存在执行步骤4;否则判断上游节点所在域与下游节点所在域之间是否存在间接路径,如存在执行步骤5,否则输出无恢复路径后,结束;

所述的间接路径经过除上游节点所在域与下游节点所在域外的其他域;

步骤4、采用路径搜索算法获得一条从上游节点到域间直连路径起点的域内路径;

采用路径搜索算法获得一条从域间直连路径终点到下游节点的域内路径;

将两条域内路径以及域间直连路径进行拼接,获得由上游节点到下游节点之间的恢复路径;

将所述的恢复路径输出后,结束;

步骤5、依次获得所述间接路径经过的多个域;

依次获得相邻两个域之间的域间直连路径,获得多条域间直连路径;

采用路径搜索算法获得间接路径经过的每个域的域内路径,所述域内路径的起点为与当前域连接的一条域间直连路径的终点,终点为与当前域连接的下一条域间直连路径的起点,获得多条域内路径;

其中采用路径搜索算法获得由上游节点到第一条域间直连路径的起点之间的域内路径;

采用路径搜索算法获得由最后一条域间直连路径的终点到下游节点之间的域内路径;

将所述的多条域间直连路径以及多条域内路径进行拼接,获得由上游节点到下游节点之间的恢复路径;

将所述的恢复路径输出后,结束。

进一步地,采用所述的路径搜索算法获得域内路径时,按照以下步骤执行:

步骤a、将所述的起点作为起跳点;

步骤b、对所有的起跳点采用博弈算法进行排序,获得搜索序列;

步骤c、对于搜索序列中的第i个起跳点,获得第i个起跳点的多个下一跳邻节点,i∈i,i为搜索序列中起跳点的总数,i为正整数;

步骤d、检测第i个起跳点的多个下一跳邻节点中是否包括终点,若包括,则将从起点到终点的所有节点集合后,输出路径;否则执行步骤e;

步骤e、若i≥i则执行步骤f,否则i=i+1,返回步骤c;

步骤f、将i个起跳点的所有下一跳邻节点均设置为起跳点后,返回步骤b。

进一步地,所述的步骤c中对于搜索序列中的第i个起跳点,采用广度优先搜索算法获得第i个起跳点的多个下一跳邻节点。

本发明与现有技术相比具有以下技术特点:

1、本发明提供的一种基于n人非合作博弈的多域光网络组播路由恢复方法考虑到了故障链路发生的位置,根据故障发生的不同位置,提供不同的恢复方案,使得组播路由恢复方法能够应用于多域光网络中,降低了基于n人非合作博弈的多域光网络组播路由恢复方法的复杂度;

2、本发明提供的一种基于n人非合作博弈的多域光网络组播路由恢复方法针对域间链路故障和域内链路故障的不同情况,利用非合作博弈的竞争选择优化广度优先搜索方法的层次搜索顺序,提高了路径搜索的速度,从而提高了路径恢复的速度,降低了组播恢复业务的阻塞率。

附图说明

图1为本发明的一个实施例中提供的多域光网络结构图;

图2为本发明的一个实施例中提供的本发明的方法的功率变化图;

图3为本发明的一个实施例中提供的不同恢复方法的恢复时间对比图;

图4为本发明的一个实施例中提供的不同恢复方法的阻塞率对比图。

具体实施方式

起跳点的下一跳邻节点:按照路由的方向,与起跳点之间为直接链接的节点为起跳点的下一跳邻节点。

pathcomputationelement(pce)是网络中负责路径计算的结构单元,计算处理能力强大,是多域光网络中路径计算问题的常用解决方案。在发明中采用分层式pce架构方案,由一个父路径计算单元ppce和多个子路径计算单元cpce构成。

实施例一

多域光网络组播树故障按故障类型分,可以分为链路故障和节点故障;按故障发生点分,可以分为域内故障和域间故障。针对域间链路故障和域内链路故障的不同情况,在本实施例中公开了一种基于n人非合作博弈的多域光网络组播路由恢复方法,用于当多域光网络中组播请求的工作树出现故障时,寻找恢复路径,利用非合作博弈的竞争选择优化bfs方法的层次搜索顺序,提高重新寻找恢复路径的速度。

在多域光网络中包括多个子路径计算单元以及一个父路径计算单元。

pathcomputationelement(pce)是网络中负责路径计算的结构单元,计算处理能力强大,是多域光网络中路径计算问题的常用解决方案。在本实施例中采用分层式pce架构方案,由一个父路径计算单元ppce和多个子路径计算单元cpce构成。

在本实施例中,如图1所示的3个域的多域光网络g=(18,42),在多域光网络中组播请求r1={2;5,8,10,12,13,15,17,18},其中工作树为浅灰色路径2-5-9-15-17,2-5-9-15-18,2-5-9-8-10,2-5-9-8-12,2-5-9-8-13。

当工作树中从上游节点到下游节点之间的原始路径出现故障时,按照以下步骤执行:

步骤1、判断原始路径所在位置,若原始路径在域内,执行步骤2;否则执行步骤3;

在本实施例中,如图1所示的多域光网络中,节点8至节点10的链路故障,即域内故障。

步骤2、下游节点所在域内的子路径计算单元采用路径搜索算法获得一条域内路径,所述域内路径的起点为上游节点,终点为下游节点;

子路径计算单元将所述的域内路径作为恢复路径输出后,结束;

在本实施例中,当节点8至节点10的链路出现故障时,由下游节点10向本域内的子路径计算单元发送故障信息,子路径计算单元启动恢复进程,向上游节点8发送本地重路由指令,子路径计算单元采用路径搜索算法搜索其他路径,路径搜索算法可以是floyd的路径选择方法、dijkstra的路径选择方法等。

在本实施例中,为了提高路径搜索速度,从而提高路径恢复速度,作为一种优选的实施方式,采用基于博弈算法的盲目搜索方法对域内路径进行搜索,按照以下步骤执行:

按照以下步骤执行:

步骤a、将所述的起点作为起跳点;

步骤b、对所有的起跳点采用博弈算法进行排序,获得搜索序列;

在本实施例中,开始时将节点8作为起点后,由于一开始只有一个点,因此搜索序列中只包括一个节点8,则对节点8执行步骤c,找到节点8的多个下一跳邻节点。

步骤c、对于搜索序列中的第i个起跳点,获得第i个起跳点的多个下一跳邻节点,i∈i,i为搜索序列中起跳点的总数,i为正整数;

在找节点8的多个下一跳邻节点的过程中,可以是通过遍历的方式找到节点8所有的下一跳邻节点。为了提高搜索速度,作为一种优选的实施方式,采用广度优先搜索算法获得第i个起跳点的多个下一跳邻节点。其中广度优先搜索算法可以是深度优选广度优先搜索算法,也可以是宽度优先广度优先搜索算法。

为了提高路径搜索速度,优选地,采用宽度优先广度优先搜索算法。

在本实施例中,采用宽度优先广度优先搜索算法找到了节点8的下一跳邻节点7、12以及13。

步骤d、检测第i个起跳点的多个下一跳邻节点中是否包括终点,若包括,则将从起点到终点的所有节点集合后,输出路径;否则执行步骤e;

在本实施例中,终点为节点10,因此在本次判断中没有找到重点,因此执行步骤e。

步骤e、若i≥i则执行步骤f,否则i=i+1,返回步骤c;

在本实施例中,i=1且i=1,因此执行步骤f。

步骤f、将i个起跳点的所有下一跳邻节点均设置为起跳点后,返回步骤b。

在本实施例中,将节点8的下一跳邻节点7、12以及13都设置为起跳点后,再返回步骤b中。

当起跳点为7、12以及13时,在步骤b中,采用博弈算法获得了搜索序列{12,7,13}后,执行步骤c;

在步骤c中,当i=1时,即起跳点为节点12,搜索节点12的下一跳邻节点包括节点10和11。

在步骤d中判断节点12的下一跳邻节点10和11,其中包括终点节点10,则输出域内路径8-12-10,路径搜索算法结束。

因此,当故障链路在域内时,采用以上方法就可以获得一条回复路径8-12-10。

在本实施例中,宽度优先广度优先搜索算法具体按照以下步骤执行:

step1:设定源节点vs,目的节点vj。

step2:标记节点vs作为源节点。

step3:从vs出发,访问vs的所有下游节点v1,v2,…,vn。

step4:分别从v1,v2,…,vn开始,访问v1,v2,…,vn的所有未接触的邻节点,若所有邻节点全部被访问或者到达vj,转step5;否则转step3。

step5:输出源节点vs到目的节点vj的路径esj。

步骤3、父路径计算单元判断上游节点所在域与下游节点所在域之间是否存在域间直连路径,若存在执行步骤4;否则父路径计算单元判断上游节点所在域与下游节点所在域之间是否存在间接路径,如存在执行步骤5,否则输出无恢复路径后,结束;

所述的间接路径经过除上游节点所在域与下游节点所在域外的其他域;

在本步骤中,当原始路径是两个域之间的,进行恢复时情况分为以下两种:

1、恢复路径为a域到b域,中间不会经过其他第三域;

2、恢复路径为a域到c域,其中经过b域,b域可以为一个域,也可以是多个域的集合。

当出现第一种情况时,仅需要找到a域与b域之间有没有存在另一条路径连接a域与b域,如果有的话,执行步骤4;没有的话就再寻找是否有间接路径;

当出现第二种情况时,相当于对第一种情况的扩充,例如由a域到d域的路径出现故障,中间经过b域和c域,首先寻找a域到b域的路径,再寻找b域到c域的路径,最后找到c域到d域的路径;

如果域间直连路径和间接路径都不存在,那么无法恢复路径,结束。

步骤4、上游节点所在域内的子路径计算单元采用路径搜索算法获得一条域内路径,所述域内路径的起点为上游节点,终点为域间直连路径起点;

下游节点所在域内的子路径计算单元采用路径搜索算法获得一条域内路径,所述域内路径的起点为域间直连路径终点,终点为下游节点;

父路径计算单元将两条域内路径以及一条域间直连路径进行拼接,获得由上游节点到下游节点之间的恢复路径;

父路径计算单元将所述的恢复路径输出后,结束;

在本实施例中,如图1所示,当节点5至节点9的路径出现故障时,即上游节点为节点5,下游节点为节点9,且域d1与域d2之间存在直连路径节点6至节点7;那么上游节点(节点5)所在域的子路径计算单元采用与步骤2中一样的方法,搜索到一条从节点5到节点6的域内路径(5-6),下游节点(节点9)所在域的子路径计算单元采用与步骤2中一样的方法,搜索到一条从节点7到节点9的域内路径(7-13-9),父路径计算单元将域内路径(5-6)、域间直连路径(6-7)以及域内路径(7-13-9)进行拼接后,获得恢复路径(5-6-7-13-9),从而完成了恢复。

步骤5、父路径计算单元依次获得所述间接路径经过的多个域;

父路径计算单元依次获得相邻两个域之间的域间直连路径,获得多条域间直连路径;

每个域内的子路径计算单元采用路径搜索算法获得每个域的域内路径,所述域内路径的起点为一条域间直连路径的终点,终点为下一条域间直连路径的起点,获得多条域内路径;

其中上游节点所在域内的子路径计算单元采用路径搜索算法获得由上游节点到第一条域间直连路径的起点之间的域内路径;

下游节点所在域内的子路径计算单元采用路径搜索算法获得由最后一条域间直连路径的终点到下游节点之间的域内路径;

父路径计算单元将所述的多条域间直连路径以及多条域内路径进行拼接,获得由上游节点到下游节点之间的恢复路径;

父路径计算单元将所述的恢复路径输出后,结束。

在本实施例中,当恢复路径需要经过多个域时,如图1所示,当节点5至节点9以及节点6到节点7的路径均出现故障时,相当于域d1到域d2之间没有域间直连路径,则需要经过域d3恢复节点5至节点9的路径,具体包括:

父路径计算单元依次获得所述间接路径经过的d1-d3-d2;

父路径计算单元依次获得相邻两个域之间的域间直连路径,其中d1-d3的域间直连路径为节点4-节点15,d3-d2的域间直连路径为节点18-节点13,获得两条域间直连路径;

首先,在域d1内的子路径计算单元采用步骤2中的路径搜索算法寻找由节点5到节点4的一条域内路径(5-4);

在域d3内的子路径计算单元采用步骤2中的路径搜索算法寻找由节点15到节点18的一条域内路径(15-18);

在域d2内的子路径计算单元采用步骤2中的路径搜索算法寻找由节点13到节点9的一条域内路径(13-9)

父路径计算单元将域内路径(5-4)、域间直连路径(4-15)、域内路径(15-18)、域间直连路径(18-13)以及域内路径(13-9)进行拼接后,获得恢复路径(5-4-15-18-13-9)。

在本实施例中,如果域间发生故障,首先寻找两个域之间是否存在其他链路,若存在则分别在两个域内进行从域间故障链路节点至新域间链路节点搜索;若不存在则寻找两个域都通连的第三个域,再分别在三个域内进行从故障链路节点至新域间链路节点的路径搜索,通过非合作博弈理论优化的搜索顺序,结合bfs方法寻找到最优恢复路径,从而快速恢复业务。

本实施例中提供的组播路由恢复方法结合盲目搜索方法搜索路径,同时利用非合作博弈机制决定同一层节点中的搜索顺序,通过求解纳什均衡能够得出更好的路径选择,从而实现多域光网络组播业务的高效恢复。

实施例二

在本实施例中为了验证本发明提供的方法的有效性,比较分析基于本发明提供的方法的多域光网络在故障发生前后的性能差异,然后考虑到不同恢复策略对多域光网络的影响差异,选择双权重恢复算法dwr方法和多层多域恢复算法mmra方法进行比较分析,其中dwr方法的双权值方案能够及时更新并用于pce计算路径,而mmra方法在域内采用简单最短路径搜索策略,在域间采用低速业务疏导策略建立端到端的恢复路径。

如图2所示,为本发明提供的恢复方法在恢复机制运行期间的功率变化。可以看出在1ms和2ms中间,网络输出功率值开始明下降,此时衰减模块正向网络某一链路施加一个30dbm左右的衰减,判定该处链路上业务中断并及时启动恢复机制。在6ms左右的时间后,功率缓慢回升,最终建立起恢复链路,从而恢复了业务的传输。

如图3所示为dwr方法、mmra方法和本发明提供的方法恢复时间的比较。可以看出,各方法恢复时间随着叶节点数的不断增加总体呈上升趋势,并且本发明提供的方法所用恢复时间最短,mmra方法次之,dwr方法所用恢复时间最长。dwr方法采用了双权值方法,发生故障时先更新权值确保后续工作业务不会与当前恢复业务进行碰撞,导致恢复时间最慢,而本发明提供的方法在故障后使用最短路径搜索方法进行全局盲目搜索,所以恢复速度快于dwr方法。本发明提供的方法结合bfs方法以及n人非合作博弈机制,通过博弈竞争选择机制加强了搜索针对性从而加快了寻找恢复路径的进程,最终生成恢复路径的时间最短。

如图4所示是dwr方法、mmra方法和本发明提供的方法的阻塞率比较。由图可知,随着故障链路数增加,各个方法阻塞率逐渐上升,整体而言mmra方法的阻塞率最高,其次是dwr方法,阻塞率最低的是本发明提供的方法。mmra方法中包含一个域间疏导方法用于域间链路的搜索,域内则是域内最短路径搜索,未考虑到各域内资源分布变化,导致阻塞的可能性大大增加。dwr方法设计的双权值方案提供链路权值的实时更新,不影响后续工作业务的正常传输能够避免与故障链路碰撞,降低了阻塞率。而因为本发明提供的方法通过非合作博弈机制确定寻路顺序,如果链路不可用在博弈中就会被排除,所以能够更好的降低阻塞率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1