CN109391495A - 发送及接收心跳消息的方法、装置、计算机可读介质及电子设备 - Google Patents
发送及接收心跳消息的方法、装置、计算机可读介质及电子设备 Download PDFInfo
- Publication number
- CN109391495A CN109391495A CN201710681189.9A CN201710681189A CN109391495A CN 109391495 A CN109391495 A CN 109391495A CN 201710681189 A CN201710681189 A CN 201710681189A CN 109391495 A CN109391495 A CN 109391495A
- Authority
- CN
- China
- Prior art keywords
- node
- heartbeat message
- characteristic time
- saved
- effective control
- 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.)
- Withdrawn
Links
Classifications
-
- 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- 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/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
-
- 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
-
- 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/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
Abstract
本申请提供一种发送心跳消息的方法,包括以下步骤:获取本节点的特征时间信息;将所述特征时间信息加入待发送心跳消息中;向目标节点发送所述心跳消息。将本节点的特征时间信息加入心跳消息发送给目标节点,增加了心跳消息的信息量,起到提高发送心跳消息灵活性的作用。本申请同时提供一种接收心跳消息的方法和装置,以及一种接收建立连接请求的方法和装置。本申请还提供一种计算机可读介质和电子设备。
Description
技术领域
本申请涉及一种发送消息的方法,具体涉及一种发送心跳消息的方法和装置,还涉及一种接收心跳消息的方法和装置,还涉及一种接收连接请求的方法和装置。本申请还涉及一种计算机可读介质和电子设备。
背景技术
分布式集群系统中通常会设置控制节点,为了保证所述控制节点的高可用性,还会设置所述控制节点的备份节点。当所述控制节点由于故障而无法提供服务时,将服务切换到所述备份节点,由所述备份节点向集群内各个节点提供原控制节点所提供的服务。上述方式通常被称为主备(Master/Slave)方式,其中被设置为控制节点的节点为主(Master),所述被设置为备份节点的节点为备(Slave)。
尽管采用主备方式能够提高控制节点的可用性,但如果服务由于控制节点的故障而切换到原来的备份节点后,原控制节点清除了故障而恢复运行,这时所述分布式集群系统中会出现两个正在运行的控制节点。
由于两个控制节点都是正常运行无故障的控制节点,两个控制节点都对所述分布式集群系统内的各个节点进行状态管理,配置管理等管理工作。这无疑会导致分布式集群系统中与所述两个正常运行的控制节点相关的业务的混乱:
对于分布式集群系统内各个节点以及其上运行的业务应用系统的状态管理通常通过心跳消息的收发来实现,主控节点向运行业务应用的各个节点发送心跳消息,当所述运行业务应用的节点正常进行心跳消息的收发,并且在相应的消息中携带了运行其上的业务应用系统运行正常的信息时,可以认为该节点以及其消息中携带的运行于其上的正常运行的业务系统状态为正常运行,否则认为其上运行的业务系统故障甚至节点本身状态为故障。
可见,当两个控制节点分别管理分布式集群系统内的各个节点状态时,很可能会产生其中一个控制节点认为分布式集群系统内某个节点或其上的业务应用是正常运行的状态,但是另外一个控制节点却认为所述节点或其上的业务应用状态是故障的,最终集群很有可能会出现混乱,难以提供正常服务。
除了对分布式集群系统内的节点以及其上的业务应用状态进行监测管理外,分布式集群系统内的控制节点还对集群内的各个节点以及其上的业务应用的配置等信息通过读写数据进行管理。
当两个控制节点认为分布式集群系统内某个节点或其上的业务应用的状态相同时,由于所述节点被所述两个控制节点所管理,两个控制节点都会管理节点,都可能向所述节点写数据,最终可能导致所述分布式集群系统内节点数据不一致。
可见现有分布式集群系统的发送和接收心跳消息的方案不够灵活,无法很好地避免同一分布式集群系统内两个控制节点同时运行的问题。
发明内容
本申请提供一种发送心跳消息的方法和装置。本申请同时提供一种接收心跳消息的方法和装置,以及一种接收建立连接请求的方法和装置。本申请还提供一种计算机可读介质和电子设备。
本申请提供的一种发送心跳消息的方法,包括以下步骤:
获取本节点的特征时间信息;
将所述特征时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
可选的,所述本节点特征时间包括本节点启动的时间或控制发送心跳的业务切换到本节点的时间。
可选的,用于分布式集群系统。
本申请提供的一种接收心跳消息的方法,包括以下步骤:
接收包含特征时间信息的心跳消息;
根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
可选的,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间早于本节点所保存的有效控制节点的特征时间,则丢弃所述心跳消息。
可选的,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间相同,则响应所述心跳消息。
可选的,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则利用所述心跳消息所包含的特征时间更新本节点所保存的有效控制节点的特征时间。
可选的,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则利用所述心跳消息的发送者标识更新本节点保存的有效控制节点标识。
可选的,所述标识包括地址。
可选的,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则响应所述心跳消息。
可选的,用于分布式集群系统。
此外,本申请还提供一种接收建立连接请求的方法,包括以下步骤:
接收建立连接的请求;
根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
可选的,所述标识包括地址。
可选的,所述根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作包括:
若所述消息的请求者标识与本节点所保存的有效控制节点标识相同,则接受所述建立连接的请求。
可选的,所述根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作包括:
若所述消息的请求者标识与本节点所保存的有效控制节点标识不同,则拒绝接受所述建立连接的请求。
可选的,用于分布式集群系统。
此外,本申请还提供一种发送心跳消息的装置,包括:
获取单元,用于获取本节点特征时间信息;
加入单元,用于将所述本节点特征时间信息加入待发送心跳消息中;
发送单元,用于向目标节点发送所述心跳消息。
此外,本申请还提供一种接收心跳消息的装置,包括:
接收单元,用于接收包含特征时间信息的心跳消息;
执行单元,用于根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
此外,本申请还提供一种接收建立连接请求的装置,包括:
接收单元,用于接收建立连接的请求;
执行单元,用于根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
此外,本申请还提供一种计算机可读介质,其上存储有指令,所述指令被执行以用于:
获取本节点的特征时间信息;
将所述特征时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
此外,本申请还提供一种电子设备,其包括:处理器和存储器,
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取本节点的特征时间信息;
将所述特征时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
此外,本申请还提供一种计算机可读介质,其上存储有指令,所述指令被执行以用于:
接收包含特征时间信息的心跳消息;
根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
此外,本申请还提供一种电子设备,其包括:存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收包含特征时间信息的心跳消息;
根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
此外,本申请还提供一种计算机可读介质,其上存储有指令,所述指令被执行以用于:
接收建立连接的请求;
根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
此外,本申请还提供一种电子设备,其包括:存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收建立连接的请求;
根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
此外,本申请还提供一种发送心跳消息的方法,包括以下步骤:
获取本节点的时间信息;
将所述时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
此外,本申请还提供一种接收心跳消息的方法,包括以下步骤:
接收包含时间信息的心跳消息;
根据所述心跳消息中携带的时间与本节点所保存的有效控制节点的时间信息的先后关系,执行相应的操作。
与现有技术相比,本申请的一种发送心跳消息的方法的其中一个方面具有以下优点:将本节点的特征时间信息加入心跳消息发送给目标节点,增加了心跳消息的信息量,起到提高发送心跳消息灵活性的作用。
与现有技术相比,本申请的一种接收心跳消息的方法的其中一个方面具有以下优点:根据心跳消息所携带的特征时间与本节点保存的有效控制节点的特征时间对比结果,进行相应的操作。起到接收心跳消息灵活性的作用。
与现有技术相比,本申请的一种接收连接请求的方法的其中一个方面具有以下优点:根据请求者标识与本节点保存的有效控制节点标识的对比结果,执行相应的操作。起到提高处理建立连接请求的灵活性的作用。
附图说明
图1为本申请第一实施例一种发送心跳消息的方法的流程示意图;
图2为本申请第二实施例一种接收心跳消息的方法的流程示意图;
图3为本申请第三实施例一种接收建立连接请求的方法的流程示意图;
图4为本申请第四实施例一种发送心跳消息的装置的结构框图;
图5为本申请第五实施例一种接收心跳消息的装置的结构框图;
图6为本申请第六实施例一种接收建立连接请求的装置的结构框图;
图7为Master作为主控节点向各个节点发送心跳包的示意图;
图8为在主控节点Master发送故障时,本节点从原来备份节点的地位成为新的主控节点向各个节点发送心跳包的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请第一实施例提供一种发送心跳消息的方法,其流程示意图如图1所示,为了管理分布式集群网络中的各个节点以及各个节点上的业务应用,在集群网络内可以设置心跳控制节点以固定的时间间隔向其他各个运行业务应用的节点发送心跳消息询问其状态。
本实施例以分布式集群网络中负责向其他节点发送心跳消息的心跳控制节点发送心跳消息为例进行说明。请参考图1,本实施例包括以下步骤:
步骤S101,获取本节点特征时间信息。
所述本节点的特征时间信息是指能够表示本节点作为心跳控制节点开始控制发送心跳消息的时间。所述时间能够将本节点与同一分布式集群网络内其他具备控制发送心跳消息功能的节点区分开。
所述时间可以包括本节点启动运行的时间或控制发送心跳消息的业务从原来的节点切换到本节点的时间。
为了便于管理,同一分布式集群网络内每一时刻仅有一个节点被允许作为合法、有效的控制发送心跳消息的节点,该节点被称为主控节点,其他具备控制发送心跳消息功能的节点在主控节点正常运行时作为所述主控节点的备份节点。
当所述主控节点由于故障而不能够提供控制发送心跳消息的业务时,可以将控制发送心跳消息的业务从原主控节点切换到一个备份节点,使得该原备份节点成为新的主控节点。
当分布式集群网络首次投入运行时,可以将此时本节点启动运行的时间作为其特征时间。由于网络内只有主控节点控制发送心跳消息,网络内的心跳消息所携带都是主控节点的启动时间信息。如图7中所示,Master作为主控节点向各个节点(节点1、节点2和节点3)发送心跳包(心跳消息)。心跳消息携带主控节点的启动时间信息。
当主控节点故障后,本节点从原备份节点成为新的主控节点时,将控制发送心跳消息的业务从原主控节点切换到本节点的时间作为本节点的特征时间。此后本节点作为新的主控节点发送的心跳消息中包含的特征时间即为控制发送心跳消息的业务从原主控节点切换到本节点的时间。如图8中所示,在主控节点Master发送故障时,本节点(Slave)从原来备份节点的地位成为新的主控节点,向各个节点(节点1、节点2和节点3)发送心跳包(心跳消息),该心跳消息携带Slave成为主控节点的时间(作为特征时间)可被各节点所接收。而原主控节点Master发送的心跳消息不再被各节点所接收。
这样能够使得整个分布式集群网络内的其他节点能够根据所述特征时间的不同很容易地判断出当前有效控制节点。
所述分布式集群网络内首次启动运行时主控节点的启动的时间与后续控制发送心跳消息的业务切换到其他具备控制发送心跳消息功能的节点的时间不会相同,能够将本节点与其他具备控制心跳消息发送功能的节点区分开。
在本节点作为主控节点启动运行时,将本节点启动运行的时间存储下来,或者当心跳业务即控制发送心跳消息的业务从原来的主控制节点切换到本节点时,将当前时间存储下来。
例如,在控制发送心跳消息的业务切换到本节点时,将所述切换的时间信息“2016-07-05 23:25:15”记录下来,作为本节点的特征时间信息。
本步骤获取所述被存储的本节点的启动时间或控制发送心跳消息的业务切换到本节点的时间信息作为本节点特征时间信息。
请继续参考图1,步骤S102,将所述特征时间信息加入待发送心跳消息中。
所述心跳消息是网络中周期性查询节点以及节点上运行的业务应用系统状态的消息,其格式可以根据需要设置,使其在网络内能够被其他节点接收后识别并响应。
本步骤在本节点作为心跳控制节点,每次发送心跳消息前,封装心跳消息时,将前一步骤中获取到的本节点的特征时间信息包含到所述的心跳消息中。
例如将控制发送心跳消息的控制业务切换时间“2016-07-05 23:25:15”作为特征时间信息封装到待发送的心跳消息中:
步骤S103,向目标节点发送所述心跳消息。
根据系统的设定,按照固定的时间间隔将所述包含有本节点特征时间信息的心跳消息发送给网络内的目标节点。
如将前一步骤中封装好的包括特征时间信息“2016-07-05 23:25:15”的心跳消息发送给分布式集群内各个运行业务应用的节点。
本申请第二实施例提供一种接收心跳消息的方法。其流程示意图如图2所示,与本申请第一实施例相对应地,本实施例以分布式集群网络中接收并响应心跳消息的节点为例进行说明。本实施例包括以下步骤:
步骤S201,接收包含特征时间信息的心跳消息。
分布式集群网络中各个运行业务应用的节点会定期接收到心跳消息,所述心跳消息中包含有发送所述心跳消息的发送者的特征时间信息。
所述特征时间信息为所述心跳消息的发送者作为心跳控制节点开始控制发送心跳消息的时间。所述特征时间能够将所述发送者与同一分布式集群网络内其他具备控制发送心跳消息功能的节点区分开。
所述特征时间信息,既可以为发送所述心跳消息的发送者启动时的时间点的信息,也可以为控制发送心跳消息的业务切换到发送本次心跳消息的发送者时的时间点的信息。
所述特征时间信息的更为具体的说明可以参考本申请第一实施例一种发送心跳消息的方法的实施例中相关描述,在此不做赘述。
步骤S202,根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
分布式集群网络中各个运行业务应用的节点在确定响应所接收到的心跳消息前,需要对所接收到的心跳消息的发送者的身份进行验证,响应当前有效控制节点发送的心跳消息,而对于非当前有效控制节点发送的心跳消息不做响应,将其发送的心跳消息丢弃。
验证判断心跳消息的发送者身份是通过对所接收到的心跳消息中所包含的特征时间信息与本节点所存储的有效控制节点的特征时间的先后关系来进行的。
本节点此前已经将本节点所在的分布式集群网络内当时有效控制节点的特征时间信息记录存储下来。
当所接收到的心跳消息中携带的特征时间早于本节点所存储的有效控制节点的特征时间时,表明本节点所保存的有效控制节点的特征时间所对应的节点仍为当前有效控制节点,并且本节点本次所接收到的心跳消息的发送者不是当前有效控制节点。将所述接收到的心跳消息丢弃无需做进一步地处理。
对于所接收到的心跳消息的发送者不是当前有效控制节点时,对其发送的心跳消息不做进一步处理而丢弃能够保证本节点只响应当前有效控制节点发送的心跳消息,使得同一分布式集群网络内同时只有一个心跳控制节点管理运行业务应用的各个节点。不仅能够保证分布式集群网络内对各个节点的管理的一致性,还能够节省系统资源。
例如若接收到的心跳消息中包含有心跳消息发送节点的以下特征时间信息:“2016-07-05 23:25:15”,而本节点存储的有效控制节点的特征时间为“2016-08-03 20:20:10”,表明本节点接收到的心跳消息的发送者开始控制发送心跳消息的时间早于本节点此前存储的有效控制节点开始控制发送心跳消息的时间,将所述心跳消息丢弃,不对所述心跳消息做进一步的处理,不响应所述心跳消息。
当所接收到的心跳消息中携带的特征时间与本节点所存储的有效控制节点的特征时间相同时,表明本节点所保存的有效控制节点的特征时间所对应的节点仍为当前有效控制节点,并且本节点本次所接收到的心跳消息的发送者为当前有效控制节点,对所述接收到的心跳消息进行相应的处理后,响应所述心跳消息。
当心跳消息的发送者为当前有效控制节点时,响应其所发送的心跳消息能够保证分布式集群网络内对各个节点的管理的一致性。
例如若接收到的心跳消息中包含有心跳消息发送节点的以下特征时间信息:“2016-07-05 23:25:15”,而本节点存储的有效控制节点的特征时间为“2016-07-05 23:25:15”,表明本节点本次接收到的心跳消息的发送者开始控制发送心跳消息的时间与本节点此前存储的有效控制节点开始控制发送心跳消息的时间相同,对所述本次接收到的心跳消息进行进一步的相应处理后生成响应消息,并将响应消息发送给所述心跳消息的发送者。
当所接收到的心跳消息中携带的特征时间晚于本节点所存储的有效控制节点的特征时间时,表明所接收到的心跳消息的发送者为当前有效控制节点,需要对所述心跳消息进行相应的后续处理和响应。并且此前本节点保存的有效控制节点的特征时间所对应的节点不再是当前有效控制节点,需要将本节点保存的有效控制节点的相关信息进行更新,包括有效控制节点的特征时间和有效控制节点的标识。所述标识包括其主机名称或IP地址。采用IP地址能够避免网络中的冲突。
当原有效控制节点不再有效时,及时更新本节点保存的有效控制节点的相关信息能够确保分布式集群内同时只有一个控制节点对各个节点进行管理,保证分布式集群网络内对运行业务应用的各个节点管理的一致性。
例如,分布式集群网络内的控制发送心跳消息的节点设置为主备方式时,主控节点即为有效控制节点,当主控节点由于故障或管理原因不能提供控制发送心跳消息的业务时,控制发送心跳消息的业务可以被切换到具备控制发送心跳消息功能的备份节点,使其成为新的当前有效控制节点。
所述新的当前有效控制节点在向网络内其他节点发送心跳消息时,将控制发送心跳消息的业务切换到自己的时间如“2016-07-05 23:25:15”作为自己的特征时间包含在其发送的心跳消息中,本节点接收到的心跳消息中即包含有其特征时间信息:“2016-07-0523:25:15”,而本节点存储的有效控制节点的特征时间为“2016-06-02 22:22:12”时,本节点本次接收到的心跳消息中携带的特征时间晚于本节点保存的有效控制节点的特征时间,表明本次心跳消息的发送者为当前有效控制节点。
由于本次心跳消息的发送者为当前有效控制节点,并且本节点本次接收到的心跳消息中携带的特征时间晚于本节点保存的有效控制节点的特征时间,所以除了对所述心跳消息进行相应的处理和响应外,还需要更新本节点所存储保存的有效控制节点的相关信息,所述相关信息包括有效控制节点的特征时间和有效控制节点的标识。即将本节点保存的有效控制节点的特征时间更新为所接收到的心跳消息中所包含的特征时间信息“2016-07-05 23:25:15”,将本节点保存的有效控制节点的标识更新为本次所接收到的心跳消息的发送者的IP地址(如192.168.0.5)。
本申请第三实施例提供一种接收建立连接请求的方法,其流程示意图如图3所示,本实施例以分布式集群内各个运行业务应用的节点接收建立连接的请求为例进行说明,本实施例的接收建立连接请求的方法包括以下步骤:
步骤S301,接收建立连接的请求。
分布式集群网络内的运行业务应用的各个节点在运行时会和所述分布式集群网络内的其他节点产生交互行为,所述交互行为既可能来自于其他运行业务应用的节点,也可能来自同一分布式集群网络内具备控制管理功能的节点。
对于同一分布式集群网络内具备控制管理功能的节点来说,当其运行控制管理的业务时,除了向运行业务应用的节点发送心跳消息收集节点以及节点上运行的业务应用的状态信息外,还可以对所述运行业务应用的各个节点和其上的业务应用进行状态或配置管理。
上述具备控制管理功能的节点收集到分布式集群网络内运行业务应用的各个节点以及其上运行的业务应用的状态信息后,可以根据管理和业务需要对所述节点和其上的业务应用以及一些具体配置进行增加,修改,删除等操作。为了进行所述操作,上述具备控制管理功能的节点需要和所述运行业务应用的节点建立连接。
为了和所述运行业务应用的节点建立连接进行所述操作,上述具备控制管理功能的节点首先要向所述运行业务应用的节点发送建立连接请求。如请求登录到所述运行业务应用的节点的请求消息。本步骤接收所述建立连接的请求消息。
例如,分布式集群网络内存在多于一个的上述具备控制管理功能的节点时,任一时刻,仅有其中一个节点为当前有效的控制节点,如当前有效控制节点的IP地址为192.168.0.10,该当前有效控制节点控制管理所述分布式集群网络内运行业务应用的各个节点。
所述各个节点会接收到所述当前有效控制节点(192.168.0.10)发送的建立连接的请求。当该当前有效控制节点正常运行时,其他具备控制管理功能的节点不应该向所述分布式集群网络内的运行业务应用的各个节点发送建立连接的请求。
如果由于管理过失或系统软硬件故障,其他具备控制管理功能的节点也有可能向运行业务应用的各个节点发送建立连接的请求。
本步骤接收分布式集群网络内有效控制节点或具备控制管理功能的节点发送的建立连接的请求。
步骤S302,根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
所述标识包括地址,如IP地址,主机名称等,上述标识是在一个分布式集群网络内唯一识别每个节点的标记名称。由于网络内地址规划好后不会存在重复冲突的情况,所以采用地址能够减少网络规划的工作量,提高效率。
本步骤将所接收到的建立连接的请求的请求者的分布式集群网络内地址即其IP地址与本节点保存的有效控制节点的IP地址进行比较,根据比较的结果的不同执行不同的相应的操作。
当比较的结果为所述请求的请求者的IP地址与本节点保存的有效控制节点的IP地址相同时,表明所述请求者为当前有效控制节点,接受所述请求,建立连接,使得所述请求者可以对本节点或本节点上的业务应用进行后续的控制管理操作。
例如,接收到的建立连接的请求的请求者的IP地址为192.168.0.10,本节点保存的有效控制节点的IP地址也为192.168.0.10,表明本节点本次接收到的建立连接的请求的请求者为当前有效控制节点,接受其请求,回复响应消息,接受其建立连接的请求。
仅当建立连接请求的请求者为当前有效控制节点时才接受其请求能够避免分布式集群网络内非有效控制节点对各个节点和其上的业务应用的控制管理,保证对分布式集群网络内各个节点管理的一致性。
当比较的结果为所述请求的请求者的IP地址与本节点保存的有效控制节点的IP地址不相同时,表明所述请求者不是当前有效控制节点,因此拒绝所述建立连接的请求,丢弃所述请求消息或回复响应消息,拒绝接受其建立连接请求。
例如,接收到的建立连接的请求的请求者的IP地址为192.168.0.10,本检点保存的有效控制节点的IP地址为192.168.0.8,接收到的建立连接的请求的请求者不是当前有效控制节点,丢弃其请求消息。
当建立连接请求的请求者不是当前有效控制节点时,拒绝其发送的建立连接的请求,能够避免对分布式集群网络内各个节点管理的不一致,并能够节省网络和系统资源。
本申请第四实施例提供一种发送心跳消息的装置,其结构款图如图4所示,包括一下单元:获取单元U401,加入单元U402和发送单元U403。
所述获取单元U401,用于获取本节点特征时间信息;
所述加入单元U402,用于将所述本节点特征时间信息加入待发送心跳消息中;
所述发送单元U403,用于向目标节点发送所述心跳消息。
本申请第五实施例提供一种接收心跳消息的装置,其结构框图如图5所示,包括:接收单元U501和执行单元U502。
所述接收单元U501,用于接收包含特征时间信息的心跳消息;
所述执行单元U502,用于根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
所述执行单元U502,既可以具体用于若所述心跳消息中携带的特征时间早于本节点所保存的有效控制节点的特征时间,则丢弃所述心跳消息。也可以具体用于若所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间相同,则响应所述心跳消息。
所述执行单元U502还可以具体用于若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则响应所述心跳消息。
所述执行单元U502还可以具体用于若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则利用所述心跳消息所包含的特征时间更新本节点所保存的有效控制节点的特征时间。
所述执行单元U502还可以具体用于若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则利用所述心跳消息的发送者标识更新本节点保存的有效控制节点标识。
本申请第六实施例提供一种接收建立连接请求的装置,其结构框图如图6所示,包括:接收单元U601和执行单元U602。
所述接收单元U601,用于接收建立连接的请求;
所述执行单元U602,用于根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
所述执行单元U602具体用于若所述消息的请求者标识与本节点所保存的有效控制节点标识相同,则接受所述建立连接的请求。
所述执行单元U602还可以具体用于若所述消息的请求者标识与本节点所保存的有效控制节点标识不同,则拒绝接受所述建立连接的请求。
此外,本申请还提供一种计算机可读介质,其上存储有指令,所述指令被执行以用于:
获取本节点的特征时间信息;
将所述特征时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
此外,本申请还提供一种电子设备,其包括:处理器和存储器,
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取本节点的特征时间信息;
将所述特征时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
此外,本申请还提供一种计算机可读介质,其上存储有指令,所述指令被执行以用于:
接收包含特征时间信息的心跳消息;
根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
此外,本申请还提供一种电子设备,其包括:存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收包含特征时间信息的心跳消息;
根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
此外,本申请还提供一种计算机可读介质,其上存储有指令,所述指令被执行以用于:
接收建立连接的请求;
根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
此外,本申请还提供一种电子设备,其包括:存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收建立连接的请求;
根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
此外,本申请还提供一种发送心跳消息的方法,包括以下步骤:
获取本节点的时间信息;
将所述时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
其中,所述时间信息为包括本节点启动运行的时间或控制发送心跳消息的业务从原来的节点切换到本节点的时间,或者其它任何能够表征其作为主控节点的时间。
此外,本申请还提供一种接收心跳消息的方法,包括以下步骤:
接收包含时间信息的心跳消息;
根据所述心跳消息中携带的时间与本节点所保存的有效控制节点的时间信息的先后关系,执行相应的操作。
其中,所述时间信息为包括本节点启动运行的时间或控制发送心跳消息的业务从原来的节点切换到本节点的时间,或者其它任何能够表征其作为主控节点的时间。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (27)
1.一种发送心跳消息的方法,特征在于,包括以下步骤:
获取本节点的特征时间信息;
将所述特征时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
2.根据权利要求1所述的发送心跳消息的方法,其特征在于,所述本节点特征时间包括本节点启动的时间或控制发送心跳的业务切换到本节点的时间。
3.根据权利要求1所述的发送心跳消息的方法,其特征在于,用于分布式集群系统。
4.一种接收心跳消息的方法,特征在于,包括以下步骤:
接收包含特征时间信息的心跳消息;
根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
5.根据权利要求4所述的接收心跳消息的方法,其特征在于,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间早于本节点所保存的有效控制节点的特征时间,则丢弃所述心跳消息。
6.根据权利要求4所述的接收心跳消息的方法,其特征在于,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间相同,则响应所述心跳消息。
7.根据权利要求4所述的接收心跳消息的方法,其特征在于,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则利用所述心跳消息所包含的特征时间更新本节点所保存的有效控制节点的特征时间。
8.根据权利要求4所述的接收心跳消息的方法,其特征在于,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则利用所述心跳消息的发送者标识更新本节点保存的有效控制节点标识。
9.根据权利要求4所述的接收心跳消息的方法,其特征在于,所述标识包括地址。
10.根据权利要求4所述的接收心跳消息的方法,其特征在于,所述根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作包括:
若所述心跳消息中携带的特征时间晚于本节点所保存的有效控制节点的特征时间,则响应所述心跳消息。
11.根据权利要求4所述的接收心跳消息的方法,其特征在于,用于分布式集群系统。
12.一种接收建立连接请求的方法,特征在于,包括以下步骤:
接收建立连接的请求;
根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
13.根据权利要求12所述的接收建立连接请求的方法,其特征在于,所述标识包括地址。
14.根据权利要求12所述的接收建立连接请求的方法,其特征在于,所述根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作包括:
若所述消息的请求者标识与本节点所保存的有效控制节点标识相同,则接受所述建立连接的请求。
15.根据权利要求12所述的接收建立连接请求的方法,其特征在于,所述根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作包括:
若所述消息的请求者标识与本节点所保存的有效控制节点标识不同,则拒绝接受所述建立连接的请求。
16.根据权利要求12所述的接收建立连接请求的方法,其特征在于,用于分布式集群系统。
17.一种发送心跳消息的装置,包括:
获取单元,用于获取本节点特征时间信息;
加入单元,用于将所述本节点特征时间信息加入待发送心跳消息中;
发送单元,用于向目标节点发送所述心跳消息。
18.一种接收心跳消息的装置,包括:
接收单元,用于接收包含特征时间信息的心跳消息;
执行单元,用于根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
19.一种接收建立连接请求的装置,包括:
接收单元,用于接收建立连接的请求;
执行单元,用于根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
20.一种计算机可读介质,其特征在于,其上存储有指令,所述指令被执行以用于:
获取本节点的特征时间信息;
将所述特征时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
21.一种电子设备,其特征在于包括:处理器和存储器,
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获取本节点的特征时间信息;
将所述特征时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
22.一种计算机可读介质,其特征在于,其上存储有指令,所述指令被执行以用于:
接收包含特征时间信息的心跳消息;
根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
23.一种电子设备,其特征在于包括:存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收包含特征时间信息的心跳消息;
根据所述心跳消息中携带的特征时间与本节点所保存的有效控制节点的特征时间的先后关系,执行相应的操作。
24.一种计算机可读介质,其特征在于,其上存储有指令,所述指令被执行以用于:
接收建立连接的请求;
根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
25.一种电子设备,其特征在于包括:存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收建立连接的请求;
根据所述请求的请求者标识与本节点所保存的有效控制节点标识的关系,执行相应的操作。
26.一种发送心跳消息的方法,特征在于,包括以下步骤:
获取本节点的时间信息;
将所述时间信息加入待发送心跳消息中;
向目标节点发送所述心跳消息。
27.一种接收心跳消息的方法,特征在于,包括以下步骤:
接收包含时间信息的心跳消息;
根据所述心跳消息中携带的时间与本节点所保存的有效控制节点的时间信息的先后关系,执行相应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710681189.9A CN109391495A (zh) | 2017-08-10 | 2017-08-10 | 发送及接收心跳消息的方法、装置、计算机可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710681189.9A CN109391495A (zh) | 2017-08-10 | 2017-08-10 | 发送及接收心跳消息的方法、装置、计算机可读介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109391495A true CN109391495A (zh) | 2019-02-26 |
Family
ID=65414397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710681189.9A Withdrawn CN109391495A (zh) | 2017-08-10 | 2017-08-10 | 发送及接收心跳消息的方法、装置、计算机可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391495A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855504A (zh) * | 2019-11-22 | 2020-02-28 | 苏州浪潮智能科技有限公司 | 一种云平台管理节点的故障恢复方法、系统及相关装置 |
CN112865993A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式主从系统中从节点的切换方法和装置 |
CN113746934A (zh) * | 2021-09-14 | 2021-12-03 | 深圳市圆周率软件科技有限责任公司 | 一种业务连接方法和电子设备 |
WO2022217412A1 (zh) * | 2021-04-12 | 2022-10-20 | 深圳元戎启行科技有限公司 | 无人驾驶车辆车底盘控制方法、装置和计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137017A (zh) * | 2011-03-17 | 2011-07-27 | 华为技术有限公司 | 用于虚拟网络单元的工作方法及装置 |
CN103067209A (zh) * | 2013-01-25 | 2013-04-24 | 浪潮电子信息产业股份有限公司 | 一种心跳模块自检测方法 |
US9591083B1 (en) * | 2005-11-23 | 2017-03-07 | Avaya Inc. | Method and apparatus providing connection recovery for a chat client |
CN106940671A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种集群中任务线程运行的监控方法、装置及系统 |
CN107528703A (zh) * | 2016-06-20 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 一种用于管理分布式系统中节点设备的方法与设备 |
-
2017
- 2017-08-10 CN CN201710681189.9A patent/CN109391495A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9591083B1 (en) * | 2005-11-23 | 2017-03-07 | Avaya Inc. | Method and apparatus providing connection recovery for a chat client |
CN102137017A (zh) * | 2011-03-17 | 2011-07-27 | 华为技术有限公司 | 用于虚拟网络单元的工作方法及装置 |
CN103067209A (zh) * | 2013-01-25 | 2013-04-24 | 浪潮电子信息产业股份有限公司 | 一种心跳模块自检测方法 |
CN106940671A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种集群中任务线程运行的监控方法、装置及系统 |
CN107528703A (zh) * | 2016-06-20 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 一种用于管理分布式系统中节点设备的方法与设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110855504A (zh) * | 2019-11-22 | 2020-02-28 | 苏州浪潮智能科技有限公司 | 一种云平台管理节点的故障恢复方法、系统及相关装置 |
CN112865993A (zh) * | 2019-11-27 | 2021-05-28 | 上海哔哩哔哩科技有限公司 | 分布式主从系统中从节点的切换方法和装置 |
CN112865993B (zh) * | 2019-11-27 | 2022-10-14 | 上海哔哩哔哩科技有限公司 | 分布式主从系统中从节点的切换方法和装置 |
WO2022217412A1 (zh) * | 2021-04-12 | 2022-10-20 | 深圳元戎启行科技有限公司 | 无人驾驶车辆车底盘控制方法、装置和计算机设备 |
CN113746934A (zh) * | 2021-09-14 | 2021-12-03 | 深圳市圆周率软件科技有限责任公司 | 一种业务连接方法和电子设备 |
CN113746934B (zh) * | 2021-09-14 | 2023-11-14 | 圆周率科技(常州)有限公司 | 一种业务连接方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112003961B (zh) | 一种kubernetes中资源暴露方法、系统、设备以及介质 | |
CN109391495A (zh) | 发送及接收心跳消息的方法、装置、计算机可读介质及电子设备 | |
CN110417870B (zh) | 配置文件管理方法、装置、设备和存储介质 | |
CN107544783B (zh) | 一种数据更新方法、装置及系统 | |
CN113301078B (zh) | 网络系统、服务部署与网络划分方法、设备及存储介质 | |
CN108370328B (zh) | 一种nfv mano策略描述符的管理方法及装置 | |
CN106790092B (zh) | 远程过程调用服务端控制系统及方法 | |
CN108804119A (zh) | 配置更新方法、装置、系统、配置中心、应用节点及介质 | |
CN102089749B (zh) | 用于管理关于远程安装在开放服务网关初始化服务平台中的包的绑定信息的方法和设备 | |
CN112882792B (zh) | 信息加载方法、计算机设备及存储介质 | |
CN110764963A (zh) | 一种服务异常处理方法、装置及设备 | |
CN113849266A (zh) | 多Kubernetes集群的业务部署方法及装置 | |
US20170302617A1 (en) | Method and Registration Node for Managing Application Resource in Machine to Machine (M2M) | |
US20170295452A1 (en) | Method and Registration Node for Managing Application Resource in Machine to Machine (M2M) | |
CN109733444B (zh) | 数据库系统和列车监控管理设备 | |
CN102724195B (zh) | 访问请求跟踪方法和相关装置 | |
CN106790354B (zh) | 一种防数据拥堵的通信方法及其装置 | |
CN110519337A (zh) | 一种节点状态判断、采集方法及状态决策器、状态采集器 | |
CN106357704A (zh) | 一种基于开发环境的服务调用方法及装置 | |
CN114880717A (zh) | 数据归档方法及装置 | |
CN113259462B (zh) | 区块链消息的分发方法及装置 | |
CN115185637A (zh) | PaaS组件管理端和虚拟机代理的通信方法及装置 | |
CN110650135B (zh) | 一种节点处理方法、相关设备及计算机可读存储介质 | |
CN110781001A (zh) | 一种基于Kubernetes的容器环境变量查看方法 | |
CN111435320A (zh) | 一种数据处理方法及其装置 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190226 |
|
WW01 | Invention patent application withdrawn after publication |