CN110286732B - 高可用集群掉电自动恢复方法、装置、设备及存储介质 - Google Patents

高可用集群掉电自动恢复方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110286732B
CN110286732B CN201910573338.9A CN201910573338A CN110286732B CN 110286732 B CN110286732 B CN 110286732B CN 201910573338 A CN201910573338 A CN 201910573338A CN 110286732 B CN110286732 B CN 110286732B
Authority
CN
China
Prior art keywords
node
database
database node
started
availability cluster
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
CN201910573338.9A
Other languages
English (en)
Other versions
CN110286732A (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.)
Huayun Data Holding Group Co Ltd
Original Assignee
Huayun Data Holding Group 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 Huayun Data Holding Group Co Ltd filed Critical Huayun Data Holding Group Co Ltd
Priority to CN201910573338.9A priority Critical patent/CN110286732B/zh
Publication of CN110286732A publication Critical patent/CN110286732A/zh
Application granted granted Critical
Publication of CN110286732B publication Critical patent/CN110286732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本申请提供的高可用集群掉电自动恢复方法、装置、设备及存储介质。该方法包括:高可用集群中的第一数据库节点在重启时,获取每个数据库节点的状态信息;在第一数据库节点在重启前数据库节点全部掉电且第一数据库节点为第一个启动的节点时,所述第一数据库节点启动并作为所述高可用集群的主节点;在第一数据库节点在重启前数据库节点全部掉电但第一数据库节点为非第一个启动的节点时,第一数据库节点启动并加入第一个启动的节点。本申请在高可用集群中的数据库节点全部掉电的情况下,在进行掉电重启时,无需考虑数据库节点在掉电前节点的ID的顺序,从而可以使得集群重启更加便捷,同时能够有效缩短集群重启时间,提高集群的重启速度。

Description

高可用集群掉电自动恢复方法、装置、设备及存储介质
技术领域
本申请涉及互联网领域,具体而言,涉及高可用集群掉电自动恢复方法、装置、设备及存储介质。
背景技术
目前在在联网业务中数据库是必不可少的,Galera数据库集群是目前业界用的比较多的数据库。Galera数据库的优异表现被越来越多的IT公司所应用,但是当Gelara数据库集群中所有的数据库同时掉电时,Galera数据库集群在下次启动的时候该集群无法正常启动。
然而目前为了使得Gelara数据库集群在掉电后重启,一般都是人工登录到服务器上通过判断每个数据库节点的信息,再人工对比每个节点的信息,最后根据节点的信息来确定手动启动每个节点的顺序。
现有Gelara数据库集群在掉电后重启必须人工干预,并且重启繁琐,导致集群重启需要较长的时间。
发明内容
有鉴于此,本申请实施例提供的高可用集群掉电自动恢复方法、装置、设备及存储介质,能够缩短集群重启时间。
第一方面,本申请实施例提供的一种高可用集群掉电自动恢复方法,所述高可用集群包括至少两个数据库节点,在所述高可用集群中的数据库节点全部掉电的情况下,所述方法包括:所述高可用集群中的第一数据库节点在重启时,获取每个所述数据库节点的状态信息,所述第一数据库节点为所述高可用集群中的任意一个数据库节点,所述状态信息包括用于表征每个所述数据库节点的启动状态的第一信息和用于表征所述高可用集群掉电的第二信息;在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点启动并作为所述高可用集群的主节点;在所述第一数据库节点在重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点启动并加入所述第一个启动的节点。
在上述实现过程中,本申请在高可用集群中的数据库节点全部掉电的情况下,在进行掉电重启时,无需考虑数据库节点在掉电前节点的ID的顺序,从而无需在重启时去逐一确定每个数据库节点在掉电前的ID的顺序,从而可以使得集群重启更加便捷,同时能够有效缩短集群重启时间,提高集群的重启速度。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,所述获取每个所述数据库节点的状态信息,包括:所述第一数据库节点向负载均衡器发送状态请求,所述负载均衡器中存储有所述高可用集群中的所有数据库节点的状态信息;所述第一数据库节点接收所述负载均衡器基于所述状态请求返回的所述状态信息。
在上述实现过程中,通过向负载均衡器发送状态请求,从而从负载均衡器中获取每个数据库节点的实时状态信息,可以使得每个数据库节点能够实时获知其他数据库节点的启动状态。
结合第一方面的任意一种实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点启动并作为所述高可用集群的主节点,包括:在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并作为所述高可用集群的主节点。
在上述实现过程中,通过在所述第一数据库节点重启前,且所述数据库节点全部掉电以及所述第一数据库节点为第一个启动的节点时,删除该第一数据库节点中存储的主备状态信息以进行重置集群,进而可以避免在重启后与掉电前的集群中的成员的主备状态不同而导致重启失败。
结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,在所述第一数据库节点在重启前所述高可用集群掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点启动并加入所述第一个启动的节点,包括:在所述第一数据库节点在重启前所述高可用集群掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并加入所述第一个启动的节点。
在上述实现过程中,通过在所述第一数据库节点重启前,且所述数据库节点全部掉电以及所述第一数据库节点为非第一个启动的节点时,删除该第一数据库节点中存储的主备状态信息以进行重置集群,所述第一数据库节点启动并加入所述第一个启动的节点,进而可以避免在重启后与掉电前的集群中的成员的主备状态不同而导致重启失败。
第二方面,本申请实施例提供的一种高可用集群掉电自动恢复装置,所述高可用集群包括至少两个数据库节点,在所述高可用集群中的数据库节点全部掉电的情况下,所述装置包括:状态获取模块,用于所述高可用集群中的第一数据库节点在重启时,获取每个所述数据库节点的状态信息,所述第一数据库节点为所述高可用集群中的任意一个数据库节点,所述状态信息包括用于表征每个所述数据库节点的启动状态的第一信息和用于表征所述高可用集群掉电的第二信息;第一重启模块,用于在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,将所述第一数据库节点启动并作为所述高可用集群的主节点;第二重启模块,用于在所述第一数据库节点在重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,将所述第一数据库节点启动并加入所述第一个启动的节点。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,所述状态获取模块,还用于:在所述高可用集群中的第一数据库节点在重启时,所述第一数据库节点向负载均衡器发送状态请求,所述负载均衡器中存储有所述高可用集群中的所有数据库节点的状态信息;所述第一数据库节点接收所述负载均衡器基于所述状态请求返回的所述状态信息。
结合第二方面的任意一种实施方式,本申请实施例提供了第二方面的第二种可能的实施方式,第一重启模块,还用于在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并作为所述高可用集群的主节点。
结合第二方面,本申请实施例提供了第二方面的第三种可能的实施方式,第二重启模块,还用于:在所述第一数据库节点在重启前所述高可用集群掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并加入所述第一个启动的节点。
第三方面,本申请实施例提供的一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述高可用集群掉电自动恢复方法的步骤。
第四方面,本申请实施例提供的一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的高可用集群掉电自动恢复方法。
第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任一项所述的高可用集群掉电自动恢复方法。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种高可用集群掉电自动恢复方法的流程图;
图2为本申请实施例提供的一种高可用集群掉电自动恢复方法中的数据库节点全部掉电的示意图;
图3为图2所示的数据库节点全部掉电后的数据库节点1启动的示意图;
图4为图2所示的数据库节点全部掉电后的数据库节点2启动的示意图;
图5为图2所示的数据库节点全部掉电后的数据库节点3启动的示意图;
图6为本申请实施例提供的一种高可用集群掉电自动恢复装置的结构示意图;
图7为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
现有技术中存在的上述缺陷,本申请人认为均是申请人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下午中本申请实施例针对上述问题所提出的解决方案,都应该是申请人在本申请过程中对本申请做出的贡献。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,是本申请实施例提供的高可用集群掉电自动恢复方法的流程图,应理解,图1所示的方法可以通过高可用集群掉电自动恢复装置执行,该装置可以与下文中的图6所示的终端设备对应,该终端设备可以是能够执行该方法的各种设备,例如,如个高可用集群中的数据库服务器,本申请实施例并不限于此。在所述高可用集群中的数据库节点全部掉电的情况下,所述方法包括如下步骤:
步骤S101,所述高可用集群中的第一数据库节点在重启时,获取每个所述数据库节点的状态信息。
可选地,所述高可用集群包括至少两个数据库节点。
当然,在实际使用中,高可用集群可以包括三个数据库节点或者是一个主状态的数据库节点和2n个备状态的数据库节点,其中,n为大于1的整数。
应理解,上述仅为示例而非限定。
其中,所述第一数据库节点为所述高可用集群中的任意一个数据库节点。
其中,重启时是指第一数据库节点进入重启过程,但是还未完成启动的一个状态(即还无法正常提供服务)。应理解,虽然启动过程时间较短,对于用户来说可能是一瞬间的事,但是对于机器来说该过程中的每个实时过程可以是毫秒级的,是存在时间间隔的。
可选地,状态信息包括用于表征高可用集群中的每个所述数据库节点的启动状态的第一信息和用于表征所述高可用集群掉电的第二信息。
其中,高可用集群掉电是指高可用集群中的所有数据库节点均掉电。
作为一种实施方式,所述高可用集群包括负载均衡器,步骤S101包括,所述高可用集群中的第一数据库节点在重启时,所述第一数据库节点向负载均衡器发送状态请求,所述负载均衡器中存储有所述高可用集群中的所有数据库节点的状态信息;所述第一数据库节点接收所述负载均衡器基于所述状态请求返回的所述状态信息。
可选地,负载均衡器中存储的状态信息为实时更新的信息,如第一数据库节点启动后,其状态信息会随着第一数据库节点的启动而进行更新,即在第一数据库节点以后启动的数据库节点再次向负载均衡器请求每个数据库节点的状态时,此时,负载均衡器返回的状态信息中,第一数据库节点的状态就不再是掉电前的状态。
在上述实现过程中,通过向负载均衡器发送状态请求,从而从负载均衡器中获取每个数据库节点的实时状态信息,可以使得每个数据库节点能够实时获知其他数据库节点的启动状态。
步骤S102,在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点启动并作为所述高可用集群的主节点。
可选地,第一数据库节点在接收到状态信息后通过状态信息来判断在重启前所述数据库节点是否全部掉电且所述第一数据库节点是否为第一个启动的节点。
例如,第一数据库节点在接收到状态信息后根据状态信息中的用于表征高可用集群中的每个所述数据库节点的启动状态的第一信息来判断当前是否有数据库节点已经启动,从而判断自身是否为第一个启动的节点,如果当前没有数据库节点启动,那第一数据库节点则为第一个启动的节点,反之,第一数据库节点不为第一个启动的节点。根据状态信息中用于表征所述高可用集群掉电的第二信息来确定在所述第一数据库节点重启前该集群中的所有数据库节点全部掉电,如果第二信息表征的是集群没有出现掉电,则确定在所述第一数据库节点重启前该集群中的所有数据库节点没有掉电。
可选地,所述第一数据库节点启动是指此时第一数据库节点完成重启过程。
作为一种实施方式,步骤S102,包括:在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并作为所述高可用集群的主节点。
可选地,删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息主要删除数据库数据节点目录文件夹下的grastate.dat和gvwstate.dat这两个文件。其中,这个两个文件包含该集群的各个数据库节点的状态及集群的主要成员。
可选地,通过删除主备状态信息以进行重置集群,进而可以避免在重启后与掉电前的集群中的成员的主备状态不同而导致重启失败。
当然,在实际使用中,也可以不用删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,例如,直接将重新确定的主备状态信息覆盖存储在数据库数据节点目录文件夹下的主备状态信息中,以替换掉在掉电前该数据库节点的主备状态信息。或直接将新生成的主备状态文件覆盖存储在数据库数据节点目录文件夹下的主备状态文件。
在上述实现过程中,通过在所述第一数据库节点重启前,且所述数据库节点全部掉电以及所述第一数据库节点为第一个启动的节点时,删除该第一数据库节点中存储的主备状态信息以进行重置集群,进而可以避免在重启后与掉电前的集群中的成员的主备状态不同而导致重启失败。
当然,在实际使用中,如果第一数据库节点的上电(启动)顺序为掉电前集群中成员加入的顺序的逆序上电时,此时第一数据库节点可以正常启动,无需执行删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息的步骤。
步骤S103,在所述第一数据库节点在重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点启动并加入所述第一个启动的节点。
可选地,非第一个启动的节点用于表征该第一数据库节点可以是第二个启动的节点,也可以是第三个启动的节点,或者是第M个启动的节点。其中,M为大于或等于4的整数。
可选地,当所述第一数据库节点在重启前且重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并加入所述第一个启动的节点。
可选地,所述第一数据库节点启动并加入所述第一个启动的节点,以形成新的集群。
可选地,删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息主要删除数据库数据节点目录文件夹下的grastate.dat和gvwstate.dat这两个文件。其中,这个两个文件包含该集群的各个数据库节点的状态及集群的主要成员。
可选地,通过删除主备状态信息以进行重置集群,进而可以避免在重启后与掉电前的集群中的成员的主备状态不同而导致重启失败。
当然,在实际使用中,也可以不用删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,例如,直接将重新确定的主备状态信息覆盖存储在数据库数据节点目录文件夹下的主备状态信息中,以替换掉在掉电前该数据库节点的主备状态信息。或直接将新生成的主备状态文件覆盖存储在数据库数据节点目录文件夹下的主备状态文件。
在上述实现过程中,通过在所述第一数据库节点重启前,且所述数据库节点全部掉电以及所述第一数据库节点为非第一个启动的节点时,删除该第一数据库节点中存储的主备状态信息以进行重置集群,所述第一数据库节点启动并加入所述第一个启动的节点,进而可以避免在重启后与掉电前的集群中的成员的主备状态不同而导致重启失败。
当然,在实际使用中,如果第一数据库节点的上电(启动)顺序为掉电前集群中成员加入的顺序的逆序上电时,此时第一数据库节点可以正常启动,无需执行删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息的步骤。
上文结合图1描述了本申请实施例中高可用集群掉电自动恢复方法,下面,作为示例而非限定,假设高可用集群包括三个数据库节点,分别为数据库节点1、数据库节点2、数据库节点3,每个数据库节点中包括高可用组件、负载均衡器以及数据库,结合图2至图5对本申请实施例中高可用集群掉电自动恢复方法进行详细的描述。如图2所示,三个数据库节点中的每个数据库均打上了“X”标识,表示三个数据库节点全部掉电。假设数据节点1为第一数据库节点,此时,在高可用集群中的数据库节点1在重启时,所述数据库节点1向负载均衡器发送状态请求,所述负载均衡器中存储有所述高可用集群中的所有数据库节点的状态信息;所述数据库节点1接收所述负载均衡器基于所述状态请求返回的所述状态信息。如图3所示,在所述数据库节点1在重启前所述数据库节点全部掉电且所述数据库节点1为第一个启动的节点时,所述数据库节点1删除自身中存储的用于表征所述数据库节点1在掉电前的主备状态信息,所述数据库节点1启动并作为所述高可用集群的主节点。如图4所示,当数据库节点2作为第二个启动的节点,即数据库节点2为非第一个启动的节点,数据库节点2删除自身中存储的用于表征所述自身在掉电前的主备状态信息,然后数据库节点2启动并加入所述第一个启动的节点(即数据库节点2重置集群信息,并拉起当前节点加入数据库节点1)。如图5所示,当数据库节点3作为第三个启动的节点,即数据库节点3为非第一个启动的节点,此时,数据库节点3执行数据库节点2所执行的步骤,即数据库节点3也会删除自身中存储的用于表征所述自身在掉电前的主备状态信息,然后数据库节点3启动并加入所述第一个启动的节点(即数据库节点3重置集群信息,并拉起当前节点加入数据库节点1)。
本申请实施例所提供的高可用集群掉电自动恢复方法,在所述高可用集群中的数据库节点全部掉电的情况下,所述高可用集群中的第一数据库节点在重启时,获取每个所述数据库节点的状态信息,所述第一数据库节点为所述高可用集群中的任意一个数据库节点;在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点启动并作为所述高可用集群的主节点;在所述第一数据库节点在重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点启动并加入所述第一个启动的节点。本申请在高可用集群中的数据库节点全部掉电的情况下,在进行掉电重启时,无需考虑数据库节点在掉电前节点的ID的顺序,从而无需在重启时去逐一确定每个数据库节点在掉电前的ID的顺序,从而可以使得集群重启更加便捷以及节约资源开销,同时能够有效缩短集群重启时间,提高集群掉电重启的重启速度。
请参阅图6,图6示出了采用图1所示的高可用集群掉电自动恢复方法一一对应的高可用集群掉电自动恢复装置,应理解,该装置300与上述图1方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置300具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置300包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置300的操作系统(operating system,OS)中的软件功能模块。具体地,所述高可用集群包括至少两个数据库节点,在所述高可用集群中的数据库节点全部掉电的情况下,该装置300包括:
状态获取模块310,用于所述高可用集群中的第一数据库节点在重启时,获取每个所述数据库节点的状态信息,所述第一数据库节点为所述高可用集群中的任意一个数据库节点,状态信息包括用于表征高可用集群中的每个所述数据库节点的启动状态的第一信息和用于表征所述高可用集群掉电的第二信息;
第一重启模块320,用于在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,将所述第一数据库节点启动并作为所述高可用集群的主节点;
第二重启模块330,用于在所述第一数据库节点在重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,将所述第一数据库节点启动并加入所述第一个启动的节点。
可选地,所述状态获取模块310,还用于:所述高可用集群中的第一数据库节点在重启时,向负载均衡器发送状态请求,所述负载均衡器中存储有所述高可用集群中的所有数据库节点的状态信息;接收所述负载均衡器基于所述状态请求返回的所述状态信息。
可选地,所述第一重启模块320,还用于在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,将所述第一数据库节点启动并作为所述高可用集群的主节点。
可选地,第二重启模块330,还用于:在所述第一数据库节点在重启前所述高可用集群掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并加入所述第一个启动的节点。
本申请还提供一种终端设备,图7为本申请实施例中的终端设备500的结构框图,如图7所示。终端设备500可以包括处理器510、通信接口520、存储器530和至少一个通信总线540。其中,通信总线540用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口520用于与其他节点设备进行信令或数据的通信。处理器510可以是一种集成电路芯片,具有信号的处理能力。
上述的处理器510可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器510也可以是任何常规的处理器等。
存储器530可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器530中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器510执行时,终端设备500可以执行上述图1方法实施例涉及的各个步骤。
终端设备500还可以包括存储控制器。
所述存储器530、存储控制器、处理器510各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通信总线540实现电性连接。所述处理器510用于执行存储器530中存储的可执行模块,例如装置300包括的软件功能模块或计算机程序。并且,装置300用于执行下述方法:所述高可用集群中的第一数据库节点在重启时,获取每个所述数据库节点的状态信息,所述第一数据库节点为所述高可用集群中的任意一个数据库节点;在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点启动并作为所述高可用集群的主节点;在所述第一数据库节点在重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点启动并加入所述第一个启动的节点。
可选地,终端设备500可以是服务器,服务器可以作为本申请中的数据库节点。
可以理解,图7所示的结构仅为示意,所述终端设备500还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,所述计算机程序被处理器执行时实现方法实施例所述的方法,为避免重复,此处不再赘述。
本申请还提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行方法实施例所述的方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (10)

1.一种高可用集群掉电自动恢复方法,其特征在于,所述高可用集群包括至少两个数据库节点,在所述高可用集群中的数据库节点全部掉电的情况下,所述方法包括:
所述高可用集群中的第一数据库节点在重启时,获取每个所述数据库节点的状态信息,所述第一数据库节点为所述高可用集群中的任意一个数据库节点,所述状态信息包括用于表征每个所述数据库节点的启动状态的第一信息和用于表征所述高可用集群掉电的第二信息;
第一数据库节点接收到所述状态信息后,通过状态信息来判断在重启前所述数据库节点是否全部掉电且所述第一数据库节点是否为第一个启动的节点;
在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点启动并作为所述高可用集群的主节点;
在所述第一数据库节点在重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点启动并加入所述第一个启动的节点。
2.根据权利要求1所述的方法,其特征在于,所述获取每个所述数据库节点的状态信息,包括:
所述第一数据库节点向负载均衡器发送状态请求,所述负载均衡器中存储有所述高可用集群中的所有数据库节点的状态信息;
所述第一数据库节点接收所述负载均衡器基于所述状态请求返回的所述状态信息。
3.根据权利要求1所述的方法,其特征在于,在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点启动并作为所述高可用集群的主节点,包括:
在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并作为所述高可用集群的主节点。
4.根据权利要求1所述的方法,其特征在于,在所述第一数据库节点在重启前所述高可用集群掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点启动并加入所述第一个启动的节点,包括:
在所述第一数据库节点在重启前所述高可用集群掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并加入所述第一个启动的节点。
5.一种高可用集群掉电自动恢复装置,其特征在于,所述高可用集群包括至少两个数据库节点,在所述高可用集群中的数据库节点全部掉电的情况下,所述装置包括:
状态获取模块,用于所述高可用集群中的第一数据库节点在重启时,获取每个所述数据库节点的状态信息,所述第一数据库节点为所述高可用集群中的任意一个数据库节点;
判断模块,用于在第一数据库节点接收到所述状态信息后,通过状态信息来判断在重启前所述数据库节点是否全部掉电且所述第一数据库节点是否为第一个启动的节点;
第一重启模块,用于在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,将所述第一数据库节点启动并作为所述高可用集群的主节点;
第二重启模块,用于在所述第一数据库节点在重启前所述数据库节点全部掉电但所述第一数据库节点为非第一个启动的节点时,将所述第一数据库节点启动并加入所述第一个启动的节点。
6.根据权利要求5所述的装置,其特征在于,所述状态获取模块,还用于:
在所述高可用集群中的第一数据库节点在重启时,向负载均衡器发送状态请求,所述负载均衡器中存储有所述高可用集群中的所有数据库节点的状态信息;
接收所述负载均衡器基于所述状态请求返回的所述状态信息。
7.根据权利要求5所述的装置,其特征在于,所述第一重启模块,还用于在所述第一数据库节点在重启前所述数据库节点全部掉电且所述第一数据库节点为第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,将所述第一数据库节点启动并作为所述高可用集群的主节点。
8.根据权利要求5所述的装置,其特征在于,所述第二重启模块,还用于:在所述第一数据库节点在重启前所述高可用集群掉电但所述第一数据库节点为非第一个启动的节点时,所述第一数据库节点删除自身中存储的用于表征所述第一数据库节点在掉电前的主备状态信息,所述第一数据库节点启动并加入所述第一个启动的节点。
9.一种终端设备,其特征在于,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的高可用集群掉电自动恢复方法的步骤。
10.一种存储介质,其特征在于,所述存储介质用于存储指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1至4任一项所述的高可用集群掉电自动恢复方法。
CN201910573338.9A 2019-06-27 2019-06-27 高可用集群掉电自动恢复方法、装置、设备及存储介质 Active CN110286732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910573338.9A CN110286732B (zh) 2019-06-27 2019-06-27 高可用集群掉电自动恢复方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910573338.9A CN110286732B (zh) 2019-06-27 2019-06-27 高可用集群掉电自动恢复方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110286732A CN110286732A (zh) 2019-09-27
CN110286732B true CN110286732B (zh) 2021-01-12

Family

ID=68019490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910573338.9A Active CN110286732B (zh) 2019-06-27 2019-06-27 高可用集群掉电自动恢复方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110286732B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111090537B (zh) * 2019-12-16 2024-02-06 无锡华云数据技术服务有限公司 集群启动方法、装置、电子设备及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336589A (zh) * 2000-07-28 2002-02-20 国际商业机器公司 数据管理应用程序的故障恢复方法和系统
WO2016180160A1 (zh) * 2015-10-23 2016-11-17 中兴通讯股份有限公司 数据快照的恢复方法和装置
CN106844092A (zh) * 2016-12-09 2017-06-13 武汉烽火信息集成技术有限公司 一种自动恢复掉电的MariaDB Galera Cluster的方法
CN107506262A (zh) * 2017-08-18 2017-12-22 郑州云海信息技术有限公司 一种高性能集群用户系统备份与恢复的方法及装置
CN107704263A (zh) * 2017-10-19 2018-02-16 郑州云海信息技术有限公司 一种云环境下数据库管理方法及其装置
CN108847982A (zh) * 2018-06-26 2018-11-20 郑州云海信息技术有限公司 一种分布式存储集群及其节点故障切换方法和装置
CN108958991A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 集群节点故障业务快速恢复方法、装置、设备及存储介质
CN109558267A (zh) * 2018-11-16 2019-04-02 郑州云海信息技术有限公司 一种存储集群数据恢复验证方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982037B (zh) * 2011-09-05 2016-05-25 中国移动通信集团浙江有限公司 检测数据库节点健康状况的方法及装置
JP6019995B2 (ja) * 2012-09-24 2016-11-02 日本電気株式会社 分散システム、サーバ計算機、及び障害発生防止方法
CN107852349B (zh) * 2016-03-31 2020-12-01 慧与发展有限责任合伙企业 用于多节点集群的事务管理的系统、方法及存储介质
CN107148027B (zh) * 2017-06-20 2020-09-15 钟小磊 解决ZigBee网间通信的方法以及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336589A (zh) * 2000-07-28 2002-02-20 国际商业机器公司 数据管理应用程序的故障恢复方法和系统
WO2016180160A1 (zh) * 2015-10-23 2016-11-17 中兴通讯股份有限公司 数据快照的恢复方法和装置
CN106844092A (zh) * 2016-12-09 2017-06-13 武汉烽火信息集成技术有限公司 一种自动恢复掉电的MariaDB Galera Cluster的方法
CN107506262A (zh) * 2017-08-18 2017-12-22 郑州云海信息技术有限公司 一种高性能集群用户系统备份与恢复的方法及装置
CN107704263A (zh) * 2017-10-19 2018-02-16 郑州云海信息技术有限公司 一种云环境下数据库管理方法及其装置
CN108847982A (zh) * 2018-06-26 2018-11-20 郑州云海信息技术有限公司 一种分布式存储集群及其节点故障切换方法和装置
CN108958991A (zh) * 2018-07-26 2018-12-07 郑州云海信息技术有限公司 集群节点故障业务快速恢复方法、装置、设备及存储介质
CN109558267A (zh) * 2018-11-16 2019-04-02 郑州云海信息技术有限公司 一种存储集群数据恢复验证方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
kola-ansible mariadb gelera cluster recover;lzp1234;《简书》;20181113;第1-5页 *

Also Published As

Publication number Publication date
CN110286732A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN112506617B (zh) Kubernetes集群中边车容器的镜像更新方法及装置
CN110825495A (zh) 一种容器云平台的恢复方法、装置、设备及可读存储介质
CN111163173B (zh) 集群配置方法、装置、服务器及可读存储介质
CN112104727B (zh) 一种精简高可用Zookeeper集群部署方法及系统
CN110286732B (zh) 高可用集群掉电自动恢复方法、装置、设备及存储介质
CN113391845A (zh) 一种数据交互方法、装置及相关组件
CN111209265A (zh) 一种数据库切换方法和终端设备
CN104104701A (zh) 在线服务的配置更新的方法和系统
CN114640709B (zh) 一种边缘节点的处理方法、装置及介质
CN110620695A (zh) 一种数据处理方法及相关设备
CN114356357A (zh) 镜像文件处理方法、装置和电子设备
CN113515291A (zh) 设备在线升级方法和装置
CN112732292A (zh) 一种软件升级的方法、系统、设备及可读存储介质
CN114116033B (zh) 一种服务器配置修改方法和装置
CN112433860B (zh) 一种事件管理的方法、系统、设备及介质
CN116431291B (zh) 一种虚拟化管理平台的部署方法、系统、设备及存储介质
CN114721746B (zh) 一种Trino catalog热加载方法和系统
CN111339736B (zh) 一种添加前缀名的方法、配置获取方法、装置及电子设备
CN111007753B (zh) 一种双控制器的主备仲裁方法与装置
CN109542588B (zh) 一种用于在云环境下管理虚拟设备的方法和装置
CN114756515A (zh) 文件合并方法及装置、电子设备和存储介质
CN115525308A (zh) 一种区块链升级方法和装置
CN116743762A (zh) 服务注册集群流量切换方法、流量切换装置及存储介质
CN115794143A (zh) 一种客户端升级方法及装置
CN114090312A (zh) 一种系统中数据处理的方法和装置

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 214000, science and software park, Binhu District, Jiangsu, Wuxi 6

Applicant after: Huayun data holding group Co., Ltd

Address before: 214000, science and software park, Binhu District, Jiangsu, Wuxi 6

Applicant before: WUXI CHINAC DATA TECHNICAL SERVICE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant