一种多点故障处理方法及装置与流程

文档序号:12491230阅读:465来源:国知局
一种多点故障处理方法及装置与流程

本发明涉及计算机技术,特别涉及一种多点故障处理方法及装置。



背景技术:

在基于高级电信计算架构(Advanced Telecommunications Computing Architecture,ATCA)的插箱系统中,通常会设置多个机架,每个机架中布置有多个机框(具体如图1所示),一个机框内的主板上通常设置有多个槽位(如,14槽,具体如图2所示),每个槽位内插有单板,机框内部会针对各个槽位定义逻辑功能,如,进行全局管理的全局单板,进行数据交换的交换板等等。机框间会通过交换板进行互连,保证机框间的通信和数据传输。

标准的ATCA架构虽然定义了机框的互连规范,但是对于如何提供系统的可用性,并没有特定的方法句号。为了保证系统的高可用性,高可靠性,通常会针对每种类型的单板设置冗余备份机制,以防止单板故障引起的单点故障导致的系统无法正常运行。例如,参阅图3所示,通常情况下,会在一个机框内的7槽和8槽中设置有两个交换板,互为主备关系,以防止单板故障;进一步地,两个交换板会分别和其他槽位单板的控制面主备端口连接,以及分别和其他槽位单板的业务面主备端口连接,用于实现机框间的通信和数据传输。同样在多机框系统的机框间互连互通时,用于互连互通的端口也设置有备用端口进行连接来提供冗余备份机制。

通常的系统设计,针对系统中的单点故障,都会设计故障的恢复处理方案,即进行主备快速切换;但是针对多个故障点同时或先后出现时,由于异常处理情况较多,如果按照多个单点故障独立进行处理,可能存在多个单点故障处理结果冲突,导致设备反复切换,从而引发乒乓效应或系统死锁的情况。尤其当 两个或多个故障条件同时产生时,如果均都按照单点故障的处理方案和流程进行处理,最后的结果往往导致系统不可恢复。

例如,7槽交换板检测到一起单点故障后,切换至8槽交换板,而8槽交换板也检测到一起单点故障,又切换回7槽交换板,7槽交换板再次检测到一起单点故障后,又切换至8槽交换板,显示,这样很容易导引设备的反复切换,从而导致乒乓效应。

现有技术下,由于多个故障点产生的位置和时间等组合条件过于复杂,针对多点故障很难设计出完善的自动处理方案;只能依赖设备的维护管理人员根据多个故障点的情况人工判断,从而进行故障排除处理。人工判断和处理,需要在近端或维护台进行判断和操作,如果没有值班人员,故障往往要很长时间才可以排除,非常影响系统设备的正常工作时间和故障恢复时间的指标。



技术实现要素:

本发明实施例提供一种多点故障的处理方法及装置,用以避免因多点故障而造成的系统设备反复切换,避免造成乒乓效应或系统死锁。

本发明实施例提供的具体技术方案如下:

一种多点故障的处理方法,包括:

第一交换板按照预设的端口分类模式,分别对本地每一种端口类进行故障检测,筛选出处于正常状态的端口类;其中,一个端口类中包含的各个端口具有相同的操作属性;

第一交换板分别获取对应筛选出的每一种处于正常状态的端口类预设的状态权值,并计算出第一状态权值总和,以及获取第二交换板对应的第二状态权值总和,其中,第一交换板与第二交换板互为主备关系,所述第二状态权值总和表征所述第二交换板上处于正常状态的各个端口类对应的状态权值的加和;

第一交换板将第一状态权值总和与第二状态权值总和进行比较,并根据比 较结果将取值大的一方对应的交换板作为主交换板。

较佳的,第一交换板按照预设的端口分类模式,分别对本地每一类端口进行故障检测,包括:

第一交换板接收到指令时,分别对本地每一种端口类进行故障检测;或者,

第二交换板按照设定的第一扫描周期,分别对本地每一种端口类进行故障检测。

较佳的,第一交换板筛选出处于正常状态的端口类,包括:

第一交换板分别判断每一种端口类中发生故障的端口数目是否达到相应的故障门限,筛选出发生故障的端口数目未达到相应的故障门限的端口类作为正常状态的端口类。

较佳的,第一交换板筛选出处于正常状态的端口类后,计算出所述第一状态权值总和之前,进一步包括:

第一交换板判断是否存在发生故障的端口数目达到相应的故障门限的端口类,确定存在时,判定发生多点故障,则确定开始计算所述第一状态权值总和。

较佳的,进一步包括:

在预处理阶段,分别设置每一种端口类的优先级,并分别按照每一种端口类的优先级设置相应的状态权值,以及分别设置每一种端口类对应的端口数目的故障门限,其中,不同优先级的端口类对应的状态权值之间进行数量级隔离区分。

较佳的,第一交换板将第一状态权值总和与第二状态权值总和进行比较,并根据比较结果将取值大的一方对应的交换板作为主交换板,包括:

若第一交换板为主交换板,则第一交换板将第一状态权值总和与第二状态权值总和进行比较,若前者大于后者,则维持第一交换板为主交换板,并进行告警;若前者小于后者,则在第一交换板和第二交换板之间进行主备交换;

若第一交换板为备交换板,则第一交换板将第一状态权值总和与第二状态 权值总和进行比较,若前者大于后者,则在第一交换板和第二交换板之间进行备主交换,若后者大于前者,则维持第二交换板为主交换板,并进行告警。

一种多点故障的处理装置,包括:

第一处理模块,用于按照预设的端口分类模式,分别对本地每一种端口类进行故障检测,筛选出处于正常状态的端口类;其中,一个端口类中包含的各个端口具有相同的操作属性;

计算模块,用于分别获取对应筛选出的每一种处于正常状态的端口类预设的状态权值,并计算出第一状态权值总和,以及获取另一交换板对应的第二状态权值总和,其中,所述装置与所述另一交换板互为主备关系,所述第二状态权值总和表征所述另一交换板上处于正常状态的各个端口类对应的状态权值的加和;

第二处理模块,用于对第一状态权值总和与第二状态权值总和进行比较,并根据比较结果执行相应的故障处理。

较佳的,按照预设的端口分类模式,分别对本地每一类端口进行故障检测时,所述第一处理模块用于:

接收到指令时,分别对本地每一种端口类进行故障检测;或者,

按照设定的第一扫描周期,分别对本地每一种端口类进行故障检测。

较佳的,筛选出处于正常状态的端口类时,所述第一处理模块用于:

分别判断每一种端口类中发生故障的端口数目是否达到相应的故障门限,筛选出发生故障的端口数目未达到相应的故障门限的端口类作为正常状态的端口类。

较佳的,筛选出处于正常状态的端口类后,计算出所述第一状态权值总和之前,所述第一处理模块进一步用于:

判断是否存在发生故障的端口数目达到相应的故障门限的端口类,确定存在时,判定发生多点故障,则通知所述计算模块开始计算所述第一状态权值总和。

较佳的,进一步包括:

配置模块,用于在预处理阶段,分别设置每一种端口类的优先级,并分别按照每一种端口类的优先级设置相应的状态权值,以及分别设置每一种端口类对应的端口数目的故障门限,其中,不同优先级的端口类对应的状态权值之间进行数量级隔离区分。

较佳的,将第一状态权值总和与第二状态权值总和进行比较,并根据比较结果将取值大的一方对应的交换板作为主交换板时,所述第二处理模块用于:

若所述装置为主交换板,则将第一状态权值总和与第二状态权值总和进行比较,若前者大于后者,则维持所述装置为主交换板,并进行告警;若前者小于后者,则在所述装置和另一交换板之间进行主备交换;

若所述装置为备交换板,则将第一状态权值总和与第二状态权值总和进行比较,若前者大于后者,则在所述装置和另一交换板之间进行备主交换,若后者大于前者,则维持另一交换板为主交换板,并进行告警。

本发明实施例中,第一交换板在进行多点故障处理时,需要对端口进行预先分类,并按照端口类分别进行故障检测,以及根据正常状态的端口类对应的状态权值,计算本地的第一状态权值总和,再将第一状态权值总和与第二交换板的第二状态权值总和进行比较,选取取值大的一方对应的交换板做为主交换板;由于状态权值可以反映交换板的整个工作状态,因此,多点故障产生时,可以迅速选取当前工作状态更好的交换板作为主交换板,从而可以防止单板乒乓切换或系统死锁,令系统可用性达到最大化。

附图说明

图1为现有技术下机架示意图;

图2为现有技术下机框槽位示意图;

图3为现有技术下交换板连接关系示意图;

图4为本发明实施例中多点故障的处理方法示意流程图;

图5为本发明实施例中多点故障的处理方法详细流程图;

图6为本发明实施例中交换板功能结构示意图。

具体实施方式

为了避免因多点故障而造成的系统设备反复切换,避免造成乒乓效应或系统死锁。本发明实施例中,交换板以用于数据收发的端口为故障对象,按照端口的操作属性对各个端口进行分类,每一种端口类中包含的端口数目至少为2,而在运行阶段,交换板以端口类为单位进行故障检测,并基于主备交换板中各自处于正常状态的端口类所占的比重,判定是否需要在主备交换板之间进行切换。

下面结合附图对本发明优选的实施方式进行详细说明。

本发明实施例中,在预处理阶段,系统是按照端口的操作属性对各个端口进行分类的,而操作属性可以存在多种设置方式,较佳的,可以结合端口的用途〔如,业务面(fabric面)端口、控制面(base面)端口〕和数据传输方式(如、上行端口、下行端口等等)来对各个端口进行分类。不同的端口类相对于系统而言其重要性也不同,因此,在分类结束后,可以按照各个端口类相对于系统的重要性分别设置每一种端口类的优先级,并分别按照每一种端口类的优先级设置相应的状态权值,一个端口类的状态权值表示这一端口类处于“正常状态”对系统而言的重要程度。进一步地,还可以分别设置每一种端口类对应的端口数目的故障门限,即每一种端口类中发生故障的端口达到一定数目时,才确定这一端口类处于非正常状态。

较佳的,参阅表1所示,按照端口的操作属性进行分类后的分类结果如下:

表1

从表1可以看出,划分了9个端口类,每一种端口类中包含的端口数目至少为2,另外,从系统重要性的角度设定了各个端口类的状态权值,以及各个端口类的故障门限。例如:如表1所示,在交换板base面上行端口这一端口类下,设置有2个端口,故障门限为2,其状态权值为0x10000,表示存在2个交换板base面上行端口,且只有这两个端口都故障时,才表示交换板base面上行端口这一端口类处于非正常状态。本实施例中,以端口类中包含至少2个端口为例进行说明,但不限于此。

基于上述配置方式,参阅图4所示,本发明实施例中,对多点故障进行处 理的流程如下:

步骤400:第一交换板按照预设的端口分类模式,分别对本地每一种端口类进行故障检测,筛选出处于正常状态的端口类;其中,一个端口类中包含的各个端口具有相同的操作属性。

当第一交换板在进行故障检测时,会判断每一种端口类中发生故障的端口数目是否达到相应的故障门限,筛选出发生故障的端口数目未达到相应的故障门限的端口类作为正常状态的端口类;相应的,而发生故障的端口数目达到相应的故障门限的端口类作为非正常状态的端口类。

进一步地,在执行步骤400时,第一交换板可以在接收到指令时,分别对本地每一种端口类进行故障检测,这样,第一交换板可以根据管理人员的指令启动故障检测,适用于故障不频发的系统。当然,第二交换板也可以按照设定的第一扫描周期,分别对本地每一种端口类进行故障检测,这样,第一交换板可以定期进行多点故障检测,节省时间成本,适用于故障频发的系统。

步骤410:第一交换板分别获取对应筛选出的每一种处于正常状态的端口类预设的状态权值,并计算出第一状态权值总和,以及获取第二交换板对应的第二状态权值总和,其中,第一交换板与第二交换板互为主备关系,而第二状态权值总和表征第二交换板上处于正常状态的各个端口类对应的状态权值的加和。

本发明实施例中,第一交换板会提取出正常状态的端口类对应的状态权值进行加和,从而获得第一状态权值总和,而第二交换板会采用相同方式得到第二状态权值总和,第一交换板和第二交换板会定时进行信息同步。

步骤420:第一交换板对第一状态权值总和与第二状态权值总和进行比较,并根据比较结果执行相应的故障处理。

具体的,在执行步骤420时,可以采用但不限于以下方式:

若第一交换板为主交换板,则第一交换板根据比较结果判断第一状态权值总和是否大于第二状态权值总和,若是,则进行告警,即主交换板发生多点故 障;否则,在第一交换板和第二交换板之间进行主备交换,即将第二交换板作为新的主交换板,而第一交换板作为备交换板。

若第一交换板为备交换板,则第一交换板根据比较结果判断第一状态权值总和是否大于第二状态权值总和,若是,则在第一交换板和第二交换板之间进行备主交换,即将第一交换板作为新的主交换板,而第二交换板作为备交换板;否则,进行告警,即备交换板发生多点故障。

本发明实施例中,第一交换板和第二交换板可以理解为如图3所示的位于7槽和8槽的交换板卡,负责框内的节点槽位的通信故障检测切换和框间级连的通信端口的故障检测切换,第一交换板和第二交换板为主备关系,主备关系通过硬件主备竞争装置确认,产生多点故障时,通过状态权值总和的比较可以判断主备关系是否需要发生变化,状态权值总和大的作为主交换板,状态权值总和小的作为备交换板,如果,状态权值总和的大小比较结果与当前的主备关系不一致,则进行切换处理,否则,维持当前主备关系,如果状态权值总和相等,则维持当前的主备关系,不做切换处理。

基于上述实施例,参阅表1所示,进一步地,本发明实施例中,较佳的,不同优先级的端口类对应的状态权值之间进行数量级隔离区分,从而保证低优先级的端口类的状态权值总和小于高优先级的端口类的状态权值,这样设置,是为了在高优先级的端口类处于非正常状态时,即使其余低优先级的端口类均处于正常状态,最后的状态权值总和也不会过高,从而不会选择高优先级的端口类所在的交换板为主交换板,有利于准确地进行故障定位。

如表1所示,本发明实施例中,交换板base面上行端口的优先级>交换板fabric面上行端口的优先级>交换板base面下行各类端口的优先级>交换板fabric平面下行各类端口的优先级。这样配置,是为了当同时存在上行端口故障和下行端口故障时,优先保证上行端口工作,而当同时存在控制面框间级连端口故障和和业务面框间级连端口故障时,优先保证控制面工作。

例如:参阅表2所示,在多次进行多点故障检测时,上行base故障和上行 fabric故障同时产生时,应保证上行base正常的交换板作为主用,便于问题定位;下行base故障和上行fabric故障同时产生,应保证下行fabric正常的交换板作为主用,便于问题定位;下行base故障和下行fabric故障同时产生,应保证一行base正常的交换板作为主用,便于问题定位

表2

同时,在设置表1所示的信息时,根据具体的应用环境不同,还可以设

置很多限制条件。例如:交换板的外围节点板对应的端口的状态权值一致。又例如:将1架1框的交换板作为汇聚节点,框间级连端口均作为下行端口处理。又例如:其他框架级连端口按照网络拓扑的树型拓扑确认端口的上行和下行属性。以上仅为举例,不再赘述。

参阅图5所示,下面通过一个具体的应用场景对上述实施例作出进一步详细说明。

步骤500:在到达多点故障处理的定时处理时间点时,第一交换板分别对 每一种端口类中包含的端口进行故障检测。

步骤501:判断是否存在多点故障?若是,则执行步骤502;否则,结束当前流程。

实际应用中,单点故障与多点故障的处理动作是不相同的,本发明实施例中,为了避免处理流程冲突,需要根据故障检测结果判断是否为单点故障。

所谓单点故障为单个端口故障,单个端口故障的处理动作为端口切换,即当前端口发生故障,则工作端口切换至当前端口的备份端口。

而所谓多点故障则是一种端口类中发生故障的端口数目达到相应的故障门限。多点故障有可能会触发单板切换,即当前单板故障,则工作单板由当前单板切换至当前单板的备份单板。

即时是触发了多点故障处理的流程,也有可能在故障检测中出现仅仅检测到单点故障的情况,若存在这种情况则只按照单点故障进行处理,不会触发多点故障处理流程,以便节省开销。

步骤502:第一交换板基于本地处于正常状态的端口类对应的状态权值,计算第一状态权值总和。

步骤503:第一交换板通过板间同步获得第二交换板的第二状态权值总和。

步骤504:判断第一交换状态权值总和是否等于第二交换状态权值总和,若是,则执行步骤510;否则,执行步骤505。

步骤505:判断第一交换状态权值总和是否大于第二交换状态权值总和;若是,则执行步骤506;否则,执行步骤508。

步骤506:判断第一交换板是否为主用?若是,则执行步骤510;否则,执行步骤507。

步骤507:执行主备切换-备升主操作,将第一交换板替换第二交换板作为新的主交换板。

步骤508:判断第一交换板是否为主用?若是,则执行步骤509;否则,执行步骤510。

步骤509:执行主备切换-主降备操作,将第一交换板替换第二交换板作为新的备交换板。

步骤510:判定无需执行主备切换操作,直接上报告警,报告第一交换板存在多点故障。

基于上述实施例,参阅图6所示,本发明实施例中,用于处理多点故障的本装置(如,交换板)至少包括第一处理模块60、计算模块61和第二处理模块62,其中,

第一处理模块60,用于按照预设的端口分类模式,分别对本地每一种端口类进行故障检测,筛选出处于正常状态的端口类;其中,一个端口类中包含的各个端口具有相同的操作属性;

计算模块61,用于分别获取对应筛选出的每一种处于正常状态的端口类预设的状态权值,并计算出第一状态权值总和,以及获取另一交换板对应的第二状态权值总和,其中,本装置与另一交换板互为主备关系,第二状态权值总和表征另一交换板上处于正常状态的各个端口类对应的状态权值的加和;

第二处理模块62,用于对第一状态权值总和与第二状态权值总和进行比较,并根据比较结果执行相应的故障处理。

较佳的,按照预设的端口分类模式,分别对本地每一类端口进行故障检测时,第一处理模块60用于:

接收到指令时,分别对本地每一种端口类进行故障检测;或者,

按照设定的第一扫描周期,分别对本地每一种端口类进行故障检测。

较佳的,筛选出处于正常状态的端口类时,第一处理模块60用于:

分别判断每一种端口类中发生故障的端口数目是否达到相应的故障门限,筛选出发生故障的端口数目未达到相应的故障门限的端口类作为正常状态的端口类。

较佳的,筛选出处于正常状态的端口类后,计算出第一状态权值总和之前,第一处理模块60进一步用于:

判断是否存在发生故障的端口数目达到相应的故障门限的端口类,确定存在时,判定发生多点故障,则通知计算模块开始计算第一状态权值总和。

较佳的,进一步包括:

配置模块63,用于在预处理阶段,分别设置每一种端口类的优先级,并分别按照每一种端口类的优先级设置相应的状态权值,以及分别设置每一种端口类对应的端口数目的故障门限,其中,不同优先级的端口类对应的状态权值之间进行数量级隔离区分。

较佳的,将第一状态权值总和与第二状态权值总和进行比较,并根据比较结果将取值大的一方对应的交换板作为主交换板时,第二处理模块62用于:

若本装置为主交换板,则将第一状态权值总和与第二状态权值总和进行比较,若前者大于后者,则维持本装置为主交换板,并进行告警;若前者小于后者,则在本装置和另一交换板之间进行主备交换;

若本装置为备交换板,则将第一状态权值总和与第二状态权值总和进行比较,若前者大于后者,则在本装置和另一交换板之间进行备主交换,若后者大于前者,则维持另一交换板为主交换板,并进行告警。

本发明实施例中,为了防止单板的反复切换,乒乓处理,第一交换板在进行多点故障处理时,需要对端口进行预先分类,并按照端口类分别进行故障检测,以及根据正常状态的端口类对应的状态权值,计算本地的第一状态权值总和,再将第一状态权值总和与第二交换板的第二状态权值总和进行比较,选取取值大的一方对应的交换板做为主交换板;由于状态权值可以反映交换板的整个工作状态,因此,多点故障产生时,可以迅速选取当前工作状态更好的交换板作为主交换板,从而可以防止单板乒乓切换或系统死锁,令系统可用性达到最大化。

另一方面,本发明实施例还可以实现兼容单点故障实时处理,令单点故障和多点故障有效区分和隔离,

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计 算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1