网控制器将步骤301计算的跨子网最短路由的有效子网之间的跨子网路由和步骤304计算的拓扑信息进行组合,生成网元级路由的组网图,这里,将有效子网所视作全交叉对象来确定网元级路由,其中,snl作为全交叉对象的边界节点为A,B,C;sn2作为全交叉对象的边界节点为G,H,N, I ;sn4作为全交叉对象的边界节点为J,K,M。确定的网元级路由如图8所示,其中,加粗的线条为根据最短跨子网路由确定的有效抽象路由,有效抽象路由经过的节点依次为:A、B、G、1、K、Μ。
[0066]步骤306,发送第二请求,计算起始端点到终止端点的端到端路由信息。
[0067]这里,在步骤305中,每个有效子网被当做全交叉对象看待。此时,根据网元级最短路由计算每个有效子网内部的子网内最短路由,以sn2为例,网元级路由在sn2的边界节点G到节点I,在Sn2中,从节点G到节点I存在多种不同的路由,根据最短路由策略计算从节点G到节点I的最优路由。同理,计算出snl、sn4的子网内的最优路由,将计算出的每一有效子网内的最优路由替换有效抽象路由的抽象拓扑,如图9所7JK,从而得到一条完整的从起始端点A至终止端点Μ的端到端的路由信息。
[0068]需要说明的是,在本发明实施例中,“路径”和“路由”意义相同,“跨子网路由”与“下级子网间路由”意义相同。如未说明“上级子网”,则“子网”与“下级子网”都指的是“下级子网”。
[0069]图9以承载网络的业务开通为例,实现了一种跨子网端到端路由计算方法。
[0070]步骤901,接收第一请求;
[0071]上级子网网络控制器接收第一请求,第一请求携带用户输入的创建业务的工作区间起始点、终止点的信息,分别为A、M,以及保护区间的起止点。这里,工作区间和保护区间的起始点、终止点一致。
[0072]步骤902、计算端到端路由作为工作路由;
[0073]这里,计算工作路由的方法同步骤201至步骤203 —致,具体的:
[0074]步骤9021,上级子网控制器计算跨子网最短路由;
[0075]上级子网控制器将自己管理的下级子网看作全交叉对象,并且假设子网内的路由代价为零,也就是说,上级子网控制器将自己管理的下级子网看作路由计算的节点。上级子网从自己的数据库中获取跨下级子网的拓扑连接,并将获取的跨下级子网的拓扑连接作为路由计算的边,并在内存中形成组网图,如图1所示,并计算跨子网最短路由,具体的计算方法同步骤301。
[0076]步骤9022,上级子网控制器确定有效下级子网;
[0077]上级子网控制器根据计算出的跨子网最短路由将经过的下级子网,设置为有效子网。组网图中其他的未经过跨子网最短路由的下级子网都不是有效子网,设置为无效子网,并将无效子网删除,同步骤302,以在步骤305的网元级最短路由计算时不对无效子网进行计算。同时,将有效子网之间的拓扑看作有效的拓扑资源,其他的拓扑资源看作无效的拓扑资源。在步骤305的的网元级最短路由计算时也将不会参与计算。
[0078]步骤9023,上级子网控制器确定有效子网的边界节点;
[0079]上级子网控制器把有效子网的有效拓扑连接的A,Μ端点所在的起始子网和终止子网看作下级子网的边界节点,此时,所有的下级子网被上级子网视为节点。
[0080]步骤9024,上级子网控制器请求下级子网控制器计算其边界节点间的抽象拓扑。
[0081]上级子网控制器将每个子网的边界点下发到各个下级有效子网的子网控制器。下级子网控制器计算的边界节点间的抽象拓扑,具体的:各个有效下级子网控制器接收到边界节点后并行计算各自子网的边界节点之间可连通的能力,将边界节点之间的连通能力看作抽象拓扑连接。这些“抽象拓扑”可以通过从边界节点出发求最小生成树来得到。另外,这些抽象拓扑会有拓扑的权值,表达了边界节点之间连通的代价,可以用作网元级路由计算依据。下级子网控制器将自己计算出来的抽象拓扑返回给上级子网控制器。
[0082]步骤9025,上级子网控制器计算网元级最短路由
[0083]上级子网控制器把收到每个子网计算出的抽象拓扑、以及自己数据库中的有效跨子网的有效拓扑最为边,把这些边的Α,Μ网元为节点,形成组网图,再次计算网元级最短路由。
[0084]步骤9026,上级子网控制器计算抽象拓扑的具体的路由信息
[0085]上级子网控制器将计算出来的最短路径中的抽象拓扑分别下发到各个下级子网,计算抽象拓扑的具体的路由信息。下级子网使用最短路径算法计算抽象拓扑的Α,Ζ点最短路由,并将结算结果返回给上级子网。上级子网控制器形成完整的跨子网路由,具体:上级子网控制器将各个下级子网返回的抽象拓扑的路由信息替换“网元级最短路径由”中对应的抽象拓扑。形成一个从A到Z的完整的路由信息。
[0086]此时,将计算出的端到端的路由设置为工作路由。
[0087]步骤903,计算保护路由;
[0088]首先将工作路由经过的网元,拓扑连接的权值加大。采用同步骤902同样的方法计算一条保护路由。这里,根据保护路由与工作路由的具体的路由信息,可确定计算的保护路由与工作路由的分离程度包括:路由完全相同、路由完全分离、路由部分分离。
[0089]其中,路由完全分离为除了起始端点,终止端点之外,工作路由与保护路由经过的节点完全不相同;路由完全相同为工作路由与保护路由经过的节点完全相同;路由部分分离为工作路由与保护路由经过的节点,有一部分相同,有一部分不同。
[0090]这里,最短路径算法会尽量选择权值最小的边以便边的权值和最小,将权值加大,使保护路由与工作路由尽量不经过相同的节点,实现保护路由与工作路由的分离。
[0091]这里,需要说明的,路由信息包括路由经过的节点与节点之间的路径。
[0092]可以通过检查工作路由和保护路由的分离关系是否满足用户输入的工作路由与保护路由的分离程度时,当两者不一致时,可触发错误报告。
[0093]在实际应用中,可将计算出来的工作路由和保护路由展示出给用户,由用户选择是否继续配置业务。
[0094]当接收到用户对计算结果满意的指令时,执行操作904 ;
[0095]若用户对计算结果不满意,通过重新设置路由约束、重新计算,以获得所需的路由计算结果。
[0096]步骤904、生成配置数据,使待创建业务使能。
[0097]上级网络控制器利用路由计算结果,以及从上级网络控制器网的数据库或各个节点的网元设备中读取的相关数据,生成业务在各个节点的网元设备的配置数据;将业务的配置数据下发到各个节点的网元设备;各个节点的网元设备使业务配置数据生效,从而使得用户待创建的业务使能。
[0098]通过本发明实施例提供的确定端到端路由的方法,可在大规模承载网络管理中提高网络控制系统能够管理的网络规模,降低路由计算的时间,提高路由计算的精度。
[0099]为实现上述方法,本发明实施例还提供一种确定端到端路由的装置,如图10所示,该装置包括:接收模块1001、获取模块1002、选择模块1003 ;其中,
[0100]接收模块1001,用于接收到第一请求时,根据所述第一请求确定有效跨子网路由;
[0101]具体的,接收携带起始端点、终止端点的第一请求;确定所述起始端点所属的下级子网为起始子网,确定所述终止端点所属的