CN110830283B - 故障检测方法、装置、设备和系统 - Google Patents
故障检测方法、装置、设备和系统 Download PDFInfo
- Publication number
- CN110830283B CN110830283B CN201810919141.1A CN201810919141A CN110830283B CN 110830283 B CN110830283 B CN 110830283B CN 201810919141 A CN201810919141 A CN 201810919141A CN 110830283 B CN110830283 B CN 110830283B
- Authority
- CN
- China
- Prior art keywords
- network card
- node
- management node
- main management
- following
- 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
- 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/0604—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
- H04L41/0622—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on time
-
- 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/16—Threshold monitoring
-
- 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/50—Testing arrangements
Abstract
本申请公开了故障检测方法,包括:主管理节点的网卡获取业务节点的网卡发送的授权消息,所述授权消息包括所述业务节点的授权有效时长,所述主管理节点的网卡和所述业务节点的网卡支持远程直接存储器存取RDMA协议;当所述授权有效时长小于或等于第一阈值时,所述主管理节点的网卡向所述主管理节点的处理器发送第一通知消息,用于指示所述业务节点的有效授权即将超期,以便于所述主管理节点的处理器根据所述第一通知消息确定所述业务节点的状态,所述状态包括正常和故障。以此解决传统的故障检测方案中需要CPU参与,导致CPU工作负载较大、故障检测的时延较长等问题。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及故障检测方法、装置、设备和系统。
背景技术
在分布式系统中,特别是大规模分布式系统中,由于服务器数量较多,服务器之间网络连接关系复杂,服务器之间通信的链路发生链路故障概率较高。当发生链路故障后,如何快速检测,以减少链路故障引起系统的性能以及可靠性降低,是目前亟需解决的问题。
为解决上述问题,现有基于远程直接存储器存取(remote direct memoryaccess,RDMA)协议通信的分布式系统中,提出采用基于心跳包的链路检测方案。具体地,节点A的中央处理器(central processing unit,CPU)通过RDMA协议与节点B通信时,可绕过节点B的CPU,直接访问节点B的内存,以周期性地将心跳包写到节点B的内存中。相应地,节点B的CPU可周期性地查询自身内存,以获知是否接收到节点A发送的心跳包。
由于网络故障或节点故障(例如节点的CPU故障)等原因,导致节点B无法从自身内存中查询到节点A发送的数据包。此时,可认为节点A和节点B之间发生了链路故障。
在实践中发现,现有采用RDMA协议通信的链路检测方案中,需要链路两端节点的CPU参与,无疑增加了CPU的工作负荷。此外,上述链路检测方案的流程较多,将造成较高的故障检测时延。
发明内容
本申请公开了故障检测方法、装置、设备和系统,能够解决传统的故障检测方案需要CPU参与,存在CPU工作负载大、时延高等问题。
第一方面,本申请公开了一种故障检测方法,包括:主管理节点的网卡获取跟随节点的网卡发送的授权消息,该授权消息包括跟随节点的授权有效时长。该授权有效时长是指为主管理节点的网卡和跟随节点的网卡之间通信授权时长的剩余时长,具体可指跟随节点的网卡为主管理节点的网卡分配的通信授权时长的剩余时长。主管理节点用于管理跟随节点。当所述授权有效时长小于或等于第一阈值时,主管理节点的网卡可向主管理节点的处理器发送第一通知消息。该第一通知消息用于指示跟随节点的有效授权即将超期,便于主管理节点的处理器根据第一通知消息确定跟随节点的状态,所述状态包括正常和故障。
通过实施上述方法,能够通过网卡实现故障检测,解决传统的故障检测方案中存在的CPU工作负载大、时延较高等问题。
在一种可能的实施方式中,主管理节点的网卡可向跟随节点的网卡发送第一授权请求消息,该第一授权请求消息用于主管理节点的网卡请求与跟随节点的网卡之间通信的权限和时长。相应地,主管理节点的网卡接收跟随节点的网卡发送第一授权请求消息的响应消息,所述第一授权请求消息的响应消息包括主管理节点的网卡允许与跟随节点的网卡之间通信的时长。进一步地,主管理节点的网卡根据该时长可计算获得当前时刻允许和跟随节点的网卡之间通信的剩余时长。换句话说,主管理节点的网卡获取跟随节点的网卡发送的授权消息可以是指主管理节点的网卡获取当前时刻主管理节点的网卡允许与跟随节点的网卡之间通信权限的剩余时长。
通过实施上述过程,主管理节点的网卡和跟随节点的网卡之间通过交互授权请求消息以及授权响应消息,以获得两者网卡之间通信的时长以及剩余时长,便于后续确定跟随节点的有效权限是否即将过期,从而有利于提升故障检测的速率。
在一种可能的实施方式中,主管理节点的网卡可周期性向所述跟随节点发送第一授权查询消息。当主管理节点的网卡在第一预置时长内未收到跟随节点发送的第一授权查询消息的响应消息时,主管理节点的网卡确定主管理节点的网卡和跟随节点的网卡之间的通信链路故障。
通过实施上述过程,主管理节点的网卡通过发送第一授权查询消息来确定主管理节点的网卡和跟随节点的网卡之间的通信链路是否故障,从而提升了链路故障检测的高效性。
在一种可能的实施方式中,主管理节点的网卡向主管理节点的处理器发送第一通知消息具体包括:主管理节点的网卡采用中断方式向主管理节点的处理器发送第一通知消息。可选地,在发送第一通知消息后,主管理节点的网卡向跟随节点发送第三授权请求消息。其中,第三授权请求消息用于在主管理节点的网卡根据第一授权请求消息获取的授权时长到期前,向跟随节点的网卡再次获取主管理节点的网卡与跟随节点的网卡通信的权限和时长。相应地,主管理节点的处理器确定跟随节点的状态具体包括:主管理节点的处理器接收到主管理节点的网卡发送与跟随节点的网卡之间通信链路异常的通知的次数达到第二阈值时,确定跟随节点故障。
通过实施上述过程,主管理节点的网卡每次在跟随节点的有效授权即将过期前,需通过与跟随节点的网卡交互授权请求消息以及授权响应消息,以再次获得和跟随节点的网卡之间通信的权限和时长,这样可有效保证主管理节点的网卡和跟随节点的网卡之间的通信。
在一种可能的实施方式中,主管理节点的网卡接收跟随节点的网卡发送的第二授权请求消息,第二授权请求消息用于跟随节点的网卡请求与主管理节点的网卡通信的权限和时长。相应地,主管理节点的网卡向跟随节点的网卡发送第二授权请求的响应消息,该第二授权请求的响应消息包括所述主管理节点的网卡允许与所述跟随节点的网卡通信的时长。可选地,主管理节点的网卡接收跟随节点的网卡发送的第二授权查询消息,第二授权查询消息用于跟随节点的网卡确定主管理节点的网卡和跟随节点的网卡之间的通信链路是否故障。相应地,当跟随节点的网卡在第二预置时间内未收到主管理节点的网卡发送的第二授权查询消息的响应消息时,跟随节点的网卡确定主管理节点的网卡和跟随节点的网卡之间的通信链路故障。
通过实施上述过程,主管理节点的网卡也可为跟随节点的网卡分配相应通信的权限和时长。跟随节点的网卡可通过与主管理节点的网卡交互授权查询消息,来确定主管理节点的网卡和跟随节点的网卡之间的通信链路是否发生故障,这样提升了链路故障检测的高效性。
在一种可能的实施方式中,主管理节点的网卡可查询最近一次接收主管理节点的处理器发送的状态监控消息的时间间隔。当最近一次接收主管理节点的处理器的状态监控消息的时间间隔大于或等于第三阈值时,主管理节点的网卡确定主管理节点的处理器故障。
通过实施上述过程,主管理节点的网卡通过确定最近一次接收自身处理器发的状态监控消息的时间间隔,来确定自身处理器是否故障,这样可实现节点故障检测的便捷性和高效性。
第二方面,本申请提供了一种故障检测装置,所述装置包括用于执行如上第一方面或第一方面的任意可能的实施方式中所描述的方法的功能模块或单元。
第三方面,本申请提供了一种网络设备(具体可为网络接口卡,简称网卡),包括处理器,存储器,通信接口和总线;处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法。
第四方面,本申请提供了一种设备,包括网络接口卡以及第一处理器,所述网络接口卡包括处理器,存储器,通信接口和总线;处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法。
第五方面,本申请提供了一种故障检测系统,包括管理集群以及服务集群,所述管理集群包括主管理节点以及至少一个备管理节点,所述服务集群包括至少一个业务节点,所述主管理节点用于管理跟随节点,所述跟随节点包括所述至少一个业务节点以及所述至少一个备管理节点;所述主管理节点包括处理器,存储器,通信接口和总线;处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行上述第一方面或第一方面的任意可能的实施方式中所描述的方法。
第六方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第七方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是本发明实施例提供的一种故障检测系统的网络框架示意图。
图2是本发明实施例提供的一种故障检测方法的流程示意图。
图3是本发明实施例提供的另一种故障检测方法的流程示意图。
图4是本发明实施例提供的一种故障检测装置的结构示意图。
图5是本发明实施例提供的一种网卡的结构示意图。
图6是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例中的技术方案进行详细描述。
为解决传统技术中存在的CPU工作负载大、故障检测的时延高等问题,本发明实施例提出一种故障检测方法。首先,参见图1是本发明实施例提供的一种故障检测系统的网络框架示意图。如图1,所述故障检测系统10包括管理集群12以及服务集群14。管理集群12包括一个主管理节点120以及一个或多个备管理节点122。服务集群14包括一个或多个业务节点140。图示以服务集群包括m个业务节点为例,m为正整数。其中,管理集群12用于管理服务集群以及管理元数据,具体可用于管理服务集群中的业务节点以及业务节点运行时产生的元数据等。这里的元数据是指当业务数据采用分布式方式存储时,用于描述各个业务数据存储位置的信息,例如数据所存储的业务节点的标识、数据存储的份数等内容。
服务集群14用于运行诸如分布式数据库、分布式文件系统等应用程序,以提供相应地业务服务,例如语音业务、视频业务等等。
为避免单点故障导致系统宕机的问题,管理集群12和服务集群14均采用集群部署。管理集群12通过分布式一致性协议(direct access replication,DARE)保证该管理集群中每个节点的数据一致性。同一时间,管理集群中可存在一个主管理节点以及一个或多个备管理节点。当管理集群中当前时刻的主管理节点出现故障或失效时,多个备管理节点可以选举出一个节点作为新的主管理节点,由该新的主管理节点接管原主管理节点的数据处理任务,管理集群可通过分布式一致性协议进行故障恢复,以保证业务的正常运行。
主管理节点(leader)为故障检测系统中负责管理除该主管理节点之外其他节点的一个节点。除主管理节点之外的其余节点(具体可为备管理节点以及业务节点)为该主管理节点的跟随者,可称为跟随节点(follower)。
主管理节点120用于统一管理服务集群14以及管理集群12,并将相应地集群信息或者元数据信息按照实际需求下发到相应地节点(节点对应的服务器或物理设备)上。当集群中某个节点发生故障时,主管理节点需及时发现,并将该故障同步到管理集群中。本发明实施例中涉及的节点也可是指节点对应所在的服务器、或者物理设备等,本发明实施例不做限定。
在分布式系统中,为满足低时延、高带宽等业务要求,服务集群以及管理集群中的各节点可采用RDMA协议来实现任意两节点之间的数据传输。为适应RDMA通信的应用场景,服务集群以及管理集群中每个节点设计的网卡需支持RDMA协议。具体的,这些节点的网卡具体可为RDMA网络接口卡(RDMA network interface card,RNIC),例如迈络思(Mellanox)的CX系列网卡等。在RDMA数据处理过程中,RNIC直接读取目标节点内存中数据或将数据写入目标节点的内存中,无需节点的处理器参与。本申请基于RNIC实现故障检测,能满足低时延以及低CPU开销的要求,即解决传统的技术中存在的节点CPU工作负载大、时延较高的问题。
下面,结合图2进一步介绍本发明实施例提供的一种故障检测方法。所述方法应用在图1所示的包括主管理节点以及跟随节点的系统的网络框架示意图,主管理节点配置有处理器和网卡,跟随节点配置有处理器和网卡。所述跟随节点具体可为上文的备管理节点和/或业务节点,其数量可以是一个或多个,这里不做限定。本发明实施例下文以主管理节点对一个跟随节点的故障检测过程示例进行说明,如图2所示的方法包括如下实施步骤:
步骤S101、主管理节点的网卡向跟随节点的网卡发送第一授权请求消息。该第一授权请求消息用于主管理节点的网卡请求与跟随节点的网卡之间通信的权限和时长。相应地,跟随节点的网卡接收第一授权请求消息。
步骤S102、跟随节点的网卡向主管理节点的网卡发送该第一授权请求消息的响应消息。该第一授权请求消息的响应消息包括主管理节点的网卡允许与跟随节点的网卡之间通信的时长。
具体地,主管理节点的网卡可周期性地(例如每间隔5ms)向跟随节点的网卡发送第一授权请求消息。其中,该第一授权请求消息用于请求与跟随节点的网卡之间进行通信的权限和时长。第一授权请求消息包括主管理节点的标识、跟随节点的标识。
相应地,跟随节点的网卡接收第一授权请求消息后,可为主管理节点的网卡分配相应地通信权限以及时长。进一步地,向主管理节点的网卡发送第一授权请求消息的响应消息。该响应消息用于通知主管理节点的网卡允许和跟随节点的网卡通信以及相应分配的通信授权时长。
步骤S103、主管理节点的网卡获取跟随节点的网卡发送的授权消息,所述授权消息包括所述跟随节点的授权有效时长,所述主管理节点用于管理所述跟随节点,所述授权有效时长为所述主管理节点的网卡和所述跟随节点的网卡之间通信授权时长的剩余时长,所述主管理节点的网卡和所述跟随节点的网卡支持RDMA协议通信。
本发明实施例中S103具体存在以下两种可能的实施方式:
第一种,主管理节点的网卡主动获取跟随节点的网卡的授权消息。
具体地,主管理节点的网卡通过查询预存的存储配置文件以获得跟随节点的网卡的授权消息。所述存储配置文件为预先存储至主管理节点的存储器,例如网卡中的存储器或主管理节点的存储器,这里不做限定。所述存储配置文件的数量不做限定,其可为一个或多个。例如,当所述存储配置文件为多个时,每个存储配置文件可包括有主管理节点下对应管理的一个跟随节点的授权信息,例如跟随节点的标识、主管理节点和该跟随节点之间允许通信的时长或剩余时长等信息。
当所述存储配置文件的数量为一个时,该存储配置文件中包括有主管理节点下管理的所有或部分跟随节点(或跟随节点的网卡)各自的授权消息。例如每个跟随节点各自的标识、每个跟随节点和主管理节点之间允许通信的时长或剩余时长等信息,这里不做限定。
这里的存储配置文件可为用户或系统根据实际需求,预先存储至主管理节点中或主管理节点的网卡。例如,主管理节点的处理器根据集群管理情况,可向自身的网卡下发跟随节点列表,该列表中包括有主管理节点管理的所有或部分跟随节点。相应地,主管理节点的网卡接收该跟随节点列表,以存储配置文件的形式存档到自身的存储器或内存中等等。
第二种,主管理节点的网卡接收跟随节点的网卡发送的授权消息。
具体地,跟随节点的网卡可周期性或实时地向主管理节点的网卡发送该授权消息,用于通知所述主管理节点的网卡允许与跟随节点的网卡之间通信的授权时长或剩余时长。或者,主管理节点的网卡可向跟随节点的网卡发送查询消息,该查询消息用于查询所述授权消息。相应地,跟随节点的网卡接收到该查询消息后,向主管理节点的网卡发送所述授权消息。
其中,所述授权消息可包括通信授权时长,即主管理节点的网卡为跟随节点的网卡分配的通信授权时长。相应地,当主管理节点的网卡获得通信授权时长后,可进一步计算出相应地授权有效时长,下面将举例说明。
可选地,所述授权消息可包括授权有效时长,即当前时刻主管理节点的网卡和跟随节点的网卡之间通信授权时长的剩余时长。
相应地,步骤S103具体实现可为:主管理节点的网卡获取当前时刻主管理节点的网卡允许与跟随节点的网卡之间通信的剩余时长。换句话说,S101中主管理节点的网络获得的授权消息具体可指主管理节点的网卡和跟随节点的网卡之间允许通信的剩余时长。
举例来说,假设主管理节点的网卡在10:00通过上述授权请求交互流程获得5min(分钟)的通信授权时长。即主管理节点的网卡和跟随节点的网卡之间允许通信5min。相应地,主管理节点的网卡在10:02时获取跟随节点的网卡的授权消息,即获取当前时刻(10:02)主管理节点的网卡和跟随节点的网卡之间允许通信的剩余时长为3min。也即是,跟随节点的网卡的授权有效时长为3min。
步骤S104、主管理节点的网卡判断所述授权有效时长是否大于第一阈值。
具体地,主管理节点的网卡可判断S103获取的授权有效时长是否大于第一阈值。如果大于第一阈值,则表示主管理节点的网卡和跟随节点的网卡之间允许通信的剩余时长没有过期(或不会即将过期),可结束流程。如果授权有效时长小于或等于第一阈值,则可确定主管理节点的网卡和跟随节点的网卡之间允许通信的剩余时长即将过期,即跟随节点的有效授权即将过期,可继续执行步骤S105或S107。其中,第一阈值具体可为用户或系统根据实际需求自定义设置的,例如在一些可靠性要求较高的通信场景下,系统可将第一阈值设置得较大,例如5毫秒等;反之,在一些可靠性要求不严格的场景中,系统可将第一阈值设置得较小,例如1毫秒等。
步骤S105、在主管理节点的网卡判断到授权有效时长小于或等于第一阈值后,主管理节点的网卡周期性向跟随节点的网卡发送第一授权查询消息。相应地,跟随节点的网卡接收第一授权查询消息。该第一授权查询消息用于查询或确定主管理节点的网卡和跟随节点的网卡之间的通信链路是否出现故障。
步骤S106、主管理节点的网卡在第一预置时长内未接收到跟随节点发送的该第一授权查询消息的响应消息时,确定主管理节点的网卡和跟随节点的网卡之间的通信链路故障。
具体地,在主管理节点的网卡确定到跟随节点的有效授权即将过期后,可周期性地向跟随节点的网卡发送第一授权查询消息,以确定主管理节点的网卡和跟随节点的网卡之间的通信链路是否出现故障。相应地,跟随节点的网卡接收第一授权查询消息后,可向主管理节点的网卡返回该第一授权查询消息的响应消息。主管理节点的网卡在接收到该第一授权查询消息的响应消息时,可确定主管理节点的网卡和跟随节点的网卡之间的通信链路没有故障。
相应地,如果主管理节点的网卡在第一预置时长内没有接收到该第一授权查询消息的响应消息,则可确定主管理节点的网卡和跟随节点的网卡之间的通信链路出现了故障。其中,第一预置时长为用户或系统根据实际需求进行自定义设置的,例如5分钟(min)等等。
可选地,主管理节点的网卡在确定到主管理节点的网卡和跟随节点的网卡之间的通信链路出现了故障后,可向主管理节点的处理器发送相应地通知消息,以通知主管理节点的网卡和跟随节点的网卡之间的通信链路故障。
步骤S107、主管理节点的网卡在判断到所述跟随节点的授权有效时长小于或等于第一阈值时,向主管理节点的处理器发送第一通知消息。该第一通知消息用于指示跟随节点的有效授权即将超期。相应地,主管理节点的处理器接收第一通知消息。
具体地,主管理节点的网卡在判断到该授权有效时长小于或等于第一阈值时,可采用中断的方式实时或周期性地向主管理节点的处理器发送第一通知消息。该第一通知消息用于通知跟随节点的有效授权即将过期,需再次向跟随节点的网卡申请通信的权限和时长;或者,用于通知主管理节点的网卡和跟随节点的网卡之间的通信链路可能存在异常。
可选地,第一通知消息还可包括授权有效时长,即主管理节点的网卡和跟随节点的网卡之间通信的剩余时长。换句话说,第一通知消息可用于通知跟随节点有效授权通信的剩余时长,便于主管理节点的处理器在有效授权过期之前,再次向跟随节点的网卡申请通信的权限和时长。
步骤S108、主管理节点的处理器根据第一通知消息,确定跟随节点的状态,所述状态包括正常和故障。
具体地,主管理节点的处理器可根据接收到第一通知消息的次数来确定跟随节点的状态。示例性地,当主管理节点的处理器接收到第一通知消息的次数大于或等于第二阈值时,可确定跟随节点的状态为故障,即第一通知消息指示的跟随节点故障。在该次数小于第二阈值时,可确定跟随节点的状态为正常,即第一通知消息指示的跟随节点正常。即是,主管理节点的处理器在接收到主管理节点的网卡发送的其与跟随节点的网卡之间通信链路异常的通知的次数超过第二阈值时,确定跟随节点故障;否则,确定跟随节点正常。
其中,第二阈值可为用户或者系统根据实际需求自定义设置的,其可为正整数。例如,考虑到系统误判,为减少误判概率,系统可将第二阈值设置得较大,例如5次等。如果不考虑系统误判,系统可将第二阈值设置得较小,例如1次,即是当主管理节点的处理器节点到通信链路异常的通知即可确定跟随节点故障等,这里不做限定。
可选地,当主管理节点的处理器在确定到跟随节点故障时,可更新预存的集群配置文件,该集群配置文件中包括跟随节点的相关信息,例如跟随节点的标识等等。可选地,主管理节点的处理器还可向主管理节点的网卡发送相应地通知消息。该通知消息用于通知主管理节点的网卡更新预存的存储配置文件,该存储配置文件中记录有跟随节点的相关信息,例如跟随节点的标识、主管理节点的网卡和跟随节点的网卡之间的通信授权时长或剩余时长等。
可选地,在主管理节点的处理器确定跟随节点故障后,可暂停向跟随节点的网卡发送授权请求消息,以申请主管理节点的网卡和跟随节点的网卡之间通信的权限和时长。
步骤S109、主管理节点的网卡向跟随节点的网卡发送第三授权请求消息,该第三授权请求消息用于在主管理节点的网卡根据第一授权请求消息获取的授权时长到期之前,向跟随节点的网卡再次获取与跟随节点的网卡之间通信的权限和时长。相应地,跟随节点的网卡接收第三授权请求消息。
步骤S110、跟随节点的网卡向主管理节点的网卡发送第三授权请求消息的响应消息。该第三授权请求消息的响应消息包括主管理节点的网卡和跟随节点的网卡之间允许通信的时长,即通信授权时长。
主管理节点的网卡每次在根据授权请求消息获取的通信授权时长到期之前,会向跟随节点再次发送授权请求消息,以获取相应通信的权限和时长,保证主管理节点的网卡和跟随节点的网卡之间有权限通信。本发明实施例中,以主管理节点的网卡发送完第一授权请求消息为例,主管理节点的网卡在依据第一授权请求消息获得的通信授权时长过期之前,需向跟随节点的网卡发送第三授权请求消息,以再次获取和跟随节点的网卡之间通信的权限和时长。具体可对应参见前述步骤S101-S102中的相关阐述,这里不再赘述。
通过实施本发明实施例,能够利用主管理节点的网卡实现通信链路故障检测,利用主管理节点的处理器实现节点故障检测。相比于传统技术而言,其能避免CPU参与带来的CPU工作负载大、时延高等问题,提高了故障检测的速率。
作为一种可能的实施方式,本发明实施例中各节点的网卡中配置有看门狗(watch-dog)模块,用以提高故障检测的精准度。具体地,主管理节点以及跟随节点的网卡中均配置有看门狗模块。相应地结合图2所述实施例,下面请参见图3,是本发明实施例示出的另一种故障检测方法的流程示意图。如图3所示的方法包括如下实施步骤:
步骤S201、主管理节点的处理器周期性地向主管理节点的网卡发送第一监控消息,该第一监控消息用于通知主管理节点的处理器没发生故障。相应地,主管理节点的网卡接收该第一监控消息。
本发明实施例中,主管理节点的网卡中可配置有看门狗模块,用于监控或确定主管理节点的处理器是否出现故障。具体实现时,主管理节点的处理器可按照固定的时间间隔周期性地向网卡的看门狗模块发送第一监控消息(也可称为状态监控消息)。主管理节点的看门狗模块接收该消息后,可确定主管理节点的处理器正常,没有出现业务挂死等故障。
步骤S202、在主管理节点的网卡接收到主管理节点的处理器发送的第一监控消息后,向跟随节点的网卡发送第一授权请求消息。该第一授权请求消息用于主管理节点的网卡请求与跟随节点的网卡之间通信的权限和时长。相应地,跟随节点的网卡接收第一授权请求消息。
步骤S203、跟随节点的处理器周期性地向跟随节点的网卡发送第二监控消息,该第二监控消息用于通知跟随节点的处理器没发生故障。相应地,跟随节点的网卡接收该第二监控消息。
同样地,跟随节点的网卡中也可配置有看门狗模块,用于监控或确定跟随节点的处理器是否出现故障。具体实现时,跟随节点的处理器可按照固定的时间间隔周期性地向网卡的看门狗模块发送第二监控消息(也可称为状态监控消息)。跟随节点的看门狗模块接收该消息后,可确定跟随节点的处理器正常,没有出现故障。
步骤S204、在跟随节点的网卡接收到跟随节点的处理器发送的第二监控消息后,向主管理节点的网卡发送第一授权请求消息的响应消息。该第一授权请求消息的响应消息包括主管理节点的网卡允许与跟随节点的网卡之间通信的时长。相应地,主管理节点的网卡接收第一授权请求消息的响应消息。
步骤S205、主管理节点获取最近一次接收主管理节点的处理器发送的第一监控消息的时间间隔。
步骤S206、当所述第一监控消息的时间间隔大于或等于第三阈值时,主管理节点的网卡可确定主管理节点的处理器发生故障。
具体地,主管理节点的网卡获取距离当前时刻最近一次接收的第一监控消息的时间间隔。如果该时间间隔大于或等于第三阈值,则确定该主管理节点的处理器故障。即表明主管理节点的处理器出现业务或进程挂死。可选地,主管理节点的网卡将不再向跟随节点的网卡发送相应地授权请求消息。
相应地,当该时间间隔小于第三阈值,则确定主管理节点的处理器没发生故障。可选地,步骤S202的具体实施方式为:主管理节点的网卡接收到主管理节点的处理器发送的第一监控消息后,还需判断最近一次接收的第一监控消息的时间间隔是否小于第三阈值。如果小于第三阈值,才允许向跟随节点的网卡发送第一授权请求消息。这样可提高通信授权的高可靠性。
举例来说,假设主管理节点的处理器每间隔5s向主管理节点的网卡中的看门狗模块发送一次第一监控消息。主管理节点的网卡在10时30分15秒时刻准备向跟随节点的网卡发送第一授权请求消息。如果主管理节点的网卡获取到最近一次接收到第一监控消息的时间为10时30分5秒,则主管理节点的网卡距离当前时刻(10时30分15秒)最近一次接收到第一监控消息的时间间隔为10s。由于10s大于5s,相应地主管理节点的网卡可确定自身的处理器出现了故障,例如出现业务挂死等状况。主管理节点的网卡不再向跟随节点的网卡发送第一授权请求消息。
步骤S207、跟随节点的网卡获取最近一次接收到跟随节点的处理器发送的第二监控消息的时间间隔。
步骤S208、当所述第二监控消息的时间间隔大于或等于第四阈值时,跟随节点的网卡可确定跟随节点的处理器发生故障。
同样地,跟随节点的网卡可获取距离当前时刻最近一次接收到的跟随节点的处理器发送的第二监控消息的时间间隔。如果该时间间隔大于或等于第四阈值,则确定跟随节点的处理器故障。可选地,跟随节点的网卡后续可不再向主管理节点的网卡发送相应地授权请求消息,以申请相互间通信的权限和时长。
相应地,当该时间间隔小于第四阈值,则确定跟随节点的处理器没发生故障。可选地,步骤S204的具体实施方式可为:跟随节点的网卡接收到跟随节点的处理器最近一次发送的第二监控消息后,还需判断最近一次接收的第二监控消息的时间间隔是否小于第四阈值。如果小于第四阈值,才向主管理节点的网卡发送第一授权消息的响应消息。
本发明实施例中,上述第三阈值和第四阈值均为用户或系统根据实际需求自定义设置的,它们可以相同,也可不同,这里不做限定。
举例来说,假设跟随节点的处理器每间隔3s向跟随节点的网卡中的看门狗模块发送一次状态监控消息。跟随节点的网卡在08时02分10秒时刻接收到主管理节点的网卡发送的第一授权请求消息。如果跟随节点的网卡获取到最近一次接收到状态监控消息的时间为08时02分5秒,则跟随节点的网卡距离当前时刻(08时02分10秒)最近一次接收到状态监控消息的时间间隔为5s。由于5s大于3s,相应地跟随节点的网卡可确定自身的处理器发生了故障。
关于本发明实施例中未示出或未描述的内容可参见前述图2所述实施例中的相关阐述,这里不再赘述。
通过实施本发明实施例,通过新增看门狗模块可实现节点处理器的故障检测,每个节点的网卡可以根据看门狗模块监控其处理器的状态,提升故障检测的精准度。
本发明实施例提出的故障检测方案,适用于主管理节点的网卡以及跟随节点的网卡。上文图2以及图3主要站在主管理节点的网卡侧阐述了故障检测涉及的相关实施例。同样地,也适用于跟随节点的网卡。换句话说,跟随节点的网卡可对应参见前述图2-图3所述实施例中的相关阐述,以实现故障检测,这里不做赘述。此外,跟随节点的网卡还涉及以下实施例。具体地,在跟随节点的处理器确定到主管理节点故障后,可暂停向主管理节点的网卡发送授权请求消息,以申请跟随节点的网卡和主管理节点的网卡之间通信的权限和时长。由于主管理节点出现故障的原因有多种,例如业进程卡住或挂死。以业务进程卡住为例,一段时间后主管理节点可恢复正常。主管理节点的网卡同样能与跟随节点的网卡再次通过交互授权请求消息以及响应消息,申请相互间的通信授权和时长。相应地,如果在一段时间后,跟随节点的网卡接收到主管理节点的网卡发送的授权响应消息,该授权响应消息包括主管理节点的网卡允许与跟随节点的网卡之间通信的时长。此时,跟随节点的网卡可恢复与主管理节点的网卡之间的通信。如果在一段时间后,跟随节点的网卡未接收到主管理节点的网卡发送的授权响应消息,则可向管理集群发送通知消息。这里的通知消息用于通知主管理节点故障,需重新在管理集群中选取一个新的主管理节点。相应地,管理集群接收该通知消息后,根据预设策略从多个备管理节点中选取出新的主管理节点。所述预设策略为用户或系统自定义设置的,例如负载最少的备管理节点作为新的主管理节点等,这里不做限定。新的主管理节点可向其他节点发送广播消息,该广播消息用于通知自身的管理地位,即通知自身为主管理节点。这里的其他节点包括跟随节点。相应地,跟随节点的网卡可接收新的主管理节点发送的广播消息,该广播消息用于通知其他管理节点为新的主管理节点。进一步地,跟随节点的网卡可向该新的主管理节点的网卡发送相应地授权请求消息,以申请获取与新的主管理节点之间通信的权限和时长,具体可参见前述实施例中的相关阐述,这里不做赘述。
通过实施本发明实施例,能够利用跟随节点的网卡实现跟随节点和主管理节点间通信链路的故障检测、主管理节点故障检测以及跟随节点的处理器的故障检测等。相比于传统技术而言,减少了CPU的工作负载,避免需CPU参与带来的CPU工作负载大、时延高等问题,提高了故障检测的速率。
上文中结合图1至图3,详细阐述了本发明实施例提供的故障检测相关的实施例。下面将结合图4-图6,描述本发明实施例提供的故障检测的装置、设备以及系统。
请参见图4,是本发明实施例提供的一种故障检测装置(具体可为网络接口卡,简称网卡)的结构示意图。如图4所示的网络设备400可包括获取模块401以及通信模块401;其中,
所述获取模块401,用于获取跟随节点的网卡发送的授权消息,所述授权消息包括所述跟随节点的授权有效时长,所述跟随节点受控于主管理节点,所述授权有效时长为所述主管理节点的网卡和所述跟随节点的网卡之间通信授权时长的剩余时长,所述主管理节点的网卡和所述跟随节点的网卡支持远程直接存储器存取协议RDMA。
所述通信模块402,用于当所述授权有效时长小于或等于第一阈值时,向所述主管理节点的处理器发送第一通知消息,所述第一通知消息用于指示所述跟随节点的有效授权即将超期,以便于所述主管理节点的处理器根据所述第一通知消息确定所述跟随节点的状态,所述状态包括正常和故障。
在实际应用中,本发明实施例中的获取模块401具体可包括管理模块4011、存储模块4012以及接收模块4013等。换句话说,获取模块401具体可由管理模块4011、存储模块4012以及接收模块4013等功能模块实现。
示例性地,获取模块401可通过管理模块4011将跟随节点的信息存储到存储模块4012中。其中,管理模块4011用于管理节点的信息,其包括但不限于跟随节点的信息等。这里跟随节点的信息包括但不限于跟随节点的标识、主管理节点的网卡与跟随节点的网卡之间通信的时长以及授权有效时长等。相应地,获取模块401可主动从存储模块4012中获取跟随节点的网卡发送的授权消息,进而获得跟随节点的授权有效时长等等。
可选地,获取模块401可包括接收模块4013。这里的接收模块4013可接收跟随节点的网卡发送的第一授权请求消息的响应消息,该响应消息包括主管理节点的网卡与跟随节点的网卡之间允许通信的时长。相应地,获取模块401可通过接收模块4013接收的响应消息进一步获取跟随节点的网卡发送的授权消息。可选地,获取模块401可将接收模块4013接收的相关信息(例如通信时长、接收响应消息的开始时间等等)存储到存储模块4012中,便于获取模块401直接从存储模块4012中获取并计算相应地授权有效时长等,本发明实施例并不做限定。
关于获取模块如何获取跟随节点的网卡发送的授权消息具体可参见前述方法实施例中的相关阐述。
本发明实施例中的通信模块402具体可包括检测模块4021以及消息上报模块4022。具体的,通信模块402可通过检测模块4021判断授权有效时长是否大于第一阈值,如果检测模块4021判断到小于或等于第一阈值,则通过调用消息上报模块4022向主管理节点的处理器发送第一通知消息。关于通信模块如何上报第一通知消息具体可参见前述实施例中的相关阐述,这里不再赘述。
在一种可能的实施方式中,所述通信模块402还用于向所述跟随节点的网卡发送第一授权请求消息,所述第一授权请求消息用于所述主管理节点的网卡请求与所述跟随节点的网卡之间通信的权限和时长;所述通信模块402还用于接收所述跟随节点的网卡发送第一授权请求的响应消息,所述第一授权请求消息的响应消息包括所述主管理节点的网卡允许与所述跟随节点的网卡之间通信的时长;所述获取模块401具体用于获取当前时刻所述主管理节点的网卡允许与所述跟随节点的网卡之间通信权限的剩余时长。
在实际应用中,本发明实施例中的通信模块402还可包括发送模块4023以及接收模块4024。具体的,通信模块402可通过发送模块4023向跟随节点的网卡发送第一授权请求消息。通过接收模块4024接收跟随节点的网卡发送的第一授权请求消息的响应消息。
其中,通信模块402中包括的接收模块4024和获取模块401中包括的接收模块4013可为同一个接收模块,或者具备接收功能的不同功能模块,本发明实施例不做限定。
在一种可能的实施方式中,所述装置还包括第一确定模块403;所述通信模块402还用于周期性向所述跟随节点发送第一授权查询消息;所述第一确定模块403用于在第一预置时长内未收到所述跟随节点发送的所述第一授权查询消息的响应消息时,确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路故障。
在实际应用中,第一确定模块403具体可包括检测模块4031。具体的,第一确定模块403通过检测模块4031来检测通信模块402在第一预置时长内是否接收到第一授权查询消息的响应消息,如果没接收到,第一确定模块403可确定主管理节点的网卡和跟随节点的网卡之间的通信链路故障。
在一种可能的实施方式中,所述通信模块402具体用于采用中断方式向所述主管理节点的处理器发送所述第一通知消息;所述通信模块402还用于向所述跟随节点发送第三授权请求消息,所述第三授权请求消息用于在根据所述第一授权请求消息获取的授权时长到期前,向所述跟随节点的网卡再次获取与所述跟随节点的网卡通信的权限和时长。
在一种可能的实施方式中,所述通信模块402还用于接收所述跟随节点的网卡发送的第二授权请求消息,所述第二授权请求消息用于所述跟随节点的网卡请求与所述主管理节点的网卡通信的权限和时长;所述通信模块402还用于向所述跟随节点的网卡发送第二授权请求的响应消息,所述第二授权请求的响应消息包括所述主管理节点的网卡允许与所述跟随节点的网卡通信的时长;所述通信模块402还用于接收所述跟随节点的网卡发送的第二授权查询消息,所述第二授权查询消息用于所述跟随节点的网卡确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路是否故障,当所述跟随节点的网卡在第二预置时间内未收到所述主管理节点的网卡发送的所述授权查询消息的响应消息时,所述跟随节点的网卡确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路故障。
在一种可能的实施方式中,所述装置还包括第二确定模块404,所述第二确定模块404用于查询最近一次接收所述主管理节点的处理器的状态监控消息的时间间隔;当所述最近一次接收所述主管理节点的处理器的状态监控消息的时间间隔大于或等于所述第三阈值时,确定所述主管理节点的处理器故障。
在实际应用中,第二确定模块404具体包括看门狗模块4041和检测模块4042。具体的,第二确定模块404通过看门狗模块4041可接收到主管理节点的处理器中周期性地发送的状态监控消息,进一步地查询最近一次接收的状态监控消息的时间间隔。进而通过调用检测模块4042判断该时间间隔是否大于或等于第三阈值,如果大于或等于第三阈值,则可确定主管理节点的处理器故障。
其中,第二确定模块404中的检测模块4042和第一确定模块403中的检测模块4031具体可为同一检测模块,或者具有检测功能的不同模块,本发明实施例不做限定。
应理解的是,本发明实施例的装置400可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图3中所示的故障检测方法时,该装置及其各个模块也可以为软件模块。
本发明实施例提供的网络设备400可对应用于执行上述本发明实施例提供的方法,并且故障检测400中的各个模块的功能和/或执行的其它操作分别为了执行上述图2-图3相应方法的流程步骤,为了简洁,这里不再赘述。
通过实施本发明实施例,能够利用网卡实现通信链路的故障检测、网卡所在节点的处理器故障检测以及网卡所在节点的故障检测。相比于传统技术而言,避免了CPU参与带来的CPU工作负载大、时延高等问题。同时还新增看门狗模块实现节点处理器的故障监控,提升了故障检测的精确度。
图5是本发明实施例提供的一种网卡的结构示意图。如图5所示的网卡500可包括一个或多个处理器501、通信接口502和存储器503,处理器501、通信接口502和存储器503可通过总线方式连接,也可通过无线传输等其他手段实现通信。本发明实施例以通过总线504连接为例其中,该存储器503用于存储指令,该处理器501用于执行该存储器503存储的指令。该存储器503存储程序代码,且处理器501可以调用存储器503中存储的程序代码执行以下操作:
获取跟随节点的网卡发送的授权消息,所述授权消息包括所述跟随节点的授权有效时长,所述主管理节点用于管理所述跟随节点,所述授权有效时长为所述主管理节点的网卡和所述跟随节点的网卡之间通信授权时长的剩余时长,所述主管理节点的网卡和所述跟随节点的网卡支持远程直接存储器存取协议RDMA;
当所述授权有效时长小于或等于第一阈值时,向所述主管理节点的处理器发送第一通知消息,所述第一通知消息用于指示所述跟随节点的有效授权即将超期,以便于所述主管理节点的处理器根据所述第一通知消息确定所述跟随节点的状态,所述状态包括正常和故障。
可选地,本发明实施例中处理器501可以调用存储器503中存储的程序代码用以执行如上图2-图3所述方法实施例中描述的所有或部分步骤,和/或,文本中描述的其他内容等,这里不再赘述。
应理解,处理器501可以由一个或者多个通用处理器构成,例如中央处理器(Central Processing Unit,CPU)。处理器501可用于运行相关的程序代码中以下功能模块的程序。该功能模块具体可包括但不限于上文所述的通信模块、获取模块、第一确定模块、第二确定模块、管理模块、发送模块、接收模块、检测模块、消息上报模块以及看门狗模块等功能模块中的任一项或多项的组合。也就是说,处理器501执行程序代码可以上述功能模块中的任一项或多项的功能。其中,关于这里提及的各个功能模块具体可参见前述实施例中的相关阐述,这里不再赘述。
通信接口502可以为有线接口(例如以太网接口)或无线接口(例如蜂窝网络接口或使用无线局域网接口),用于与其他模块/设备进行通信。例如,本申请实施例中通信接口602具体可用于接收主管理节点的处理器发送的状态监测消息等。
存储器503可以包括易失性存储器(Volatile Memory),例如随机存取存储器(Random Access Memory,RAM);存储器也可以包括非易失性存储器(Non-VolatileMemory),例如只读存储器(Read-Only Memory,ROM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);存储器503还可以包括上述种类的存储器的组合。存储器503可用于存储一组程序代码,以便于处理器501调用存储器503中存储的程序代码以实现本发明实施例中涉及的上述各功能模块的功能。
应理解,根据本发明实施例的网卡500可对应于本发明实施例中的图4所示的故障检测装置400,并可以对应于执行根据本发明实施例中图2至图3所示方法中的节点的网卡(具体可为主管理节点的网卡或跟随节点的网卡)为执行主体的操作步骤,并且网卡中的各个模块的上述步骤和其它操作和/或功能分别为了实现图2至图3中的各个方法的相应流程,为了简洁,在此不再赘述。
需要说明的,图5仅仅是本发明实施例的一种可能的实现方式,实际应用中,网卡还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述图1-图4所述实施例中的相关阐述,这里不再赘述。
通过实施本发明实施例,能够利用网卡实现通信链路的故障检测、节点故障检测以及节点处理器的故障检测等。相比于传统技术而言,减少了CPU的工作负载,避免需CPU参与带来的CPU工作负载大、时延高等问题,提高了故障检测的速率。
图6是本发明实施例提供的一种服务器的结构示意图。如图6所示的服务器600包括一个或多个处理器601、通信接口602、存储器603以及网卡604。其中,处理器601、通信接口602、存储器603以及网卡604可通过总线连接,也可通过无线传输等其他手段实现通信。本发明实施例以通过总线605连接为例。这里的网卡604具体可为图5所示的网卡500,这里不再赘述。此外,本发明实施例中涉及的处理器601、通信接口602以及存储器603也可对应参见前述图5中的相关阐述,这里不再赘述。
具体的,服务器600包括处理器601、通信接口602、存储器603以及网卡604。其中,该存储器603用于存储指令,该处理器601用于执行该存储器603存储的指令。该存储器603存储程序代码,且处理器601可以调用存储器603中存储的程序代码执行如上图2-图3所述方法中的以节点的处理器(具体可为主管理节点的处理器或跟随节点的处理器)为执行主体的操作步骤,这里不再赘述。
网卡604包括处理器501、通信接口502和存储器503。图示中它们之间通过总线连接。其中,该存储器503用于存储指令,该处理器501用于执行该存储器503存储的指令。该存储器503存储程序代码,且处理器501可以调用存储器503中存储的程序代码执行如上图2-图3所述方法中的以节点的网卡(具体可为主管理节点的网卡或者跟随节点的网卡)为执行主体的操作步骤。具体可参见前述图2-图3以及图5实施例中的相关阐述,这里不再赘述。
应理解的,处理器501还可用于运行存储器503中存储的相关程序代码以实现如下功能模块的功能。例如,该功能模块包括但不限于通信模块、获取模块、第一确定模块、第二确定模块、管理模块、发送模块、接收模块、检测模块、消息上报模块以及看门狗模块等功能模块中的任一项或多项的组合。换句话说,存储器503中存储有一组程序代码,处理器501可调用存储器503中存储的程序代码以实现图4实施例中的网卡(具体可为网卡包括的各个功能模块)的功能,这里不再赘述。
需要说明的,图6仅仅是本发明实施例的一种可能的实现方式,实际应用中,服务器还可以包括更多或更少的部件,这里不作限制。关于本发明实施例中未示出或未描述的内容,可参见前述图1-图5所述实施例中的相关阐述,这里不再赘述。
通过实施本发明实施例,能够利用网卡实现通信链路的故障检测、节点故障检测以及节点处理器的故障检测等。相比于传统技术而言,减少了CPU的工作负载,避免需CPU参与带来的CPU工作负载大、时延高等问题,提高了故障检测的速率。
本发明实施例还提供了一种故障检测系统,所述故障检测系统包括如上图1所示的管理集群12以及服务集群14。其中,管理集群中包括主管理节点122和一个或多个备管理节点124,服务集群14中包括一个或多个业务节点140。其中,除主管理节点122之外的其他节点均可为跟随节点。所述主管理节点包括处理器,存储器,通信接口和总线;处理器、通信接口、存储器通过总线相互通信;通信接口,用于接收和发送数据;存储器,用于存储指令;处理器,用于调用存储器中的指令,执行图2-图3所述方法实施例所描述的所有或部分实施步骤,这里不再赘述。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
以上所述,仅为本发明的具体实施方式。熟悉本技术领域的技术人员根据本发明提供的具体实施方式,可想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (16)
1.一种故障检测方法,其特征在于,所述方法包括:
主管理节点的网卡获取跟随节点的网卡发送的授权消息,所述授权消息包括所述跟随节点的授权有效时长,所述主管理节点用于管理所述跟随节点,所述授权有效时长为所述主管理节点的网卡和所述跟随节点的网卡之间通信授权时长的剩余时长,所述主管理节点的网卡和所述跟随节点的网卡支持远程直接存储器存取协议RDMA;
当所述授权有效时长小于或等于第一阈值时,所述主管理节点的网卡向所述主管理节点的处理器发送第一通知消息,所述第一通知消息用于指示所述跟随节点的有效授权即将超期,以便于所述主管理节点的处理器根据所述第一通知消息确定所述跟随节点的状态,所述状态包括正常和故障。
2.根据权利要求1所述方法,其特征在于,在所述主管理节点的网卡获取所述跟随节点的网卡发送的授权消息之前,所述方法包括:
所述主管理节点的网卡向所述跟随节点的网卡发送第一授权请求消息,所述第一授权请求消息用于所述主管理节点的网卡请求与所述跟随节点的网卡之间通信的权限和时长;
所述主管理节点的网卡接收所述跟随节点的网卡发送所述第一授权请求消息的响应消息,所述第一授权请求消息的响应消息包括所述主管理节点的网卡允许与所述跟随节点的网卡之间通信的时长;
则所述主管理节点的网卡获取跟随节点的网卡发送的授权消息,包括:
所述主管理节点的网卡获取当前时刻所述主管理节点的网卡允许与所述跟随节点的网卡之间通信权限的剩余时长。
3.根据权利要求2所述方法,其特征在于,所述方法还包括:
所述主管理节点的网卡周期性向所述跟随节点发送第一授权查询消息;
当所述主管理节点的网卡在第一预置时长内未收到所述跟随节点发送的所述第一授权查询消息的响应消息时,所述主管理节点的网卡确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路故障。
4.根据权利要求2至3中任一所述方法,其特征在于,所述主管理节点的网卡向所述主管理节点的处理器发送第一通知消息,包括:
所述主管理节点的网卡采用中断方式向所述主管理节点的处理器发送所述第一通知消息;
则在所述主管理节点的网卡向所述主管理节点的处理器发送第一通知消息之后,所述方法还包括:
所述主管理节点的网卡向所述跟随节点发送第三授权请求消息,所述第三授权请求消息用于在所述主管理节点的网卡根据所述第一授权请求消息获取的授权时长到期前,向所述跟随节点的网卡再次获取与所述跟随节点的网卡通信的权限和时长;
则所述主管理节点的处理器确定所述跟随节点的状态,包括:
所述主管理节点的处理器接收到所述主管理节点的网卡发送与所述跟随节点的网卡之间通信链路异常的通知的次数达到第二阈值时,确定所述跟随节点故障。
5.根据权利要求1所述方法,其特征在于,所述方法还包括:
所述主管理节点的网卡接收所述跟随节点的网卡发送的第二授权请求消息,所述第二授权请求消息用于所述跟随节点的网卡请求与所述主管理节点的网卡通信的权限和时长;
所述主管理节点的网卡向所述跟随节点的网卡发送第二授权请求的响应消息,所述第二授权请求的响应消息包括所述主管理节点的网卡允许与所述跟随节点的网卡通信的时长;
所述主管理节点的网卡接收所述跟随节点的网卡发送的第二授权查询消息,所述第二授权查询消息用于所述跟随节点的网卡确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路是否故障,当所述跟随节点的网卡在第二预置时间内未收到所述主管理节点的网卡发送的所述第二授权查询消息的响应消息时,所述跟随节点的网卡确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路故障。
6.根据权利要求5所述方法,其特征在于,在所述主管理节点的网卡向所述跟随节点的网卡发送第二授权请求的响应消息之前,所述方法还包括:
所述主管理节点的网卡查询最近一次接收所述主管理节点的处理器的状态监控消息的时间间隔,当所述最近一次接收所述主管理节点的处理器的状态监控消息的时间间隔大于或等于第三阈值时,所述主管理节点的网卡确定所述主管理节点的处理器故障。
7.一种故障检测装置,其特征在于,所述装置包括获取模块以及通信模块;其中,
所述获取模块,用于获取跟随节点的网卡发送的授权消息,所述授权消息包括所述跟随节点的授权有效时长,所述跟随节点受控于主管理节点,所述授权有效时长为所述主管理节点的网卡和所述跟随节点的网卡之间通信授权时长的剩余时长,所述主管理节点的网卡和所述跟随节点的网卡支持远程直接存储器存取协议RDMA;
所述通信模块,用于当所述授权有效时长小于或等于第一阈值时,向所述主管理节点的处理器发送第一通知消息,所述第一通知消息用于指示所述跟随节点的有效授权即将超期,以便于所述主管理节点的处理器根据所述第一通知消息确定所述跟随节点的状态,所述状态包括正常和故障。
8.根据权利要求7所述的装置,其特征在于,
所述通信模块,还用于向所述跟随节点的网卡发送第一授权请求消息,所述第一授权请求消息用于所述主管理节点的网卡请求与所述跟随节点的网卡之间通信的权限和时长;
所述通信模块,还用于接收所述跟随节点的网卡发送第一授权请求的响应消息,所述第一授权请求消息的响应消息包括所述主管理节点的网卡允许与所述跟随节点的网卡之间通信的时长;
所述获取模块,具体用于获取当前时刻所述主管理节点的网卡允许与所述跟随节点的网卡之间通信权限的剩余时长。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括第一确定模块;
所述通信模块,还用于周期性向所述跟随节点发送第一授权查询消息;
所述第一确定模块,用于在第一预置时长内未收到所述跟随节点发送的所述第一授权查询消息的响应消息时,确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路故障。
10.根据权利要求8-9中任一项所述的装置,其特征在于,
所述通信模块,具体用于采用中断方式向所述主管理节点的处理器发送所述第一通知消息;所述通信模块,还用于向所述跟随节点发送第三授权请求消息,所述第三授权请求消息用于在根据所述第一授权请求消息获取的授权时长到期前,向所述跟随节点的网卡再次获取与所述跟随节点的网卡通信的权限和时长。
11.根据权利要求7所述的装置,其特征在于,
所述通信模块,还用于接收所述跟随节点的网卡发送的第二授权请求消息,所述第二授权请求消息用于所述跟随节点的网卡请求与所述主管理节点的网卡通信的权限和时长;
所述通信模块,还用于向所述跟随节点的网卡发送第二授权请求的响应消息,所述第二授权请求的响应消息包括所述主管理节点的网卡允许与所述跟随节点的网卡通信的时长;
所述通信模块,还用于接收所述跟随节点的网卡发送的第二授权查询消息,所述第二授权查询消息用于所述跟随节点的网卡确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路是否故障,当所述跟随节点的网卡在第二预置时间内未收到所述主管理节点的网卡发送的所述授权查询消息的响应消息时,所述跟随节点的网卡确定所述主管理节点的网卡和所述跟随节点的网卡之间的通信链路故障。
12.根据权利要求11所述的装置,其特征在于,还包括第二确定模块,
所述第二确定模块,用于查询最近一次接收所述主管理节点的处理器的状态监控消息的时间间隔;当所述最近一次接收所述主管理节点的处理器的状态监控消息的时间间隔大于或等于第三阈值时,确定所述主管理节点的处理器故障。
13.一种网络接口卡,其特征在于,包括存储器及与所述存储器耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令;其中,所述处理器执行所述指令时执行如上权利要求1-6中任一项所述的方法。
14.一种通信设备,其特征在于,所述通信设备包括网络接口卡以及第一处理器,所述网络接口卡包括存储器及与所述存储器耦合的第二处理器;所述存储器用于存储指令,所述第二处理器用于执行所述指令;其中,所述第二处理器执行所述指令时执行如上权利要求1-6中任一项所述的方法。
15.一种故障检测系统,其特征在于,包括管理集群以及服务集群,所述管理集群包括主管理节点以及至少一个备管理节点,所述服务集群包括至少一个跟随节点,所述主管理节点用于管理跟随节点,所述跟随节点包括所述至少一个备管理节点以及所述至少一个跟随节点;所述主管理节点包括存储器及与所述存储器耦合的处理器;所述存储器用于存储指令,所述处理器用于执行所述指令;其中,所述处理器执行所述指令时执行如上权利要求1-6中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质存储有计算机程序,所述计算机程序被计算机设备执行时能够实现权利要求1至6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810919141.1A CN110830283B (zh) | 2018-08-10 | 2018-08-10 | 故障检测方法、装置、设备和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810919141.1A CN110830283B (zh) | 2018-08-10 | 2018-08-10 | 故障检测方法、装置、设备和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110830283A CN110830283A (zh) | 2020-02-21 |
CN110830283B true CN110830283B (zh) | 2021-10-15 |
Family
ID=69546957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810919141.1A Active CN110830283B (zh) | 2018-08-10 | 2018-08-10 | 故障检测方法、装置、设备和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110830283B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404780B (zh) * | 2020-03-13 | 2022-02-25 | 苏州浪潮智能科技有限公司 | 一种远程直接存储器访问网络集群的功能测试方法和装置 |
CN113805788B (zh) * | 2020-06-12 | 2024-04-09 | 华为技术有限公司 | 一种分布式存储系统及其异常处理方法和相关装置 |
CN112540880A (zh) * | 2020-12-22 | 2021-03-23 | 作业帮教育科技(北京)有限公司 | 一种快速屏蔽集群中故障显卡的方法、装置及电子设备 |
CN113765787B (zh) * | 2021-08-25 | 2022-10-21 | 新华三大数据技术有限公司 | 一种故障处理方法及装置 |
CN115827549A (zh) * | 2021-09-17 | 2023-03-21 | 华为技术有限公司 | 网络接口卡、消息发送方法和存储装置 |
CN113923095A (zh) * | 2021-09-30 | 2022-01-11 | 济南浪潮数据技术有限公司 | 一种集群消息转发方法、系统及存储介质 |
CN117707861A (zh) * | 2022-09-07 | 2024-03-15 | 华为技术有限公司 | 数据访问方法、装置、网络接口卡、可读介质和电子设备 |
CN115904738B (zh) * | 2023-01-05 | 2023-06-06 | 摩尔线程智能科技(北京)有限责任公司 | 数据处理装置集群的管理系统和控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595935A (zh) * | 2003-09-10 | 2005-03-16 | 微软公司 | 支持故障切换事件的网络状态对象的多个卸载 |
CN101369241A (zh) * | 2007-09-21 | 2009-02-18 | 中国科学院计算技术研究所 | 一种机群容错系统、装置及方法 |
CN105379229A (zh) * | 2013-06-13 | 2016-03-02 | 多伦多证券交易所 | 使用分段队列远程数据存取的设备互联失效备援系统和方法 |
CN106301992A (zh) * | 2015-06-12 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种攻击报文检测方法及设备 |
CN106487896A (zh) * | 2016-10-14 | 2017-03-08 | 北京百度网讯科技有限公司 | 用于处理远程直接内存访问请求的方法和装置 |
CN106817264A (zh) * | 2015-11-27 | 2017-06-09 | 华为软件技术有限公司 | 一种链路故障检测的方法、装置和系统 |
CN108351823A (zh) * | 2015-10-22 | 2018-07-31 | Netapp股份有限公司 | 实现自动切换 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6102383B2 (ja) * | 2013-03-18 | 2017-03-29 | 富士通株式会社 | 情報処理システム、情報処理装置、データ転送装置及び情報処理システムの制御方法 |
-
2018
- 2018-08-10 CN CN201810919141.1A patent/CN110830283B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595935A (zh) * | 2003-09-10 | 2005-03-16 | 微软公司 | 支持故障切换事件的网络状态对象的多个卸载 |
CN101369241A (zh) * | 2007-09-21 | 2009-02-18 | 中国科学院计算技术研究所 | 一种机群容错系统、装置及方法 |
CN105379229A (zh) * | 2013-06-13 | 2016-03-02 | 多伦多证券交易所 | 使用分段队列远程数据存取的设备互联失效备援系统和方法 |
CN106301992A (zh) * | 2015-06-12 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 一种攻击报文检测方法及设备 |
CN108351823A (zh) * | 2015-10-22 | 2018-07-31 | Netapp股份有限公司 | 实现自动切换 |
CN106817264A (zh) * | 2015-11-27 | 2017-06-09 | 华为软件技术有限公司 | 一种链路故障检测的方法、装置和系统 |
CN106487896A (zh) * | 2016-10-14 | 2017-03-08 | 北京百度网讯科技有限公司 | 用于处理远程直接内存访问请求的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110830283A (zh) | 2020-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110830283B (zh) | 故障检测方法、装置、设备和系统 | |
US9348706B2 (en) | Maintaining a cluster of virtual machines | |
CN109344014B (zh) | 一种主备切换方法、装置及通信设备 | |
US11218541B2 (en) | Data storage method, storage server, and storage medium and system | |
WO2014166265A1 (en) | Method, terminal, cache server and system for updating webpage data | |
CN107508694B (zh) | 一种集群内的节点管理方法及节点设备 | |
CN107181834B (zh) | 一种redis管理虚拟IP地址的方法、装置及redis系统 | |
CN102394914A (zh) | 集群脑裂处理方法和装置 | |
CN111176888B (zh) | 云存储的容灾方法、装置及系统 | |
CN112612545A (zh) | 一种服务器集群的配置热加载系统、方法、设备及介质 | |
CN109391691A (zh) | 一种单节点故障下nas服务的恢复方法及相关装置 | |
US9092396B2 (en) | Standby system device, a control method, and a program thereof | |
CN108512753B (zh) | 一种集群文件系统中消息传输的方法及装置 | |
CN109510730B (zh) | 分布式系统及其监控方法、装置、电子设备及存储介质 | |
JP6421516B2 (ja) | サーバ装置、冗長構成サーバシステム、情報引継プログラム及び情報引継方法 | |
CN113867915A (zh) | 任务调度方法、电子设备及存储介质 | |
CN111342986A (zh) | 分布式节点管理方法及装置、分布式系统、存储介质 | |
CN112468310B (zh) | 流媒体集群节点管理方法、装置及存储介质 | |
CN110224872B (zh) | 一种通信方法、装置及存储介质 | |
CN112231123A (zh) | 消息处理方法、装置、存储介质及电子装置 | |
CN106559282A (zh) | 一种锁定文件管理方法和装置 | |
CN111309515A (zh) | 一种容灾控制方法、装置及系统 | |
CN115766715A (zh) | 一种高可用的超融合集群监控方法和系统 | |
CN114301763A (zh) | 分布式集群故障的处理方法及系统、电子设备及存储介质 | |
CN115145782A (zh) | 一种服务器切换方法,MooseFS系统及存储介质 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211229 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |