一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种集群故障处理方法及装置与流程

2021-12-15 01:14:00 来源:中国专利 TAG:


1.本技术涉及通信技术领域,特别是涉及一种集群故障处理方法及装置。


背景技术:

2.核心路由器集群是一种虚拟化技术,可以将多台核心路由器虚拟化成一个集群。基于此,可以集合多台核心路由器的硬件资源和软件处理能力,实现多台核心路由器协同工作和统一管理。集群中的成员设备可以包括:lcc(line card chassis,线卡框)和fcc(fabric card chassis,交换框)。另外,集群中还可以包括ccu(control card unit,控制交换单元)。
3.参见图1,图1所示的集群包括:fcc1、fcc2、ccu1、ccu2、lcc1和lcc2。当该集群发生网络故障,例如,ccu1与ccu2之间的链路断开时,该集群会分裂为两部分。若该两部分同时工作,则网络中会存在标识相同的两个集群,导致网络业务出错。
4.因此,亟需一种集群故障处理方法,以避免网络业务出错。


技术实现要素:

5.本技术实施例的目的在于提供一种集群故障处理方法及装置,能够在一定程度上避免网络业务出错。具体技术方案如下:
6.第一方面,为了达到上述目的,本技术实施例公开了一种集群故障处理方法,所述方法应用于第一成员设备,所述第一成员设备为集群中的任一成员设备,所述方法包括:
7.当检测到所述集群中存在处于第一指定状态的第二成员设备时,确定包含所述第二成员设备的第一成员设备组;其中,所述第一指定状态表示与所述第一成员设备之间拓扑不可达;
8.确定包含所述第一成员设备和处于第二指定状态的第三成员设备的成员设备组,作为第二成员设备组;其中,所述第二指定状态表示与所述第一成员设备之间路由可达;
9.对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态;其中,所述运行状态为工作状态或挂起状态。
10.可选的,在所述对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态之前,所述方法还包括:
11.判断所述第二成员设备组是否具备预设的集群接管条件;
12.若所述第二成员设备组不具备所述集群接管条件,则将所述第一成员设备切换为挂起状态;
13.所述对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态,包括:
14.在所述第二成员设备组具备所述集群接管条件的情况下,对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态。
15.可选的,所述对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态,包括:
16.对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,得到所述第一成员设备组的接管优先级,以及所述第二成员设备组的接管优先级;
17.基于所述第一成员设备组的接管优先级,以及所述第二成员设备组的接管优先级,确定所述第一成员设备的运行状态。
18.可选的,所述基于所述第一成员设备组的接管优先级,以及所述第二成员设备组的接管优先级,确定所述第一成员设备的运行状态,包括:
19.判断所述第二成员设备组的接管优先级,是否高于所述第一成员设备组的接管优先级;
20.若是,则确定所述第一成员设备为工作状态;
21.若否,则判断所述第一成员设备组中的线卡框lcc,与所述第二成员设备组中各成员设备之间的数据通道是否均为断开状态;若是,则确定所述第一成员设备为工作状态;若否,则将所述第一成员设备切换为挂起状态。
22.可选的,在所述判断所述第二成员设备组是否具备预设的集群接管条件之前,所述方法还包括:
23.判断所述第二成员设备组是否满足第一预设条件,且满足第二预设条件;
24.其中,所述第一预设条件为:所述第一成员设备组中的lcc,与所述第二成员设备组中各成员设备之间的数据通道均为断开状态;所述第二预设条件包括:不具备所述集群接管条件;或者,具备所述集群接管条件,且所述第二成员设备组的接管优先级高于所述第一成员设备组的接管优先级;
25.所述判断所述第二成员设备组是否具备预设的集群接管条件,包括:
26.在不满足所述第一预设条件,且满足所述第二预设条件的情况下,当所述第二成员设备处于所述第一指定状态的时长达到第一预设时长时,判断所述第二成员设备组是否具备预设的集群接管条件;
27.在不满足所述第一预设条件,且不满足所述第二预设条件的情况下,当所述第二成员设备处于所述第一指定状态的时长达到第二预设时长时,判断所述第二成员设备组是否具备预设的集群接管条件;
28.其中,所述第二预设时长不小于所述第一预设时长;所述第二预设时长为基于所述第一预设时长、以及所述第二成员设备组中的fcc的最小设备编号确定的。
29.可选的,所述集群接管条件,包括:
30.包含lcc,且包含交换框fcc;
31.或,
32.包含lcc,且包含当前的主用成员设备。
33.可选的,在所述当检测到所述集群中存在处于第一指定状态的第二成员设备时,确定包含所述第二成员设备的第一成员设备组之前,所述方法还包括:
34.当检测到所述集群中存在处于第三指定状态的第四成员设备时,确定包含所述第四成员设备的第三成员设备组;其中,所述第三指定状态表示与所述第一成员设备之间拓扑可达,且路由不可达;
35.在所述集群中,确定与所述第三成员设备组中的成员设备之间路由可达的成员设备,得到路由可达成员设备组;
36.基于所述第二成员设备组的接管优先级,以及所述路由可达成员设备组的接管优先级,得到处于所述第一指定状态的成员设备。
37.可选的,所述基于所述第二成员设备组的接管优先级,以及所述路由可达成员设备组的接管优先级,得到处于所述第一指定状态的成员设备,包括:
38.判断所述第二成员设备组的接管优先级,是否高于所述路由可达成员设备组的接管优先级;
39.若是,断开所述第二成员设备组与所述第三成员设备组之间的控制通道,以使所述第三成员设备组中的成员设备处于所述第一指定状态;
40.若否,断开目标成员设备组与所述路由可达成员设备组之间的控制通道,以使所述路由可达成员设备组中的成员设备处于所述第一指定状态;其中,所述目标成员设备组表示所述第二成员设备组与所述路由可达成员设备组的差值。
41.可选的,一个成员设备组的接管优先级为基于预设优先级参数,并按照所述预设优先级参数对应的指定顺序确定的;
42.所述预设优先级参数包括:该成员设备组是否具备预设的集群接管条件、该成员设备组是否包含当前的主用成员设备、该成员设备组中的lcc的数目、该成员设备组中的fcc的数目,以及该成员设备组中的成员设备的最小设备编号。
43.第二方面,为了达到上述目的,本技术实施例公开了一种集群故障处理装置,所述装置应用于第一成员设备,所述第一成员设备为集群中的任一成员设备,所述装置包括:
44.第一成员设备组确定模块,用于当检测到所述集群中存在处于第一指定状态的第二成员设备时,确定包含所述第二成员设备的第一成员设备组;其中,所述第一指定状态表示与所述第一成员设备之间拓扑不可达;
45.第二成员设备组确定模块,用于确定包含所述第一成员设备和处于第二指定状态的第三成员设备的成员设备组,作为第二成员设备组;其中,所述第二指定状态表示与所述第一成员设备之间路由可达;
46.运行状态确定模块,用于对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态;其中,所述运行状态为工作状态或挂起状态。
47.可选的,所述装置还包括:
48.第一判断模块,用于在所述对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态之前,判断所述第二成员设备组是否具备预设的集群接管条件;
49.切换模块,用于若所述第二成员设备组不具备所述集群接管条件,则将所述第一成员设备切换为挂起状态;
50.所述运行状态确定模块,具体用于在所述第二成员设备组具备所述集群接管条件的情况下,对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态。
51.可选的,所述运行状态确定模块,包括:
52.接管优先级确定子模块,用于对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,得到所述第一成员设备组的接管优先级,以及所述第二成员设备组的接管优先级;
53.运行状态确定子模块,用于基于所述第一成员设备组的接管优先级,以及所述第二成员设备组的接管优先级,确定所述第一成员设备的运行状态。
54.可选的,所述运行状态确定子模块,具体用于判断所述第二成员设备组的接管优先级,是否高于所述第一成员设备组的接管优先级;
55.若是,则确定所述第一成员设备为工作状态;
56.若否,则判断所述第一成员设备组中的线卡框lcc,与所述第二成员设备组中各成员设备之间的数据通道是否均为断开状态;若是,则确定所述第一成员设备为工作状态;若否,则将所述第一成员设备切换为挂起状态。
57.可选的,所述装置还包括:
58.第二判断模块,用于在所述判断所述第二成员设备组是否具备预设的集群接管条件之前,判断所述第二成员设备组是否满足第一预设条件,且满足第二预设条件;
59.其中,所述第一预设条件为:所述第一成员设备组中的lcc,与所述第二成员设备组中各成员设备之间的数据通道均为断开状态;所述第二预设条件包括:不具备所述集群接管条件;或者,具备所述集群接管条件,且所述第二成员设备组的接管优先级高于所述第一成员设备组的接管优先级;
60.所述第一判断模块,具体用于在不满足所述第一预设条件,且满足所述第二预设条件的情况下,当所述第二成员设备处于所述第一指定状态的时长达到第一预设时长时,判断所述第二成员设备组是否具备预设的集群接管条件;
61.在不满足所述第一预设条件,且不满足所述第二预设条件的情况下,当所述第二成员设备处于所述第一指定状态的时长达到第二预设时长时,判断所述第二成员设备组是否具备预设的集群接管条件;
62.其中,所述第二预设时长不小于所述第一预设时长;所述第二预设时长为基于所述第一预设时长、以及所述第二成员设备组中的fcc的最小设备编号确定的。
63.可选的,所述集群接管条件,包括:
64.包含lcc,且包含交换框fcc;
65.或,
66.包含lcc,且包含当前的主用成员设备。
67.可选的,所述装置还包括:
68.第三成员设备组确定模块,用于在所述当检测到所述集群中存在处于第一指定状态的第二成员设备时,确定包含所述第二成员设备的第一成员设备组之前,当检测到所述集群中存在处于第三指定状态的第四成员设备时,确定包含所述第四成员设备的第三成员设备组;其中,所述第三指定状态表示与所述第一成员设备之间拓扑可达,且路由不可达;
69.路由可达成员设备组确定模块,用于在所述集群中,确定与所述第三成员设备组中的成员设备之间路由可达的成员设备,得到路由可达成员设备组;
70.处理模块,用于基于所述第二成员设备组的接管优先级,以及所述路由可达成员设备组的接管优先级,得到处于所述第一指定状态的成员设备。
71.可选的,所述处理模块,具体用于判断所述第二成员设备组的接管优先级,是否高于所述路由可达成员设备组的接管优先级;
72.若是,断开所述第二成员设备组与所述第三成员设备组之间的控制通道,以使所述第三成员设备组中的成员设备处于所述第一指定状态;
73.若否,断开目标成员设备组与所述路由可达成员设备组之间的控制通道,以使所述路由可达成员设备组中的成员设备处于所述第一指定状态;其中,所述目标成员设备组表示所述第二成员设备组与所述路由可达成员设备组的差值。
74.可选的,一个成员设备组的接管优先级为基于预设优先级参数,并按照所述预设优先级参数对应的指定顺序确定的;
75.所述预设优先级参数包括:该成员设备组是否具备预设的集群接管条件、该成员设备组是否包含当前的主用成员设备、该成员设备组中的lcc的数目、该成员设备组中的fcc的数目,以及该成员设备组中的成员设备的最小设备编号。
76.在本技术实施的另一方面,为了达到上述目的,本技术实施例还公开了一种电子设备,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
77.所述存储器,用于存放计算机程序;
78.所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第一方面所述的集群故障处理方法。
79.在本技术实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的集群故障处理方法。
80.在本技术实施的又一方面,本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的集群故障处理方法。
81.本技术实施例有益效果:
82.本技术实施例提供的集群故障处理方法,应用于第一成员设备,第一成员设备为集群中的任一成员设备。当检测到集群中存在处于第一指定状态的第二成员设备时,确定包含第二成员设备的第一成员设备组;其中,第一指定状态表示与第一成员设备之间拓扑不可达;确定包含第一成员设备和处于第二指定状态的第三成员设备的成员设备组,作为第二成员设备组;其中,第二指定状态表示与第一成员设备之间路由可达;对第一成员设备组中的成员设备,与第二成员设备组中的成员设备进行比对,确定第一成员设备的运行状态;其中,运行状态为工作状态或挂起状态。
83.针对集群中的每一成员设备,其对应的第一成员设备组与该成员设备为集群分裂得到的不同部分,且该成员设备可以确定自身的运行状态,即,能够确定出分裂得到的不同部分中继续工作的部分,以及挂起的部分。且由于各个成员设备均基于相同的规则确定运行状态,各成员设备确定出的结果一致。因此,基于本申实施例提供的方法,能够确定出集群分裂得到的不同部分中继续工作的部分,以及挂起的部分,避免网络中存在标识相同的多个集群,进而,能够在一定程度上避免网络业务出错。
84.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
85.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
86.图1为本技术实施例提供的一种集群的架构图;
87.图2为本技术实施例提供的一种集群故障处理方法的流程图;
88.图3为本技术实施例提供的另一种集群故障处理方法的流程图;
89.图4为本技术实施例提供的一种状态转换示意图;
90.图5为本技术实施例提供的另一种集群故障处理方法的流程图;
91.图6为本技术实施例提供的另一种集群故障处理方法的流程图;
92.图7为本技术实施例提供的另一种集群故障处理方法的流程图;
93.图8为本技术实施例提供的一种集群故障处理装置的结构图;
94.图9为本技术实施例提供的一种电子设备的结构图。
具体实施方式
95.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。
96.本技术实施例提供了一种集群故障处理方法,该方法可以应用于第一成员设备,该第一成员设备为集群中的任一成员设备。该集群中的成员设备可以包括:lcc和fcc。也就是说,该集群中的每一成员设备,均可以基于本技术实施例提供的集群故障处理方法进行处理。
97.例如,若该集群为图1所示的集群,则当ccu1与ccu2之间的链路断开时,图1中fcc1、fcc2、lcc1和lcc2均可以基于本技术实施例提供的集群故障处理方法进行处理。
98.参见图2,图2为本技术实施例提供的一种集群故障处理方法的流程图,该方法可以包括以下步骤:
99.s201:当检测到集群中存在处于第一指定状态的第二成员设备时,确定包含第二成员设备的第一成员设备组。
100.其中,第一指定状态表示与第一成员设备之间拓扑不可达。
101.s202:确定包含第一成员设备和处于第二指定状态的第三成员设备的成员设备组,作为第二成员设备组。
102.其中,第二指定状态表示与第一成员设备之间路由可达。
103.s203:对第一成员设备组中的成员设备,与第二成员设备组中的成员设备进行比对,确定第一成员设备的运行状态。
104.其中,运行状态为工作状态或挂起状态。
105.针对集群中的每一成员设备,其对应的第一成员设备组与该成员设备为集群分裂得到的不同部分,且该成员设备可以确定自身的运行状态,即,能够确定出分裂得到的不同
部分中继续工作的部分,以及挂起的部分。且由于各个成员设备均基于相同的规则确定运行状态,各成员设备确定出的结果一致。因此,基于本申实施例提供的方法,能够确定出集群分裂得到的不同部分中继续工作的部分,以及挂起的部分,避免网络中存在标识相同的多个集群,进而,能够在一定程度上避免网络业务出错。
106.本技术实施例中,线卡框提供对外的网络接口,用于用户和业务的接入;交换框中不存在业务接口,负责控制平面跨框连接和数据平面跨框转发,使多台线卡框在逻辑上连接,实现网络流量跨框传输,以实现集群的统一控制和管理。
107.针对步骤s201,集群中每一成员设备可以建立该集群的链路状态拓扑,即,每一成员设备可以确定该集群包含的各成员设备,以及各成员设备之间的链路关系。另外,每一成员设备还可以获取针对其他每一成员设备的路由。
108.基于上述信息,第一成员设备可以确定集群中其他各成员设备相对自身的拓扑状态和路由状态,也就可以确定出处于第一指定状态的成员设备(即第二成员设备)。
109.例如,当集群中新增链路时,如果该链路所属的成员设备为首次出现在集群中,则可以生成该成员设备的状态(即新增该成员设备)。当集群中删除链路时,如果该链路是所属成员设备的最后一个链路,则可以更新该成员设备的状态(即删除该成员设备)。另外,针对某一成员设备,在生成其最优路由以及路由不可达时,均可以更新该成员设备的状态。
110.一种实现方式中,成员设备的状态可以包括init、active(活跃)、lost(丢失)和down(停止)。其中,init表示网络中当前不存在该成员设备;active表示正常工作状态;lost表示拓扑可达,且路由不可达。down表示拓扑不可达,即,上述第一指定状态。可以理解的是,若一个成员设备拓扑不可达,则路由也不可达;反之,若一个成员设备路由可达,则拓扑也可达。
111.参见图3,若lcc1与ccu1之间的链路断开,则对于lcc1而言,fcc1和fcc2均拓扑可达,且路由不可达。因此,对于lcc1而言,fcc1和fcc2为lost状态。
112.参见图4,图4为本技术实施例提供的一种状态转换示意图。
113.其中,一个成员设备当前为active状态,若该成员设备变为路由不可达,则状态变为lost;若该成员设备变为拓扑不可达,则状态变为down。
114.一个成员设备当前为lost状态,若该成员设备变为拓扑不可达,则状态变为down;若该成员设备变为路由可达,则状态变为active。
115.一个成员设备当前为down状态,若该成员设备从系统中删除,则状态变为init;若该成员设备变为路由可达,则状态变为active。
116.参见图1,图1中,若ccu1与ccu2之间的链路断开,则针对lcc1而言,fcc2和lcc2均为拓扑不可达的成员设备,也就是说,对于lcc1,其对应的第二成员设备包括fcc2和lcc2,即对应的第一成员设备组包括fcc2和lcc2。同理,对于fcc1,其对应的第二成员设备也包括fcc2和lcc2,即对应的第一成员设备组包括fcc2和lcc2。
117.相应的,对于fcc2,其对应的第二成员设备包括fcc1和lcc1,即对应的第一成员设备组包括fcc1和lcc1。同理,对于lcc2,其对应的第二成员设备包括fcc1和lcc1,即对应的第一成员设备组包括fcc1和lcc1。
118.针对步骤s202,第二指定状态表示上述active状态。
119.参见图1,图1中,若ccu1与ccu2之间的链路断开,则针对lcc1,fcc1为路由可达的
成员设备,也就是说,对于lcc1,其对应的第三成员设备包括fcc1,即对应的第二成员设备组包括lcc1和fcc1。同理,对于fcc1,其对应的第三成员设备包括lcc1,即对应的第二成员设备组包括lcc1和fcc1。
120.相应的,对于fcc2,其对应的第三成员设备包括lcc2,即对应的第二成员设备组包括lcc2和fcc2。对于lcc2,其对应的第三成员设备包括fcc2,即对应的第二成员设备组包括lcc2和fcc2。
121.针对步骤s203,运行状态为工作状态或挂起状态。
122.一种实现方式中,当确定一个成员设备为工作状态时,表明在集群分裂后,该成员设备需要继续正常工作,即,保持该成员设备的状态不变。
123.当确定一个成员设备为挂起状态时,表明在集群分裂后,该成员设备不需要继续正常工作。例如,针对fcc,则可以关闭(shutdown)其管理网口;针对lcc,则可以关闭其网络接口和数据通道端口。
124.在一个实施例中,参见图5,在图2的基础上,在上述步骤s203之前,该方法还可以包括以下步骤:
125.s204:判断第二成员设备组是否具备预设的集群接管条件。
126.s205:若第二成员设备组不具备集群接管条件,则将第一成员设备切换为挂起状态。
127.相应的,上述步骤s203可以包括:
128.s2031:在第二成员设备组具备集群接管条件的情况下,对第一成员设备组中的成员设备,与第二成员设备组中的成员设备进行比对,确定第一成员设备的运行状态。
129.在本技术实施例中,若第二成员设备组不具备集群接管条件,表明集群分裂后,该第一成员设备所属的部分无法接管集群,即,该第一成员设备所属的部分无法实现分裂前集群的功能。因此,集群分裂后,该第一成员设备不需要继续正常工作,该第一成员设备可以切换为挂起状态。
130.相应的,若第二成员设备组具备集群接管条件,则可以通过将第一成员设备组和第二成员设备组进行比对,以确定出更适合接管集群的部分。
131.在一个实施例中,上述集群接管条件,包括:
132.包含lcc,且包含fcc;
133.或,
134.包含lcc,且包含当前的主用成员设备。
135.一种实现方式中,当判定一个成员设备组既包含线卡框,又包含交换框时,可以确定该成员设备组具备集群接管条件。
136.另一种实现方式中,当判定一个成员设备组既包含线卡框,又包含当前的主用成员设备(即master成员设备)时,可以确定该成员设备组具备集群接管条件。
137.一个集群中存在一个主用成员设备,其它成员设备作为从设备。例如,可以选取集群中的一个交换框作为主用成员设备。若该集群中不存在交换框,则可以选取一个线卡框作为主用成员设备。另外,可以优先选取设备编号较小的成员设备作为主用成员设备。
138.在集群中,线卡框的设备编号为lcc1、lcc2、并依次递增;交换框的设备编号为fcc1、fcc2、并依次递增。
139.在一个实施例中,参见图6,在图5的基础上,上述步骤s2031可以包括以下步骤:
140.s20311:在第二成员设备组具备集群接管条件的情况下,对第一成员设备组中的成员设备,与第二成员设备组中的成员设备进行比对,得到第一成员设备组的接管优先级,以及第二成员设备组的接管优先级。
141.s20312:基于第一成员设备组的接管优先级,以及第二成员设备组的接管优先级,确定第一成员设备的运行状态。
142.在本技术实施例中,在集群分裂后,一个成员设备组的接管优先级,能够体现该成员设备组接管集群的优先级。因此,可以基于成员设备组的接管优先级,确定成员设备的运行状态。
143.在一个实施例中,一个成员设备组的接管优先级为基于预设优先级参数,并按照预设优先级参数对应的指定顺序确定的。
144.预设优先级参数包括:该成员设备组是否具备预设的集群接管条件、该成员设备组是否包含当前的主用成员设备、该成员设备组中的lcc的数目、该成员设备组中的fcc的数目,以及该成员设备组中的成员设备的最小设备编号。
145.一种实现方式中,可以按照是否具备集群接管条件、是否包含当前的主用成员设备、包含的lcc的数目、包含的fcc的数目,以及包含的成员设备的最小设备编号的顺序,比较两个成员设备组的接管优先级。
146.例如,针对两个成员设备组,可以确定具备集群接管条件的成员设备组的接管优先级,高于不具备集群接管条件的成员设备组的接管优先级。
147.若该两个成员设备组均具备集群接管条件,则可以确定包含当前的主用成员设备的成员设备组的接管优先级,高于不包含当前的主用成员设备的成员设备组的接管优先级。
148.若该两个成员设备组均不包含当前的主用成员设备,则可以确定包含的线卡框的数目较大的成员设备组的接管优先级,高于包含的线卡框的数目较小的成员设备组的接管优先级。
149.若该两个成员设备组包含的线卡框的数目相同,则可以确定包含的交换框的数目较大的成员设备组的接管优先级,高于包含的交换框的数目较小的成员设备组的接管优先级。
150.若该两个成员设备组包含的交换框的数目相同,则可以确定包含的成员设备的最小设备编号较小的成员设备组的接管优先级,高于包含的交换框的数目较大的成员设备组的接管优先级。
151.在一个实施例中,上述步骤s20312可以包括以下步骤:
152.步骤一:判断第二成员设备组的接管优先级,是否高于第一成员设备组的接管优先级。若是,执行步骤二;若否,执行步骤三。
153.步骤二:确定第一成员设备为工作状态。
154.步骤三:判断第一成员设备组中的lcc,与第二成员设备组中各成员设备之间的数据通道是否均为断开状态。若是,执行步骤二;若否,执行步骤四。
155.步骤四:将第一成员设备切换为挂起状态。
156.在本技术实施例中,若第二成员设备组的接管优先级,高于第一成员设备组的接
管优先级,则可以确定第二成员设备组用于接管集群,即,确定第二成员设备组中的成员设备为工作状态,也就可以确定第一成员设备为工作状态。
157.反之,若第二成员设备组的接管优先级,低于第一成员设备组的接管优先级,且第一成员设备组中的线卡框与第二成员设备组中各成员设备之间的数据通道均为断开状态,表明第一成员设备组中的线卡框均切换为挂起状态。也就是说,第一成员设备组中的线卡框确定不接管集群,因此,第一成员设备可以确定第二成员设备组接管集群,即,确定第二成员设备组中的成员设备为工作状态,也就可以确定第一成员设备为工作状态。
158.相应的,若第二成员设备组的接管优先级,低于第一成员设备组的接管优先级,且第一成员设备组中的线卡框与第二成员设备组中各成员设备之间的数据通道并不全是断开状态,表明第一成员设备组中的成员设备可能会接管集群,因此,第一成员设备确定自身不需要继续工作,即,切换为挂起状态。
159.在一个实施例中,参见图7,在图5的基础上,在上述步骤s204之前,该方法还可以包括以下步骤:
160.s206:判断第二成员设备组是否满足第一预设条件,且满足第二预设条件。
161.其中,第一预设条件为:第一成员设备组中的lcc,与第二成员设备组中各成员设备之间的数据通道均为断开状态。第二预设条件包括:不具备集群接管条件;或者,具备集群接管条件,且第二成员设备组的接管优先级高于第一成员设备组的接管优先级。
162.相应的,上述步骤s204可以包括以下步骤:
163.s2041:在不满足第一预设条件,且满足第二预设条件的情况下,当第二成员设备处于第一指定状态的时长达到第一预设时长时,判断第二成员设备组是否具备预设的集群接管条件。
164.s2042:在不满足第一预设条件,且不满足第二预设条件的情况下,当第二成员设备处于第一指定状态的时长达到第二预设时长时,判断第二成员设备组是否具备预设的集群接管条件。
165.其中,第二预设时长不小于第一预设时长。第二预设时长为基于第一预设时长、以及第二成员设备组中的fcc的最小设备编号确定的。
166.一种实现方式中,当确定第二成员设备组不具备集群接管条件时,可以确定第二成员设备组满足第二预设条件。另一种方式中,当确定第二成员设备组具备集群接管条件,且其接管优先级高于第一成员设备组的接管优先级时,可以确定第二成员设备组满足第二预设条件。第二成员设备组满足不第一预设条件,且满足第二预设条件,表明相对于第一成员设备组,可以优先确定第二成员设备组中成员设备的运行状态。
167.在实际集群中,由于网络环境不稳定,会导致成员设备在某一时刻为第一指定状态。因此,为了避免由于网络环境不稳定导致的情况,可以在第二成员设备处于第一指定状态的时长达到第一预设时长时,判断第二成员设备组是否具备预设的集群接管条件,以确定成员设备的运行状态。例如,第一预设时长可以为10秒,或者,也可以为11秒,但并不限于此。
168.若第二成员设备组不满足第一预设条件,且不满足第二预设条件,表明相对于第二成员设备组,可以优先确定第一成员设备组中成员设备的运行状态,即,第一成员设备可以延迟确定运行状态。也就是说,第一成员设备可以在第一成员设备组中的成员设备确定
运行状态后,再进行运行状态的确定。因此,第一成员设备可以在达到第二预设时长时确定运行状态。
169.一种实现方式中,第二预设时长可以基于公式(1)确定。
170.t2=(a

1)
×
t3 t1(1)
171.其中,t2表示第二预设时长,t1表示第一预设时长,t3表示第三预设时长,a表示第二成员设备组中交换框的最小设备编号。t3的数值可以由技术人员根据经验进行设置,例如,第三预设时长可以为3秒,或者,也可以为4秒,但并不限于此。另外,若第二成员设备组中不包含交换框,则a的值可以为1。
172.在一个实施例中,若满足第一预设条件,即,第一成员设备组中的lcc,与第二成员设备组中各成员设备之间的数据通道均为断开状态,则不需要判断第二成员设备组是否满足第二预设条件,且不需要等待,直接执行步骤s204,即,不需要等待,直接确定第二成员设备组中成员设备的运行状态。
173.基于上述处理,由于各成员设备组确定运行状态等待的时长不同,彼此之间存在先后的顺序,进而,后确定运行状态的成员设备,也就可以根据先确定运行状态的成员设备的确定结果进行处理,进而,也就能够保证各成员设备组中的成员设备确定出的运行状态一致。
174.在一个实施例中,在上述步骤s201之前,该方法还可以包括以下步骤:
175.步骤一:当检测到集群中存在处于第三指定状态的第四成员设备时,确定包含第四成员设备的第三成员设备组。
176.其中,第三指定状态表示与第一成员设备之间拓扑可达,且路由不可达。
177.步骤二:在集群中,确定与第三成员设备组中的成员设备之间路由可达的成员设备,得到路由可达成员设备组。
178.步骤三:基于第二成员设备组的接管优先级,以及路由可达成员设备组的接管优先级,得到处于第一指定状态的成员设备。
179.在本技术实施例中,第三指定状态也就是上述lost状态。
180.例如,针对图3,若lcc1与ccu1之间的链路断开。对于lcc1而言,fcc1和fcc2为lost状态,即第三成员设备组包含fcc1和fcc2。
181.图3中,与fcc1和fcc2之间路由可达的成员设备包括:fcc1、fcc2和lcc2,因此,可以确定路由可达成员设备组包括:fcc1、fcc2和lcc2。
182.基于第二成员设备组和路由可达成员设备组各自的接管优先级,得到处于第一指定状态的成员设备,即,能够将一部分成员设备切换为第一指定状态。进而,则可以基于上述步骤s201

s203进行处理。
183.同理,在实际集群中,由于网络环境不稳定,会导致成员设备在某一时刻为第三指定状态。因此,为了避免由于网络环境不稳定导致的情况,可以在第四成员设备处于第三指定状态的时长达到第四预设时长时,执行上述确定包含第四成员设备的第三成员设备组的步骤。例如,第四预设时长可以为10秒,或者,也可以为11秒,但并不限于此。
184.在一个实施例中,上述步骤三,可以包括以下步骤:
185.步骤1:判断第二成员设备组的接管优先级,是否高于路由可达成员设备组的接管优先级。若是,执行步骤2;若否,执行步骤3。
186.步骤2:断开第二成员设备组与第三成员设备组之间的控制通道,以使第三成员设备组中的成员设备处于第一指定状态。
187.步骤3:断开目标成员设备组与路由可达成员设备组之间的控制通道,以使路由可达成员设备组中的成员设备处于第一指定状态。
188.其中,目标成员设备组为第二成员设备组与路由可达成员设备组的差值。
189.上述步骤2中,断开第二成员设备组与第三成员设备组之间的控制通道,也就使得第二成员设备组与第三成员设备组之间隔离,第三成员设备组中的成员设备与第一成员设备之间拓扑不可达。
190.例如,第一成员设备可以通知第二成员设备组中的其他成员设备,断开与第三成员设备组之间的控制通道。
191.上述步骤3中,断开目标成员设备组与路由可达成员设备组之间的控制通道,即,使目标成员设备组与路由可达成员设备组之间隔离。
192.例如,第一成员设备可以通知目标成员设备组中的成员设备,断开与路由可达成员设备组之间的控制通道。
193.针对图3,若lcc1与ccu1之间的链路断开。对于lcc1而言,第二成员设备组包含lcc1和lcc2,第三成员设备组包含fcc1和fcc2,路由可达成员设备组包括fcc1、fcc2和lcc2。相应的,目标成员设备组包括lcc1。进而,断开lcc1,与fcc1、fcc2和lcc2之间的控制通道,即,使lcc1,与fcc1、fcc2和lcc2之间隔离,使得对于lcc1而言,fcc1、fcc2和lcc2均拓扑不可达(即为down状态)。
194.在一个实施例中,可以通过定时器进行集群故障处理。例如,该定时器的循环定时时长可以为500毫秒。针对集群中的任一成员设备,当达到定时时长时,可以检测集群中是否存在lost状态的成员设备;若不存在,则检测是否存在down状态的成员设备。
195.若检测到存在down状态的成员设备,且第一成员设备组中的lcc,与第二成员设备组中各成员设备之间的数据通道均为断开状态,则可以执行上述步骤s204,以确定成员设备的运行状态。
196.若检测到存在down状态的成员设备,且第一成员设备组中的lcc,与第二成员设备组中各成员设备之间的数据通道并不全是断开状态,且第二成员设备组不具备集群接管条件,则达到第一预设时长时,可以执行上述步骤s204,以确定成员设备的运行状态。
197.若检测到存在down状态的成员设备,且第一成员设备组中的lcc,与第二成员设备组中各成员设备之间的数据通道并不全是断开状态,且第二成员设备组具备集群接管条件,第二成员设备组的接管优先级高于第一成员设备组的接管优先级,则达到第一预设时长,可以执行上述步骤s204,以确定成员设备的运行状态。
198.若检测到存在down状态的成员设备,且第一成员设备组中的lcc,与第二成员设备组中各成员设备之间的数据通道并不全是断开状态,第二成员设备组具备集群接管条件,且第二成员设备组的接管优先级低于第一成员设备组的接管优先级,则达到第二预设时长,可以执行上述步骤s204,以确定成员设备的运行状态。
199.另外,若检测到存在lost状态的成员设备达到第四预设时长,则可以基于第三成员设备组,将一部分成员设备切换为down状态。
200.示例性地,针对图1的集群,若分裂为三部分:(fcc1)、(lcc1)、(fcc2、lcc2),且第
一预设时长为10秒,第三预设时长为3秒,当前的主用成员设备为fcc1。集群接管条件为包含lcc,且包含fcc。
201.对于fcc1而言,确定第二成员设备组不具备集群接管条件,在检测到存在第二成员设备达到10秒时,切换为挂起状态。对于lcc1而言,确定第二成员设备组不具备集群接管条件,在检测到存在第二成员设备达到10秒时,切换为挂起状态。
202.对于fcc2和lcc2而言,第一成员设备组包含fcc1和lcc1,可以确定第二成员设备组具备集群接管条件,且第二成员设备组的接管优先级低于第一成员设备组的接管优先级。因此,在检测到存在第二成员设备达到第二预设时长(即13秒)时进行处理。此时,lcc1与fcc2之间的数据通道已断开,因此,可以确定第二成员设备组(即fcc2和lcc2)为工作状态。即,在集群分裂后,fcc2和lcc2继续工作。
203.示例性地,针对图1的集群,若分裂为两部分:(fcc1、lcc1)、(fcc2、lcc2),且第一预设时长为10秒,第三预设时长为3秒,当前的主用成员设备为fcc1。集群接管条件为包含lcc,且包含fcc。
204.对于fcc1和lcc1而言,可以确定第二成员设备组具备集群接管条件,且第二成员设备组的接管优先级高于第一成员设备组的接管优先级,则在检测到存在第二成员设备达到10秒时,确定第二成员设备组(即fcc1和lcc1)为工作状态。即,在集群分裂后,fcc1和lcc1继续工作。
205.对于fcc2和lcc2而言,可以确定第二成员设备组具备集群接管条件,且第二成员设备组的接管优先级低于第一成员设备组的接管优先级。因此,在检测到存在第二成员设备达到第二预设时长(即13秒)时进行处理。此时,lcc1与fcc2之间的数据通道并未断开,因此,确定fcc2和lcc2切换为挂起状态。
206.基于相同的发明构思,本技术实施例还提供了一种集群故障处理装置,所述装置应用于第一成员设备,所述第一成员设备为集群中的任一成员设备,参见图8,图8为本技术实施例提供的一种集群故障处理装置的结构图,该装置包括:
207.第一成员设备组确定模块801,用于当检测到所述集群中存在处于第一指定状态的第二成员设备时,确定包含所述第二成员设备的第一成员设备组;其中,所述第一指定状态表示与所述第一成员设备之间拓扑不可达;
208.第二成员设备组确定模块802,用于确定包含所述第一成员设备和处于第二指定状态的第三成员设备的成员设备组,作为第二成员设备组;其中,所述第二指定状态表示与所述第一成员设备之间路由可达;
209.运行状态确定模块803,用于对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态;其中,所述运行状态为工作状态或挂起状态。
210.可选的,所述装置还包括:
211.第一判断模块,用于在所述对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态之前,判断所述第二成员设备组是否具备预设的集群接管条件;
212.切换模块,用于若所述第二成员设备组不具备所述集群接管条件,则将所述第一成员设备切换为挂起状态;
213.所述运行状态确定模块803,具体用于在所述第二成员设备组具备所述集群接管条件的情况下,对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态。
214.可选的,所述运行状态确定模块803,包括:
215.接管优先级确定子模块,用于对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,得到所述第一成员设备组的接管优先级,以及所述第二成员设备组的接管优先级;
216.运行状态确定子模块,用于基于所述第一成员设备组的接管优先级,以及所述第二成员设备组的接管优先级,确定所述第一成员设备的运行状态。
217.可选的,所述运行状态确定子模块,具体用于判断所述第二成员设备组的接管优先级,是否高于所述第一成员设备组的接管优先级;
218.若是,则确定所述第一成员设备为工作状态;
219.若否,则判断所述第一成员设备组中的线卡框lcc,与所述第二成员设备组中各成员设备之间的数据通道是否均为断开状态;若是,则确定所述第一成员设备为工作状态;若否,则将所述第一成员设备切换为挂起状态。
220.可选的,所述装置还包括:
221.第二判断模块,用于在所述判断所述第二成员设备组是否具备预设的集群接管条件之前,判断所述第二成员设备组是否满足第一预设条件,且满足第二预设条件;
222.其中,所述第一预设条件为:所述第一成员设备组中的lcc,与所述第二成员设备组中各成员设备之间的数据通道均为断开状态;所述第二预设条件包括:不具备所述集群接管条件;或者,具备所述集群接管条件,且所述第二成员设备组的接管优先级高于所述第一成员设备组的接管优先级;
223.所述第一判断模块,具体用于在不满足所述第一预设条件,且满足所述第二预设条件的情况下,当所述第二成员设备处于所述第一指定状态的时长达到第一预设时长时,判断所述第二成员设备组是否具备预设的集群接管条件;
224.在不满足所述第一预设条件,且不满足所述第二预设条件的情况下,当所述第二成员设备处于所述第一指定状态的时长达到第二预设时长时,判断所述第二成员设备组是否具备预设的集群接管条件;
225.其中,所述第二预设时长不小于所述第一预设时长;所述第二预设时长为基于所述第一预设时长、以及所述第二成员设备组中的fcc的最小设备编号确定的。
226.可选的,所述集群接管条件,包括:
227.包含lcc,且包含交换框fcc;
228.或,
229.包含lcc,且包含当前的主用成员设备。
230.可选的,所述装置还包括:
231.第三成员设备组确定模块,用于在所述当检测到所述集群中存在处于第一指定状态的第二成员设备时,确定包含所述第二成员设备的第一成员设备组之前,当检测到所述集群中存在处于第三指定状态的第四成员设备时,确定包含所述第四成员设备的第三成员设备组;其中,所述第三指定状态表示与所述第一成员设备之间拓扑可达,且路由不可达;
232.路由可达成员设备组确定模块,用于在所述集群中,确定与所述第三成员设备组中的成员设备之间路由可达的成员设备,得到路由可达成员设备组;
233.处理模块,用于基于所述第二成员设备组的接管优先级,以及所述路由可达成员设备组的接管优先级,得到处于所述第一指定状态的成员设备。
234.可选的,所述处理模块,具体用于判断所述第二成员设备组的接管优先级,是否高于所述路由可达成员设备组的接管优先级;
235.若是,断开所述第二成员设备组与所述第三成员设备组之间的控制通道,以使所述第三成员设备组中的成员设备处于所述第一指定状态;
236.若否,断开目标成员设备组与所述路由可达成员设备组之间的控制通道,以使所述路由可达成员设备组中的成员设备处于所述第一指定状态;其中,所述目标成员设备组表示所述第二成员设备组与所述路由可达成员设备组的差值。
237.可选的,一个成员设备组的接管优先级为基于预设优先级参数,并按照所述预设优先级参数对应的指定顺序确定的;
238.所述预设优先级参数包括:该成员设备组是否具备预设的集群接管条件、该成员设备组是否包含当前的主用成员设备、该成员设备组中的lcc的数目、该成员设备组中的fcc的数目,以及该成员设备组中的成员设备的最小设备编号。
239.本技术实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
240.存储器903,用于存放计算机程序;
241.处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
242.当检测到所述集群中存在处于第一指定状态的第二成员设备时,确定包含所述第二成员设备的第一成员设备组;其中,所述第一指定状态表示与所述第一成员设备之间拓扑不可达;
243.确定包含所述第一成员设备和处于第二指定状态的第三成员设备的成员设备组,作为第二成员设备组;其中,所述第二指定状态表示与所述第一成员设备之间路由可达;
244.对所述第一成员设备组中的成员设备,与所述第二成员设备组中的成员设备进行比对,确定所述第一成员设备的运行状态;其中,所述运行状态为工作状态或挂起状态。
245.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
246.通信接口用于上述电子设备与其他设备之间的通信。
247.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non

volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
248.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现
场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
249.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一集群故障处理方法的步骤。
250.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一集群故障处理方法。
251.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
252.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
253.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
254.以上所述仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献