CN105897507B - 节点设备的状态检测方法和装置 - Google Patents

节点设备的状态检测方法和装置 Download PDF

Info

Publication number
CN105897507B
CN105897507B CN201610203437.4A CN201610203437A CN105897507B CN 105897507 B CN105897507 B CN 105897507B CN 201610203437 A CN201610203437 A CN 201610203437A CN 105897507 B CN105897507 B CN 105897507B
Authority
CN
China
Prior art keywords
detection
node device
detection messages
node
messages
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
Application number
CN201610203437.4A
Other languages
English (en)
Other versions
CN105897507A (zh
Inventor
孙策
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dt Dream Technology Co Ltd
Original Assignee
Hangzhou Dt Dream Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Dt Dream Technology Co Ltd filed Critical Hangzhou Dt Dream Technology Co Ltd
Priority to CN201610203437.4A priority Critical patent/CN105897507B/zh
Publication of CN105897507A publication Critical patent/CN105897507A/zh
Application granted granted Critical
Publication of CN105897507B publication Critical patent/CN105897507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种节点设备的状态检测方法和装置,应用于设备集群,设备集群被预划分为一个或多个具有相同主节点的环形检测组,包括:主节点向第一从节点设备发送携带所有节点标识列表的检测报文;如果第一从节点正常响应该报文,在标识列表中将自身标记为检测通过,并转发至第二从节点;如果第二从节点正常响应该报文,在标识列表中将自身标记为检测通过,并继续转发该报文,直至该报文被转发至主节点;如果第二从节点无法正常响应该报文,第一从节点在标识列表中将第二从节点标记为检测失败,并将该报文上报至主节点;主节点基于接收到的检测报文确定检测组中各节点的状态。本申请可以缓解主节点设备的处理压力。

Description

节点设备的状态检测方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种节点设备的状态检测方法和装置。
背景技术
ElasticSearch是一个基于Lucene的搜索服务器集群。它提供了一个分布式多用户能力的全文搜索引擎,是目前流行的企业搜索引擎之一。
ElasticSearch的搜索服务器集群中的节点设备,包括一选举产生的主节点设备,以及若干从节点设备,这些节点呈现一种星形的拓扑结构,每个节点都可以与其他节点进行通信,因此集群的每个节点都包括所有其他节点的信息。
ElasticSearch的搜索服务器集群中,错误检测(fault detection)是节点发现以及状态的维护与更新过程中的重要基础功能之一,目前的错误检测机制,是由主节点设备和各从节点设备之间分别互相发送ping报文来进行错误检测,以发现集群中的错误节点,由于主节点设备需要向各从节点设备分别发送ping报文,因此主节点设备的处理压力大,而且在节点数量较多的集群中,会导致整个网络的带宽资源过多的消耗。
发明内容
有鉴于此,本申请提出一种节点设备的状态检测方法,应用于设备集群中的主节点设备,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述方法包括:
向所述检测组中下一待检测的从节点设备发送检测报文,以发起针对所述检测组中所有节点的状态检测;其中,所述检测报文携带所述检测组中所有节点设备的标识列表;所述第一从节点设备在正常响应所述检测报文时,在所述标识列表中将其自身标记为检测通过状态,并转发所述检测报文至下一待检测的第二从节点设备,以使所述第二从节点设备在正常响应所述检测报文时继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备;
接收所述检测组中返回的检测报文;
基于接收到的检测报文确定所述检测组中各节点设备的状态。
可选的,所述方法还包括:
接收所述第一从节点设备在确定所述第二从节点设备无法响应转发的所述检测报文时上报的该检测报文;其中,所述第一从节点设备已在该检测报文的标识列表中将所述第二从节点设备标记为检测失败状态。
可选的,所述方法还包括
如果在预设时长内未收到所述第一从节点设备发送的针对所述检测报文的响应报文,则向所述该从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文,则根据所述标识列表向下一个待检测节点发送所述检测报文。
可选的,所述方法还包括:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,将该检测失败状态的节点从所述标识列表中移除,并向所述第一从节点设备重新发送检测报文,以再次发起针对所述检测组中所有节点的状态检测。
可选的,所述方法还包括:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,继续将所述检测报文转发至该检测失败状态的从节点设备的下一从节点设备,以使该下一从节点设备在正常响应该检测报文时,在所述标识列表中将自身标记为检测通过状态,并在所述检测组中继续转发该检测报文。
本申请还提出一种节点设备的状态检测方法,应用于设备集群中的从节点设备,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述方法包括:
接收当前检测组中上一节点设备发送的检测报文;所述检测报文由所述检测组中的主节点设备发出;所述检测报文携带所述检测组中所有节点的标识列表;
如果正常响应所述检测报文时,在所述标识列表中将自身标记为检测通过状态,并转发所述检测报文至下一待检测的从节点设备,以使所述下一待检测的从节点设备在正常响应该检测报文时,在所述标识列表中将其自身标记为检测通过状态,并继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备。
可选的,所述方法还包括:
如果在预设时长内未收到所述下一从节点设备发送的针对所述检测报文的响应报文,则向该从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文;
如果所述下一从节点设备无法正常响应该检测报文,在所述标识列表中将所述下一从节点设备标记为检测失败状态,并将该检测报文上报至所述主节点设备。
本申请还提出一种节点设备的状态检测装置,应用于设备集群中的主节点设备,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述装置包括:
发送模块,用于向所述检测组中下一待检测的从节点设备发送检测报文,以发起针对所述检测组中所有节点的状态检测;其中,所述检测报文携带所述检测组中所有节点设备的标识列表;所述第一从节点设备在正常响应所述检测报文时,在所述标识列表中将其自身标记为检测通过状态,并转发所述检测报文至下一待检测的第二从节点设备,以使所述第二从节点设备在正常响应所述检测报文时继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备;
第一接收模块,用于接收所述检测组中返回的检测报文;
确定模块,用于基于接收到的检测报文确定所述检测组中各节点设备的状态。
可选的,所述第一接收模块进一步用于:
接收所述第一从节点设备在确定所述第二从节点设备无法响应转发的所述检测报文时上报的该检测报文;其中,所述第一从节点设备已在该检测报文的标识列表中将所述第二从节点设备标记为检测失败状态。
可选的,所述发送模块进一步用于:
如果在预设时长内未收到所述第一从节点设备发送的针对所述检测报文的响应报文,则向所述该从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文,则根据所述标识列表向下一个待检测节点发送所述检测报文。
可选的,所述发送模块进一步用于:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,将该检测失败状态的节点从所述标识列表中移除,并向所述第一从节点设备重新发送检测报文,以再次发起针对所述检测组中所有节点的状态检测。
可选的,所述发送模块进一步用于:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,继续将所述检测报文转发至该检测失败状态的从节点设备的下一从节点设备,以使该下一从节点设备在正常响应该检测报文时,在所述标识列表中将自身标记为检测通过状态,并在所述检测组中继续转发该检测报文。
本申请还提出一种节点设备的状态检测装置,应用于设备集群中的从节点设备,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述装置包括:
第二接收模块,用于接收当前检测组中上一节点设备发送的检测报文;所述检测报文由所述检测组中的主节点设备发出;所述检测报文携带所述检测组中所有节点的标识列表;
转发模块,用于在正常响应所述检测报文时,在所述标识列表中将自身标记为检测通过状态,并转发所述检测报文至下一待检测的从节点设备,以使所述下一待检测的从节点设备在正常响应该检测报文时,在所述标识列表中将其自身标记为检测通过状态,并继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备。
可选的,所述转发模块进一步用于:
如果在预设时长内未收到所述下一从节点设备发送的针对所述检测报文的响应报文,则向该从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文;以及
如果所述下一从节点设备无法正常响应该检测报文时,在所述标识列表中将所述下一从节点设备标记为检测失败状态,并将该检测报文上报至所述主节点设备。
本申请中,提出一种新的检测机制,通过将设备集群预划分为一个或者多个具有相同主节点设备的环形检测组,集群中的主节点设备向检测组中下一待检测的第一从节点设备发送携带检测组中所有节点的标识列表的检测报文,以发起针对检测组中所有节点的状态检测;如果第一从节点设备能够正常响应该检测报文,第一从节点设备则在该标识列表中将自身标记为检测通过状态,并转发该检测报文至下一待检测的第二从节点设备,以使第二从节点设备在所述检测组中继续转发所述检测报文,直至所述检测报文被转发至主节点设备,主节点设备基于接收到的检测报文来确定所述检测组中各节点设备的状态。
由于主节点设备在发起针对所有节点的状态检测时,不再需针对所有从节点设备分别发送检测报文,仅需要向下一待检测的从节点设备发送检测报文,因此可以减少主节点设备发送报文的个数,缓解主节点设备的处理压力。同时,由于检测报文中携带所有节点的标识列表,并且主节点设备的下游从节点设备在能够正常响应检测报文时,均可以在标识列表中标注自身的状态,因此主节点设备通过收集检测报文就可以确定集群中各节点的状态,从而可以提升状态检测的效率。
附图说明
图1是示出的一种节点设备的状态检测方法的流程图;
图2是示出的一种针对集群中节点的分组示意图;
图3是示出的一种检测报文的报文结构图;
图4是示出的一种环形检测组的示意图;
图5是示出的一种主节点设备发起状态检测的示意图;
图6是示出的另一种主节点设备发起状态检测的示意图;
图7是示出的另一种主节点设备发起状态检测的示意图;
图8是示出的一种节点设备的状态检测装置的示意框图;
图9是示出的一种主节点设备的硬件架构图;
图10是示出的另一种节点设备的状态检测装置的示意框图;
图11是示出的一种从节点设备的硬件架构图。
具体实施方式
在设备集群目前的错误检测机制中,通常是通过主节点设备和各从节点设备之间互相发送检测报文来实现的。
例如,以ElasticSearch的搜索服务器集群为例,主节点设备和各从节点设备之间可以按照一定的间隔时间(缺省值为1秒),分别互相发送ping报文来进行错误检测,以发现集群中的错误节点。如果发出的ping报文在超时时间(缺省值为30秒)内未得到响应,可以重新发送ping报文,当ping报文的重新发送次数(缺省值为3次)达到预设次数后,则可以确定对端节点检测失败,该节点为错误节点。
可见,在现有的检测机制中,对主节点设备的要求较高,主节点设备需要向各从节点设备分别发送探测报文,处理压力较大。而且,在集群中节点数量较多的情况下,会导致整个网络的带宽资源过多的消耗。
有鉴于此,本申请提出一种新的检测机制,通过将设备集群预划分为一个或者多个具有相同主节点设备的环形检测组,集群中的主节点设备向检测组中下一待检测的第一从节点设备发送携带检测组中所有节点的标识列表的检测报文,以发起针对检测组中所有节点的状态检测;如果第一从节点设备能够正常响应该检测报文,第一从节点设备则在该标识列表中将自身标记为检测通过状态,并转发该检测报文至下一待检测的第二从节点设备,以使第二从节点设备在所述检测组中继续转发所述检测报文,直至所述检测报文被转发至主节点设备,主节点设备基于接收到的检测报文来确定所述检测组中各节点设备的状态。
由于主节点设备在发起针对所有节点的状态检测时,不再需针对所有从节点设备分别发送检测报文,仅需要向下一待检测的从节点设备发送检测报文,因此可以减少主节点设备发送报文的个数,缓解主节点设备的处理压力。
同时,由于检测报文中携带所有节点的标识列表,并且主节点设备的下游从节点设备在能够正常响应检测报文时,均可以在标识列表中标注自身的状态,因此主节点设备通过收集检测报文就可以确定集群中各节点的状态,从而可以提升状态检测的效率。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图1,图1是本申请一实施例提供的一种节点设备的状态检测方法,应用于设备集群,其中,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述设备集群中的主节点设备与各从节点设备相互配合,执行以下步骤:
步骤101,主节点设备向所述检测组中下一待检测的第一从节点设备发送检测报文,以发起针对所述检测组中所有节点的状态检测;其中,所述检测报文携带所述检测组中所有节点设备的标识列表;
上述集群可以是服务器集群;例如,可以是ElasticSearch的搜索服务器集群,或者云计算处理平台的服务器集群;组成上述集群的节点设备可以包括一选举产生的主节点设备,以及若干从节点设备。
在本例中,集群中所有节点的状态检测可以由主节点设备发起。主节点设备在发起针对集群中所有节点的状态检测之前,集群中所有节点可以预先进行分组,每一个检测组可以独立的进行状态检测。
在示出的一种实施方式中,在针对集群中节点进行分组时,可以将集群中的节点划分为一个或者多个具有相同主节点设备的环形检测组。
请参见图2,图2为本例示出的一种针对集群中节点的分组示意图。
如图2所示,在针对集群中的节点进行分组时,可以基于预设的分组策略将集群中的节点设备划分成多个环形的检测组(图2示出为划分为2组),其中每一个检测组的主节点设备相同,这样就可以将集群划分为多个相切的环形检测组,主节点设备可以针对每一个环形检测组分别发起状态检测。
其中,需要说明的是,上述分组策略在本申请中不进行特别限定,管理员可以根据实际的业务需求灵活的设定分组策略;例如,在实现时,管理员可以基于节点所在区域对集群中的节点进行分组,比如在服务器集群的数据中心中,可以将集群中位于同一个机房,或者处于同一个物理子网中的节点划分至同一个检测组。
在本例中,当集群中的节点被划分为一个或者多个具有相同主节点设备的环形检测组后,此时可以针对每一个检测组中的节点分别标定检测顺序。
其中,为每一个检测组中的节点标定的检测顺序,可以由管理员根据实际的业务需求进行设定;例如,对于环形检测组而言,所标定的顺序可以是逆时针的检测顺序,也可以是顺时针的检测顺序。
管理员在标定检测顺序时,可以通过为每一个节点设置递增的标识来标定检测顺序;例如,可以为每一个节点分别设置数字标识,然后通过数字标识数值上的递增来标定每一个节点的检测顺序,节点的数字标识数值最小的表示为状态检测的发起者,数字标识数值的递增方向即为实际的检测顺序。
在本例中,当集群中的节点被划分为一个或者多个环形检测组,并且为每一个检测组中的节点分别标定检测顺序后,主节点设备可以发起针对集群中所有节点的状态检测,基于划分出的分组分别进行分组检测,此时检测的顺序就是预先标定的节点的检测顺序。
在示出的一种实施方式中,针对不同的分组,主节点设备可以向当前分组中的下一个待检测的第一从节点设备发送检测报文,来发起针对集群中所有节点的状态检测。其中,该第一从节点设备是指各分组中相对于主节点设备而言的,下一个待检测的从节点设备。
例如,如图2所示,假设集群中的节点被划分出第一环形检测组和第二环形检测组,主节点设备在发起状态检测时,可以向第一环形检测组和第二环形检测组中,相对于主节点设备而言的下一个待检测的从节点设备分别发送检测报文(图2中示出检测组一为顺时针方向检测,检测组二为逆时针方向检测)。
其中,在该检测报文中,可以携带标识列表,该标识列表用于记录当前分组中所有节点的标识。比如,该标识可以是管理员为各节点设置的数字标号。
步骤102,所述第一从节点接收当前检测组中上一节点设备发送的检测报文,如果正常响应该检测报文,在所述标识列表中将自身标记为检测通过状态,并转发该检测报文至下一待检测的第二从节点设备;
在本例中,主节点设备可以预先设定超时时长以及重传次数,主节点设备在在向第一从节点设备发出检测报文后,可以在本地启用一个定时器,然后判断是否在超时时长内接收到第一从节点设备发送的针对该检测报文的响应报文,如果在超时时长内接收到第一从节点设备返回的针对该检测报文的响应报文,则可以确定第一从节点设备能够正常响应检测报文。
反之,如果在超时时长内未接收到第一从节点设备返回的针对该检测报文的响应报文,此时主节点设备可以重新向第一从节点设备发送该检测报文,并统计重新发送的次数,当重新发送的次数达到上述重传次数后,仍然未收到第一从节点设备的响应报文,那么则可以确定第一从节点设备无法正常响应该检测报文,在这种情况下,主节点可以根据该检测报文中的标识列表,向第一从节点设备的下一个待检测的第二从节点设备发送该检测报文,以对该第一从节点设备在当前分组中的下游从节点继续进行状态检测。其中,需要说明的是,上述超时时长以及重传次数可以使用设备集群中的缺省值;例如,当上述设备集群为ElasticSearch的搜索服务器集群时,即本例中的技术方案应用于ElasticSearch中时,上述超时时长可以使用ElasticSearch中的缺省值30秒,上述重传次数可以使用ElasticSearch中的缺省值3次。当然,在实际应用中,上述超时时长以及重传次数也可以由管理员根据实际业务需求进行自定义设置,在本例中不进行特别限定。
在本例中,如果第一从节点设备无法正常响应该检测报文,此时主节点设备还可以在本地维护的标识列表中,查找到第一从节点设备的标识,将第一从节点设备在本地标记为检测失败状态。
当然,如果第一从节点设备能够正常响应该检测报文,此时第一从节点设备可以读取该检测报文中携带的标识列表,在该标识列表中查找到自身的标识,然后将自身的标识标记为检测通过状态。
当标记完成后,第一从节点设备可以将检测报文继续转发至当前分组中的下一待检测的第二从节点设备。其中,该第二从节点设备是指各分组中相对于第一从节点设备而言的,下一个待检测的从节点设备。
步骤103,如果所述第二从节点设备正常响应所述第一从节点设备转发的所述检测报文,所述第二从节点设备在所述标识列表中将其自身标记为检测通过状态,并继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备;
在本例中,第一从节点设备在将检测报文转发至第二从节点设备后,可以通过确定第一从节点设备是否正常响应该检测报文,来对第一从节点设备进行状态检测。
在示出的一种实施方式中,第一从节点设备可以在本地设定与主节点设备相同的超时时间,以及重传次数,然后在转发检测报文后,也可以在本地启用一个定时器,并判断是否在超时时长内接收到第二从节点设备发送的针对该检测报文的响应报文,如果在超时时长内接收到第二从节点设备返回的针对该检测报文的响应报文,则可以确定第二从节点设备能够正常响应检测报文。
反之,如果在超时时长内未接收到第二从节点设备返回的针对该检测报文的响应报文,此时第一从节点设备可以重新向第二从节点设备转发该检测报文,并统计重新发送的次数,当重新发送的次数达到上述重传次数后,仍然未收到第二从节点设备的响应报文,那么则可以确定第二从节点设备无法正常响应该检测报文。
在本例中,如果第二从节点设备能够正常响应第一从节点设备转发的检测报文,此时第二从节点设备可以按照与第一从节点设备同样的处理方式,在该检测报文携带的标识列表中查找到自身的标识,然后将自身的标识标记为检测通过状态,并在标记完成后继续将该检测报文转发至下一待检测的从节点设备,来对下一待检测的从节点设备进行状态检测。
依次类推,当前分组中的其它待检测的从节点设备,均可以采用与第一从节点设备和第二从节点设备相同的处理方式,在接收到上一从节点或者主节点发送的检测报文时,向当前分组中的下游从节点设备继续转发该检测报文,来检测下一个从节点设备的状态,如果下一个从节点设备能够正常响应转发的该检测报文,则在检测报文中将自身标记为检测通过状态后,在当前分组中继续转发该检测报文,直至该检测报文依托当前分组的环形拓扑被返回至主节点设备。
步骤104,如果所述第二从节点设备无法正常响应所述第一从节点转发的检测报文,第一从节点在所述标识列表中将所述第二从节点设备标记为检测失败状态,并将该检测报文上报至所述主节点设备。
在本例中,第一从节点设备在将上述检测报文转发至下一待检测的第二从节点后,如果第二从节点设备无法正常响应第一从节点设备转发的检测报文,第一从节点设备可以在该检测报文携带的标识列表中查找到第二从节点设备的标识,将第二从节点设备的标识标记为检测失败状态,并在标记完成后,将该检测报文直接上报至主节点设备。其中,标记为检测失败状态的节点即为当前分组中的错误节点。
通过以上实施例可见,主节点设备发起针对集群中所有节点的状态检测时,当前分组中的每一个从节点设备,只需要在检测报文中标记自身的状态,以及负责检测下一个从节点设备的状态。依次类推,当所有从节点设备均按照这种方式检测完成后,该检测报文会依托于当前分组的环形拓扑,最终转发回主节点设备。
步骤105,主节点设备接收所述检测组中返回的检测报文,并基于接收到的检测报文确定所述检测组中各节点设备的状态。
在本例中,主节点设备接收到的检测报文包括两类:
一类是依托于当前分组的环形拓扑最终转发回主节点设备的检测报文(即所有从节点设备均能正常响应检测报文)。
另一类是当前分组中的从节点设备在检测到下一从节点设备无法正常响应检测报文时,直接上报至主节点设备的检测报文。
对于接收到的这两类检测报文,主节点设备可以获取报文中携带的标识列表中,由各从节点设备标记的节点状态,并结合自身在本地标记的下一个从节点设备的状态,来确定当前分组中每一个从节点设备的实际状态。
如果主节点设备确定出当前分组中所有从节点设备均为检测通过状态,此时本轮状态检测完成,主节点设备可以在下一个检测周期到达时,重新向第一从节点设备发送检测报文,发起下一轮的状态检测。
其中,需要指出的是,主节点设备在向第一从节点设备发出的检测报文中,还可以携带报文序号,该序号可以是本次状态检测的序列号,当一轮状态检测结束后,主节点设备可以对序列号进行更新,以防止由于网络延迟等原因,当主节点设备已发起下一轮状态检测,而误将上一轮状态检测报文中记录的各从节点设备的状态作为本轮状态检测的检测结果进行使用,从而可以有效的保证检测结果的准确性。
在示出的一种实施方式中,当主节点设备通过接收到的检测报文确定出当前分组存在检测失败状态的从节点设备(即当前分组存在错误节点,此时该错误节点的下游节点可能尚未完成检测),主节点设备可以将检测失败状态的从节点设备从本地维护的标识列表中删除,然后基于剩下的从节点设备的标识重新构建环形检测组,并向重新构建的该环形检测组中主节点设备的下一待检测的第一从节点设备发送检测报文,重新发起本轮的状态检测,直到主节点设备能够确定出当前分组中所有节点的状态。
当主节点设备可以确定出当前分组中所有节点的状态,此时本轮检测完成,主节点设备可以在下一个检测周期到达时,重新向第一从节点设备发送检测报文,发起下一轮的状态检测。当然,如果错误节点恢复为正常节点,也可以重新加入检测组,此时主节点设备可以按照相同的方式,重新发起一轮状态检测。
在本例示出的另一种实施方式中,当主节点设备通过接收到的检测报文确定出当前分组存在检测失败状态的从节点设备,除了可以将检测失败状态的从节点设备从本地维护的标识列表中删除,重新发起新一轮的状态检测以外,主节点设备还可以跳过该检测失败状态的从节点设备,继续将该检测报文转发至该检测失败状态的从节点设备的下一待检测的从节点设备,以对当前分组中除了第二从节点设备以外的其它待检测的下游从节点设备继续进行状态检测。
例如,假设上述第二从节点设备为检测失败状态的从节点设备,主节点可以跳过第二从节点设备,将上述检测报文转发至该第二从节点设备的下一待检测的第三从节点设备,以对当前分组中第二从节点设备的下游从节点设备继续进行状态检测。
需要指出的是,在实际应用中,跳过错误节点继续向下游从节点转发检测报文的操作,也可以由从节点自主执行。
例如,当上述第一从节点在向第二从节点转发检测报文后,如果第一从节点确定出第二从节点设备无法正常响应该检测报文时,除了可以在标识列表中将第二从节点标记为检测失败状态并将该检测报文上报主节点以外,第一从节点还可以在标识列表中查询第二从节点的下一从节点设备,然后将该检测报文继续转发至该第二从节点的下一待检测的第三从节点设备。
通过这种方式,可以在检测出当前分组中任一从节点设备为错误节点的情况下,跳过该错误节点,继续对下游其它待检测的从节点设备继续进行状态检测,从而可以避免无法对错误节点的下游从节点设备继续进行状态检测的问题。
通过以上实施例可见,由于检测报文中携带所有节点的标识列表,并且主节点设备的下游从节点设备在能够正常响应检测报文时,均可以在标识列表中标注自身的状态,而且当分组中任一从节点设备检测到下游从节点设备为错误节点时,还可以在检测报文中标注该错误节点的状态,因此,以主节点设备为检测中心,依托于每一个检测组的环形拓扑收集检测报文,就可以确定集群中各节点的状态,从而可以提升状态检测的效率。
以下通过一个具体的应用实例对以上实施例中的技术方案进行说明。
请参见图3,图3为本例示出的检测报文的报文结构图。
如图3所示,检测报文的报文结构中包括head字段、集群名字段、环号字段、序列号字段、报文类型字段、以及标识列表。其中:
head字段,表示检测报文的报文头,在该报文头中可以携带转发该报文所需的地址信息;比如,可以携带目标从节点设备的IP地址以及接收端口号等信息。
集群名字段,该字段用于记录检测报文所属的集群。检测报文在转发的过程中,接收到该检测报文的节点可以验证该字段携带的集群名称与该节点实际所属的集群是否相同,如果不相同,表示该检测报文为其它集群的检测报文,该节点可以将该检测报文丢弃。
环号字段,该字段用于记录检测报文所属的检测组编号。检测报文在转发的过程中,接收到该检测报文的节点可以验证该字段携带的环号与该节点实际所属的环号是否相同,如果不相同,表示该检测报文为其它分组的检测报文,该节点可以将该检测报文丢弃。
序列号字段,是由主节点设备为检测报文增加的序列号。主节点设备发起新一轮的状态检测时,需要对该序列号的取值进行更新。比如,可以依次递增。
报文类型字段,用于区分当前的检测报文为主节点设备发出的报文,还是从节点设备在检测到下一从节点设备为错误节点时,主动上报给主节点设备的检测报文。该字段大小可以为1个bit,可以通过取值来区分报文类型;比如,取值为0时,表示该检测报文为主节点设备发出的检测报文;取值为1时,表示该检测报文为从节点设备主动上报的报文。
标识列表,标识列表的大小取决于分组中节点的数量,用于携带主节点设备在其本地维护的标识列表,可以包括节点标识字段和检测状态字段。节点标识字段用于记录节点标识。检测状态字段可以用于记录节点状态,可以通过取值来区分状态类型。
在示出的一种实现方式中,该字段的大小可以为1个bit,可以通过取值记录检测通过状态以及检测失败状态这两种状态;比如,取值为0时,表示当前节点为检测通过状态;取值为1时,表示当前节点为检测失败状态。
在示出的另一种实现方式中,该字段的大小可以为2个bit,可以通过取值记录检测通过状态、检测失败状态以及未检测状态这三种状态;比如,取值为00时,表示当前节点为检测通过状态;取值为01时,表示当前节点为检测失败状态;取值为10时表示当前节点为未检测状态。
需要指出的是,该字段通过取值记录检测通过状态、检测失败状态等两两种状态,还是检测通过状态、检测失败状态以及未检测状态等三种状态,在本例中不进行特别限定,可以根据实际的业务需求进行灵活使用。
请参见图4,图4为本例示出的环形检测组的示意图。
如图4所示出的环形检测组中,包括一主节点设备以及四个从节点设备,节点0为主节点设备,节点1-4为从节点设备,主节点设备在发起状态检测时,检测的顺序按照节点的数字标识的顺序从小到大依次检测,即可以按照顺时针的方向进行状态检测。
主节点设备可以在本地维护一张标识列表,该标识列表用于记录当前分组中所有节点的数字标识,以及与数字标识对应的节点状态。
在示出的一个例子中,上述节点状态可以包括yes和no两种状态。
yes状态表示检测通过状态,检测通过状态的节点为能够正常响应主节点设备发出的检测报文的节点,在这种状态下的节点为正常节点。在默认状态下,主节点设备0的状态为yes状态。其它从节点设备的状态为no状态。
no状态表示检测失败状态,检测失败状态的节点为无法正常响应主节点设备发出的检测报文的节点,在这种状态下的节点为错误节点。
以上描述的yes和no两种状态,在检测报文中可以以具体的字段取值来表示,比如检测状态字段取值为0时,表示当前节点为检测通过状态;取值为1时,表示当前节点为检测失败状态。
在本例中,主节点设备在本地维护的标识列表可以如表1所示:
节点标识 节点状态
0 yes
1 no
2 no
3 no
4 no
表1
一方面,假设当前分组中所有节点均为正常节点。
请参见图5,主节点设备0发起针对该分组中所有从节点设备的状态检测,向从节点设备1发送检测报文,此时该检测报文中标识列表携带的内容如表1所示。
从节点设备1在接收到该检测报文后,能够正常响应该检测报文,则在上述标识列表中将自身的标识标记为yes状态,同时将该检测报文转发至从节点设备2,并通过确定从节点设备2是否能够正常响应该检测报文,来对从节点设备2进行状态检测。
从节点设备2在接收到该检测报文后,能够正常响应该检测报文,则在上述标识列表中将自身的标识标记为yes状态,同时将该检测报文转发至从节点设备3,并通过确定从节点设备3是否能够正常响应该检测报文,来对从节点设备3进行状态检测。
依次类推,从节点设备3和从节点设备4均执行与从节点设备1和从节点设备2相同的操作,最终该检测报文被从节点设备4依托环形拓扑转发回主节点设备0。此时主节点设备0收到的检测报文中携带的标识列表可以如表2所示:
节点标识 节点状态
0 yes
1 yes
2 yes
3 yes
4 yes
表2
主节点设备在收到从节点设备4转发回的检测报文后,可以读取该检测报文中携带的标识列表,对本地保存的如表1所示的标识列表进行更新。此时本轮检测完成,主节点设备可以确定出当前分组中每一个节点的状态。
另一方面,假设当前分组中从节点设备3发生错误为错误节点,无法正常响应检测报文。
请参见图6,从节点设备2正常响应该检测报文,在上述标识列表中将自身的标识标记为yes状态,并将该检测报文转发至从节点设备3后,如果确定出从节点设备3无法正常响应该检测报文,从节点设备2可以在上述标识列表中将从节点设备3标识为no状态,然后将该检测报文上报至主节点设备0。
此时主节点设备0收到的检测报文中携带的标识列表可以如表3所示:
节点标识 节点状态
0 yes
1 yes
2 yes
3 no
4 no
表3
主节点设备在收到从节点设备2上报检测报文后,可以读取该检测报文中携带的标识列表,对本地保存的如表1所示的标识列表进行更新。
由于当前分组中从节点设备3为错误节点,此时从节点设备3的下游节点从节点设备4尚未完成状态检测,在一种情况下,当主节点设备确定从节点设备3为错误节点,则可以将从节点设备3的标识从该标识列表中删除,然后基于该列表中剩余的节点标识以及对应的节点状态重新构建检测报文,并重新发起本轮的状态检测,直到主节点设备可以基于返回的检测报文确定出当前分组中所有节点的状态;在另一种情况下,主节点设备除了可以将检测失败状态的从节点设备3的标识从本地维护的标识列表中删除,重新发起新一轮的状态检测以外,主节点设备在确定从节点设备3为错误节点后,还可以跳过从节点设备3,继续将该检测报文转发至该从节点设备3的下一待检测的从节点设备4,以对当前分组中从节点设备3的下游从节点设备继续进行状态检测,直到主节点设备可以基于返回的检测报文确定出当前分组中所有节点的状态。当主节点设备可以确定出当前分组所有节点的状态,此时本轮检测完成。
在示出的一个例子中,上述节点状态可以包括yes、no以及na三种状态。
yes状态和no状态的具体含义与以上例子中的含义相同,不再赘述。
na状态表示未检测状态,默认状态下,所有尚未完成检测,即未接收到主节点设备发出的或者其它从节点设备转发的检测报文的从节点设备均为na状态。
以上描述的yes、no和na三种状态,在检测报文中可以以具体的字段取值来表示,比如检测状态字段取值为00时,表示当前节点为检测通过状态;取值为01时,表示当前节点为检测失败状态;取值为10时,表示当前节点为未检测状态。
在本例中,主节点设备在本地维护的标识列表可以如表4所示:
节点标识 节点状态
0 yes
1 na
2 na
3 na
4 na
表4
在本例中,仍然假设当前分组中从节点设备3发生错误,为错误节点,无法正常响应检测报文。
请参见图7,从节点设备2正常响应该检测报文,在上述标识列表中将自身的标识标记为yes状态,并将该检测报文转发至从节点设备3后,如果确定出从节点设备3无法正常响应该检测报文,从节点设备2可以在上述标识列表中将从节点设备3标识为no状态,然后将该检测报文上报至主节点设备0。此时主节点设备0收到的从节点设备2上报的检测报文中携带的标识列表可以如表5所示:
节点标识 节点状态
0 yes
1 yes
2 yes
3 no
4 na
表5
当主节点设备根据从节点设备2上报的检测报文确定从节点设备3为错误节点时,一方面,主节点可以将从节点设备3从该标识列表中删除,然后基于该列表中剩余的节点标识以及对应的节点状态重新构建检测报文,并重新发起本轮的状态检测,直到主节点设备可以基于返回的检测报文确定出当前分组中所有节点的状态。
另一方面,当主节点设备根据从节点设备2上报的检测报文确定从节点设备3为错误节点时,主节点设备还可以从标识列表读取从节点设备3的下一个na状态的从节点设备4,然后可以跳过错误节点3将该检测报文继续转发至从节点设备4,以对当前分组中从节点设备3的下游从节点设备继续进行状态检测,直到主节点设备可以基于返回的检测报文确定出当前分组中所有节点的状态。。
从节点设备4在接收到该检测报文后,如果能够正常响应该检测报文,则在上述标识列表中将自身的标识标记为yes状态,然后将该检测报文转发至主节点设备0。此时主节点设备0收到的从节点设备4发回的检测报文中携带的标识列表可以如表6所示:
节点标识 节点状态
0 yes
1 yes
2 yes
3 no
4 yes
表6
主节点设备0在收到从节点设备4转发回的检测报文后,可以根据从节点设备4转发回的检测报文中携带的标识列表,来核实当前分组中各节点的状态,对本地保存的如表1所示的标识列表进行更新。
当主节点设备确定出当前分组中每一个节点的状态时,本轮检测完成,后续主节点设备可以在下一个检测周期到达时,重新向第一从节点设备发送检测报文,发起下一轮的状态检测。
在以上各实施例中,通过将设备集群预划分为一个或者多个具有相同主节点设备并且预标定了检测顺序的环形检测组,集群中的主节点设备向检测组中下一待检测的第一从节点设备发送携带检测组中所有节点的标识列表的检测报文,以发起针对检测组中所有节点的状态检测;如果第一从节点设备能够正常响应该检测报文,第一从节点设备则在该标识列表中将自身标记为检测通过状态,并转发该检测报文至下一待检测的第二从节点设备,以使第二从节点设备在所述检测组中继续转发所述检测报文,直至所述检测报文被转发至主节点设备,主节点设备基于接收到的检测报文来确定所述检测组中各节点设备的状态。
由于主节点设备在发起针对所有节点的状态检测时,不再需针对所有从节点设备分别发送检测报文,仅需要向下一待检测的从节点设备发送检测报文,因此可以减少主节点设备发送报文的个数,缓解主节点设备的处理压力。
同时,由于检测报文中携带所有节点的标识列表,并且主节点设备的下游从节点设备在能够正常响应检测报文时,均可以在标识列表中标注自身的状态,以及在其下一从节点设备无法正常响应检测报文时,会在标识列表标注下一从节点设备的状态并将检测报文上报至主节点,因此主节点设备通过收集检测报文就可以确定集群中各节点的状态,从而可以提升状态检测的效率。
与上述方法实施例相对应,本申请还提供了系统的实施例。
请参见图8,本申请提出一种节点设备的状态检测装置80,应用于设备集群的主节点设备上,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,其中,请参见图9,作为承载所述主节点设备所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等,以软件实现为例,所述节点设备的状态检测装置80通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,所述装置80包括:
发送模块801,用于向所述检测组中下一待检测的从节点设备发送检测报文,以发起针对所述检测组中所有节点的状态检测;其中,所述检测报文携带所述检测组中所有节点设备的标识列表;所述第一从节点设备在正常响应所述检测报文时,在所述标识列表中将其自身标记为检测通过状态,并转发所述检测报文至下一待检测的第二从节点设备,以使所述第二从节点设备在正常响应所述检测报文时继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备;
第一接收模块802,用于接收所述检测组中返回的检测报文;
确定模块803,用于基于接收到的检测报文确定所述检测组中各节点设备的状态。
在本例中,所述第一接收模块802进一步用于:
接收所述第一从节点设备在确定所述第二从节点设备无法响应转发的所述检测报文时上报的该检测报文;其中,所述第一从节点设备已在该检测报文的标识列表中将所述第二从节点设备标记为检测失败状态。
在本例中,所述发送模块801进一步用于:
如果在预设时长内未收到所述第一从节点设备发送的针对所述检测报文的响应报文,则向所述该从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文,则根据所述标识列表向下一个待检测节点发送所述检测报文。
在本例中,所述发送模块801进一步用于:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,将该检测失败状态的节点从所述标识列表中移除,并向所述第一从节点设备重新发送检测报文,以再次发起针对所述检测组中所有节点的状态检测。
在本例中,所述发送模块801进一步用于:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,继续将所述检测报文转发至该检测失败状态的从节点设备的下一从节点设备,以使该下一从节点设备在正常响应该检测报文时,在所述标识列表中将自身标记为检测通过状态,并在所述检测组中继续转发该检测报文。
请参见图10,本申请提出一种节点设备的状态检测装置100,应用于设备集群的从节点设备上,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,其中,请参见图11,作为承载所述从主节点设备所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等,以软件实现为例,所述节点设备的状态检测装置100通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,所述装置100包括:
第二接收模块1001,用于接收当前检测组中上一节点设备发送的检测报文;所述检测报文由所述检测组中的主节点设备发出;所述检测报文携带所述检测组中所有节点的标识列表;
转发模块1002,用于在正常响应所述检测报文时,在所述标识列表中将自身标记为检测通过状态,并转发所述检测报文至下一待检测的从节点设备,以使所述下一待检测的从节点设备在正常响应该检测报文时,在所述标识列表中将其自身标记为检测通过状态,并继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备。
在本例中,所述转发模块1002进一步用于:
如果在预设时长内未收到所述下一从节点设备发送的针对所述检测报文的响应报文,则向该从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文;以及
如果所述下一从节点设备无法正常响应该检测报文时,在所述标识列表中将所述下一从节点设备标记为检测失败状态,并将该检测报文上报至所述主节点设备。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (14)

1.一种节点设备的状态检测方法,应用于设备集群中的主节点设备,其特征在于,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述方法包括:
向所述检测组中下一待检测的第一从节点设备发送检测报文,以发起针对所述检测组中所有节点的状态检测;其中,所述检测报文携带所述检测组中所有节点设备的标识列表;所述第一从节点设备在正常响应所述检测报文时,在所述标识列表中将其自身标记为检测通过状态,并转发所述检测报文至下一待检测的第二从节点设备,以使所述第二从节点设备在正常响应所述检测报文时继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备;
接收所述检测组中返回的检测报文;
基于接收到的检测报文确定所述检测组中各节点设备的状态。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第一从节点设备在确定所述第二从节点设备无法响应转发的所述检测报文时上报的该检测报文;其中,所述第一从节点设备已在该检测报文的标识列表中将所述第二从节点设备标记为检测失败状态。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果在预设时长内未收到所述第一从节点设备发送的针对所述检测报文的响应报文,则向所述第一从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文,则根据所述标识列表向下一个待检测节点发送所述检测报文。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,将该检测失败状态的节点从所述标识列表中移除,并向所述第一从节点设备重新发送检测报文,以再次发起针对所述检测组中所有节点的状态检测。
5.如权利要求3所述的方法,其特征在于,所述方法还包括:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,继续将所述检测报文转发至该检测失败状态的从节点设备的下一从节点设备,以使该下一从节点设备在正常响应该检测报文时,在所述标识列表中将自身标记为检测通过状态,并在所述检测组中继续转发该检测报文。
6.一种节点设备的状态检测方法,应用于设备集群中的从节点设备,其特征在于,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述方法包括:
接收当前检测组中上一节点设备发送的检测报文;所述检测报文由所述检测组中的主节点设备发出;所述检测报文携带所述检测组中所有节点的标识列表;
如果正常响应所述检测报文时,在所述标识列表中将自身标记为检测通过状态,并转发所述检测报文至下一待检测的从节点设备,以使所述下一待检测的从节点设备在正常响应该检测报文时,在所述标识列表中将其自身标记为检测通过状态,并继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
如果在预设时长内未收到所述下一待检测的从节点设备发送的针对所述检测报文的响应报文,则向该从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文;
如果所述下一待检测的从节点设备无法正常响应该检测报文,在所述标识列表中将所述下一待检测的从节点设备标记为检测失败状态,并将该检测报文上报至所述主节点设备。
8.一种节点设备的状态检测装置,应用于设备集群中的主节点设备,其特征在于,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述装置包括:
发送模块,用于向所述检测组中下一待检测的第一从节点设备发送检测报文,以发起针对所述检测组中所有节点的状态检测;其中,所述检测报文携带所述检测组中所有节点设备的标识列表;所述第一从节点设备在正常响应所述检测报文时,在所述标识列表中将其自身标记为检测通过状态,并转发所述检测报文至下一待检测的第二从节点设备,以使所述第二从节点设备在正常响应所述检测报文时继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备;
第一接收模块,用于接收所述检测组中返回的检测报文;
确定模块,用于基于接收到的检测报文确定所述检测组中各节点设备的状态。
9.如权利要求8所述的装置,其特征在于,所述第一接收模块进一步用于:
接收所述第一从节点设备在确定所述第二从节点设备无法响应转发的所述检测报文时上报的该检测报文;其中,所述第一从节点设备已在该检测报文的标识列表中将所述第二从节点设备标记为检测失败状态。
10.如权利要求8所述的装置,其特征在于,所述发送模块进一步用于:
如果在预设时长内未收到所述第一从节点设备发送的针对所述检测报文的响应报文,则向所述第一从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文,则根据所述标识列表向下一个待检测节点发送所述检测报文。
11.如权利要求9所述的装置,其特征在于,所述发送模块进一步用于:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,将该检测失败状态的节点从所述标识列表中移除,并向所述第一从节点设备重新发送检测报文,以再次发起针对所述检测组中所有节点的状态检测。
12.如权利要求11所述的装置,其特征在于,所述发送模块进一步用于:
当基于接收到的所述检测报文确定所述检测组中存在检测失败状态的节点时,继续将所述检测报文转发至该检测失败状态的从节点设备的下一从节点设备,以使该下一从节点设备在正常响应该检测报文时,在所述标识列表中将自身标记为检测通过状态,并在所述检测组中继续转发该检测报文。
13.一种节点设备的状态检测装置,应用于设备集群中的从节点设备,其特征在于,所述设备集群被预划分为一个或者多个具有相同主节点设备的环形检测组,所述装置包括:
第二接收模块,用于接收当前检测组中上一节点设备发送的检测报文;所述检测报文由所述检测组中的主节点设备发出;所述检测报文携带所述检测组中所有节点的标识列表;
转发模块,用于在正常响应所述检测报文时,在所述标识列表中将自身标记为检测通过状态,并转发所述检测报文至下一待检测的从节点设备,以使所述下一待检测的从节点设备在正常响应该检测报文时,在所述标识列表中将其自身标记为检测通过状态,并继续向下游从节点设备转发该检测报文,直至该检测报文被转发至所述主节点设备。
14.如权利要求13所述的装置,其特征在于,所述转发模块进一步用于:
如果在预设时长内未收到所述下一待检测的从节点设备发送的针对所述检测报文的响应报文,则向该从节点设备重新发送所述检测报文;当所述检测报文重新发送的次数达到预设次数,仍未收到该从节点设备发送的所述响应报文时,确定该从节点设备无法正常响应所述检测报文;以及
如果所述下一待检测的从节点设备无法正常响应该检测报文时,在所述标识列表中将所述下一待检测的从节点设备标记为检测失败状态,并将该检测报文上报至所述主节点设备。
CN201610203437.4A 2016-03-31 2016-03-31 节点设备的状态检测方法和装置 Active CN105897507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610203437.4A CN105897507B (zh) 2016-03-31 2016-03-31 节点设备的状态检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610203437.4A CN105897507B (zh) 2016-03-31 2016-03-31 节点设备的状态检测方法和装置

Publications (2)

Publication Number Publication Date
CN105897507A CN105897507A (zh) 2016-08-24
CN105897507B true CN105897507B (zh) 2019-09-17

Family

ID=57012713

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610203437.4A Active CN105897507B (zh) 2016-03-31 2016-03-31 节点设备的状态检测方法和装置

Country Status (1)

Country Link
CN (1) CN105897507B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109981412B (zh) * 2017-03-31 2020-11-17 杭州数梦工场科技有限公司 集群中数据迁移方法、装置及存储介质
CN107231359A (zh) * 2017-06-08 2017-10-03 山东超越数控电子有限公司 一种高可用集群节点安全状态监控方法及系统
CN107181626B (zh) * 2017-07-18 2020-05-26 苏州浪潮智能科技有限公司 分布式存储集群系统网络带宽监测方法及系统
CN107181628B (zh) * 2017-07-20 2020-05-05 杭州老板电器股份有限公司 双向无线通信方法、装置和终端
CN108989442A (zh) * 2018-07-27 2018-12-11 中国联合网络通信集团有限公司 数据分发方法、系统及控制节点
CN109218137B (zh) * 2018-10-18 2021-04-30 郑州云海信息技术有限公司 一种分布式系统中的节点的状态检测方法和装置
CN109981459B (zh) * 2019-02-28 2021-02-19 联想(北京)有限公司 一种信息发送方法、客户端和计算机可读存储介质
CN110557292A (zh) * 2019-09-18 2019-12-10 南方电网科学研究院有限责任公司 基于分布式路由物联网络的拓扑图获取方法、装置及设备
CN110971676B (zh) * 2019-11-18 2022-07-29 中移(杭州)信息技术有限公司 设备状态检测方法、装置、电子设备及存储介质
CN112968919B (zh) * 2019-12-12 2023-05-30 上海欣诺通信技术股份有限公司 一种数据处理方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931569A (zh) * 2009-06-22 2010-12-29 中兴通讯股份有限公司 用于以太环网的链路故障检测方法
CN103346944A (zh) * 2013-06-18 2013-10-09 北京卓越信通电子股份有限公司 多点协同检测、多通道的环网、节点装置及检测方法
CN104079462A (zh) * 2014-07-16 2014-10-01 北京华为数字技术有限公司 环网配置检测方法及装置
CN104486190A (zh) * 2014-12-23 2015-04-01 上海斐讯数据通信技术有限公司 以太网多网切换的方法
CN105141493A (zh) * 2015-07-27 2015-12-09 浙江宇视科技有限公司 环网故障时的业务帧处理方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2012023538A1 (ja) * 2010-08-17 2013-10-28 日本電気株式会社 通信装置、通信システム、通信方法、および記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101931569A (zh) * 2009-06-22 2010-12-29 中兴通讯股份有限公司 用于以太环网的链路故障检测方法
CN103346944A (zh) * 2013-06-18 2013-10-09 北京卓越信通电子股份有限公司 多点协同检测、多通道的环网、节点装置及检测方法
CN104079462A (zh) * 2014-07-16 2014-10-01 北京华为数字技术有限公司 环网配置检测方法及装置
CN104486190A (zh) * 2014-12-23 2015-04-01 上海斐讯数据通信技术有限公司 以太网多网切换的方法
CN105141493A (zh) * 2015-07-27 2015-12-09 浙江宇视科技有限公司 环网故障时的业务帧处理方法及系统

Also Published As

Publication number Publication date
CN105897507A (zh) 2016-08-24

Similar Documents

Publication Publication Date Title
CN105897507B (zh) 节点设备的状态检测方法和装置
JP3556842B2 (ja) ネットワーク監視機構、ネットワーク監視装置およびネットワーク管理方法
US8443078B2 (en) Method of determining equivalent subsets of agents to gather information for a fabric
US7983175B2 (en) System and method for detecting a network failure
CN114884838B (zh) Kubernetes组件的监控方法及服务器
CN109428785A (zh) 一种故障检测方法和装置
US9104565B2 (en) Fault tracing system and method for remote maintenance
CN102075368A (zh) 一种业务故障诊断方法、装置和系统
CN112737856B (zh) 链路追踪方法和装置、存储介质及电子装置
CN111934936A (zh) 网络状态检测方法、装置、电子设备及存储介质
CN112737800A (zh) 服务节点故障定位方法、调用链生成方法及服务器
CN104618189A (zh) 链路故障检测方法及装置
CN113949649B (zh) 故障检测协议的部署方法、装置、电子设备及存储介质
CN101252477B (zh) 一种网络故障根源的确定方法及分析装置
CN110730095A (zh) 一种面向云计算平台的数据安全应急演练方法和系统
US7646729B2 (en) Method and apparatus for determination of network topology
CN113055203B (zh) Sdn控制平面的异常恢复方法及装置
JP2013026928A (ja) 故障管理システムおよび故障管理方法
CN107015767A (zh) 一种nas设备、分布式处理系统和方法
CN108512698B (zh) 一种网络容灾方法、装置及电子设备
CN112637000B (zh) 物联网设备的监控方法、服务器和物联网设备
CN109391525A (zh) 环路定位方法及装置
CN104754328B (zh) 一种分布式视频质量诊断方法
CN105933153A (zh) 集群故障监测方法及装置
CN102714630B (zh) 通信装置、通信系统及通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant