[发明专利]一种SPTN网络隧道重路由方法有效
申请号: | 202111493493.3 | 申请日: | 2021-12-08 |
公开(公告)号: | CN114124791B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 高荣亮;王为亮;陈鹏;谭绍锋;李侦;周雪莹 | 申请(专利权)人: | 中国电子科技集团公司第三十四研究所 |
主分类号: | H04L45/02 | 分类号: | H04L45/02;H04L45/12;H04L45/28;H04L12/46 |
代理公司: | 桂林市华杰专利商标事务所有限责任公司 45112 | 代理人: | 陶平英 |
地址: | 541004 广西壮*** | 国省代码: | 广西;45 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sptn 网络 隧道 路由 方法 | ||
1.一种SPTN网络隧道重路由方法,其特征在于,包括如下步骤:
1)隧道路径规划过程,包括如下步骤:
1-1)构建存储路径搜索所需信息的数据存储结构,数据存储结构包括graph结构体、Vertex结构体和Shortest Path结构体;
1-2)创建一个隧道路径生成函数,该函数命名为Ksp Generate,定义is First和fullSupr标志,分别用于判断是否求解的是第一条最短路径和是否求解的是完全分离路径;KspGenerate的返回值为一个匿名函数,将该匿名函数命名为B函数,Ksp Generate函数和B函数的参数和返回值及其代表的意义如下表1和表2所示:
表1 Ksp Generate函数描述
表2 B函数描述
1-3)B函数的主体通过改进KSP算法进行隧道路径搜索其输入参数used Path List、link Filter List和device Filter List,为知情搜索提供信息,原始KSP算法中A集合和B集合数据结构仍然保留其原有意义和功能,具体的隧道路径搜索算法包括如下:
1-3-1)计算最短路径:若is First标志位为false,则跳转到步骤1-3-2);若is First标志位为true,则计算第一条最短路径,步骤如下:
1-3-1-1)若used Path List包含已用路径,进行如下的步骤:
1-3-1-2)尝试计算节点完全偏离路径,更新拓扑图信息,将已用路径上的中间节点全部删除,若已用路径上没有中间节点,则删除首尾节点间所有边;
1-3-1-3)基于步骤1-3-1-2),使用Dijkstra算法计算一条最短路径,若计算出路径,则步骤1-3-1)完成;若不能计算出节点完全偏离路径,则进入步骤 1-3-1-4)步骤;
1-3-1-4)尝试计算链路完全偏离的路径,采用知情搜索,更新拓扑图信息,先删除图中used Path List所含的所有边;
1-3-1-5)使用Dijkstra算法计算一条最短路径,若计算出路径,则步骤1-3-1)完成,若不能计算出路径,进入步骤1-3-1-6);
1-3-1-6)直接使用B函数传递进来的原始拓扑图数据,使用Dijkstra算法计算一条最短路径,若计算出路径,则跳转到步骤1-3-1-7);若不能计算出路径,返回空值,调用方法根据返回的空值终止后续计算步骤;
1-3-1-7)若used Path List不为空,将步骤1-3-1-6)计算出的路径缓存到B集合,等待步骤1-3-3)进行计算;若used Path List为空,则返回步骤1-3-1-6)计算出的路径,步骤1-3-1)完成;
1-3-2)计算完全偏离路径:若full Supr标志位为false,则跳转步骤1-3-3);若fullSupr标志位true,进行如下步骤:
1-3-2-1)进行知情搜索,更新拓扑图信息,根据B函数的输入参数link Filter List,删除拓扑图中所含的link Filter List中的边;
1-3-2-2)根据B函数的输入参数device Filter List,删除拓扑图中所含的deviceFilter List中的节点;
1-3-2-3)根据B函数的输入参数used Path List,删除拓扑图中所含的used PathList中的节点和相关的边;
1-3-2-4)利用Dijkstra算法计算最短路径,若计算成功,返回该路径,并将路径存入A集合中,步骤1-3-2)完成;若计算失败,返回空,将full Supr标志重置,流程跳转到步骤1-3-3);
1-3-3)计算偏离路径,该步骤的主体功能是KSP算法,对KSP算法进行改进,提升计算效率,保证B集合中选择的路径和A集合中的路径相近性最小;相近性计算方法如下:
路径长度表示,对于 ,记其长度为;另外一条路径为,令与的共同路段长度为,不同路段长度为,则存在)=+,定义和的相近性为:
/
具体步骤如下:
1-3-3-1)调整分离点:根据device Filter List参数信息,查找分离点列表中的第一个包含在device Filter List中的节点,调整分离点列表,过滤掉无用的分离点,提高KSP算法计算效率;
1-3-3-2)运行KSP算法,在遍历分离点时,根据link Filter List参数信息,删除不需要的链路,提高KSP算法效率;
1-3-3-3)从B集合中选择最优路径,步骤如下:
1-3-3-3-1)计算B集合每条路径和A集合中所有路径的相近性之和;
1-3-3-3-2)对B集合中的路径进行相近性排序,取相近性最小的路径为符合要求路径;若存在多条路径相近性一样的情形,跳转到步骤1-3-3-3-3);
1-3-3-3-3)根据路径的cost值进行优先级区分,cost值小的路径优先级更高;若存在多条路径相近性一样,并且cost值一样的情形,跳转到步骤1-3-3-3-4);
1-3-3-3-4)根据路径跳数的多少进行区分,跳数少的路径优先级更高;
2)隧道路径重优化过程,包括如下步骤:
2-1)隧道路径重优化事件监听,若发生隧道告警、设备告警、链路告警和拓扑模块告警消息,检索出需要重路由的高优先级隧道和低优先级隧道,触发控制器自动进行隧道路径重优化动作;
2-2)隧道路径重优化过程分两个阶段,步骤如下:
2-2-1)将需要进行重优化的隧道进行分类,高优先级的隧道信息保存在局部数据结构high Level Tunnel List中,低优先级隧道信息保存在局部数据结构low Level TunnelList中;
2-2-2)将高优先级隧道进行排序,进入高优先级隧道重优化第一阶段;
2-2-2-1)若步骤2-2-2)步骤被中断,则将high Level Tunnel List未被重优化的隧道信息缓存到update Tunnel Pending结构中,将low Level Tunnel List中未被重优化的隧道信息缓存到low Lvl Tnl Rr List结构中,保证中断时信息不会丢失;重启低优先级重路由定时器low Lvl Tnl Rr Timer,同时高优先级隧道重优化第一阶段动作立即返回,延迟执行;
2-2-2-2)若2-2-2)步骤顺利进行,进行如下的动作:
a)分析是否需要创建新的隧道;
b)若需要创建新的隧道,则创建新的隧道;
c)将新创建的隧道信息缓存到相应的内存数据结构;
d)将隧道信息持久化到本地数据库;
2-2-3)高优先级隧道重优化第二阶段:
2-2-3-1)若步骤2-2-3)被中断,该步骤过程和与步骤2-2-2-1)步骤相同;
2-2-3-2)若步骤2-2-3)步骤顺利进行,将按顺序进行如下的动作:
a)更新隧道和隧道保护组;
b)删除失效的隧道;
c)按需创建新的隧道;
d)将新创建的隧道信息缓存到相应的内存数据结构;
e)将隧道信息持久化到本地数据库;
2-2-4)高优先级隧道重优化完成后,将update Tunnel Pending结构中的数据清空;
2-2-5)低优先级隧道路径重优化:整体策略是保证高优先级的隧道路径重优化完成,先只缓存低优先级隧道信息,通过定时器延迟调用的方法,让出CPU,当时机合适时,启动低优先级隧道路径重优化流程,低优先级隧道路径重优化过程采用高优先级隧道路径重优化过程的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电子科技集团公司第三十四研究所,未经中国电子科技集团公司第三十四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111493493.3/1.html,转载请声明来源钻瓜专利网。