集群脑裂的处理方法、装置、设备及可读存储介质制造方法及图纸

技术编号:33556783 阅读:10 留言:0更新日期:2022-05-26 22:53
本发明专利技术涉及数据处理技术领域,公开了一种集群脑裂的处理方法、装置、设备及可读存储介质。其中,该方法包括:检测数据库集群的运行状态;基于数据库集群的运行状态,确定数据库集群是否发生脑裂;当数据库集群发生脑裂时,获取数据库集群中各个数据库节点对应的不同状态参数值;检测不同状态参数值对应的序列值;基于序列值的对比结果,确定待同步的目标数据库节点,对目标数据库节点进行数据同步。通过实施本发明专利技术,实现脑裂情况的实时自动检测和处理,最大程度上降低了数据丢失的可能性,提高了数据安全性。了数据安全性。了数据安全性。

【技术实现步骤摘要】
集群脑裂的处理方法、装置、设备及可读存储介质


[0001]本专利技术涉及数据处理
,具体涉及一种集群脑裂的处理方法、装置、设备及可读存储介质。

技术介绍

[0002]MariaDB作为MySQL的分支,其作为一种开源的数据库产品,因其实用的数据库特性在云平台环境中得到了广泛应用,MariaDB Galera Cluster提供了一套高可用multi

master集群解决方案,但是若由于网络波动等原因发生数据库脑裂时,其将会存在数据丢失的可能性,而数据库脑裂的发生通常不易被发现,因而难以及时处理数据库脑裂故障,这就导致云平台环境存在一定的数据安全隐患,影响了云平台的安全性。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供了一种集群脑裂的处理方法、装置、设备及可读存储介质,以解决数据库脑裂不易被检测和处理的问题。
[0004]根据第一方面,本专利技术实施例提供了一种集群脑裂的处理方法,包括:检测数据库集群的运行状态;基于所述数据库集群的运行状态,确定所述数据库集群是否发生脑裂;当所述数据库集群发生脑裂时,获取所述数据库集群中各个数据库节点对应的不同状态参数值;检测所述不同状态参数值对应的序列值;基于所述序列值的对比结果,确定待同步的目标数据库节点,对所述目标数据库节点进行数据同步。
[0005]本专利技术实施例提供的集群脑裂的处理方法,通过检测数据库集群的运行状态,确定其是否发生脑裂,在其发生脑裂时,对比数据库节点所对应不同状态参数值的序列值以确定出最新的数据,并根据该序列值的对比结果对目标数据库节点进行数据同步,从而实现脑裂情况的实时自动检测和处理,最大程度上降低了数据丢失的可能性,提高了数据安全性。
[0006]结合第一方面,在第一方面的第一实施方式中,所述基于所述序列值的对比结果,确定待同步的目标数据库节点,对所述目标数据库节点进行数据同步,包括:对比所述序列值,确定最大序列值以及非最大序列值;关闭所述非最大序列值对应的数据库节点,得到所述目标数据库节点;重启所述目标数据库节点,对所述目标数据库节点进行数据同步。
[0007]本专利技术实施例提供的集群脑裂的处理方法,通过对比序列值从中确定出的最大序列值以及非最大序列值,继而关闭非最大序列值对应的数据库节点,即将最大序列值对应的数据库节点作为目标数据库节点,重启该目标数据库节点实现数据同步。由此通过对发生脑裂的数据库集群的序列值进行对比,确定出具有较新数据的数据库节点,并自动重启以进行重新同步,由此实现了数据库脑裂的自动处理。
[0008]结合第一方面第一实施方式,在第一方面的第二实施方式中,所述方法还包括:获取所述非最大序列值对应的系统文件;在关闭所述非最大序列值对应的数据库节点时,删除所述系统文件。
[0009]本专利技术实施例提供的集群脑裂的处理方法,通过在关闭非最大序列值对应的数据库节点时,删除其对应的系统文件。由此能够保证非最大序列值对应的数据库节点能够被彻底关闭,提高了脑裂处理的有效性。
[0010]结合第一方面第一实施方式,在第一方面的第三实施方式中,在重启所述目标数据库节点之后,还包括:检测重启后的所述目标数据库节点是否存在唯一的状态参数值;当重启后的所述目标数据库节点存在唯一的状态参数值时,判定所述数据库集群完成脑裂处理。
[0011]本专利技术实施例提供的集群脑裂的处理方法,通过检测重启后的目标数据库节点是否存在唯一的状态参数值,以确定数据库集群是否完成脑裂处理,便于在脑裂情况仍未处理时及时报警,最大程度上避免数据丢失。
[0012]结合第一方面,在第一方面的第四实施方式中,所述基于所述数据库集群的运行状态,确定所述数据库集群是否发生脑裂,包括:获取所述数据库集群中各个数据库节点对应的状态参数值;检测所述各个数据库节点对应的状态参数值是否相同;当所述各个数据库节点对应的状态参数值存在不相同时,判定所述数据库集群发生脑裂。
[0013]本专利技术实施例提供的集群脑裂的处理方法,在检测到数据库集群中各个数据库节点对应的状态参数值存在不同时,确定数据库集群已经发生脑裂。该方法通过对数据库集群的相关数据库状态进行比较,实现了对数据库脑裂发生的自动检测。
[0014]结合第一方面第四实施方式,在第一方面的第五实施方式中,在所述获取数据库集群中各个数据库节点对应的状态参数值之前,还包括:获取数据库集群中数据库节点的总数量以及各个数据库节点的可用状态和同步状态;检测所述可用状态和所述同步状态均正常的数据库节点数量;当所述数据库节点数量与所述数据库节点的总数量相等时,获取所述数据库集群中各个数据库节点对应的状态参数值。
[0015]本专利技术实施例提供的集群脑裂的处理方法,在获取数据库集群中各个数据库节点对应的状态参数值之前,通过检测可用状态和同步状态均正常的数据库节点数量以及数据库节点的总数量是否相等,以确定数据库集群是否存在其他异常,便于同时兼顾数据库集群的其他异常检测以及脑裂检测。
[0016]结合第一方面或第一方面第一实施方式至第五实施方式中的任一实施方式,在第一方面的第六实施方式中,所述方法还包括:响应于镜像文件的创建操作,基于所述创建操作生成处理所述集群脑裂的镜像文件,所述镜像文件伴随所述数据库集群的启动而启动。
[0017]本专利技术实施例提供的集群脑裂的处理方法,通过创建用于处理集群脑裂的镜像文件,实现了脑裂恢复工具的一键部署,并设置该镜像文件伴随数据库集群的启动而启动,由此能够在数据库集群启动时,自动执行脑裂的实时自动检测,以便在发生脑裂时及时处理。
[0018]根据第二方面,本专利技术实施例提供了一种集群脑裂的处理装置,包括:第一检测模块,用于检测数据库集群的运行状态;判断模块,用于基于所述数据库集群的运行状态,确定所述数据库集群是否发生脑裂;获取模块,用于当所述数据库集群发生脑裂时,获取所述数据库集群中各个数据库节点对应的不同状态参数值;第二检测模块,用于检测所述不同状态参数值对应的序列值;同步模块,用于基于所述序列值的对比结果,确定待同步的目标数据库节点,对所述目标数据库节点进行数据同步。
[0019]本专利技术实施例提供的集群脑裂的处理装置,通过检测数据库集群的运行状态,确
定其是否发生脑裂,在其发生脑裂时,对比数据库节点所对应不同状态参数值的序列值以确定出最新的数据,并根据该序列值的对比结果对目标数据库节点进行数据同步,从而实现脑裂情况的实时自动检测和处理,最大程度上降低了数据丢失的可能性,提高了数据安全性。
[0020]根据第三方面,本专利技术实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或第一方面任一实施方式所述的集群脑裂的处理方法。
[0021]根据第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使计算机执行第一方面或第一方面任一本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种集群脑裂的处理方法,其特征在于,包括:检测数据库集群的运行状态;基于所述数据库集群的运行状态,确定所述数据库集群是否发生脑裂;当所述数据库集群发生脑裂时,获取所述数据库集群中各个数据库节点对应的不同状态参数值;检测所述不同状态参数值对应的序列值;基于所述序列值的对比结果,确定待同步的目标数据库节点,对所述目标数据库节点进行数据同步。2.根据权利要求1所述的方法,其特征在于,所述基于所述序列值的对比结果,确定待同步的目标数据库节点,对所述目标数据库节点进行数据同步,包括:对比所述序列值,确定最大序列值以及非最大序列值;关闭所述非最大序列值对应的数据库节点,得到所述目标数据库节点;重启所述目标数据库节点,对所述目标数据库节点进行数据同步。3.根据权利要求2所述的方法,其特征在于,还包括:获取所述非最大序列值对应的系统文件;在关闭所述非最大序列值对应的数据库节点时,删除所述系统文件。4.根据权利要求2所述的方法,其特征在于,在重启所述目标数据库节点之后,还包括:检测重启后的所述目标数据库节点是否存在唯一的状态参数值;当重启后的所述目标数据库节点存在唯一的状态参数值时,判定所述数据库集群完成脑裂处理。5.根据权利要求1所述的方法,其特征在于,所述基于所述数据库集群的运行状态,确定所述数据库集群是否发生脑裂,包括:获取所述数据库集群中各个数据库节点对应的状态参数值;检测所述各个数据库节点对应的状态参数值是否相同;当所述各个数据库节点对应的状态参数值存在不相同时,判定所述数据库集群发生脑裂。6.根据权利要求5所述的方法,其特征在于,在所述获取数...

【专利技术属性】
技术研发人员:刘进源
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1