《一种确定点到多点路径的方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种确定点到多点路径的方法和装置.pdf(84页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103036791 A (43)申请公布日 2013.04.10 CN 103036791 A *CN103036791A* (21)申请号 201210506634.5 (22)申请日 2012.11.30 H04L 12/733(2013.01) H04L 12/741(2013.01) H04L 12/763(2013.01) (71)申请人 福建星网锐捷网络有限公司 地址 350002 福建省福州市仓山区金山大道 618 号桔园州工业园 19# 楼 (72)发明人 吕长生 (74)专利代理机构 北京同达信恒知识产权代理 有限公司 11291 代理人 黄志华 (。
2、54) 发明名称 一种确定点到多点路径的方法和装置 (57) 摘要 本发明实施例提供一种确定点到多点路径的 方法和装置, 包括 : 利用候选列表来提供路径中 的可选元素以及其相关信息, 利用路径列表来提 供确定出的从源地址到各目的地址的每条最短路 径以及其相关信息, 并通过利用不同的颜色标识 来区分各目的地址对应的最短路径, 可以同时确 定一个源地址到达多个目的地址的最短路径。从 而相对于现有技术, 每次只能确定一个源地址到 达一个目的地址的最短路径, 可以快速确定出一 个源地址到达多个目的地址的最短路径, 提高了 最短路径的确定效率。 (51)Int.Cl. 权利要求书 18 页 说明书 6。
3、1 页 附图 4 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 18 页 说明书 61 页 附图 4 页 1/18 页 2 1. 一种确定点到多点路径的方法, 其特征在于, 所述方法包括 : 将源地址对应的元素的信息作为候选列表中的第一个元素的信息写入候选列表, 候 选列表中一个元素的信息包括该元素的名称、 类型、 该元素的路径下一跳信息, 其中, 路径 下一跳信息针对每个路径下一跳, 包括该路径下一跳的名称、 本地地址、 远端地址和路径信 息, 路径信息针对每条路径, 包括该路径的名称、 颜色标识集合、 链路属性值 cost 和经该路 径到达该元素需经过的下一跳。
4、信息 ; 确定候选列表中 cost 最小的路径 ; 在确定从源地址到达每个目的地址的路径均已确定, 且本次确定出的路径的 cost 大 于上一次确定出的路径的 cost 时, 路径确定结束, 否则, 继续执行以下步骤 : 将本次确定出的路径写入路径列表, 并在候选列表中删除该路径 ; 针对该路径所属的元素, 确定该元素的类型 ; 若该元素为节点, 确定该节点连接的链路 ; 针对每一条链路, 确定该链路是否满足流量工程的约束条件 ; 若该链路不满足流量工程的约束条件, 结束对该链路的处理 ; 若该链路满足流量工程 的约束条件, 则设置该链路的颜色标识集合与该节点 cost 最小的路径的颜色标识集。
5、合相 同, 确定该链路是否满足该颜色标识集合表示的各目的地址的路径约束条件, 首次写入候 选列表的源地址对应的元素第一个路径下一跳对应的第一条路径的颜色标识集合为各目 的地址对应的颜色标识的集合 ; 若该链路不满足该颜色标识集合表示的至少一个目的地址的路径约束条件, 则将该至 少一个目的地址的颜色标识集合从该链路的颜色标识集合中去除, 且若去除颜色标识集合 后, 该链路的颜色标识集合为空, 则结束对该链路的处理, 若去除颜色标识集合后, 该链路 的颜色标识集合非空, 则设置该链路的 cost 为该节点 cost 最小的路径的 cost 与该链路的 cost 之和, 根据该链路的名称查找路径列表。
6、, 确定路径列表中是否存在该链路, 首次写入候 选列表的源地址对应的元素第一个路径下一跳对应的第一条路径的 cost 为零, 路径列表 中保存有元素的信息, 且一个元素的信息包括该元素的名称、 类型、 该元素的路径下一跳信 息, 其中, 路径下一跳信息针对每个路径下一跳, 包括该路径下一跳的名称、 本地地址、 远端 地址和路径信息, 路径信息针对每条路径, 包括该路径的名称、 颜色标识集合、 链路属性值 cost 和经该路径到达该元素需经过的下一跳信息 ; 若路径列表中存在该链路, 则确定路径列表中该链路的所有路径下一跳中的路径中, 是否有路径的 cost 值小于该链路的 cost 值 : 若。
7、有路径的 cost 值小于该链路的 cost 值, 则将该链路的颜色标识集合中去除该路径 的颜色标识集合, 若去除颜色标识集合后, 该链路的颜色标识集合为空, 则结束对该链路的 处理, 若该链路的颜色标识集合非空, 根据该链路的名称查找候选列表, 确定候选列表中是 否存在该链路 ; 若没有路径的cost值小于该链路的cost值, 则根据该链路的名称查找候选列表, 确定 候选列表中是否存在该链路 ; 若该链路满足该颜色标识集合表示的各目的地址的路径约束条件, 则设置该链路的 cost为该节点cost最小的路径的cost与该链路的cost之和, 根据该链路的名称查找路径 列表, 确定路径列表中是否。
8、存在该链路 ; 权 利 要 求 书 CN 103036791 A 2 2/18 页 3 若路径列表中存在该链路, 则确定路径列表中该链路的所有路径下一跳中的路径中, 是否有路径的 cost 值小于该链路的 cost 值 : 若有路径的 cost 值小于该链路的 cost 值, 则将该链路的颜色标识集合中去除该路径 的颜色标识集合, 若去除颜色标识集合后, 该链路的颜色标识集合为空, 则结束对该链路的 处理, 若去除颜色标识集合后, 该链路的颜色标识集合非空, 根据该链路的名称查找候选列 表, 确定候选列表中是否存在该链路 ; 若没有路径的cost值小于该链路的cost值, 则根据该链路的名称查。
9、找候选列表, 确定 候选列表中是否存在该链路 ; 若候选列表中存在该链路, 将候选列表中该链路的所有路径下一跳中的路径中, 路径 的 cost 值与该链路的 cost 值进行比较 ; 若有路径的 cost 值大于该链路的 cost 值, 则在该路径的颜色标识集合中去除该链路 的颜色标识集合, 若去除颜色标识集合后, 该路径的颜色标识集合为空, 则在候选列表中删 除该路径, 若去除颜色标识集合后, 该路径的颜色标识集合非空, 则根据该链路的本地地址 和远端地址, 查找候选列表, 确定候选列表中是否存在与该链路的本地地址和远端地址对 应的路径下一跳 : 若候选列表中存在与该链路的本地地址和远端地址。
10、对应的路径下一跳, 则在该路径下 一跳中创建路径, 将利用该节点作为下一跳, 并根据该节点的 cost 最小的路径中, 经该路 径到达该节点需经过的下一跳信息, 确定出的到达该链路需经过的下一跳信息、 该链路的 颜色标识集合和 cost, 确定为该路径的经该路径到达该链路需经过的下一跳信息、 颜色标 识集合和 cost ; 若候选列表中不存在与该链路的本地地址和远端地址对应的路径下一跳, 则在候选列 表中存在的该链路中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该节点作为 下一跳, 并根据该节点的 cost 最小的路径中, 经该路径到达该节点需经过的下一跳信息, 确定出的到达该链路需。
11、经过的下一跳信息、 该链路的颜色标识集合和 cost, 确定为该路径 的经该路径到达该链路需经过的下一跳信息、 颜色标识集合和 cost ; 若有路径的 cost 值小于该链路的 cost 值, 则在该链路的颜色标识集合中去除该路径 的颜色标识集合, 若去除颜色标识集合后, 该链路的颜色标识集合为空, 则结束对该链路的 处理, 若去除颜色标识集合后, 该链路的颜色标识集合非空, 则根据该链路的本地地址和远 端地址, 查找候选列表, 确定候选列表中是否存在与该链路的本地地址和远端地址对应的 路径下一跳 : 若候选列表中存在与该链路的本地地址和远端地址对应的路径下一跳, 则在该路径下 一跳中创建路。
12、径, 将利用该节点作为下一跳, 并根据该节点的 cost 最小的路径中, 经该路 径到达该节点需经过的下一跳信息, 确定出的到达该链路需经过的下一跳信息、 该链路的 颜色标识集合和 cost, 确定为该路径的经该路径到达该链路需经过的下一跳信息、 颜色标 识集合和 cost ; 若候选列表中不存在与该链路的本地地址和远端地址对应的路径下一跳, 则在候选列 表中存在的该链路中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该节点作为 下一跳, 并根据该节点的 cost 最小的路径中, 经该路径到达该节点需经过的下一跳信息, 确定出的到达该链路需经过的下一跳信息、 该链路的颜色标识集合和 c。
13、ost, 确定为该路径 权 利 要 求 书 CN 103036791 A 3 3/18 页 4 的经该路径到达该链路需经过的下一跳信息、 颜色标识集合和 cost ; 若候选列表中不存在该链路, 在候选列表中创建该链路, 在该链路中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该节点作为下一跳, 并根据该节点的 cost 最小的路 径中, 经该路径到达该节点需经过的下一跳信息, 确定出的到达该链路需经过的下一跳信 息、 该链路的颜色标识集合和 cost, 确定为该路径的经该路径到达该链路需经过的下一跳 信息、 颜色标识集合和 cost ; 若该元素为链路, 确定该链路相邻的节点 ; 针。
14、对每一节点, 确定该节点是否满足流量工程的约束条件 ; 若该节点不满足流量工程的约束条件, 结束对该节点的处理 ; 若该节点满足流量工程 的约束条件, 则设置该节点的颜色标识集合与该链路 cost 最小的路径的颜色标识集合相 同, 确定该节点是否满足该颜色标识集合表示的各目的地址的路径约束条件 ; 若该节点不满足该颜色标识集合表示的至少一个目的地址的路径约束条件, 则将该至 少一个目的地址的颜色标识集合从该节点的颜色标识集合中去除, 且若去除颜色标识集合 后, 该节点的颜色标识集合为空, 则结束对该节点的处理, 若去除颜色标识集合后, 该节点 的颜色标识集合非空, 则设置该节点的cost为该链。
15、路cost最小的路径的cost, 根据该节点 的名称查找路径列表, 确定路径列表中是否存在该节点 ; 若路径列表中存在该节点, 则确定路径列表中该节点的所有路径下一跳中的路径中, 是否有路径的 cost 值小于该节点的 cost 值 : 若有路径的 cost 值小于该节点的 cost 值, 则将该节点的颜色标识集合中去除该路径 的颜色标识集合, 若去除颜色标识集合后, 该节点的颜色标识集合为空, 则结束对该节点的 处理, 若该节点的颜色标识集合非空, 根据该节点的名称查找候选列表, 确定候选列表中是 否存在该节点 ; 若没有路径的cost值小于该节点的cost值, 则根据该节点的名称查找候选列。
16、表, 确定 候选列表中是否存在该节点 ; 若该节点满足该颜色标识集合表示的各目的地址的路径约束条件, 则设置该节点的 cost为该链路cost最小的路径的cost, 根据该节点的名称查找路径列表, 确定路径列表中 是否存在该节点 ; 若路径列表中存在该节点, 则确定路径列表中该节点的所有路径下一跳中的路径中, 是否有路径的 cost 值小于该节点的 cost 值 : 若有路径的 cost 值小于该节点的 cost 值, 则将该节点的颜色标识集合中去除该路径 的颜色标识集合, 若去除颜色标识集合后, 该节点的颜色标识集合为空, 则结束对该节点的 处理, 若去除颜色标识集合后, 该节点的颜色标识集。
17、合非空, 根据该节点的名称查找候选列 表, 确定候选列表中是否存在该节点 ; 若没有路径的cost值小于该节点的cost值, 则根据该节点的名称查找候选列表, 确定 候选列表中是否存在该节点 ; 若候选列表中存在该节点, 将候选列表中该节点的所有路径下一跳中的路径中, 路径 的 cost 值与该节点的 cost 值进行比较 ; 若有路径的 cost 值大于该节点的 cost 值, 则在该路径的颜色标识集合中去除该节点 的颜色标识集合, 若去除颜色标识集合后, 该路径的颜色标识集合为空, 则在候选列表中删 权 利 要 求 书 CN 103036791 A 4 4/18 页 5 除该路径, 若去除。
18、颜色标识集合后, 该路径的颜色标识集合非空, 则根据该节点的本地地址 和远端地址, 查找候选列表, 确定候选列表中是否存在与该节点的本地地址和远端地址对 应的路径下一跳 : 若候选列表中存在与该节点的本地地址和远端地址对应的路径下一跳, 则在该路径下 一跳中创建路径, 将利用该链路作为下一跳, 并根据该链路的 cost 最小的路径中, 经该路 径到达该链路需经过的下一跳信息, 确定出的到达该节点需经过的下一跳信息、 该节点的 颜色标识集合和 cost, 确定为该路径的经该路径到达该节点需经过的下一跳信息、 颜色标 识集合和 cost ; 若候选列表中不存在与该节点的本地地址和远端地址对应的路径。
19、下一跳, 则在候选列 表中存在的该节点中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该链路作为 下一跳, 并根据该链路的 cost 最小的路径中, 经该路径到达该链路需经过的下一跳信息, 确定出的到达该节点需经过的下一跳信息、 该节点的颜色标识集合和 cost, 确定为该路径 的经该路径到达该节点需经过的下一跳信息、 颜色标识集合和 cost ; 若有路径的 cost 值小于该节点的 cost 值, 则在该节点的颜色标识集合中去除该路径 的颜色标识集合, 若去除颜色标识集合后, 该节点的颜色标识集合为空, 则结束对该节点的 处理, 若去除颜色标识集合后, 该节点的颜色标识集合非空, 。
20、则根据该节点的本地地址和远 端地址, 查找候选列表, 确定候选列表中是否存在与该节点的本地地址和远端地址对应的 路径下一跳 : 若候选列表中存在与该节点的本地地址和远端地址对应的路径下一跳, 则在该路径下 一跳中创建路径, 将利用该链路作为下一跳, 并根据该链路的 cost 最小的路径中, 经该路 径到达该链路需经过的下一跳信息, 确定出的到达该节点需经过的下一跳信息、 该节点的 颜色标识集合和 cost, 确定为该路径的经该路径到达该节点需经过的下一跳信息、 颜色标 识集合和 cost ; 若候选列表中不存在与该节点的本地地址和远端地址对应的路径下一跳, 则在候选列 表中存在的该节点中创建路。
21、径下一跳, 并在该路径下一跳中创建路径, 将利用该链路作为 下一跳, 并根据该链路的 cost 最小的路径中, 经该路径到达该链路需经过的下一跳信息, 确定出的到达该节点需经过的下一跳信息、 该节点的颜色标识集合和 cost, 确定为该路径 的经该路径到达该节点需经过的下一跳信息、 颜色标识集合和 cost ; 若候选列表中不存在该节点, 在候选列表中创建该节点, 在该节点中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该链路作为下一跳, 并根据该链路的 cost 最小的路 径中, 经该路径到达该链路需经过的下一跳信息, 确定出的到达该节点需经过的下一跳信 息、 该节点的颜色标识集合和。
22、 cost, 确定为该路径的经该路径到达该节点需经过的下一跳 信息、 颜色标识集合和 cost ; 并返回执行针对候选列表中第一个元素, 确定该元素的第一个路径下一跳对应的第一 条路径的操作。 2. 如权利要求 1 所述的方法, 其特征在于, 确定候选列表中 cost 最小的路径, 具体包 括 : 针对候选列表中第一个元素, 确定该元素的第一个路径下一跳对应的第一条路径 ; 则, 若候选列表中存在与该链路的本地地址和远端地址对应的路径下一跳, 则在该路 权 利 要 求 书 CN 103036791 A 5 5/18 页 6 径下一跳中创建路径, 将利用该节点作为下一跳, 并根据该节点的 cos。
23、t 最小的路径中, 经 该路径到达该节点需经过的下一跳信息, 确定出的到达该链路需经过的下一跳信息、 该链 路的颜色标识集合和 cost, 确定为该路径的经该路径到达该链路需经过的下一跳信息、 颜 色标识集合和 cost, 具体包括 : 若候选列表中存在与该链路的本地地址和远端地址对应的路径下一跳, 则在该路径 下一跳中创建路径, 将利用该节点作为下一跳, 并根据该节点的第一个路径下一跳的第一 条路径中, 经该路径到达该节点需经过的下一跳信息, 确定出的到达该链路需经过的下一 跳信息、 该链路的颜色标识集合和 cost, 确定为该路径的经该路径到达该链路需经过的下 一跳信息、 颜色标识集合和 。
24、cost ; 且若创建的路径是候选列表中该路径所属的路径下一跳 中, cost 最小的路径, 则将该路径作为该路径所属的路径下一跳的第一条路径 ; 若将该路 径作为该路径所属的路径下一跳的第一条路径, 确定该路径的 cost 是否小于未创建该路 径之前, 该链路第一个路径下一跳的第一条路径的 cost, 若小于, 则将该路径所属的路径下 一跳作为该链路第一个路径下一跳 ; 若将该路径所属的路径下一跳作为该链路第一个路径 下一跳, 确定该路径的 cost 是否小于未创建该路径之前, 候选列表中第一个元素第一个路 径下一跳对应的第一条路径的 cost, 若是, 则将该链路做为候选列表中第一个元素,。
25、 否则, 保持候选列表中第一个元素不变 ; 若候选列表中不存在与该链路的本地地址和远端地址对应的路径下一跳, 则在候选列 表中存在的该链路中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该节点作为 下一跳, 并根据该节点的 cost 最小的路径中, 经该路径到达该节点需经过的下一跳信息, 确定出的到达该链路需经过的下一跳信息、 该链路的颜色标识集合和 cost, 确定为该路径 的经该路径到达该链路需经过的下一跳信息、 颜色标识集合和 cost, 具体包括 : 若候选列表中不存在与该链路的本地地址和远端地址对应的路径下一跳, 则在候选列 表中存在的该链路中创建路径下一跳, 并在该路径下一。
26、跳中创建路径, 将利用该节点作为 下一跳, 并根据该节点的第一个路径下一跳的第一条路径中, 经该路径到达该节点需经过 的下一跳信息, 确定出的到达该链路需经过的下一跳信息、 该链路的颜色标识集合和 cost, 确定为该路径的经该路径到达该链路需经过的下一跳信息、 颜色标识集合和 cost ; 且确 定该路径的 cost 是否小于未创建该路径之前, 该链路第一个路径下一跳的第一条路径的 cost, 若小于, 则将该路径所属的路径下一跳作为该链路第一个路径下一跳 ; 若将该路径所 属的路径下一跳作为该链路第一个路径下一跳, 确定该路径的 cost 是否小于未创建该路 径之前, 候选列表中第一个元素。
27、第一个路径下一跳对应的第一条路径的 cost, 若是, 则将该 链路做为候选列表中第一个元素, 否则, 保持候选列表中第一个元素不变 ; 若候选列表中不存在该链路, 在候选列表中创建该链路, 在该链路中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该节点作为下一跳, 并根据该节点的 cost 最小的路 径中, 经该路径到达该节点需经过的下一跳信息, 确定出的到达该链路需经过的下一跳信 息、 该链路的颜色标识集合和 cost, 确定为该路径的经该路径到达该链路需经过的下一跳 信息、 颜色标识集合和 cost, 具体包括 : 若候选列表中不存在该链路, 在候选列表中创建该链路, 在该链路中。
28、创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该节点作为下一跳, 并根据该节点的第一个路径下 一跳的第一条路径中, 经该路径到达该节点需经过的下一跳信息, 确定出的到达该链路需 权 利 要 求 书 CN 103036791 A 6 6/18 页 7 经过的下一跳信息、 该链路的颜色标识集合和 cost, 确定为该路径的经该路径到达该链路 需经过的下一跳信息、 颜色标识集合和 cost ; 且若确定该路径的 cost 小于未创建该路径之 前, 候选列表中第一个元素第一个路径下一跳对应的第一条路径的 cost, 则将该链路做为 候选列表中第一个元素, 否则, 保持候选列表中第一个元素不变 。
29、; 若候选列表中存在与该节点的本地地址和远端地址对应的路径下一跳, 则在该路径下 一跳中创建路径, 将利用该链路作为下一跳, 并根据该链路的 cost 最小的路径中, 经该路 径到达该链路需经过的下一跳信息, 确定出的到达该节点需经过的下一跳信息、 该节点的 颜色标识集合和 cost, 确定为该路径的经该路径到达该节点需经过的下一跳信息、 颜色标 识集合和 cost, 具体包括 : 若候选列表中存在与该节点的本地地址和远端地址对应的路径下一跳, 则在该路径 下一跳中创建路径, 将利用该链路作为下一跳, 并根据该链路的第一个路径下一跳的第一 条路径中, 经该路径到达该链路需经过的下一跳信息, 确。
30、定出的到达该节点需经过的下一 跳信息、 该节点的颜色标识集合和 cost, 确定为该路径的经该路径到达该节点需经过的下 一跳信息、 颜色标识集合和 cost ; 且若创建的路径是候选列表中该路径所属的路径下一跳 中, cost 最小的路径, 则将该路径作为该路径所属的路径下一跳的第一条路径 ; 若将该路 径作为该路径所属的路径下一跳的第一条路径, 确定该路径的 cost 是否小于未创建该路 径之前, 该节点第一个路径下一跳的第一条路径的 cost, 若小于, 则将该路径所属的路径下 一跳作为该节点第一个路径下一跳 ; 若将该路径所属的路径下一跳作为该节点第一个路径 下一跳, 确定该路径的 co。
31、st 是否小于未创建该路径之前, 候选列表中第一个元素第一个路 径下一跳对应的第一条路径的 cost, 若是, 则将该节点做为候选列表中第一个元素, 否则, 保持候选列表中第一个元素不变 ; 若候选列表中不存在与该节点的本地地址和远端地址对应的路径下一跳, 则在候选列 表中存在的该节点中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该链路作为 下一跳, 并根据该链路的 cost 最小的路径中, 经该路径到达该链路需经过的下一跳信息, 确定出的到达该节点需经过的下一跳信息、 该节点的颜色标识集合和 cost, 确定为该路径 的经该路径到达该节点需经过的下一跳信息、 颜色标识集合和 cos。
32、t, 具体包括 : 若候选列表中不存在与该节点的本地地址和远端地址对应的路径下一跳, 则在候选列 表中存在的该节点中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该链路作为 下一跳, 并根据该链路的第一个路径下一跳的第一条路径中, 经该路径到达该链路需经过 的下一跳信息, 确定出的到达该节点需经过的下一跳信息、 该节点的颜色标识集合和 cost, 确定为该路径的经该路径到达该节点需经过的下一跳信息、 颜色标识集合和 cost ; 且确 定该路径的 cost 是否小于未创建该路径之前, 该节点第一个路径下一跳的第一条路径的 cost, 若小于, 则将该路径所属的路径下一跳作为该节点第一个。
33、路径下一跳 ; 若将该路径所 属的路径下一跳作为该节点第一个路径下一跳, 确定该路径的 cost 是否小于未创建该路 径之前, 候选列表中第一个元素第一个路径下一跳对应的第一条路径的 cost, 若是, 则将该 节点做为候选列表中第一个元素, 否则, 保持候选列表中第一个元素不变 ; 若候选列表中不存在该节点, 在候选列表中创建该节点, 在该节点中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该链路作为下一跳, 并根据该链路的 cost 最小的路 径中, 经该路径到达该链路需经过的下一跳信息, 确定出的到达该节点需经过的下一跳信 权 利 要 求 书 CN 103036791 A 7 7。
34、/18 页 8 息、 该节点的颜色标识集合和 cost, 确定为该路径的经该路径到达该节点需经过的下一跳 信息、 颜色标识集合和 cost, 具体包括 : 若候选列表中不存在该节点, 在候选列表中创建该节点, 在该节点中创建路径下一跳, 并在该路径下一跳中创建路径, 将利用该链路作为下一跳, 并根据该链路的第一个路径下 一跳的第一条路径中, 经该路径到达该链路需经过的下一跳信息, 确定出的到达该节点需 经过的下一跳信息、 该节点的颜色标识集合和 cost, 确定为该路径的经该路径到达该节点 需经过的下一跳信息、 颜色标识集合和 cost ; 且若确定该路径的 cost 小于未创建该路径之 前,。
35、 候选列表中第一个元素第一个路径下一跳对应的第一条路径的 cost, 则将该节点做为 候选列表中第一个元素, 否则, 保持候选列表中第一个元素不变。 3. 如权利要求 2 所述的方法, 其特征在于, 将本次确定出的路径写入路径列表, 并在候 选列表中删除该路径, 具体包括 : 根据候选列表中该元素的名称, 查找路径列表, 确定路径列表中是否存在该元素 ; 若路径列表中存在该元素, 则根据候选列表中该元素的第一个路径下一跳的本地地址 和远端地址, 查找路径列表, 确定路径列表中是否存在该元素的第一个路径下一跳 ; 若路 径列表中存在该元素的第一个路径下一跳, 则在路径列表中存在的该元素的第一个路。
36、径下 一跳中创建路径, 将候选列表中该元素第一个路径下一跳对应的第一条路径的颜色标识集 合、 cost 和到达该元素需经过的下一跳信息确定为路径列表中存在的该元素的第一个路径 下一跳中创建的路径的颜色标识集合、 cost 和经该路径到达该元素需经过的下一跳信息 ; 若路径列表中不存在该元素的第一个路径下一跳, 则在路径列表中存在的该元素中创建路 径下一跳, 并在该路径下一跳中创建路径, 将候选列表中该元素第一个路径下一跳对应的 第一条路径的颜色标识集合、 cost 和到达该元素需经过的下一跳信息确定为路径列表中存 在的该元素中创建的路径下一跳中的路径的颜色标识集合、 cost 和经该路径到达该。
37、元素需 经过的下一跳信息 ; 若路径列表中不存在该元素, 则在路径列表中创建该元素, 在该元素中创建下一跳, 并 在该下一跳中创建路径, 将候选列表中该元素第一个路径下一跳对应的第一条路径的颜色 标识集合、 cost 和到达该元素需经过的下一跳信息确定为路径列表中创建的该元素中路径 下一跳中的路径的颜色标识集合、 链路属性值 cost 和经该路径到达该元素需经过的下一 跳信息 ; 并, 在候选列表中删除该元素的第一个路径下一跳对应的第一条路径, 判断该元素的 第一个路径下一跳是否还对应其他路径 ; 若该元素的第一个路径下一跳还对应其他路径, 判断该元素的第一个路径下一跳对 应的其他路径中, 是。
38、否 cost 最小的路径为删除该元素的第一个路径下一跳对应的第一条 路径后, 该元素的第一个路径下一跳当前第一条路径, 若否, 则将该 cost 最小的路径调整 为该元素的第一个路径下一跳的第一条路径, 若是, 则保持当前第一条路径不变 ; 在将该 cost 最小的路径调整为该元素的第一个路径下一跳的第一条路径时, 判断在该元素对应的 路径中, cost 最小的路径是否为该元素当前第一个路径下一跳第一条路径, 若否, 则将该 cost 最小的路径所对应的路径下一跳调整为该元素的第一个路径下一跳, 否则, 保持当前 第一个路径下一跳不变 ; 在将该 cost 最小的路径所对应的路径下一跳调整为该。
39、元素的第 一个路径下一跳时, 判断在所述候选列表对应的路径中, cost 最小的路径是否为该候选列 权 利 要 求 书 CN 103036791 A 8 8/18 页 9 表当前第一个元素第一个路径下一跳第一条路径, 若否, 则将该 cost 最小的路径所对应的 元素调整为该候选列表第一个元素, 否则, 保持该候选列表当前第一个元素不变 ; 若该元素的第一个路径下一跳没有对应其他路径, 则在候选列表中删除该元素的第一 个路径下一跳, 判断该元素是否还对应其他路径下一跳 ; 若该元素还对应其他路径下一跳, 判断该元素对应的路径中, 是否 cost 最小的路径为 删除该元素的第一个路径下一跳后, 。
40、该元素当前第一个路径下一跳的第一条路径, 若否, 则 将该 cost 最小的路径所对应的路径下一跳调整为该元素的第一个路径下一跳, 若是, 则保 持该元素当前第一个路径下一跳不变 ; 在将该 cost 最小的路径所对应的路径下一跳调整 为该元素的第一个路径下一跳时, 判断在该候选列表对应的路径中, cost 最小的路径是否 为该候选列表当前第一个元素第一个路径下一跳第一条路径, 若否, 则将该 cost 最小的路 径所对应的元素调整为该候选列表第一个元素, 否则, 保持该候选列表当前第一个元素不 变 ; 若该元素没有对应其他路径下一跳, 则在候选列表中删除该元素。 4. 如权利要求 2 所述的。
41、方法, 其特征在于, 若去除颜色标识集合后, 该路径的颜色标识 集合为空, 则在候选列表中删除该路径, 具体包括 : 在候选列表中删除该路径, 并判断该路径所属的路径下一跳是否还对应其他路径 ; 若该路径所属的路径下一跳还对应其他路径, 判断该路径所属的路径下一跳对应的 其他路径中, 是否 cost 最小的路径为删除路径后, 该路径下一跳当前第一条路径, 若否, 则 将该 cost 最小的路径调整为该路径下一跳的第一条路径, 若是, 则保持当前第一条路径不 变 ; 在将该 cost 最小的路径调整为该路径下一跳的第一条路径时, 判断在该路径下一跳所 属元素对应的路径中, cost 最小的路径是。
42、否为该元素当前第一个路径下一跳第一条路径, 若否, 则将该 cost 最小的路径所对应的路径下一跳作为该元素的第一个路径下一跳, 否 则, 保持当前第一个路径下一跳不变 ; 在将该 cost 最小的路径所对应的路径下一跳作为该 元素的第一个路径下一跳时, 判断所述候选列表对应的路径中, cost 最小的路径是否为该 候选列表当前第一个元素第一个路径下一跳第一条路径, 若否, 则将该 cost 最小的路径所 对应的元素调整为该候选列表第一个元素, 否则, 保持该候选列表当前第一个元素不变 ; 若该路径所属的路径下一跳没有对应其他路径, 则在候选列表中删除该路径下一跳, 判断该路径下一跳所属的元素。
43、是否还对应其他路径下一跳 ; 若该路径下一跳所属的元素还对应其他路径下一跳, 判断该元素对应的路径中, 是否 cost 最小的路径为删除该路径下一跳后, 该元素当前第一个路径下一跳的第一条路径, 若 否, 则将该 cost 最小的路径所对应的路径下一跳调整为该元素的第一个路径下一跳, 若 是, 则保持该元素当前第一个路径下一跳不变 ; 在将该 cost 最小的路径所对应的路径下一 跳调整为该元素的第一个路径下一跳时, 判断在该候选列表对应的路径中, cost 最小的路 径是否为该候选列表当前第一个元素第一个路径下一跳第一条路径, 若否, 则将该 cost 最 小的路径所对应的元素调整为该候选列。
44、表第一个元素, 否则, 保持该候选列表当前第一个 元素不变 ; 若该元素没有对应其他路径下一跳, 则在候选列表中删除该元素。 5. 如权利要求 2 所述的方法, 其特征在于, 在候选列表中第一个元素的类型为节点时, 将利用该节点作为下一跳, 并根据该节 权 利 要 求 书 CN 103036791 A 9 9/18 页 10 点的第一个路径下一跳的第一条路径中, 经该路径到达该节点需经过的下一跳信息, 确定 出的到达该链路需经过的下一跳信息, 确定为经路径到达该链路需经过的下一跳信息, 包 括 : 将该节点作为下一跳, 添加在候选列表中该节点的第一个路径下一跳的第一条路径 中, 经该路径到达该。
45、节点需经过的下一跳信息的首位置, 并将添加下一跳后获得的下一跳 信息, 确定为经路径到达该链路需经过的下一跳信息, 其中, 源地址对应的元素第一个路径 下一跳对应的第一条路径中, 经该路径到达该元素需经过的下一跳信息为空 ; 在候选列表中第一个元素的类型为链路时, 将利用该链路作为下一跳, 并根据该链路 的第一个路径下一跳的第一条路径中, 经该路径到达该链路需经过的下一跳信息, 确定出 的到达该节点需经过的下一跳信息, 确定为经该路径到达该节点需经过的下一跳信息, 包 括 : 将该链路作为下一跳, 添加在候选列表中该链路的第一个路径下一跳的第一条路径 中, 经该路径到达该链路需经过的下一跳信息。
46、的首位置, 并将添加下一跳后获得的下一跳 信息, 确定为经路径到达该节点需经过的下一跳信息, 其中, 源地址对应的元素第一个路径 下一跳对应的第一条路径中, 经该路径到达该元素需经过的下一跳信息为空。 6. 如权利要求 15 任一所述的方法, 其特征在于, 确定路径确定结束后, 所述方法还包 括 : 确定各目的地址对应的元素, 并确定每个目的地址对应的元素中待提取的路径 ; 按照 所述待提取的路径由先到后写入路径列表的顺序, 确定对所述待提取的路径的提取顺序 ; 按照确定出的提取顺序, 提取每条待提取路径中, 对应元素为链路, 且该元素未设置已提取 标识的, 经该路径到达该路径所属元素需经过的。
47、下一跳的远端地址和本地地址, 并为该下 一跳对应元素设置已提取标识 ; 或者, 确定各目的地址对应的元素, 并确定每个目的地址对应的元素中待提取的路径 ; 提取 每条待提取路径中, 每个对应元素为链路、 经该路径到达该路径所属元素需经过的下一跳 的远端地址和本地地址。 7. 一种确定点到多点路径的装置, 其特征在于, 所述装置包括 : 写入模块, 用于将源地址对应的元素的信息作为候选列表中的第一个元素的信息写 入候选列表, 候选列表中一个元素的信息包括该元素的名称、 类型、 该元素的路径下一跳信 息, 其中, 路径下一跳信息针对每个路径下一跳, 包括该路径下一跳的名称、 本地地址、 远端 地址。
48、和路径信息, 路径信息针对每条路径, 包括该路径的名称、 颜色标识集合、 链路属性值 cost 和经该路径到达该元素需经过的下一跳信息 ; 确定模块, 用于确定候选列表中 cost 最小的路径 ; 判断模块, 用于在确定从源地址到达每个目的地址的路径均已确定, 且确定模块本次 确定出的路径的cost大于确定模块上一次确定出的路径的cost时, 确定路径确定结束, 否 则, 触发执行模块 ; 执行模块, 用于将确定模块本次确定出的路径写入路径列表, 并在候选列表中删除该 路径 ; 针对确定模块本次确定出的路径所属的元素, 确定该元素的类型 ; 若该元素为节点, 确定该节点连接的链路 ; 权 利 。
49、要 求 书 CN 103036791 A 10 10/18 页 11 针对每一条链路, 确定该链路是否满足流量工程的约束条件 ; 若该链路不满足流量工程的约束条件, 结束对该链路的处理 ; 若该链路满足流量工程 的约束条件, 则设置该链路的颜色标识集合与该节点 cost 最小的路径的颜色标识集合相 同, 确定该链路是否满足该颜色标识集合表示的各目的地址的路径约束条件, 首次写入候 选列表的源地址对应的元素第一个路径下一跳对应的第一条路径的颜色标识集合为各目 的地址对应的颜色标识的集合 ; 若该链路不满足该颜色标识集合表示的至少一个目的地址的路径约束条件, 则将该至 少一个目的地址的颜色标识集合从该链路的颜色标识集合中去除, 且若去除颜色标识集合 后, 该链路的颜色标识集合为空, 则结束对该链路的处理, 若去除颜色标识集合后, 该链路 的颜色标识集合非空, 则设置该链路的 cost 为该节点 cost 最小的路径的 cost 与该链路的 cost 之和, 根据该链路的名称查找路径列表, 确定路径列表中是否存在该链路, 首次写入候 选列表的源地址对应的元素第一个路径下一跳对应的第一条路径的 cost 为零, 路径列表 中保存有元素的信息, 且一个元素的信息包括该元素的名称、 类型、 该元素的路径下一跳信 息, 其中, 路径下一跳信息针对每个路径下一跳, 包括该路径下一跳的名称、 本地。