本公开涉及数据通信技术领域,特别涉及一种路径调度方法、路径调度装置和计算机可读存储介质。
背景技术:
ip网络可以通过igp(interiorgatewayprotocol,内部网关协议)的度量值(metric)来定义最优路径。但是,由于业务发展及分布变化,会导致网链路资源利用的不平衡。
bgp(bordergatewayprotocol,边界网关协议)是运行于tcp(transmissioncontrolprotocol,传输控制协议)上的自治系统的路由协议,可以妥善处理不相关路由域间的多路径的协议。因此,针对目标网络,可以采用修改bgp的属性值来调整最优路径,达到资源优化的目的。
技术实现要素:
本公开的发明人发现上述相关技术中存在如下问题:一旦路径发生故障,路径策略不能及时回退,从而导致路径拥塞问题或转发黑洞。针对上述问题,本公开提出了一种路径调度的技术方案,能够实现故障路径的自动回退,从而解决路径拥塞或转发黑洞问题。
根据本公开的一些实施例,提供了一种路径调度方法,包括:采集全网的链路状态信息,以建立lsdb(linkstatedatabase,链接状态数据库);根据所述lsdb确定源节点与目标节点之间的各备选路径;构建所述各备选路径中每一跳的链路组,根据所述lsdb确定所述各链路组的资源利用率和存活状态;响应于链路组的资源利用率超过预设阈值或存活状态为中断,回退所述链路组所在的备选路径。
可选地,通过bgp的路由反射器,基于ls(linkstate,链接状态协议)协议采集所述链路状态信息。
可选地,根据所述lsdb计算所述源节点与所述目标节点之间的所有可用路径的度量值,将所述度量值最小的各可用路径确定为所述各备选路径。
可选地,根据所述各备选路径中每一跳中包含的节点之间的所有链路构建所述每一跳的链路组。
可选地,触发bgp的路由取消信息回退所述链路组所在的备选路径。
根据本公开的另一些实施例,提供一种路径调度装置,包括:数据库建立模块,用于采集全网的链路状态信息,以建立lsdb;备选路径确定模块,用于根据所述lsdb确定源节点与目标节点之间的各备选路径;链路组状态确定模块,用于构建所述各备选路径中每一跳的链路组,根据所述lsdb确定所述各链路组的资源利用率和存活状态;路径回退模块,用于响应于链路组的资源利用率超过预设阈值或存活状态为中断,回退所述链路组所在的备选路径。
可选地,所述数据库建立模块通过bgp的路由反射器,基于ls协议采集所述链路状态信息。
可选地,所述备选路径确定模块根据所述lsdb计算所述源节点与所述目标节点之间的所有可用路径的度量值,将所述度量值最小的各可用路径确定为所述各备选路径。
可选地,所述链路组状态确定模块根据所述各备选路径中每一跳中包含的节点之间的所有链路构建所述每一跳的链路组。
可选地,所述路径回退模块触发bgp的路由取消信息回退所述链路组所在的备选路径。
根据本公开的又一些实施例,提供一种路径调度装置,包括:存储器和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的路径调度方法。
根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的路径调度方法。
在上述实施例中,通过建立lsdb和构建各路径每一跳的链路组,实时监控各路径中各链路组的资源利用率和存活状态,建立了路径的端到端质量监测机制,从而实现故障路径的自动回退,从而解决路径拥塞或转发黑洞问题。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出本公开的路径调度方法的一些实施例的流程图;
图2示出本公开的路径调度方法的一些实施例的示意图;
图3示出本公开的路径调度装置的一些实施例的框图;
图4示出本公开的路径调度装置的另一些实施例的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出本公开的路径调度方法的一些实施例的流程图。
如图1所示,该方法包括:步骤110,建立lsdb;步骤120,确定备选路径;步骤130,确定链路组的资源利用率和存活状态;步骤140,回退备选路径。
在步骤110中,采集全网的链路状态信息以建立lsdb。例如,可以基于流向统计分析,通过综合计算确定待调度的目标网络或目标业务。针对目标网络或目标业务的路由,通过bgp的下一条属性调度至空闲的资源节点。以该空闲的资源节点为调度源节点,采集全网的链路状态信息以建立lsdb。
在一些实施例中,可以通过图2中的bgp的rr(routerreflector,路由反射器),基于ls协议采集全网的链路状态信息,从而建立lsdb。
图2示出本公开的路径调度方法的一些实施例的示意图。
如图2所示,目标网络2中所有的网络设备同属一个as(autonomoussystem,自治系统)域,该as域内的ibgp(internalbordergatewayprotocol,内部bgp协议)为isis(intermediatesystemtointermediatesystem,中间系统到中间系统)。rr20基于ls协议采集目标网络2中各节点之间的链路状态信息,例如路径长度、可靠性、延迟、通信代价等。接下来可以基于该链路状态信息根据图1中的步骤120确定备选路径。
在步骤120中,根据lsdb确定源节点与目标节点之间的各备选路径。例如,可以根据lsdb计算源节点与目标节点之间的所有可用路径的度量值,将度量值最小的各可用路径确定为各备选路径。
在一些实施例中,如图2所示,目标网络2的源节点为节点21,目标节点为节点28。各可用路径包含的每一跳的度量值可以采用metric值。metric值为路由算法用以确定到达目的地的最佳路径的计量标准,metric值的确定可以与路径长度、可靠性、延迟、通信代价等链路状态信息有关。每一跳的metric值如图2中所示。目标网络2采用冗余设计,基于各路径的metric值可以确定多条备选路径:第一路径、第二路径和第三路径。第一路径经过的节点为:节点21、节点22、节点23和节点28。第二路径经过的节点为:节点21、节点24、节点25和节点28。第三路径经过的节点为:节点21、节点24、节点27和节点28。
在步骤130中,构建各备选路径中每一跳的链路组,根据lsdb确定各链路组的资源利用率和存活状态。例如,可以根据各备选路径中每一跳中包含的节点之间的所有链路构建每一跳的链路组。
在一些实施例中,以第一路径为例,如图2所示,可以先以节点21为根节点,以节点22为下一跳节点,计算节点21和节点22之间的所有链路,从而构建第一路径的第一跳链路组。然后,以节点22为根节点,以节点23为下一跳节点,计算节点22和节点23的所有链路,从而构建第二路径的第二跳链路组。以此类推,可以构建第一路径的每一跳链路组。这样就可以根据lsdb确定各链路组的资源利用率和存活状态,从而可以建立各路径的端到端质量检测机制,快速检测路径故障,解决路径拥塞问题。
在步骤140中,响应于链路组的资源利用率超过预设阈值或存活状态为中断,回退该链路组所在的备选路径。例如,可以触发bgp的路由取消信息回退该链路组所在的备选路径。
在一些实施例中,例如可以设定资源利用率阈值为85%。如图2所示,节点22和节点23之间的链路组的资源利用率达到了90%,超过了阈值,可以触发bgp的withdrawal信息回退链路组所在的第一路径。回退到节点21(调度源节点)后可以重新规划路径。如果链路组出现中断的情况,例如检测到节点25和节点28之间的链路组中断,也可以回退该链路组所在的第二路径。
上述实施例中,通过建立lsdb和构建各路径每一跳的链路组,实时监控各路径中各链路组的资源利用率和存活状态,建立了路径的端到端质量监测机制,从而实现故障路径的自动回退,从而解决路径拥塞问题。
图3示出本公开的路径调度装置的一些实施例的框图。
如图3所示,路径调度装置3包括:数据库建立模块31、备选路径确定模块32、链路组状态确定模块33和路径回退模块34。
数据库建立模块31采集全网的链路状态信息,以建立lsdb。例如,数据库建立模块31可以通过bgp的路由反射器,基于ls协议采集链路状态信息。
备选路径确定模块32根据lsdb确定源节点与目标节点之间的各备选路径。例如,备选路径确定模块32可以根据lsdb计算源节点与目标节点之间的所有可用路径的度量值,将度量值最小的各可用路径确定为各备选路径。
链路组状态确定模块33构建各备选路径中每一跳的链路组,根据lsdb确定各链路组的资源利用率和存活状态。例如,链路组状态确定模块33可以根据各备选路径中每一跳中包含的节点之间的所有链路构建每一跳的链路组。
路径回退模块34用于响应于链路组的资源利用率超过预设阈值或存活状态为中断,回退该链路组所在的备选路径。例如,路径回退模块34可以触发bgp的路由取消信息回退链路组所在的备选路径。
上述实施例中,通过建立lsdb和构建各路径每一跳的链路组,实时监控各路径中各链路组的资源利用率和存活状态,建立了路径的端到端质量监测机制,从而实现故障路径的自动回退,从而解决路径拥塞或转发黑洞问题。
图4示出本公开的路径调度装置的另一些实施例的框图。
如图4所示,该实施例的装置4包括:存储器41以及耦接至该存储器41的处理器42,处理器42被配置为基于存储在存储器41中的指令,执行本公开中任意一些实施例中的路径调度方法。
存储器41例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(bootloader)、数据库以及其他程序等。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的路径调度方法、装置和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件或者软件、硬件组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。