一种双主故障的处理方法、设备及存储介质与流程

文档序号:32218789发布日期:2022-11-16 08:22阅读:98来源:国知局
一种双主故障的处理方法、设备及存储介质与流程

1.本技术实施例涉及互联网领域,尤其涉及一种双主故障的处理方法、设备及存储介质。


背景技术:

2.随着数据中心业务量的逐年增长以及对网络可靠性的要求越来越高,交换机虚拟组网技术应用而生,以堆叠为代表的虚拟组网技术在数据中心被广泛应用。这些虚拟组网技术本质上是交换机主备组网互为备份,既解决可靠性和健壮性问题,又使得接入流量倍增。然而,当主备交换机之间的互联口发生故障进而导致之前的备交换机也成为主交换机时(即:双主故障),就会形成环路使得业务受损。
3.传统解决双主故障的方法是:假设第一交换机和第二交换机为主备关系,其中,第一交换机为主设备,第二交换机为备设备;那么当第一交换机与第二交换机之间存在双主故障时(即:第一交换机与第二交换机均为主设备),系统随机选择一个设备从当前系统中退出,可靠性和稳定性较低。


技术实现要素:

4.本技术实施例提供一种双主故障的处理方法、设备及存储介质,能够提高系统的可靠性和稳定性。
5.为达到上述目的,本技术实施例采用如下技术方案:
6.第一方面,本技术实施例提供一种双主故障的处理方法,该方法应用于主备系统,该主备系统包括第一设备和第二设备,第一设备和第二设备之间的第一链路发生故障,该第一链路用于第一设备与第二设备相互同步数据;该方法包括:第一设备获取第二设备的健康状态,其中,设备的健康状态用于表征设备的可用资源的数量,该设备的健康状态越好表征该设备的可用资源越多;第一设备确定第一设备的健康状态;该第一设备确定目标设备,该目标设备为第一设备与第二设备中健康状态较差的设备;当目标设备为第一设备时,该第一设备关闭第一设备上用于处理业务的接口。
7.本技术实施例提供双主故障的处理方法,应用于第一设备,该第一设备与第二设备之间存在主备关系,该方法包括:在第一设备与第二设备之间存在双主故障的情况下,健康状态较差的设备自主的关闭其上用于处理业务的接口,即退出当前系统,使健康状态较好的设备继续在当前系统中工作。由此可见,本技术提供的双主故障的处理方法相比传统的处理双主故障的方法,是以主备设备的健康状态作为是否退出当前系统的依据,即健康状态较差的设备退出当前系统,保留监控状态较好的设备在当前系统中工作,从而提高了当前系统的可靠性和稳定性。
8.一种可能的实现方式中,上述第一设备确定第一设备的健康状态,包括:上述第一设备根据第一设备的目标特征的值计算第一健康值,上述目标特征为用于表征可用资源的特征,其中,该第一健康值用于表征第一设备的健康状态,该第一健康值越高,第一设备的
健康状态越好。
9.一种可能的实现方式中,上第一设备获取第二设备的健康状态,包括:该第一设备通过第二链路接收第二设备发送的第二健康值,该第二健康值为第二设备根据第二设备的目标特征的值计算的健康值,该第一链路与第二链路不同。
10.本技术实施例提供的双主故障的处理方法,第一设备接收第二设备发送的第二健康值,该第二健康值是第二设备根据其上的目标特征确定的,用于表征第二设备的健康状态;由此可知,当目标特征包括多个特征时,第一设备只需接收第二设备发送的健康值即可,并不需要接收第二设备的目标特征中的多个特征,因此,节省了第二设备向第一设备发送第二设备的健康状态所占用的带宽。
11.一种可能的实现方式中,当上述第一设备为转发设备时,该目标特征包括:可用资源的数量和设备初始化特征,其中,该设备初始化特征用于表示设备是否完成初始化;该可用资源的数量包括以下至少一种:设备处理器中未失效晶体管数量、该设备局域网交换lsw芯片中未失效晶体管数量、该设备上行端口的可用数量、该设备处理器的未使用率或该设备内存的未使用率。
12.一种可能的实现方式中,当上述第一设备为计算设备时,上述目标特征包括:cpu的未使用率、内存的未使用率以及空闲的算力的数量中至少一个。
13.一种可能的实现方式中,当第一设备为存储设备时,上述目标特征包括:可用存储资源的数量和可用传输通道的数量,其中,该传输通道用于承载读取或写入的数据。
14.一种可能的实现方式中,上述第一设备根据第一设备的目标特征的值计算第一健康值,包括:上述第一设备根据该第一设备的目标特征的值与上述目标特征中各个特征的权重值计算第一健康值;其中,对业务的稳定性影响越大的特征的权重值越大。
15.一种可能的实现方式中,方法还包括:第二设备获取上述第一设备的健康状态;该第二设备确定第二设备的健康状态;当该目标设备为第二设备时,该第二设备退出第一设备和第二设备所在的系统。
16.本技术实施例提供的双主故障的处理方法是在第一设备与第二设备双侧执行的,因此,无论目标设备是第一设备还是第二设备在确定自身为目标设备时,均能第一时间退出当前系统,因此,提高了当前系统的可靠性和稳定性。
17.第二方面,本技术实施例提供一种双主故障的处理设备,该双主故障的处理设备包括:获取模块、确定模块和处理模块;获取模块用于获取第二设备的健康状态,其中,设备的健康状态用于表征该设备的可用资源的数量,该设备的健康状态越好表征设备的可用资源越多;确定模块用于确定第一设备的健康状态;该确定模块还用于确定目标设备,该目标设备为第一设备与第二设备中健康状态较差的设备;处理模块用于当目标设备为第一设备时,该第一设备关闭第一设备上的用于处理业务的接口。
18.一种可能的实现方式中,上述双主故障的处理设备还包括:计算模块;该计算模块用于根据第一设备的目标特征的值计算第一健康值,目标特征为用于表征可用资源的特征,其中,第一健康值用于表征健康状态,第一健康值越高,第一设备的健康状态越好。
19.一种可能的实现方式中,上述双主故障的处理设备包括:收发模块;该收发模块用于通过第二链路接收第二设备发送的第二健康值,第二健康值为第二设备根据第二设备的目标特征的值计算的健康值,第一链路与第二链路不同。
20.一种可能的实现方式中,当第一设备为转发设备时,目标特征包括:可用资源的数量和设备初始化特征,其中,设备初始化特征用于表示设备是否完成初始化;可用资源的数量包括以下至少一种:设备处理器中未失效晶体管数量、设备局域网交换lsw芯片中未失效晶体管数量、设备上行端口的可用数量、设备处理器的未使用率或设备内存的未使用率。
21.一种可能的实现方式中,当上述第一设备为计算设备时,上述目标特征包括:cpu的未使用率、内存的未使用率以及空闲的算力的数量中至少一个。
22.一种可能的实现方式中,当第一设备为存储设备时,上述目标特征包括:可用存储资源的数量和可用传输通道的数量,其中,该传输通道用于承载读取或写入的数据。
23.一种可能的实现方式中,上述计算模块还用于根据第一设备的目标特征的值与目标特征中各个特征的权重值计算第一健康值;其中,对业务的稳定性影响越大的特征的权重值越大。
24.第三方面,本技术实施例提供一种双主故障的处理设备,包括存储器和处理器,存储器与处理器耦合;存储器用于存储计算机程序代码,其中,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得双主故障的处理设备执行第一方面及其可能的实现方式中任意之一所述的方法。
25.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机指令,当计算机指令在计算设备上运行时,使得计算设备执行上述第一方面及其可能的实现方式中任意之一所述的方法。
26.第五方面,本技术实施例提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面及其可能的实现方式中任意之一所述的方法。
27.应当理解的是,本技术实施例的第二方面至第五方面技术方案及对应的可能的实施方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实施方式的技术效果,此处不再赘述。
附图说明
28.图1为本技术实施例提供的一种具有主备关系的互联网系统示意图;
29.图2中的(a)图为本技术实施例提供的一种数据转发系统示意图一;
30.图2中的(b)图为本技术实施例提供的一种数据存储系统示意图二;
31.图2中的(c)图为本技术实施例提供的一种数据计算系统示意图三;
32.图3为本技术实施例提供的一种双主故障的处理设备的硬件结构示意图;
33.图4为本技术实施例提供的一种双主故障的处理方法流程示意图一;
34.图5为本技术实施例提供的一种双主故障的处理方法流程示意图二;
35.图6为本技术实施例提供的一种双主故障的处理方法流程示意图三;
36.图7为本技术实施例提供的一种双主故障的处理设备的结构示意图。
具体实施方式
37.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
38.本技术实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不
同的对象,而不是用于描述对象的特定顺序。例如,第一设备和第二设备等是用于区别不同的设备,而不是用于描述设备的特定顺序。
39.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
40.首先对本技术实施例提供的一种双主故障的处理方法、设备及存储介质中涉及的一些概念做解释说明。
41.双主故障:为用于连接主设备与备设备的第一链路发生故障,以使主设备与备设备均为主设备的故障,其中,该第一链路用于主设备与备设备间相互同步数据。
42.示例性的,如图1所示系统中,设备a与设备b为具有主备关系的设备,设备a与设备b之间通过第一链路相互同步数据。当第一链路发生故障时原来的备设备(设备b)转换为主设备;此时,设备a与设备b均为主设备;因此,当服务器向互联网触发数据a上传任务时,数据a会分别被设备a与设备b转发至互联网,以使数据a被多次上传。
43.本技术实施例提供的双主故障的处理方法可以应用于数据转发系统或数据存储系统等具有主备设备的系统中。
44.当本技术实施例提供的双主故障的处理方法应用于如图2中的(a)图所示的数据转发系统中时,该数据转发系统包括:任务发起设备201、主转发设备202、备转发设备203以及任务接收设备204;其中,该数据转发系统的一种具体实现方式如图1所示。
45.任务发起设备201用于触发任务,其中,任务发起设备201可以为服务器、台式电脑或笔记本等具有任务触发能力的设备。
46.主转发设备202和备转发设备203用于对任务发起设备201触发的任务进行转发;其中,任务发起设备201触发的一个任务时,该任务由主转发设备202和备转发设备203中的一个转发设备对该任务进行转发;具体转发该任务的转发设备由该系统中的负载均衡策略决定,最终以使任务接收设备204接收到该任务。主转发设备202和备转发设备203之间具有第一链路,该第一链路用于主转发设备202和备转发设备203之间相互同步数据。主转发设备202和备转发设备203之间还具有第二链路,该第二链路用于在主转发设备202和备转发设备203之间存在双主故障时,通过该第二链路对双主故障进行检测与处理,具体对双主故障进行检测与处理的实现方式可以参考下文方法部分。主转发设备202和备转发设备203可以为交换机或路由器等具有任务转发功能的设备。
47.任务接收设备204用于接收任务发起设备201通过主转发设备202或备转发设备203转发的任务;其中,接收设备204可以为服务器、台式电脑或笔记本等具有任务接收能力的设备。
48.当本技术实施例提供的双主故障的处理方法应用于如图2中的(b)图所示的数据存储系统时,该数据存储系统包括:任务触发设备205、主存储设备206以及备存储设备207。
49.任务触发设备205用于触发数据读写任务,其中,该任务触发设备205可以为服务器、台式电脑或笔记本等具有触发数据读写任务的能力的设备。
50.主存储设备206和备存储设备207用于对任务触发设备205触发的数据读写任务进行处理;其中,当任务触发设备205触发一个数据读写任务时,该任务由主存储设备206和备
存储设备207中的一个存储设备进行处理;具体处理该数据读写任务的存储设备由该系统中的负载均衡策略决定。主存储设备206和备存储设备207之间具有第一链路,该第一链路用于主存储设备206和备存储设备207之间相互同步数据。主存储设备206和备存储设备207之间还具有第二链路,该第二链路用于在主存储设备206和备存储设备207之间存在双主故障时,对双主故障进行监测与处理,具体处理该双主故障的实现方式可以参考下文方法部分。该主存储设备206和备存储设备207具体可以为关系型数据库(如:mysql、oracle或sqlserver)和非关系型数据库(如:redis、mongodb或hbase)等具有数据读写能力的存储设备。
51.当本技术实施例提供的双主故障的处理方法应用于如图2中的(c)图所示的数据计算系统时,该数据计算系统包括:任务触发设备208、主计算设备209以及备计算设备210。
52.任务触发设备208用于触发数据计算任务,其中,该任务触发设备208可以为服务器、台式电脑或笔记本等具有触发数据读写任务的能力的设备。
53.主计算设备209和备计算设备210用于对任务触发设备208触发的数据读计算任务进行处理;类似图2中的(b)图,当任务触发设备209触发一个数据计算任务时,该任务由主计算设备209和备计算设备210中的一个计算设备进行处理;具体处理该数据计算任务的计算设备由该系统中的负载均衡策略决定。主计算设备209和备计算设备210之间具有第一链路,该第一链路用于主计算设备209和备计算设备210之间相互同步数据。主计算设备209和备计算设备210之间还具有第二链路,该第二链路用于在主计算设备209和备计算设备210之间存在双主故障时,对双主故障进行监测与处理,具体处理该双主故障的实现方式可以参考下文方法部分。该主计算设备209和备计算设备210之间具体可以为服务器等具有数据计算能力的设备。
54.示例性的,图3是本技术实施例提供的双主故障的处理设备(如上述主转发设备202或备转发设备203或主存储设备206或备存储设备207)的一种硬件示意图,该双主故障的处理设备包括处理器301、存储器302和网络接口303。
55.其中,处理器301包括一个或多个cpu。该cpu可以为单核cpu(single-cpu)或多核cpu(multi-cpu),其中,cpu中包括多个晶体管,单位面积的晶体管的数量越多cpu的处理能力越强。
56.存储器302包括但不限于是ram、rom、eprom、快闪存储器、或光存储器等。
57.可选地,处理器301通过读取存储器302中保存的指令实现本技术实施例提供的双主故障的处理方法,或者,处理器301通过内部存储的指令实现本技术实施例提供的双主故障的处理方法。在处理器301通过读取存储器302中保存的指令实现上述实施例中的方法的情况下,存储器302中保存实现本技术实施例提供的双主故障的处理方法的指令。
58.网络接口303是有线接口(端口),例如fddi、ge接口。或者,网络接口303是无线接口。应理解,网络接口303包括多个物理端口,网络接口303用于接收数据、转发数据以及获取对端设备的健康状态等。
59.可选地,双主故障的处理设备还包括总线304,上述处理器301、存储器302、网络接口303通常通过总线304相互连接,或采用其他方式相互连接。
60.本技术实施例提供一种双主故障的处理方法,该方法应用于第一设备,第一设备与第二设备具备主备关系,如图4所示,该方法可以包括s400-s402。
61.s400、第一设备对第一设备与第二设备间进行双主故障监测。
62.需要说明的是,上述第一设备可以为主设备也可以为备设备,当第一设备为主设备时,第二设备为备设备;当第一设备为备设备时,第二设备为主设备;其中,第一设备和第二设备可以均为图2中(a)图中的转发设备;也可以均为图2中(b)图中的存储设备;也可以均为图2中(c)图中的计算设备。具体本技术实施例对第一设备的主备角色和设备类型不进行限定。
63.双主故障为第一设备与第二设备之间连接的第一链路发生故障,以使该第一设备和第二设备均为主设备的故障,其中,该第一链路用于第一设备与第二设备之间相互同步数据(即:第一链路用于第一设备与第二设备相互同步数据),以使具有主备关系的两个设备其中一个宕机后,另外一个设备能顶替宕机设备的工作。
64.应理解,当第一设备与第二设备具备主备关系时,第一设备与第二设备根据各自的物理地址(media access control,mac)对当前系统中除第一设备与第二设备以外的设备提供一个共同的物理地址(简称:对外mac地址),该对外mac地址为第一设备与第二设备中主设备的mac地址。当第一设备与第二设备间不存在双主故障时,第一设备与第二设备通过第二链路互发的是各自原有的mac地址;而当第一设备与第二设备间存在双主故障时,会导致第一设备与第二设备中的备设备也成为主设备,此时,第一设备与第二设备通过第二链路互发的对外的mac地址。
65.示例性的,假设第一设备为主设备,其mac地址为abc.....1;第二设备为备设备,其mac地址为abc.....5;那么第一设备与第二设备的对外mac地址为abc.....1;当第一设备与第二设备间不存在双主故障时,第二设备向第一设备发送第二设备的mac地址abc.....5;当第一设备与第二设备间存在双主故障时,此时,第二设备自身的mac地址成为对外mac地址,因此,第二设备向第一设备发送第二设备的mac地址abc.....1。
66.上述s400的具体实现可以是第一设备根据第一设备的mac地址和第二设备的mac地址确定的,其中,当第一设备的mac地址与第二设备的mac地址不同时,第一设备与第二设备间不存在双主故障;当第一设备的mac地址与第二设备的mac地址相同时,第一设备与第二设备间存在双主故障。
67.上述s400的具体实现,如图5所示,包括:s400a-s400b。
68.s400a、第一设备接收第二设备发送第二mac地址。
69.上述第二mac地址为第二设备的mac地址。
70.需要说明的是,由于双主故障是第一设备与第二设备间的第一链路故障引起的,所以第一设备是在第二链路上接收的第二mac地址;其中,第一链路是第一设备与第二设备间相互同步数据的链路,第二链路是第一设备与第二设备间除第一链路以外的链路。
71.s400b、第一设备根据第一mac地址和第二mac地址确定第一设备与第二设备间是否存在双主故障。
72.上述第一mac地址为第一设备的mac地址。
73.当第一mac地址与第二mac相同时,第一设备与第二设备间存在双主故障;当第一mac地址与第二mac不相同时,第一设备与第二设备间不存在双主故障。
74.在上述第一设备与第二设备间不存在双主故障时,第一设备周期性的执行上述s400a-s400b。
75.在上述第一设备与第二设备间存在双主故障时,第一设备执行下述s401-s402。
76.可选的,上述双主故障监测也可以分别应用于第一设备与第二设备上,具体实现方式与上述s400a-s400b类似,此处不再赘述。
77.s401、在第一设备与第二设备之间存在双主故障的情况下,第一设备确定目标设备。
78.上述目标设备为第一设备与第二设备中健康状态较差的设备,其中,健康状态越好的设备的可用资源数量越多。
79.示例性的,假设第一设备与第二设备的处理器(central processing unit,cpu)上的总算力相同,其中,第一设备的空闲算力为80%,第二设备的空闲算力为50%;那么第一设备在获取到第一设备的空闲算力和第二设备的空闲算力后进行对比,将空闲算力较少的第二设备,即健康状态较差的设备确定为目标设备。
80.上述第二设备的健康状态是第一设备通过第二链路从第二设备上获取的。具体获取方式可以是第一设备向第二设备发送获取请求,第二设备在接收到获取请求后将第二设备的健康状态发送给第一设备。也可以是第二设备主动向第一设备发送的第二设备的健康状态。
81.上述第一设备的健康状态是第一设备确定的,具体确定方式如下述s601,此处不再赘述。
82.需要说明的是,上述设备的健康状态可以是通过至少一个特征表示,也可以是设备的健康值表示,具体本技术不对设备的健康状态的具体形式进行限定。
83.s402、当目标设备为第一设备时,第一设备退出第一设备和第二设备所在的系统。
84.上述第一设备退出第一设备和第二设备所在的系统包括:第一设备执行关机操作,或者第一设备关闭第一设备上业务接口(如所有业务接口),以使第一设备不再处理业务;其中,业务接口为第一设备上用于处理业务的接口,上述业务接口具体可以为图3中的部分或全部的网络接口303,也可以为虚拟接口,具体本技术不对上述业务接口的具体形态进行限定。
85.上述业务接口可以是进行数据转发的接口,也可以是进行数据读写的接口,还可以是对数据进行处理(如:对数据格式进行转化)的接口。
86.示例性的,在如图1所示的系统中,设备a和设备b存在双主故障时,当将设备a确定为目标设备时,设备a执行关机操作不再执行数据转发,以使设备b替代设备a进行数据的转发;或设备a关闭其上的用于向互联网转发数据的接口以及关闭从服务器接收任务的业务接口,以使设备b替代设备a进行数据的转发。
87.应注意的是,当目标设备为第二设备时,第一设备执行完s401后,结束该方法。
88.可选的,在本技术实施例提供的双主故障的处理方法仅在第一设备端执行的情况下,当目标设备为第二设备时,第一设备执行完s401后,第一设备向第二设备发送退出指示,以使第二设备接收到该退出指示后,第二设备退出第一设备和第二设备所在的系统。
89.本技术实施例提供双主故障的处理方法,应用于第一设备,该第一设备与第二设备之间存在主备关系,该方法包括:在第一设备与第二设备之间存在双主故障的情况下,健康状态较差的设备自主的关闭其上用于处理业务的接口,即退出当前系统,使健康状态较好的设备继续在当前系统中工作。由此可见,本技术提供的双主故障的处理方法相比传统
的处理双主故障的方法,是以主备设备的健康状态作为是否退出当前系统的依据,即健康状态较差的设备退出当前系统,保留监控状态较好的设备在当前系统中工作,从而提高了当前系统的可靠性和稳定性。
90.可选的,本技术实施例上述提供一种双主故障的处理方法,该方法也可分别应用于具有主备关系的第一设备与第二设备中;其中,第一设备和第二设备可以均为图2中(a)图中的转发设备;也可以均为图2中(b)图中的存储设备,第一设备和第二设备还可以均为计算设备(如服务器),第一设备和第二设备还可以均为图2中(c)图中的计算设备(如服务器);以健康值表示健康状态为例,该方法的具体实现,如图6所示,该方法可以包括:s601-s608。
91.s601、第一设备根据第一设备的目标特征的值确定第一健康值。
92.第一健康值越高,第一设备的健康状态越好;也就是说,上述第一健康值越高,第一设备上的可用资源数量越多。
93.需要说明的是,上述目标特征为用于表示第一设备上的可用资源的特征,例如:当第一设备为计算设备时,该可用资源的特征包括:cpu的未使用率、内存的未使用率以及空闲的算力的数量中至少一个。
94.示例性的,假设目标特征包括cpu的未使用率和内存的未使用率;健康值为cpu的未使用率与内存的未使用率之和与100的积;其中,第一设备的cpu未使用率为30%,第一设备的内存的未使用率为50%;那么,第一健康值的计算过程为cpu的未使用率(即30%)与内存的未使用率(即50%)之和(即80%)乘100得到的积为80,即:第一健康值为80。
95.需要说明的是,本技术实施例中第一设备和第二设备可以为交换机、路由器或存储设备等设备中的任意一种,具体本技术实施例对第一设备和第二设备的具体装置不进行限定。
96.当第一设备为转发设备时,上述目标特征包括:可用资源的数量和设备初始化特征。
97.上述设备初始化特征用于表示该设备是否完成初始化,例如,当设备初始化特征的值为0时,表示该设备未完成初始化;当设备初始化特征的值为1时,表示该设备完成初始化。
98.上述可用资源特征包括以下至少一种:设备cpu中未失效晶体管数量、设备局域网交换(lan switch,lsw)芯片中未失效晶体管数量、设备上行端口的可用数量、设备处理器的未使用率或设备内存的未使用率,其中,设备lsw芯片是用于进行数据转发或数据交换,设备lsw芯片中的晶体管的数量决定设备lsw芯片的处理能力,设备上行端口是与互联网或会聚网络相连的端口。
99.当第一设备为存储设备时,上述目标特征包括:可用存储资源的数量和可用传输通道的数量,其中,该传输通道用于承载读取或写入的数据。
100.可选的,当第一设备和第二设备为转发设备时,上述s601的具体实现包括:第一设备根据第一设备的目标特征的值与目标特征中各个特征的权重值计算第一健康值。
101.上述目标特征中对业务稳定性影响越大的特征权重值越大。
102.例如,当上述业务为数据转发业务时,目标特征中权重值从大到小的特征可以依次为:设备的初始化特征、设备上行端口的可用数量、设备lsw芯片中未失效晶体管数量、设
备处理器中未失效晶体管数量、设备处理器的未使用率以及设备内存的未使用率。其中,第一设备是否完成初始化决定着第一设备是否能正常运行,所以第一设备的初始化特征的权重最大,其次,第一设备上行端口的可用数量,决定着是否能将接收到得数据转发出去,所以权重值也较大。
103.再例如,当上述业务为数据格式转换业务时,目标特征中权重值从大到小的特征可以依次为:设备的初始化特征、设备处理器中未失效晶体管数量、设备处理器的未使用率、设备lsw芯片中未失效晶体管数量、设备内存的未使用率以及设备上行端口的可用数量。
104.上述根据第一设备的目标特征的值与目标特征中各个特征的权重值计算第一健康值的一种实现方式中,上述健康值为第一设备的目标特征中各个特征的值与该目标特征中各个特征的权重值的乘积之和。
105.示例性的,假设上述业务为数据转发业务,初始化特征权重值为300、上行端口的可用数量的权重值为10、lsw芯片中未失效晶体管数量的权重值为8、处理器中未失效晶体管数量的权重值为6、处理器的未使用率的权重值为4、内存的未使用率的权重是为2。第一设的初始化特征值为1、第一设备的上行端口的可用数量20、第一设备lsw芯片中未失效晶体管数量为30、第一设备处理器中未失效晶体管数量40、第一设备处理器的未使用率80%、第一设备内存的未使用率60%。那么,第一健康值=300*1+20*10+30*8+40*6+0.8*4+0.6*2;由此可知,第一健康值为1084.4。
106.s602、第一设备通过第二链路向第二设备发送第一健康值。
107.上述第二链路为第一设备与第二设备之间的链路,且该第二链路是第一设备与第二设备间用于进行双主故障检测的链路。
108.s603、第二设备根据第二设备的目标特征的值计算第二健康值。
109.上述第二健康值为第二设备根据第二设备的目标特征的值计算的健康值,其中,第一健康值与第二健康值的计算方式相同。
110.示例性的,基于s601中的示例,假设第二设备的cpu未使用率为40%,第二设备的内存未使用率为50%,那么,第二设备计算第二健康值的过程为:第二设备的cpu的未使用率(即40%)与第二设备的内存的未使用率(即50%)之和(即90%)乘100得到的积为90,即:第二健康值为90。
111.需要说明的是,上述s603的具体实现与s601类似,具体对于s603的具体描述可以参考上述对于s601的相关描述,此处不再赘述。
112.s604、第二设备通过第二链路向第一设备发送第二健康值。
113.需要说明的是,上述s604的具体实现与s602类似,具体对于s604的具体描述可以参考上述对于s602的相关描述,此处不再赘述。
114.s605、第一设备根据第一健康值和第二健康值,确定目标设备。
115.上述s605具体为:第一设备对比第一健康值与第二健康值的大小,将健康值较小的设备确定为目标设备。
116.示例性的,基于上述s603的示例,第一设备通过对比第一健康值80与第二健康值90,将第一健康值对应的设备(即第一设备)确定为目标设备。
117.s606、当目标设备为第一设备时,第一设备退出第一设备和第二设备所在的系统。
118.需要说明的是,上述s606的具体实现与s402类似,具体对于s606的具体描述可以参考上述对于s402的相关描述,此处不再赘述。
119.s607、第二设备根据第一健康值和第二健康值,确定目标设备。
120.应注意的是,上述目标设备与上述s605中的目标设备是同一设备。
121.需要说明的是,上述s607的具体实现与s605类似,具体对于s607的具体描述可以参考上述对于s605的相关描述,此处不再赘述。
122.s608、当目标设备为第二设备时,第二设备退出第一设备和第二设备所在的系统。
123.需要说明的是,上述s608的具体实现与s606类似,具体对于s608的具体描述可以参考上述对于s606的相关描述,此处不再赘述。
124.本技术实施例提供的双主故障的处理方法,第一设备根据第一设备的第一健康值和接收第二设备发送的第二健康值确定目标设备;由此可知,当目标特征包括多个特征时,第一设备只需接收第二设备发送的健康值即可,并不需要接收第二设备的目标特征中的多个特征,因此,节省了第二设备向第一设备发送第二设备的健康状态所占用的带宽。
125.此外,本技术实施例提供的双主故障的处理方法是在第一设备与第二设备双侧执行的,因此,无论目标设备是第一设备还是第二设备在确定自身为目标设备时,均能第一时间退出当前系统,因此,提高了当前系统的可靠性和稳定性。
126.上述主要从方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
127.本技术实施例可以根据上述方法示例对双主故障的处理设备进行功能模块的划分,例如可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
128.在采用对应各个功能划分各个功能模块的情况下,图7示出上述实施例中所涉及的双主故障的处理设备的一种可能的结构示意图。如图7所示,该双主故障的处理设备包括:获取模块701、确定模块702和处理模块703。
129.获取模块701用于获取第二设备的健康状态。
130.确定模块702用于确定第一设备的健康状态和确定目标设备;例如执行上述方法实施例中的步骤s401。
131.处理模块703用于当目标设备为第一设备时,退出第一设备和第二设备所在的系统;例如执行上述方法实施例中的步骤s402。
132.可选的,上述双主故障的处理设备还包括:计算模块704。
133.上述计算模块704用于根据第一设备的目标特征的值计算第一健康值;例如执行上述方法实施例中的步骤s601。
134.可选的,上述双主故障的处理设备还包括:收发模块705。
135.收发模块705用于通过第二链路接收所述第二设备发送的第二健康值;例如执行上述方法实施例中的步骤s602。
136.可选的,计算模块704用于根据第一设备的目标特征的值与目标特征中各个特征的权重值计算所述第一健康值。
137.上述双主故障的处理设备的各个模块还可以用于执行上述方法实施例中的其他动作,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
138.其中,确定模块702、处理模块703、计算模块704中的部分或全部步骤可以通过图3中的处理器301执行存储器302中的代码实现。上述获取模块701和收发模块704中的部分或全部步骤可以通过图3中的网络接口303或总线304实现。
139.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本技术实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))方式或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、磁盘、磁带)、光介质(例如,数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state drives,ssd))等。
140.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
141.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
142.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
143.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
144.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
145.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1