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

一种节点故障确定方法、装置和服务器与流程

2021-10-24 04:13:00 来源:中国专利 TAG:节点 说明书 装置 故障 通信


1.本说明书涉及通信技术领域,尤其涉及一种节点故障确定方法、装置和服务器。


背景技术:

2.在大数据的应用愈加广泛,服务于海量数据的分布式系统规模的不断扩大,如何让分布式系统环境保持稳定可靠,变的越来越具有挑战性。分布式系统利用多台服务器协同作业,解决单台服务器所不能解决的计算、存储、传输等问题,分布式系统最常见的形式比如集群,在一个集群中部署有多台服务器作为集群节点。每台服务器作为分布式系统中的一个节点,处理分布式系统所承载的任务中的一部分。
3.在集群中,为了确定各个集群节点的工作状态,各集群节点通过一个设定的端口交互心跳报文,并将集群中的一个节点作为监控节点对集群中的其他节点进行汇总和告警。但是,集群中的集群节点一般会具有多个端口进行数据交互,若交互心跳报文的端口出现故障而其他的端口正常工作,同样会导致集群节点无法对外发送心跳报文而被认为是出现故障的集群节点,从而出现误告警的问题,降低了集群进行故障检测的可靠性。


技术实现要素:

4.为克服相关技术中存在的问题,本说明书提供了一种节点故障确定方法、装置以及服务器。
5.结合本说明书实施方式的第一方面,本技术提供了一种节点故障确定方法,应用于集群节点,包括:
6.通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文;
7.若在预设周期内未接收到其他集群节点的一个端口所发送的反馈报文,则确定该端口出现故障;
8.若确定一个其他集群节点的全部端口都出现故障,则确定该其他集群节点异常;
9.若自身的选举标识符合预设条件,则作为监控节点对出现故障的其他集群节点进行告警。
10.可选的,选举标识为ip地址,预设条件为ip地址最大值或ip地址最小值;或者,
11.选举标识为设备标识,预设条件为设备标识最大值或设备标识最小值。
12.可选的,在通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文之后,还包括:
13.若至少两个端口未接收到其他集群节点所发送的反馈报文,则确定自身出现故障。
14.可选的,通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文,包括:
15.通过至少两个线程生成检测报文,其中,一个线程与一个端口一一对应;
16.基于一个线程通过与该线程所对应的端口向集群中的其他集群节点发送所生成的检测报文;
17.基于一个线程通过与该线程所对应的端口接收集群中的其他集群节点所发送的反馈报文。
18.可选的,检测报文和反馈报文基于icmp协议生成。
19.结合本说明书实施方式的第二方面,本技术提供了一种节点故障确定装置,应用于集群节点,包括:
20.交互单元,用于通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文;
21.端口故障检测单元,用于若在预设周期内未接收到一个端口所发送的反馈报文,则确定该端口出现故障;
22.节点故障检测单元,用于若确定一个其他集群节点的全部端口都出现故障,则确定该其他集群节点异常;
23.告警单元,用于若自身的选举标识符合预设条件,则作为监控节点对出现故障的其他集群节点进行告警。
24.可选的,选举标识为互联网协议ip地址,预设条件为ip地址最大值或ip地址最小值;或者,
25.选举标识为设备标识,预设条件为设备标识最大值或设备标识最小值。
26.可选的,该装置,还包括:
27.自检单元,用于若至少两个端口未接收到其他集群节点所发送的反馈报文,则确定自身出现故障。
28.可选的,通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文,包括:
29.通过至少两个线程生成检测报文,其中,一个线程与一个端口一一对应;
30.基于一个线程通过与该线程所对应的端口向集群中的其他集群节点发送所生成的检测报文;
31.基于一个线程通过与该线程所对应的端口接收集群中的其他集群节点所发送的反馈报文。
32.可选的,检测报文和反馈报文基于icmp协议生成。
33.结合本说明书实施方式的三方面,本技术提供了一种服务器,应用于集群中,包括:处理器、机器可读存储介质和至少两个端口;
34.机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述任一的方法步骤。
35.本说明书的实施方式提供的技术方案可以包括以下有益效果:
36.本说明书实施方式中,通过集群节点上的至少两个端口发送检测报文,并接收其他集群节点针对所发送的检测报文发送的反馈报文,在预设的周期内,未接收到反馈报文则认为在其他集群节点上出现了一个端口的故障,进而在确定一个其他集群节点上的全部端口都出现故障时,确定该其他集群节点整体出现了故障,并进行告警,避免了作为监测节点的集群节点仅在其他集群节点的一个端口出现故障时则将该其他集群节点确定为故障
节点进行告警,导致该其他集群节点的全部业务出现中断的问题,提升了集群故障检测的可靠性。
37.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
38.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施方式,并与说明书一起用于解释本说明书的原理。
39.图1是本技术所涉及的一种节点故障确定方法的流程图;
40.图2是本技术所涉及的集群的结构示意图;
41.图3是本技术所涉及的一种节点故障确定方法中检测报文和反馈报文进行交互的示意图;
42.图4是本技术所涉及的一种节点故障确定装置的结构示意图;
43.图5是本技术所涉及的一种服务器的结构示意图。
具体实施方式
44.这里将详细地对示例性实施方式进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施方式中所描述的实施方式并不代表与本说明书相一致的所有实施方式。
45.本技术提供了一种节点故障确定方法,应用于集群节点,如图1所示,包括:
46.s100、通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文。
47.网络中的集群,如图2所示,包含有多台集群节点,每一个集群节点设置有至少两个端口,每一个端口分别属于不同的网卡,分属于不同的网段,并与不同的网络设备(比如,路由器或交换机)。后续以集群中设置有3台集群节点(集群节点1、集群节点2和集群节点3),每个集群节点中设置有多张网卡(集群节点1包含网卡10和网卡11,集群节点2包含网卡20和网卡21,集群节点3包含网卡30和网卡31),每一张网卡可以包含有一个端口(网卡10包含端口100,网卡11包含端口110,网卡20包含端口200,网卡21包含端口210,网卡30包含端口300,网卡31包含端口310)为例进行描述。需要说明的是,上述仅是举例说明,并不对集群中所包含的集群节点,每个集群节点中所包含的网卡数量,以及网卡上所设置的端口数量做出限制。
48.在集群启动后,集群节点上所运行的平台软件会根据部署在集群中发布各个集群节点的地址信息,比如包含ip(互联网协议,internet protocol)地址和/或mac(媒体访问控制,media access control)地址。各集群节点接收到其他集群节点的ip地址后,可以创建线程以端口为基准分网段的生成检测报文,并通过所设定的端口对外转发该检测报文。在图2所示的集群中,集群节点1可以生成两个检测报文,分别通过网卡10的端口100向网络设备1所连接的集群节点2的端口200和集群节点3的端口300发送,此外,集群节点1还可以生成另外两个检测报文,分别通过网卡11的端口110向网络设备2所连接的集群节点2的端口210和集群节点3的端口310发送。
49.当集群中的其他集群节点接收到了检测报文时,对该检测报文进行解析,并构造该检测报文向对应的反馈报文,通过接收该检测报文的端口向集群节点返回反馈报文。这样一来,一台集群节点就可以实现对于另一台集群节点的一个端口是否出现故障进行检测。
50.可选的,检测报文和反馈报文基于icmp协议(控制报文协议,internet control message protocol)生成,即该检测报文可以为icmp协议中的ping报文,反馈报文可以为icmp协议中的ping回显报文。当然,检测报文和反馈报文还可以基于其他通信协议生成,比如tcp/ip协议(传输控制/网络协议,transmission control protocol/internet protocol)中的keepalive报文,还可以是在集群中的心跳报文。
51.s101、若在预设周期内未接收到其他集群节点的一个端口所发送的反馈报文,则确定该端口出现故障。
52.以集群节点1通过网卡上设置的端口对外发送检测报文为例,如图3所示。集群节点1通过网卡10上的端口100和网卡11上的端口110对外发送检测报文,针对发送出去的检测报文分别启动计时,假设检测报文分别送达至集群节点2和集群节点3。集群节点2和集群节点3分别对检测报文进行解析,并构造出与检测报文相对应的反馈报文。此时,如果集群节点2上的端口210故障,则无法接收到该检测报文,那么,集群节点2可以通过网卡20上的端口200向端口100返回反馈报文。
53.在集群节点1上可以接收到端口200发送过来的反馈报文,确定集群节点2的端口200正常,但一直无法接收到端口210发送的反馈报文,可以确定端口210故障。
54.针对集群节点3,假设其掉电,端口300和端口310都已经失效,无法接收检测报文,也就无法向集群节点1发送反馈报文。此时,集群节点1上为针对端口300和端口310所启动的计时将会超时,从而确定集群节点3上的两个端口都出现了故障。其中,在图3中,被标示为白色的表示为工作端口,被标示为黑色的表示为故障端口。
55.s102、若确定一个其他集群节点的全部端口都出现故障,则确定该其他集群节点异常。
56.此时,集群节点1可以确定集群节点2由于端口200正常工作,集群节点2存在正常的端口,处于工作状态。
57.集群节点1可以确定集群节点3上的端口300和端口310失效,集群节点3不存在正常的端口,处于异常状态。
58.最终,集群节点1可以确定出集群节点2处于正常状态,集群节点3处于异常状态。
59.s103、若自身的选举标识符合预设条件,则作为监控节点对出现故障的其他集群节点进行告警。
60.在集群节点1确定集群节点2处于正常状态,集群节点3处于异常状态时,集群节点1可以根据自身的选举标识来判断是否符合预设条件。
61.可选的,选举标识为ip地址,预设条件为ip地址最大值或ip地址最小值;或者,选举标识为设备标识,预设条件为设备标识最大值或设备标识最小值。该选举标识用于在集群的多个集群节点中选举出一个集群节点作为监控节点,该监控节点可以向集群中所配置的平台软件上报处于故障状态的集群节点,以使平台软件能够基于上报的状态,对集群中的集群设节点进行管理,比如隔离处于异常状态的集群节点等处理。
62.比如,当以ip地址作为选举标识时,并以ip地址的最小值作为预设条件为例。集群节点1的ip地址为192.168.1.4,集群节点2的ip地址为192.168.1.5,集群节点3的ip地址为192.168.1.6。通过比较可以得出,集群节点1的ip地址为集群中多个集群节点的ip地址的最小值,因此,可以将集群节点1作为监控节点向平台软件上报集群节点3的故障,以使其对集群节点3进行隔离操作。
63.当然,集群节点1也可以上报集群节点2的端口210故障,以提示工作人员对检查集群节点2的端口210的情况。
64.此外,该选举标识,还可以为mac地址等其他节点标识,对此不做限制。
65.另外,在上述的过程中,在集群节点能够针对检测报文发送反馈报文时,上述方法,还包括:s104、若在预设周期内接收到其他集群节点的一个端口所发送的反馈报文,则确定该端口未出现故障。
66.本说明书实施方式中,通过集群节点上的至少两个端口发送检测报文,并接收其他集群节点针对所发送的检测报文发送的反馈报文,在预设的周期内,未接收到反馈报文则认为在其他集群节点上出现了一个端口的故障,进而在确定一个其他集群节点上的全部端口都出现故障时,确定该其他集群节点整体出现了故障,并进行告警,避免了作为监测节点的集群节点仅在其他集群节点的一个端口出现故障时则将该其他集群节点确定为故障节点进行告警,导致该其他集群节点的全部业务出现中断的问题,提升了集群故障检测的可靠性。
67.可选的,在步骤s100、通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文之后,还包括:
68.s105、若至少两个端口未接收到其他集群节点所发送的反馈报文,则确定自身出现故障。
69.在集群节点1对外发送检测报文后,在计时超时后,若集群中的其他集群节点都未向集群节点1发送反馈报文,则可以认为自身出现了故障。此时,如果集群节点1仍能够与平台软件之间交互,则可以向集群节点1告知自身的故障,以使平台软件能够对集群节点1进行隔离。
70.可选的,步骤s100、通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文,包括:
71.s100a、通过至少两个线程生成检测报文。
72.s100b、基于一个线程通过与该线程所对应的端口向集群中的其他集群节点发送所生成的检测报文。
73.在集群节点对集群中的其他集群节点进行检测的过程中,可能由于集群节点所处理的业务与检测公用同一线程的情况,此时,如果该集群节点的业务处理量很大,处理器会在一段时间内持续的处理业务报文,从而使得检测报文虽然被集群节点所接收,却无法被集群节点处理的问题,降低了集群节点进行故障确定的效率。
74.此时,集群节点1可以在处理器中创建出至少两个线程,每一个线程针对一个端口创建,与业务所启用的线程相互独立,即,一个线程与一个端口一一对应。此时,针对一个线程,可以构建出需要通过该端口对外发送的多个检测报文,这些检测报文,通过同一个端口,经由同一台网络设备发送至集群中的其他集群节点。
75.s100c、基于一个线程通过与该线程所对应的端口接收集群中的其他集群节点所发送的反馈报文。
76.接收到检测报文的集群节点,将构造出反馈报文,并回发。此时,集群节点1可以在该端口上接收到其他集群节点针对该检测报文回送的反馈报文。该反馈报文将通过为端口所单独设置的线程进行接收和处理,这样一来,集群节点1便可以避免由于业务和检测共用线程导致的检测流程被业务阻塞的问题,提升了集群节点故障检测的效率。
77.相对应的,本技术提供了一种节点故障确定装置,应用于集群节点,如图4所示,包括:
78.交互单元,用于通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文;
79.端口故障检测单元,用于若在预设周期内未接收到一个端口所发送的反馈报文,则确定该端口出现故障;
80.节点故障检测单元,用于若确定一个其他集群节点的全部端口都出现故障,则确定该其他集群节点异常;
81.告警单元,用于若自身的选举标识符合预设条件,则作为监控节点对出现故障的其他集群节点进行告警。
82.可选的,选举标识为ip地址,预设条件为ip地址最大值或ip地址最小值;或者,
83.选举标识为设备标识,预设条件为设备标识最大值或设备标识最小值。
84.可选的,该装置,还包括:
85.自检单元,用于若至少两个端口未接收到其他集群节点所发送的反馈报文,则确定自身出现故障。
86.可选的,通过至少两个端口对外发送检测报文,并接收集群中的其他集群节点针对检测报文所发送的反馈报文,包括:
87.通过至少两个线程生成检测报文,其中,一个线程与一个端口一一对应;
88.基于一个线程通过与该线程所对应的端口向集群中的其他集群节点发送所生成的检测报文;
89.基于一个线程通过与该线程所对应的端口接收集群中的其他集群节点所发送的反馈报文。
90.可选的,检测报文和反馈报文基于icmp协议生成。
91.相对应的,本技术提供了一种服务器,应用于集群中,如图5所示,包括:处理器、机器可读存储介质和至少两个端口;
92.机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使:实现上述任一的方法步骤。
93.本说明书的实施方式提供的技术方案可以包括以下有益效果:
94.本说明书实施方式中,通过集群节点上的至少两个端口发送检测报文,并接收其他集群节点针对所发送的检测报文发送的反馈报文,在预设的周期内,未接收到反馈报文则认为在其他集群节点上出现了一个端口的故障,进而在确定一个其他集群节点上的全部端口都出现故障时,确定该其他集群节点整体出现了故障,并进行告警,避免了作为监测节点的集群节点仅在其他集群节点的一个端口出现故障时则将该其他集群节点确定为故障
节点进行告警,导致该其他集群节点的全部业务出现中断的问题,提升了集群故障检测的可靠性。
95.应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
96.以上所述仅为本说明书的较佳实施方式而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜