分布式节点管理方法及装置、分布式系统、存储介质与流程

文档序号:21270942发布日期:2020-06-26 22:55阅读:346来源:国知局
分布式节点管理方法及装置、分布式系统、存储介质与流程

本申请涉及计算机技术领域,特别涉及一种分布式节点管理方法及装置、分布式系统、存储介质。



背景技术:

远程数据服务(redis,remotedictionaryserver)数据库是高性能的开源键-值(key-value)数据库,具有较高的读写性能,且该数据库通常部署在服务器上。

为了提高redis的可靠性,通常采用集群方式对服务器进行部署,例如,在包括多个服务器的redis系统中,在一个服务器中设置主数据节点(也称主节点),在其他服务器中设置从数据节点(也称从节点),从节点中的数据是对主节点中的数据进行复制得到的,这样可以实现数据备份。同时,在redis系统中设置多个哨兵节点(sentinel,通常由服务器实现),该多个哨兵节点用于监控主节点和从节点的运行状态,并在主节点出现故障时,将多个从节点中的一个从节点切换为主节点,即执行主从切换操作。其中,该运行状态包括工作状态和非工作状态。

相关技术中,每个哨兵节点维护一张配置信息表,该配置信息表记载有主节点、从节点以及除自身外的其他哨兵节点的配置信息,该配置信息用于记载对应哨兵节点与其他节点进行通讯的通讯地址等信息,例如:该配置信息为网际协议(英文:internetprotocol;简称:ip)地址。通常,哨兵节点会定期向配置信息表中记录的节点发送报文,以获取对应节点的运行状态,并将该运行状态写入配置信息表,并根据该配置信息表对系统中的节点进行管理。

但是,通过该方法对系统中的节点进行管理的准确性较低。



技术实现要素:

本申请提供了一种分布式节点管理方法及装置、分布式系统、存储介质,可以解决相关技术中通过该方法对分布式节点进行管理的准确性较低的问题。

所述技术方案如下:

第一方面,提供了一种分布式节点管理方法,所述方法包括:

对第一分布式节点的工作状态进行监控,所述第一分布式节点为分布式系统中多个分布式节点中的任一个;

获取对所述第一分布式节点的监控结果,所述监控结果用于反映所述第一分布式节点处于工作状态或非工作状态;

当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,所述配置信息表中记载有所述分布式系统中至少一个分布式节点的配置信息。

可选地,所述获取对所述第一分布式节点的监控结果,包括:

获取第一监控节点对所述第一分布式节点的监控结果,所述第一监控节点为所述分布式系统中的任一监控节点,所述第一分布式节点为所述分布式系统中除所述第一监控节点外的任一节点;

所述当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,包括:

当所述第一监控节点对应的监控结果反映所述第一分布式节点处于非工作状态时,在所述配置信息表中删除所述第一分布式节点的配置信息。

可选地,所述获取对所述第一分布式节点的监控结果,包括:

获取所述分布式系统中多个监控节点对所述第一分布式节点的监控结果;

所述当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,包括:

在所有对所述第一分布式节点的监控结果中,当反映所述第一分布式节点处于非工作状态的监控结果的总数大于总数阈值时,在所述配置信息表中删除所述第一分布式节点的配置信息。

可选地,在所述获取分布式系统中多个监控节点对所述第一分布式节点的监控结果之后,所述方法还包括:

对于所述多个监控节点中的每个监控节点,若所述监控节点记载的配置信息中的历史监控结果与所述监控节点对所述第一分布式节点的监控结果不同,将所述历史监控结果更新为所述监控结果;

在所述在所有对所述第一分布式节点的监控结果中,当反映所述第一分布式节点处于非工作状态的监控结果的总数大于总数阈值时,在所述配置信息表中删除所述第一分布式节点的配置信息之前,所述方法还包括:

根据所述多个监控节点记载的配置信息中的监控结果,确定所述总数。

可选地,所述获取对所述第一分布式节点的监控结果,包括:

获取第一监控节点对所述第一分布式节点的监控结果,所述第一监控节点为所述分布式系统中的任一监控节点,所述第一分布式节点为所述分布式系统中除所述第一监控节点外的任一节点;

当所述第一监控节点对所述第一分布式节点的监控结果反映所述第一分布式节点处于非工作状态时,获取其他监控节点对所述第一分布式节点的监控结果,所述其他监控节点为所述分布式系统中除所述第一监控节点和所述第一分布式节点外的任一监控节点;

所述当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,包括:

在所有对所述第一分布式节点的监控结果中,当反映所述第一分布式节点处于非工作状态的监控结果的总数大于总数阈值时,在所述配置信息表中删除所述第一分布式节点的配置信息。

可选地,所述分布式系统包括:监控节点、主数据节点和从数据节点,当所述第一分布式节点为所述主数据节点时,所述在配置信息表中删除所述第一分布式节点的配置信息,包括:

检测第一监控节点是否为用于执行主从切换操作的目标监控节点,所述第一监控节点为对所述第一分布式节点的工作状态进行监控的任一监控节点;

当所述第一监控节点为用于执行主从切换操作的目标监控节点时,在对所述主数据节点执行主从切换操作成功后,从所述第一监控节点记载的配置信息表中删除所述第一分布式节点的配置信息;

当所述第一监控节点不是用于执行主从切换操作的目标监控节点时,获取所述目标监控节点记载的第一配置信息表,所述第一配置信息表是从所述目标监控节点记载的配置信息表中,删除所述第一分布式节点的配置信息得到的配置信息表;

基于所述第一配置信息表更新所述第一监控节点记载的配置信息表。

可选地,在所述当所述第一监控节点为用于执行主从切换操作的目标监控节点时,在对所述主数据节点执行主从切换操作成功后,从所述第一监控节点记载的配置信息表中删除所述第一分布式节点的配置信息之后,所述方法还包括:

向每个其他监控节点发送第二配置信息表,所述第二配置信息表是从所述第一监控节点记载的配置信息表中,删除所述第一分布式节点的配置信息得到的配置信息表,所述其他监控节点为所述分布式系统中除所述第一监控节点和所述第一分布式节点外的任一监控节点。

可选地,所述在配置信息表中删除所述第一分布式节点的配置信息,还包括:

当所述第一监控节点为用于执行主从切换操作的目标监控节点时,在对所述主数据节点执行主从切换操作成功后,在所述第一监控节点记载的配置信息表中更新切换后的主数据节点的配置信息。

可选地,所述分布式系统包括:监控节点、主数据节点和从数据节点,当所述第一分布式节点为所述从数据节点或其他监控节点时,所述其他监控节点为所述分布式系统中除所述第一监控节点和所述第一分布式节点外的任一监控节点,所述在配置信息表中删除所述第一分布式节点的配置信息,包括:

从所述第一监控节点记载的配置信息表中删除所述第一分布式节点的配置信息。

第二方面,提供了一种分布式节点管理装置,所述装置包括:

监控模块,用于对第一分布式节点的工作状态进行监控,所述第一分布式节点为分布式系统中多个分布式节点中的任一个;

获取模块,用于获取对所述第一分布式节点的监控结果,所述监控结果用于反映所述第一分布式节点处于工作状态或非工作状态;

处理模块,用于当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,所述配置信息表中记载有所述分布式系统中至少一个分布式节点的配置信息。

可选地,所述获取模块,用于:

获取第一监控节点对所述第一分布式节点的监控结果,所述第一监控节点为所述分布式系统中的任一监控节点,所述第一分布式节点为所述分布式系统中除所述第一监控节点外的任一节点;

所述处理模块,用于:

当所述第一监控节点对应的监控结果反映所述第一分布式节点处于非工作状态时,在所述配置信息表中删除所述第一分布式节点的配置信息。

可选地,所述获取模块,用于:

获取所述分布式系统中多个监控节点对所述第一分布式节点的监控结果;

所述处理模块,用于:

在所有对所述第一分布式节点的监控结果中,当反映所述第一分布式节点处于非工作状态的监控结果的总数大于总数阈值时,在所述配置信息表中删除所述第一分布式节点的配置信息。

可选地,所述装置还包括:

更新模块,用于对于所述多个监控节点中的每个监控节点,若所述监控节点记载的配置信息中的历史监控结果与所述监控节点对所述第一分布式节点的监控结果不同,将所述历史监控结果更新为所述监控结果;

确定模块,用于根据所述多个监控节点记载的配置信息中的监控结果,确定所述总数。

可选地,所述获取模块,用于:

获取第一监控节点对所述第一分布式节点的监控结果,所述第一监控节点为所述分布式系统中的任一监控节点,所述第一分布式节点为所述分布式系统中除所述第一监控节点外的任一节点;

当所述第一监控节点对所述第一分布式节点的监控结果反映所述第一分布式节点处于非工作状态时,获取其他监控节点对所述第一分布式节点的监控结果,所述其他监控节点为所述分布式系统中除所述第一监控节点和所述第一分布式节点外的任一监控节点;

所述处理模块,用于:

在所有对所述第一分布式节点的监控结果中,当反映所述第一分布式节点处于非工作状态的监控结果的总数大于总数阈值时,在所述配置信息表中删除所述第一分布式节点的配置信息。

可选地,所述分布式系统包括:监控节点、主数据节点和从数据节点,当所述第一分布式节点为所述主数据节点时,所述处理模块,用于:

检测第一监控节点是否为用于执行主从切换操作的目标监控节点,所述第一监控节点为对所述第一分布式节点的工作状态进行监控的任一监控节点;

当所述第一监控节点为用于执行主从切换操作的目标监控节点时,在对所述主数据节点执行主从切换操作成功后,从所述第一监控节点记载的配置信息表中删除所述第一分布式节点的配置信息;

当所述第一监控节点不是用于执行主从切换操作的目标监控节点时,获取所述目标监控节点记载的第一配置信息表,所述第一配置信息表是从所述目标监控节点记载的配置信息表中,删除所述第一分布式节点的配置信息得到的配置信息表;

基于所述第一配置信息表更新所述第一监控节点记载的配置信息表。

可选地,所述装置还包括:

发送模块,用于向每个其他监控节点发送第二配置信息表,所述第二配置信息表是从所述第一监控节点记载的配置信息表中,删除所述第一分布式节点的配置信息得到的配置信息表,所述其他监控节点为所述分布式系统中除所述第一监控节点和所述第一分布式节点外的任一监控节点。

可选地,处理模块,用于:当所述第一监控节点为用于执行主从切换操作的目标监控节点时,在对所述主数据节点执行主从切换操作成功后,在所述第一监控节点记载的配置信息表中更新切换后的主数据节点的配置信息。

可选地,所述分布式系统包括:监控节点、主数据节点和从数据节点,当所述第一分布式节点为所述从数据节点或其他监控节点时,所述其他监控节点为所述分布式系统中除所述第一监控节点和所述第一分布式节点外的任一监控节点,所述处理模块,用于:

从所述第一监控节点记载的配置信息表中删除所述第一分布式节点的配置信息。

第三方面,提供了一种分布式系统,所述分布式系统包括:监控节点和数据节点,所述监控节点用于执行第一方面任一所述的分布式节点管理方法。

可选地,所述数据节点包括:主数据节点和从数据节点。

可选地,所述分布式系统包括:远程数据服务redis系统,所述监控节点包括:哨兵节点。

第四方面,提供了一种分布式节点管理装置,其特征在于,包括处理器和存储器,

其中,

所述存储器,用于存放计算机程序;

所述处理器,用于执行所述存储器上所存放的程序,以实现第一方面任一所述的分布式节点管理方法。

第五方面,提供了一种存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一所述的分布式节点管理方法。

本申请提供的技术方案带来的有益效果是:

本发明实施例提供的分布式节点管理方法及装置、分布式系统、存储介质,通过对第一分布式节点的工作状态进行监控,当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,实现了配置信息的更新,相较于相关技术,使得配置信息表中仅保存处于工作状态的节点的配置信息,有效地提高了对分布式节点进行管理的准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种分布式节点管理方法所涉及的分布式系统的结构示意图;

图2为本发明实施例提供的一种分布式节点管理方法的流程图;

图3为本发明实施例提供的另一种分布式节点管理方法的流程图;

图4为本发明实施例提供的一种监控节点对第一分布式节点进行监控的方法流程图;

图5为本发明实施例提供的一种当第一分布式节点为主数据节点时,在配置信息表中删除第一分布式节点的配置信息的方法流程图;

图6为本发明实施例提供的一种分布式节点管理装置的结构示意图;

图7为本发明实施例提供的另一种分布式节点管理装置的结构示意图;

图8为本发明实施例提供的一种服务器的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

redis-sentinel是实现redis高可用性的一种分布式架构,该分布式架构包括:主数据节点、从数据节点和哨兵节点。在该分布式架构中,哨兵节点可以检测主数据节点和从数据节点的工作状态,并将对应数据节点的工作状态记载在配置信息表中。并且,当检测到主数据节点的状态为客观不可用时,可将一个从数据节点升级为主数据节点,实现主从切换功能,进而保证redis功能的实现。且哨兵节点会向配置信息表中记载的多个哨兵节点中的一个哨兵节点投票,并将获得多数票数的哨兵节点确定为执行主从切换操作的节点。其中,客观不可用是针对主数据节点的一种状态,当检测到主数据节点处于主观不可用的状态的哨兵节点数量大于总数阈值时,确定该主数据节点的状态为客观不可用。主观不可用是指:对某一哨兵节点来说,当该哨兵节点检测到主数据节点处于非工作状态时,即认为该主数据节点为主观不可用。

但是,对于具备故障进程快速拉起的分布式服务调度平台,例如:kubenetes系统(一种开源的容器集群管理系统,简称:k8s),该redis-sentinel方案会失效。此处以kubenetes系统为例,对其表现进行说明:

在该kubenetes系统中,可以采用容器技术实现哨兵节点和redis节点(主数据节点或从数据节点)的设置,即每个容器(pod)中设置一个哨兵节点和一个redis节点,当某容器中的哨兵节点和redis节点中任一节点出现故障时,该容器中的redis节点和哨兵节点均无法工作,此时,kubenetes会重启一个容器,该容器中仍包括一个哨兵节点和一个redis节点(该重启的redis节点通常为从数据节点),且在每个哨兵节点对除自身外的哨兵节点进行监控时,其他哨兵节点会探测到该重启的哨兵节点的存在,并将该重启的哨兵节点的配置信息加入配置信息表中,且该重启的哨兵节点也会探测到其他哨兵节点的存在,并将其配置信息加入配置信息表中。例如,假设kubenetes系统中设置有3个容器,当一个容器中的任一节点出现故障时,kubenetes会重启一个容器,此时,每个哨兵节点的配置信息表中均记载有除自身外的其他3个哨兵节点的配置信息,也即是,认为系统中存在4个哨兵节点。在进行选举时,只有当某一哨兵节点获得的票数大于预设阈值,且该票数超过哨兵节点总数的一半时,该某一哨兵节点才会被选举为执行主从切换的哨兵节点。也即是,在该包括4个哨兵节点的的系统中,假设预设阈值为2,则当某个哨兵节点获取的票数大于2且该票数超过(3+1)/2时,该哨兵节点才会被选举为执行主从切换的哨兵节点。但是,由于无法工作的哨兵节点是无法进行投票的,在该情况下,只有当系统中所有哨兵节点的票数均投给某一哨兵节点时,该哨兵节点才会被选举为执行主从切换的哨兵节点。而当系统中更多容器出现故障且重启其他容器时,由于能够投票的哨兵节点的总数一直维持为3,且根据配置信息表确定的哨兵节点总数大于6时,无法使某一哨兵节点获得的票数超过哨兵节点总数的一半(即至少获得4票),导致无法选举出执行主从切换的哨兵节点。因此,相关技术中对系统中的节点进行管理的准确性较低。

为此,本发明实施例提供了一种分布式节点管理方法,该方法可应用于监控节点,通过监控节点对分布式系统中的分布式节点的工作状态进行监控,并在监控结果反映分布式节点处于非工作状态时,在配置信息表中删除该分布式节点的配置信息,以实现对该分布式节点的配置信息的管理。此时,由于在配置信息表中删除了处于非工作状态的分布式节点,当根据该更新后的配置信息表进行选举时,能够有效地选举出执行主从切换的哨兵节点,进而实现redis的高可用性,有效地提高了对分布式节点进行管理的准确性。

本发明实施例提供的分布式节点管理方法所涉及的分布式系统可以包括:多个监控节点和多个数据节点。每两个监控节点之间可以通过有线网络或无线网络建立连接,每两个数据节点之间可以通过有线网络或无线网络建立连接,每个数据节点和每个监控节点之间可以通过有线网络或无线网络建立连接。

在本发明实施例中,每个监控节点用于监控分布式系统中除自身外的分布式节点,并在监控结果反映分布式节点处于非工作状态时,在配置信息表中删除该分布式节点的配置信息,其中,该分布式节点可以为该分布式系统中的任一监控节点或任一数据节点。该配置信息表中记载有分布式系统中至少一个分布式节点的配置信息。该配置信息可以包括:分布式节点与其他分布式节点进行通讯的地址,例如:当分布式系统包括redis系统时,该配置信息可以包括:其他监控节点的ip地址,数据节点的ip地址,以及每个节点的工作状态等信息。

一般地,监控节点和数据节点可以部署在服务器中,当监控节点和数据节点部署在服务器中时,该分布式系统的示意图请参考图1,其中,每个监控节点部署在一个第一服务器10中,每个数据节点部署在一个第二服务器20中,多个第一服务器10之间可以通过有线网络或无线网络建立连接,多个第二服务器20之间可以通过有线网络或无线网络建立连接,每个第二服务器20和每个第一服务器10之间可以通过有线网络或无线网络建立连接。

其中,实现每个节点的服务器可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心,本发明实施例对其不做具体限定。

在一种实现方式中,该分布式系统可以包括:redis系统。该redis系统用于为网元提供数据。可选地,在该redis系统中,监控节点和数据节点可以以集群的方式进行部署。且监控节点可以包括:哨兵节点。多个数据节点可以包括:一个主数据节点和多个从数据节点。其中,从数据节点中的数据是对主数据节点中的数据进行复制得到的,以实现数据备份。

在该redis系统中,哨兵节点的用途还可以包括:(1)监控,即检测主数据节点和从数据节点的运行状态;(2)提醒,即当被监控的某个redis节点出现问题时,哨兵节点可以向管理员或者其他应用程序发送通知;(3)自动故障迁移,即当一个主数据节点处于非工作状态时,哨兵节点会在多个从数据节点中选择一个从数据节点,并将该被选择的从数据节点升级为新的主数据节点,以实现主从切换。

本发明实施例提供了一种分布式节点管理方法,该分布式节点管理方法可应用于图1所示的分布式系统中的第一监控节点,该第一监控节点为所述多个监控节点中的任一个。如图2所示,该分布式节点管理方法可以包括:

步骤201、对第一分布式节点的工作状态进行监控。

其中,第一分布式节点为分布式系统中多个分布式节点中的任一个。

步骤202、获取对第一分布式节点的监控结果。

其中,监控结果用于反映第一分布式节点处于工作状态或非工作状态。

步骤203、当监控结果反映第一分布式节点处于非工作状态时,在配置信息表中删除第一分布式节点的配置信息。

其中,配置信息表中记载有分布式系统中至少一个分布式节点的配置信息。

综上所述,本发明实施例提供的分布式节点管理方法,通过对第一分布式节点的工作状态进行监控,当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,实现了配置信息的更新,相较于相关技术,使得配置信息表中仅保存处于工作状态的节点的配置信息,有效地提高了对分布式节点进行管理的准确性。

本发明实施例提供了另一种分布式节点管理方法,该分布式节点管理方法可应用于图1所示的分布式系统中的第一监控节点,且该第一监控节点为多个监控节点中的任一个。该分布式系统可以为包括具有监控功能的监控节点和执行业务功能的数据节点的任意系统,例如:该分布式系统可以为redis系统。为了便于理解,本发明实施例以分布式系统为redis系统,监控节点包括哨兵节点,以及,多个数据节点包括:一个主数据节点和多个从数据节点为例,对本发明实施例提供的分布式节点管理方法进行说明。如图3所示,该分布式节点管理方法可以包括:

步骤301、对第一分布式节点的工作状态进行监控,并获取对第一分布式节点的监控结果。

其中,监控结果用于反映第一分布式节点处于工作状态或非工作状态。

可选地,该步骤301的实现方式有多种,本发明实施例以以下几种可实现方式为例,对其进行说明:

在步骤301的第一种可实现方式中,可以获取第一监控节点对第一分布式节点的监控结果,以便于根据该监控结果,确定是否在配置信息表中删除该第一分布式节点的配置信息。

其中,该第一监控节点为分布式系统中的任一监控节点。第一分布式节点为分布式系统中除该第一监控节点外的任一节点。例如,该第一分布式节点可以为主数据节点、任一从数据节点或多个监控节点中除该第一监控节点外的监控节点。

在步骤301的第二种可实现方式中,可以获取分布式系统中多个监控节点对第一分布式节点的监控结果,以便于根据该多个监控结果,确定是否在配置信息表中删除该第一分布式节点的配置信息。

在步骤301的第三种可实现方式中,获取第一监控节点对第一分布式节点的监控结果,当第一监控节点对第一分布式节点的监控结果反映第一分布式节点处于非工作状态时,获取其他监控节点对第一分布式节点的监控结果。其中,其他监控节点为分布式系统中除第一监控节点和第一分布式节点外的任一监控节点。

在该第三种可实现方式中,在第一监控节点确定第一分布式节点处于主观不可用状态时,获取其他监控节点对第一分布式节点的监控结果。而在第一监控节点确定第一分布式节点处于主观可用状态时,无需获取其他监控节点对分布式节点的监控结果。这样一来,一方面能够节省系统资源,另一方面能够根据第一监控节点的监控结果,及时地获取其他监控节点对分布式节点的控结果,以便于根据更新后的监控结果执行相应的操作,进而提高系统的工作效率。

并且,通过在第一监控节点确定第一分布式节点处于主观不可用状态时,再参考其他监控节点对应的监控结果,能够提高根据该第一监控节点和该其他监控节点的监控结果,确定是否在配置信息表中删除该第一分布式节点的配置信息的效率。

除此之外,第一监控节点也可以按照其他方式执行获取其他监控节点对第一分布式节点的监控结果的操作,例如:第一监控节点可以实时地获取、周期性地获取或者不定时地获取其他监控节点对分布式节点的监控结果,本发明实施例对此不作具体限定。

进一步地,如图4所示,监控节点对第一分布式节点进行监控的实现过程可以包括:

步骤3011、向第一分布式节点发送测试信号。

该测试信号用于检测第一分布式节点是否处于工作状态。当第一分布式节点处于工作状态时,第一分布式节点在接收到该测试信号后,可针对该测试信号向发送该测试信号的监控节点发送测试响应。相应的,若该监控节点在目标时长内接收到该第一分布式节点发送的测试响应(即确定该第一分布式节点处于可达状态),可以确定该第一分布式节点处于工作状态(即确定该第一分布式节点处于主观可用状态)。若第一监控节点在目标时长内未接收到该第一分布式节点发送的测试响应(即确定该第一分布式节点处于不可达状态),可以确定该第一分布式节点处于非工作状态(即确定该第一分布式节点处于主观不可用状态)。

可选地,监控节点可以周期性地向第一分布式节点发送测试信号,或者,该第一监控节点可以在接收到触发操作后向第一分布式节点发送测试信息。其中,该目标时长可以根据实际需要进行设置,本发明实施例对其不作具体限定。

步骤3012、当在目标时长内未接收到第一分布式节点发送的针对测试信号的测试响应时,确定监控结果为非工作状态。

当第一分布式节点自身出现问题时,在接收到测试信号后,该第一分布式节点无法针对该测试信号生成对应的测试响应,导致发送该测试信号的监控节点无法在目标时长内接收到对应的测试响应。当第一分布式节点自身未出现问题,但该第一分布式节点所处的外在环境(例如网络配置等因素)出现问题时,在接收到测试信号后,虽然该第一分布式节点能够生成对应的测试响应,但是,该第一分布式节点基于其所处的外在环境,无法将生成的测试响应发送至发送该测试信号的监控节点,或者,该第一分布式节点无法基于其所处的外在环境,在目标时长内将生成的测试响应发送至发送该测试信号的监控节点,导致该监控节点无法在目标时长内接收到该测试响应。

因此,不管是第一分布式节点自身出现问题,还是其所处的外在环境出现问题,均会导致第一分布式节点无法成功发出数据,相应的,可以确定该第一分布式节点无法向网元提供数据服务,此时,可以确定第一分布式节点处于非工作状态,也即是,发送测试信号的监控节点确定第一分布式节点处于主观不可用状态。

步骤302、对于对第一分布式节点进行监控的每个监控节点,若该监控节点记载的配置信息中的历史监控结果与监控节点对第一分布式节点的监控结果不同,将历史监控结果更新为监控结果。

监控节点在获取对第一分布式节点的监控结果后,可以将该监控结果记载在该监控节点维护的配置信息表中。并且,在每次记载监控结果之前,可以将本次获取的监控结果与配置信息表记载的历史监控结果进行比较,若本次获取的监控结果与历史监控结果不同,可以使用本次获取的监控结果更新该历史监控结果,使配置信息表中记载的监控结果与获取的监控结果一致。

步骤303、当监控结果反映第一分布式节点处于非工作状态时,在配置信息表中删除第一分布式节点的配置信息。

当步骤301中获取监控结果的实现方式不同时,该步骤303的实现方式相应不同,下面对其进行分别说明:

对应于步骤301的第一种可实现方式,该步骤303的第一种可实现方式可以包括:当第一监控节点对应的监控结果反映第一分布式节点处于非工作状态时,在配置信息表中删除第一分布式节点的配置信息。

也即是,在该第一种可实现方式中,当第一监控节点确定第一分布式节点处于主观不可用状态时,即可在配置信息表中删除该第一分布式节点的配置信息。

对应于步骤301第二种可实现方式,该步骤303的第二种可实现方式可以包括:获取分布式系统中所有监控节点对第一分布式节点的监控结果,统计该多个监控结果中用于反映第一分布式节点处于非工作状态的监控结果的总数,并在该总数大于总数阈值时,在配置信息表中删除第一分布式节点的配置信息。

在该第二种可实现方式中,通过参考该分布式系统中多个监控节点对第一分布式节点的监控结果,确定该第一分布式节点是否处于非工作状态。这样一来,可以减小偶然因素对监控结果的影响,提高对该第一分布式节点的工作状态的进行判断的准确性。且该总数阈值可以是预先设置的数值,也可以是在系统运行过程中实时确定的数值,例如:该总数阈值可以等于在选举执行主从切换的哨兵节点时的预设阈值,本发明实施例对其不做具体限定。

并且,若每次第一监控节点在获取对第一分布式节点的监控结果后,均将该监控结果记载在该第一监控节点记载的配置信息表中,当在统计多个监控结果中用于反映第一分布式节点处于非工作状态的监控结果的总数时,可以根据每个监控节点记载的配置信息中的监控结果,确定该总数。

对应于步骤301第三种可实现方式,该步骤303的第三种可实现方式可以包括:在所有对第一分布式节点的监控结果中,当反映第一分布式节点处于非工作状态的监控结果的总数大于总数阈值时,在配置信息表中删除第一分布式节点的配置信息。

在步骤301的第三种可实现方式中,该其他监控节点对第一分布式节点的监控结果是在确定第一分布式节点处于主观不可用状态时获取的,因此,当根据多个监控节点对该第一分布式节点的监控结果确定第一分布式节点处于客观不可用状态时,删除配置信息表中改第一分布式节点的配置信息,一方面能够提高系统的工作效率和节省系统资源,另一方面能够减小偶然因素对监控结果的影响,提高对该第一分布式节点的工作状态的进行判断的准确性。

并且,该总数阈值可以是预先设置的数值,也可以是在系统运行过程中实时确定的数值,例如:该总数阈值可以等于在选举执行主从切换的哨兵节点时的预设阈值,本发明实施例对其不做具体限定。

进一步地,当第一分布式节点为主数据节点、从数据节点或其他监控节点时,在配置信息表中删除第一分布式节点的配置信息的实现方式也不同。并且,分布式系统中的多个监控节点可以共同维护一个配置信息表。相应的,在该步骤303中,可以根据判断结果在该配置信息表中删除对应第一分布式节点的配置信息的。或者,分布式系统中的每个监控节点可以分别维护一个配置信息表,当根据第一监控节点获取的监控结果满足对应的条件时,可以在该第一监控节点维护的配置信息表中删除对应第一分布式节点的配置信息。下面以每个监控节点维护一个配置信息表为例,分别对第一分布式节点为主数据节点、从数据节点或其他监控节点时,对在配置信息表中删除第一分布式节点的配置信息的实现过程进行说明:

如图5所示,当第一分布式节点为主数据节点时,在配置信息表中删除第一分布式节点的配置信息的实现过程可以包括:

步骤3031、检测第一监控节点是否为用于执行主从切换操作的目标监控节点。

当第一监控节点为用于执行主从切换操作的目标监控节点时,该第一监控节点拥有对主数据节点进行操作的权限,并可直接删除主数据节点的配置信息,然后根据删除主数据节点的配置信息后的第二配置信息对其他监控节点中的配置信息进行更新,即执行步骤3032。当第一监控节点不是用于执行主从切换操作的目标监控节点时,该第一监控节点没有对主数据节点进行操作的权限,该第一监控节点可以接收用于执行主从切换操作的目标监控节点发送的第一配置信息,并根据该第一配置信息删除第一监控节点中主数据节点的配置信息,即执行步骤3034。因此,在删除第一监控节点中主数据节点的配置信息之前,需要检测第一监控节点是否为用于执行主从切换操作的目标监控节点,并根据检测结果确定采用何种方式实现对主数据节点信息的删除操作。

可选地,分布式系统的每个监控节点均具有标识,且分布式系统的日志文件中通常记载有用于指执行主从切换操作的目标监控节点的标识,在执行该步骤3031时,可以将该第一监控节点的标识与该日志文件中目标监控节点的标识进行对比,当该第一监控节点的标识与该目标监控节点的标识相同时,确定该第一监控节点为用于执行主从切换操作的目标监控节点,当该第一监控节点的标识与该目标监控节点的标识不同时,确定该第一监控节点不是用于执行主从切换操作的目标监控节点。

步骤3032、当第一监控节点为用于执行主从切换操作的目标监控节点时,在对主数据节点执行主从切换操作成功后,从第一监控节点记载的配置信息表中删除主数据节点的配置信息。

当第一监控节点为目标监控节点时,该第一监控节点可以先对主数据节点执行主从切换操作,并在主从操作切换成功后,将切换前的主数据节点的配置信息从第一监控节点记载的配置信息表中删除,使第一监控节点记载的配置信息表中记载的配置信息均为处于客观可用状态的节点的配置信息。

并且,为了进一步提高配置信息的准确性,在第一监控节点对主数据节点执行主从切换操作成功后,还可以在第一监控节点记载的配置信息表中更新切换后的主数据节点的配置信息。例如:可以在第一监控节点记载的配置信息表中,对切换后的主数据节点的配置信息进行标记,以标识该节点为切换后的主数据节点。

步骤3033、向每个其他监控节点发送第二配置信息表。

第二配置信息表是从第一监控节点记载的配置信息表中,删除第一分布式节点的配置信息得到的配置信息表。当第一监控节点为用于执行主从切换操作的目标监控节点时,在从第一监控节点记载的配置信息表中删除主数据节点的配置信息后,第一监控节点可以向每个其他监控节点发送第二配置信息表,以将所有监控节点记载的配置信息表中处于客观不可用状态的主数据节点的配置信息进行删除,并更新切换后的主数据节点的配置信息,进而实现各个监控节点中配置信息的同步更新。

并且,为了进一步提高配置信息的准确性,该第二配置信息中还可以包括:在对主数据节点执行主从切换操作成功后,在第一监控节点记载的配置信息中,对切换后的主数据节点的配置信息进行更新,并在更新该切换后的主数据节点的配置信息后,将第二配置信息发送至其他监控节点,以实现其他监控节点中的配置信息更新。

步骤3034、当第一监控节点不是用于执行主从切换操作的目标监控节点时,获取目标监控节点记载的第一配置信息表,基于第一配置信息表更新第一监控节点记载的配置信息表。

在目标监控节点完成主从切换操作后,其可向除自身外的其他监控节点发送第一配置信息表,第一监控节点在接收到该第一配置信息表后,可根据该第一配置信息表更新第一监控节点中第一分布式节点的配置信息,以实现配置信息的同步。

其中,该第一配置信息表是从目标监控节点记载的配置信息表中,删除第一分布式节点的配置信息得到的配置信息表。并且,为了进一步提高配置信息的准确性,该第一配置信息表还可以包括:在目标监控节点记载的配置信息表中,对切换后的主数据节点的配置信息进行更新后的配置信息。

需要说明的是,当第一分布式节点为主数据节点时,若确定第一分布式节点处于客观不可用状态,在执行步骤3031之前,还需要先根据配置信息表中的配置信息进行选举,选举出执行主从操作的目标监控节点,以执行主从切换操作。

当第一分布式节点为从数据节点或其他监控节点时,第一监控节点具有在该监控节点记载的配置信息表中,删除该第一分布式节点的配置信息的权限,其实现过程可以包括:从第一监控节点记载的配置信息表中直接删除第一分布式节点的配置信息。

通过删除处于客观不可用的节点的配置信息,能够使配置信息表中记载的配置信息均为处于客观可用的节点的配置信息,进而避免因配置信息表中记载有处于客观不可用状态的节点的信息,使得进行选举时能够根据客观可用的节点进行投票,并根据客观可用的节点总数判断投票票数是否为多数票,以成功地选举执行主从切换的节点。将该第一分布式节点管理方法应用于具备故障进程快速拉起的分布式服务调度平台,例如:kubenetes系统,可保证redis-sentinel方案的实现,进而保证redis的高可用性。

综上所述,本发明实施例提供的分布式节点管理方法,通过对第一分布式节点的工作状态进行监控,当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,实现了配置信息的更新,相较于相关技术,使得配置信息表中仅保存处于工作状态的节点的配置信息,有效地提高了对分布式节点进行管理的准确性。

需要说明的是,本发明实施例提供的分布式节点管理方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。

图6为本发明实施例提供的一种分布式节点管理装置的结构示意图,如图6所示,该分布式节点管理装置600可以包括:

监控模块601,用于对第一分布式节点的工作状态进行监控,第一分布式节点为分布式系统中多个分布式节点中的任一个。

获取模块602,用于获取对第一分布式节点的监控结果,监控结果用于反映第一分布式节点处于工作状态或非工作状态。

处理模块603,用于当监控结果反映第一分布式节点处于非工作状态时,在配置信息表中删除第一分布式节点的配置信息,配置信息表中记载有分布式系统中至少一个分布式节点的配置信息。

综上所述,本发明实施例提供的分布式节点管理装置,通过监控模块对第一分布式节点的工作状态进行监控,处理模块当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,实现了配置信息的更新,相较于相关技术,使得配置信息表中仅保存处于工作状态的节点的配置信息,有效地提高了对分布式节点进行管理的准确性。

可选地,获取模块602,用于:获取第一监控节点对第一分布式节点的监控结果,第一监控节点为分布式系统中的任一监控节点,第一分布式节点为分布式系统中除第一监控节点外的任一节点。

处理模块603,用于:当第一监控节点对应的监控结果反映第一分布式节点处于非工作状态时,在配置信息表中删除第一分布式节点的配置信息。

可选地,获取模块602,用于:获取分布式系统中多个监控节点对第一分布式节点的监控结果。

处理模块603,用于:在所有对第一分布式节点的监控结果中,当反映第一分布式节点处于非工作状态的监控结果的总数大于总数阈值时,在配置信息表中删除第一分布式节点的配置信息。

可选地,如图7所示,装置600还可以包括:

更新模块604,用于对于多个监控节点中的每个监控节点,若监控节点记载的配置信息中的历史监控结果与监控节点对第一分布式节点的监控结果不同,将历史监控结果更新为监控结果。

确定模块605,用于根据多个监控节点记载的配置信息中的监控结果,确定总数。

可选地,获取模块602,用于:

获取第一监控节点对第一分布式节点的监控结果,第一监控节点为分布式系统中的任一监控节点,第一分布式节点为分布式系统中除第一监控节点外的任一节点。

当第一监控节点对第一分布式节点的监控结果反映第一分布式节点处于非工作状态时,获取其他监控节点对第一分布式节点的监控结果,其他监控节点为分布式系统中除第一监控节点和第一分布式节点外的任一监控节点。

处理模块603,用于:在所有对第一分布式节点的监控结果中,当反映第一分布式节点处于非工作状态的监控结果的总数大于总数阈值时,在配置信息表中删除第一分布式节点的配置信息。

可选地,分布式系统可以包括:监控节点、主数据节点和从数据节点,当第一分布式节点为主数据节点时,处理模块603,用于:

检测第一监控节点是否为用于执行主从切换操作的目标监控节点,第一监控节点为对第一分布式节点的工作状态进行监控的任一监控节点。

当第一监控节点为用于执行主从切换操作的目标监控节点时,在对主数据节点执行主从切换操作成功后,从第一监控节点记载的配置信息表中删除第一分布式节点的配置信息。

当第一监控节点不是用于执行主从切换操作的目标监控节点时,获取目标监控节点记载的第一配置信息表,第一配置信息表是从目标监控节点记载的配置信息表中,删除第一分布式节点的配置信息得到的配置信息表。

基于第一配置信息表更新第一监控节点记载的配置信息表。

可选地,如图7所示,装置600还可以包括:

发送模块606,用于向每个其他监控节点发送第二配置信息表,第二配置信息表是从第一监控节点记载的配置信息表中,删除第一分布式节点的配置信息得到的配置信息表,其他监控节点为分布式系统中除第一监控节点和第一分布式节点外的任一监控节点。

可选地,处理模块603,用于:当第一监控节点为用于执行主从切换操作的目标监控节点时,在对主数据节点执行主从切换操作成功后,在第一监控节点记载的配置信息表中更新切换后的主数据节点的配置信息。

可选地,分布式系统可以包括:监控节点、主数据节点和从数据节点,当第一分布式节点为从数据节点或其他监控节点时,其他监控节点为分布式系统中除第一监控节点和第一分布式节点外的任一监控节点,处理模块603,用于:从第一监控节点记载的配置信息表中删除第一分布式节点的配置信息。

综上所述,本发明实施例提供的分布式节点管理装置,通过监控模块对第一分布式节点的工作状态进行监控,处理模块当所述监控结果反映所述第一分布式节点处于非工作状态时,在配置信息表中删除所述第一分布式节点的配置信息,实现了配置信息的更新,相较于相关技术,使得配置信息表中仅保存处于工作状态的节点的配置信息,有效地提高了对分布式节点进行管理的准确性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、模块和子模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本发明实施例提供了一种分布式系统,该分布式系统包括:监控节点和数据节点,监控节点用于执行本发明实施例提供的分布式节点管理方法。其中,数据节点可以包括:主数据节点和从数据节点。

可选地,分布式系统包括:远程数据服务redis系统,监控节点包括:哨兵节点。

本发明实施例提供了一种分布式节点管理装置,该分布式节点管理装置可部署于服务器中,该分布式节点管理装置包括处理器和存储器。

其中,

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序,以实现本发明实施例提供的分布式节点管理方法。

本发明实施例提供了一种服务器,本发明实施例提供的分布式节点管理装置可部署在该服务器中。

示例的,图8是根据一示例性实施例示出的一种服务器的框图。参照图8,服务器800包括处理组件822,其进一步包括至少一个处理器,以及由存储器832所代表的存储器资源,用于存储可由处理组件822执行的指令,例如应用程序。存储器832中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件822被配置为执行指令,以执行上述视频监控方法。

服务器800还可以包括一个电源组件826被配置为执行服务器800的电源管理,一个有线或无线网络接口850被配置为将服务器800连接到网络,和一个输入输出(i/o)接口858。服务器800可以操作基于存储在存储器832的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

本发明实施例提供了一种存储介质,该存储介质可以为非易失性计算机可读存储介质,该存储介质内存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例提供的分布式节点管理方法。

本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的分布式节点管理方法。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1