CN111651294A - 一种节点异常检测方法及装置 - Google Patents
一种节点异常检测方法及装置 Download PDFInfo
- Publication number
- CN111651294A CN111651294A CN202010402372.2A CN202010402372A CN111651294A CN 111651294 A CN111651294 A CN 111651294A CN 202010402372 A CN202010402372 A CN 202010402372A CN 111651294 A CN111651294 A CN 111651294A
- Authority
- CN
- China
- Prior art keywords
- slave node
- node
- slave
- server
- type
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- 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/3058—Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供的一种节点异常检测方法及装置,应用于服务器集群,服务器集群中包括多个服务器,每个服务器中包括至少一个从节点,该方法包括:每个服务器中包括至少一个从节点,所述服务器集群中的中心节点监听每个服务器中至少一个从节点的心跳信号,所述至少一个从节点中每个从节点对应的心跳超时时长不同;确定在所述服务器集群中第一服务器的第一从节点对应的心跳超时时长内未监听到所述第一从节点的心跳信号,确定所述第一从节点离线。通过该方法,在多节点的服务器板卡或者服务器机箱整体故障时,可以根据每个从节点对应的不同心跳超时时长,对服务器中的每个从节点进行故障检测,避免了故障节点的业务恢复发生二次切换或者切换失败的情况。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种节点异常检测方法及装置。
背景技术
随着计算机技术的发展,大量的计算机服务被应用到日常生活中。为了支撑大量计算机服务,技术人员对服务器进行集群堆叠部署,以实现更高的并发性能。集群部署的服务器中,一个服务器可以包括多张服务器板卡,每个服务器板卡可以运行相应的业务,硬盘和网络资源等硬件则在板卡内复用。然而,当一个服务板卡出现问题,正在运行的服务只能转移到别的服务器板卡,实际上,一个板卡中可以包括多个节点,当其中一个节点故障时,便确认该板卡故障,终端并不清楚板卡中的哪一个节点故障。
因此,如何实现对服务器板卡中的每个节点进行检测,是需要思考的问题。
发明内容
本申请实施例提供一种节点异常检测方法及装置,用来对集群服务器中的资源节点进行故障检测。
第一方面,本申请实施例提供的一种节点异常检测方法,包括:
服务器集群中包括多个服务器和中心节点,每个服务器中包括至少一个从节点,所述中心节点监听所述至少一个从节点的心跳信号;
所述中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线;其中,所述至少一个从节点中每个从节点对应的心跳超时时长不同。
在一种可能的实施方式中,所述中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线,包括:
若所述中心节点在所述第一从节点对应的第一心跳超时时长内未监听到所述第一从节点的心跳信号,则确定所述第一从节点离线。
在一种可能的实施方式中,所述每个从节点的心跳超时时长大于或等于预设的所述每个从节点连续两次发送心跳信号的时间间隔。
在一种可能的实施方式中,所述至少一个从节点中每个从节点对应的心跳超时时长不同,包括:
所述从节点包括第一类型从节点和第二类型从节点,所述第一类型从节点的心跳超时时长大于所述第二类型从节点的心跳超时时长;所述第一类型从节点为通过其他从节点连接集群外网的从节点,所述第二类型从节点为与所述集群外网直接连接的从节点。
在一种可能的实施方式中,所述至少一个从节点中每个从节点对应的心跳超时时长不同,包括:
所述从节点包括第一类型从节点和第二类型从节点,所述第一类型从节点的心跳超时时长由所述第二类型从节点的状态确定;所述第一类型从节点通过所述第二类型从节点连接到集群外网,所述第二类型从节点为与所述集群外网直接连接的从节点。
在一种可能的实施方式中,所述第一类型从节点的心跳超时时长由所述第二类型从节点的状态确定,包括:
当所述第二类型从节点的状态为离线状态时,设置所述第一类型从节点的心跳超时时长为第一时长;
当所述第二类型从节点的状态为在线状态时,设置所述第一类型从节点的心跳超时时长为第二时长;其中,所述第二时长大于所述第一时长。
在一种可能的实施方式中,所述中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线之后,还包括:
将所述第一从节点上的业务转移到第二从节点,所述第二从节点为处于在线状态的从节点;
在所述第二从节点上继续运行所述业务。
在一种可能的实施方式中,所述第二从节点与所述第一从节点为处于同一服务器内的从节点,或者,所述第二从节点与所述第一从节点处于同一机箱,所述机箱包括多个服务器板卡,每个服务器板卡包括多个服务器。
第二方面,本申请实施例提供的一种从节点异常检测装置,包括:
监听模块,用于监听服务器集群中每个服务器中至少一个从节点的心跳信号,所述至少一个从节点中每个从节点对应的心跳超时时长不同;
确定模块,用于根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线。
在一种可能的实施方式中,所述确定模块,还用于确定所述至少一个从节点中每个从节点对应的心跳超时时长。
在一种可能的实施方式中,所述确定模块在用于确定所述至少一个从节点中每个从节点对应的心跳超时时长时,具体用于:根据所述每个从节点对应的从节点类型确定每个从节点对应的心跳超时时长,其中,第一类型从节点的心跳超时时长大于第二类型从节点的心跳超时时长;所述第一类型从节点为通过其他从节点连接集群外网的从节点,所述第二类型从节点为与所述集群外网直接连接的从节点。
在一种可能的实施方式中,所述确定模块在用于确定所述至少一个从节点中每个从节点对应的心跳超时时长时,具体用于:根据第二类型从节点的状态确定第一类型从节点的心跳超时时长;所述第一类型从节点通过所述第二类型从节点连接到集群外网,所述第二类型从节点为与所述集群外网直接连接的从节点。
在一种可能的实施方式中,所述确定模块在用于根据第二类型从节点的状态确定第一类型从节点的心跳超时时长,具体用于:
当所述第二类型从节点的状态为离线状态时,设置所述第一类型从节点的心跳超时时长为第一时长;
当所述第二类型从节点的状态为在线状态时,设置所述第一类型从节点的心跳超时时长为第二时长;其中,所述第二时长大于所述第一时长。
在一种可能的实施方式中,当所述确定模块确定所述第一从节点离线方法之后,还用于:将所述第一从节点上的业务转移到第二从节点,所述第二从节点为处于在线状态的从节点;在所述第二从节点上继续运行所述业务。其中,所述第二从节点与所述第一从节点为处于同一服务器内的从节点,或者,所述第二从节点与所述第一从节点处于同一机箱,所述机箱包括多个服务器板卡,每个服务器板卡包括多个服务器。
第三方面,本申请实施例提供了一种服务器集群系统,包括:
多个服务器,每个服务器中包括至少一个从节点;
中心节点,用于监听每个服务器中至少一个从节点的心跳信号;
所述中心节点,还用于根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线。
第四方面,本申请实施例提供的一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述方法。
本申请提供的一种节点异常检测方法,应用于服务器集群,服务器集群中包括多个服务器,每个服务器中包括至少一个从节点,所述服务器集群中的中心节点监听每个服务器中至少一个从节点的心跳信号,所述至少一个从节点中每个从节点对应的心跳超时时长不同;中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线。通过该方法,在多节点的服务器板卡或者服务器集成箱整体故障时,可以根据每个从节点对应的不同心跳超时时长,对服务器集群中的每个从节点进行故障检测,避免了故障节点的业务恢复发生二次切换或者切换失败的情况。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的应用场景图;
图2为本申请实施例提供的一种节点异常检测方法的流程示意图;
图3为本申请实施例提供的一种节点异常检测装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要理解的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本申请实施例的描述中“多个”,是指两个或两个以上。
本申请实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
下面简单介绍一下本申请的背景技术。
随着计算机技术的发展,大量的计算机服务被应用到日常生活中。为了支撑大量计算机服务,技术人员对服务器进行集群堆叠部署,以实现更高的并发性能。集群部署的服务器中,一个服务器可以包括多张服务器板卡,每个服务器板卡(简称板卡)可以运行相应的业务,硬盘和网络资源等硬件则在板卡内复用。然而,当一个服务器板卡出现问题,正在运行的服务只能转移到别的服务器板卡,实际上,一个板卡中可以包括多个节点,当其中一个节点故障时,便确认该板卡故障,终端并不清楚板卡中的哪一个节点故障。
请参见图1,图1为本申请实施例提供的应用场景示意图,假设图1为视频会议系统中的分布式架构,形成了一个堆叠网络。该架构中包括服务器集群,所述服务器集群中包括用于管控机箱或者机箱内的中心节点、直接接入集群外网的单机分布式节点(例如,节点9、10)、用于请求服务的终端、以及服务器集成箱1(下文简称机箱1)和服务器集成箱2(下文简称机箱2),其中,机箱1内包括服务器板卡1(简称板卡1)和板卡2;机箱2包括板卡3和板卡4。本申请将服务器集群中除中心节点以外的节点均称为从节点。
每个板卡具有多个从节点。以图1中机箱1内的板卡1为例介绍,板卡1中包括从节点1和从节点2,从节点1与从节点2之间通过背板内网连接。从节点1与集群外网直接连接,将从节点1作为机箱1内其他从节点的出口网络节点,其他从节点(例如从节点2)通过从节点1与集群外网互联。
如果在图1所示的集群服务器架构的中心节点只监听机箱或板卡的心跳信号,当机箱或板卡心跳超时,就认为机箱或板卡整体离线,中心节点就需要将离线的机箱或板卡上运行的业务转移到其它机箱或板卡。
但是,由于板卡内包括多个从节点,不同的业务被分担到板卡内的不同从节点上,一个板卡的业务转移涉及到多个从节点的业务。以会议业务为例,假设会议运行在服务器板卡1的从节点2,当从节点2发生故障时,中心节点确定板卡1故障,但是不清楚从节点1是否发生故障,节点1可能故障也可能不故障,但是中心节点会把板卡1运行的业务转移到例如板卡3上,不同板卡之间的业务转移相对耗时。如果节点1未故障,节点1的业务也被转移,或者节点1暂停业务,造成资源浪费。
即使中心节点能够监听每个从节点的心跳信号,如果中心节点为每个从节点设置的心跳超时时长一样,也有可能造成某个从节点的业务转移失败,出现二次切换的问题。继续以图1的服务器集群为例,中心节点为从节点1和从节点2设置了相同的心跳超时时长,会议服务运行在板卡1的从节点2上,板卡1发生了断电断网等故障,此时,由于板卡1中从节点1是节点2的出口网络节点,板卡1的从节点2先心跳超时,板卡1的从节点1的心跳未超时,中心节点误认为从节点1还未离线,有可能将会议服务转移到实际已故障的从节点1上,导致终端异常切换失败,需要进行二次切换。
为了解决上述技术问题,本申请提供了一种节点异常检测方法,应用于服务器集群,服务器集群中包括多个服务器,每个服务器中包括至少一个从节点,该方法包括所述服务器集群中的中心节点监听每个服务器中至少一个从节点的心跳信号,所述至少一个从节点中每个从节点对应的心跳超时时长不同;中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线。通过该方法,在多节点的服务器板卡或者服务器集成箱整体故障时,可以根据每个从节点对应的不同心跳超时时长,对服务器中的每个从节点进行故障检测,避免了故障节点的业务恢复发生二次切换或者切换失败的情况。
下面结合图1和图2详细介绍本申请提供的从节点异常检测方法的实现过程。请参见图2,图2为本申请实施例提供的一种从节点异常检测方法的流程示意图,该方法可以应用于服务器集群中的中心节点。该方法包括以下步骤:
200:确定所述至少一个从节点中每个从节点对应的心跳超时时长。
在一种可能的实施方式中,在集群服务器中的每个从节点的心跳超时时长大于或等于预设的所述每个从节点连续两次发送心跳信号的时间间隔。通过该实施方式,中心节点就可以实现对每个从节点的心跳监听。
需要说明的是,所述时间间隔可以理解为每个从节点的心跳间隔,心跳间隔可以是中心节点根据不同的从节点的节点类型预设的。其中,第一类型从节点的心跳间隔和第一类型从节点的心跳间隔可以相同、也可以不相同,本申请的实施例不做具体的限定。
中心节点根据每个从节点对应心跳间隔确定第一类型从节点和第二类型从节点的心跳超时时长,有多种实现方式,例如如下几种:
优选方式1,假设第一类型从节点和第二类型从节点的心跳间隔相同,第一类型从节点的心跳超时时长与第二类型从节点的心跳超时时长的差值应大于等于心跳间隔,才可以避免中心节点误判第二类型从节点故障。
示例性的,假设每个从节点的心跳间隔均为2秒,则中心节点将第一类型从节点的心跳超时时长设置为8秒,第二类型从节点的心跳超时时长设置为6秒。
优选方式2,第一类型从节点和第二类型从节点的心跳间隔不同,第一类型从节点的心跳超时时长只需大于等于第二类型从节点的心跳超时时长,就可以避免中心节点误判第二类型从节点故障。
示例性的,假设第一类型从节点和第二类型从节点的心跳间隔分别为8秒、2秒,则中心节点将第一类型从节点的心跳超时时长设置为16秒,第二类型从节点的心跳超时时长设置为6秒。
在一种可能的实施方式中,中心节点根据每个从节点对应对网络标识将所述至少一个从节点划分为两种类型的从节点,其中,第一类型从节点为通过其他从节点连接集群外网的从节点,所述第二类型从节点为与集群外网直接连接的从节点,中心节点设置第一类型从节点的心跳超时时长大于第二类型从节点的心跳超时时长。通过该实施方式,避免了误判第二类型从节点故障,提高了服务器集群中每个从故障检测的准确率。
示例性的,假设图1中所有从节点的心跳间隔均为2秒,从节点2、3、4通过从节点1与集群外网连接,从节点6、7、8通过从节点5与集群外网连接,从节点1、5、9、10为直接接入所述集群外网的从节点,中心节点将从节点2、3、4、6、7、8划分为第一类型从节点,中心节点将从节点1、5、9、10划分为第二类型从节点;将第一类型从节点的心跳超时时长设置为25秒,第二类型从节点的心跳超时时长设置为20秒。
可选的,中心节点还可以通过判断每个从节点是否存在特定的网卡名或特定的IP地址,来判断从节点是否是直接接入集群外网的从节点,进而确定每个从节点的节点类型,以为不同类型的从节点设置不同的心跳超时时长。
在一种可能的实施方式中,中心节点根据每个从节点对应对网络标识将所述至少一个从节点划分为两种类型的从节点,所述第一类型从节点通过所述第二类型从节点连接到集群外网,所述第二类型从节点为与集群外网直接连接的从节点,其中,第一类型从节点的心跳超时时长由第二类型从节点的状态确定。
需要说明的是,所述第二类型从节点为与集群外网直接连接的从节点可以理解为机箱内的网络出口从节点(例如图1中的从节点1)或单机分布式节点(例如图1的从节点9),本申请的实施例不作具体的限定。
具体的,中心节点根据第二类型从节点的状态确定第一类型从节点的心跳超时时长可以是:当所述第二类型从节点的状态为离线状态时,设置所述第一类型从节点的心跳超时时长为第一时长;当所述第二类型从节点的状态为在线状态时,设置所述第一类型从节点的心跳超时时长为第二时长;其中,所述第二时长大于所述第一时长。
可选的,中心节点可以根据每个从节点的内网IP地址和获取默认路由所在的IP地址确定服务器板卡中每个从节点的网络出口节点名。
示例性的,如图1所示,每个从节点启动时,中心节点获取每个从节点对应的从节点标识信息,假设中心节点检测到从节点1已接入集群外网,则获取从节点1默认路由所在的IP地址作为机箱1内其他从节点的网络出口的IP地址。
示例性的,如图1所示的从节点2、3、4通过从节点1与集群外网连接,从节点6、7、8通过从节点5与集群外网连接,从节点1、5为直接接入所述集群外网的从节点;中心节点将从节点2、3、4、6、7、8划分为第一类型从节点,中心节点将从节点1、5划分为第二类型从节点;其中,从节点1是从节点2、3、4的出口网络从节点,从节点5是从节点6、7、8的出口网络从节点;假设图1中所有从节点的心跳间隔均为2秒,当从节点1和从节点5离线时,中心节点将从节点2、3、4、6、7、8的心跳超时时长设置为20秒,从节点1、5的心跳超时时长设置为20秒;当从节点1和节点5在线时,将从节点2、3、4、6、7、8的心跳超时时长设置为25秒,从节点1、5的心跳超时时长设置为20秒。
201:所述服务器集群中的中心节点监听每个服务器中至少一个从节点的心跳信号。
应理解,所述服务器集群中包括多个服务器集成箱(简称机箱)或单机分布式从节点,一个机箱包括多个服务器板卡,每个服务器板卡中包括一个或多个从节点,每个从节点是一个CPU。
举例来说,图1中的从节点9、10就是只包括一个从节点的服务器即单机分布式从节点,机箱1、2中分别包括两个服务器板卡,每个服务器板卡包括2个从节点。
所述服务器集群中的中心节点监听每个服务器中至少一个从节点的心跳信号,有多种实现方式,比如以下两种:
方式1:中心节点以一定的频率接收每个从节点发送的心跳信号。
示例性的,如图1所示的中心节点每隔2.5秒接收其他从节点发送的心跳信号。
方式2:中心节点以一定的频率向每个从节点发送的心跳信号,并监测预设时间内是否收到每个从节点的回应报文。
需要说明的是,通过上述两种方式,中心节点可以实时地对服务器集群中的每个从节点进行检测,提高了集群服务器的从节点故障检测的准确率。
202:中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线。
应理解,所述第一从节点可以是前文所述的第一类型从节点,也可以是前文所述的第二类型从节点,本申请的实施例不做具体的限定。也就是说,中心节点可以实时监听不同类型的从节点,对服务器集群中的每个从节点进行细致检测。
应理解,中心节点若在第一从节点对应的心跳超时时长内未接收到第一从节点发送的心跳信号,则确定所述第一从节点离线。
示例性的,中心节点在25秒内未收到机箱1的服务器板卡2中的从节点3发送的心跳信号,则确定服务器板卡2中的从节点3已离线。
可选的,所述中心节点确定所述第一从节点离线之后,还可以确定未离线的第二从节点,将所述第一从节点上运行的服务切换到所述第二从节点。
其中,中心节点确定未离线的第二从节点,包括以下几种方式:
方式1,在所述第一从节点所处的服务器板卡内确定未离线的第二从节点,将所述第一从节点上运行的服务切换到所述第二从节点。
示例性的,如图1所示,假设中心节点确定机箱1的服务器板卡2中的从节点3已离线,但服务器板卡2中的从节点4未离线,将从节点3上运行的服务切换到服务器板卡2中的从节点4。
方式2,若所述第一从节点所在的服务器板卡内的从节点均离线,中心节点在所述第一从节点所处的机箱内的其他服务器板卡上确定在线的第二从节点,将所述第一从节点上运行的服务切换到所述第二从节点。
示例性的,如图1所示,假设中心节点确定机箱1的服务器板卡2中的从节点3已离线,且服务器板卡2中的从节点4已离线,将从节点3上运行的服务切换到服务器板卡1中的从节点2。
可选的,所述中心节点检测到所述服务在所述第二从节点上切换成功时,还可以触发终端进行故障恢复。
下面结合图1和具体的实施例对本申请提供的技术方案进行详细的说明。
实施例1
服务器集群中的每个从节点启动,中心节点接收所述每个从节点发送的注册信息,每个注册信息中携带每个从节点对应的网络标识,所述网络标识用于区分所述第一从节点是否直接接入集群外网。
中心节点根据每个从节点对应对网络标识将所述至少一个从节点划分为两种类型的从节点,设置第一类型从节点的心跳超时时长大于第二类型从节点的心跳超时时长;所述第一类型从节点为通过其他从节点连接集群外网的从节点,所述第二类型从节点为与集群外网直连的从节点。如图1所示的从节点2、3、4通过从节点1与集群外网连接,从节点6、7、8通过从节点5与集群外网连接,从节点1、5、9、10为直接接入所述集群外网的从节点,中心节点将从节点1、5、9、10划分为第一类型从节点,中心节点将从节点2、3、4、6、7、8划分为第二类型从节点;假设图1中所有从节点的心跳间隔均为2秒,中心节点将第一类型从节点的心跳超时时长设置为20秒,第二类型从节点的心跳超时时长设置为25秒。
中心节点每隔2秒接收其他从节点发送的心跳信号,若在20秒内未接收到从节点1、5、9、10发送的心跳信号,则认为从节点1、5、9、10已离线;若在25秒内未接收到从节点2、3、4、6、7、8发送的心跳信号,则认为从节点2、3、4、6、7、8已离线。
请继续参见图1,假设中心节点在25秒内未接收到机箱1的服务器板卡2中的从节点3发送的心跳信号,则确定从节点3已离线,但中心节点正常接收到从节点4的心跳信号,中心节点将从节点3上运行的服务切换到服务器板卡2中的从节点4,所述中心节点检测到所述服务在从节点4上切换成功时,还可以触发终端进行故障恢复。
实施例2
服务器集群中的每个从节点启动,中心节点接收所述每个从节点发送的注册信息。
中心节点获取每个从节点对应的服务器从节点标识,检测每个从节点是否存在特定的网卡名或特定的IP地址,来判断该从节点是否已直接接入集群外网。
请继续参见图1,假设中心节点检测到从节点1已接入集群外网,则获取从节点1默认路由所在的IP地址作为机箱1内其他从节点的网络出口从节点的IP地址。
如图1所示的从节点2、3、4通过从节点1与集群外网连接,从节点6、7、8通过从节点5与集群外网连接,从节点1、5、9、10为直接接入所述集群外网的从节点;中心节点将从节点2、3、4、6、7、8划分为第一类型从节点,中心节点将从节点1、5、9、10划分为第二类型从节点;其中,从节点1是从节点2、3、4的出口网络节点,从节点5是从节点6、7、8的出口网络节点。因此,根据网络出口节点的状态确定其他从节点的心跳超时时长。
例如,当从节点1离线时,将从节点2、3、4的心跳超时时长设置为20秒,第二类型从节点的心跳超时时长设置为20秒;当从节点1在线时,将从节点2、3、4的心跳超时时长设置为25秒,第二类型从节点的心跳超时时长设置为20秒。
如图1所示,假设中心节点在25秒内未收到机箱1的服务器板卡2中的从节点3、4发送的心跳信号,则确定服务器板卡2中的从节点3、4已离线,将从节点3上运行的服务切换到服务器板卡1中的从节点2,所述中心节点检测到所述服务在从节点4上切换成功时,还可以触发终端进行故障恢复。
基于同一发明构思,本申请还提供一种从节点异常检测装置,应用于服务器集群,服务器集群中包括多个服务器,每个服务器中包括一个或多个从节点;请参见图3,图3为本申请实施例提供的一种从节点异常检测装置的结构示意图,该装置包括:
确定模块301,用于确定所述至少一个从节点中每个从节点对应的心跳超时时长,所述至少一个从节点中每个从节点对应的心跳超时时长不同;
监听模块302,用于监听每个服务器中至少一个从节点的心跳信号;
所述确定模块301,还用于根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线。
在一种可能的实施方式中,所述确定模块301,用于确定所述至少一个从节点中每个从节点对应的心跳超时时长。
在一种可能的实施方式中,所述确定模块301在用于确定所述至少一个从节点中每个从节点对应的心跳超时时长时,具体用于:根据所述每个个从节点对应的从节点类型确定每个从节点对应的心跳超时时长,其中,所述从节点包括第一类型从节点和第二类型从节点,第一类型从节点的心跳超时时长大于第二类型从节点的心跳超时时长;所述第一类型从节点为通过其他从节点连接集群外网的从节点,所述第二类型从节点为与所述集群外网直接连接的从节点。
在一种可能的实施方式中,所述从节点包括第一类型从节点和第二类型从节点,所述确定模块301在用于确定所述至少一个从节点中每个从节点对应的心跳超时时长时,具体用于:根据第二类型从节点的状态确定第一类型从节点的心跳超时时长;所述第一类型从节点通过所述第二类型从节点连接到集群外网,所述第二类型从节点为与所述集群外网直接连接的从节点。
在一种可能的实施方式中,所述确定模块301在用于根据第二类型从节点的状态确定第一类型从节点的心跳超时时长,具体用于:
当所述第二类型从节点的状态为离线状态时,设置所述第一类型从节点的心跳超时时长为第一时长;
当所述第二类型从节点的状态为在线状态时,设置所述第一类型从节点的心跳超时时长为第二时长;其中,所述第二时长大于所述第一时长。
在一种可能的实施方式中,当所述确定模块301确定所述第一从节点离线方法之后,还用于:将所述第一从节点上的业务转移到第二从节点,所述第二从节点为处于在线状态的从节点;在所述第二从节点上继续运行所述业务。其中,所述第二从节点与所述第一从节点为处于同一服务器内的从节点,或者,所述第二从节点与所述第一从节点处于同一机箱,所述机箱包括多个服务器板卡,每个服务器板卡包括多个服务器。
基于同一发明构思,本申请实施例提供一种设置有从节点异常检测功能的电子设备(例如前文所述的中心节点),请参见图4所示,图4为本申请实施例提供的电子设备的结构示意图。该设置有从节点异常检测功能的电子设备包括至少一个处理器402,以及与至少一个处理器连接的存储器401,本申请实施例中不限定处理器402与存储器401之间的具体连接介质,图4是以处理器402和存储器401之间通过总线400连接为例,总线400在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不以此为限。总线400可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器401存储有可被至少一个处理器402执行的指令,至少一个处理器402通过调用存储器401存储的指令,可以执行前述的从节点异常检测方法中所包括的步骤。
其中,处理器402是设置有从节点异常检测功能的电子设备的控制中心,可以利用各种接口和线路连接整个设置有从节点异常检测功能的电子设备的各个部分,通过执行存储在存储器401内的指令,从而实现设置有从节点异常检测功能的电子设备的各种功能。可选的,处理器402可包括一个或多个处理单元,处理器402可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器402中。在一些实施例中,处理器402和存储器401可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器401作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器401可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器401是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器401还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
处理器402可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的从节点异常检测的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
通过对处理器402进行设计编程,可以将前述实施例中介绍的从节点异常检测方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的从节点异常检测的方法的步骤,如何对处理器402进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的节点异常检测方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种节点异常检测方法,其特征在于,包括:
服务器集群中包括多个服务器和中心节点,每个服务器中包括至少一个从节点,所述中心节点监听所述至少一个从节点的心跳信号;
所述中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线;其中,所述至少一个从节点中每个从节点对应的心跳超时时长不同。
2.如权利要求1所述的方法,其特征在于,所述中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线,包括:
若所述中心节点在所述第一从节点对应的第一心跳超时时长内未监听到所述第一从节点的心跳信号,则确定所述第一从节点离线。
3.如权利要求1所述的方法,其特征在于,所述每个从节点的心跳超时时长大于或等于预设的所述每个从节点连续两次发送心跳信号的时间间隔。
4.如权利要求1所述的方法,其特征在于,所述至少一个从节点中每个从节点对应的心跳超时时长不同,包括:
所述从节点包括第一类型从节点和第二类型从节点,所述第一类型从节点的心跳超时时长大于所述第二类型从节点的心跳超时时长;所述第一类型从节点为通过其他从节点连接集群外网的从节点,所述第二类型从节点为与所述集群外网直接连接的从节点。
5.如权利要求1所述的方法,其特征在于,所述至少一个从节点中每个从节点对应的心跳超时时长不同,包括:
所述从节点包括第一类型从节点和第二类型从节点,所述第一类型从节点的心跳超时时长由所述第二类型从节点的状态确定;所述第一类型从节点通过所述第二类型从节点连接到集群外网,所述第二类型从节点为与所述集群外网直接连接的从节点。
6.如权利要求5所述的方法,其特征在于,所述第一类型从节点的心跳超时时长由所述第二类型从节点的状态确定,包括:
当所述第二类型从节点的状态为离线状态时,设置所述第一类型从节点的心跳超时时长为第一时长;
当所述第二类型从节点的状态为在线状态时,设置所述第一类型从节点的心跳超时时长为第二时长;其中,所述第二时长大于所述第一时长。
7.如权利要求1-6中任一权利要求所述的方法,其特征在于,所述中心节点根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线之后,还包括:
将所述第一从节点上的业务转移到第二从节点,所述第二从节点为处于在线状态的从节点;
在所述第二从节点上继续运行所述业务。
8.如权利要7所述的方法,其特征在于,所述第二从节点与所述第一从节点为处于同一服务器内的从节点,或者,所述第二从节点与所述第一从节点处于同一机箱,所述机箱包括多个服务器板卡,每个服务器板卡包括多个服务器。
9.一种从节点异常检测装置,其特征在于,包括:
监听模块,用于监听服务器集群中每个服务器中至少一个从节点的心跳信号,所述至少一个从节点中每个从节点对应的心跳超时时长不同;
确定模块,用于根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线。
10.一种服务器集群系统,其特征在于,包括:
多个服务器,每个服务器中包括一个或多个从节点;
中心节点,用于监听每个服务器中至少一个从节点的心跳信号;
所述中心节点,还用于根据所述服务器集群中第一服务器中的第一从节点的心跳信号,确定所述第一从节点离线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010402372.2A CN111651294B (zh) | 2020-05-13 | 2020-05-13 | 一种节点异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010402372.2A CN111651294B (zh) | 2020-05-13 | 2020-05-13 | 一种节点异常检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111651294A true CN111651294A (zh) | 2020-09-11 |
CN111651294B CN111651294B (zh) | 2023-07-25 |
Family
ID=72342944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010402372.2A Active CN111651294B (zh) | 2020-05-13 | 2020-05-13 | 一种节点异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111651294B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897813A (zh) * | 2015-06-10 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 心跳消息发送方法、接收方法及装置 |
CN106972977A (zh) * | 2017-05-24 | 2017-07-21 | 北京潘达互娱科技有限公司 | 一种长连接维护方法与装置 |
US20170293613A1 (en) * | 2014-12-31 | 2017-10-12 | Huawei Technologies Co.,Ltd. | Arbitration processing method after cluster brain split, quorum storage apparatus, and system |
US20180089047A1 (en) * | 2016-09-29 | 2018-03-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Detecting and handling an expansion card fault during system initialization |
CN109088794A (zh) * | 2018-08-20 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种节点的故障监测方法和装置 |
CN109495312A (zh) * | 2018-12-05 | 2019-03-19 | 广州鼎甲计算机科技有限公司 | 基于仲裁盘和双链路的高可用集群的实现方法和系统 |
US20190104044A1 (en) * | 2017-09-29 | 2019-04-04 | Jigang Yang | Heart beat monitoring for broadband access devices and enterprise devices |
US20190173739A1 (en) * | 2017-10-27 | 2019-06-06 | EMC IP Holding Company LLC | Method, device and computer program product for managing distributed system |
US20190245735A1 (en) * | 2016-10-20 | 2019-08-08 | Nec Corporation | Server apparatus, cluster system, cluster control method and program |
CN110417586A (zh) * | 2019-07-18 | 2019-11-05 | 新华三大数据技术有限公司 | 服务监控方法、服务节点、服务器及计算机可读存储介质 |
-
2020
- 2020-05-13 CN CN202010402372.2A patent/CN111651294B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170293613A1 (en) * | 2014-12-31 | 2017-10-12 | Huawei Technologies Co.,Ltd. | Arbitration processing method after cluster brain split, quorum storage apparatus, and system |
CN105897813A (zh) * | 2015-06-10 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 心跳消息发送方法、接收方法及装置 |
US20180089047A1 (en) * | 2016-09-29 | 2018-03-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Detecting and handling an expansion card fault during system initialization |
US20190245735A1 (en) * | 2016-10-20 | 2019-08-08 | Nec Corporation | Server apparatus, cluster system, cluster control method and program |
CN106972977A (zh) * | 2017-05-24 | 2017-07-21 | 北京潘达互娱科技有限公司 | 一种长连接维护方法与装置 |
US20190104044A1 (en) * | 2017-09-29 | 2019-04-04 | Jigang Yang | Heart beat monitoring for broadband access devices and enterprise devices |
US20190173739A1 (en) * | 2017-10-27 | 2019-06-06 | EMC IP Holding Company LLC | Method, device and computer program product for managing distributed system |
CN109088794A (zh) * | 2018-08-20 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种节点的故障监测方法和装置 |
CN109495312A (zh) * | 2018-12-05 | 2019-03-19 | 广州鼎甲计算机科技有限公司 | 基于仲裁盘和双链路的高可用集群的实现方法和系统 |
CN110417586A (zh) * | 2019-07-18 | 2019-11-05 | 新华三大数据技术有限公司 | 服务监控方法、服务节点、服务器及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111651294B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113014634B (zh) | 集群选举处理方法、装置、设备及存储介质 | |
JP2004062535A (ja) | マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード | |
CN101714109A (zh) | 双cpu系统主板的控制方法及设备 | |
CN112217658B (zh) | 一种堆叠分裂处理方法及装置 | |
US10554497B2 (en) | Method for the exchange of data between nodes of a server cluster, and server cluster implementing said method | |
CN117992270B (zh) | 一种内存资源管理系统、方法、装置、设备及存储介质 | |
CN114840495A (zh) | 一种数据库集群防脑裂的方法、存储介质与设备 | |
CN116126457A (zh) | 容器迁移方法和服务器集群 | |
CN114615310A (zh) | 一种维护tcp连接的方法、装置及电子设备 | |
CN112231123A (zh) | 消息处理方法、装置、存储介质及电子装置 | |
CN111651294B (zh) | 一种节点异常检测方法及装置 | |
CN114124803B (zh) | 设备管理方法、装置、电子设备及存储介质 | |
CN115499300A (zh) | 嵌入式设备集群化运行架构、方法及装置 | |
CN111737062B (zh) | 一种备份处理方法、装置及系统 | |
CN111934909B (zh) | 主备机ip资源切换方法、装置、计算机设备和存储介质 | |
CN110442094B (zh) | 一种分布式系统仲裁方法及装置 | |
US20100005197A1 (en) | Network device and active control card detecting method | |
WO2001075677A1 (en) | Constructing a component management database for managing roles using a directed graph | |
CN107547257B (zh) | 一种服务器集群实现方法及装置 | |
CN112636999A (zh) | 一种端口的探测方法和网络监控系统 | |
CN111083003A (zh) | 监控系统及方法、存储介质、处理器 | |
CN116155957B (zh) | 一种分拣机控制程序的运行方法、装置和电子设备 | |
CN115643237B (zh) | 一种用于会议的数据处理系统 | |
CN112732348B (zh) | 一种多节点一体机的业务处理方法及装置 | |
EP2890055B1 (en) | Method and apparatus for processing cluster in cluster system, and system |
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 |