CN117155937A - 集群节点故障检测方法、装置、设备及存储介质 - Google Patents

集群节点故障检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117155937A
CN117155937A CN202311415750.0A CN202311415750A CN117155937A CN 117155937 A CN117155937 A CN 117155937A CN 202311415750 A CN202311415750 A CN 202311415750A CN 117155937 A CN117155937 A CN 117155937A
Authority
CN
China
Prior art keywords
node
signaling
fault
fault detection
detection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311415750.0A
Other languages
English (en)
Other versions
CN117155937B (zh
Inventor
许立宪
蒙立益
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tengda Taiyuan Technology Co ltd
Original Assignee
Beijing Tengda Taiyuan Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tengda Taiyuan Technology Co ltd filed Critical Beijing Tengda Taiyuan Technology Co ltd
Priority to CN202311415750.0A priority Critical patent/CN117155937B/zh
Publication of CN117155937A publication Critical patent/CN117155937A/zh
Application granted granted Critical
Publication of CN117155937B publication Critical patent/CN117155937B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0681Configuration of triggering conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于故障检测技术领域,公开了一种集群节点故障检测方法、装置、设备及存储介质。本发明通过在检测到节点组群域中新生成状态汇报信令时,确定状态汇报信令对应的信令发起节点;对节点群组列表中信令发起节点的最后活动时刻进行更新;检测节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点;若存在,则对目标节点进行故障检测;若故障检测未通过,则根据目标节点的节点信息生成故障信息,并将故障信息上报至故障监控节点。由于是令集群节点监测为同组的其他集群节点是否发生故障,同时交互的设备数量较少,可以采用较高的频率进行故障检测,在有集群节点发生故障时,可以在短时间内快速发现。

Description

集群节点故障检测方法、装置、设备及存储介质
技术领域
本发明涉及故障检测技术领域,尤其涉及一种集群节点故障检测方法、装置、设备及存储介质。
背景技术
如今确定集群中的故障节点一般是通过在集群中设置一个监控节点,令被监控的集群节点以特定时长为周期,定期向监控节点发送心跳信息(heartbeat message),在多个周期内,未收到某个集群节点发送的心跳信息时,将其确诊为故障节点;
但是,此种方法存在以下缺陷:
1、诊断时间过长,可能无法满足一些高可用系统的需求。例如:如果系统设计为10秒一次心跳,连续三次未检测到心跳信息,则确诊为故障节点,在此种情况下,需要至少30秒才能确诊一个故障节点。而为了避免降低系统的响应速度,不可能将心跳检测的周期设置的过短,注定了以此种方式检测故障接点的时间周期偏长;
2、过于依赖心跳监控的控制网络断定故障节点,为了避免两者相互干扰,集群设计中往往将控制网络和业务网络分离,并且健康监控往往在控制网络内实现。若控制网络出现故障,业务网络还正常工作,用户还在继续利用业务网络写入数据,而系统控制层则可能认为已经出现故障,出现误诊,导致指导用户将输入写入错误的地方,从而造成数据损坏;
3、除了单纯依赖控制网络,集群还单纯依赖了监控节点和被监控节点之间的控制网络通路,若网络通路异常,则被监控节点无法将心跳信息正常发送至监控节点,此时监控节点也会判定为被监控节点出现故障,从而出现误诊。
发明内容
本发明的主要目的在于提供一种集群节点故障检测方法、装置、设备及存储介质,旨在解决现有技术在监测集群中节点是否出现故障时,检测周期长,且容易出现误诊的情况的技术问题。
为实现上述目的,本发明提供了一种集群节点故障检测方法,所述集群节点故障检测方法应用于集群节点,所述集群节点为业务集群中的任一业务节点;
所述集群节点故障检测方法包括以下步骤:
在检测到节点组群域中新生成状态汇报信令时,确定所述状态汇报信令对应的信令发起节点;
对节点群组列表中所述信令发起节点的最后活动时刻进行更新;
检测所述节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点,所述节点组群域由所述节点群组列表中的集群节点组合构建;
若存在,则对所述目标节点进行故障检测;
若故障检测未通过,则根据所述目标节点的节点信息生成故障信息,并将所述故障信息上报至故障监控节点。
可选的,所述若存在,则对所述目标节点进行故障检测的步骤,包括:
若存在,则根据所述目标节点的节点信息构建故障检测信令;
在节点组群域中组播所述故障检测信令;
若在第一预设时长内,在所述节点组群域中未生成所述故障检测信令对应的检测响应信令,则判定故障检测未通过。
可选的,所述在节点组群域中组播所述故障检测信令的步骤之后,还包括:
若在第一预设时长内,检测所述节点组群域中生成所述故障检测信令对应的检测响应信令,则从所述检测响应信令中提取故障验证数据;
对所述故障验证数据进行解析,获得节点验证信息;
将所述节点验证信息与所述目标节点的节点信息进行比较;
若所述节点验证信息与所述目标节点的节点信息不一致,则判定故障检测未通过。
可选的,所述若存在,则对所述目标节点进行故障检测的步骤,包括:
根据本地节点对应的节点信息构建检测参数;
根据所述检测参数构建故障检测信令;
获取所述目标节点与本地节点之间的至少两个通信通道;
通过所述至少两个通信通道将所述故障检测信令发送至所述目标节点;
若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则判定故障检测未通过。
可选的,所述根据本地节点对应的节点信息构建检测参数的步骤,包括:
获取本地节点的节点信息;
以第一预设顺序将所述节点信息进行数据组合,获得组合数据;
对所述组合数据进行分割,获得多个分割数据;
以第二预设顺序将所述多个分割数据进行拼接, 获得拼接数据;
通过预设签名算法对所述拼接数据进行加密,获得加密数据;
根据所述加密数据构建检测参数。
可选的,所述若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则判定故障检测未通过的步骤,包括:
若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则根据所述节点群组列表确定转发节点;
将所述故障检测信令发送至所述转发节点,以使所述转发节点将所述故障检测信令转发至所述目标节点;
若在第二预设时长内未接收到所述转发节点转发的检测响应信令,则判定故障检测未通过。
可选的,所述集群节点故障检测方法还包括:
在接收到故障检测信令时,获取本地节点的节点信息;
以第三预设顺序将所述本地节点信息进行数据组合,获得组合数据;
对所述组合数据进行分割,获得多个分割数据;
以第四预设顺序将所述多个分割数据进行拼接, 获得拼接数据;
通过预设签名算法对所述拼接数据进行加密,获得故障验证数据;
以所述故障验证数据为信令参数,构建状态汇报信令;
将所述状态汇报信令在节点组群域中进行组播。
此外,为实现上述目的,本发明还提出一种集群节点故障检测装置,所述集群节点故障检测装置包括以下模块:
监测模块,用于在检测到节点组群域中新生成状态汇报信令时,确定所述状态汇报信令对应的信令发起节点;
更新模块,用于对节点群组列表中所述信令发起节点的最后活动时刻进行更新;
检测模块,用于检测所述节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点,所述节点组群域由所述节点群组列表中的集群节点组合构建;
所述检测模块,还用于若存在,则对所述目标节点进行故障检测;
发送模块,用于若故障检测未通过,则根据所述目标节点的节点信息生成故障信息,并将所述故障信息上报至故障监控节点。
此外,为实现上述目的,本发明还提出一种集群节点故障检测设备,所述集群节点故障检测设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的集群节点故障检测程序,所述集群节点故障检测程序被处理器执行时实现如上所述的集群节点故障检测方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有集群节点故障检测程序,所述集群节点故障检测程序执行时实现如上所述的集群节点故障检测方法的步骤。
本发明通过在检测到节点组群域中新生成状态汇报信令时,确定状态汇报信令对应的信令发起节点;对节点群组列表中信令发起节点的最后活动时刻进行更新;检测节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点;若存在,则对目标节点进行故障检测;若故障检测未通过,则根据目标节点的节点信息生成故障信息,并将故障信息上报至故障监控节点。由于是令集群节点监测为同组的其他集群节点是否发生故障,同时交互的设备数量较少,可以采用较高的频率进行故障检测,在有集群节点发生故障时,可以在短时间内快速发现。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明集群节点故障检测方法第一实施例的流程示意图;
图3为本发明一实施例的邻里协防对比示意图;
图4为本发明集群节点故障检测方法第二实施例的流程示意图;
图5为本发明集群节点故障检测装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的集群节点故障检测设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及集群节点故障检测程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在集群节点故障检测设备中,所述电子设备通过处理器1001调用存储器1005中存储的集群节点故障检测程序,并执行本发明实施例提供的集群节点故障检测方法。
本发明实施例提供了一种集群节点故障检测方法,参照图2,图2为本发明一种集群节点故障检测方法第一实施例的流程示意图。
本实施例中,所述集群节点故障检测方法应用于集群节点,所述集群节点为业务集群中的任一业务节点;
所述集群节点故障检测方法包括以下步骤:
步骤S10:在检测到节点组群域中新生成状态汇报信令时,确定所述状态汇报信令对应的信令发起节点。
需要说明的是,本实施例的执行主体可以是所述集群节点故障检测设备(简称为故障检测设备),所述故障检测设备可以是业务集群中任意一个业务节点,所述故障检测设备可以是个人电脑、服务器等电子设备,或其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以故障检测设备为例对本发明集群节点故障检测方法进行说明。
需要说明的是,在本实施例中,集群中的集群节点时采用邻里协防的方式检测节点故障是否发生故障,即将集群中的节点分为至少一个组,同一组的集群节点会构建一个组群域,之后同一组的节点会向组群域中组播状态汇报信令,以汇报自身并未出现故障还存活,在此过程中,各个集群节点均会在本地设置一张节点群组列表,用于记录分属同一组的集群节点,并记录各节点上次组播状态汇报信令的最后时刻,因此,在检测到节点组群域中新生成状态汇报信令时,需要对节点群组列表进行更新,此时需要获取状态汇报信令对应的信令发起节点。其中,状态汇报信令可以是比IP层更低的网络信令,如数据链路层信令等。
在实际使用中,确定状态汇报信令对应的信令发起节点可以是提取状态汇报信令中的信令参数,对信令参数进行解析,从而获得发起节点的节点标识,根据节点标识确定信令发起节点。
步骤S20:对节点群组列表中所述信令发起节点的最后活动时刻进行更新。
需要说明的是,在节点群组列表中每个集群节点均对应一条记录,该记录至少存储有节点标识、节点名称、节点地址、最后活动时刻等信息,此时对节点群组列表中信令发起节点的最后活动时刻进行更新可以是获取节点群组列表中信令发起节点对应的记录,将该记录中的最后活动时刻更新为状态汇报信令的生成时刻。
步骤S30:检测所述节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点。
步骤S40:若存在,则对所述目标节点进行故障检测。
需要说明的是,预设阈值可以由集群节点故障检测设备的管理人员预先根据集群节点进行状态汇报的频率预先进行设置,例如:集群节点以100ms为周期,间隔性在节点组群域中组播状态汇报信令进行状态汇报,则此时可以将预设间隔设置为300ms-1000ms之间的任意数值。其中,不同的故障检测设备(即不同的集群节点)汇报节点活动状态的频率可以不同,例如:A节点的活动汇报条件可以设置为100ms为间隔汇报一次,B节点的活动汇报条件可以设置为200ms为间隔汇报一次。
需要说明的是,节点组群域由节点群组列表中的集群节点组合构建,节点群组列表中的各个集群节点可以在节点组群域中以组播(以组群的形式进行广播,组群中的成员才可接收该广播的消息)的方式发送状态汇报信令,则此时节点组群域中的集群节点均可以检测并接收到该状态汇报信令。
可以理解的是,若节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点,则表示此时目标节点已经较长时间未通过状态汇报信令汇报其节点状态了,此时目标节点可能已经出现了故障,因此,可以对目标节点进行故障检测,从而确定目标节点是否真的已经出现故障。
在实际使用中,故障检测,依旧可以利用组播的形式进行,此时本实施例所述步骤S40,可以包括:
若存在,则根据所述目标节点的节点信息构建故障检测信令;
在节点组群域中组播所述故障检测信令;
若在第一预设时长内,在所述节点组群域中未生成所述故障检测信令对应的检测响应信令,则判定故障检测未通过。
需要说明的是,由于是采用组播的方式在节点组群域中组播故障检测信令,因此,目标节点也可以接收到该故障检测信令,之后,目标节点根据信令的类型,即可确定是在对其进行故障检测,因此,可以对故障检测信令进行响应,生成检测响应信令,并将其在节点组群域中进行组播。
可以理解的是,若在第一预设时长内,在节点组群域中未生成故障检测信令对应的检测响应信令,则表示此时目标节点已经无法正常对故障检测信令进行相应,因此,可以判定故障检测未通过。
而若是在第一预设时长内,在节点组群域中生成了故障检测信令对应的检测响应信令,则可以进一步检测,目标节点在可响应时,是否可以正常进行逻辑计算,则此时本实施例所述在节点组群域中组播所述故障检测信令的步骤之后,还可以包括:
若在第一预设时长内,检测所述节点组群域中生成所述故障检测信令对应的检测响应信令,则从所述检测响应信令中提取故障验证数据;
对所述故障验证数据进行解析,获得节点验证信息;
将所述节点验证信息与所述目标节点的节点信息进行比较;
若所述节点验证信息与所述目标节点的节点信息不一致,则判定故障检测未通过。
需要说明的是,为了表征节点并未出现故障,目标节点在接收到故障检测信令后,可以将自身的节点信息经过特定处理后,生成故障验证数据作为信令参数添加至检测响应信令中,则此时为了验证目标节点是否可正确进行逻辑计算,在检测到检测响应信令后,可以从检测响应信令中提取故障验证数据,并将其进行逆向处理,将故障验证数据转化为节点验证信息。
可以理解的是,若节点验证信息与目标节点的节点信息不一致,则表示目标节点此时虽然可以进行响应,但是会出现逻辑错误,此时依旧可以判定目标节点出现故障,因此,可以判定故障检测未通过。
若节点验证信息与目标节点的节点信息一致,则表示此时目标节点可以正常进行响应,且逻辑计算也正常,因此,可以判定故障检测通过,并将节点群组列表中目标节点的最后活动时刻更新为检测响应信令的生成时刻。
在实际使用中,故障检测,也可以采用直接通信的方式进行验证,则此时本实施例所述步骤S40,可以包括:
根据本地节点对应的节点信息构建检测参数;
根据所述检测参数构建故障检测信令;
获取所述目标节点与本地节点之间的至少两个通信通道;
通过所述至少两个通信通道将所述故障检测信令发送至所述目标节点;
若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则判定故障检测未通过。
需要说明的是,为了保证通信的可靠性,集群节点会与被分为同一组的集群节点均构建至少两个通信通道,保证即使其中有部分通信通道出现了异常,依旧可以与其他集群节点进行通信。
在实际使用中,通过至少两个通信通道将故障检测信令发送至目标节点可以是根据各通信通道分别发送一次故障检测信令至目标节点,其中,各通信通道进行发送可以在同一时刻进行。
可以理解的是,若在第一预设时长内,目标节点未通过至少两个通信通道反馈检测响应信令,则表示此时目标节点已无法进行响应,因此,可以判定故障检测未通过。而若是目标节点通过任意一个通信通道反馈了检测响应信令,则此时依旧可以对提取检测响应信令中包含的故障验证数据,根据故障验证数据进行逻辑计算正确性的验证,并在验证通过时,判定故障检测通过。
在具体实现中,由于是将故障检测信令直接发送至目标节点,而非通过组播的方式进行,此时目标节点在接收到故障检测信令时,难以确定故障检测信令是否为伪造的,此时为了便于目标节点验证故障检测信令的真实性,本实施例所述根据本地节点对应的节点信息构建检测参数的步骤,包括:
获取本地节点的节点信息;
以第一预设顺序将所述节点信息进行数据组合,获得组合数据;
对所述组合数据进行分割,获得多个分割数据;
以第二预设顺序将所述多个分割数据进行拼接, 获得拼接数据;
通过预设签名算法对所述拼接数据进行加密,获得加密数据;
根据所述加密数据构建检测参数。
需要说明的是,本地节点可以是所述故障检测设备,本地节点的节点信息可以是故障检测设备作为集群节点时的节点信息,可以包括节点名称、节点标识、节点设备类型、节点设备编号等信息。第一预设顺序及第二预设顺序均可以由故障检测设备的管理人员根据实际需要预先进行设置,预设签名算法可以为可逆加密算法,如:RC2或RC4算法。目标节点与本地节点之间的通信通道可以是目标节点与本地节点在此前依据TIPC协议(Transparent Inter-process communication protocol)预先创建的通信链路。
例如:获取到目标节点的节点信息(节点名称、节点标识、节点设备类型、节点设备编号),将节点信息转化为字符串,第一预设顺序“节点标识-节点名称-节点设备编号-节点设备类型”的形式将其进行字符串拼接,组合为组合数据,之后将组合数据等长分割为4份,获得4个分割数据,然后对其进行编号(分别编号为1、2、3、4),以第二预设顺序“3-4-2-1”将4个分割数据进行拼接,从而获得拼接数据,之后再通过预设签名算法对拼接数据进行加密,将加密获得的密文作为加密数据。
其中,在将组合数据分割为多个分割数据时,也可以采用分割为更多份数,此处分为4份仅做举例说明,但不对其进行限制。
可以理解的是,由于故障检测信令中的检测参数,是通过复杂处理的方式根据本地节点的节点信息构建,恶意攻击者即使拦截到了故障检测信令,也难以获知故障检测信令中信令参数的构建方式,难以伪造故障检测信令,但是,目标节点在接收到故障检测信令之后,可以通过预先设置的逆向方式对故障检测信令中的信令参数进行处理,还原得到发起该故障检测信令的节点的节点信息,并验证其是否存在于节点群组列表中,确定故障检测请求是否为真正的集群节点发送,从而确定是否需要进行响应,由此,则保证了集群中的分组故障检测不会被恶意攻击者恶意利用。
进一步的,在极端场景下(如网络断线或硬件损坏),本地节点与目标节点之间的通信通道可能均会发生异常,此时为了减少误报,可以选择由其他节点进行转发验证,则此时本实施例所述若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则判定故障检测未通过的步骤,可以包括:
若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则根据所述节点群组列表确定转发节点;
将所述故障检测信令发送至所述转发节点,以使所述转发节点将所述故障检测信令转发至所述目标节点;
若在第二预设时长内未接收到所述转发节点转发的检测响应信令,则判定故障检测未通过。
需要说明的是,第二预设时长可以由故障检测设备的管理人员预先进行设置,由于此时涉及到节点转发消息,而转发需要处理时长,此时可以将第二预设时长设置的长于第一预设时长,例如:将第二预设时长设置为1秒或1.5秒。根据节点群组列表确定转发节点可以是根据节点群组列表确定与故障检测设备被分为同一组的其他集群节点,将目标节点从中排除后,选取任意一个集群节点作为转发节点。
在实际使用中,若在第一预设时长内未接收到所述目标邻居节点反馈的故障检测响应,则此时可能是由于目标节点与本地节点之间的通信通道均出现故障,目标节点并未接收到故障检测信令,此时为了可以区分此种情况,可以尝试通过其他节点进行转发,因此,可以根据节点群组列表确定转发节点,然后将故障检测信令发送至转发节点,由转发节点将故障检测信令转发至目标节点,其中,转发节点在将故障检测信令转发至目标节点后,会监测目标节点是否反馈检测响应信令,并在目标节点反馈检测响应信令时,将检测响应信令转发给故障检测设备。
可以理解的是,若在第二预设时长内未接收到转发节点转发的检测响应信令,则表示此时目标节点应当已经收到了故障检测信令,但是无法正常进行响应,此时可以判定目标节点发生了故障,因此,可以判定故障检测未通过。
步骤S50:若故障检测未通过,则根据所述目标节点的节点信息生成故障信息,并将所述故障信息上报至故障监控节点。
可以理解的是,若故障检测未通过,则标识目标节点此时已经无法正常对故障检测进行响应,此时可以判定目标节点已经出现了故障,因此,可以根据目标节点的节点信息生成故障信息,并将故障信息上报至故障监控节点。
其中,节点信息可以包括节点名称、节点标识等信息,故障信息可以包括故障节点名称、故障节点标识、故障时间等信息。
为了便于理解,现结合图3进行说明,但不对本方案进行限定。图3为邻里协防对比示意图。
如今采用的传统声明心跳机制为如图3a所示,节点1、2、3均定期向监控节点发送心跳信息;
而邻里协防方式如图3b所示,集群中集群节点1、2和3被分为同一组,三个集群节点会组合构建一节点组群域,各集群节点会向节点组群域中组播状态汇报信令来汇报自身的节点活动状态,此时节点1会监控节点2和3是否发生故障,节点2会监控节点1和3是否发生故障,节点3会监控节点1和2是否发生故障,此时若节点1发生故障,节点2和3均有可能会发现此故障,并向故障监控节点上报故障信息,同时,节点1、2和3各自与其他同一组中的节点基于TIPC协议预先创建了两个通信链路(主要通信通道及备用通信通道),从而保证了通信的可靠性。
本实施例通过在检测到节点组群域中新生成状态汇报信令时,确定状态汇报信令对应的信令发起节点;对节点群组列表中信令发起节点的最后活动时刻进行更新;检测节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点;若存在,则对目标节点进行故障检测;若故障检测未通过,则根据目标节点的节点信息生成故障信息,并将故障信息上报至故障监控节点。由于是令集群节点监测为同组的其他集群节点是否发生故障,同时交互的设备数量较少,可以采用较高的频率进行故障检测,在有集群节点发生故障时,可以在短时间内快速发现。
参考图4,图4为本发明一种集群节点故障检测方法第二实施例的流程示意图。
基于上述第一实施例,本实施例集群节点故障检测方法在所述步骤S50之后,还包括:
步骤S60:在接收到故障检测信令时,获取本地节点的节点信息;
步骤S70:以第三预设顺序将所述本地节点信息进行数据组合,获得组合数据;
步骤S80:对所述组合数据进行分割,获得多个分割数据;
步骤S90:以第四预设顺序将所述多个分割数据进行拼接, 获得拼接数据;
步骤S100:通过预设签名算法对所述拼接数据进行加密,获得故障验证数据;
步骤S110:以所述故障验证数据为信令参数,构建检测响应信令;
步骤S120:将所述检测响应信令在节点组群域中进行组播或反馈至所述故障检测信令的发起节点。
需要说明的是,若故障检测设备接收到故障检测信令,则表示其他集群节点检测到故障检测设备已较长时间未汇报节点活动状态,在对其进行故障检测,此时为了向该集群节点表明自身并未发生故障,可以正常进行响应,并可以进行逻辑计算,可以获取本地节点的节点信息,并根据节点信息进行一系列复杂的逻辑计算,从而生成故障验证数据。
在实际使用中,若活动汇报条件被满足,则表示此时故障检测设备需要向其他节点汇报自身的节点活动状态,此时为了生成状态汇报信令,可以获取本地节点的节点信息。
需要说明的是,第三预设顺序及第四预设顺序均可以由故障检测设备的管理人员预先进行设置,其中,第三预设顺序与上述第一预设顺序需保持不同,第四预设顺序需与上述第二预设顺序保持不同。
例如:假设第一预设顺序为“节点标识-节点名称-节点设备编号-节点设备类型”,则可以将第三预设顺序设置为“节点设备编号-节点标识-节点名称-节点设备类型”;假设第二预设顺序为“3-4-2-1”,则第四预设顺序可以设置为“1-4-3-2”。
可以理解的是,在以故障验证数据为信令参数,构建检测响应信令之后,可以根据接收到故障检测信令的方式,选择将故障检测信令在节点组群域中进行组播,还是将检测响应信令反馈至所述故障检测信令的发起节点。
例如:故障检测信令是以在节点组群域中组播的方式发送至故障检测设备的,则此时故障检测设备可以将检测响应信令在节点组群域中进行组播;若故障检测信令是其他集群节点通过预设的通信通道直接发送至故障检测设备的,则此时可以直接将其反馈至故障检测信令的发起节点。
本实施例通过在接收到故障检测信令时,获取本地节点的节点信息;以第三预设顺序将所述本地节点信息进行数据组合,获得组合数据;对所述组合数据进行分割,获得多个分割数据;以第四预设顺序将所述多个分割数据进行拼接, 获得拼接数据;通过预设签名算法对所述拼接数据进行加密,获得故障验证数据;以所述故障验证数据为信令参数,构建检测响应信令;将所述检测响应信令在节点组群域中进行组播或反馈至所述故障检测信令的发起节点。由于会对本地节点信息进行逻辑处理,构建故障验证数据,然后根据故障验证数据生成检测响应信令,将检测响应信令在节点组群域中进行组播或反馈至所述故障检测信令的发起节点,以便于其对故障检测设备是否可正常进行逻辑处理进行验证,确定故障检测设备是否发生故障。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有集群节点故障检测程序,所述集群节点故障检测程序被处理器执行时实现如上文所述的集群节点故障检测方法的步骤。
参照图5,图5为本发明集群节点故障检测装置第一实施例的结构框图。
如图5所示,本发明实施例提出的集群节点故障检测装置包括:
监测模块10,用于在检测到节点组群域中新生成状态汇报信令时,确定所述状态汇报信令对应的信令发起节点;
更新模块20,用于对节点群组列表中所述信令发起节点的最后活动时刻进行更新;
检测模块30,用于检测所述节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点,所述节点组群域由所述节点群组列表中的集群节点组合构建;
所述检测模块30,还用于若存在,则对所述目标节点进行故障检测;
发送模块40,用于若故障检测未通过,则根据所述目标节点的节点信息生成故障信息,并将所述故障信息上报至故障监控节点。
本实施例通过在检测到节点组群域中新生成状态汇报信令时,确定状态汇报信令对应的信令发起节点;对节点群组列表中信令发起节点的最后活动时刻进行更新;检测节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点;若存在,则对目标节点进行故障检测;若故障检测未通过,则根据目标节点的节点信息生成故障信息,并将故障信息上报至故障监控节点。由于是令集群节点监测为同组的其他集群节点是否发生故障,同时交互的设备数量较少,可以采用较高的频率进行故障检测,在有集群节点发生故障时,可以在短时间内快速发现。
进一步的,所述检测模块30,还用于若存在,则根据所述目标节点的节点信息构建故障检测信令;在节点组群域中组播所述故障检测信令;若在第一预设时长内,在所述节点组群域中未生成所述故障检测信令对应的检测响应信令,则判定故障检测未通过。
进一步的,所述检测模块30,还用于若在第一预设时长内,检测所述节点组群域中生成所述故障检测信令对应的检测响应信令,则从所述检测响应信令中提取故障验证数据;对所述故障验证数据进行解析,获得节点验证信息;将所述节点验证信息与所述目标节点的节点信息进行比较;若所述节点验证信息与所述目标节点的节点信息不一致,则判定故障检测未通过。
进一步的,所述检测模块30,还用于根据本地节点对应的节点信息构建检测参数;根据所述检测参数构建故障检测信令;获取所述目标节点与本地节点之间的至少两个通信通道;通过所述至少两个通信通道将所述故障检测信令发送至所述目标节点;若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则判定故障检测未通过。
进一步的,所述检测模块30,还用于获取本地节点的节点信息;以第一预设顺序将所述节点信息进行数据组合,获得组合数据;对所述组合数据进行分割,获得多个分割数据;以第二预设顺序将所述多个分割数据进行拼接, 获得拼接数据;通过预设签名算法对所述拼接数据进行加密,获得加密数据;根据所述加密数据构建检测参数。
进一步的,所述检测模块30,还用于若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则根据所述节点群组列表确定转发节点;将所述故障检测信令发送至所述转发节点,以使所述转发节点将所述故障检测信令转发至所述目标节点;若在第二预设时长内未接收到所述转发节点转发的检测响应信令,则判定故障检测未通过。
进一步的,所述发送模块40,还用于在接收到故障检测信令时,获取本地节点的节点信息;以第三预设顺序将所述本地节点信息进行数据组合,获得组合数据;对所述组合数据进行分割,获得多个分割数据;以第四预设顺序将所述多个分割数据进行拼接, 获得拼接数据;通过预设签名算法对所述拼接数据进行加密,获得故障验证数据;以所述故障验证数据为信令参数,构建检测响应信令;将所述检测响应信令在节点组群域中进行组播或反馈至所述故障检测信令的发起节点。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的集群节点故障检测方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种集群节点故障检测方法,其特征在于,所述集群节点故障检测方法应用于集群节点,所述集群节点为业务集群中的任一业务节点;
所述集群节点故障检测方法包括以下步骤:
在检测到节点组群域中新生成状态汇报信令时,确定所述状态汇报信令对应的信令发起节点;
对节点群组列表中所述信令发起节点的最后活动时刻进行更新;
检测所述节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点,所述节点组群域由所述节点群组列表中的集群节点组合构建;
若存在,则对所述目标节点进行故障检测;
若故障检测未通过,则根据所述目标节点的节点信息生成故障信息,并将所述故障信息上报至故障监控节点。
2.如权利要求1所述的集群节点故障检测方法,其特征在于,所述若存在,则对所述目标节点进行故障检测的步骤,包括:
若存在,则根据所述目标节点的节点信息构建故障检测信令;
在节点组群域中组播所述故障检测信令;
若在第一预设时长内,在所述节点组群域中未生成所述故障检测信令对应的检测响应信令,则判定故障检测未通过。
3.如权利要求2所述的集群节点故障检测方法,其特征在于,所述在节点组群域中组播所述故障检测信令的步骤之后,还包括:
若在第一预设时长内,检测所述节点组群域中生成所述故障检测信令对应的检测响应信令,则从所述检测响应信令中提取故障验证数据;
对所述故障验证数据进行解析,获得节点验证信息;
将所述节点验证信息与所述目标节点的节点信息进行比较;
若所述节点验证信息与所述目标节点的节点信息不一致,则判定故障检测未通过。
4.如权利要求1所述的集群节点故障检测方法,其特征在于,所述若存在,则对所述目标节点进行故障检测的步骤,包括:
根据本地节点对应的节点信息构建检测参数;
根据所述检测参数构建故障检测信令;
获取所述目标节点与本地节点之间的至少两个通信通道;
通过所述至少两个通信通道将所述故障检测信令发送至所述目标节点;
若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则判定故障检测未通过。
5.如权利要求4所述的集群节点故障检测方法,其特征在于,所述根据本地节点对应的节点信息构建检测参数的步骤,包括:
获取本地节点的节点信息;
以第一预设顺序将所述节点信息进行数据组合,获得组合数据;
对所述组合数据进行分割,获得多个分割数据;
以第二预设顺序将所述多个分割数据进行拼接, 获得拼接数据;
通过预设签名算法对所述拼接数据进行加密,获得加密数据;
根据所述加密数据构建检测参数。
6.如权利要求4所述的集群节点故障检测方法,其特征在于,所述若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则判定故障检测未通过的步骤,包括:
若在第一预设时长内,所述目标节点未通过所述至少两个通信通道反馈检测响应信令,则根据所述节点群组列表确定转发节点;
将所述故障检测信令发送至所述转发节点,以使所述转发节点将所述故障检测信令转发至所述目标节点;
若在第二预设时长内未接收到所述转发节点转发的检测响应信令,则判定故障检测未通过。
7.如权利要求1-6任一项所述的集群节点故障检测方法,其特征在于,所述集群节点故障检测方法还包括:
在接收到故障检测信令时,获取本地节点的节点信息;
以第三预设顺序将所述本地节点信息进行数据组合,获得组合数据;
对所述组合数据进行分割,获得多个分割数据;
以第四预设顺序将所述多个分割数据进行拼接, 获得拼接数据;
通过预设签名算法对所述拼接数据进行加密,获得故障验证数据;
以所述故障验证数据为信令参数,构建检测响应信令;
将所述检测响应信令在节点组群域中进行组播或反馈至所述故障检测信令的发起节点。
8.一种集群节点故障检测装置,其特征在于,所述集群节点故障检测装置包括以下模块:
监测模块,用于在检测到节点组群域中新生成状态汇报信令时,确定所述状态汇报信令对应的信令发起节点;
更新模块,用于对节点群组列表中所述信令发起节点的最后活动时刻进行更新;
检测模块,用于检测所述节点群组列表中是否存在对应的最后活动时刻与当前时刻之间间隔大于预设阈值的目标节点,所述节点组群域由所述节点群组列表中的集群节点组合构建;
所述检测模块,还用于若存在,则对所述目标节点进行故障检测;
发送模块,用于若故障检测未通过,则根据所述目标节点的节点信息生成故障信息,并将所述故障信息上报至故障监控节点。
9.一种集群节点故障检测设备,其特征在于,所述集群节点故障检测设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的集群节点故障检测程序,所述集群节点故障检测程序被处理器执行时实现如权利要求1-7中任一项所述的集群节点故障检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有集群节点故障检测程序,所述集群节点故障检测程序执行时实现如权利要求1-7中任一项所述的集群节点故障检测方法的步骤。
CN202311415750.0A 2023-10-30 2023-10-30 集群节点故障检测方法、装置、设备及存储介质 Active CN117155937B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311415750.0A CN117155937B (zh) 2023-10-30 2023-10-30 集群节点故障检测方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311415750.0A CN117155937B (zh) 2023-10-30 2023-10-30 集群节点故障检测方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN117155937A true CN117155937A (zh) 2023-12-01
CN117155937B CN117155937B (zh) 2024-01-23

Family

ID=88884769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311415750.0A Active CN117155937B (zh) 2023-10-30 2023-10-30 集群节点故障检测方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117155937B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103117901A (zh) * 2013-02-01 2013-05-22 华为技术有限公司 一种分布式心跳检测方法、装置及系统
CN104166589A (zh) * 2013-05-17 2014-11-26 阿里巴巴集团控股有限公司 一种心跳包的处理方法和装置
CN105591780A (zh) * 2014-10-24 2016-05-18 杭州华三通信技术有限公司 集群监测方法和设备
CN106933693A (zh) * 2017-03-15 2017-07-07 郑州云海信息技术有限公司 一种数据库集群节点故障自动修复方法及系统
CN111221700A (zh) * 2019-10-31 2020-06-02 北京浪潮数据技术有限公司 一种集群节点状态监控方法、装置、设备及可读存储介质
US10936224B1 (en) * 2019-09-13 2021-03-02 EMC IP Holding Company LLC Cluster controller selection for shared storage clusters
CN113595836A (zh) * 2021-09-27 2021-11-02 云宏信息科技股份有限公司 一种高可用集群的心跳检测方法、存储介质和计算节点

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103117901A (zh) * 2013-02-01 2013-05-22 华为技术有限公司 一种分布式心跳检测方法、装置及系统
CN104166589A (zh) * 2013-05-17 2014-11-26 阿里巴巴集团控股有限公司 一种心跳包的处理方法和装置
CN105591780A (zh) * 2014-10-24 2016-05-18 杭州华三通信技术有限公司 集群监测方法和设备
CN106933693A (zh) * 2017-03-15 2017-07-07 郑州云海信息技术有限公司 一种数据库集群节点故障自动修复方法及系统
US10936224B1 (en) * 2019-09-13 2021-03-02 EMC IP Holding Company LLC Cluster controller selection for shared storage clusters
US20210081123A1 (en) * 2019-09-13 2021-03-18 EMC IP Holding Company LLC Cluster controller selection for shared storage clusters
CN111221700A (zh) * 2019-10-31 2020-06-02 北京浪潮数据技术有限公司 一种集群节点状态监控方法、装置、设备及可读存储介质
CN113595836A (zh) * 2021-09-27 2021-11-02 云宏信息科技股份有限公司 一种高可用集群的心跳检测方法、存储介质和计算节点

Also Published As

Publication number Publication date
CN117155937B (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
CN108173911B (zh) 一种微服务故障检测处理方法及装置
CN111092869B (zh) 终端接入办公网络安全管控方法及认证服务器
US8086729B1 (en) Distributed statistical detection of network problems and causes
US20080276135A1 (en) Service Alarm Correlation
US20160283307A1 (en) Monitoring system, monitoring device, and test device
CN104065526B (zh) 一种服务器故障报警的方法和装置
US7995485B1 (en) Method and apparatus for providing automated diagnostics of networks
CN106330531B (zh) 节点故障记录和处理的方法以及装置
CN112866408B (zh) 一种集群中业务切换方法、装置、设备及存储介质
CN112291116A (zh) 链路故障检测方法、装置及网络设备
CN113489149B (zh) 基于实时状态感知的电网监控系统业务主节点选取方法
CN117155937B (zh) 集群节点故障检测方法、装置、设备及存储介质
CN113794597A (zh) 告警信息处理方法、系统、电子设备及存储介质
KR102333866B1 (ko) 이동 통신 네트워크 이상 진단 장치 및 방법
US11153769B2 (en) Network fault discovery
JP4485344B2 (ja) サーバ装置、障害経路診断方法、および障害経路診断プログラム
CN117155938B (zh) 集群节点故障上报方法、装置、设备及存储介质
WO2021249629A1 (en) Device and method for monitoring communication networks
CN111130813A (zh) 一种基于网络的信息处理方法及电子设备
CN114051059B (zh) 异地双活系统的idc交易跨域决策方法
JP2012129664A (ja) ネットワーク通信状態監視装置
CN115378816B (zh) 网络配置检测方法、装置及存储介质
CN113630396B (zh) 处理网络安全告警信息的方法、装置及系统
ES2812152T3 (es) Un método y un sistema para habilitar una (re)configuración de una red de telecomunicaciones
CN115664921A (zh) 一种基于web的网络交换设备管理系统、方法及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant