一种基于容器平台的数据库管理方法及系统技术方案

技术编号:38435540 阅读:14 留言:0更新日期:2023-08-11 14:20
本发明专利技术公开了一种基于容器平台的数据库管理方法及系统。该方法应用于自动切换模型,包括:每隔预设时间段登录node节点读取数据库的心跳表,基于所述心跳表查询每个数据库节点的健康状态;检测node节点的健康状态;若检测到node节点健康,且数据库主节点发生故障,通过集群高可用组件进行数据库的故障转移以及将所述数据库主节点与数据库从节点进行自动切换;若检测到node节点发生故障,通过单元服务高可用组件进行数据库漂移,以及将所述数据库主节点与数据库从节点进行自动切换。本发明专利技术实施例提供的技术方案,可以提高故障处理速度,减少误切换,减少人工运维,使系统具有高可用性。用性。用性。

【技术实现步骤摘要】
一种基于容器平台的数据库管理方法及系统


[0001]本专利技术涉及数据库
,尤其涉及基于容器平台的数据库管理方法及系统。

技术介绍

[0002]容器是一种轻量化的虚拟技术,可以在单一的物理机上同时提供多个独立的进程、文件与网络空间。实验表明,在几乎所有情况下,容器都能表现出与虚拟机相等或者是更好的性能,随着容器技术的流行,主流的数据库厂商都会提供相应的容器镜像,使得可以方便的将数据路托管在容器中。将数据库容器化,通过挂载目录、挂载数据卷等方式,可以明显的提高数据库在扩容、收缩等方面的效率。
[0003]现有技术中,通常采用基于原生k8s(Kubernetes)对容器生命周期自动化管理或采用基于MHA(Master High Availability)的主从复制和读写分离的高可用方法实现容器平台的高可用。前者重启启动失败的容器Pod,以便替换故障容器Pod,并结束掉那些对用户定义运行状况检查无响应的Pod。当数据库容器发生故障时,可以通过重启数据库容器来恢复该数据库,再对外进行数据服务。后者由单一的主节点和多个从节点所构成。其中,业务应用对数据库的主节点进行写操作,通过从节点进行读操作。当数据库集群的主节点出现问题后,可以将业务应用切换到从节点上,节点间的数据同步采用数据库复制技术。
[0004]专利技术人在实现本专利技术的过程中,发现现有技术存在如下缺陷:基于原生k8s对容器生命周期自动化管理在容器Pod重新启动的过程中,将会对业务产生中断。且当多个数据库节点发生故障的时候,也会发生重启先后顺序的问题;数据库集群需要优先启动主节点。此时需要大量人工运维的介入。采用基于MHA的主从复制和读写分离的高可用方法要求数据库保持主从切换对应用的透明,不适用于大规模集群部署,且数据一致性靠原生数据库半同步复制保证,存在数据不一致的风险,需要人工运维的介入,也可能会出现误切换的情况,大大减慢了故障处理速度。

技术实现思路

[0005]本专利技术提供了一种基于容器平台的数据库管理方法及系统,可以提高故障处理速度,减少误切换,减少人工运维,使系统具有高可用性

[0006]第一方面,本申请实施例提供了一种基于容器的平台的数据库管理方法,该方法包括:
[0007]每隔预设时间段登录node节点读取数据库的心跳表,基于所述心跳表查询每个数据库节点的健康状态;
[0008]检测node节点的健康状态;
[0009]若检测到node节点健康,且数据库主节点发生故障,通过集群高可用组件进行数据库的故障转移以及将所述数据库主节点与数据库从节点进行自动切换;
[0010]若检测到node节点发生故障,通过单元服务高可用组件进行数据库漂移,以及将所述数据库主节点与数据库从节点进行自动切换。
[0011]第二方面,本申请实施例提供了一种基于容器的平台的数据库管理装置,该装置包括:
[0012]查询模块,用于每隔预设时间段登录node节点读取数据库的心跳表,基于所述心跳表查询每个数据库节点的健康状态;
[0013]检测模块,用于检测node节点的健康状态;
[0014]集群高可用组件,用于若检测到node节点健康,且数据库主节点发生故障,进行数据库的故障转移以及将所述数据库主节点与数据库从节点进行自动切换;
[0015]单元服务高可用组件,用于若检测到node节点发生故障,进行数据库漂移,以及将所述数据库主节点与数据库从节点进行自动切换。
[0016]本专利技术实施例的技术方案,通过读取数据库心跳表,查询数据库节点的健康状态,一方面,在node节点健康,且数据库主节点发生故障时,通过集群高可用组件进行数据库的故障转移以及将数据库主节点与数据库从节点进行自动切换;另一方面当node节点发生故障时,通过单元服务高可用组件进行数据库漂移,以及将述数据库主节点与数据库从节点进行自动切换,可以提高故障处理速度,减少误切换,减少人工运维,使系统具有高可用性。解决了现有技术中数据库检修过程中无法正常运行的问题,保证了容器平台的数据库在切换节点时的数据稳定,提高容器平台的数据库的运行性能。
[0017]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0018]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1a是根据本专利技术实施例一提供的一种基于容器平台的数据库管理方法的流程图;
[0020]图1b是根据本实施例一所提供的方法得到的一种发生故障时启动故障的failover操作或故障的在线switchover操作的流程图;
[0021]图1c是根据本专利技术实施例一所提供的方法得到的一种MySQL数据库节点拓扑表;
[0022]图1d是根据本专利技术实施例一所提供的方法得到的一种node节点发生故障的判定流程图;
[0023]图2是根据本专利技术实施例二提供的一种基于容器平台的数据库管理方法的流程图;
[0024]图3是根据本专利技术实施例三提供的一种基于容器的平台的数据库管理装置的结构示意图;
[0025]图4是根据本专利技术实施例四提供的一种基于容器的平台的数据库管理系统的结构示意图。
具体实施方式
[0026]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0027]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0028]为了使本
的人员更好地理解本专利技术方案,首先将现有技术中基于容器平台的数据库管理方法进行简单介绍。具体的,MySQL是目前最流行的开源的关系型数据库,以其低成本,易部署,高性能等特点,正逐步成为当今主流数据库解决方案。尤其是开放源码这一特点,广受开发者的欢迎,可以大大降低拥有开发成本。容器是一种轻量化的虚拟技术,可以在单一的物理机上同时提供多个独立本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于容器的平台的数据库管理方法,其特征在于,所述方法应用于自动切换模型,所述方法包括:每隔预设时间段登录node节点读取数据库的心跳表,基于所述心跳表查询每个数据库节点的健康状态;检测node节点的健康状态;若检测到node节点健康,且数据库主节点发生故障,通过集群高可用组件进行数据库的故障转移以及将所述数据库主节点与数据库从节点进行自动切换;若检测到node节点发生故障,通过单元服务高可用组件进行数据库漂移,以及将所述数据库主节点与数据库从节点进行自动切换。2.根据权利要求1所述的方法,其特征在于,所述通过集群高可用组件进行数据库的故障转移以及将所述数据库主节点与数据库从节点进行自动切换,包括:通过集群高可用组件中的第一Consul模块存储数据库的拓扑信息;通过集群高可用组件中的切换管理器SWM模块从所述第一Consul模块中查询数据库的拓扑信息,并基于查询到的拓扑信息将所述数据库主节点与所述数据库从节点进行自动切换,以及进行数据库的故障转移。3.根据权利要求2所述的方法,其特征在于,检测到数据库主节点发生故障,包括:若通过SWM模块连续n次检测到数据库主节点没有心跳,则将所述数据库主节点的状态设置为离线,确定所述数据库主节点发生故障。4.根据权利要求1所述的方法,其特征在于,若检测到node节点发生故障,通过单元服务高可用组件进行数据库漂移,包括:若连续n次检查到数据库集群中的node节点状态不正常,且所述node节点上存在pod容器,以及所述node节点在单元服务高可用组件中的第二Consul模块中注册的服务状态不正常,确定所述node节点发生故障;其中,n大于1;通过单元服务高可用组件中的SWMPOD模块进行容器漂移。5.根据权利要求4所述的方法,其特征在于,还包括:通过所述第二Consul模块中的服务状态监控执行器根据监测指令执行监测node节点的服务状态,并将监测结果反馈给所述第二Consul模块中的服务状态管...

【专利技术属性】
技术研发人员:黄海凌赵洁江一鸣唐子成杨欣捷
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:

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

1