CN115102887A - 一种集群节点监控方法及相关设备 - Google Patents
一种集群节点监控方法及相关设备 Download PDFInfo
- Publication number
- CN115102887A CN115102887A CN202210832794.2A CN202210832794A CN115102887A CN 115102887 A CN115102887 A CN 115102887A CN 202210832794 A CN202210832794 A CN 202210832794A CN 115102887 A CN115102887 A CN 115102887A
- Authority
- CN
- China
- Prior art keywords
- thread
- node
- heartbeat
- monitoring
- cluster
- 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.)
- Pending
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 199
- 238000000034 method Methods 0.000 title claims abstract description 129
- 230000005540 biological transmission Effects 0.000 claims abstract description 70
- 230000000977 initiatory effect Effects 0.000 claims abstract description 26
- 230000006870 function Effects 0.000 claims description 32
- 238000011084 recovery Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008054 signal transmission Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 81
- 238000012806 monitoring device Methods 0.000 abstract description 4
- 238000002955 isolation Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种集群节点监控方法、装置、电子设备及计算机可读存储介质,应用于集群系统中的每一节点,方法包括:利用心跳监测线程发起心跳信号;利用传输线程将所述心跳信号发送至所述集群系统中的其他各节点,并接收其他各节点反馈的回复信号;利用所述心跳监测线程根据各所述回复信号确定所述集群系统中的离线节点,并将对应的离线节点信息上传至主线程;利用所述主线程根据所述离线节点信息执行节点状态更新操作。应用本申请所提供的技术方案,可以有效避免由于集群节点中主服务进程的操作内容过多、负载压力过大而对集群业务造成的影响,进而保证集群业务的正常运行。
Description
技术领域
本申请涉及集群系统技术领域,特别涉及一种集群节点监控方法,还涉及一种集群节点监控装置、电子设备及计算机可读存储介质。
背景技术
目前,分布式存储系统在IT企业、云计算、大数据、虚拟化等领域得到了广泛应用。在分布式存储系统中,如CTDB集群(Cluster Trivial Database,键值数据库集群),其主进程主要包括两个进程,父进程和recovery进程(子进程),其中,父进程负责与recovery进程和其他集群节点之间的消息交互、心跳流程的处理,以及集群健康状态监控处理流程;recovery进程负责周期性检测集群是否需要恢复,并在需要时进行恢复流程。然而,如果父进程因为处理其他事件耗时较长而导致无法及时处理其他节点的心跳请求,就会被其他节点认为不可达,而错误的触发新一轮的选举,从而对正常的业务造成影响。
因此,如何有效避免由于集群节点中主服务进程的操作内容过多、负载压力过大而对集群业务造成的影响,进而保证集群业务的正常运行是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种集群节点监控方法,该集群节点监控方法可以有效避免由于集群节点中主服务进程的操作内容过多、负载压力过大而对集群业务造成的影响,进而保证集群业务的正常运行;本申请的另一目的是提供一种集群节点监控装置、电子设备及计算机可读存储介质,均具有上述有益效果。
第一方面,本申请提供了一种集群节点监控方法,应用于集群系统中的每一节点,包括:
利用心跳监测线程发起心跳信号;
利用传输线程将所述心跳信号发送至所述集群系统中的其他各节点,并接收其他各节点反馈的回复信号;
利用所述心跳监测线程根据各所述回复信号确定所述集群系统中的离线节点,并将对应的离线节点信息上传至主线程;
利用所述主线程根据所述离线节点信息执行节点状态更新操作。
可选地,所述利用心跳监测线程发起心跳信号,包括:
利用所述心跳监测线程按照预设时间间隔发起所述心跳信号。
可选地,所述利用所述心跳监测线程根据各所述回复信号确定所述集群系统中的离线节点,包括:
当未接收到所述回复信号的次数达到预设次数时,确定对应的节点为所述离线节点。
可选地,所述利用所述主线程根据所述离线节点信息执行节点状态更新操作,包括:
利用所述主线程将所述离线节点信息下发至recovery进程,以使所述recovery进程执行所述节点状态更新操作。
可选地,所述利用心跳监测线程发起心跳信号之前,还包括:
当接收到监控指令时,根据所述监控指令读取预设配置文件;
根据所述预设配置文件中的配置信息判断心跳监测功能是否开启;
若是,则启动所述心跳监测线程和所述传输线程。
可选地,所述方法还包括:
当接收到监控退出指令时,根据所述监控退出指令读取预设配置文件;
根据所述预设配置文件中的配置信息判断心跳监测功能是否开启;
若是,则关闭所述心跳监测线程和所述传输线程。
可选地,所述关闭所述心跳监测线程和所述传输线程之后,还包括:
对所述心跳监测线程的预分配资源和所述传输线程的预分配资源进行资源释放。
第二方面,本申请还公开了一种集群节点监控装置,应用于集群系统中的每一节点,包括:
信号发起模块,用于利用心跳监测线程发起心跳信号;
信号传输模块,用于利用传输线程将所述心跳信号发送至所述集群系统中的其他各节点,并接收其他各节点反馈的回复信号;
状态监测模块,用于利用所述心跳监测线程根据各所述回复信号确定所述集群系统中的离线节点,并将对应的离线节点信息上传至主线程;
状态更新模块,用于利用所述主线程根据所述离线节点信息执行节点状态更新操作。
第三方面,本申请还公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的任一种集群节点监控方法的步骤。
第四方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种集群节点监控方法的步骤。
本申请所提供的一种集群节点监控方法,应用于集群系统中的每一节点,包括利用心跳监测线程发起心跳信号;利用传输线程将所述心跳信号发送至所述集群系统中的其他各节点,并接收其他各节点反馈的回复信号;利用所述心跳监测线程根据各所述回复信号确定所述集群系统中的离线节点,并将对应的离线节点信息上传至主线程;利用所述主线程根据所述离线节点信息执行节点状态更新操作。
应用本申请所提供的技术方案,通过创建主线程、心跳监测线程以及传输线程实现集群节点监控,利用心跳监测线程进行心跳检测,利用传输线程进行信号传输,利用主线程进行节点状态更新,相当于将集群节点中原始的主服务进程划分为相互独立的三个线程,即主线程、心跳监测线程以及传输线程,实现了集群系统的心跳隔离功能,避免了将所有操作内容集中于主服务进程而导致的主服务进程负载压力过大的问题,进而避免了对集群业务带来的影响,从而保证了集群业务的正常运行;并且,还可以有效提高集群系统的健壮性和易用性,提高产品竞争力。
本申请所提供的一种集群节点监控装置、电子设备及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本申请所提供的一种集群节点监控方法的流程示意图;
图2为本申请所提供的一种配置参数解析的流程示意图;
图3为本申请所提供的一种启动传输线程的流程示意图;
图4为本申请所提供的一种启动心跳检测线程的流程示意图;
图5为本申请所提供的一种退出线程的流程示意图;
图6为本申请所提供的一种心跳隔离功能的逻辑视图;
图7为本申请所提供的一种集群节点监控装置的结构示意图;
图8为本申请所提供的一种电子设备的结构示意图。
具体实施方式
本申请的核心是提供一种集群节点监控方法,该集群节点监控方法可以有效避免由于集群节点中主服务进程的操作内容过多、负载压力过大而对集群业务造成的影响,进而保证集群业务的正常运行;本申请的另一核心是提供一种集群节点监控装置、电子设备及计算机可读存储介质,也具有上述有益效果。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请所提供的集群节点监控方法可应用于集群系统中的每一节点,在集群系统的每一个节点中,均部署有主服务进程,该主服务进程包括主线程、传输线程以及心跳监测线程,从而利用这三个线程实现集群节点监控。其中,集群系统的具体类型并不影响本技术方案的实施,例如,可以为分布式集群系统,如CTDB集群。
本申请实施例提供了一种集群节点监控方法。
请参考图1,图1为本申请所提供的一种集群节点监控方法的流程示意图,该集群节点监控方法包括如下S101至S104。
S101:利用心跳监测线程发起心跳信号;
本步骤旨在实现心跳信号的发起,由主服务进程中的心跳监测线程发起。其中,心跳信号用于监测集群系统中其他节点的在位状态。在实现过程中,当集群节点监控服务启动时,主服务进程同时启动,然后根据实际需要启动主线程、传输线程以及心跳监测线程,其中,心跳监测线程则可以定时/不定时/实时发起心跳信号,以便于对集群系统中的其他节点进行心跳监测。
需要说明的是,当主服务进程启动,并根据实际需要启动主线程、传输线程以及心跳监测线程时,具体是指用户可以根据实际需求选择是否通过将主服务进程划分为多个相互独立的线程进行集群节点监控,换而言之,可以选择由主服务进程直接进行集群节点监控(类似于传统技术),也可以选择将主服务进程划分为多个相互独立的线程进行集群节点监控。当然,本申请实施例主要是选择将主服务进程划分为多个相互独立的线程进行集群节点监控。
S102:利用传输线程将心跳信号发送至集群系统中的其他各节点,并接收其他各节点反馈的回复信号;
本步骤旨在实现将心跳信号发送至集群系统中的其他各个节点,以便于实现其他各节点的心跳监测,该过程由传输线程实现。其中,传输线程用于将心跳监测线程发起的心跳信号发送给集群系统中的其他各个节点,并接收其他各个节点反馈的关于心跳信号的回复信号,也即心跳反应,进而将各个回复信号反馈给心跳监测线程,以便于心跳监测线程根据各回复信号确定集群系统中其他各节点的在位状态。
在实现过程中,当心跳监测线程发起心跳信号后,该心跳信号将会被发送给传输线程,由此,传输线程即可将该心跳信号转发给集群系统中的其他各节点,当然,集群系统中的其他各节点均可以利用自身的传输线程接收该心跳信号,若处于在位状态,则将会反馈回复信号,若处于离线状态,将不会有任何反馈;由此,发起心跳信号的节点的传输线程接收到所有的回复信号,并回传给心跳监测线程,以便于心跳监测线程根据各个回复信号判定集群系统中其他各节点的在位状态。
可以理解的是,传输线程的功能并不仅限于此,其还可以实现自身所处节点与集群系统中其他各节点之间任意消息的传输,如主线程与集群系统中其他各节点的数据通讯。
S103:利用心跳监测线程根据各回复信号确定集群系统中的离线节点,并将对应的离线节点信息上传至主线程;
本步骤旨在实现集群系统中其他各节点的在位状态监测,并将监测到的离线节点的相关信息(即上述离线节点信息)上传给主线程,以便于主线程进行节点状态更新,该过程由心跳监测线程实现。
在实现过程中,当心跳监测线程接收到传输线程反馈的各个回复信号之后,即可根据各个回复信号中的节点信息确定集群系统中没有反馈回复信号的节点,该节点即为离线节点,其余节点则为在位节点,例如,集群系统中的每一个节点,均维护有集群系统中所有节点的节点信息,由此,将各个回复信号中的节点信息与自身维护的节点信息进行比对,即可确定离线节点。进一步,在确定离线节点之后,即可将该离线节点的节点信息发送给主线程,以便于主线程进行节点状态更新。
S104:利用主线程根据离线节点信息执行节点状态更新操作。
本步骤旨在实现节点状态更新,该过程由主线程实现。需要说明的是,集群系统中每一个节点的主服务进程均维护有集群系统中所有节点的状态信息,包括在位状态和离线状态,以便于实现节点节点监控,因此,当监测到集群系统中存在离线节点时,即可将其状态信息由在线状态更新为离线状态,当然,当监测到原本处于离线状态的节点恢复到在位状态时,还可以将其状态信息由离线状态更改为在线状态。
在实现过程中,当心跳监测线程将离线节点信息上传至主线程后,即可由主线程将根据该离线节点信息将离线节点的状态信息由在线状态更新为离线状态,由此,实现集群节点监控。
可见,本申请实施例所提供的集群节点监控方法,通过创建主线程、心跳监测线程以及传输线程实现集群节点监控,利用心跳监测线程进行心跳检测,利用传输线程进行信号传输,利用主线程进行节点状态更新,相当于将集群节点中原始的主服务进程划分为相互独立的三个线程,即主线程、心跳监测线程以及传输线程,实现了集群系统的心跳隔离功能,避免了将所有操作内容集中于主服务进程而导致的主服务进程负载压力过大的问题,进而避免了对集群业务带来的影响,从而保证了集群业务的正常运行;并且,还可以有效提高集群系统的健壮性和易用性,提高产品竞争力。
在本申请的一个实施例中,上述利用心跳监测线程发起心跳信号,可以包括:利用心跳监测线程按照预设时间间隔发起心跳信号。
本申请实施例提供了一种心跳信号发起方式,即定时心跳监测。对于心跳监测线程而言,可以预先为其设置定时器事件,并未定时器设定发起心跳信号的时间间隔,即上述预设时间间隔,由此,心跳监测线程即可按照该预设时间间隔进行心跳信号的发起。其中,预设时间间隔的具体取值并不影响本技术方案的实施,由技术人员根据实际情况进行设定即可,本申请对此不做限定,例如,可以设定为60秒。
在本申请的一个实施例中,上述利用心跳监测线程根据各回复信号确定集群系统中的离线节点,可以包括:当未接收到回复信号的次数达到预设次数时,确定对应的节点为离线节点。
本申请实施例提供了一种离线节点的判定方法。可以理解的是,仅一次心跳监测的监测结果可能存在误差,因此,可以通过多次心跳监测的监测结果实现离线状态判定,从而有效保证心跳监测结果的准确性。
在实现过程中,当监测到某一节点未反馈回复信号时,可继续对该节点进行监测,直至其未反馈回复信号的次数达到预设次数时,即可确定该节点为离线节点。当然,预设次数的具体取值并不影响本技术方案的实施,由技术人员根据实际情况进行设定即可,本申请对此不做限定,例如,可以设定为3次。
在本申请的一个实施例中,上述利用主线程根据离线节点信息执行节点状态更新操作,可以包括:利用主线程将离线节点信息下发至recovery进程,以使recovery进程执行节点状态更新操作。
如上所述,集群系统中的主进程主要包括两个进程,父进程(主服务进程)和recovery进程(子进程),其中,父进程负责与recovery进程和其他集群节点之间的消息交互、心跳流程的处理,以及集群健康状态监控处理流程;recovery进程负责周期性检测集群是否需要恢复,并在需要时进行恢复流程。在将父进程划分为相互独立的三个线程的基础上,在进行节点状态更新的过程中,主线程可以将离线节点信息下发给recovery进程,由recovery进程执行节点状态更新操作,并继续执行后续恢复流程。也就是说,在本申请实施例中,节点状态更新操作由recovery进程实现。
在本申请的一个实施例中,上述利用心跳监测线程发起心跳信号之前,还可以包括:当接收到监控指令时,根据监控指令读取预设配置文件;根据预设配置文件中的配置信息判断心跳监测功能是否开启;若是,则启动心跳监测线程和传输线程。
如上所述,用户可以根据实际需求选择是否通过将主服务进程划分为多个相互独立的线程进行集群节点监控,该过程可以基于预设配置文件实现。具体的,用户可以根据实际需求在预设配置文件中设置心跳监测功能的开启与关闭,当心跳监测功能关闭时,说明用户选择由主服务进程直接进行集群节点监控;当心跳监测功能开启时,说明用户选择将主服务进程划分为多个相互独立的线程进行集群节点监控。
在实现过程中,当接收到监控指令时,即用于开启集群节点监控服务的指令时,可以先读取预设配置文件,以确定当前是否开启心跳监测功能。如若未开启心跳监测功能,则无需启动心跳监测线程和传输线程,直接由主服务器进程进行集群节点监控即可;如若开启了心跳监测功能,则可以启动心跳监测线程和传输线程,以便于利用多线程实现集群节点监控。
在本申请的一个实施例中,该集群节点监控方法还可以包括:当接收到监控退出指令时,根据监控退出指令读取预设配置文件;根据预设配置文件中的配置信息判断心跳监测功能是否开启;若是,则关闭心跳监测线程和传输线程。
对于集群系统而言,当用户需要退出集群节点监控时,可以发起监控退出指令,当然,在退出过程中,同样需要先根据预设配置文件中的配置信息执行对应的退出流程。具体的,当接收到监控退出指令时,可以先读取预设配置文件,以确定当前是否开启心跳监测功能。如若未开启心跳监测功能,说明当前由主服务器进程进行集群节点监控,此时,直接退出集群节点监控服务即可;如若开启了心跳监测功能,则说明当前是将主服务进程划分为多个相互独立的线程进行集群节点监控,此时,则可以先关闭心跳监测线程和传输线程,再继续退出集群节点监控服务。
在本申请的一个实施例中,上述关闭心跳监测线程和传输线程之后,还可以包括:对心跳监测线程的预分配资源和传输线程的预分配资源进行资源释放。
可以理解的是,在通过多线程进行集群节点监控时,需要为每个线程分配对应的资源,如计算资源、存储资源,因此,在退出多线程时,还可以进一步为各个线程分配的资源进行释放,以避免不必要的资源占用。当然,这里主要是对心跳监测线程和传输线程的预分配资源进行释放。
在上述各实施例的基础上,本申请实施例以分布式存储系统CTDB为例,提供了另一种集群节点监控方法。
首先,将CTDB中的父进程(即主服务进程)拆分为三个线程:主线程、传输线程、心跳监测线程,其中:
1、主线程:主要负责事件的处理,与recovery进程(子进程)的交互,状态维护等原有功能;
2、传输线程:由于在recovery阶段集群内各个节点之间会有频繁的消息交互,因此,传输线程主要负责与其他节点交互消息,所有需要传输到其他节点的消息均通过传输线程发出,以便于分担主线程的压力,提高主线程的处理效率,避免由于频繁收到消息中断而导致的处理切换;
3、心跳监测线程:CTDB集群内节点通过周期性检测对端发送的心跳和发送心跳给对端,来检测集群内各个节点的在位状态,一旦监测到不在位节点(即离线节点),则通知主线程,以便于主线程触发CTDB的recovery流程,由于心跳处理对实时处理要求较高,因此,心跳线程主要负责集群内其他节点的心跳检测,并且,心跳消息的收发由传输线程实现。
进一步,本申请实施例所提供的集群节点监控方法的实现流程主要包括:心跳隔离功能开关参数解析、传输线程启动流程、心跳监测线程启动流程以及停止CTDB服务时,传输线程和心跳线程的退出流程。
1、心跳隔离功能开关参数解析:
请参考图2,图2为本申请所提供的一种配置参数解析的流程示意图,主要包括:
(1)用户在配置文件中配置心跳隔离开关为开或者关;
(2)根据配置文件中该参数配置的配置值,设置环境变量;
(3)根据环境变量值,构建CTDB主服务进程启动参数,包括但不限于开关参数、节点数、响应时间、定时时间间隔等;
(4)根据启动参数启动CTDB主服务进程。
其中,用户可以通过ctdbd.conf配置文件控制心跳隔离特性开关(默认为打):
(1)打开心跳隔离特性配置举例如下:
CTDB_KEEPALIVE_ISOLATION=1;
(2)关闭心跳隔离特性配置举例如下:
CTDB_KEEPALIVE_ISOLATION=0。
2、传输线程启动流程:
请参考图3,图3为本申请所提供的一种启动传输线程的流程示意图,主要包括:
(1)CTDB主服务进程启动时,根据配置文件中心跳隔离开关的配置值,确定是否启动传输线程;
(2)若开关为打开,则启动传输线程:在传输线程中,创建tevent事件代理,并进行相应事件监听,实现将原来由主服务进程负责的与其他节点的消息收发工作,交接给主服务进程的传输线程,以达到分担主服务进程中主线程压力的目的;
(3)如果开关为关闭或者传输线程创建结束,则继续后续的启动流程。
3、心跳监测线程启动流程:
请参考图4,图4为本申请所提供的一种启动心跳检测线程的流程示意图,主要包括:
(1)CTDB主服务进程启动时,根据配置文件中心跳隔离开关的配置值,确定是直接在主服务进程中进行心跳检测和处理,还是在主服务进程中创建心跳检测线程来进行心跳检测和处理;
(2)若开关为打开,则启动心跳监测线程:在心跳监测线程中,注册定时器事件,以便于周期检测CTDB集群内各个节点的心跳情况,如果检测到某节点心跳丢失,则通知主线程对该节点进行状态变更,并触发主线程进行相应的恢复动作;
(3)如果开关为关闭,则直接在主服务进程中注册定时器事件,以便于周期检测CTDB集群内各个节点的心跳情况,如果检测到某节点心跳丢失,则对该节点进行状态变更,并触发相应的恢复动作。
4、停止CTDB服务时,传输线程和心跳线程的退出流程:
请参考图5,图5为本申请所提供的一种退出线程的流程示意图,主要包括:
(1)可以通过命令行输入停止CTDB服务命令,以触发服务停止流程;或者CTDB服务在运行过程中,遇到不可逆的错误,也会触发服务停止流程;
(2)判断当前是否开启心跳隔离功能;
(3)若开启了心跳隔离功能,则停止心跳监测线程并释放为其分配的资源,停止传输线程并释放为其分配的资源;
(4)若未开启心跳隔离功能,则直接释放为心跳处理流程分配的资源;
(5)继续后续的CTDB服务停止流程。
综上,结合图2至图5可以得到图6,图6为本申请所提供的一种心跳隔离功能的逻辑视图。可见,本申请实施例所提供的集群节点监控方法,通过创建主线程、心跳监测线程以及传输线程实现集群节点监控,利用心跳监测线程进行心跳检测,利用传输线程进行信号传输,利用主线程进行节点状态更新,相当于将集群节点中原始的主服务进程划分为相互独立的三个线程,即主线程、心跳监测线程以及传输线程,实现了集群系统的心跳隔离功能,避免了将所有操作内容集中于主服务进程而导致的主服务进程负载压力过大的问题,进而避免了对集群业务带来的影响,从而保证了集群业务的正常运行;并且,还可以有效提高集群系统的健壮性和易用性,提高产品竞争力。
本申请实施例提供了一种集群节点监控装置。
请参考图7,图7为本申请所提供的一种集群节点监控装置的结构示意图,该集群节点监控装置可应用于集群系统中的每一节点,包括:
信号发起模块1,用于利用心跳监测线程发起心跳信号;
信号传输模块2,用于利用传输线程将心跳信号发送至集群系统中的其他各节点,并接收其他各节点反馈的回复信号;
状态监测模块3,用于利用心跳监测线程根据各回复信号确定集群系统中的离线节点,并将对应的离线节点信息上传至主线程;
状态更新模块4,用于利用主线程根据离线节点信息执行节点状态更新操作。
可见,本申请实施例所提供的集群节点监控装置,通过创建主线程、心跳监测线程以及传输线程实现集群节点监控,利用心跳监测线程进行心跳检测,利用传输线程进行信号传输,利用主线程进行节点状态更新,相当于将集群节点中原始的主服务进程划分为相互独立的三个线程,即主线程、心跳监测线程以及传输线程,实现了集群系统的心跳隔离功能,避免了将所有操作内容集中于主服务进程而导致的主服务进程负载压力过大的问题,进而避免了对集群业务带来的影响,从而保证了集群业务的正常运行;并且,还可以有效提高集群系统的健壮性和易用性,提高产品竞争力。
在本申请的一个实施例中,上述信号发起模块1可具体用于利用心跳监测线程按照预设时间间隔发起心跳信号。
在本申请的一个实施例中,上述状态监测模块3可具体用于当未接收到回复信号的次数达到预设次数时,确定对应的节点为离线节点。
在本申请的一个实施例中,上述状态更新模块4可具体用于利用主线程将离线节点信息下发至recovery进程,以使recovery进程执行节点状态更新操作。
在本申请的一个实施例中,该集群节点监控装置还可以包括线程启动模块,用于在上述利用心跳监测线程发起心跳信号之前,当接收到监控指令时,根据监控指令读取预设配置文件;根据预设配置文件中的配置信息判断心跳监测功能是否开启;若是,则启动心跳监测线程和传输线程。
在本申请的一个实施例中,该集群节点监控装置还可以包括线程退出模块,用于当接收到监控退出指令时,根据监控退出指令读取预设配置文件;根据预设配置文件中的配置信息判断心跳监测功能是否开启;若是,则关闭心跳监测线程和传输线程。
在本申请的一个实施例中,该集群节点监控装置还可以包括资源释放模块,用于在上述关闭心跳监测线程和传输线程之后,对心跳监测线程的预分配资源和传输线程的预分配资源进行资源释放。
对于本申请实施例提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
本申请实施例提供了一种电子设备。
请参考图8,图8为本申请所提供的一种电子设备的结构示意图,该电子设备可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时可实现如上述任意一种集群节点监控方法的步骤。
如图8所示,为电子设备的组成结构示意图,电子设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行集群节点监控方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
利用心跳监测线程发起心跳信号;
利用传输线程将心跳信号发送至集群系统中的其他各节点,并接收其他各节点反馈的回复信号;
利用心跳监测线程根据各回复信号确定集群系统中的离线节点,并将对应的离线节点信息上传至主线程;
利用主线程根据离线节点信息执行节点状态更新操作。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图8所示的结构并不构成对本申请实施例中电子设备的限定,在实际应用中电子设备可以包括比图8所示的更多或更少的部件,或者组合某些部件。
本申请实施例提供了一种计算机可读存储介质。
本申请实施例所提供的计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种集群节点监控方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请实施例提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (10)
1.一种集群节点监控方法,其特征在于,应用于集群系统中的每一节点,所述方法包括:
利用心跳监测线程发起心跳信号;
利用传输线程将所述心跳信号发送至所述集群系统中的其他各节点,并接收其他各节点反馈的回复信号;
利用所述心跳监测线程根据各所述回复信号确定所述集群系统中的离线节点,并将对应的离线节点信息上传至主线程;
利用所述主线程根据所述离线节点信息执行节点状态更新操作。
2.根据权利要求1所述的方法,其特征在于,所述利用心跳监测线程发起心跳信号,包括:
利用所述心跳监测线程按照预设时间间隔发起所述心跳信号。
3.根据权利要求2所述的方法,其特征在于,所述利用所述心跳监测线程根据各所述回复信号确定所述集群系统中的离线节点,包括:
当未接收到所述回复信号的次数达到预设次数时,确定对应的节点为所述离线节点。
4.根据权利要求1所述的方法,其特征在于,所述利用所述主线程根据所述离线节点信息执行节点状态更新操作,包括:
利用所述主线程将所述离线节点信息下发至recovery进程,以使所述recovery进程执行所述节点状态更新操作。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述利用心跳监测线程发起心跳信号之前,还包括:
当接收到监控指令时,根据所述监控指令读取预设配置文件;
根据所述预设配置文件中的配置信息判断心跳监测功能是否开启;
若是,则启动所述心跳监测线程和所述传输线程。
6.根据权利要求1至4任一项所述的方法,其特征在于,还包括:
当接收到监控退出指令时,根据所述监控退出指令读取预设配置文件;
根据所述预设配置文件中的配置信息判断心跳监测功能是否开启;
若是,则关闭所述心跳监测线程和所述传输线程。
7.根据权利要求6所述的方法,其特征在于,所述关闭所述心跳监测线程和所述传输线程之后,还包括:
对所述心跳监测线程的预分配资源和所述传输线程的预分配资源进行资源释放。
8.一种集群节点监控装置,其特征在于,应用于集群系统中的每一节点,所述装置包括:
信号发起模块,用于利用心跳监测线程发起心跳信号;
信号传输模块,用于利用传输线程将所述心跳信号发送至所述集群系统中的其他各节点,并接收其他各节点反馈的回复信号;
状态监测模块,用于利用所述心跳监测线程根据各所述回复信号确定所述集群系统中的离线节点,并将对应的离线节点信息上传至主线程;
状态更新模块,用于利用所述主线程根据所述离线节点信息执行节点状态更新操作。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的集群节点监控方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的集群节点监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210832794.2A CN115102887A (zh) | 2022-07-15 | 2022-07-15 | 一种集群节点监控方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210832794.2A CN115102887A (zh) | 2022-07-15 | 2022-07-15 | 一种集群节点监控方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115102887A true CN115102887A (zh) | 2022-09-23 |
Family
ID=83298895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210832794.2A Pending CN115102887A (zh) | 2022-07-15 | 2022-07-15 | 一种集群节点监控方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115102887A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155695A (zh) * | 2023-04-19 | 2023-05-23 | 杭州美创科技股份有限公司 | 集群多节点管理方法、装置、计算机设备及存储介质 |
CN116684256A (zh) * | 2023-08-01 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 节点故障监测方法、装置、系统、电子设备及存储介质 |
CN116849724A (zh) * | 2023-06-19 | 2023-10-10 | 北京纳通医用机器人科技有限公司 | 基于手术机器人的通讯方法、装置、设备和存储介质 |
CN117149095A (zh) * | 2023-10-31 | 2023-12-01 | 苏州元脑智能科技有限公司 | 基于nas的集群管理方法、装置、计算机设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030030373A (ko) * | 2001-10-10 | 2003-04-18 | 엘지전자 주식회사 | 에이티엠 교환기에서 프로세스 상태 관리 방법 |
US20070282951A1 (en) * | 2006-02-10 | 2007-12-06 | Selimis Nikolas A | Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT) |
CN105183550A (zh) * | 2015-09-08 | 2015-12-23 | 中国电力科学研究院 | 一种用于大电网在线网络分析分布式计算的进程调度方法 |
CN109714202A (zh) * | 2018-12-21 | 2019-05-03 | 郑州云海信息技术有限公司 | 一种客户端离线原因判别方法和集群式安全管理系统 |
CN110933142A (zh) * | 2019-11-07 | 2020-03-27 | 浪潮电子信息产业股份有限公司 | 一种icfs集群网卡监控方法、装置和设备及介质 |
CN113708486A (zh) * | 2021-08-03 | 2021-11-26 | 南方电网数字电网研究院有限公司 | 电力系统数据处理集群、检测方法、装置、设备和介质 |
CN113965496A (zh) * | 2021-10-15 | 2022-01-21 | 上汽通用五菱汽车股份有限公司 | 一种优化投屏进程响应的方法 |
-
2022
- 2022-07-15 CN CN202210832794.2A patent/CN115102887A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030030373A (ko) * | 2001-10-10 | 2003-04-18 | 엘지전자 주식회사 | 에이티엠 교환기에서 프로세스 상태 관리 방법 |
US20070282951A1 (en) * | 2006-02-10 | 2007-12-06 | Selimis Nikolas A | Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT) |
CN105183550A (zh) * | 2015-09-08 | 2015-12-23 | 中国电力科学研究院 | 一种用于大电网在线网络分析分布式计算的进程调度方法 |
CN109714202A (zh) * | 2018-12-21 | 2019-05-03 | 郑州云海信息技术有限公司 | 一种客户端离线原因判别方法和集群式安全管理系统 |
CN110933142A (zh) * | 2019-11-07 | 2020-03-27 | 浪潮电子信息产业股份有限公司 | 一种icfs集群网卡监控方法、装置和设备及介质 |
CN113708486A (zh) * | 2021-08-03 | 2021-11-26 | 南方电网数字电网研究院有限公司 | 电力系统数据处理集群、检测方法、装置、设备和介质 |
CN113965496A (zh) * | 2021-10-15 | 2022-01-21 | 上汽通用五菱汽车股份有限公司 | 一种优化投屏进程响应的方法 |
Non-Patent Citations (2)
Title |
---|
钱柯;王伟明;高明;: "ForCES路由器用户管理平台消息机制的性能研究与评估", 信息工程大学学报, no. 01, 15 March 2009 (2009-03-15), pages 3 * |
马永光;陆振国;林永君;: "基于Internet的电厂远程实时监控系统", 电网技术, no. 02, 30 January 2007 (2007-01-30), pages 3 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155695A (zh) * | 2023-04-19 | 2023-05-23 | 杭州美创科技股份有限公司 | 集群多节点管理方法、装置、计算机设备及存储介质 |
CN116849724A (zh) * | 2023-06-19 | 2023-10-10 | 北京纳通医用机器人科技有限公司 | 基于手术机器人的通讯方法、装置、设备和存储介质 |
CN116849724B (zh) * | 2023-06-19 | 2024-05-14 | 北京纳通医用机器人科技有限公司 | 基于手术机器人的通讯方法、装置、设备和存储介质 |
CN116684256A (zh) * | 2023-08-01 | 2023-09-01 | 苏州浪潮智能科技有限公司 | 节点故障监测方法、装置、系统、电子设备及存储介质 |
CN116684256B (zh) * | 2023-08-01 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 节点故障监测方法、装置、系统、电子设备及存储介质 |
CN117149095A (zh) * | 2023-10-31 | 2023-12-01 | 苏州元脑智能科技有限公司 | 基于nas的集群管理方法、装置、计算机设备及介质 |
CN117149095B (zh) * | 2023-10-31 | 2024-02-06 | 苏州元脑智能科技有限公司 | 基于nas的集群管理方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115102887A (zh) | 一种集群节点监控方法及相关设备 | |
WO2017097130A1 (zh) | 一种分布式存储系统的服务节点切换方法和装置 | |
TW201944236A (zh) | 任務處理方法、裝置及系統 | |
EP3472971B1 (en) | Technique for resolving a link failure | |
CN109960634B (zh) | 一种应用程序监控方法、装置及系统 | |
JPH04245751A (ja) | イベント処理分散型網監視システム | |
CN111988240B (zh) | 一种数据发送方法、装置、电子设备及存储介质 | |
US7925922B2 (en) | Failover method and system for a computer system having clustering configuration | |
CN105141400A (zh) | 一种高可用性集群管理方法及相关设备 | |
EP3522449B1 (en) | Service state transition method and device | |
CN109361542A (zh) | 客户端的故障处理方法、装置、系统、终端和服务器 | |
CN114531373A (zh) | 节点状态检测方法、节点状态检测装置、设备及介质 | |
CN106331081B (zh) | 一种信息同步方法及装置 | |
CN115150460B (zh) | 一种节点安全注册方法、装置、设备及可读存储介质 | |
CN108243222A (zh) | 服务器网络架构方法及装置 | |
CN106776206A (zh) | 监听进程状态的方法、装置及电子设备 | |
CN106506278A (zh) | 一种服务可用性监控方法及装置 | |
CN114168071B (zh) | 一种分布式集群扩容方法、分布式集群扩容装置及介质 | |
CN108733466A (zh) | 重启分布式系统中的应用系统实例的方法、装置及设备 | |
CN107465756B (zh) | 一种服务请求处理的方法和装置 | |
CN111427704B (zh) | 配置指令的远程监控方法、装置、设备及存储介质 | |
CN106897128B (zh) | 一种分布式应用退出方法、系统以及服务器 | |
CN115842860A (zh) | 一种针对数据链路的监控方法、装置及系统 | |
JP2017194729A (ja) | 計算機システムおよびシステム状態再現方法 | |
US9372786B1 (en) | Constructing state-transition functions for mobile devices |
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 |