CN110677493B - 服务状态确定方法及装置、计算机装置及存储介质 - Google Patents
服务状态确定方法及装置、计算机装置及存储介质 Download PDFInfo
- Publication number
- CN110677493B CN110677493B CN201910964540.4A CN201910964540A CN110677493B CN 110677493 B CN110677493 B CN 110677493B CN 201910964540 A CN201910964540 A CN 201910964540A CN 110677493 B CN110677493 B CN 110677493B
- Authority
- CN
- China
- Prior art keywords
- service node
- service
- timestamp
- heartbeat information
- determining
- 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.)
- Active
Links
Images
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/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- 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
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种服务状态确定方法,包括:接收服务节点的心跳信息;根据所述心跳信息的接收时间生成接收时间戳;存储所述心跳信息和所述接收时间戳;获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。本发明还提供一种服务状态确定装置、计算机装置及计算机可读存储介质。本发明可以确定服务节点的服务状态,提高确定服务状态的效率,并及时反馈服务状态信息以确保服务节点可正常提供服务。
Description
技术领域
本发明涉及计算机网络技术领域,具体涉及一种服务状态确定方法及装置、计算机装置和计算机可读存储介质。
背景技术
目前,网络中的服务器可以为用户提供多种服务,比如,云磁盘服务、简单缓存服务、负载均衡服务、对象存储服务、内容分发网络服务等。
通常,需要根据服务器的运行状态(包括正常状态和不正常状态)来实现对各服务器进行管理。为了保证集群网络的稳定性和可靠性,需要及时确定网络中的不正常的服务器并将不正常的服务器踢出服务集群。
由于集群网络中的服务器数量很多,如何提高确定服务器的状态的效率,成为亟待解决的问题。
发明内容
鉴于以上内容,有必要提出一种服务状态确定方法及装置、计算机装置和计算机可读存储介质,本发明可以确定服务节点的服务状态,提高确定服务状态的效率,并及时反馈服务状态信息以确保服务节点可正常提供服务。
本申请的第一方面提供一种服务状态确定方法,所述方法包括:
接收服务节点的心跳信息;
根据所述心跳信息的接收时间生成接收时间戳;
存储所述心跳信息和所述接收时间戳;
获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;
根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。
另一种可能的实现方式中,所述存储所述心跳信息和所述接收时间戳包括:
判断本地数据库中是否存在所述服务节点的历史心跳信息和历史接收时间戳;
若所述本地数据库中存在所述服务节点的历史心跳信息和历史接收时间戳,用所述服务节点的所述心跳信息和所述接收时间戳覆盖所述服务节点的历史心跳信息和历史接收时间戳。
另一种可能的实现方式中,所述服务节点发送所述心跳信息的间隔时间与所述预设间隔时间一致。
另一种可能的实现方式中,所述根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态包括:
根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网;
根据所述服务节点是否在本地局域网的判断结果确定间隔时间系数;
根据所述预设间隔时间与所述间隔时间系数的乘积确定目标间隔时间;
根据所述确定时间戳与所述目标间隔时间的差值确定目标时间戳;及
若所述接收时间戳小于所述目标时间戳,确定所述服务节点异常;或
若所述接收时间戳大于或等于所述目标时间戳,确定所述服务节点正常。
另一种可能的实现方式中,所述方法还包括:
接收用户终端对所述服务节点的探测请求;
返回所述服务节点的服务状态。
另一种可能的实现方式中,在所述返回所述服务节点的服务状态之前,所述方法还包括:
若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述服务节点发送探测请求;
判断是否接收到所述服务节点返回的探测请求应答;
若接收到所述服务节点返回的探测请求应答,重新确定所述服务节点正常。
另一种可能的实现方式中,所述方法还包括:
若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述用户终端返回警告信息。
本申请的第二方面提供一种计算机装置,所述计算机装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现所述服务状态确定方法。
本申请的第三方面提供一种服务状态确定装置,所述装置包括:
接收单元,用于接收服务节点的心跳信息;
生成单元,用于根据所述心跳信息的接收时间生成接收时间戳;
存储单元,用于存储所述心跳信息和所述接收时间戳;
获取单元,用于获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;
确定单元,用于根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。
另一种可能的实现方式中,所述存储所述心跳信息和所述接收时间戳包括:
判断本地数据库中是否存在所述服务节点的历史心跳信息和历史接收时间戳;
若所述本地数据库中存在所述服务节点的历史心跳信息和历史接收时间戳,用所述服务节点的所述心跳信息和所述接收时间戳覆盖所述服务节点的历史心跳信息和历史接收时间戳。
另一种可能的实现方式中,所述服务节点发送所述心跳信息的间隔时间与所述预设间隔时间一致。
另一种可能的实现方式中,所述根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态包括:
根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网;
根据所述服务节点是否在本地局域网的判断结果确定间隔时间系数;
根据所述预设间隔时间与所述间隔时间系数的乘积确定目标间隔时间;
根据所述确定时间戳与所述目标间隔时间的差值确定目标时间戳;及
若所述接收时间戳小于所述目标时间戳,确定所述服务节点异常;或
若所述接收时间戳大于或等于所述目标时间戳,确定所述服务节点正常。
另一种可能的实现方式中,所述服务状态确定装置还包括返回单元,用于接收用户终端对所述服务节点的探测请求;返回所述服务节点的服务状态。
另一种可能的实现方式中,所述确定单元还用于:
若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述服务节点发送探测请求;
判断是否接收到所述服务节点返回的探测请求应答;
若接收到所述服务节点返回的探测请求应答,重新确定所述服务节点正常。
另一种可能的实现方式中,所述返回单元还用于若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述用户终端返回警告信息。
本申请的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述服务状态确定方法。
本发明接收服务节点的心跳信息;根据所述心跳信息的接收时间生成接收时间戳;存储所述心跳信息和所述接收时间戳;获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。本发明可以确定服务节点的服务状态,提高确定服务状态的效率,并及时反馈服务状态信息以确保服务节点可正常提供服务。
附图说明
图1是本发明实施例提供的服务状态确定方法较佳实施例的流程图。
图2是本发明实施例提供的服务状态确定装置较佳实施例的流程图。
图3是本发明实施例提供的计算机装置较佳实施例的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
优选地,本发明的服务状态确定方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述计算机装置可以是组成CDN(Content Delivery Network,内容分发网络)网络或者区块链网络的节点。
实施例一
图1是本发明实施例提供的服务状态确定方法的流程图。
参阅1所示,所述服务状态确定方法具体包括以下步骤:
S101,接收服务节点的心跳信息。
所述服务节点可以包括计算服务节点、存储服务节点或分发服务节点等。所述服务节点可以运行程序(例如应用程序),还可以为应用程序的运行提供环境支持。所述服务节点可以为用户提供其需要的服务,比如,计算服务、存储服务或分发服务等。
在一具体实施例中,可以接收所述服务节点的心跳信息,所述服务节点的心跳信息可以包括所述服务节点的主机号和所述服务节点的IP(Internet Protocol,网际协议)地址等。
所述服务节点可以是网络中的服务器。
可以通过接收的所述服务节点的心跳信息确定所述服务节点的服务状态,当所述网络中的用户终端请求所述服务节点的服务时,可以将正常的所述服务节点返回给所述用户终端。
S102,根据所述心跳信息的接收时间生成接收时间戳。
在接收到所述服务节点的心跳信息时,通过时间函数“now()”生成所述接收时间戳。
例如,在接收到一个计算服务节点的心跳信息时,通过时间函数“now()”生成该计算服务节点的时间戳为“1567500295”。
S103,存储所述心跳信息和所述接收时间戳。
在一具体实施例中,所述存储所述心跳信息和所述接收时间戳包括:
判断本地数据库中是否存在所述服务节点的历史心跳信息和历史接收时间戳;
若所述本地数据库中存在所述服务节点的历史心跳信息和历史接收时间戳,用所述服务节点的所述心跳信息和所述接收时间戳覆盖所述服务节点的历史心跳信息和历史接收时间戳。
例如,所述服务节点的心跳信息为“hostname1,192.168.0.1”,所述接收时间戳为“1567500295”,其中,“hostname1”为所述服务节点的心跳信息的主机号,“192.168.0.1”为所述服务节点的心跳信息的IP地址。在本地数据库中查找主机号为“hostname1”且IP地址为“192.168.0.1”的所述服务节点的心跳信息,经查找,本地数据库中存在主机号为“hostname1”且IP地址为“192.168.0.1”的所述服务节点的历史心跳信息,所述服务节点的历史心跳信息与所述服务节点的历史接收时间戳相对应,所述服务节点的历史接收时间戳为“1567500290”。用所述服务节点的心跳信息“hostname1,192.168.0.1”和时间戳“1567500295”覆盖所述服务节点的历史心跳信息“hostname1,192.168.0.1”和历史接收时间戳“1567500290”。
在另一具体实施例中,若所述本地数据库中不存在所述服务节点的历史心跳信息和历史接收时间戳,将所述心跳信息和所述接收时间戳存储至所述本地数据库。
S104,获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间。
在需要确定所述服务节点的服务状态时,通过时间函数“now()”获取所述确定时间戳。
例如,在网络中的用户终端请求所述服务节点的服务时,通过时间函数“now()”获取的所述确定时间戳为“1567500298”。
可以周期性地确定所述服务节点的服务状态,并获取所述确定时间戳,周期可以为所述预设间隔时间(即两个相邻的确定服务状态的时间点的时间差)。所述服务节点发送所述心跳信息的间隔时间与所述预设间隔时间一致。
S105,根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。
在一具体实施例中,所述根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态可以包括:
(a)根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网;
(b)根据所述服务节点是否在本地局域网的判断结果确定间隔时间系数;
(c)根据所述预设间隔时间与所述间隔时间系数的乘积确定目标间隔时间;
(d)根据所述确定时间戳与所述目标间隔时间的差值确定目标时间戳;及
(e)若所述接收时间戳小于所述目标时间戳,确定所述服务节点异常;或
(f)若所述接收时间戳大于或等于所述目标时间戳,确定所述服务节点正常。
所述根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网可以包括:
获取所述服务节点的IP地址和本地IP地址;
若所述服务节点的IP地址在所述本地IP地址的预设范围内,所述服务节点在本地局域网;
若所述服务节点的IP地址不在所述本地IP地址的预设范围内,所述服务节点不在本地局域网。
所述根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网还可以包括:
根据所述服务节点的心跳信息查询本地局域网的白名单中是否存在所述服务节点的主机号;
若本地局域网的白名单中存在所述服务节点的主机号,所述服务节点在本地局域网;
若本地局域网的白名单中不存在所述服务节点的主机号,所述服务节点不在本地局域网。
所述根据所述服务节点是否在本地局域网的判断结果确定间隔时间系数可以包括:
若所述服务节点在本地局域网,将所述间隔时间系数确定为1;
若所述服务节点不在本地局域网,将所述间隔时间系数确定为2。
所述预设间隔时间可以取30秒、60秒或90秒等。
实施例一的服务状态确定方法接收服务节点的心跳信息;根据所述心跳信息的接收时间生成接收时间戳;存储所述心跳信息和所述接收时间戳;获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。实施例一的服务状态确定方法可以确定所述服务节点的服务状态,提高确定所述服务节点的状态的效率,并及时反馈服务状态信息以确保服务器可正常提供不同服务。
在另一实施例中,所述服务状态确定方法还可以包括:
接收用户终端对所述服务节点的探测请求;
返回所述服务节点的服务状态。
在另一实施例中,在所述返回所述服务节点的服务状态之前,所述方法还包括:
若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述服务节点发送探测请求;
判断是否接收到所述服务节点返回的探测请求应答;
若接收到所述服务节点返回的探测请求应答,重新确定所述服务节点正常。
在另一实施例中,所述服务状态确定方法还可以包括:
若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述用户终端返回警告信息。
在另一实施例中,所述服务状态确定方法还可以包括:
并行确定多个服务节点的服务状态。可以接收多个服务节点的心跳信息,根据所述多个服务节点的心跳信息的接收时间生成所述多个服务节点的接收时间戳;存储所述多个服务节点的心跳信息和接收时间戳;获取确定时间戳;根据所述多个服务节点的接收时间戳和确定时间戳确定所述多个服务节点的服务状态。
在一些其他实施方式中,通过在中心服务器维护一个服务器集群列表,并对服务器集群列表中的每一个服务器发起定时探测请求,如果探测请求不能获得响应或者响应格式错误,该服务器异常。然而,在这些实施方式中,每个服务器都需要开启一个server服务并监听某个固定端口用于被探测;如果一台服务器上要同时启动多个服务,会出现端口被占用的情况,所以这些服务需要监听不同的端口。相应地,本地服务器需要保存每个服务器的端口号才能向该服务器发送探测请求。可见,利用这些实施方式需要消耗大量的服务器端口资源、服务器监听资源、本地服务器存储和运行资源,造成确定服务的状态的效率低的情况。
利用本申请的上述多个实施方式,避免了因每个服务器需要监听不同端口而出现的消耗端口资源的情况,克服了因本地服务器需要保存每个服务器的端口号并向每个服务器的端口号发送探测请求而造成的消耗存储和运行资源的问题。
实施例二
图2为本发明实施例提供的服务状态确定装置较佳实施例的结构图。
如图2所示,所述服务状态确定装置10可以包括:接收单元201、生成单元202、存储单元203、获取单元204、确定单元205。
接收单元201,用于接收服务节点的心跳信息。
所述服务节点可以包括计算服务节点、存储服务节点或分发服务节点等。所述服务节点可以运行程序(例如应用程序),还可以为应用程序的运行提供环境支持。所述服务节点可以为用户提供其需要的服务,比如,计算服务、存储服务或分发服务等。
在一具体实施例中,可以接收所述服务节点的心跳信息,所述服务节点的心跳信息可以包括所述服务节点的主机号和所述服务节点的IP(Internet Protocol,网际协议)地址等。
所述服务节点可以是网络中的服务器。
可以通过接收的所述服务节点的心跳信息确定所述服务节点的服务状态,当所述网络中的用户终端请求所述服务节点的服务时,可以将正常的所述服务节点返回给所述用户终端。
生成单元202,用于根据所述心跳信息的接收时间生成接收时间戳。
在接收到所述服务节点的心跳信息时,通过时间函数“now()”生成所述接收时间戳。
例如,在接收到一个计算服务节点的心跳信息时,通过时间函数“now()”生成该计算服务节点的时间戳为“1567500295”。
存储单元203,用于存储所述心跳信息和所述接收时间戳。
在一具体实施例中,所述存储所述心跳信息和所述接收时间戳包括:
判断本地数据库中是否存在所述服务节点的历史心跳信息和历史接收时间戳;
若所述本地数据库中存在所述服务节点的历史心跳信息和历史接收时间戳,用所述服务节点的所述心跳信息和所述接收时间戳覆盖所述服务节点的历史心跳信息和历史接收时间戳。
例如,所述服务节点的心跳信息为“hostname1,192.168.0.1”,所述接收时间戳为“1567500295”,其中,“hostname1”为所述服务节点的心跳信息的主机号,“192.168.0.1”为所述服务节点的心跳信息的IP地址。在本地数据库中查找主机号为“hostname1”且IP地址为“192.168.0.1”的所述服务节点的心跳信息,经查找,本地数据库中存在主机号为“hostname1”且IP地址为“192.168.0.1”的所述服务节点的历史心跳信息,所述服务节点的历史心跳信息与所述服务节点的历史接收时间戳相对应,所述服务节点的历史接收时间戳为“1567500290”。用所述服务节点的心跳信息“hostname1,192.168.0.1”和时间戳“1567500295”覆盖所述服务节点的历史心跳信息“hostname1,192.168.0.1”和历史接收时间戳“1567500290”。
在另一具体实施例中,若所述本地数据库中不存在所述服务节点的历史心跳信息和历史接收时间戳,将所述心跳信息和所述接收时间戳存储至所述本地数据库。
获取单元204,用于获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间。
在需要确定所述服务节点的服务状态时,通过时间函数“now()”获取所述确定时间戳。
例如,在网络中的用户终端请求所述服务节点的服务时,通过时间函数“now()”获取的所述确定时间戳为“1567500298”。
可以周期性地确定所述服务节点的服务状态,并获取所述确定时间戳,周期可以为所述预设间隔时间(即两个相邻的确定服务状态的时间点的时间差)。所述服务节点发送所述心跳信息的间隔时间与所述预设间隔时间一致。
确定单元205,用于根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。
在一具体实施例中,所述根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态可以包括:
(a)根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网;
(b)根据所述服务节点是否在本地局域网的判断结果确定间隔时间系数;
(c)根据所述预设间隔时间与所述间隔时间系数的乘积确定目标间隔时间;
(d)根据所述确定时间戳与所述目标间隔时间的差值确定目标时间戳;及
(e)若所述接收时间戳小于所述目标时间戳,确定所述服务节点异常;或
(f)若所述接收时间戳大于或等于所述目标时间戳,确定所述服务节点正常。
所述根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网可以包括:
获取所述服务节点的IP地址和本地IP地址;
若所述服务节点的IP地址在所述本地IP地址的预设范围内,所述服务节点在本地局域网;
若所述服务节点的IP地址不在所述本地IP地址的预设范围内,所述服务节点不在本地局域网。
所述根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网还可以包括:
根据所述服务节点的心跳信息查询本地局域网的白名单中是否存在所述服务节点的主机号;
若本地局域网的白名单中存在所述服务节点的主机号,所述服务节点在本地局域网;
若本地局域网的白名单中不存在所述服务节点的主机号,所述服务节点不在本地局域网。
所述根据所述服务节点是否在本地局域网的判断结果确定间隔时间系数可以包括:
若所述服务节点在本地局域网,将所述间隔时间系数确定为1;
若所述服务节点不在本地局域网,将所述间隔时间系数确定为2。
所述预设间隔时间可以取30秒、60秒或90秒等。
实施例二的服务状态确定装置10接收服务节点的心跳信息;根据所述心跳信息的接收时间生成接收时间戳;存储所述心跳信息和所述接收时间戳;获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。实施例二的服务状态确定装置10可以确定所述服务节点的服务状态,提高确定所述服务节点的状态的效率,并及时反馈服务状态信息以确保服务器可正常提供不同服务。
在另一实施例中,所述服务状态确定装置还包括返回单元,用于接收用户终端对所述服务节点的探测请求;返回所述服务节点的服务状态。
在另一实施例中,所述确定单元还用于若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述服务节点发送探测请求;判断是否接收到所述服务节点返回的探测请求应答;若接收到所述服务节点返回的探测请求应答,重新确定所述服务节点正常。
在另一实施例中,所述返回单元还用于若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述用户终端返回警告信息。
在另一实施例中,所述确定单元还用于并行确定多个服务节点的服务状态。可以接收多个服务节点的心跳信息,根据所述多个服务节点的心跳信息的接收时间生成所述多个服务节点的接收时间戳;存储所述多个服务节点的心跳信息和接收时间戳;获取确定时间戳;根据所述多个服务节点的接收时间戳和确定时间戳确定所述多个服务节点的服务状态。
在一些其他实施方式中,通过在中心服务器维护一个服务器集群列表,并对服务器集群列表中的每一个服务器发起定时探测请求,如果探测请求不能获得响应或者响应格式错误,该服务器异常。然而,在这些实施方式中,每个服务器都需要开启一个server服务并监听某个固定端口用于被探测;如果一台服务器上要同时启动多个服务,会出现端口被占用的情况,所以这些服务需要监听不同的端口。相应地,本地服务器需要保存每个服务器的端口号才能向该服务器发送探测请求。可见,利用这些实施方式需要消耗大量的服务器端口资源、服务器监听资源、本地服务器存储和运行资源,造成确定服务的状态的效率低的情况。
利用本申请的上述多个实施方式,避免了因每个服务器需要监听不同端口而出现的消耗端口资源的情况,克服了因本地服务器需要保存每个服务器的端口号并向每个服务器的端口号发送探测请求而造成的消耗存储和运行资源的问题。
实施例三
本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述服务状态确定方法实施例中的步骤,例如图1所示的S101-S105:
S101,接收服务节点的心跳信息;
S102,根据所述心跳信息的接收时间生成接收时间戳;
S103,存储所述心跳信息和所述接收时间戳;
S104,获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;
S105,根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块/单元的功能,例如图2中的单元201-205:
接收单元201,用于接收服务节点的心跳信息;
生成单元202,用于根据所述心跳信息的接收时间生成接收时间戳;
存储单元203,用于存储所述心跳信息和所述接收时间戳;
获取单元204,用于获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;
确定单元205,用于根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。
实施例四
图3为本发明实施例提供的计算机装置的示意图。所述计算机装置1包括存储器20、处理器30、总线50以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如服务状态确定程序。所述处理器30执行所述计算机程序40时实现上述服务状态确定方法实施例中的步骤,例如图1所示的S101-S105:
S101,接收服务节点的心跳信息;
S102,根据所述心跳信息的接收时间生成接收时间戳;
S103,存储所述心跳信息和所述接收时间戳;
S104,获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;
S105,根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。
或者,所述处理器30执行所述计算机程序40时实现上述装置实施例中各模块/单元的功能,例如图2中的单元201-205:
接收单元201,用于接收服务节点的心跳信息;
生成单元202,用于根据所述心跳信息的接收时间生成接收时间戳;
存储单元203,用于存储所述心跳信息和所述接收时间戳;
获取单元204,用于获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;
确定单元205,用于根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图2中的接收单元201、生成单元202、存储单元203、获取单元204、确定单元205,各单元具体功能参见实施例二。
所述计算机装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备等终端设备。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器30也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。
所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述总线50以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线50可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,计算机装置1还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。
本领域技术人员可以理解,所述示意图3仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机装置上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机装置可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种服务状态确定方法,其特征在于,所述方法包括:
接收服务节点的心跳信息;
根据所述心跳信息的接收时间生成接收时间戳;
存储所述心跳信息和所述接收时间戳;
获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;
根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态,包括:
根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网;
根据所述服务节点是否在本地局域网的判断结果确定间隔时间系数;
根据所述预设间隔时间与所述间隔时间系数的乘积确定目标间隔时间;
根据所述确定时间戳与所述目标间隔时间的差值确定目标时间戳;及
若所述接收时间戳小于所述目标时间戳,确定所述服务节点异常;或
若所述接收时间戳大于或等于所述目标时间戳,确定所述服务节点正常。
2.如权利要求1所述的方法,其特征在于,所述存储所述心跳信息和所述接收时间戳包括:
判断本地数据库中是否存在所述服务节点的历史心跳信息和历史接收时间戳;
若所述本地数据库中存在所述服务节点的历史心跳信息和历史接收时间戳,用所述服务节点的所述心跳信息和所述接收时间戳覆盖所述服务节点的历史心跳信息和历史接收时间戳。
3.如权利要求1所述的方法,其特征在于,所述服务节点发送所述心跳信息的间隔时间与所述预设间隔时间一致。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
接收用户终端对所述服务节点的探测请求;
返回所述服务节点的服务状态。
5.如权利要求4所述的方法,其特征在于,在所述返回所述服务节点的服务状态之前,所述方法还包括:
若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述服务节点发送探测请求;
判断是否接收到所述服务节点返回的探测请求应答;
若接收到所述服务节点返回的探测请求应答,重新确定所述服务节点正常。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
若根据所述接收时间戳和所述确定时间戳确定所述服务节点异常,向所述用户终端返回警告信息。
7.一种计算机装置,其特征在于,所述计算机装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述服务状态确定方法。
8.一种服务状态确定装置,其特征在于,所述服务状态确定装置包括:
接收单元,用于接收服务节点的心跳信息;
生成单元,用于根据所述心跳信息的接收时间生成接收时间戳;
存储单元,用于存储所述心跳信息和所述接收时间戳;
获取单元,用于获取确定时间戳,所述确定时间戳是确定服务状态的时间点,两个相邻的确定服务状态的时间点的时间差为预设间隔时间;
确定单元,用于根据所述接收时间戳和所述确定时间戳确定所述服务节点的服务状态,包括:
根据所述服务节点的心跳信息判断所述服务节点是否在本地局域网;
根据所述服务节点是否在本地局域网的判断结果确定间隔时间系数;
根据所述预设间隔时间与所述间隔时间系数的乘积确定目标间隔时间;
根据所述确定时间戳与所述目标间隔时间的差值确定目标时间戳;及
若所述接收时间戳小于所述目标时间戳,确定所述服务节点异常;或
若所述接收时间戳大于或等于所述目标时间戳,确定所述服务节点正常。
9.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述服务状态确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910964540.4A CN110677493B (zh) | 2019-10-11 | 2019-10-11 | 服务状态确定方法及装置、计算机装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910964540.4A CN110677493B (zh) | 2019-10-11 | 2019-10-11 | 服务状态确定方法及装置、计算机装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110677493A CN110677493A (zh) | 2020-01-10 |
CN110677493B true CN110677493B (zh) | 2022-04-01 |
Family
ID=69081590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910964540.4A Active CN110677493B (zh) | 2019-10-11 | 2019-10-11 | 服务状态确定方法及装置、计算机装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110677493B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111416839B (zh) * | 2020-02-26 | 2022-09-23 | 平安科技(深圳)有限公司 | 集群环境定时任务处理方法、系统、装置及存储介质 |
CN113938467A (zh) * | 2020-06-29 | 2022-01-14 | 富士康精密电子(太原)有限公司 | 机器节点地址分配及状态确认方法及相关设备 |
CN112035326A (zh) * | 2020-09-03 | 2020-12-04 | 中国银行股份有限公司 | 基于集群节点互检的异常节点任务处理方法及装置 |
CN112235363B (zh) * | 2020-09-28 | 2022-02-01 | 华云数据控股集团有限公司 | 数据处理方法、装置、电子设备、存储介质及系统 |
CN112286909B (zh) * | 2020-10-29 | 2023-09-05 | 平安科技(深圳)有限公司 | 执行状态确定方法、装置、服务器及存储介质 |
CN112804301B (zh) * | 2020-12-30 | 2023-02-28 | 成都佳华物链云科技有限公司 | 设备状态的确定方法、装置、网关及存储介质 |
CN115842753A (zh) * | 2021-09-18 | 2023-03-24 | 逸驾智能科技有限公司 | 用于检查服务的方法、装置、设备和计算机可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451359B1 (en) * | 2002-11-27 | 2008-11-11 | Oracle International Corp. | Heartbeat mechanism for cluster systems |
US8924967B2 (en) * | 2011-04-28 | 2014-12-30 | Vmware, Inc. | Maintaining high availability of a group of virtual machines using heartbeat messages |
CN104506392B (zh) * | 2015-01-04 | 2018-10-30 | 华为技术有限公司 | 一种宕机检测方法及设备 |
CN108924195A (zh) * | 2018-06-20 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种单向心跳机制实现方法、装置、设备及系统 |
-
2019
- 2019-10-11 CN CN201910964540.4A patent/CN110677493B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110677493A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110677493B (zh) | 服务状态确定方法及装置、计算机装置及存储介质 | |
CN111181804B (zh) | 智能设备离线状态自动检测方法、装置、电子设备及介质 | |
CN104380277B (zh) | 用于管理云调度环境中的服务器硬件资源的方法、系统和设备 | |
CN109618174B (zh) | 一种直播数据传输方法、装置、系统以及存储介质 | |
CN109308284B (zh) | 报表菜单生成方法、装置、计算机设备及存储介质 | |
CN111327647B (zh) | 一种容器对外提供服务的方法、装置及电子设备 | |
CN111343048B (zh) | 压力测试方法及装置、计算机装置及存储介质 | |
CN112328448A (zh) | 基于Zookeeper的监控方法、监控装置、设备及存储介质 | |
CN111506473A (zh) | 一种服务器监控系统及一种服务器监控方法 | |
WO2021072847A1 (zh) | 计算机网络状况监控方法、装置、计算机设备及存储介质 | |
US11283689B2 (en) | Method for managing multiple servers and device employing method | |
CN107071036A (zh) | 一种下载驱动文件的方法、网络服务器及系统 | |
CN111200649A (zh) | 一种调度方法及装置、调度模型生成方法及装置 | |
CN110647409B (zh) | 消息写入方法、电子设备、系统及介质 | |
CN110347648B (zh) | 文件部署方法及装置、计算机装置及存储介质 | |
CN113094224B (zh) | 服务器资产管理方法、装置、计算机设备和存储介质 | |
CN110674153B (zh) | 一种数据一致性检测方法、装置及电子设备 | |
CN110417789B (zh) | 服务器连接方法、电子设备、系统及介质 | |
CN110365783B (zh) | 文件部署方法及装置、网络节点及存储介质 | |
CN111142799A (zh) | 分布式存储方法及装置、网络节点及存储介质 | |
US20160321173A1 (en) | Automatic garbage collection thrashing monitoring | |
CN111756618B (zh) | 群聊的处理方法及装置、电子设备、可读存储介质 | |
WO2014163660A1 (en) | Removable storage device identity and configuration information | |
CN111147556A (zh) | 一种负载均衡方法、装置、设备及存储介质 | |
CN111339101A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |