保护倒换的优化方法及装置转让专利

申请号 : CN201910775116.5

文献号 : CN110611584B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 徐秀敏于海波

申请人 : 北京国电通网络技术有限公司国网信息通信产业集团有限公司国家电网有限公司

摘要 :

本发明公开了一种保护倒换的优化方法及装置。该优化方法中,当工作链路出现故障,直接屏蔽故障信息以防其直接被控制器读取,将故障信息发送至预设内存区,控制器直接从预设内存区中读取故障中断相关信息(也即故障信息),读取速度快;同时,屏蔽故障信息直至预设时间后,才从预设内存区内读取故障信息,这样可以批量处理所有的故障信息,不会丢中断,优化控制器响应N个中断的过程为只响应一次中断,有效降低了控制器频繁响应中断的压力,释放出来的时间可用于控制器处理其他任务,可有效提高多对保护组同时发生故障时的保护倒换性能,大大提高了保护倒换的效率。

权利要求 :

1.一种保护倒换的优化方法,其特征在于,包括:

当两网络节点之间的多个工作链路同时出现故障时,屏蔽故障中断信息以防其直接被控制器读取;

屏蔽故障中断信息的同时,将所述故障中断信息发送至预设内存区;

屏蔽故障中断信息直至预设时间后,所述控制器读取所述预设内存区内的故障中断信息,并响应于所述故障中断信息而执行保护任务,以将所述多个工作链路切换为与所述多个工作链路分别对应的多个保护链路;

其中,所述屏蔽所述故障中断信息至预设时间后,所述控制器读取所述预设内存区内的故障中断信息的步骤,包括:中断服务程序接受所述故障中断信息并关闭所述故障中断信息的直接传送路径,延时等待所述预设时间后,所述中断服务程序打开所述故障中断信息的间接传送路径,以读取所述预设内存区内的所述故障中断信息,其中,所述直接传送路径是指所述故障中断信息不经所述预设内存区直接传送至所述控制器的路径,所述间接传送路径是指所述故障中断信息经所述预设内存区传送至所述控制器的路径;

所述保护任务包括故障中断信息收集任务、保护状态机运行任务和倒换执行任务,其中,所述故障中断 信息收集任务、所述保护状态机运行任务和所述倒换执行任务在同一个所述保护任务中执行。

2.根据权利要求1所述的优化方法,其特征在于,还包括检测两网络节点之间的工作链路的故障中断信息的步骤,所述检测两网络节点之间的工作链路的故障中断信息的步骤,包括采用周期性的检测报文收发来确认工作链路的故障中断信息。

3.根据权利要求1所述的优化方法,其特征在于,响应于所述故障中断信息而执行保护任务,以将所述多个工作链路切换为与所述多个工作链路分别对应的多个保护链路的步骤,包括:收集所述预设内存区的故障中断信息;

保护状态机运行所述故障中断信息,发出倒换决策;

执行倒换决策,将所述多个工作链路切换为所述多个保护链路。

4.根据权利要求2所述的优化方法,其特征在于,所述预设时间为至少一个检测报文的发送周期;

所述预设内存区为DMA内存共享区。

5.一种保护倒换的优化装置,其特征在于,包括连通性检测模块、预设内存区以及控制器,所述控制器包括读取模块及运算执行模块,其中,当所述连通性检测模块检测到两网络节点之间的多个工作链路同时出现故障时,所述读取模块屏蔽故障中断信息以防其直接被所述控制器读取;

在所述读取模块屏蔽所述故障中断信息的同时,所述连通性检测模块将所述故障中断信息发送至所述预设内存区;

所述读取模块通过中断服务程序接受所述故障中断信息并关闭所述故障中断信息的直接传送路径,延时等待预设时间后,通过所述中断服务程序打开所述故障中断信息的间接传送路径,以读取所述预设内存区内的所述故障中断信息,所述运算执行模块响应于所述故障中断信息而执行保护任务,以将所述多个工作链路切换为与所述多个工作链路分别对应的多个保护链路;

其中,所述屏蔽所述故障中断信息至预设时间后,所述控制器读取所述预设内存区内的故障中断信息的步骤,包括:中断服务程序接受所述故障中断信息并关闭所述故障中断信息的直接传送路径,延时等待所述预设时间后,所述中断服务程序打开所述故障中断信息的间接传送路径,以读取所述预设内存区内的所述故障中断信息,其中,所述直接传送路径是指所述故障中断信息不经所述预设内存区直接传送至所述控制器的路径,所述间接传送路径是指所述故障中断信息经所述预设内存区传送至所述控制器的路径;

所述保护任务包括故障中断信息收集任务、保护状态机运行任务和倒换执行任务,其中,所述故障中断 信息收集任务、所述保护状态机运行任务和所述倒换执行任务在同一个所述保护任务中执行。

6.根据权利要求5所述的装置,还包括业务转发模块,用于接收所述运算执行模块发出的倒换决策,并根据所述倒换决策,将业务报文按选择的主用或备用通道格式进行封装,并选择对应的保护链路端口将业务报文转发出去,使工作链路上的业务流转至保护链路上运行。

说明书 :

保护倒换的优化方法及装置

技术领域

[0001] 本发明涉及通信技术领域,具体涉及保护倒换的优化方法及装置。

背景技术

[0002] 数据中心在承载服务器间交互数据业务时,为保证较高的网络通信可靠性,可采用对工作链路预先分配的专用的保护链路的方案,在工作链路出现故障后,将工作链路承载的业务切换到保护链路上。
[0003] 常规实现时,若单对保护组的保护切换时间为O(1),因骨干网络中的device1‑device2的通路带宽较大,可建立N对逻辑链路作为保护链路来组成保护组,分别保护设备1到设备N接入的业务。N对保护组场景,若工作链路故障,则所有的N对保护组均需切换到保护链路。则在该报文发送周期T的区间中,最多发生N次中断。
[0004] 常规方案实现为,检测到工作链路故障后,立刻通过中断消息触发切换。但在保护组对数较多时,先收到故障信息的保护组在保护切换过程中,会被后续上报的故障信息打断,频繁的中断和任务切换,将严重影响保护倒换的性能。

发明内容

[0005] 有鉴于此,本发明实施例提供了一种保护倒换的优化方法及装置,以解决在保护组对数较多时,先收到故障信息的保护组在保护切换过程中,会被后续上报的故障信息打断,频繁的中断和任务切换,将严重影响保护倒换的性能的问题。
[0006] 根据第一方面,本发明实施例提供了一种保护倒换的优化方法,以降低保护倒换的时间,提高效率,该优化方法,包括当两网络节点之间的工作链路出现故障时,屏蔽故障信息以防其直接被控制器读取;屏蔽故障信息的同时,将所述故障信息发送至预设内存区;屏蔽故障信息直至预设时间后,读取所述预设内存区内的故障信息;根据所述故障信息,所述控制器执行保护任务,用于将两网络节点之间的工作链路切换为保护链路。
[0007] 上述优化方法,当工作链路出现故障,直接屏蔽故障信息以防其直接被控制器读取,将故障信息发送至预设内存区,控制器直接从预设内存区中读取故障中断相关信息(也即故障信息),读取速度快;同时,屏蔽故障信息直至预设时间后,才从预设内存区内读取故障信息,这样可以批量处理所有的故障信息,不会丢中断,优化控制器响应N个中断的过程为只响应一次中断,有效降低了控制器频繁响应中断的压力,释放出来的时间可用于控制器处理其他任务,可有效提高多对保护组同时发生故障时的保护倒换性能,大大提高了保护倒换的效率。
[0008] 结合第一方面,在第一方面第一实施方式中,还包括检测两网络节点之间的工作链路的故障信息的步骤,所述检测两网络节点之间的工作链路的故障信息的步骤,包括采用周期性的检测报文收发来确认工作链路的故障信息。例如,可采用CCM、BFD或LACP等机制。以CCM为例,检测报文的发包周期为T,要求在3.5*T时间内收不到检测报文,则认为发现了故障。从链路故障发生的那一刻开始算,所有故障上报的时间点,在区间[2.5*T—3.5*T]中随机分布。
[0009] 结合第一方面或第一方面第一实施方式,在第一方面第二实施方式中,所述屏蔽所述预设内存区的故障信息至预设时间后,读取所述预设内存区内的故障信息的步骤,包括中断服务程序接受所述故障信息并关闭所述故障信息的直接传送路径,延时等待预设时间后,所述中断服务程序打开所述故障信息的间接传送路径,以读取所述预设内存区内的故障信息。具体地,中断服务程序为中断服务函数。本发明中,直接传送路径是指故障信号不经预设内存区直接传送至控制器的路径;间接传送路径是指故障信号经预设内存区传送至控制器的路径。
[0010] 结合第一方面或第一方面第一实施方式或第二实施方式,在第一方面第三实施方式中,所述保护任务包括故障信息收集任务、保护状态机运行任务和倒换执行任务,所述故障信息收集任务、保护状态机运行任务和倒换执行任务在同一个保护任务中执行。通过将故障信息收集任务、保护状态机运行任务和倒换执行任务在同一个保护任务中执行,如此可减少了任务切换的耗时,提高保护倒换过程的执行效率。
[0011] 结合第一方面或第一方面第一实施方式、第二实施方式或第三实施方式,在第一方面第四实施方式中,所述根据所述故障信息,所述控制器执行保护任务,用于将两网络节点之间的工作链路切换为保护链路的步骤,包括收集所述预设内存区的故障信息;保护状态机运行所述故障信息,发出倒换决策;执行倒换决策,将两网络节点之间的工作链路切换为保护链路。
[0012] 结合第一方面或第一方面第一实施方式至第四实施方式中的任一种方式,在第一方面第五实施方式中,所述工作链路的个数为N个,N为不小于1的自然数,N个工作链路对应N个保护链路,N个保护链路组成保护组,N个保护链路同时发生故障。
[0013] 结合第一方面或第一方面第一实施方式至第五实施方式中的任一种方式,在第一方面第六实施方式中,所述预设时间为至少一个检测报文的发送周期;优选为一个检测报文的发送周期;所述预设内存区为DMA内存共享区。
[0014] 根据第二方面,本发明实施例提供了一种装置,包括,
[0015] 预存内存区模块,用于接受并暂存工作链路的故障信息;
[0016] 控制器,包括读取模块及运算执行模块,所述读取模块用于屏蔽所述故障信息至预设时间后,读取所述预存内存区模块内的故障信息;
[0017] 所述运算执行模块用于根据所述故障信息执行保护任务,用于将两网络节点之间的工作链路切换为保护链路。
[0018] 上述装置中,当工作链路出现故障,读取模块直接屏蔽故障信息以防其直接被控制器读取,将故障信息发送至预存内存区模块,控制器直接从预存内存区模块中读取故障中断相关信息(也即故障信息),读取速度快;同时,屏蔽故障信息直至预设时间后,才从预存内存区模块内读取故障信息,这样可以批量处理所有的故障信息,不会丢中断,优化控制器响应N个中断的过程为只响应一次中断,有效降低了控制器频繁响应中断的压力,释放出来的时间可用于控制器处理其他任务,可有效提高多对保护组同时发生故障时的保护倒换性能,大大提高了保护倒换的效率。
[0019] 结合第二方面,在第二方面第一实施方式中,还包括连通性检测模块,用于检测所述工作链路的故障信息,并将所述工作链路的故障信息推送到所述预存内存区模块。
[0020] 结合第二方面或第二方面第一实施方式,在第二方面第二实施方式中,还包括业务转发模块,用于接收所述运算执行模块发出的倒换决策,并根据所述倒换决策,将业务报文按选择的主用或备用通道格式进行封装,并选择对应的保护链路端口将业务报文转发出去,使工作链路上的业务流转至保护链路上运行。

附图说明

[0021] 通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0022] 图1为本发明一个实施例的保护倒换的优化方法的流程图;
[0023] 图2为本发明中未设置预存内存区模块的装置的保护倒换处理逻辑图;
[0024] 图3为本发明中设置预存内存区模块的装置的保护倒换处理逻辑图;
[0025] 图4为本发明中多保护任务的装置的保护倒换时空图;
[0026] 图5为本发明中单个保护任务的装置的保护倒换时空图。

具体实施方式

[0027] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028] 图1是本发明一个实施例的保护倒换的优化方法的流程图,通过该优化方法以降低保护倒换的时间,提高效率,该优化方法,包括当两网络节点之间的工作链路出现故障时,屏蔽故障信息以防其直接被控制器读取;屏蔽故障信息的同时,将所述故障信息发送至预设内存区;屏蔽故障信息直至预设时间后,读取所述预设内存区内的故障信息;根据所述故障信息,所述控制器执行保护任务,用于将两网络节点之间的工作链路切换为保护链路;具体地,所述工作链路的个数为N个,N为不小于1的自然数,N个工作链路对应N个保护链路,N个保护链路组成保护组,N个保护链路同时发生故障。
[0029] 上述优化方法,当工作链路出现故障,直接屏蔽故障信息以防其直接被控制器读取,将故障信息发送至预设内存区,控制器直接从预设内存区中读取故障中断相关信息(也即故障信息),读取速度快;同时,屏蔽故障信息直至预设时间后,才从预设内存区内读取故障信息,这样可以批量处理所有的故障信息,不会丢中断,优化控制器响应N个中断的过程为只响应一次中断,有效降低了控制器频繁响应中断的压力,释放出来的时间可用于控制器处理其他任务,可有效提高多对保护组同时发生故障时的保护倒换性能,大大提高了保护倒换的效率。
[0030] 作为可选的实施方式,还包括检测两网络节点之间的工作链路的故障信息的步骤,所述检测两网络节点之间的工作链路的故障信息的步骤,包括采用周期性的检测报文收发来确认工作链路的故障信息。例如,可采用CCM、BFD或LACP等机制。以CCM为例,利用连通性检测模块发送检测报文,发送检测报文的发包周期为T,要求在3.5*T时间内收不到检测报文,则认为发现了故障。从链路故障发生的那一刻开始算,所有故障上报的时间点,在区间[2.5*T—3.5*T]中随机分布。
[0031] 可选地,所述屏蔽所述预设内存区的故障信息至预设时间后,读取所述预设内存区内的故障信息的步骤,包括中断服务程序接受所述故障信息并关闭所述故障信息的直接传送路径,延时等待预设时间后,所述中断服务程序打开所述故障信息的间接传送路径,以读取所述预设内存区内的故障信息。具体地,中断服务程序为中断服务函数。本发明中,直接传送路径是指故障信号不经预设内存区直接传送至控制器的路径;间接传送路径是指故障信号经预设内存区传送至控制器的路径。
[0032] 具体地,所述预设时间为至少一个检测报文的发送周期;优选为一个检测报文的发送周期;所述预设内存区为DMA内存共享区;中断服务程序为中断服务函数,中断服务函数可为具有相应逻辑的可编程程序,在实际过程中,利用连通性检测模块和中断服务函数的交互机制,可提高故障检测的效率。如图3所示,在连通性检测模块和控制器间设置DMA内存共享区,连通性检测模块在检测到故障信息后,上报中断(也即消息1),同时将故障消息以约定格式推送到该DMA内存共享区中。中断服务函数可直接从该DMA内存共享区中读取故障中断相关信息,相比从连通检测模块获取故障中断信息的过程,从DMA内存共享区读取数据速度快的多。
[0033] 而如图2所示,不设置DMA内存共享区,链路检测机制由连通性检测模块完成,链路故障事件通过中断(也即消息1)的方式告知控制器进行处理。控制器收到链路故障事件输入,运转保护状态机,得到倒换决策(也即消息2),通知业务转发模块完成切换操作。业务转发模块根据倒换决策,将业务报文按选择的主用或备用通道格式进行封装,并选择对应的链路端口(如主用链路端口或备用链路端口)将报文转发出去,该方案在保护组对数较少时,可保障保护倒换的性能。但在保护组对数较多时,先收到故障输入的保护组的保护切换过程,会被后续上报的中断打断。连通性检测模块检测到中断后,告知控制器发生中断1;控制器的中断服务函数关中断、从连通性检测模块获取该故障中断信息、再打开中断。打开中断的同时在执行切换任务,若同时再收到中断2,则正在执行的中断1的任务切换被打断,转而读取中断2、执行中断2的切换任务。频繁的中断和任务切换,将严重影响保护倒换的性能。则N对保护组同时切换的耗时为O(N)。数据中心对通信网络的可靠性要求极高,需考虑更为便捷快速的链路保护策略。
[0034] 作为可选的实施方式,所述保护任务包括故障信息收集任务、保护状态机运行任务和倒换执行任务,所述故障信息收集任务、保护状态机运行任务和倒换执行任务在同一个保护任务中执行。通过将故障信息收集任务、保护状态机运行任务和倒换执行任务在同一个保护任务中执行,如此可减少了任务切换的耗时,提高保护倒换过程的执行效率。
[0035] 在实际过程中,采用单个保护任务实现故障收集、保护状态机运行、倒换决策执行;连通性检测模块检测到链路故障后,触发中断,并采用共享内存区向控制器推送链路故障信息;中断服务程序在收到链路故障中断后,屏蔽控制器的链路故障中断,延时一个检测报文的发送周期,再去共享内存区中读取所有的链路故障信息;保护任务基于获取到的链路故障信息,触发保护切换操作,实现通信链路的保护。该机制对保护倒换的流程进行优化,可有效提高多对保护组同时发生故障时的保护倒换性能。
[0036] 更具体地,如图4所示,图4为本发明中多保护任务的装置的保护倒换时空图,其中,中断服务函数、故障收集任务、保护状态机任务、倒换执行任务均由控制器实现;在单核控制器中,串行实现各个任务,任务切换时间为t_切换;一次保护倒换的流程,涉及到三个任务,需有两次任务切换,任务切换耗时较多。而图5中为提高保护倒换过程的执行效率,可将故障收集任务、保护状态机运行任务、倒换执行任务均放在一个保护任务中执行,如此可减少了任务切换的耗时。中断服务程序受中断驱动,若在周期T中持续响应N个中断,对控制器的中断处理有较大压力。若在T时间内发生N个链路中断事件,则所有N个故障消息均可推送到DMA中。中断服务程序在收到链路故障中断后,屏蔽控制器的链路故障中断,等待一个周期T后,打开链路故障中断,批量读取处理共享内存区的所有链路故障信息,减少了任务切换的耗时。
[0037] 可选地,在单核控制器中,根据图5,N对保护组保护倒换的时间为(N*t_中断服务函数)+(N*t_保护任务),考虑将(N*t_中断服务函数)+(N*t_保护任务)优化的方法,将该过程O(N)的复杂度优化为O(1)。连通性检测模块可实现在周期T中检测到N条链路发生了故障,上报N次中断。中断服务函数在收到中断后,将链路故障中断关闭,延时等待T时间后,再将链路故障中断打开。读取N个链路故障信息的时间固定为(T+t_共享内存读取),与保护组对数N无关。优化控制器响应N个中断的过程为只响应一次中断,有效降低了控制器频繁响应中断的压力,释放出来的T时间控制器可处理其他任务。
[0038] 可选地,所述根据所述故障信息,所述控制器执行保护任务,用于将两网络节点之间的工作链路切换为保护链路的步骤,包括收集所述预设内存区的故障信息;保护状态机运行所述故障信息,发出倒换决策;执行倒换决策,将两网络节点之间的工作链路切换为保护链路。
[0039] 图3为本发明中设置预存内存区模块的一种装置的保护倒换处理逻辑图;从图中可以看出,本实施例所提供的装置,包括预存内存区模块,用于接受并暂存工作链路的故障信息;控制器,包括读取模块及运算执行模块,所述读取模块用于屏蔽所述故障信息至预设时间后,读取所述预存内存区模块内的故障信息;所述运算执行模块用于根据所述故障信息执行保护任务,用于将两网络节点之间的工作链路切换为保护链路。
[0040] 上述装置中,当工作链路出现故障,读取模块直接屏蔽故障信息以防其直接被控制器读取,将故障信息发送至预存内存区模块,控制器直接从预存内存区模块中读取故障中断相关信息(也即故障信息),读取速度快;同时,屏蔽故障信息直至预设时间后,才从预存内存区模块内读取故障信息,这样可以批量处理所有的故障信息,不会丢中断,优化控制器响应N个中断的过程为只响应一次中断,有效降低了控制器频繁响应中断的压力,释放出来的时间可用于控制器处理其他任务,可有效提高多对保护组同时发生故障时的保护倒换性能,大大提高了保护倒换的效率。
[0041] 作为可选的实施方式,还包括连通性检测模块,用于检测所述工作链路的故障信息,并将所述工作链路的故障信息推送到所述预存内存区模块。
[0042] 作为可选的实施方式,还包括业务转发模块,用于接收所述运算执行模块发出的倒换决策,并根据所述倒换决策,将业务报文按选择的主用或备用通道格式进行封装,并选择对应的保护链路端口将业务报文转发出去,使工作链路上的业务流转至保护链路上运行。
[0043] 在N对保护组时,先收到故障输入的保护组的保护切换过程,会被后续上报的中断打断,若中断处理不及时,会有中断丢失的问题。上述装置采用中断服务程序在收到链路故障中断后,屏蔽控制器的链路故障中断,等待一个周期T后,打开链路故障中断,批量读取处理共享内存区的所有链路故障信息,不会丢中断。同时在N对保护组时,若在周期T中持续响应N个中断,则N对保护组同时切换的时间复杂度为O(N),对控制器的中断处理有较大压力。上述装置采用检测到一个链路故障中断后,屏蔽链路故障中断,等待一个周期T后,打开链路故障中断,集中处理共享内存区的所有链路故障信息,时间复杂度为O(1)。
[0044] 另外,上述装置中的读取模块可存储有中断服务函数的存储器,运算执行模块可为处理器,其中处理器和存储器可以通过总线或者其他方式连接。
[0045] 处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0046] 存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述保护倒换的优化方法。
[0047] 存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。
[0048] 虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。