CN117997722A - 多中心集群的故障处理方法、装置、设备及存储介质 - Google Patents

多中心集群的故障处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117997722A
CN117997722A CN202311868959.2A CN202311868959A CN117997722A CN 117997722 A CN117997722 A CN 117997722A CN 202311868959 A CN202311868959 A CN 202311868959A CN 117997722 A CN117997722 A CN 117997722A
Authority
CN
China
Prior art keywords
center
information
fault
node
connection
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.)
Pending
Application number
CN202311868959.2A
Other languages
English (en)
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.)
Beijing Kingbase Information Technologies Co Ltd
Original Assignee
Beijing Kingbase Information Technologies 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 Beijing Kingbase Information Technologies Co Ltd filed Critical Beijing Kingbase Information Technologies Co Ltd
Priority to CN202311868959.2A priority Critical patent/CN117997722A/zh
Publication of CN117997722A publication Critical patent/CN117997722A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种多中心集群的故障处理方法、装置、设备及存储介质。该方法包括:以第一预设时间间隔,向主中心发送第一连接请求;若接收到主中心的节点状态信息,则保存主中心的节点状态信息中的主节点信息,并继续以第一预设时间间隔,向主中心发送第一连接请求;若未接收到主中心的节点状态信息,则根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息;其中,预设的故障检测逻辑,用于表征基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,以及观察者节点的状态,确定多中心集群的故障信息;根据故障信息对多中心集群进行故障处理。本申请的方法,提高了多中心集群的故障处理的准确性。

Description

多中心集群的故障处理方法、装置、设备及存储介质
技术领域
本申请涉及数据库技术领域,尤其涉及一种多中心集群的故障处理方法、装置、设备及存储介质。
背景技术
为了解决单个数据中心整体故障,造成数据库集群不能提供服务的问题,一般通过在同城、或者异地的不同机房,分别部署一套主数据中心以及一套备主数据中心,构成多中心集群。
现有技术中,在多中心集群的部署架构中,一般通过观察者节点监控主中心和备中心的实时状态,来进行多中心集群的故障处理,例如:在主中心整体故障时,将备中心提升为主中心。
然而,在上述技术方案中,观察者节点与各中心高度耦合,且拓展性较低,若观察者节点发生故障,则会导致无法有效的监控各中心的状态,进一步对中心集群的做出错误的故障分析以及处理。
发明内容
本申请提供一种多中心集群的故障处理方法、装置、设备及存储介质,用以解决多中心集群的故障处理不准确的问题。
第一方面,本申请提供一种多中心集群的故障处理方法,包括:
以第一预设时间间隔,向所述主中心发送第一连接请求;其中,所述第一连接请求指示通过网络连接获取所述主中心的节点状态信息;
若接收到主中心的节点状态信息,则保存所述主中心的节点状态信息中的主节点信息,并继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;其中,所述主中心的节点状态信息为所述主中心基于所述第一连接请求发送的信息;
若未接收到所述主中心的节点状态信息,则根据故障检测标识以及预设的故障检测逻辑,确定所述多中心集群的故障信息;其中,所述故障检测标识用于指示是否启动故障检测;其中,所述预设的故障检测逻辑,用于表征基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,以及观察者节点的状态,确定所述多中心集群的故障信息;
根据所述故障信息对所述多中心集群进行故障处理。
第二方面,本申请提供一种多中心集群的故障处理装置,包括:
连接模块,用于以第一预设时间间隔,向主中心发送第一连接请求;其中,所述第一连接请求指示通过网络连接获取所述主中心的节点状态信息;
第一确定模块,用于若接收到主中心的节点状态信息,则保存所述主中心的节点状态信息中的主节点信息,并继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;其中,所述主中心的节点状态信息为所述主中心基于所述第一连接请求发送的信息;
第二确定模块,用于若未接收到所述主中心的节点状态信息,则根据故障检测标识以及预设的故障检测逻辑,确定所述多中心集群的故障信息;其中,所述故障检测标识用于指示是否启动故障检测;其中,所述预设的故障检测逻辑,用于表征基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,以及观察者节点的状态,确定所述多中心集群的故障信息;
处理模块,用于根据所述故障信息对所述多中心集群进行故障处理。
第三方面,本申请提供一种电子设备,包括:
处理器,存储器,通信接口;
所述存储器用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行如上第一方面所述的多中心集群的故障处理方法。
第四方面,本申请提供一种可读存储介质,包括:其上存储有计算机程序,所述计算机程序被处理器执行时实现执行如上第一方面所述的多中心集群的故障处理方法。
本申请提供的多中心集群的故障处理方法、装置、设备及存储介质,通过以第一预设时间间隔,向主中心发送第一连接请求,若接收到主中心的节点状态信息,则保存主中心的节点状态信息中的主节点信息,并继续以第一预设时间间隔,向主中心发送第一连接请求,若未接收到主中心的节点状态信息,根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息,其中,在未监控到主中心的节点状态信息,即初步判断多中心集群发生故障的情况下,通过预设的故障检测逻辑中的网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测以及所述观察者节点的状态,对中心集群的故障信息进行多重确认,保证故障信息的准确度,进一步保证根据故障信息进行故障处理的准确度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的多中心集群的故障处理方法的流程示意图;
图2为本申请实施例提供的根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息的流程示意图;
图3为本申请实施例提供的基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息的流程示意图;
图4为本申请实施例提供的一种多中心集群的故障处理装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
现有技术中,在多中心集群的部署架构中,一般通过观察者节点监控主中心和备中心的实时状态,来进行多中心集群的故障处理,例如:在主中心整体故障时,将备中心提升为主中心。然而,在上述技术方案中,若因观察者节点发生故障,导致无法有效的监控各中心的状态,则会对中心集群的做出错误的故障分析以及处理。
本申请通过以第一预设时间间隔,向主中心发送第一连接请求,若接收到主中心的节点状态信息,则保存主中心的节点状态信息中的主节点信息,并继续以第一预设时间间隔,向主中心发送第一连接请求,若未接收到主中心的节点状态信息,根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息,其中,在未监控到主中心的节点状态信息,即初步判断多中心集群发生故障的情况下,通过预设的故障检测逻辑中的网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测以及观察者节点的状态,对中心集群的故障信息进行多重确认,保证故障信息的准确度,进一步保证根据故障信息进行故障处理的准确度。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请第一实施例提供的多中心集群的故障处理方法的流程示意图,执行主体为备中心或多中心集群的故障处理装置,一般而言可以通过软件实现,或者硬件实现,或者软件和硬件相结合的方式实现,其中,多中心集群包括一个备中心、一个主中心和一个观察者节点。
如图1所示,本实施例的多中心集群的故障处理方法可以包括以下步骤:
步骤S101、以第一预设时间间隔,向主中心发送第一连接请求。
具体地,备中心可以以第一预设时间间隔,向主中心发生第一连接请求,以初步判断中心集群是否发生故障,其中,第一连接请求指示通过网络连接获取主中心的节点状态信息;以通过备中心与主中心之间的连接状态确定多中心集群的各中心是否发生故障。其中,本申请对第一连接请求不做限定,任何能够通过网络连接获取主中心的节点状态信息的连接请求都可以作为本申请提出的第一连接请求。其中,第一预设时间间隔monitor_interval_secs可以根据用户的需求进行预设,例如:若多中心集群对各中心间的自动故障转移的时效性要求较高,可以将第一预设时间间隔设置为较短时间间隔,若多中心集群对各中心间的自动故障转移的时效性要求较低,可以将第一预设时间间隔设置为较长时间间隔。
步骤S102、若接收到主中心的节点状态信息,则保存主中心的节点状态信息中的主节点信息,并继续以第一预设时间间隔,向主中心发送第一连接请求。
具体地,在向主中心发送第一连接请求之后,若接收到主中心的节点状态信息,则可以保存主中心的节点状态信息中的主节点信息,并继续以第一预设时间间隔,向主中心发送第一连接请求。其中,主中心的节点状态信息为主中心基于第一连接请求发送的信息;其中,在向主中心发送第一连接请求之后,若接收到主中心的节点状态信息,则确定主中心以及备中心未发生故障,即多中心集群未发生故障,则重复步骤S101中描述的以第一预设时间间隔,向主中心发送第一连接请求的过程,以再次对中心集群是否发生故障进行初步判断。其中,在接收到主中心的节点状态信息之后,可以保存主中心的节点状态信息中的主节点信息,以完成多中心集群的各中心间的流复制关系的维护,可选的,通过备中心中保存的主中心的节点状态信息中的主节点信息,可以监控主中心中的主节点是否发生变化,若当前保存的主节点信息与最后一次保存的主节点信息不同,则判断主中心的主节点primary发生变化,则将备中心的伪主节点subprimary与主中心的新的主节点primary连接起来,可选的,若备中心的伪主节点subprimary发生变化,则将备中心的信息伪主节点subprimary与备中心保存的最新的主节点信息对应的主中心的主节点primary连接起来。
步骤S103、若未接收到主中心的节点状态信息,根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息。
具体地,在向主中心发送第一连接请求之后,若未接收到主中心的节点状态信息,则根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息。其中,在向主中心发送第一连接请求之后,若未接收到主中心的节点状态信息,则无法直接确定主中心或备中心是否发生故障,即多中心集群的故障信息,因此,在向主中心发送第一连接请求之后,若未接收到主中心的节点状态信息,可以根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息。
其中,故障检测标识用于指示是否启动故障检测;即,故障检测标识指示启动故障检测或不启动故障检测,可选的,若故障标识指示启动故障检测,则可以根据预设的故障检测逻辑,确定多中心集群的故障信息,其中,若故障识别标识指示不启动故障检测,则可以打印错误信息到日志文件中,并继续以第一预设时间间隔,向主中心发送第一连接请求,或根据未接收到主中心的节点状态信息这一结果判断多中心集群的故障信息。
其中,预设的故障检测逻辑,用于表征基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,以及观察者节点的状态,确定多中心集群的故障信息;具体地,若未接收到主中心的节点状态信息,可以基于网络连接故障检测,或网络连接故障检测和数据库连接故障检测,或网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测,以及观察者节点的状态,确定多中心集群的故障信息。其中,网络连接故障检测表征以网络连接的方式确定中心集群的故障信息,其中,数据库连接故障检测表征以数据库连接的方式确定中心集群的故障信息,其中,观察者节点数据超时检测表征以通过观察者节点连接的方式确定中心集群的故障信息。
步骤S104、根据故障信息对多中心集群进行故障处理。
具体地,在确定多中心集群的故障信息之后,可以根据确定的故障信息对多中心集群进行故障处理。其中,本申请对根据确定的故障信息对多中心集群进行故障处理的方式不做限定,可选的,若故障信息为主中心故障,可以将备中心设置为多中心集群的主中心。若故障信息为备中心故障,则可以打印错误信息到日志文件中,并继续以第一预设时间间隔,向主中心发送第一连接请求。
本实施例提供的多中心集群的故障处理方法,通过以第一预设时间间隔,向主中心发送第一连接请求,若接收到主中心的节点状态信息,则保存主中心的节点状态信息中的主节点信息,并继续以第一预设时间间隔,向主中心发送第一连接请求,若未接收到主中心的节点状态信息,根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息,其中,在未监控到主中心的节点状态信息,即初步判断多中心集群发生故障的情况下,通过预设的故障检测逻辑中的网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测以及观察者节点的状态,对中心集群的故障信息进行多重确认,保证故障信息的准确度,进一步保证根据故障信息进行故障处理的准确度。
在图1所示实施例的基础上,本申请实施例还提出,多中心集群的故障信息包括:主中心故障和备中心故障,根据故障信息对多中心集群进行故障处理,包括:若故障信息为主中心故障,将备中心设置为多中心集群的主中心。若故障信息为备中心故障,则打印第二错误信息到日志文件中,并继续以第一预设时间间隔,向主中心发送第一连接请求。其中,若多中心集群中的主中心故障,可以进行多中心集群的各中心间的故障转移,即,将备中心设置为多中心集群的新主中心,并将备中心的伪主节点设置为新主节点。可选的,在将备中心设置为多中心集群的主中心的同时,还可以打印包括原主中心故障的错误信息到日志文件中,以提示用户对主中心进行维修检查。其中,若多中心集群中的备中心故障,则可以打印第二错误信息到日志文件中,并继续以第一预设时间间隔,向主中心发送第一连接请求。其中,第二错误信息包括:备中心故障的信息,以提示用户对主中心进行维修检查。其中,对不同的故障信息采用不同的故障处理方式,可以提高多中心集群的故障处理的效率以及准确度。
在图1所示实施例的基础上,本申请实施例还提出,多中心集群的故障处理方法还可以包括:以第三预设时间间隔向观察者节点上报备中心的节点状态信息。其中,观察者节点还用于接收主中心以第四预设时间间隔向观察者节点上报的主中心的节点状态信息。其中,备中心的节点状态信息和/或主中心的节点状态信息中包括,与上报时间点相对应的各中心的各节点的运行数据,可选的,节点的运行数据中包括上报时间点、节点地址cluster_id,以及节点所在中心的标识location,其中,用户可以根据上报时间点、节点地址cluster_id,以及节点所在中心的标识location,从观察者节点提供的查询接口查询指定时间、指定数据中心的指定节点的运行数据。可选的,若观察者节点还接收其他多中心集群上报的节点状态信息,则节点的运行数据中还可以包括多中心集群标识,用户可以根据多中心集群标识、上报时间点、节点地址cluster_id,以及节点所在中心的标识location,从观察者节点提供的查询接口查询指定多中心集群、指定时间、指定数据中心的指定节点的运行数据。可选的,若当前观察者节点的观察者节点进程故障,则可以通过安装在观察者节点的集群管理器将观察者节点进程重新启动,若当前观察者节点故障,则可以通过集群管理器将当前观察者节点的资源转移至备选观察者节点进行运行,其中,观察者节点的资源包括但不限于:观察者程序以及虚拟IP地址。其中,在本申请实施例提供的多中心集群的故障检测方法中,观察者节点的功能仅包括节点的运行数据的存储以及查询,观察者节点与多中心集群中的各中心的耦合度降低,拓展性提高,因此一个观察者节点可以同时为多个多中心集群服务。
图2为本申请第二实施例提供的根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息的流程示意图,在图1所示实施例的基础上,本申请实施例对根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息的过程进行了展开描述。
如图2所示,本实施例的根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息可以包括以下步骤:
步骤S201、若故障检测标识指示启动故障检测,则根据预设的故障检测逻辑,确定多中心集群的故障信息。
具体地,若未接收到主中心基于第一连接请求发送的主中心的节点状态信息,则可以对故障检测标识进行检测,若检测到的故障检测标识指示启动故障检测,则可以根据预设的故障检测逻辑,确定多中心集群的故障信息。其中,对于预设的故障检测逻辑的描述可以参考步骤S103中的描述,本实施例不再赘述。可选的,根据预设的故障检测逻辑,确定多中心集群的故障信息的过程可以包括:基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息。其中,主中心的连接信息用于表征主中心是否连接成功;
若主中心的连接信息表征主中心连接成功,则继续以第一预设时间间隔,向主中心发送第一连接请求。具体地,若主中心的连接信息表征主中心连接成功,则确定主中心以及备中心未发生故障,即多中心集群未发生故障,则重复步骤S101中描述的以第一预设时间间隔,向主中心发送第一连接请求的过程。其中,若基于网络连接故障检测,或网络连接故障检测和数据库连接故障检测,或网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测,检测到备中心与主中心连接成功,可以确定备中心与主中心连接成功,其中,若故障检测中包括至少两钟检测方法,两种检测方法的种类以及顺序是固定的。可选的,可以基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息,其中,若基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,检测到备中心与主中心连接成功,可以确定备中心与主中心连接成功,其中,本申请实施例对故障检测中包括的检测方法的种类以及检测方法的顺序不做限定。可选的,预设的故障检测逻辑中还可以包括其他可以确定主中心的连接信息的检测方法。
若主中心的连接信息表征主中心未连接成功,则根据故障检测频次阈值以及观察者节点的状态,确定多中心集群的故障信息。具体地,若主中心的连接信息表征主中心未连接成功,即在步骤S103中描述的确定未接受到主中心的节点状态信息之后,根据故障检测标识以及预设的故障检测逻辑,确定备中心与主中心未连接成功,则可以确定多中心集群已发生故障,但无法确定多中心集群中哪一个数据中心发生故障,进一步,可以故障检测频次阈值以及观察者节点的状态,确定多中心集群的故障信息。其中,故障检测频次阈值是指预设的故障检测频次的阈值,即若故障检测频次小于故障检测频次阈值,则再次进行基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息的过程,直至故障检测频次到达故障检测频次阈值。
其中,本申请对根据故障检测频次阈值以及观察者节点的状态,确定多中心集群的故障信息的过程不做限定,可选的,可以基于第二预设时间间隔,将故障检测的频次增加一次。其中,第二预设时间间隔为根据用户需求预设的两次故障检测之间的间隔时间,其中,每完成一次故障检测,则将故障检测的频次增加一次,以用于与故障检测频次阈值进行比较。其中,若故障检测的频次小于或等于故障检测频次阈值,则继续基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息。其中,若故障检测的频次大于故障检测频次阈值,则根据观察者节点的状态确定多中心集群的故障信息。其中,观察者节点的状态表征备中心与观察者节点的连接状态;连接状态包括:已连接以及未连接;
其中,本申请对根据观察者节点的状态确定多中心集群的故障信息的过程不做限定,可选的,首先,可以获取观察者节点的状态。其中,若观察者节点状态表征备中心与观察者节点的连接状态为已连接,则确定多中心集群的故障信息为主中心故障。具体地,在主中心的连接信息表征主中心未连接成功的情况下,若观察者节点状态表征备中心与观察者节点的连接状态为已连接,即确定观察者节点未发生故障,则可以确定多中心集群的故障信息为主中心故障,即备中心可以连接观察者节点,排除备中心和观察者节点故障,将多中心集群的故障信息确定为主中心故障。其中,若观察者节点表征备中心与观察者节点的连接状态为未连接,则确定多中心集群的故障信息为备中心故障。具体地,在主中心的连接信息表征主中心未连接成功的情况下,若观察者节点状态表征备中心与观察者节点的连接状态为未连接,即无法确定观察者节点是否发生故障,则可以确定多中心集群的故障信息为备中心故障,即备中心既连接不上主中心,也连接不上观察者节点,将多中心集群的故障信息确定为备中心故障。
步骤S202、若故障检测标识指示不启动故障检测,则打印第一错误信息到日志文件中,并继续以第一预设时间间隔,向主中心发送第一连接请求。
具体地,若未接收到主中心基于第一连接请求发送的主中心的节点状态信息,则可以对故障检测标识进行检测,若故障检测标识指示不启动故障检测,则打印第一错误信息到日志文件中,并继续以第一预设时间间隔,向主中心发送第一连接请求,以提示用户对多中心集群进行维修检查。其中,第一错误信息包括:主中心未响应第一连接请求的信息,即未通过网络连接获取主中心的节点状态信息。
本实施例提供的根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息的过程,通过若故障检测标识指示启动故障检测,则根据预设的故障检测逻辑,确定多中心集群的故障信息,若故障检测标识指示不启动故障检测,则打印第一错误信息到日志文件中,并继续以第一预设时间间隔,向主中心发送第一连接请求,分别对故障检测标识指示启动故障检测,以及故障检测标识指示不启动故障检测的情况进行了分别设置,提高了多中心集群的故障检测的准确性。
图3为本申请第三实施例提供的基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息的流程示意图,在图1或图2所示实施的基础上,本申请实施例对基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息的过程进行了展开描述。
如图3所示,本实施例的基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息可以包括以下步骤:
步骤S301、基于网络连接故障检测,向主中心发送第二连接请求。
具体地,若故障检测标识指示启动故障检测,则可以基于网络连接故障检测,向主中心发送第二连接请求,其中,第二连接请求指示通过网络连接获取主中心的节点状态信息;其中,第二连接请求指示的连接方式与第一连接请求指示的连接方式是相同的,可以理解为在启动故障检测之后,再次通过相同的检测方式确定中心集群是否发生故障,避免步骤S101中描述的故障检测过程检测错误。其中,本步骤中获取主中心的节点状态信息的目的可以参考步骤S102中的描述,此处不再赘述。
步骤S302、若接收到主中心的节点状态信息,则保存主中心的节点状态信息中的主中心信息,并继续以第一预设时间间隔,向主中心发送第一连接请求。
具体地,在向主中心发送第二连接请求之后,若接收到主中心的节点状态信息,则可以保存主中心的节点状态信息中的主中心信息,并继续以第一预设时间间隔,向主中心发送第一连接请求,其中,在向主中心发送第二连接请求之后,若接收到主中心的节点状态信息,则基于网络连接故障检测,确定主中心以及备中心未发生故障,即多中心集群未发生故障,则重复步骤S101中描述的以第一预设时间间隔,向主中心发送第一连接请求的过程,以再次对中心集群是否发生故障进行初步判断。
步骤S303、若未接收到主中心的节点状态信息,则基于数据库连接故障检测,向主中心发送第三连接请求,并判断是否接收到主中心基于第三连接请求发送的响应信息。
具体地,在向主中心发送第二连接请求之后,若未接收到主中心的节点状态信息,则可以基于数据库连接故障检测,向主中心发送第三连接请求,并判断是否接收到主中心基于第三连接请求发送的响应信息;其中,第三连接请求指示通过数据库连接获取主中心的响应信息。其中,本申请对第三连接请求不做限定,任何能够通过数据库连接获取主中心的响应信息的连接请求都可以作为本申请提出的第三连接请求。
步骤S304、若是,则继续以第一预设时间间隔,向主中心发送第一连接请求。
具体地,在向主中心发送第三连接请求之后,若接收到主中心基于第三连接请求发送的响应信息,则继续以第一预设时间间隔,向主中心发送第一连接请求。其中,在向主中心发送第三连接请求之后,若接收到主中心基于第三连接请求发送的响应信息,则基于数据库连接故障检测,确定主中心以及备中心未发生故障,即多中心集群未发生故障,则重复步骤S101中描述的以第一预设时间间隔,向主中心发送第一连接请求的过程,以再次对中心集群是否发生故障进行初步判断。
步骤S305、若否,则基于观察者节点数据超时检测,确定主中心的连接信息。
具体地,在向主中心发送第三连接请求之后,若未接收到主中心基于第三连接请求发送的响应信息,则基于观察者节点数据超时检测,确定主中心的连接信息。
其中,本申请对基于观察者节点数据超时检测,确定主中心的连接信息的过程不做限定,可选的,首先可以基于观察者节点数据超时检测,向观察者节点发送第四连接请求。其中,第四连接请求指示获取观察者节点中存储的主中心的历史节点状态信息;其中,本申请对第四连接请求不做限定,任何能够指示获取观察者节点中存储的主中心的历史节点状态信息的连接请求都可以作为本申请提出的第四连接请求。其中,若未接收到观察者节点基于第三连接请求发送历史节点状态信息,则确定主中心的连接信息为主中心未连接成功。其中,历史节点状态信息为主中心节点以预设的时间间隔、向观察者节点上报的、主中心的节点状态信息,其具体描述可以参考上方对主中心的节点状态信息的描述,本实施例不再赘述,其中,历史节点状态信息,即主中心的节点状态信息中包括上报时间。其中,此时观察者节点的连接状态为未连接。其中,若接收到历史节点状态信息,则根据预设的存储时间阈值判断历史节点状态信息的存储是否超时。具体地,若接收到上方描述的历史节点状态信息,则根据预设的存储时间阈值判断历史节点状态信息的上报是否超时,其中,存储时间阈值为判断主中心的节点状态信息的上报是否超时的时间阈值,即若当前时间与历史节点状态信息中保存的上报时间之间的差值大于预设的存储时间阈值,则确定节点状态信息的上报超时了,即主中心与观察者之间的连接可能出现故障,若当前时间与历史节点状态信息中保存的上报时间之间的差值小于或等于预设的存储时间阈值,则确定节点状态信息的上报未超时,即主中心与观察者之间的连接正常,其中,预设的存储时间阈值大于上报主中心的节点状态信息的预设时间。其中,若是,则确定主中心的连接信息为主中心未连接成功,即,若确定历史节点状态信息的存储超时,则确定主中心的连接信息为主中心未连接成功,否则,继续以第一预设时间间隔,向主中心发送第一连接请求,即若确定历史节点状态信息的存储未超时,则确定主中心的连接信息为主中心连接成功。
本实施例提供的基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定主中心的连接信息的过程,通过基于网络连接故障检测,向主中心发送第二连接请求,若接收到主中心的节点状态信息,则保存主中心的节点状态信息中的主中心信息,并继续以第一预设时间间隔,向主中心发送第一连接请求,若未接收到主中心的节点状态信息,则基于数据库连接故障检测,向主中心发送第三连接请求,并判断是否接收到主中心基于第三连接请求发送的响应信息,若是,则继续以第一预设时间间隔,向主中心发送第一连接请求,若否,则基于观察者节点数据超时检测,确定主中心的连接信息,其中,基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,对主中心的连接信息进行确定,可以提高主中心的连接信息的准确性,进一步提高多中心集群的故障信息的准确性。
图4为本申请第四实施例提供的一种多中心集群的故障处理装置的结构示意图。
如图4所示,本实施例的多中心集群的故障处理装置40包括连接模块41、第一确定模块42、第二确定模块43以及处理模块44。
连接模块41,用于以第一预设时间间隔,向主中心发送第一连接请求;其中,第一连接请求指示通过网络连接获取主中心的节点状态信息;
第一确定模块42,用于若接收到主中心的节点状态信息,则保存主中心的节点状态信息中的主节点信息,并继续以第一预设时间间隔,向主中心发送第一连接请求;其中,主中心的节点状态信息为主中心基于第一连接请求发送的信息;
第二确定模块43,用于若未接收到主中心的节点状态信息,则根据故障检测标识以及预设的故障检测逻辑,确定多中心集群的故障信息;其中,故障检测标识用于指示是否启动故障检测;其中,预设的故障检测逻辑,用于表征基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,以及观察者节点的状态,确定多中心集群的故障信息;
处理模块44,用于根据故障信息对多中心集群进行故障处理。
本实施例提供的装置,可用于执行上述方法实施例图1到图3的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图5为本申请第五实施例提供的一种电子设备的结构示意图。
如图5所示,本实施例的电子设备50包括:处理器51,存储器52,通信接口53。
存储器52用于存储处理器的可执行指令;
其中,处理器51配置为经由执行可执行指令来执行上述方法实施例图1到图3任一项的多中心集群的故障处理方法。
在上述的图5所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,其中计算机程序被处理器执行时实现执行上述方法实施例图1到图3任一项的多中心集群的故障处理方法。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (12)

1.一种多中心集群的故障处理方法,其特征在于,应用于备中心,所述多中心集群包括一个备中心、一个主中心和一个观察者节点,包括:
以第一预设时间间隔,向所述主中心发送第一连接请求;其中,所述第一连接请求指示通过网络连接获取所述主中心的节点状态信息;
若接收到主中心的节点状态信息,则保存所述主中心的节点状态信息中的主节点信息,并继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;其中,所述主中心的节点状态信息为所述主中心基于所述第一连接请求发送的信息;
若未接收到所述主中心的节点状态信息,则根据故障检测标识以及预设的故障检测逻辑,确定所述多中心集群的故障信息;其中,所述故障检测标识用于指示是否启动故障检测;其中,所述预设的故障检测逻辑,用于表征基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,以及观察者节点的状态,确定所述多中心集群的故障信息;
根据所述故障信息对所述多中心集群进行故障处理。
2.根据权利要求1所述的方法,其特征在于,根据故障检测标识以及预设的故障检测逻辑,确定所述多中心集群的故障信息,包括:
若所述故障检测标识指示启动故障检测,则根据所述预设的故障检测逻辑,确定所述多中心集群的故障信息;
若所述故障检测标识指示不启动故障检测,则打印第一错误信息到日志文件中,并继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;其中,所述第一错误信息包括:所述主中心未响应所述第一连接请求的信息。
3.根据权利要求2所述的方法,其特征在于,根据所述预设的故障检测逻辑,确定所述多中心集群的故障信息,包括:
基于所述网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定所述主中心的连接信息;其中,所述主中心的连接信息用于表征所述主中心是否连接成功;
若所述主中心的连接信息表征所述主中心连接成功,则继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;
若所述主中心的连接信息表征所述主中心未连接成功,则根据故障检测频次阈值以及所述观察者节点的状态,确定所述多中心集群的故障信息。
4.根据权利要求3所述的方法,其特征在于,若所述主中心的连接信息表征所述主中心未连接成功,则根据故障检测频次阈值以及所述观察者节点的状态,确定所述多中心集群的故障信息,包括:
基于第二预设时间间隔,将故障检测的频次增加一次;
若所述故障检测的频次小于或等于故障检测频次阈值,则继续基于所述网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定所述主中心的连接信息;
若所述故障检测的频次大于所述故障检测频次阈值,则根据所述观察者节点的状态确定所述多中心集群的故障信息。
5.根据权利要求4所述的方法,其特征在于,根据所述观察者节点的状态确定所述多中心集群的故障信息,包括:
获取所述观察者节点的状态;其中,所述观察者节点的状态表征所述备中心与所述观察者节点的连接状态;所述连接状态包括:已连接以及未连接;
若所述观察者节点状态表征所述备中心与所述观察者节点的连接状态为所述已连接,则确定所述多中心集群的故障信息为主中心故障;
若所述观察者节点表征所述备中心与所述观察者节点的连接状态为所述未连接,则确定所述多中心集群的故障信息为备中心故障。
6.根据权利要求3所述的方法,其特征在于,基于所述网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,确定所述主中心的连接信息,包括:
基于所述网络连接故障检测,向所述主中心发送第二连接请求;其中,所述第二连接请求指示通过网络连接获取所述主中心的节点状态信息;
若接收到所述主中心的节点状态信息,则保存所述主中心的节点状态信息中的主中心信息,并继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;
若未接收到所述主中心的节点状态信息,则基于所述数据库连接故障检测,向所述主中心发送第三连接请求,并判断是否接收到主中心基于所述第三连接请求发送的响应信息;其中,所述第三连接请求指示通过数据库连接获取所述主中心的响应信息;
若是,则继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;
若否,则基于所述观察者节点数据超时检测,确定所述主中心的连接信息。
7.根据权利要求6所述的方法,其特征在于,基于所述观察者节点数据超时检测,确定所述主中心的连接信息,包括:
基于所述观察者节点数据超时检测,向所述观察者节点发送第四连接请求;其中,所述第四连接请求指示获取所述观察者节点中存储的主中心的历史节点状态信息;
若未接收到所述观察者节点基于所述第三连接请求发送所述历史节点状态信息,则确定所述主中心的连接信息为主中心未连接成功;
若接收到所述历史节点状态信息,则根据预设的存储时间阈值判断所述历史节点状态信息的存储是否超时;若是,则确定所述主中心的连接信息为主中心未连接成功,否则,继续以所述第一预设时间间隔,向所述主中心发送第一连接请求。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述多中心集群的故障信息包括:主中心故障和备中心故障,根据所述故障信息对所述多中心集群进行故障处理,包括:
若所述故障信息为主中心故障,则将所述备中心设置为所述多中心集群的主中心;
若所述故障信息为备中心故障,则打印第二错误信息到日志文件中,并继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;其中,所述第二错误信息包括:所述备中心故障的信息。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
以第三预设时间间隔向所述观察者节点上报所述备中心的节点状态信息;其中,所述观察者节点还用于接收所述主中心以第四预设时间间隔向所述观察者节点上报的所述主中心的节点状态信息。
10.一种多中心集群的故障处理装置,其特征在于,包括:
连接模块,用于以第一预设时间间隔,向主中心发送第一连接请求;其中,所述第一连接请求指示通过网络连接获取所述主中心的节点状态信息;
第一确定模块,用于若接收到主中心的节点状态信息,则保存所述主中心的节点状态信息中的主节点信息,并继续以所述第一预设时间间隔,向所述主中心发送第一连接请求;其中,所述主中心的节点状态信息为所述主中心基于所述第一连接请求发送的信息;
第二确定模块,用于若未接收到所述主中心的节点状态信息,则根据故障检测标识以及预设的故障检测逻辑,确定所述多中心集群的故障信息;其中,所述故障检测标识用于指示是否启动故障检测;其中,所述预设的故障检测逻辑,用于表征基于网络连接故障检测、数据库连接故障检测和观察者节点数据超时检测中的一种或多种,以及观察者节点的状态,确定所述多中心集群的故障信息;
处理模块,用于根据所述故障信息对所述多中心集群进行故障处理。
11.一种电子设备,其特征在于,包括:
处理器,存储器,通信接口;
所述存储器用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至9任一项所述的多中心集群的故障处理方法。
12.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现执行权利要求1至9任一项所述的多中心集群的故障处理方法。
CN202311868959.2A 2023-12-29 2023-12-29 多中心集群的故障处理方法、装置、设备及存储介质 Pending CN117997722A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311868959.2A CN117997722A (zh) 2023-12-29 2023-12-29 多中心集群的故障处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311868959.2A CN117997722A (zh) 2023-12-29 2023-12-29 多中心集群的故障处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117997722A true CN117997722A (zh) 2024-05-07

Family

ID=90898452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311868959.2A Pending CN117997722A (zh) 2023-12-29 2023-12-29 多中心集群的故障处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117997722A (zh)

Similar Documents

Publication Publication Date Title
CN110535692B (zh) 故障处理方法、装置、计算机设备、存储介质及存储系统
CN105933407B (zh) 一种实现Redis集群高可用的方法及系统
CN110719199B (zh) 一种网络自动测试及故障定位方法及装置
US20080288812A1 (en) Cluster system and an error recovery method thereof
CN111355600B (zh) 一种主节点确定方法和装置
CN114168071B (zh) 一种分布式集群扩容方法、分布式集群扩容装置及介质
CN109150587B (zh) 一种维护方法和装置
CN116260707B (zh) 基于共识的区块链节点灾备方法、装置、设备及存储介质
CN110781039B (zh) 哨兵进程选举方法及装置
CN116737444A (zh) 一种数据库服务器故障处理方法及系统
CN111614701B (zh) 一种分布式集群、以及容器状态切换方法、装置
CN117997722A (zh) 多中心集群的故障处理方法、装置、设备及存储介质
CN112069032A (zh) 一种虚拟机的可用性检测方法、系统及相关装置
CN113596195B (zh) 公共ip地址管理方法、装置、主节点及存储介质
CN116319421A (zh) 基于云平台的故障检测方法、装置、故障检测系统及介质
CN113688021B (zh) 一种负载均衡服务处理方法、装置、设备及可读存储介质
CN113778763B (zh) 一种三方接口服务故障智能切换方法及系统
JP2019020864A (ja) 演算装置
CN112068935A (zh) kubernetes程序部署监控方法、装置以及设备
CN115686951A (zh) 一种数据库服务器的故障处理方法和装置
CN112612652A (zh) 分布式存储系统异常节点重启方法及系统
CN113778753B (zh) 一种存储恢复后自动修正数据库方法、装置、设备及介质
CN116263696A (zh) 一种机房任务通知处理方法、装置及任务通知处理系统
CN115705261A (zh) 内存故障的修复方法、cpu、os、bios及服务器
CN112000500A (zh) 一种通信故障的确定方法、处理方法和存储设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination