一种数据库故障处理方法、装置、设备及存储介质制造方法及图纸

技术编号:35418269 阅读:35 留言:0更新日期:2022-11-03 11:17
本发明专利技术公开了一种数据库故障处理方法、装置、设备及存储介质;在本方案中,本节点需要监控目标节点是否发生故障,该目标节点的数据库与本节点的数据库之间具有主从复制关系;若监控到目标节点发生故障,且本节点的数据库中存储了最新数据,则在备份节点中创建数据库,将本节点的数据库内的数据拷贝至备份节点的数据库,建立本节点的数据库与备份节点的数据库之间的主从复制关系。通过该方式,可在数据库出现故障时,快速切换故障数据库,自动恢复主从节点间的主从复制关系,提高恢复速度;并且,本方案仅在本节点的数据库中存储了最新数据时才切换故障数据库,从而实现了主从数据库在不丢数据的前提下的高可用性,实现主从节点间的数据一致性。的数据一致性。的数据一致性。

【技术实现步骤摘要】
一种数据库故障处理方法、装置、设备及存储介质


[0001]本专利技术涉及数据库
,更具体地说,涉及一种数据库故障处理方法、装置、设备及存储介质。

技术介绍

[0002]MySQL(关系型数据库管理系统)、Oracle(关系数据库管理系统)、PostgreSQL(关系型数据库管理系统)等数据库已在互联网公司广泛应用。随着对数据库安全可控的考虑,对数据库架构提出了更高的要求,其中如何保证数据一致性是最为关心的一个问题。当前的数据库的主从复制技术包括:主从异步复制技术、主从半同步复制技术、主从全同步复制技术。若上述主从复制技术出现异常,目前对数据库进行故障恢复时,会存在数据丢失现象,无法保证主从节点间的数据一致性。

技术实现思路

[0003]本专利技术的目的在于提供一种数据库故障处理方法、装置、设备及存储介质,以便数据库在故障恢复时,避免出现数据丢失现象,确保主从节点间的数据一致性。
[0004]为实现上述目的,本专利技术提供的一种数据库故障处理方法,所述数据库处理方法包括:
[0005]确定与本节点对应的目标节点;其中,所述本节点的数据库与所述目标节点的数据库之间具有主从复制关系;
[0006]若监控到所述目标节点发生故障,且所述本节点的数据库中存储了最新数据,则在备份节点中创建数据库,将所述本节点的数据库内的数据拷贝至所述备份节点的数据库,建立所述本节点的数据库与所述备份节点的数据库之间的主从复制关系。
[0007]其中,所述在备份节点中创建数据库之前还包括:/>[0008]取消所述本节点的数据库与所述目标节点的数据库之间的主从复制关系;
[0009]若所述本节点为第一主节点,所述目标节点为第一从节点,则通过所述第一主节点提供数据库读写服务;
[0010]若所述本节点为第二从节点,则所述目标节点为第二主节点,则将所述第二从节点升为第三主节点,通过所述第三主节点提供数据库读写服务。
[0011]其中,所述在备份节点中创建数据库包括:
[0012]根据每个备份节点的健康状态,从多个备份节点中选择创建数据库的第三从节点。
[0013]其中,通过所述第一主节点/所述第三主节点提供数据库读写服务之后,还包括:
[0014]检测所述第一主节点/所述第三主节点是否具有未故障从节点;
[0015]若否,则继续执行所述在备份节点中创建数据库的步骤;
[0016]若是,则通过所述第一主节点/所述第三主节点,以及对应的未故障从节点提供数据库读写服务。
[0017]其中,所述本节点的数据库中存储了最新数据包括:
[0018]判断所述本节点是否为数据一致状态;
[0019]若是,则判定所述本节点的数据库中存储了最新数据;
[0020]若否,则判断所述本节点是否为主节点;
[0021]若所述本节点为主节点,则判定所述本节点的数据库中存储了最新数据;若所述本节点为从节点,则判定所述本节点的数据库中未存储最新数据。
[0022]其中,所述建立所述本节点的数据库与所述备份节点的数据库之间的主从复制关系之后,还包括:
[0023]将所述本节点的位置信息与所述备份节点的位置信息存储至存储单元。
[0024]其中,本方法还包括:
[0025]若所述目标节点的故障已恢复,则所述目标节点根据所述存储单元中的位置信息,判断所述目标节点的数据库与所述本节点的数据库之间是否具有主从复制关系;
[0026]若否,则删除所述目标节点的数据库;
[0027]若是,则通过所述本节点与所述目标节点继续提供数据库读写服务。
[0028]为实现上述目的,本专利技术进一步提供一种数据库故障处理装置,包括:
[0029]确定模块,用于确定与本节点对应的目标节点;其中,所述本节点的数据库与所述目标节点的数据库之间具有主从复制关系;
[0030]创建模块,用于监控到所述目标节点发生故障,且所述本节点的数据库中存储了最新数据时,在备份节点中创建数据库;
[0031]拷贝模块,用于将所述本节点的数据库内的数据拷贝至所述备份节点的数据库;
[0032]设置模块,用于建立所述本节点的数据库与所述备份节点的数据库之间的主从复制关系。
[0033]为实现上述目的,本专利技术进一步提供一种电子设备,包括:
[0034]存储器,用于存储计算机程序;
[0035]处理器,用于执行所述计算机程序时实现上述数据库故障处理方法的步骤。
[0036]为实现上述目的,本专利技术进一步提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述数据库故障处理方法的步骤。
[0037]通过以上方案可知,本专利技术实施例提供了一种数据库故障处理方法、装置、设备及存储介质;在本方案中,本节点需要监控目标节点是否发生故障,该目标节点的数据库与本节点的数据库之间具有主从复制关系;若监控到目标节点发生故障,且本节点的数据库中存储了最新数据,则在备份节点中创建数据库,将本节点的数据库内的数据拷贝至备份节点的数据库,建立本节点的数据库与备份节点的数据库之间的主从复制关系。通过该方式,可在数据库出现故障时,快速切换故障数据库,自动恢复主从节点间的主从复制关系,提高恢复速度,提高数据库的高可用性;并且,本方案仅在本节点的数据库中存储了最新数据时才切换故障数据库,从而实现了主从数据库在不丢数据的前提下的高可用性,实现主从节点间的数据一致性。
附图说明
[0038]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1为本专利技术实施例公开的一种数据库故障处理系统结构示意图;
[0040]图2为本专利技术实施例公开的一种数据库故障处理方法流程示意图;
[0041]图3为本专利技术实施例公开的从节点故障处理流程图;
[0042]图4为本专利技术实施例公开的主节点故障处理流程图;
[0043]图5为本专利技术实施例公开的一种数据库故障处理装置结构示意图;
[0044]图6为本专利技术实施例公开的一种电子设备结构示意图。
具体实施方式
[0045]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0046]为了便于理解,下面对本申请的技术方案所适用的系统架构进行介绍,参见图1,为本专利技术实施例公开的一种数据库故障处理系统结构示意图,通过图1可以看出,本系统主要包括本节点11及目标节点12。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据库故障处理方法,其特征在于,所述数据库处理方法包括:确定与本节点对应的目标节点;其中,所述本节点的数据库与所述目标节点的数据库之间具有主从复制关系;若监控到所述目标节点发生故障,且所述本节点的数据库中存储了最新数据,则在备份节点中创建数据库,将所述本节点的数据库内的数据拷贝至所述备份节点的数据库,建立所述本节点的数据库与所述备份节点的数据库之间的主从复制关系。2.根据权利要求1所述的数据库故障处理方法,其特征在于,所述在备份节点中创建数据库之前还包括:取消所述本节点的数据库与所述目标节点的数据库之间的主从复制关系;若所述本节点为第一主节点,所述目标节点为第一从节点,则通过所述第一主节点提供数据库读写服务;若所述本节点为第二从节点,则所述目标节点为第二主节点,则将所述第二从节点升为第三主节点,通过所述第三主节点提供数据库读写服务。3.根据权利要求2所述的数据库故障处理方法,其特征在于,所述在备份节点中创建数据库包括:根据每个备份节点的健康状态,从多个备份节点中选择创建数据库的第三从节点。4.根据权利要求2所述的数据库故障处理方法,其特征在于,通过所述第一主节点/所述第三主节点提供数据库读写服务之后,还包括:检测所述第一主节点/所述第三主节点是否具有未故障从节点;若否,则继续执行所述在备份节点中创建数据库的步骤;若是,则通过所述第一主节点/所述第三主节点,以及对应的未故障从节点提供数据库读写服务。5.根据权利要求1所述的数据库故障处理方法,其特征在于,所述本节点的数据库中存储了最新数据包括:判断所述本节点是否为数据一致状态;若是,则判定所述本节点的数据库中存储了最新数据;若否,则判断所述本...

【专利技术属性】
技术研发人员:张谦吴扬扬王增亮
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1