一种计算路径的方法及装置的制造方法_2

文档序号:9527495阅读:来源:国知局
当前信息与所述拓扑历史信息不一致时,则将所述拓扑历史信息替换为所述拓扑当前信息;修改模块,用于根据所述拓扑当前信息修改所述缓存路径中的可用标记。
[0085]本发明通过缓存路径的方式,降低了路径计算时间,尤其大型拓扑中效果更为明显,拓扑越大,路径计算效率提升越明显;重路由次数越多,缓存利用率越高;并且本发明有效利用了设备中的空闲CPU资源,提高了资源利用率,并且运行时间越长,效率提升越明显。与现有技术相比,本发明有效提升路径计算效率,降低重路由时间,达到了减少业务中断时间目的,从而降低了客户网络中断损失,提高了网络服务水平。
[0086]本发明实施例提供的计算路径的装置中的第二生成模块、查询模块、第一发送模块、第三生成模块以及第二发送模块可以集成在路径选择器中;第一计算模块和第二计算模块可以集成在路径计算器中;第三获取模块可以集成在拓扑数据库中;第二获取模块、第一缓存模块、第二缓存模块、比较模块、替换模块以及修改模块可以集成在路径缓存器中,第一获取模块和第一生成模块可以集成在CPU负荷监控器中。
[0087]路径选择器(Path Selector):在收到路径计算请求后,首先在路径缓存器中查找可用路径,找到可用路径即可回复给业务控制模块;如果未找到路径即向路径计算器发起路径计算请求。
[0088]路径计算器(Path Calculator):完成路径计算功能,采用路径计算及资源分配算法,通过路径计算及资源分配算法将业务控制提出的路径需求在拓扑数据库中选取出来。
[0089]拓扑数据库(Traffic Engine Database):将路由协议相互通告状态报文解析为拓扑数据,从而生成全局性拓扑,为路径计算器提供拓扑资源。
[0090]路径缓存器(Path Cache):缓存之前路径计算结果,为下一次路径计算做好备选。
[0091]CPU负荷监控器(CPU Load Monitor):监控CPU负荷情况,发现CPU空闲时,即向路径缓存器发起路径计算请求。
[0092]下面结合上述器件对本方案的执行流程进行描述。
[0093]一、缓存路径,直接利用:直接利用之前已计算结果,其做法是将已经计算成功的路径结果进行缓存,下次计算时直接获取之前计算结果。
[0094]1、未命中缓存路径的计算过程:
[0095]1)路径计算器模块在收到路径请求后,会向路径缓存器查询是否存在符合路径请求各种要求的现有路径,见图3流程①;
[0096]2)路径缓存器模块查询缓存路径与路径请求匹配情况,如果路径未能匹配,则路径缓存器则向路径计算器发起路径计算请求,见图3流程②,继续流程3);
[0097]3)路径计算器在此流程工程数据库此时拓扑基础上采用路径计算及资源分配算法(路径计算算法包括:A*、Di jkstra、Bellman-ford、或其他算法;资源分配算法包括:波长分配算法、时隙分配算法等)进行路径计算,并将计算好路径结果发送给路径选择器,见图3流程③;
[0098]4)路径计算器并在同时将这份路径发送给路径缓存器,路径缓存器缓存该路径用于下次路径查询,见图3流程④;
[0099]5)路径选择器将收到的路径结果回送给业务模块,从而完成路径计算过程。
[0100]2、命中缓存路径的计算过程:
[0101]1)路径计算器模块在收到路径请求后,会向路径缓存器查询是否存在符合路径请求各种要求的现有路径,见图3流程①;
[0102]2)路径缓存器模块查询缓存路径与路径请求匹配情况,如果存在匹配路径,回复该路径给路径选择器,见图3流程⑤,并进入流程3);
[0103]3)路径选择器将收到的路径结果回送给业务模块,从而完成路径计算过程。
[0104]二、闲时计算:以提高缓存查询的命中率。
[0105]在网络设备中,重路由(Reroute)是一个突发过程,这种突发的概率是比较低的,其实大部分控制器的CPU资源都处于空闲空转过程中,此时我们充分利用CPU空闲时间,通过路径计算及资源分配算法(路径计算算法包括:A*、Di jkstra、Bellman-ford、或其他算法;资源分配算法包括:波长分配算法、时隙分配算法等)将尽可能多的路径计算出来并进行缓存备用,这样可以有效提高缓存路径查询的命中率,并在此流程下,随着系统运行,系统会逐渐将所有节点的路径计算出来,从而达到路径查询命中率接近100%,更为高效的提高路径计算效率。
[0106]1、缓存未饱和时闲时计算过程:
[0107]1)CPU负荷监控器在发现CPU空闲时,通知路径缓存器发起路径计算请求,见图3流程⑥;
[0108]2)路径缓存器根据当前缓存路径情况和拓扑情况,寻找出一组尚未有路径的节点的请求,向路径计算器发起路径计算请求,见图3流程②;
[0109]3)路径计算器在流量工程数据库此时拓扑基础上采用路径计算及资源分配算法(路径计算算法包括:A*、Di jkstra、Bellman-ford、或其他算法;资源分配算法包括:波长分配算法、时隙分配算法等)进行路径计算,路径计算器将这份路径发送给路径缓存器,路径缓存器缓存该路径用于下次路径查询,见图3流程④;至此完成一次闲时计算过程。如果此时CPU负荷监控器发现CPU仍然空闲,则从步骤1)重复开始。
[0110]2、缓存已饱和时闲时计算过程:
[0111]1)CPU负荷监控器在发现CPU空闲时,通知路径缓存器发起路径计算请求,见图3流程⑥;
[0112]2)路径缓存器根据当前缓存路径情况和拓扑情况,寻找出一组尚未有路径的节点的请求,若发现所有节点均有合适路径,该过程结束;如果此时CPU负荷监控器发现CPU仍然空闲,则从步骤1)重复开始。
[0113]三.缓存路径刷新过程:拓扑资源状态可能存在变化,这种变化会影响现有缓存路径可用性,为了提高缓存路径的可用性,在拓扑变化时,及时刷新缓存路径。
[0114]1)路由协议在拓扑更新时,通知拓扑数据库,拓扑数据库分析拓扑更新数据对于现有拓扑是否有变化,如果有变化,则发送变化的拓扑信息给路径缓存器,见图3流程⑦;为了抑制拓扑震荡引起的频繁路径计算,可以采用多条拓扑变化集中定时刷新的办法来解决。
[0115]2)路径缓存器在cache (高速缓冲存储器)刷新消息后,分析变化拓扑对于缓存路径影响,并更新缓存路径的可用标记,以保证缓存路径可用性。
[0116]以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述原理前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种计算路径的方法,其特征在于,包括: 获取CPU的当前负荷值; 在所述当前负荷值小于预设值时,生成路径计算请求; 获取未有路径的节点的计算请求; 根据所述路径计算请求以及所述计算请求进行路径计算,得到一第一路径; 将所述第一路径作为缓存路径进行缓存; 接收预设请求后生成路径请求; 根据所述路径请求对所述缓存路径进行查询; 若在所述缓存路径中存在与所述路径请求匹配的第二路径,则将该第二路径进行发送。2.如权利要求1所述的方法,其特征在于,在所述当前负荷值小于预设值时,生成路径计算请求的步骤具体为: 在所述当前负荷值小于预设值时,生成计算通知; 根据所述计算通知生成路径计算请求。3.如权利要求1所述的方法,其特征在于,还包括: 若不存在与所述路径请求匹配的第二路径,则生成路径计算请求; 根据所述路径计算请求进行路径计算,得到一第三路径; 将所述第三路径进行发送。4.如权利要求3所述的方法,其特征在于,还包括: 将所述第三路径作为所述缓存路径进行缓存。5.如权利要求1所述的方法,其特征在于,还包括: 接收更新通知后获取拓扑当前信息和已保存的拓扑历史信息; 比较所述拓扑当前信息与所述拓扑历史信息是否一致; 在所述拓扑当前信息与所述拓扑历史信息不一致时,则将所述拓扑历史信息替换为所述拓扑当前信息; 根据所述拓扑当前信息修改所述缓存路径中的可用标记。6.一种计算路径的装置,其特征在于,包括: 第一获取模块,用于获取CPU的当前负荷值; 第一生成模块,用于在所述当前负荷值小于预设值时,生成路径计算请求; 第二获取模块,用于获取未有路径的节点的计算请求; 第一计算模块,用于根据所述路径计算请求以及所述计算请求进行路径计算,得到一第一路径; 第一缓存模块,用于将所述第一路径作为缓存路径进行缓存。 第二生成模块,用于接收预设请求后生成路径请求; 查询模块,用于根据所述路径请求对所述缓存路径进行查询; 第一发送模块,用于若在所述缓存路径中存在与所述路径请求匹配的第二路径,则将该第二路径进行发送。7.如权利要求6所述的装置,其特征在于,所述第一生成模块包括: 第一生成单元,用于在所述当前负荷值小于预设值时,生成计算通知; 第二生成单元,用于根据所述计算通知生成路径计算请求。8.如权利要求6所述的装置,其特征在于,还包括: 第三生成模块,用于若不存在与所述路径请求匹配的第二路径,则生成路径计算请求; 第二计算模块,用于根据所述路径计算请求进行路径计算,得到一第三路径; 第二发送模块,用于将所述第三路径进行发送。9.如权利要求8所述的装置,其特征在于,还包括: 第二缓存模块,用于将所述第三路径作为所述缓存路径进行缓存。10.如权利要求6所述的装置,其特征在于,还包括: 第三获取模块,用于接收更新通知后获取拓扑当前信息和已保存的拓扑历史信息; 比较模块,用于比较所述拓扑当前信息与所述拓扑历史信息是否一致; 替换模块,用于在所述拓扑当前信息与所述拓扑历史信息不一致时,则将所述拓扑历史信息替换为所述拓扑当前信息; 修改模块,用于根据所述拓扑当前信息修改所述缓存路径中的可用标记。
【专利摘要】本发明提供了一种计算路径的方法及装置,其中,方法包括:获取CPU的当前负荷值;在当前负荷值小于预设值时,生成路径计算请求;获取未有路径的节点的计算请求;根据路径计算请求以及计算请求进行路径计算,得到一第一路径;将第一路径作为缓存路径进行缓存;接收预设请求后生成路径请求;根据路径请求对缓存路径进行查询;若在缓存路径中存在与路径请求匹配的第二路径,则将该第二路径进行发送。本发明提供的方案通过利用CPU空闲时间计算路径并进行缓存,在有需求时则从缓存路径中直接进行查询快速获取所需要的路径,大大降低了路径计算占据的时间,提高了路径计算效率,从而降低业务中断时间,提高了业务恢复效率,减少了客户的损失。
【IPC分类】H04L12/701
【公开号】CN105282023
【申请号】CN201410307209
【发明人】张朝伟
【申请人】中兴通讯股份有限公司
【公开日】2016年1月27日
【申请日】2014年6月30日
【公告号】WO2016000365A1
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1