节点故障监测方法、装置、系统、电子设备及存储介质与流程

文档序号:35355117发布日期:2023-09-07 23:31阅读:26来源:国知局
节点故障监测方法、装置、系统、电子设备及存储介质与流程

本发明涉及计算机,尤其涉及一种节点故障监测方法、装置、系统、电子设备及存储介质。


背景技术:

1、分布式集群系统是由多个节点服务器构成的集群,各个节点都运行着处理程序,当一个或几个节点的网络状态处于故障状态,则会影响整个分布式集群系统的性能。因此,如何高效精准地监测出故障节点是目前业界亟待解决的重要课题。

2、相关技术中,通常通过ping(packet internet groper,因特网包探索器)或者心跳监测的方式,点对点判断其他节点是否在预设时长内向本节点发送响应信息来判断其他网络节点是否为异常节点,而在网络亚健康的状态下,由于网络连接状态不稳定,因此存在网络异常的节点中的ctdb(cluster trivial database,集群琐碎数据库),若通过ping或心跳监测其他节点传输的响应信息丢失,会误认为其他节点存在故障,使得节点故障检测精度低,进而影响集群系统的稳定性和可靠性。


技术实现思路

1、本发明提供一种节点故障监测方法、装置、系统、电子设备及存储介质,用以解决现有技术中节点故障检测精度低,进而影响集群的稳定性和可靠性的缺陷,实现提高节点故障检测精度,由此提高集群系统的稳定性和可靠性。

2、本发明提供一种节点故障监测方法,应用于分布式集群系统中的第一节点,包括:

3、向所述分布式集群系统中的第二节点发送第一心跳报文;

4、接收所述第二节点返回的第二心跳报文,根据所述第二心跳报文,获取与所述第二节点之间的当前心跳超时次数,以及所述第二节点的当前网络连通状态表;所述第二心跳报文为所述第一心跳报文的响应报文;

5、根据所述当前心跳超时次数和所述当前网络连通状态表,获取所述第二节点的故障监测结果。

6、根据本发明提供的一种节点故障监测方法,所述根据所述当前心跳超时次数和所述当前网络连通状态表,获取所述第二节点的故障监测结果,包括:

7、将所述当前心跳超时次数与次数阈值进行比较,得到第一比较结果;

8、在根据所述第一比较结果,确定所述当前心跳超时次数大于所述次数阈值的情况下,根据所述当前网络连通状态表,判断所述分布式集群系统中是否存在至少一个第三节点与所述第二节点之间的网络连通状态为正常状态;

9、根据判断结果,获取所述第二节点的故障监测结果;

10、其中,所述第三节点为所述分布式集群系统中除所述第一节点和所述第二节点之外的网络节点。

11、根据本发明提供的一种节点故障监测方法,所述根据判断结果,获取所述第二节点的故障监测结果,包括:

12、在根据所述判断结果,确定所述分布式集群系统中不存在至少一个所述第三节点与所述第二节点之间的网络连通状态为正常状态的情况下,确定所述第二节点的故障监测结果为故障状态。

13、根据本发明提供的一种节点故障监测方法,所述根据判断结果,获取所述第二节点的故障监测结果,包括:

14、在根据所述判断结果,确定所述分布式集群系统中存在至少一个所述第三节点与所述第二节点之间的网络连通状态为正常状态的情况下,获取所述第二节点对应的可参考节点的数量;

15、根据所述可参考节点的数量,获取所述第二节点的故障监测结果;

16、其中,所述可参考节点用于在预设周期内为更新得到所述第二节点的当前网络连通状态表提供响应报文。

17、根据本发明提供的一种节点故障监测方法,所述根据所述可参考节点的数量,获取所述第二节点的故障监测结果,包括:

18、将所述可参考节点的数量与数量阈值进行比较,得到第二比较结果;

19、在根据所述第二比较结果,确定所述可参考节点的数量大于所述数量阈值的情况下,确定所述第二节点的故障监测结果为正常状态。

20、根据本发明提供的一种节点故障监测方法,所述方法还包括:

21、在根据所述第二比较结果,确定所述可参考节点的数量大于所述数量阈值的情况下,触发隔离动作;

22、其中,所述隔离动作用于将所述第一节点与所述分布式集群系统中除所述第一节点之外的其他网络节点进行隔离,或者将所述第一节点的网口与所述其他网络节点的网口进行隔离。

23、根据本发明提供的一种节点故障监测方法,所述方法还包括:

24、在根据所述第二比较结果,确定所述可参考节点的数量小于或等于所述数量阈值的情况下,确定所述第二节点的故障监测结果为故障状态。

25、根据本发明提供的一种节点故障监测方法,所述方法还包括:

26、在确定所述第二节点的故障监测结果为故障状态的情况下,在所述分布式集群系统中获取第四节点;所述第四节点为故障监测结果为正常状态,且与所述第二节点具有相同的服务功能的网络节点;

27、将所述第二节点的待处理任务迁移至所述第四节点;

28、在所述第二节点的故障监测结果由故障状态切换为正常状态的情况下,将所述待处理任务恢复至所述第二节点。

29、根据本发明提供的一种节点故障监测方法,所述根据所述第二心跳报文,获取与所述第二节点之间的当前心跳超时次数,以及所述第二节点的当前网络连通状态表,包括:

30、对所述第二心跳报文进行解析,得到所述当前网络连通状态表;

31、根据所述当前网络连通状态表,确定与所述第二节点之间的当前网络连通状态;

32、根据所述当前网络连通状态,对心跳超时计数器的计数值进行更新;

33、根据更新后的计数值,获取所述当前心跳超时次数。

34、根据本发明提供的一种节点故障监测方法,所述根据所述当前网络连通状态,对心跳超时计数器的计数值进行更新,包括:

35、在确定所述当前网络连通状态为异常连通状态的情况下,将所述心跳超时计数器的计数值累计加1。

36、根据本发明提供的一种节点故障监测方法,所述根据所述当前网络连通状态,对心跳超时计数器的计数值进行更新,包括:

37、在确定所述当前网络连通状态为正常连通状态的情况下,将所述心跳超时计数器的计数值保持不变。

38、根据本发明提供的一种节点故障监测方法,所述根据所述当前网络连通状态表,确定与所述第二节点之间的当前网络连通状态,包括:

39、在所述当前网络连通状态表中,查找与所述第二节点之间的连通信息;

40、在查找结果为空的情况下,确定所述当前网络连通状态为异常连通状态。

41、根据本发明提供的一种节点故障监测方法,所述方法还包括:

42、在所述查找结果为查找到所述连通信息的情况下,根据所述连通信息,确定与所述第二节点之间是否断开连接;

43、在确定与所述第二节点之间断开连接的情况下,确定所述当前网络连通状态为异常连通状态。

44、根据本发明提供的一种节点故障监测方法,所述方法还包括:

45、在确定与所述第二节点之间正常连接的情况下,确定所述当前网络连通状态为正常连通状态。

46、根据本发明提供的一种节点故障监测方法,所述向所述分布式集群系统中的第二节点发送第一心跳报文,包括:

47、根据与所述分布式集群系统中各网络节点之间的网络连通状态生成目标网络连通状态表;

48、根据所述目标网络连通状态表生成所述第一心跳报文;

49、在当前时间与上次发送时间之间的时间间隔满足时间间隔阈值的情况下,向所述第二节点发送所述第一心跳报文。

50、根据本发明提供的一种节点故障监测方法,所述方法还包括:

51、根据所述当前网络连通状态表对所述目标网络连通状态表进行更新;

52、根据更新后的目标网络连通状态表以及所述当前心跳超时次数,获取目标故障监测结果;所述目标故障监测结果为所述第一节点的故障监测结果。

53、本发明还提供一种节点故障监测装置,应用于分布式集群系统中的第一节点,包括:

54、发送线程,用于向所述分布式集群系统中的第二节点发送第一心跳报文;

55、接收线程,用于接收所述第二节点返回的第二心跳报文,根据所述第二心跳报文,获取与所述第二节点之间的当前心跳超时次数,以及所述第二节点的当前网络连通状态表;所述第二心跳报文为所述第一心跳报文的响应报文;

56、检测线程,用于根据所述当前心跳超时次数和所述当前网络连通状态表,获取所述第二节点的故障监测结果。

57、本发明还提供一种节点故障监测系统,包括分布式集群系统;

58、所述分布式集群系统包括第一节点、多个第二节点,以及集群琐碎数据库;

59、所述集群琐碎数据库用于为所述第一节点和所述第二节点提供网络连通状态检测服务;

60、所述第一节点用于执行如上述任一项所述节点故障监测方法。

61、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述节点故障监测方法。

62、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述节点故障监测方法。

63、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述节点故障监测方法。

64、本发明提供的节点故障监测方法、装置、系统、电子设备及存储介质,通过第一节点向第二节点发送第一心跳报文以及接收第二节点发送的第二心跳报文,以同步第二节点与各网络节点间的当前网络连通状态表,进而根据当前网络连通状态表获取当前心跳超时次数,并根据当前网络连通状态表以及当前心跳超时次数联合获取第二节点的故障监测结果,以使得ctdb在网络亚健康状态下准确的分析出故障节点,防止误判导致正常节点被执行故障切换和故障恢复的动作,由此提高节点检测的稳定性和可靠性,进而提高集群的稳定性、安全性和可靠性。

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