一种分布式系统中的节点的状态检测方法和装置制造方法及图纸

技术编号:20118742 阅读:22 留言:0更新日期:2019-01-16 12:14
本申请公开了分布式系统中的节点的状态检测方法和装置。该方法包括:步骤一、采用分布式系统中的第一节点向与第一节点从属关系相反的第二节点的健康状态接口发送调用请求;步骤二、判断第一节点在超时时间内是否接收到第二节点的健康状态信息;步骤三、如果未在超时时间内接收到第二节点的健康状态信息,则判断向第二节点发送调用请求的次数是否达到请求次数的阈值:如果第二节点发送调用请求的次数未达到请求次数的阈值,则将请求次数加一,然后返回到步骤一;如果第二节点发送调用请求的次数达到了请求次数的阈值,则确定第一节点与第二节点之间的通讯链路已经断开。上述方法使得检测分布式系统中的节点的状态的准确性更高。

A Node State Detection Method and Device in Distributed System

This application discloses a node state detection method and device in a distributed system. The method includes: step 1, sending a call request to the health state interface of the second node which is opposite to the first node's subordinate relationship by the first node in the distributed system; step 2, judging whether the first node receives the health state information of the second node in the time-out; step 3, if the health state information of the second node is not received in the time-out time, then Determine whether the number of requests sent to the second node reaches the threshold of the number of requests: If the number of requests sent by the second node does not reach the threshold of the number of requests, the number of requests is increased by one, and then returned to step 1; If the number of requests sent by the second node reaches the threshold of the number of requests, the communication chain between the first node and the second node is determined. The road has been disconnected. The above method makes the detection of node status in distributed system more accurate.

【技术实现步骤摘要】
一种分布式系统中的节点的状态检测方法和装置
本申请涉及分布式系统领域,尤指一种分布式系统中的节点的状态检测方法和装置。
技术介绍
随着摩尔定律遇到的瓶颈,需要依靠分布式架构的系统(简称“分布式系统”)才能实现海量数据处理能力和可扩展计算能力。在分布式系统中,每个服务节点的状态显得至关重要,如果主节点不能准确的判断从节点的状态,则无法协调节点的资源,各个从节点不能判断主节点的状态,则无法重新选举主节点,轻则导致数据不一致,重则导致系统无法运行。如果采用发送ping命令的方式来检测节点的状态的话,则在网络负载高的时候(例如,出现暂时的网络故障或者延迟的时候),则心跳发送与接收这一过程的所有时间可能大于超时时间,而在网络负载小的时候,心跳发送与接收这一过程的所有时间可能小于超时时间,因此事实上对于网络负载不同的场景来说,判断节点的状态的标准是不一致的,这可能造成误判服务节点的状态。
技术实现思路
为了解决上述技术问题,本申请提供了一种分布式系统中的节点的状态检测方法和装置,其能够更加准确地判断分布式系统中的服务节点的状态。为了达到本专利技术目的,本专利技术实施例提供了一种分布式系统中的节点的状态检测方法,该方法包括下列步骤:步骤一、采用分布式系统中的第一节点向与第一节点从属关系相反的第二节点的健康状态接口发送调用请求;其中,分布式系统包括多个服务节点,第一节点是在多个服务节点之中的主节点或者是在多个服务节点之中的与主节点的从属关系相反的从节点;步骤二、判断第一节点在超时时间内是否接收到第二节点的健康状态信息;步骤三、如果未在超时时间内接收到第二节点的健康状态信息,则判断向第二节点发送调用请求的次数是否达到请求次数的阈值:如果第二节点发送调用请求的次数未达到请求次数的阈值,则将请求次数加一,然后返回到步骤一;如果第二节点发送调用请求的次数达到了请求次数的阈值,则确定第一节点与第二节点之间的通讯链路已经断开。进一步地,在一个可选的实施例中,在确定第一节点与第二节点之间的通讯链路已经断开的步骤之后,该方法还包括:如果第一节点是主节点并且第二节点是从节点,则重新分配第二节点与第一节点的其他从节点之间的资源。进一步地,在一个可选的实施例中,在确定第一节点与第二节点之间的通讯链路已经断开的步骤之后,该方法还包括:如果第一节点是从节点并且第二节点是主节点,则查询是否确定第二节点的其他从节点与第二节点的通讯链路已经断开:如果确定第二节点的其他从节点与第二节点的通讯链路已经断开,则在第二节点的所有从节点中选举出第三节点作为除了第三节点以外的第二节点的所有从节点中的主节点。进一步地,在一个可选的实施例中,在步骤一之前,方法还包括:当检测到分布式系统添加了第四节点的时候,设置第四节点的健康状态接口,第四节点的健康状态接口用于接收在分布式系统中与第四节点的从属关系相反的服务节点的调用请求。进一步地,在一个可选的实施例中,在步骤一之前,方法还包括:设置超时时间以及请求次数的阈值。另一方面,本专利技术实施例提供了一种分布式系统中的节点的状态检测装置,该装置包括请求发送模块、状态判断模块、次数判断模块、次数累加模块以及状态确定模块;其中,请求发送模块用于:采用分布式系统中的第一节点向与第一节点从属关系相反的第二节点的健康状态接口发送调用请求;其中,分布式系统包括多个服务节点,第一节点是在多个服务节点之中的主节点或者是在多个服务节点之中的与主节点的从属关系相反的从节点;状态判断模块用于:判断第一节点在超时时间内是否接收到第二节点的健康状态信息;次数判断模块用于:如果未在超时时间内接收到第二节点的健康状态信息,则判断向第二节点发送调用请求的次数是否达到请求次数的阈值;次数累加模块用于:如果第二节点发送调用请求的次数未达到请求次数的阈值,则将请求次数加一,然后返回到步骤一;状态确定模块用于:如果第二节点发送调用请求的次数达到了请求次数的阈值,则确定第一节点与第二节点之间的通讯链路已经断开。进一步地,在一个可选的实施例中,该装置还包括从节点处理模块;从节点处理模块用于:在状态确定模块确定第一节点与第二节点之间的通讯链路已经断开之后,如果第一节点是主节点并且第二节点是从节点,则重新分配第二节点与第一节点的其他从节点之间的资源。进一步地,在一个可选的实施例中,该装置还包括主节点处理模块;主节点处理模块用于:在状态确定模块确定第一节点与第二节点之间的通讯链路已经断开之后,如果第一节点是从节点并且第二节点是主节点,则查询是否确定第二节点的其他从节点与第二节点的通讯链路已经断开:如果确定第二节点的其他从节点与第二节点的通讯链路已经断开,则在第二节点的所有从节点中选举出第三节点作为除了第三节点以外的第二节点的所有从节点中的主节点。进一步地,在一个可选的实施例中,该装置还包括:新添节点处理模块;新添节点处理模块用于:在请求发送模块采用第一节点发送调用请求之前,当检测到分布式系统添加了第四节点的时候,设置第四节点的健康状态接口,第四节点的健康状态接口用于接收在分布式系统中与第四节点的从属关系相反的服务节点的调用请求。进一步地,在一个可选的实施例中,该装置还包括时间及请求次数设置模块;时间及请求次数设置模块用于:在请求发送模块采用第一节点发送调用请求之前,设置超时时间以及请求次数的阈值。本专利技术实施例的有益效果在于,上述方案通过将接收到健康状态信息的时间与超时时间进行比较,以及将发送调用请求的请求次数与请求次数的阈值进行比较,可以避免由于网络负载的变化使得判断节点的状态的标准不一致,进而误判节点的健康状态的问题,能够应对暂时的网络故障和延迟,使得检测分布式系统中的节点的状态的准确性更高。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术实施例提供的分布式系统中的节点的状态检测方法的流程图;图2为本专利技术实施例提供的分布式系统中的节点的状态检测装置的框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。随着摩尔定律遇到的瓶颈,需要依靠分布式架构的系统(简称“分布式系统”)才能实现海量数据处理能力和可扩展计算能力。分布式系统包括多个的服务节点,其中包括主节点以及这个主节点的从节点。如果采用发送ping命令的方式来检测节点的状态的话,则在网络负载高的时候,则心跳发送与接收这一过程的所有时间可能大于超时时间,而在网络负载小的时候,心跳发送与接收这一过程的所有时间可能小于超时时间,因此事实上对于网络负载不同的场景来说,判断节点的状态的标准是不一致的,这可能造成误判节点本文档来自技高网...

【技术保护点】
1.一种分布式系统中的节点的状态检测方法,其特征在于,所述方法包括下列步骤:步骤一、采用分布式系统中的第一节点向与所述第一节点从属关系相反的第二节点的健康状态接口发送调用请求;其中,所述分布式系统包括多个服务节点,所述第一节点是在所述多个服务节点之中的主节点或者是在所述多个服务节点之中的与主节点的从属关系相反的从节点;步骤二、判断所述第一节点在超时时间内是否接收到所述第二节点的健康状态信息;步骤三、如果未在所述超时时间内接收到所述第二节点的健康状态信息,则判断向所述第二节点发送调用请求的次数是否达到请求次数的阈值:如果所述第二节点发送调用请求的次数未达到请求次数的阈值,则将请求次数加一,然后返回到步骤一;如果所述第二节点发送调用请求的次数达到了请求次数的阈值,则确定所述第一节点与所述第二节点之间的通讯链路已经断开。

【技术特征摘要】
1.一种分布式系统中的节点的状态检测方法,其特征在于,所述方法包括下列步骤:步骤一、采用分布式系统中的第一节点向与所述第一节点从属关系相反的第二节点的健康状态接口发送调用请求;其中,所述分布式系统包括多个服务节点,所述第一节点是在所述多个服务节点之中的主节点或者是在所述多个服务节点之中的与主节点的从属关系相反的从节点;步骤二、判断所述第一节点在超时时间内是否接收到所述第二节点的健康状态信息;步骤三、如果未在所述超时时间内接收到所述第二节点的健康状态信息,则判断向所述第二节点发送调用请求的次数是否达到请求次数的阈值:如果所述第二节点发送调用请求的次数未达到请求次数的阈值,则将请求次数加一,然后返回到步骤一;如果所述第二节点发送调用请求的次数达到了请求次数的阈值,则确定所述第一节点与所述第二节点之间的通讯链路已经断开。2.根据权利要求1所述的方法,其特征在于,在确定所述第一节点与所述第二节点之间的通讯链路已经断开的步骤之后,所述方法还包括:如果所述第一节点是主节点并且所述第二节点是从节点,则重新分配所述第二节点与所述第一节点的其他从节点之间的资源。3.根据权利要求1所述的方法,其特征在于,在确定所述第一节点与所述第二节点之间的通讯链路已经断开的步骤之后,所述方法还包括:如果所述第一节点是从节点并且所述第二节点是主节点,则查询是否确定所述第二节点的其他从节点与所述第二节点的通讯链路已经断开:如果确定所述第二节点的其他从节点与所述第二节点的通讯链路已经断开,则在所述第二节点的所有从节点中选举出第三节点作为除了所述第三节点以外的所述第二节点的所有从节点中的主节点。4.根据权利要求1所述的方法,其特征在于,在步骤一之前,所述方法还包括:当检测到所述分布式系统添加了第四节点的时候,设置所述第四节点的健康状态接口,所述第四节点的健康状态接口用于接收在所述分布式系统中与所述第四节点的从属关系相反的服务节点的调用请求。5.根据权利要求1所述的方法,其特征在于,在步骤一之前,所述方法还包括:设置所述超时时间以及所述请求次数的阈值。6.一种分布式系统中的节点的状态检测装置,其特征在于,所述装置包括请求发送模块、状态判断模块、次数判断模块、次数累加模块以及状态确定模块;其中,所述请求发送模块用于:采用分布式系统中的第一节点向与所述第一节点从属...

【专利技术属性】
技术研发人员:贾伟郭锋
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1