获取跨域分离路径的方法、路径计算单元与流程

文档序号:20081532发布日期:2020-03-10 10:45阅读:220来源:国知局
获取跨域分离路径的方法、路径计算单元与流程

本发明涉及路径获取方法,具体涉及一种获取跨域分离路径的方法、相关路径计算单元(pce,pathcomputationelement)。



背景技术:

在跨域多协议标签交换流量工程(mpls-te)和通用多协议标签交换(gmpls)网络中,出于管理、地理位置、交换环境的需求,可将网络划分为多个域(domain),域与域之间通过出入域的边界节点间的链路相连。这种链路连接在多域网络环境中通常被称为标签交换路径(lsp,labelswitchingpath)。

在多域网络环境中,通常为每个承载业务配置两条lsp,其中一条称之为工作路径,另一条称之为保护路径(备份路径),以备当工作路径发生故障时,利用保护路径进行业务的传输;基于此,为工作路径所配置的保护路径是一条除与工作路径上的源节点、目的节点相同之外,与工作路径的其它节点、链路、共享资源链路组(srlg,sharerisklinkgroup)等完全分离(不相同)的路径。

对于跨域分离(不相交)路径计算的方法,互联网通信协议标准rfc5298提出了的两种基本方法,一种是顺序计算方法(sequentialpathcomputation),一种是同步计算方法(simultaneouspathcomputation)。其中,由于在顺序计算方法中工作路径先于保护路径而计算,在计算保护路径之前,每个域中工作路径的节点、链路都已经确定;同时,待计算的保护路径需要满足其各个节点、链路、srlg均需与工作路径相分离的约束条件。当存在有一些局限性,如先计算出的工作路径所选择的节点或链路不合理时,就会导致在一个域内无法计算出和工作路径的节点、链路、srlg均相分离的保护路径,从而导致跨域分离路径计算的失败。对于同步计算方法,从理论上会提高顺序计算方法对跨域分离路径获取的成功率,但在使用该方法之前,跨域端到端路径的首尾域间的域序列需要提前获知。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种获取跨域分离路径的方法及相关路径计算单元,能够提高跨域分离路径获取的成功率,且不需要提前获知端到端路径的首尾域间的域序列。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种获取跨域分离路径的方法,所述方法包括:

接收到跨域分离路径计算请求时,依据跨域网络抽象拓扑,获取k对候选分离域序列;

遍历所述k对候选分离域序列,为所述网络中的各个候选分离域序列的经过域,生成相应的域内路径计算请求,发送所述各个域的域内路径计算请求;

接收到针对所述域内路径计算请求的至少一对域内路径时,配置所述至少一对域内路径中的每一域内路径至所述k对候选分离域序列中的相应位置,形成k对候选跨域分离路径;

在所述k对候选跨域分离路径中,确定出一对跨域分离路径;

将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送;

其中,k为正整数。

上述方案中,依据所述跨域网络抽象拓扑,获取k对候选分离域序列,包括:

初始化k,初始化正整数j为1,根据由各域的入出边界节点以及域间链路组成的域间拓扑,利用预设的最短路径算法,计算从所述网络的首节点至尾节点,k对候选分离域序列中的第1对候选分离域序列的工作路径域序列;其中,所述首节点与尾节点携带于所述跨域分离路径计算请求中;

将第1对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第1对候选分离域序列中的保护路径域序列;

将j加1,判断加1后的j是否大于所述正整数k,判断为不大于k时,利用预设的k优路径算法,计算相对于第1对候选分离域序列中的工作路径域序列次优的第2对候选分离域序列中的工作路径域序列;

将第2对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第2对候选分离域序列中的保护路径域序列;

将j再加1,判断再加1后的j是否大于所述正整数k,判断为不大于k时,利用预设的k优路径算法,计算相对于第2对候选分离域序列中的工作路径域序列次优的第3对候选分离域序列中的工作路径域序列;

将第3对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第3对候选分离域序列中的保护路径域序列;

以此类推,直至判断加1后的j大于k,本流程结束。

上述方案中,所述遍历所述k对候选分离域序列,为所述网络中的各个域生成相应的域内路径计算请求,包括:

对于所述各个域中的首域,每遍历所述k对候选分离域序列中的一对候选分离域序列,生成一条关联路径计算请求;获取针对第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在所述k对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述首域中的出边界节点与第j2对候选序列中的工作路径域序列在所述首域中的出边界节点相同,且第j1对候选序列中的保护路径域序列在所述首域中的出边界节点与第j2对候选序列中的保护路径域序列在所述首域中的出边界节点相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述首域的域内路径计算请求;

对于所述各个域中的尾域,每遍历所述k对候选分离域序列中的一对候选分离域序列,生成一条关联路径计算请求;获取针对第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在所述k对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述尾域中的入边界节点与第j2对候选序列中的工作路径域序列在所述尾域中的入边界节点相同,且第j1对候选序列中的保护路径域序列在所述尾域中的入边界节点与第j2对候选序列中的保护路径域序列在所述尾域中的入边界节点相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述尾域的域内路径计算请求;

对于所述各个域中的中间域,当所述k对候选分离域序列中的第j对候选分离域序列中的工作路径域序列、保护路径域序列均经过所述中间域时,遍历所述第j对候选分离域序列,为所述第j对候选分离域序列生成一条关联路径计算请求;获取为第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取为第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在工作路径域序列及保护路径域序列均经过所述中间域的至少两对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述中间域中的入出边界节点与第j2对候选序列中的工作路径域序列在所述中间域中的入出边界节点对应相同,且第j1对候选序列中的保护路径域序列在所述中间域中的入出边界节点与第j2对候选序列中的保护路径域序列在所述中间域中的入出边界节点对应相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述中间域的域内路径计算请求;

对于所述各个域中的中间域,当所述k对候选分离域序列中的第j对候选分离域序列中的工作路径域序列、保护路径域序列仅有一个经过所述中间域时,对经过所述中间域的域序列生成非关联路径计算请求;获取为第j1对候选序列的工作路径域序列或保护路径域序列而生成的非关联路径计算请求,并确定为第一非关联请求;获取为第j2对候选序列的工作路径域序列或保护路径域序列而生成的非关联路径计算请求,并确定为第二非关联请求;当与所述第一非关联路径计算请求相对应的域序列在所述中间域的入出域边界节点和与所述第二非关联路径计算请求相对应的域序列在所述中间域的入出域边界节点相同时,合并所述第一非关联请求和所述第二非关联请求,并将合并后的非关联路径计算请求作为所述中间域的域内路径计算请求;

其中,j、j1、j2均为正整数,1≤j≤k,1≤j1≤k、1≤j2≤k,且j1≠j2。

上述方案中,所述配置所述至少一对域内路径中的每一域内路径至所述k对候选分离域序列中的相应位置,形成k对候选跨域分离路径,包括:

在所述k对候选分离域序列中,配置第j对候选分离域序列中的工作路径域序列相对应的经过域的域内路径至第j对候选分离域序列的工作路径的相应位置,以及配置与第j对候选分离域序列中的保护路径域序列相对应的经过域的域内路径至第j对候选分离域序列的保护路径的相应位置,形成k对候选跨域分离路径。

其中,j均为正整数,1≤j≤k。

上述方案中,在所述k对候选跨域分离路径中,确定出一对跨域分离路径,包括:

计算所述k对候选跨域分离路径的每一对候选跨域分离路径中的工作路径的路径代价、及保护路径的路径代价;

将每一对候选跨域分离路径中的工作路径的路径代价及保护路径的路径代价求和,形成路径代价和;

选取路径代价和最小的候选跨域分离路径为所述跨域分离路径。

本发明实施例还提供了一种获取跨域分离路径的方法,所述方法包括:

接收到节点的跨域分离路径计算请求时,至少一个子pce中的用于管辖所述节点所属域的子pce发送所述跨域分离路径计算请求;

所述至少一个子pce中的每一个子pce确定自身接收到的域内路径计算请求的类型,依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,并发送所获取的域内路径;

接收针对所述跨域分离路径计算请求的跨域分离路径计算结果,将所接收到的跨域分离路径计算结果发送至所述节点。

上述方案中,所述至少一个子pce中的每一个子pce确定自身接收到的域内路径计算请求的类型,依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所在域的至少一对域内路径,包括:

用于计算首域内的域内路径的子pce接收到的域内路径计算请求的类型为关联路径计算请求,依据所述关联路径计算请求中所携带的首域出边界节点,利用预设的同步不相交路径算法,为每一条关联路径计算请求计算出在首域中的域内路径;

用于计算尾域内的域内路径的子pce接收到的域内路径计算请求的类型为关联路径计算请求,依据所述关联路径计算请求中所携带的尾域入边界节点,利用预设的同步不相交路径算法,为每一条关联路径计算请求计算出在尾域中的域内路径;

用于计算中间域内的域内路径的子pce接收到的域内路径计算请求的类型包括关联路径计算请求和非关联路径计算请求;对于关联路径计算请求,依据所述关联路径计算请求中携带的所述中间域入出边界节点,利用预设的同步不相交路径算法,为每一条关联请求计算出在所述中间域中不相交的工作路径及与所述工作路径相对应的保护路径,并将所述工作路径及所述保护路径集合为所述域内路径;对于非关联路径计算请求,依据所述非关联请求中所携带的所述中间域入出边界节点,利用预设的最短路径算法和/或k优路径算法,计算在所述中间域内的单条路径,并将所述单条路径作为所述域内路径。

上述方案中,所述方法还包括:

用于计算首域内的域内路径的子pce,接收到关联路径计算请求时,在所述首域的域内拓扑上新增一虚拟节点,并新增连接有所述虚拟节点与第一、二出边界节点的虚拟链路;

依据所述虚拟节点及所述虚拟链路,形成首域域内路径计算拓扑;

在所述首域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算所述首域内的首节点到所述虚拟节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述首节点到所述首域的第一出边界节点的路径,形成域内工作路径;

从所述最短不相交路径对中,分离出所述首节点到所述首域的第二出边界节点的路径,形成域内保护路径;

将所述域内工作路径和所述域内保护路径作为在所述首域内的域内路径;

其中,所述第一出边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述首域中的出边界节点;

所述第二出边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述首域中的出边界节点;

其中,k、j均为正整数,且1≤j≤k。

上述方案中,所述方法还包括:

用于计算尾域内的域内路径的子pce,接收到关联路径计算请求时,在所述尾域的域内拓扑上新增一虚拟节点,并新增连接有所述虚拟节点与第一、二入边界节点的虚拟链路;

依据所述虚拟节点及所述虚拟链路,形成尾域域内路径计算拓扑;

在所述尾域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算所述虚拟节点到所述尾域内的尾节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述尾域的第一入边界节点到所述尾节点的路径,形成域内工作路径;

从所述最短不相交路径对中,分离出所述尾域的第二入边界节点到所述尾节点的路径,形成域内保护路径;

将所述域内工作路径和所述域内保护路径作为在所述尾域内的域内路径;

其中,所述第一入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述尾域中的入边界节点;

所述第二入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述尾域中的入边界节点;

其中,k、j均为正整数,且1≤j≤k。

上述方案中,所述方法还包括:

用于计算中间域内的域内路径的子pce,接收到关联路径计算请求时,在所述尾域的域内拓扑上新增第一虚拟节点及第二虚拟节点,并新增连接有所述第一虚拟节点与第一、二入边界节点的虚拟链路、以及新增连接有所述第二虚拟节点与第一、二出边界节点的虚拟链路;

依据所述第一虚拟节点、第二虚拟节点及所述虚拟链路,形成中间域域内路径计算拓扑;

在中间域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算第一虚拟节点到第二虚拟节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述中间域的第一入边界节点到所述中间域的第一出边界节点的路径,形成域内工作路径;

从最短不相交路径对中,分离出所述中间域的第二入边界节点到所述中间域的第二出边界节点的路径,形成域内保护路径;

将所述域内工作路径和域内保护路径作为在所述中间域的域内路径;

其中,所述第一入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述中间域中的入边界节点;所述第一出边界节点为所述工作路径域序列在所述中间域中的出边界节点;

所述第二入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述中间域中的入边界节点;所述第二出边界节点为所述保护路径域序列在所述中间域中的出边界节点;

其中,k、j均为正整数,且1≤j≤k。

本发明实施例提供了一种路径计算单元,所述路径计算单元包括:

第一获取单元,用于接收到跨域分离路径计算请求时,依据跨域网络抽象拓扑,获取k对候选分离域序列;

第一生成单元,用于遍历所述k对候选分离域序列,为所述网络中的各个候选分离域序列的经过域,生成相应的域内路径计算请求,发送所述各个域的域内路径计算请求;

第一形成单元,用于接收到针对所述域内路径计算请求的至少一对域内路径时,配置所述至少一对域内路径中的每一域内路径至所述k对候选分离域序列中的相应位置,形成k对候选跨域分离路径;

第一确定单元,用于在所述k对候选跨域分离路径中,确定出一对跨域分离路径;

第一发送单元,用于将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送;

其中,k为正整数。

上述方案中,所述第一获取单元,用于:

初始化k,初始化正整数j为1,根据由各域的入出边界节点以及域间链路组成的域间拓扑,利用预设的最短路径算法,计算从所述网络的首节点至尾节点的k对候选分离域序列中的第1对候选分离域序列的工作路径域序列;其中,所述首节点与尾节点携带于所述跨域分离路径计算请求中;

将第1对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第1对候选分离域序列中的保护路径域序列;

将j加1,判断加1后的j是否大于所述正整数k,判断为不大于k时,利用预设的k优路径算法,计算相对于第1对候选分离域序列中的工作路径域序列次优的第2对候选分离域序列中的工作路径域序列;

将第2对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第2对候选分离域序列中的保护路径域序列;

将j再加1,判断再加1后的j是否大于所述正整数k,判断为不大于k时,利用预设的k优路径算法,计算相对于第2对候选分离域序列中的工作路径域序列次优的第3对候选分离域序列中的工作路径域序列;

将第3对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第3对候选分离域序列中的保护路径域序列;

以此类推,直至判断加1后的j大于k。

上述方案中,所述第一生成单元,用于:

对于所述各个域中的首域,每遍历所述k对候选分离域序列中的一对候选分离域序列,生成一条关联路径计算请求;获取针对第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在所述k对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述首域中的出边界节点与第j2对候选序列中的工作路径域序列在所述首域中的出边界节点相同,且第j1对候选序列中的保护路径域序列在所述首域中的出边界节点与第j2对候选序列中的保护路径域序列在所述首域中的出边界节点相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述首域的域内路径计算请求;

对于所述各个域中的尾域,每遍历所述k对候选分离域序列中的一对候选分离域序列,生成一条关联路径计算请求;获取针对第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在所述k对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述尾域中的入边界节点与第j2对候选序列中的工作路径域序列在所述尾域中的入边界节点相同,且第j1对候选序列中的保护路径域序列在所述尾域中的入边界节点与第j2对候选序列中的保护路径域序列在所述尾域中的入边界节点相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述尾域的域内路径计算请求;

对于所述各个域中的中间域,当所述k对候选分离域序列中的第j对候选分离域序列中的工作路径域序列、保护路径域序列均经过所述中间域时,遍历所述第j对候选分离域序列,为所述第j对候选分离域序列生成一条关联路径计算请求;获取为第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取为第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在工作路径域序列及保护路径域序列均经过所述中间域的至少两对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述中间域中的入出边界节点与第j2对候选序列中的工作路径域序列在所述中间域中的入出边界节点对应相同,且第j1对候选序列中的保护路径域序列在所述中间域中的入出边界节点与第j2对候选序列中的保护路径域序列在所述中间域as中的入出边界节点对应相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述中间域的域内路径计算请求;

对于所述各个域中的中间域,当所述k对候选分离域序列中的第j对候选分离域序列中的工作路径域序列、保护路径域序列仅有一个经过所述中间域时,对经过所述中间域的域序列生成非关联路径计算请求;获取为第j1对候选序列的工作路径域序列或保护路径域序列而生成的非关联路径计算请求,并确定为第一非关联请求;获取为第j2对候选序列的工作路径域序列或保护路径域序列而生成的非关联路径计算请求,并确定为第二非关联请求;当与所述第一非关联路径计算请求相对应的域序列在所述中间域的入出边界节点和与所述第二非关联路径计算请求相对应的域序列在所述中间域的入出边界节点相同时,合并所述第一非关联请求和所述第二非关联请求,并将合并后的非关联路径计算请求作为所述中间域的域内路径计算请求;

其中,j、j1、j2均为正整数,1≤j≤k,1≤j1≤k、1≤j2≤k,且j1≠j2。

上述方案中,所述第一形成单元,用于:

在所述k对候选分离域序列中,配置第j对候选分离域序列中的工作路径域序列相对应的经过域的域内路径至第j对候选分离域序列的工作路径的相应位置,以及配置与第j对候选分离域序列中的保护路径域序列相对应的经过域的域内路径至第j对候选分离域序列的保护路径的相应位置,形成k对候选跨域分离路径。

其中,j均为正整数,1≤j≤k。

上述方案中,所述第一确定单元,用于

计算所述k对候选跨域分离路径的每一对候选跨域分离路径中的工作路径的路径代价、及保护路径的路径代价;

将每一对候选跨域分离路径中的工作路径的路径代价及保护路径的路径代价求和,形成路径代价和;

选取路径代价和最小的候选跨域分离路径为所述跨域分离路径。

本发明实施例还提供了一种路径计算单元,所述路径计算单元包括:

第一发送单元,用于接收到节点的跨域分离路径计算请求时,发送所述跨域分离路径计算请求;

第一确定单元,用于确定自身接收到的域内路径计算请求的类型;

第一获取单元,用于依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,发送所获取的域内路径;

第二发送单元,用于接收针对所述跨域分离路径计算请求的跨域分离路径计算结果,将所接收到的跨域分离路径计算结果发送至所述节点。

上述方案中,

所述第一获取单元,位于首域中,用于确定自身接收到的域内路径计算请求的类型为关联路径计算请求,依据所述关联路径计算请求中所携带的首域出边界节点,利用预设的同步不相交路径算法,为每一条关联路径计算请求计算出在首域中的域内路径;

所述第一获取单元,位于尾域中,用于确定接收到的域内路径计算请求的类型为关联路径计算请求,依据所述关联路径计算请求中所携带的尾域入边界节点,利用预设的同步不相交路径算法,为每一条关联路径计算请求计算出在尾域中的域内路径;

所述第一获取单元,位于中间域中,用于确定接收到的域内路径计算请求的类型包括关联路径计算请求和非关联路径计算请求;对于关联路径计算请求,依据所述关联路径计算请求中携带的所述中间域入出边界节点,利用预设的同步不相交路径算法,为每一条关联请求计算出在所述中间域中不相交的工作路径及与所述工作路径相对应的保护路径,并将所述工作路径及所述保护路径集合为所述域内路径;对于非关联路径计算请求,依据所述非关联请求中所携带的所述中间域入出边界节点,利用预设的最短路径算法和/或k优路径算法,计算在所述中间域内的单条路径,并将所述单条路径作为所述域内路径。

上述方案中,

所述第一获取单元,位于首域中,用于确定接收到关联路径计算请求时,在所述首域的域内拓扑上新增一虚拟节点,并新增连接有所述虚拟节点与第一、二出边界节点的虚拟链路;

依据所述虚拟节点及所述虚拟链路,形成首域域内路径计算拓扑;

在所述首域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算所述首域内的首节点到所述虚拟节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述首节点到所述首域的第一出边界节点的路径,形成域内工作路径;

从所述最短不相交路径对中,分离出所述首节点到所述首域的第二出边界节点的路径,形成域内保护路径;

将所述域内工作路径和所述域内保护路径作为在所述首域内的域内路径;

其中,所述第一出边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述首域中的出边界节点;

所述第二出边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述首域中的出边界节点;

其中,k、j均为正整数,且1≤j≤k。

上述方案中,

所述第一获取单元,位于尾域中,用于确定接收到关联路径计算请求时,在所述尾域的域内拓扑上新增一虚拟节点,并新增连接有所述虚拟节点与第一、二入边界节点的虚拟链路;

依据所述虚拟节点及所述虚拟链路,形成尾域域内路径计算拓扑;

在所述尾域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算所述虚拟节点到所述尾域内的尾节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述尾域的第一入边界节点到所述尾节点的路径,形成域内工作路径;

从所述最短不相交路径对中,分离出所述尾域的第二入边界节点到所述尾节点的路径,形成域内保护路径;

将所述域内工作路径和所述域内保护路径作为在所述尾域内的域内路径;

其中,所述第一入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述尾域中的入边界节点;

所述第二入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述尾域中的入边界节点;其中,k、j均为正整数,且1≤j≤k。

上述方案中,

所述第一获取单元,位于中间域中,用于接收到关联路径计算请求时,在所述尾域的域内拓扑上新增第一拟节点及第二虚拟节点,并新增连接有所述第一虚拟节点与第一、二入边界节点的虚拟链路、以及新增连接有所述第二虚拟节点与第一、二出边界节点的虚拟链路;

依据所述第一虚拟节点、第二虚拟节点及所述虚拟链路,形成中间域域内路径计算拓扑;

在所述中间域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算第一虚拟节点到第二虚拟节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述中间域的第一入边界节点到所述中间域的第一出边界节点的路径,形成域内工作路径;

从最短不相交路径对中,分离出所述中间域的第二入边界节点到所述中间域的第二出边界节点的路径,形成域内保护路径;

将所述域内工作路径和域内保护路径作为在所述中间域的域内路径;

其中,所述第一入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述中间域中的入边界节点;所述第一出边界节点为所述工作路径域序列在所述中间域中的出边界节点;

所述第二入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述中间域中的入边界节点;所述第二出边界节点为所述保护路径域序列在所述中间域中的出边界节点;

其中,k、j均为正整数,且1≤j≤k。

本发明实施例提供的获取跨域分离路径的方法及相关路径计算单元,所述方法包括:接收到跨域分离路径计算请求时,依据跨域网络抽象拓扑,获取k对候选分离域序列;遍历所述k对候选分离域序列,为所述网络中的各个候选分离域序列的经过域,生成相应的域内路径计算请求,发送所述各个域的域内路径计算请求;接收到针对所述域内路径计算请求的至少一对域内路径时,配置所述至少一对域内路径中的每一域内路径至所述k对候选分离域序列中的相应位置,形成k对候选跨域分离路径;在所述k对候选跨域分离路径中,确定出一对跨域分离路径;将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送;其中,k为正整数。利用本发明实施例,能够提高跨域分离路径获取的成功率,且不需要提前获知端到端路径的首尾域间的域序列。

附图说明

图1为本发明提供的获取跨域分离路径的方法的实施例一的实现流程示意图;

图2为本发明实施例提供的应用场景一示意图;

图3(a)为本发明实施例提供的首域的拓扑示意图;

图3(b)为本发明实施例提供的尾域的拓扑示意图;

图3(c)为本发明实施例提供的中间域的拓扑示意图;

图4为本发明提供的获取跨域分离路径方法的第二实现流程示意图;

图5为本发明提供的获取跨域分离路径方法的第三实现流程示意图;

图6为本发明提供的获取跨域分离路径方法的实施例一的示意图;

图7为本发明提供的获取跨域分离路径方法的实施例二的示意图;

图8为本发明提供的获取跨域分离路径方法的实施例三的示意图;

图9为本发明提供的路径计算单元实施例一的组成示意图;

图10为本发明提供的路径计算单元实施例二的组成示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

在多域网络环境中,为满足工作路径和保护路径的建立需求,可使用pce建立lsp。使用pce计算跨域分离路径时,需要负责各个域路径计算的pce之间相互协作,进而完成端到端路径的计算。为解决无需提前获知跨域端到端路径的首尾域间的域序列就可建立跨域分离路径的问题,互联网通信协议标准rfc6805在目前的pce架构基础上,提出了等级pce的概念,即:视负责各个域域内路径计算的pce为子pce,同时为这些子pce设置了父pce,通过父pce对各个域内的子pce的协调来完成跨域分离路径的计算。本发明实施例的后续技术方案,就是利用等级pce的概念模型来获取跨域分离路径。

本发明提供的获取跨域分离路径的方法的实施例一,应用于pce中,所述pce包括父pce及至少一个子pce;每个子pce对应于网络中的相应域。

图1为本发明提供的获取跨域分离路径的方法第一实现流程示意图;如图1所示,所述方法包括:

步骤11:接收到节点发送的跨域分离路径计算请求时,所述至少一个子pce中的用于管辖所述节点所属域的子pce发送所述计算请求至所述父pce。

图2为本发明实施例提供的应用场景一示意图;本发明提供的获取跨域分离路径的方法的实施例一的技术方案可结合图2进行理解。

如图2所示,网络中存在有n(n为正整数)个域,每个域为相应的自治系统(as,autonomoussystem),即网络中的域为as(i),i为正整数且1<=i<=n;

为方便理解,可视as(1)为跨域分离路径计算中的首域,as(n)为尾域,as(2)-as(n-1)为中间域。在等级pce概念模型中,为as(i)配置相应的子pce如pce_s(i),以及为网络中的所有子pce配置一个父pce如pce_p。

较佳的,当节点s发送跨域分离路径计算请求至用于管辖节点s的子pce如pce_s(1)时,所述pce_s(1)将该跨域分离路径计算请求发送至pce_p。

步骤12:所述父pce接收到所述计算请求时,依据跨域网络抽象拓扑,获取k对候选分离域序列;遍历所述k对候选分离域序列,为所述网络的各个候选分离域序列的经过域,生成相应的域内路径计算请求,发送所述各个域的域内路径计算请求至对应于所述域的子pce;

其中,所述经过域包括:所述候选分离域序列在所述跨域网络中所经过的首域、尾域及中间域;所述k对候选分离域序列中的每一对候选分离域序列包括候选跨域分离路径中工作路径的域序列及候选跨域分离路径中与所述工作路径相对应的保护路径的域序列;

其中,k为正整数,为预先设置的,可根据实际网络拓扑结构和/或使用的路径计算方法而灵活设置。

这里,结合图2为方便本发明实施例技术方案的描述,约定:

ds(og,j)代表着第j对候选分离域序列中,工作路径的经过域序列,1<=j<=k;

ds(dj,j)代表着第j对候选分离域序列中,保护路径的经过域序列,j为正整数,且1<=j<=k;

bn-en(og,i,j)代表着第j对候选分离域序列中,经过as(i)域的工作路径使用的入边界节点;

bn-ex(og,i,j)代表着第j对候选分离域序列中,经过as(i)域的工作路径使用的出边界节点;

bn-en(dj,i,j)代表着第j对候选分离域序列中,经过as(i)域的保护路径使用的入边界节点;

bn-ex(dj,i,j)代表着第j对候选分离域序列中,经过as(i)域的工作路径使用的出边界节点;

pin(og,i,j)代表着第j对候选分离域序列中,经过as(i)域的工作路径的域内路径;

pkey(og,i,j)代表着第j对候选分离域序列中,经过as(i)域的工作路径域内路径段所使用的路径索引(pathkey);

pin(dj,i,j)代表着第j对候选分离域序列中,经过as(i)域的保护路径的域内路径;

pkey(dj,i,j)代表着第j对候选分离域序列中,经过as(i)域的保护路径域内路径段所使用的pathkey;

s代表着跨域分离路径计算的首/源节点,位于首域as(1)中;

d代表着跨域分离路径计算的尾节点,位于尾域as(n)中;

称除了首域as(1)、尾域as(n)之外的其它域为中间域;

sub_req(i)代表着由父pce发送给负责计算as(i)域的域内路径的子pce(i)的域内(不相交)路径计算请求;

sub_rsp(i)代表着由pce_s(i)发送给pce_p的as(i)域的域内路径计算结果集;

dp(og,j)代表着第j对候选分离域序列中,工作路径对应的跨域端到端路径;

dp(dj,j)代表着第j对候选分离域序列中,保护路径对应的跨域端到端路径。

其中,所述父pce接收到所述计算请求时,依据跨域网络抽象拓扑,获取k对候选分离域序列,包括:

父pce如pce_p根据由各域的入出边界节点以及域间链路组成的域间拓扑,使用顺序计算方法,按照步骤121~步骤124计算出k对候选分离域序列;

步骤121:初始化k,以及初始化j=1,pce_p利用预设的最短路径算法,计算从首节点s至尾节点d的第一对候选跨域分离路径中的工作路径的经过域序列ds(o,j),继续执行步骤122;

其中,该域序列ds(og,j)的具体路径(第一对候选跨域分离路径中的工作路径)为(s,bn-ex(og,1,j),bn-en(og,i,j),bn-ex(og,i,j),…,bn-en(og,n,j),d);所述最短路径算法包括但不仅限定于:笛杰特斯拉djkstra算法、弗洛伊德floyd算法、贝尔曼福特bellman-ford算法、最短路径快速(spfa,shortestpathfasteralgorithm)算法。

步骤122:pce_p将ds(og,j)的路径作为分离约束条件,利用预设的最短路径算法,计算保护路径的经过域序列ds(dj,j)(域序列ds(dj,1)为第一对候选跨域分离路径中的保护路径的域序列),继续执行步骤123;

其中,该域序列ds(dj,1)的具体路径为(s,bn-ex(dj,1,j),bn-en(dj,i,j),bn-ex(dj,i,j),…,bn-en(dj,n,j),d);所述最短路径算法请参见前述说明,这里不再赘述。

步骤123:将j加1,判断加1后的j是否大于k,判断为不大于k时,继续执行步骤124;判断为大于k时,本流程结束;

步骤124:pce_p使用预设的k优路径算法,计算相对于第j-1条工作路径的经过域序列ds(og,j-1)的次优的工作路径的域序列ds(og,j),继续执行步骤122,以此类推,直至计算出k对候选分离域序列即步骤123中加1后的j大于k。

上述方案中,视ds(o,j)与ds(dj,j)一对候选分离域序列。

其中,遍历所述k对候选分离域序列,为所述网络的各个域生成相应的域内路径计算请求,发送各个域的域内路径计算请求至对应于所述域的子pce,包括:

对于首域as(1)的域内路径计算请求,父pce如pce_p每遍历一对候选分离域序列,生成一条关联路径计算请求(关联请求);获取针对第j1对候选序列而生成的关联请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联请求,并确定为第二关联请求;在k对候选分离域序列中,存在有第j1对候选序列中工作路径的域序列在首域中的出边界节点与第j2对候选序列中工作路径的域序列在首域中的出边界节点相同,且第j1对候选序列中保护路径的域序列在首域中的出边界节点与第j2对候选序列中保护路径的域序列在首域中的出边界节点相同时,合并所述第一关联请求和第二关联请求为一条关联请求,并将所生成的所有关联请求合并为一条域内路径计算请求如sub_req(1),发送至用于计算首域as(1)域内路径的子pce如pce_s(1);其中,j1、j2均为正整数,1≤j1≤k,1≤j2≤k,且j1≠j2。

由此可见,在首域中,域内路径计算请求包括至少一条关联请求,与第j条关联请求所对应的关联路径可由第j对候选分离域序列在首域中的入出边界节点而表示,例如第j条关联请求所对应的关联路径中的工作路径可表示为:<s,bn-ex(og,1,j)>,保护路径可表示为:<s,bn-ex(dj,1,j)>;在第j1和j2个关联路径中,工作路径有bn-ex(og,1,j1)=bn-ex(og,1,j2),且保护路径有bn-ex(dj,1,j1)=bn-ex(dj,1,j2),则将第j1个关联请求与第j2个关联请求合并为一个关联请求。

对于尾域as(n)的域内路径计算请求,父pce如pce_p每遍历一对候选分离域序列,生成一条关联路径计算请求(关联请求);获取针对第j1对候选序列而生成的关联请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联请求,并确定为第二关联请求;在k对候选分离域序列中,存在有第j1对候选序列中工作路径的域序列在尾域中的入边界节点与第j2对候选序列中工作路径的域序列在尾域中的入边界节点相同,且第j1对候选序列中保护路径的域序列在尾域中的入边界节点与第j2对候选序列中保护路径的域序列在尾域中的入边界节点相同时,合并所述第一关联请求和第二关联请求为一条关联请求,并将所生成的所有关联请求合并为一条域内路径计算请求如sub_req(n),发送至用于计算尾域as(n)域内路径的子pce如pce_s(n);

由此可见,在尾域中,域内路径计算请求包括至少一条关联请求,与第j条关联请求所对应的关联路径可由第j对候选分离域序列在尾域中的入出边界节点而表示,例如第j条关联请求所对应的关联路径中的工作路径可表示为<bn-en(og,n,j),d>,保护路径可表示为<bn-en(dj,n,j),d>;在第j1和j2个关联路径中,工作路径有bn-en(og,n,j1)=bn-en(og,n,j2),且保护路径有bn-en(dj,n,j1)=bn-en(dj,n,j2),则将第j1个关联请求与第j2个关联请求合并为一个关联请求。

对于中间域as(ii)的域内路径计算请求,1<ii<n,父pce如pce_p每遍历一对候选分离域序列,生成关联路径计算请求(关联请求)和/或非关联路径计算请求(非关联请求),并所生成的所有关联请求和/或非关联请求合并为一条域内路径计算请求如sub_req(ii),具体的:

当第j对候选分离域序列中的工作路径域序列ds(og,j)及保护路径域序列ds(dj,j)均经过域as(ii),父pce为第j对候选分离域序列ds(og,j)及ds(dj,j)生成关联请求;获取针对第j1对候选序列而生成的关联请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联请求,并确定为第二关联请求;在工作路径域序列及保护路径域序列均经过所述中间域的至少两对候选分离域序列中,存在有第j1对候选序列中工作路径的域序列在域as(ii)中的入出边界节点与第j2对候选序列中工作路径的域序列在域as(ii)中的入出边界节点对应相同,且第j1对候选序列中保护路径的域序列在域as(ii)中的入出边界节点与第j2对候选序列中保护路径的域序列在域as(ii)中的入出边界节点对应相同时,合并所述第一关联请求和第二关联请求为一条关联请求,并将所生成的所有关联请求合并为一条域内路径计算请求如sub_req(ii),发送至用于计算域as(ii)的域内路径的子pce如pce_s(ii)。

由此可见,在第j对候选分离域序列中的工作路径域序列ds(og,j)及保护路径域序列ds(dj,j)均经过域as(ii)时,与第j条关联请求所对应的关联路径可由第j对候选分离域序列在域as(ii)中的入出边界节点而表示,例如第j条关联请求所对应的关联路径中的工作路径可表示为<bn-en(og,ii,j),bn-ex(og,ii,j)>,保护路径可表示为<bn-en(dj,ii,j),bn-ex(dj,ii,j)>;在第j1和j2个关联路径中,有工作路径的bn-en(og,ii,j1)=bn-en(og,ii,j2)及bn-ex(og,ii,j1)=bn-ex(og,ii,j2),且有保护路径的bn-en(dj,ii,j1)=bn-en(dj,ii,j2)及bn-ex(dj,ii,j1)=bn-ex(dj,ii,j2),则将第j1个关联请求与第j2个关联请求合并为一个关联请求。

当第j对候选分离域序列的工作路径域序列ds(og,j)、保护路径域序列ds(dj,j)仅有一个经过中间域as(ii),针对经过中间域as(ii)的域序列生成as(ii)域内单条路径计算请求(非关联请求),所述非关联请求为可以为独立路径计算请求(独立请求),并将该请求合并至sub_req(ii)中;其中,获取针对第j1对候选序列的工作路径域序列/保护路径域序列而生成的非关联请求,并确定为第一非关联请求;获取针对第j2对候选序列的工作路径域序列/保护路径域序列而生成的非关联请求,并确定为第二非关联请求;存在有第j1对候选序列中工作路径/保护路径的域序列在域as(ii)中的入出边界节点与第j2对候选序列中工作路径/保护路径的域序列在域as(ii)中的入出边界节点相同时,合并第一非关联请求与第二非关联请求,并将合并后的非关联请求发送至用于计算域as(ii)的域内路径的子pce如pce_s(ii)。

由此可见,第j对候选分离域序列的工作路径域序列ds(og,j)及保护路径域序列ds(dj,j)仅有一个经过中间域as(ii)时,与第j条非关联请求所对应的非关联路径可由第j对候选分离域序列在as(ii)域中的入出边界节点而表示,例如当仅ds(og,j)经过as(ii)中间域时,第j条非关联请求所对应的非关联路径可表示为<bn-en(og,ii,j),bn-ex(og,ii,j)>;例如当ds(dj,j)经过as(ii)域时,第j条非关联请求所对应的非关联路径可表示为<bn-en(dj,ii,j),bn-ex(dj,ii,j)>;当第j1对候选分离域序列仅ds(dj,j1)以及第j2对候选分离域序列仅ds(dj,j2)经过域as(ii)时,且bn-en(dj,ii,j1)=bn-en(dj,ii,j2)以及bn-ex(dj,ii,j1)=bn-ex(dj,ii,j2),合并为在域as(ii)中为ds(dj,j1)生成的非关联请求以及为ds(dj,j2)生成的非关联请求。

步骤13:所述至少一个子pce中的每一个子pce确定自身接收到的域内路径计算请求的类型,依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,并发送所获取的域内路径至所述父pce;

较佳的,负责计算各子域as(i)的pce_s(i)收到来自pce_p的域内路径计算请求sub_req(i)时,1≤i≤n,对于关联路径计算请求,依据所述关联请求中所携带的入出as(i)域的边界节点,使用同步不相交路径算法,计算出域as(i)内不相交的工作路径及与所述工作路径相对应的保护路径(域内路径);对于非关联路径计算请求,使用最短路径算法和/或k优路径算法,计算域as(i)内的单条域内路径;每个pce_s(i)将自身的计算结果以sub_rsp(ii)响应形式,通过标准协议pcep消息返回给父pce如pce_p。

其中,对于用于负责计算首域as(1)的子pce如pce_s(1)来说,pce_s(1)自身接收到的域内路径计算请求类型均为关联请求,对于关联请求,依据所述关联请求中所携带的首域出边界节点,利用同步不相交路径算法,为每一条关联请求计算出在首域中不相交的工作路径及与所述工作路径相对应的保护路径(域内路径);具体的,首域as(1)中,针对第j条关联路径计算请求(<s,bn-ex(og,1,j)>,<s,bn-ex(dj,1,j)>);如图3(a)所示,在首域as(1)域内拓扑上,新增一虚拟节点vnxj作为在as(1)域的尾节点,由此出现新增两条虚拟链路,第一条新增虚拟链路连接bn-ex(og,1,j)与vnxj,第二条新增虚拟链路连接bn-ex(dj,1,j)与vnxj,链路代价值预先设置为远小于域内链路代价最小值的某一正整数;依据所述虚拟节点及两条新增虚拟链路,形成首域域内路径计算拓扑;所述首域域内路径计算拓扑包括有所述虚拟节点vnxj、所述两条新增虚拟链路及首域域内拓扑;

在首域as(1)的域内路径计算拓扑中,利用同步不相交路径算法,计算首节点s到虚拟节点vnxj的最短不相交路径对pin’(og,1,j)和pin’(dj,1,j),并从中分离出首节点s到首域as(1)的出边界节点bn-ex(og,1,j)(首域的第一出边界节点)的路径pin(og,1,j),pin(og,1,j)为在首域as(1)的域内工作路径,并生成第一pathkey为pkey(og,1,j);从pin’(dj,1,j)中分离出首节点s到首域as(1)的出边界节点bn-ex(dj,1,j)(首域的第二出边界节点)的路径pin(dj,1,j),pin(dj,1,j)为在首域as(1)的域内保护路径,生成第二pathkey为pkey(dj,1,j),并将第一pathkey和第二pathkey作为对应于第j对候选分离域序列的第j对域内路径返回至pce_p;其中,可将所述域内工作路径pin(og,1,j)和所述域内保护路径pin(dj,1,j)作为在所述首域as(1)内的域内路径。

其中,对于用于负责计算尾域as(n)的子pce如pce_s(n)来说,pce_s(n)自身接收到的域内路径计算请求类型均为关联请求,对于关联请求,依据所述关联请求中所携带的尾域入边界节点,利用同步不相交路径算法,为每一条关联请求计算出在尾域中不相交的工作路径及与所述工作路径相对应的保护路径(域内路径);具体的,尾域as(n)中,针对第j条关联路径计算请求(<bn-en(og,n,j),d>,<s,bn-en(dj,n,j),d>);如图3(b)所示,在尾域as(n)的域内拓扑上,新增一虚拟节点vnej作为在as(n)域的首节点,由此出现两条新增虚拟链路,第一条新增虚拟链路连接虚拟节点vnej与bn-en(og,n,j),第二条新增虚拟链路连接虚拟节点vnej与bn-en(dj,n,j),链路代价预先设置为远小于域内链路代价最小值的某一正整数;依据所述虚拟节点vnej及所述两条新增虚拟链路,形成尾域域内路径计算拓扑;所述尾域域内路径计算拓扑包括有所述两条新增虚拟链路、虚拟节点及尾域域内拓扑;

在尾域域内路径计算拓扑中,利用同步不相交路径算法,计算虚拟节点vnej到尾节点d的最短不相交路径对pin’(og,n,j)和pin’(dj,n,j),并从中分离出尾域as(n)的入边界节点bn-en(og,n,j)(尾域的第一入边界节点)到尾节点d的路径pin(og,n,j),路径pin(og,n,j)为在尾域as(n)内的域内工作路径,并生成第一pathkey为pkey(og,n,j);从pin’(dj,n,j)中分离出尾域as(n)的入边界节点bn-en(dj,n,j)(尾域的第二入边界节点)到尾节点d的路径pin(dj,n,j),路径pin(dj,n,j)为在尾域as(n)内的域内保护路径,生成第二pathkey为pkey(dj,n,j),并将第一pathkey和第二pathkey作为对应于第j对候选分离域序列的第j对域内路径,并返回至pce_p;其中,可将所述域内工作路径pin(og,n,j)和所述域内保护路径pin(dj,n,j)作为在所述尾域as(n)内的域内路径。

其中,对于用于负责计算中间域as(ii)的子pce如pce_s(ii)来说,1<ii<n,pce_s(ii)自身接收到的域内路径计算请求类型可以为关联请求类型,也可以为非关联请求类型;对于关联请求,依据所述关联请求中所携带的入出as(ii)域的边界节点,利用同步不相交路径算法,为每一条关联请求计算出在域as(ii)中不相交的工作路径及与所述工作路径相对应的保护路径(域内路径);对于非关联路径,依据所述非关联请求中所携带的入出域的边界节点,使用最短路径算法和/或k优路径算法,计算在as(ii)内的单条域内路径。

具体的,pce_s(ii)遍历as(ii)域的所有域内路径计算请求,对于关联路径计算请求(<bn-en(og,ii,j),bn-ex(og,ii,j)>,<bn-en(dj,ii,j),bn-ex(dj,ii,j)>),如图3(c)所示,在as(i)的域内拓扑上新增两个虚拟节点分别为第一虚拟节点vnej和第二虚拟节点vnxj,其中,第一虚拟节点vnej作为在as(ii)域的首节点,第二虚拟节点vnxj作为在as(ii)域的尾节点;由此出现四条新增虚拟链路,第一条新增虚拟链路连接vnej与bn-en(og,ii,j),第二条新增虚拟链路连接vnej与bn-en(dj,ii,j),第三条新增虚拟链路连接bn-ex(og,ii,j)与vnxj,第四条新增虚拟链路连接bn-ex(dj,ii,j)与vnxj,链路代价预先设置为远小于域内链路代价最小值的某一正整数值;依据所述第一虚拟节点vnej、第二虚拟节点vnxj及所述四条新增虚拟链路,形成中间域域内路径计算拓扑;所述中间域域内路径计算拓扑包括有所述四条新增虚拟链路、第一虚拟节点vnej、第二虚拟节点vnxj及中间域域内拓扑;

在中间域as(ii)的域内路径计算拓扑中,利用同步不相交路径算法,计算第一虚拟节点vnej到第二虚拟节点vnxj的最短不相交路径对pin’(og,ii,j)和pin’(dj,ii,j);从最短不相交路径对中分离出第j对候选分离域序列中的工作路径域序列在域内as(ii)的入边界节点bn-en(og,ii,j)(中间域的第一入边界节点)到出边界节点bn-ex(og,ii,j)(中间域的第一出边界节点)的路径pin(og,ii,j),pin(og,ii,j)为域内工作路径,生成第一pathkey即pkey(og,ii,j);从最短不相交路径对中分离出第j对候选分离域序列中的保护路径域序列在域内as(ii)的入边界节点bn-en(dj,ii,j)(中间域的第二入边界节点)到出边界节点bn-ex(dj,ii,j)(中间域的第二出边界节点),bn-ex(dj,ii,j)为域内保护路径,生成第二pathkey即pkey(og,ii,j);并将第一pathkey和第二pathkey作为对应于第j对候选分离域序列的第j对域内路径返回至pce_p;其中,可将所述域内工作路径pin(og,ii,j)和所述域内保护路径pin(dj,ii,j)作为在所述中间域as(ii)内的域内路径。

这里,pce_s(ii)遍历as(ii)域的所有域内路径计算请求,对于非关联路径计算请求,将所述非关联请求中所携带的在as(ii)域的入出域的边界节点之间的路径作为在as(ii)域的域内路径,并将该域内路径返回至pce_p。

其中,所述同步不相交路径算法请参见现有相关说明,这里不再赘述。

步骤14:所述父pce接收到每一个子pce发送的至少一对域内路径时,配置所述至少一对域内路径中的每一域内路径至所述k对候选分离域序列中的相应位置,形成k对候选跨域分离路径;在所述k对候选跨域分离路径中,确定出一对跨域分离路径;将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送至用于管辖所述节点所属域的子pce;

这里,pce_p收集到所有pce_s(i)的返回结果sub_rsp(i)后,配置与第j对候选分离域序列中的工作路径域序列相对应的经过域的域内路径至第j对候选分离域序列的工作路径的相应位置,以及配置与第j对候选分离域序列中的保护路径域序列相对应的经过域的域内路径至第j对候选分离域序列的保护路径的相应位置,并形成第j对候选跨域分离路径;在形成的k对候选跨域分离路径中,计算每一对候选跨域分离路径中的工作路径的路径代价、及保护路径的路径代价;将每一对候选跨域分离路径中的工作路径的路径代价及保护路径的路径代价求和,形成路径代价和;选取路径代价和最小的候选跨域分离路径为所述跨域分离路径;并将跨域分离路径计算结果发送至对应的pce_s(i);

较佳的,由于前述步骤121出现有第j对候选分离域序列中的域序列ds(og,j)的具体路径为(s,bn-ex(og,1,j),bn-en(og,i,j),bn-ex(og,i,j),…,bn-en(og,n,j),d);以及与ds(og,j)相对应的ds(dj,j)具体路径为(s,bn-ex(dj,1,j),bn-en(dj,i,j),bn-ex(dj,i,j),…,bn-en(dj,n,j),d),将第j对域内路径配置至第j对候选分离域序列中的相应位置,形成第j对候选跨域分离路径,如所述第j对候选跨域分离路径中的工作路径dp(og,j)为(s,pkey(og,1,j),bn-ex(og,1,j),…,bn-en(og,i,j),pkey(og,i,j),bn-ex(og,i,j),…,bn-en(og,n,j),pkey(og,n,j),d),所述第j对候选跨域分离路径中的保护路径dp(dj,j)为(s,pkey(dj,1,j),bn-ex(dj,1,j),…,bn-en(dj,i,j),pkey(dj,i,j),bn-ex(dj,i,j),…,bn-en(dj,n,j),pkey(dj,n,j),d);其中,工作路径dp(og,j)的代价和为pm(og,j),保护路径dp(dj,j)对应的代价和为pm(dj,j),pce_p选取代价和最小的那一对,即min(pm(og,j)+pm(dj,j)),设此时的j值为jmin,取dp(og,jmin)和dp(dj,jmin)对应的候选跨域分离路径,将候选跨域分离路径作为跨域分离路径计算请求的计算结果,并返回给用于转发所述跨域分离路径计算请求的子pce如pce_s(1)。

步骤15:用于管辖所述节点所属域的子pce接收针对所述跨域分离路径计算请求的跨域分离路径计算结果,并将跨域分离路径计算结果发送至所述节点。

这里,如pce-s(1)将跨域分离路径计算结果返回给发起所述跨域分离路径计算请求计算的节点如首节点s。

由此可见,本发明实施例基于等级pce概念模型,通过父pce及其各子pce之间的交互,确定出最终合适的跨域分离路径;由于采用等级pce概念模型,所以无需提前获知跨域端到端首尾域间的域序列;同时,通过父pce获取候选分离域序列,依据候选分离域序列为各子pce生成相应的域内路径计算请求,各子pce依据自身域内路径计算请求的类型获取自身所管辖域的至少一对域内路径,并将所获取的域内路径发送至父pce,父pce将接收的域内路径配置至候选分离域序列的相应位置,在候选跨域分离路径中,确定出最终的跨域分离路径;由父pce对各子pce的计算结果进行统一整合,提高了跨域分离路径(工作路径和保护路径)获取的成功率,从而保证了路径分离的全局最优性。

图4为本发明提供的获取跨域分离路径方法的第二实现流程示意图;所述方法应用于父pce中;如图4所示,所述方法包括:

步骤41:接收到跨域分离路径计算请求时,依据跨域网络抽象拓扑,获取k对候选分离域序列;

步骤42:遍历所述k对候选分离域序列,为所述网络的各个候选分离域序列的经过域,生成相应的域内路径计算请求,发送所述各个域的域内路径计算请求;

步骤43:接收到针对所述域内路径计算请求的至少一对域内路径时,配置所述至少一对域内路径中的每一域内路径至所述k对候选分离域序列中的相应位置,形成k对候选跨域分离路径;在所述k对候选跨域分离路径中,确定出一对跨域分离路径;

步骤44:将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送。

本发明实施例还提供了第一种计算机存储介质,所述计算机存储介质中存储有第一组计算机可执行指令,所述第一组计算机可执行指令用于前述应用于父pce中的获取跨域分离路径的方法。

图5为本发明提供的获取跨域分离路径的方法第三实现流程示意图;所述方法应用于至少一个子pce中;如图5所示,所述方法包括:

步骤51:接收到节点发送的跨域分离路径计算请求时,所述至少一个子pce中的用于管辖所述节点所属域的子pce发送所述跨域分离路径计算请求;

步骤52:所述至少一个子pce中的每一个子pce确定自身接收到的域内路径计算请求的类型,依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,并发送所获取的域内路径;

步骤53:接收针对所述跨域分离路径计算请求的跨域分离路径计算结果,将所接收到的跨域分离路径计算结果发送至所述节点。

本发明实施例还提供了第二种计算机存储介质,所述计算机存储介质中存储有第二组计算机可执行指令,所述第二组计算机可执行指令用于前述应用于子pce中的获取跨域分离路径的方法。

需要说明的是,上述应用于至少一个子pce中的获取跨域分离路径方法、以及应用于父pce中的获取跨域分离路径方法等实现过程具体请参见前述图1~图3的说明,这里不再赘述。

对上述技术方案的理解,可参见本发明提供的以下各实施例(实施例一、实施例二及实施例三)。

图6为本发明提供的获取跨域分离路径方法的实施例一的示意图;实施例一属于k对候选分离域序列在中间域as(ii)上均不存在有关联请求的情形;

如图6所示,在当前网络中包括有16个边界节点,共有n=4个域,分别为as(1)、as(2)、as(3)及as(4),该16个边界节点在这4个域内的分布如图所示;每个域对应有一个相应的子pce,分别为pce_s(1)、pce_s(2)、pce_s(3)及pce_s(4);当前网络中还存在有用于管理这4个子pce的父pce即pce_p。其中,节点s为跨域分离路径计算的首节点,位于首域as(1)中,节点d为跨域分离路径计算的目的节点(尾节点),位于尾域as(4)中。

步骤601:首节点s向pce_s(1)发送跨域分离路径计算请求dpc_req(s,d);

步骤602:pce_s(1)发送该跨域分离路径计算请求至pce_p;

步骤603:pce_p接收到跨域分离路径计算请求,根据由各域入出边界节点以及域间链路组成的域间拓扑,使用顺序计算方法,先计算出k对候选分离域序列,该k对候选分离域序列所经过的路径即为k对候选跨域分离路径;

这里,预先设置k=2,并初始化j=1,利用最短路径算法,pce_p计算从首节点s至尾节点d的第j=1对候选跨域分离路径中的工作路径的经过域序列ds(o,j=1),该域序列ds(o,j=1)的具体路径如图6中所示意的边界节点序列(s,bn1,bn5,bn7,bn13,d);pce_p将ds(og,1)的路径作为分离约束条件,利用最短路径算法,计算从首节点s到尾节点d的第j=1对候选跨域分离路径中的保护路径的域序列ds(dj,j=1),该域序列ds(dj,j=1)具体路径如图6中所示意的边界节点序列(s,bn3,bn9,bn11,bn15,d);

继而pce_p将j加1(j+1=1+1=2),判断加1后的j等于2;使用k优路径算法,计算相对于工作路径域序列ds(og,1)的次优工作路径ds域序列(og,2),并将ds(og,2)作为第2对分离路径中的工作路径的域序列,该域序列ds(og,2)的具体路径如图6中所示意的边界节点序列(s,bn2,bn6,bn8,bn14,d);pce_p将ds(og,2)的路径作为分离约束条件,采用最短路径算法,计算s到d的第j=2对分离路径中的保护路径的域序列ds(dj,2),域序列ds(dj,2)的具体路径如图6中所示意的边界节点序列(s,bn4,bn10,bn12,bn16,d),pce_p将j加1(j+1=2+1=3),判断加1后的j大于k=2,结束本流程。

至此,pce_p一共计算出2对候选分离域序列,每一对候选分离域序列对应一条候选跨域分离路径;如图6所示,图中黑色粗实线为候选跨域分离路径中的工作路径,黑色粗虚线为候选跨域分离路径中的保护路径;细虚线表示域内路径。

步骤604:pce_p遍历2对候选分离域序列,为当前网络的4个域分别生成相应的域内路径计算请求,并发送4个域的域内路径计算请求至相应的子pce;

这里,对于首域as(1),对于第j=1对候选分离域序列,生成一条关联计算请求(关联请求)req_id1-1为<s-bn1,s-bn3>,对于第j=2对候选分离域序列,生成一条关联计算请求req_id1-2为<s-bn2,s-bn4>,所以在发送给子pce即pce_s(1)的域内路径计算请求sub_req(1)包括有两条关联计算请求;

对于尾域as(4),对于第j=1对候选分离域序列,生成一条关联计算请求req_id4-1为<bn13-d,bn15-d>;对于第j=2对候选分离域序列,生成一条关联计算请求req_id4-2为<bn14-d,bn16-d>;所以在发送给子pce即pce_s(4)的域内路径计算请求sub_req(4)包括有两条关联计算请求;

对于中间域as(ii=2)中,对于第j=1对候选分离域序列,生成一条非关联计算请求(非关联请求)即独立请求req_id2-1为<bn5-bn7>;对于第j=2对候选分离域序列,生成一条独立请求req_id2-2为<bn6–bn8>;所以在发送给子pce即pce_s(2)的域内路径计算请求sub_req(2)包括有两条独立请求;

对于中间域as(ii=3)中,对于第j=1对候选分离域序列,生成一条非关联计算请求(非关联请求)即独立请求req_id3-1为<bn9-bn11>;对于第j=2对候选分离域序列,生成一条独立请求req_id3-2为<bn10–bn12>;所以在发送给子pce即pce_s(3)的域内路径计算请求sub_req(3)包括有两条独立请求。

步骤605:每一个子pce确定自身接收到的域内路径计算请求的类型,依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,并发送所获取的至少一对域内路径至所述父pce;

这里,负责首域as(1)域内路径计算的子pce即pce_s(1)接收到的域内路径计算请求sub_req(1)包括有两条关联请求req_id1-1及req_id1-2;对于req_id1-1为<s-bn1,s-bn3>来说,参照对图3(a)的描述,在首域as(1)内的域内拓扑上,新增一虚拟节点vnxj作为在as(1)域的尾节点,由此出现两条新增虚拟链路,第一条新增虚拟链路连接bn1与vnxj(j=1),第二条新增虚拟链路连接bn3与vnxj(j=1);在包括有所述两条新增虚拟链路、虚拟节点vnxj及首域域内拓扑的首域域内路径计算拓扑中,利用同步不相交路径算法,计算首节点s到虚拟节点vnxj(j=1)的最短不相交路径对pin’(og,1,j=1)和pin’(dj,1,j=1),并从中分离出首节点s到首域as(1)的出边界节点bn1的路径pin(og,1,1)(为域内工作路径),并生成第一pathkey为pkey(og,1,1);从pin’(dj,1,1)中分离出首节点s到首域as(1)的出边界节点bn3的路径pin(dj,1,1)(为域内保护路径),并生成pathkey为第二pkey(dj,1,1),并将第一pkey(og,1,1)和第二pkey(dj,1,1)作为对应于在首域as(1)内第j=1对候选分离域序列的第j=1对域内路径封装到dpc_rsp(1)中;对于req_id1-2为<s-bn2,s-bn4>来说,同样采用上述增加虚拟节点的方法,并在最短不相交路径对中分离出第一pkey(og,1,2)及第二pkey(og,1,2),从而得到在首域as(1)内对应于第j=2对候选分离域序列的第j=2对域内路径的pkey(og,1,2)及pkey(dj,1,2),封装到dpc_rsp(1)中,返回dpc_rsp(1)至pce_p。

负责尾域as(4)域内路径计算的子pce即pce_s(4)接收到的域内路径计算请求sub_req(4)包括有两条关联请求req_id4-1及req_id4-2;对于req_id4-1为<bn13-d,bn15-d>来说,参照对图3(b)的描述,在尾域as(4)内的域内拓扑上,新增一虚拟节点vnej作为在as(4)域的首节点,由此出现两条新增虚拟链路,第一条新增虚拟链路连接vnej与bn13,第二条新增虚拟链路连接vnej与bn15;在包括有所述两条新增虚拟链路、虚拟节点vnej、及尾域域内拓扑的尾域域内路径计算拓扑中,利用同步不相交路径算法,计算虚拟节点vnej到尾节点d的最短不相交路径对pin’(og,4,j=1)和pin’(dj,4,j=1),并从pin’(og,4,j=1)中分离出从节点bn13至尾节点d的路径pin(og,4,1)(域内工作路径),并生成第一pathkey为pkey(og,4,1);从pin’(dj,4,1)中分离出从节点bn15到尾节点d的路径pin(dj,4,1),并生成第二pathkey为pkey(dj,4,1),并将pkey(og,4,1)和pkey(dj,4,1)作为对应于第j=1对候选分离域序列在尾域as(4)中的第j=1对域内路径封装到dpc_rsp(4)中;对于req_id4-2为<bn14-d,bn16-d>来说,同样采用上述增加虚拟节点的方法,并在最短不相交路径对中分离出域内工作路径pin(og,4,2),域内保护路径pin(dj,4,2),并生成第一pathkey为pkey(og,4,2)及第二pathkey为pkey(dj,4,2),将在尾域as(4)内得到的对应于第j=2对候选分离域序列的第j=2对域内路径的pkey(og,4,2)及pkey(dj,4,2)封装到dpc_rsp(4)中,返回dpc_rsp(4)至pce_p。

负责中间域as(2)域内路径计算的子pce即pce_s(2)接收到的域内路径计算请求为两条独立请求,包括req_id2-1为<bn5-bn7>和req_id2-2为<bn6–bn8>;其中,对于<bn5-bn7>,利用最短路径算法,计算出边界节点bn5至bn7的域内路径,得到边界节点bn5至bn7的域内路径为pin(og,2,1),并生成对应的pathkey为pkey(og,2,1),将pkey(og,2,1)封装到sub_rsp(2)中;对于<bn6–bn8>,采用同样方法,得到边界节点bn6至bn8的域内路径为pin(og,2,2),并生成对应的pathkey为pkey(og,2,2),封装到sub_rsp(2)中,并将sub_rsp(2)返回给pce_p;

负责中间域as(3)域内路径计算的子pce即pce_s(3)接收到的域内路径计算请求为两条独立请求,包括req_id2-1为<bn9-bn11>和req_id2-2为<bn10–bn12>;其中,对于<bn9-bn11>,利用最短路径算法,计算出边界节点bn9至bn11的域内路径,得到边界节点bn9至bn11的域内路径为pin(og,3,1),并生成对应的pathkey为pkey(og,3,1),将pkey(og,3,1)封装到sub_rsp(3)中;对于<bn10–bn12>,采用同样方法,得到边界节点bn10至bn12的域内路径为pin(og,3,2),并生成对应的pathkey为pkey(og,3,2),封装到sub_rsp(3)中,并将sub_rsp(3)返回给pce_p。

步骤606:pce_p接收子pce_s(1)~(4)发送的sub_rsp(1)~(4),配置所述至少一对域内路径中每一域内路径至所述k=2对候选分离域序列中的相应位置,形成k对候选跨域分离路径;在所述k=2对候选跨域分离路径中,确定出一对跨域分离路径;将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送至用于首节点s的子pce即pce_s(1),再由pce_s(1)将该计算结果发送至首节点s;

这里,将域内pathkey配置至第k对候选分离域序列中的相应位置,形成k=2对候选跨域分离路径;其中,第1对候选跨域分离路径中的工作路径dp(og,,1)为(s,pkey(og,1,1),bn1,bn5,pkey(og,2,1),bn7,bn13,pkey(og,4,1),d);第1对候选跨域分离路径中的保护路径dp(dj,1)为(s,pkey(dj,1,1),bn3,bn9,pkey(dj,3,1),bn11,bn15,pkey(dj,4,1),d);第2对候选跨域分离路径中的工作路径dp(og,2)为(s,pkey(og,1,2),bn2,bn6,pkey(og,2,2),bn8,bn14,pkey(og,4,2),d);第2对候选跨域分离路径中的保护路径dp(dj,2)为(s,pkey(dj,1,2),bn4,bn10,pkey(dj,3,2),bn12,bn16,pkey(dj,4,2),d)。

pce_p分别将这2对候选跨域分离路径的路径代价分别相加,取代价和最小的那对,pm(og,j)+pm(dj,j)(j=2)为代价和最小,即在这2对候选跨域分离路径中,确定第2对候选跨域分离路径dp(og,2)和dp(dj,2)作为最终的跨域分离路径计算结果,并将该计算结果封装到dpc_rsp(s,d)中,发送给pce_s(1);pce_s(1)将封装有最终跨域分离路径计算结果的dpc_rsp(s,d)返回给发起跨域分离路径计算请求的首节点s。

由此可见,本发明实施例基于等级pce概念模型,通过父pce与其各子pce之间的交互,确定出最终合适的跨域分离路径,提高了跨域分离路径获取的成功率,保证了路径分离的全局最优性;由于采用等级pce概念模型,所以无需提前获知跨域端到端首尾域间的域序列。

图7为本发明提供的获取跨域分离路径方法的实施例二的示意图;实施例二属于k对候选分离域序列在中间域as(ii)上存在的域内路径计算请求均为关联计算请求的情形。

如图7所示,在当前网络中包括有8个边界节点,共有n=3个域,分别为as(1)、as(2)及as(3),该8个边界节点在这3个域内的分布如图所示;每个域对应有一个相应的子pce,分别为pce_s(1)、pce_s(2)及pce_s(3);当前网络中还存在有用于管理这3个子pce的父pce即pce_p。其中,节点s为跨域路径计算的首节点,位于首域as(1)中,节点d为跨域路径计算的目的节点(尾节点),位于尾域as(3)中。

步骤701:首节点s向pce_s(1)发送跨域分离路径计算请求dpc_req(s,d);

步骤702:pce_s(1)发送该跨域分离路径计算请求至pce_p;

步骤703:pce_p接收到跨域分离路径计算请求,根据由各域入出边界节点以及域间链路组成的域间拓扑,使用顺序计算方法,先计算出k对候选分离域序列,k对候选分离域序列所经过的路径为k对候选跨域分离路径;

这里,预先设置k=2,并初始化j=1,利用最短路径算法,pce_p计算从首节点s至尾节点d的第j=1对候选跨域分离路径中的工作路径的经过域序列ds(o,j=1),该域序列ds(o,j=1)的具体路径如图7中所示意的边界节点序列(s,bn1,bn3,bn5,bn7,d);pce_p将ds(og,1)的路径作为分离约束条件,利用最短路径算法,计算从首节点s到尾节点d的第j=1对候选跨域分离路径中的保护路径的域序列ds(dj,j=1),该域序列ds(dj,j=1)具体路径如图7中所示意的边界节点序列(s,bn2,bn4,bn6,bn8,d);

继而pce_p将j加1(j+1=1+1=2),判断加1后的j等于2;使用k优路径算法,计算相对于工作路径域序列ds(og,1)的次优工作路径ds域序列(og,2),并将ds(og,2)作为第2对分离路径中的工作路径的域序列,该域序列ds(og,2)的具体路径如图7中所示意的边界节点序列(s,bn2,bn4,bn6,bn8,d);pce_p将ds(og,2)的路径作为分离约束条件,采用最短路径算法,计算s到d的第j=2对分离路径中的保护路径的域序列ds(dj,2),域序列ds(dj,2)的具体路径如图7中所示意的边界节点序列(s,bn1,bn3,bn5,bn7,d),pce_p将j加1(j+1=2+1=3),判断加1后的j大于k=2,结束本流程。

至此,pce_p一共计算出2对候选分离域序列,每一对候选分离域序列对应一条候选跨域分离路径;如图7所示,图中黑色粗实线为候选域分离路径中的工作路径,黑色粗虚线为候选跨域分离路径中的保护路径;细虚线表示域内路径。

步骤704:pce_p遍历2对候选分离域序列,为当前网络的3个域分别生成相应的域内路径计算请求,并发送3个域的域内路径计算请求至相应的子pce;

本实施例中,网络拓扑结构的特殊性,使得第1对候选分离域序列中工作路径域序列ds(og,1)与第2对候选分离域序列中保护路径域序列ds(dj,2)是重合的,以及第2对候选分离域序列中工作路径域序列ds(og,2)与第1对候选分离域序列中保护路径域序列ds(dj,1)是重合的;

在首域as(1)中,合并为第j=1对候选分离域序列而生成一条关联计算请求(关联请求)req_id1-1和为第j=2对候选分离域序列而生成一条关联请求req_id1-2;发送给子pce即pce_s(1)的域内路径计算请求sub_req(1)仅包括一条关联请求req_id1-1为<s-bn1,s-bn2>;

在尾域as(3)中,合并为第j=1对候选分离域序列而生成一条关联计算请求(关联请求)req_id3-1和为第j=2对候选分离域序列而生成一条关联请求req_id3-2;发送给子pce即pce_s(3)的域内路径计算请求sub_req(3)仅包括一条关联请求req_id3-1为<bn7-d,bn8-d>;

在中间域as(2)中,合并为第j=1对候选分离域序列而生成一条关联计算请求(关联请求)req_id2-1和为第j=2对候选分离域序列而生成一条关联请求req_id2-2;发送给子pce即pce_s(2)的域内路径计算请求sub_req(2)仅包括一条关联请求req_id2-1为req_id2-1为<bn3-bn5,bn4–bn6>。

步骤705:每一个子pce确定自身接收到的域内路径计算请求的类型,依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,并发送所获取的至少一对域内路径至所述父pce;

这里,负责首域as(1)域内路径计算的子pce即pce_s(1)接收到的域内路径计算请求sub_req(1)包括有一条关联请求req_id1-1;对于该关联计算请求<s-bn1,s-bn2>,参照对图3(a)的描述,在首域as(1)内的域内拓扑上,新增一虚拟节点vnxj作为在as(1)域的尾节点,由此出现两条新增虚拟链路,第一条新增虚拟链路连接bn1与vnxj,第二条新增虚拟链路连接bn2与vnxj;在包括有所述两条新增虚拟链路、虚拟节点vnxj及首域域内拓扑的首域域内路径计算拓扑中,利用同步不相交路径算法,计算首节点s到虚拟节点vnxj(j=1)的最短不相交路径对pin’(og,1,j=1)和pin’(dj,1,j=1),并从中分离出首节点s到首域as(1)的出边界节点bn1的路径pin(og,1,1)(域内工作路径),并生成第一pathkey为pkey(og,1,1);从pin’(dj,1,1)中分离出首节点s到首域as(1)的出边界节点bn2的路径pin(dj,1,1)(域内保护路径),并生成第二pathkey为pkey(dj,1,1),并将第一pathkey和第二pathkey作为对应于在首域as(1)内第j=1对候选分离域序列的第j=1对域内路径封装到dpc_rsp(1)中,将dpc_rsp(1)返回至pce_p;

这里,负责尾域as(3)域内路径计算的子pce即pce_s(3)接收到的域内路径计算请求sub_req(3)包括有一条关联请求req_id3-1;对于该关联请求<bn7-d,bn8-d>,参照对图3(b)的描述,在尾域as(3)内的域内拓扑上,新增一虚拟节点vnej作为在as(3)域的首节点,由此出现两条新增虚拟链路,第一条新增虚拟链路连接虚拟节点vnej(j=1)及bn7,第二条新增虚拟链路连接vnej(j=1)及bn8;在包括有所述两条新增虚拟链路、虚拟节点vnej及域内拓扑的尾域域内路径计算拓扑中,利用同步不相交路径算法,计算虚拟节点vnej到尾节点d的最短不相交路径对pin’(og,3,j=1)和pin’(dj,3,j=1),并从中分离出bn7到尾节点d的路径pin(og,3,1)(域内工作路径),并生成第一pathkey为pkey(og,3,1);从pin’(dj,3,1)中分离出bn8到尾节点d的路径pin(dj,3,1)(域内保护路径),并生成第二pathkey为pkey(dj,3,1),并将第一pathkey和第二pathkey作为对应于在尾域as(3)内第j=1对候选分离域序列的第j=1对域内路径封装到dpc_rsp(3)中;将dpc_rsp(3)返回至pce_p;

负责中间域as(ii=2)域内路径计算的子pce即pce_s(2)接收到的域内路径计算请求sub_req(2)包括有一条关联请求req_id2-1;对于该关联计算请求<bn3-bn5,bn4–bn6>,参照对图3(c)的描述,在中间域as(2)内的域内拓扑上,新增第一虚拟节点vnej作为在as(2)域的首节点,以及新增第二虚拟节点vnxj作为在as(2)域的尾节点,由此出现四条新增虚拟链路,第一条新增虚拟链路连接vnej与bn3,第二条新增虚拟链路连接vnej与bn4,第三条新增虚拟链路连接bn5与vnxj,第四条新增虚拟链路连接bn6与vnxj;在包括有所述四条新增虚拟链路、第一虚拟节点vnej、第二虚拟节点vnxj及中间域域内拓扑的中间域域内路径计算拓扑中,利用同步不相交路径算法,计算虚拟节点vnej到vnxj的最短不相交路径对pin’(og,2,j=1)和pin’(dj,2,j=1),并从中分离出bn3到bn5的路径pin(og,2,1)(域内工作路径),并生成第一pathkey为pkey(og,2,1);从pin’(dj,2,1)中分离出bn4到bn6的路径pin(dj,2,1)(域内保护路径),并生成第二pathkey为pkey(dj,2,1),并将第一pathkey和第二pathkey作为对应于在尾域as(2)内第j=1对候选分离域序列的第j=1对域内路径封装到dpc_rsp(2)中,将dpc_rsp(2)返回至pce_p。

至此,as(1)、as(2)及as(3)分别获取自身所在域的域内路径,并发送所获取的域内路径至pce_p。

步骤706:pce_p接收子pce_s(1)~(3)发送的sub_rsp(1)~(3),配置所述至少一对域内路径中每一域内路径至所述k=2对候选分离域序列中的相应位置,形成k对候选跨域分离路径;在所述k=2对候选跨域分离路径中,确定出最终的跨域分离路径;将跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送至用于首节点s的子pce即pce_s(1),再由pce_s(1)将该计算结果发送至首节点s;

这里,将域内pathkey配置至第k对候选分离域序列中的相应位置,形成k=2对候选跨域分离路径;其中,第1对候选跨域分离路径中的工作路径dp(og,1)为(s,pkey(og,1,1),bn1,bn5,pkey(og,2,1),bn7,bn13,pkey(og,4,1),d);第1对候选跨域分离路径中的保护路径dp(dj,1)为(s,pkey(dj,1,1),bn3,bn9,pkey(dj,3,1),bn11,bn15,pkey(dj,4,1),d);第2对候选跨域分离路径中的工作路径dp(og,2)为(s,pkey(og,1,2),bn2,bn6,pkey(og,2,2),bn8,bn14,pkey(og,4,2),d);第2对候选跨域分离路径中的保护路径dp(dj,2)为(s,pkey(dj,1,2),bn4,bn10,pkey(dj,3,2),bn12,bn16,pkey(dj,4,2),d)。

pce_p分别将这2对候选跨域分离路径的路径代价分别相加,取代价和最小的那对,pm(og,j)+pm(dj,j)(j=1)为代价和最小,即在这2对候选跨域分离路径中,确定第2对候选跨域分离路径dp(og,1)和dp(dj,1)作为跨域分离路径,并将该计算结果封装到dpc_rsp(s,d)中,发送给pce_s(1);pce_s(1)将封装有最终的跨域分离路径计算结果的dpc_rsp(s,d)返回给发起跨域分离路径计算请求的首节点s。

由此可见,本发明实施例基于等级pce概念模型,通过父pce与其各子pce之间的交互,确定出最终合适的跨域分离路径,提高了跨域分离路径获取的成功率,保证了路径分离的全局最优性;由于采用等级pce概念模型,所以无需提前获知跨域端到端首尾域间的域序列。

图8为本发明提供的获取跨域分离路径方法的实施例三的示意图;实施例三属于k对候选分离域序列中的部分对候选分离域序列在中间域as(ii)上存在的域内路径计算请求为关联计算请求的情形。

如图8所示,在当前网络中包括有16个边界节点,共有n=4个域,分别为as(1)、as(2)、as(3)及as(4),该16个边界节点在这4个域内的分布如图所示;每个域对应有一个相应的子pce,分别为pce_s(1)、pce_s(2)pce_s(3)及pce_s(4);当前网络中还存在有用于管理这4个子pce的父pce即pce_p。其中,节点s为跨域路径计算的首节点,位于首域as(1)中,节点d为跨域路径计算的目的节点(尾节点),位于尾域as(4)中。

步骤801:首节点s向pce_s(1)发送跨域分离路径计算请求dpc_req(s,d);

步骤802:pce_s(1)发送该跨域分离路径计算请求至pce_p;

步骤803:pce_p接收到跨域分离路径计算请求,根据由各域入出边界节点以及域间链路组成的域间拓扑,使用顺序计算方法,先计算出k对候选分离域序列,k对候选分离域序列所经过的路径为k对候选跨域分离路径;

这里,预先设置k=2,并初始化j=1,利用最短路径算法,pce_p计算从首节点s至尾节点d的第j=1对候选跨域分离路径中的工作路径的经过域序列ds(o,j=1),该域序列ds(o,j=1)的具体路径如图8中所示意的边界节点序列(s,bn1,bn5,bn7,bn13,d);pce_p将ds(og,1)的路径作为分离约束条件,利用最短路径算法,计算从首节点s到尾节点d的第j=1对候选跨域分离路径中的保护路径的域序列ds(dj,j=1),该域序列ds(dj,j=1)具体路径如图8中所示意的边界节点序列(s,bn3,bn9,bn11,bn15,d);

继而pce_p将j加1(j+1=1+1=2),判断加1后的j等于2;使用k优路径算法,计算相对于工作路径域序列ds(og,1)的次优工作路径ds域序列(og,2),并将ds(og,2)作为第2对分离路径中的工作路径的域序列,该域序列ds(og,2)的具体路径如图8中所示意的边界节点序列(s,bn2,bn4,bn6,bn8,d);pce_p将ds(og,2)的路径作为分离约束条件,采用最短路径算法,计算s到d的第j=2对分离路径中的保护路径的域序列ds(dj,2),域序列ds(dj,2)的具体路径如图8中所示意的边界节点序列(s,bn2,bn6,bn8,bn14,d),pce_p将j加1(j+1=2+1=3),判断加1后的j大于k=2,结束本流程。

至此,pce_p一共计算出2对候选分离域序列,每一对候选分离域序列对应一条候选跨域分离路径;如图8所示,图中黑色粗实线为候选跨域分离路径中的工作路径,黑色粗虚线为候选跨域分离路径中的保护路径;细虚线表示域内路径。

步骤804:pce_p遍历2对候选分离域序列,为当前网络的4个域分别生成相应的域内路径计算请求,并发送4个域的域内路径计算请求至想应的子pce;

本实施例中,网络拓扑结构的特殊性,使得第1对候选分离域序列中工作路径域序列ds(og,1)与第2对候选分离域序列中保护路径域序列ds(dj,2)是重合的;

在首域as(1)中,针对第j=1对候选分离域序列,生成一条关联请求req_id1-1为<s-bn1,s-bn3>;针对第j=2对候选分离域序列,生成一条关联请求req_id1-2为<s-bn1,s-bn2>;发送给子pce即pce_s(1)的域内路径计算请求sub_req(1)包括上述两条关联请求req_id1-1和req_id1-2;

在尾域as(4)中,针对第j=1对候选分离域序列,生成一条关联请求req_id4-1为<bn13-d,bn15-d>;针对第j=2对候选分离域序列,生成一条关联请求req_id4-2为<bn14-d,bn13-d>;发送给子pce即pce_s(4)的域内路径计算请求sub_req(4)包括上述两条关联请求req_id4-1和req_id4-2;

在中间域as(2)中,由于ds(og,2)与ds(dj,2)均经过了中间域as(2),针对第j=2对候选分离域序列,生成一条关联请求req_id2-1为<bn6-bn8,bn5-bn7>;由于在ds(og,1)与ds(dj,1)中仅有ds(og,1)经过了中间域as(2),针对第j=1对候选分离域序列,生成一条非关联请求(独立请求)req_id2-2为<bn5-bn7>;发送给子pce即pce_s(2)的域内路径计算请求sub_req(2)包括上述关联请求req_id2-1和非关联请求req_id2-2;

在中间域as(3)中,ds(og,2)与ds(dj,2)均没有经过中间域as(3),所以针对第j=2对候选分离域序列没有关联或非关联计算请求生成;由于在ds(og,1)与ds(dj,1)中仅有ds(dj,1)经过了中间域as(3),针对第j=1对候选分离域序列,生成一条非关联请求req_id3-1为<bn9-bn11>;发送给子pce即pce_s(3)的域内路径计算请求sub_req(3)包括上述非关联请求req_id3-1。

步骤805:每一个子pce确定自身接收到的域内路径计算请求的类型,依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,并发送所获取的至少一对域内路径至所述父pce;

这里,负责首域as(1)域内路径计算的子pce即pce_s(1)接收到的域内路径计算请求sub_req(1)包括有两条关联请求req_id1-1和req_id1-2;其中,对于req_id1-1为<s-bn1,s-bn3>,参照对图3(a)的描述,在首域as(1)内的域内拓扑上,新增一虚拟节点vnxj作为在as(1)域的尾节点,由此出现两条新增虚拟链路,第一条新增虚拟链路连接bn1与vnxj,第二条新增虚拟链路连接bn3与vnxj;在包括有所述两条新增虚拟链路、虚拟节点vnxj及首域域内拓扑的首域域内路径计算拓扑中,利用同步不相交路径算法,计算首节点s到虚拟节点vnxj(j=1)的最短不相交路径对pin’(og,1,j=1)和pin’(dj,1,j=1),并从中分离出首节点s到首域as(1)的出边界节点bn1的路径pin(og,1,1)(域内工作路径),并生成第一pathkey为pkey(og,1,1);从pin’(dj,1,1)中分离出首节点s到首域as(1)的出边界节点bn3的路径pin(dj,1,1)(域内保护路径),并生成第二pathkey为pkey(dj,1,1),并将第一pathkey和第二pathkey作为对应于在首域as(1)内第j=1对候选分离域序列的第j=1对域内路径封装到dpc_rsp(1)中;对于req_id1-2为<s-bn1,s-bn2>来说,同样采用上述增加虚拟节点的方法,并在最短不相交路径对中分离出第一pathkey及第二pathkey,从而得到在首域as(1)内对应于第j=2对候选分离域序列的第j=2对域内路径的pkey(og,1,2)及pkey(dj,1,2),封装到dpc_rsp(1)中,返回dpc_rsp(1)至pce_p。

负责尾域as(4)域内路径计算的子pce即pce_s(4)接收到的域内路径计算请求sub_req(4)包括有两条关联请求req_id4-1和req_id4-2;对于req_id4-1为<bn13-d,bn15-d>,参照对图3(b)的描述,在尾域as(4)内的域内拓扑上,新增一虚拟节点vnej作为在as(4)域的首节点,由此出现两条新增虚拟链路,第一条新增虚拟链路连接vnej与bn13,第二条新增虚拟链路连接vnej与bn15,在包括有所述两条新增虚拟链路、虚拟节点vnej及尾域域内拓扑的尾域域内路径计算拓扑中,利用同步不相交路径算法,计算虚拟节点vnej到尾节点d的最短不相交路径对pin’(og,4,j=1)和pin’(dj,4,j=1),并从pin’(og,4,j=1)中分离出从节点bn13至尾节点d的路径pin(og,4,1)(域内工作路径),并生成第一pathkey(og,4,1);从pin’(dj,4,1)中分离出从节点bn15到尾节点d的路径pin(dj,4,1)(域内保护路径),并生成第二pathkey为pkey(dj,4,1),并将第一pathkey和第二pathkey作为对应于第j=1对候选分离域序列在尾域as(4)中的第j=1对域内路径封装到dpc_rsp(4)中;对于req_id4-2为<bn14-d,bn13-d>来说,同样采用上述增加虚拟节点的方法,并在最短不相交路径对中分离出域内工作路径及保护路径,并生成相应的pathkey,从而得到在尾域as(4)内对应于第j=2对候选分离域序列的第j=2对域内路径的pkey(og,4,2)及pkey(dj,4,2),封装到dpc_rsp(4)中,返回dpc_rsp(4)至pce_p。

负责中间域as(2)域内路径计算的子pce即pce_s(2)接收到的域内路径计算请求包括一条关联请求req_id2-1和一条非关联请求req_id2-2;对于关联请求req_id2-1为<bn6-bn8,bn5–bn7>,参照对图3(c)的描述,在中间域as(2)增加第一虚拟节点vnej和第二虚拟节点vnxj(j=2);其中,第一虚拟节点vnej作为在as(2)域的首节点,第二虚拟节点vnxj作为在as(2)域的尾节点;由此出现四条新增虚拟链路,第一条新增虚拟链路连接vnej与bn6,第二条新增虚拟链路连接vnej与bn5,第三条新增虚拟链路连接bn8与vnxj,第四条新增虚拟链路连接bn7与vnxj;在包括有所述四条新增虚拟链路、第一虚拟节点vnej、第二虚拟节点vnxj及中间域域内拓扑的中间域域内路径计算拓扑中,利用同步不相交路径算法,计算第一虚拟节点vnej到第二虚拟节点vnxj的最短不相交路径对pin’(og,2,2)和pin’(dj,2,2);从最短不相交路径对中分离出第j=2对候选分离域序列中的工作路径域序列在域内as(2)的入边界节点bn6到出边界节点bn8的路径pin(og,2,2),并生成第一pathkey为pkey(og,2,2);从最短不相交路径对中分离出第j=2对候选分离域序列中的保护路径域序列在域内as(2)的入边界节点bn-en(dj,2,2)到出边界节点bn-ex(dj,2,2),并生成第二pathkey为pkey(og,2,2),封装到dpc_rsp(2)中;对于非关联请求req_id2-2为<bn5-bn7>,利用最短路径算法,计算出边界节点bn5至bn7的域内路径,得到边界节点bn5至bn7的域内路径为pin(og,2,1),并生成对应的pathkey为pkey(og,2,1),将pkey(og,2,1)封装到sub_rsp(2)中,返回dpc_rsp(2)至pce_p。

负责中间域as(3)域内路径计算的子pce即pce_s(3)接收到的域内路径计算请求包括一条非关联请求(独立请求)req_id3-1为<bn9-bn11>;对于该请求,利用最短路径算法,计算出边界节点bn9至bn11的域内路径,得到边界节点bn9至bn11的域内路径为pin(og,3,1),并生成对应的pathkey为pkey(og,3,1),将pkey(og,3,1)封装到sub_rsp(3)中,返回dpc_rsp(3)至pce_p。

步骤806:pce_p接收子pce_s(1)~(4)发送的sub_rsp(1)~(4),配置所述至少一对域内路径中每一域内路径至所述k=2对候选分离域序列中的相应位置,形成k对候选跨域分离路径;在所述k=2对候选跨域分离路径中,确定出跨域分离路径;将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送至用于首节点s的子pce即pce_s(1),再由pce_s(1)将该计算结果发送至首节点s;

这里,将域内pathkey配置至第k对候选分离域序列中的相应位置,形成k=2对候选跨域分离路径;其中,第1对候选跨域分离路径中的工作路径dp(og,1)为(s,pkey(og,1,1),bn1,bn5,pkey(og,2,1),bn7,bn13,pkey(og,4,1),d);第1对候选跨域分离路径中的保护路径dp(dj,1)为(s,pkey(dj,1,1),bn3,bn9,pkey(dj,3,1),bn11,bn15,pkey(dj,4,1),d);第2对候选跨域分离路径中的工作路径dp(og,2)为(s,pkey(og,1,2),bn2,bn6,pkey(og,2,2),bn8,bn14,pkey(og,4,2),d);第2对候选跨域分离路径中的保护路径dp(dj,2)为(s,pkey(og,1,1),bn4,bn10,pkey(dj,2,2),bn12,bn16,pkey(og,4,1),d)。

pce_p分别将这2对候选跨域分离路径的路径代价分别相加,取代价和最小的那对,pm(og,j)+pm(dj,j)(j=2)为代价和最小,即在这2对候选跨域分离路径中,确定第2对候选跨域分离路径dps(og,2)和dp(dj,2)作为跨域分离路径,并将该计算结果封装到dpc_rsp(s,d)中,发送给pce_s(1);pce_s(1)将封装有最终的跨域分离路径计算结果的dpc_rsp(s,d)返回给发起跨域分离路径计算请求的首节点s。

由此可见,在本发明实施例中,等级pce概念模型中的父pce接收到跨域分离路径计算请求时,依据跨域网络抽象拓扑,获取k对候选分离域序列;遍历所述k对候选分离域序列,为所述网络的各个候选分离域序列的经过域,生成相应的域内路径计算请求,发送所述各个域的域内路径计算请求至所述父pce所管理的每一个子pce;所述至少一个子pce中的每一个子pce确定自身接收到的域内路径计算请求的类型,依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,并发送所获取的域内路径至所述父pce;所述父pce接收到至少一对域内路径时,配置所述至少一对域内路径中的每一域内路径至所述k对候选分离域序列中的相应位置,形成k对候选跨域分离路径;在所述k对候选跨域分离路径中,确定出一对跨域分离路径;将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送;可见,本发明实施例基于等级pce概念模型,通过父pce与其各子pce之间的交互,确定出最终合适的跨域分离路径;无需提前获知跨域端到端首尾域间的域序列,且提高了跨域分离路径(工作路径和保护路径)获取的成功率,从而保证了路径分离的全局最优性。

基于上述方法,本发明实施例还提供了一种路径计算单元pce,所述路径计算单元可作为等级pce概念模型中的父pce。

图9为本发明提供的路径计算单元实施例一的组成示意图;如图9所示,所述pce包括:

第一获取单元91,用于接收到跨域分离路径计算请求时,依据跨域网络抽象拓扑,获取k对候选分离域序列;

第一生成单元92,用于遍历所述k对候选分离域序列,为所述网络中的各个候选分离域序列的经过域,生成相应的域内路径计算请求,发送所述各个域的域内路径计算请求;

第一形成单元93,用于接收到针对所述域内路径计算请求的至少一对域内路径时,配置所述至少一对域内路径中的每一域内路径至所述k对候选分离域序列中的相应位置,形成k对候选跨域分离路径;

第一确定单元94,用于在所述k对候选跨域分离路径中,确定出一对跨域分离路径;

第一发送单元95,用于将所述跨域分离路径作为所述跨域分离路径计算请求的计算结果,发送;

其中,k为正整数。

优选的,所述第一获取单元91,用于:

初始化k,初始化正整数j为1,根据由各域的入出边界节点以及域间链路组成的域间拓扑,利用预设的最短路径算法,计算从所述网络的首节点至尾节点的k对候选分离域序列中的第1对候选分离域序列的工作路径域序列;其中,所述首节点与尾节点携带于所述跨域分离路径计算请求中;

将第1对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第1对候选分离域序列中的保护路径域序列;

将j加1,判断加1后的j是否大于所述正整数k,判断为不大于k时,利用预设的k优路径算法,计算相对于第1对候选分离域序列中的工作路径域序列次优的第2对候选分离域序列中的工作路径域序列;

将第2对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第2对候选分离域序列中的保护路径域序列;

将j再加1,判断再加1后的j是否大于所述正整数k,判断为不大于k时,利用预设的k优路径算法,计算相对于第2对候选分离域序列中的工作路径域序列次优的第3对候选分离域序列中的工作路径域序列;

将第3对候选分离域序列中的工作路径域序列的经过路径作为分离约束条件,利用所述最短路径算法,计算第3对候选分离域序列中的保护路径域序列;

以此类推,直至判断加1后的j大于k。

优选的,所述第一生成单元92,用于:

对于所述各个域中的首域,每遍历所述k对候选分离域序列中的一对候选分离域序列,生成一条关联路径计算请求;获取针对第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在所述k对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述首域中的出边界节点与第j2对候选序列中的工作路径域序列在所述首域中的出边界节点相同,且第j1对候选序列中的保护路径域序列在所述首域中的出边界节点与第j2对候选序列中的保护路径域序列在所述首域中的出边界节点相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述首域的域内路径计算请求;

对于所述各个域中的尾域,每遍历所述k对候选分离域序列中的一对候选分离域序列,生成一条关联路径计算请求;获取针对第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取针对第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在所述k对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述尾域中的出边界节点与第j2对候选序列中的工作路径域序列在所述尾域中的出边界节点相同,且第j1对候选序列中的保护路径域序列在所述尾域中的出边界节点与第j2对候选序列中的保护路径域序列在所述尾域中的出边界节点相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述尾域的域内路径计算请求;

对于所述各个域中的中间域,当所述k对候选分离域序列中的第j对候选分离域序列中的工作路径域序列、保护路径域序列均经过所述中间域时,遍历所述第j对候选分离域序列,为所述第j对候选分离域序列生成一条关联路径计算请求;获取为第j1对候选序列而生成的关联路径计算请求,并确定为第一关联请求;获取为第j2对候选序列而生成的关联路径计算请求,并确定为第二关联请求;在工作路径域序列及保护路径域序列均经过所述中间域的至少两对候选分离域序列中,存在有第j1对候选序列中的工作路径域序列在所述中间域中的入出边界节点与第j2对候选序列中的工作路径域序列在所述中间域中的入出边界节点对应相同,且第j1对候选序列中的保护路径域序列在所述中间域中的入出边界节点与第j2对候选序列中的保护路径域序列在所述中间域as中的入出边界节点对应相同时,合并所述第一关联请求和第二关联请求为一条关联路径计算请求,并将合并后的关联路径计算请求作为所述中间域的域内路径计算请求;

对于所述各个域中的中间域,当所述k对候选分离域序列中的第j对候选分离域序列中的工作路径域序列、保护路径域序列仅有一个经过所述中间域时,对经过所述中间域的域序列生成非关联路径计算请求;获取为第j1对候选序列的工作路径域序列或保护路径域序列而生成的非关联路径计算请求,并确定为第一非关联请求;获取为第j2对候选序列的工作路径域序列或保护路径域序列而生成的非关联路径计算请求,并确定为第二非关联请求;当与所述第一非关联路径计算请求相对应的域序列在所述中间域的入出边界节点和与所述第二非关联路径计算请求相对应的域序列在所述中间域的入出边界节点相同时,合并所述第一非关联请求和所述第二非关联请求,并将合并后的非关联路径计算请求作为所述中间域的域内路径计算请求;

其中,j、j1、j2均为正整数,1≤j≤k,1≤j1≤k、1≤j2≤k,且j1≠j2。

优选的,所述第一形成单元93,用于:

在所述k对候选分离域序列中,配置第j对候选分离域序列中的工作路径域序列相对应的经过域的域内路径至第j对候选分离域序列的工作路径的相应位置,以及配置与第j对候选分离域序列中的保护路径域序列相对应的经过域的域内路径至第j对候选分离域序列的保护路径的相应位置,形成k对候选跨域分离路径。

其中,j均为正整数,1≤j≤k。

优选的,所述第一确定单元94,用于

计算所述k对候选跨域分离路径的每一对候选跨域分离路径中的工作路径的路径代价、及保护路径的路径代价;

将每一对候选跨域分离路径中的工作路径的路径代价及保护路径的路径代价求和,形成路径代价和;

选取路径代价和最小的候选跨域分离路径为所述跨域分离路径。

在实际应用中,所述第一获取单元91、第一生成单元92、第一形成单元93、第一确定单元94及第一发送单元95均可由中央处理单元(cpu,centralprocessingunit)、或数字信号处理(dsp,digitalsignalprocessor)、或微处理器(mpu,microprocessorunit)、或现场可编程门阵列(fpga,fieldprogrammablegatearray)等来实现;所述cpu、dsp、mpu、fpga均可内置于pce中。

本发明实施例还提供了一种路径计算单元pce,所述pce可作为等级pce概念模型中的子pce。

图10为本发明提供的路径计算单元实施例二的组成示意图;如图10所示,所述pce包括:

第一发送单元101,用于接收到节点的跨域分离路径计算请求时,发送所述跨域分离路径计算请求;

第一确定单元102,用于确定自身接收到的域内路径计算请求的类型;

第一获取单元103,用于依据所述类型及所述域内路径计算请求中所携带的域边界节点,获取自身所管辖域的至少一对域内路径,发送所获取的域内路径;

第二发送单元104,用于接收针对所述跨域分离路径计算请求的跨域分离路径计算结果,将所接收到的跨域分离路径计算结果发送至所述节点。

优选的,所述第一获取单元103,位于首域中,用于确定自身接收到的域内路径计算请求的类型为关联路径计算请求,依据所述关联路径计算请求中所携带的首域出边界节点,利用预设的同步不相交路径算法,为每一条关联路径计算请求计算出在首域中的域内路径;

所述第一获取单元103,位于尾域中,用于确定接收到的域内路径计算请求的类型为关联路径计算请求,依据所述关联路径计算请求中所携带的尾域入边界节点,利用预设的同步不相交路径算法,为每一条关联路径计算请求计算出在尾域中的域内路径;

所述第一获取单元103,位于中间域中,用于确定接收到的域内路径计算请求的类型包括关联路径计算请求和非关联路径计算请求;对于关联路径计算请求,依据所述关联路径计算请求中携带的所述中间域入出边界节点,利用预设的同步不相交路径算法,为每一条关联请求计算出在所述中间域中不相交的工作路径及与所述工作路径相对应的保护路径,并将所述工作路径及所述保护路径集合为所述域内路径;对于非关联路径计算请求,依据所述非关联请求中所携带的所述中间域的入出边界节点,利用预设的最短路径算法和/或k优路径算法,计算在所述中间域内的单条路径,并将所述单条路径作为所述域内路径。

其中,所述第一获取单元103,位于首域中,用于确定接收到关联路径计算请求时,在所述首域的域内拓扑上新增一虚拟节点,并新增连接有所述虚拟节点与第一、二出边界节点的虚拟链路;依据所述虚拟节点及所述虚拟链路,形成首域域内路径计算拓扑;

在所述首域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算所述首域内的首节点到所述虚拟节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述首节点到所述首域的第一出边界节点的路径,形成域内工作路径;

从所述最短不相交路径对中,分离出所述首节点到所述首域的第二出边界节点的路径,形成域内保护路径;

将所述域内工作路径和所述域内保护路径作为在所述首域内的域内路径;

其中,所述第一出边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述首域中的出边界节点;

所述第二出边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述首域中的出边界节点;

其中,k、j均为正整数,且1≤j≤k。

其中,所述第一获取单元103,位于尾域中,用于确定接收到关联路径计算请求时,在所述尾域的域内拓扑上新增一虚拟节点,并新增连接有所述虚拟节点与第一、二入边界节点的虚拟链路;依据所述虚拟节点及所述虚拟链路,形成尾域域内路径计算拓扑;

在所述尾域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算所述虚拟节点到所述尾域内的尾节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述尾域的第一入边界节点到所述尾节点的路径,形成域内工作路径;

从所述最短不相交路径对中,分离出所述尾域的第二入边界节点到所述尾节点的路径,形成域内保护路径;

将所述域内工作路径和所述域内保护路径作为在所述尾域内的域内路径;

其中,所述第一入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述尾域中的入边界节点;

所述第二入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述尾域中的入边界节点;其中,k、j均为正整数,且1≤j≤k。

其中,所述第一获取单元103,位于中间域中,用于接收到关联路径计算请求时,在所述尾域的域内拓扑上新增第一拟节点及第二虚拟节点,并新增连接有所述第一虚拟节点与第一、二入边界节点的虚拟链路、以及新增连接有所述第二虚拟节点与第一、二出边界节点的虚拟链路;依据所述第一虚拟节点、第二虚拟节点及所述虚拟链路,形成中间域域内路径计算拓扑;

在所述中间域域内路径计算拓扑中,利用预设的同步不相交路径算法,计算第一虚拟节点到第二虚拟节点的最短不相交路径对;

从所述最短不相交路径对中,分离出所述中间域的第一入边界节点到所述中间域的第一出边界节点的路径,形成域内工作路径;

从最短不相交路径对中,分离出所述中间域的第二入边界节点到所述中间域的第二出边界节点的路径,形成域内保护路径;

将所述域内工作路径和域内保护路径作为在所述中间域的域内路径;

其中,所述第一入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的工作路径域序列在所述中间域中的入边界节点;所述第一出边界节点为所述工作路径域序列在所述中间域中的出边界节点;

所述第二入边界节点为所述子pce获取到的k对候选分离域序列中的第j对候选分离域序列的保护路径域序列在所述中间域中的入边界节点;所述第二出边界节点为所述保护路径域序列在所述中间域中的出边界节点;

其中,k、j均为正整数,且1≤j≤k。

在实际应用中,所述第一发送单元101、第一确定单元102、第一获取单元103及第二发送单元104均可由cpu、或dsp、或mpu、或fpga等来实现;所述cpu、dsp、mpu、fpga均可内置于pce中。

本领域技术人员应当理解,图9、10中所示的pce中的各处理单元的实现功能可参照前述获取跨域分离路径方法的相关描述而理解。本领域技术人员应当理解,图9、10中所示的pce中各处理单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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