一种数据库故障检测与恢复方法、产品、装置及存储介质制造方法及图纸

技术编号:37480652 阅读:17 留言:0更新日期:2023-05-07 09:21
本发明专利技术公开了一种数据库故障检测与恢复方法、产品、装置及存储介质,涉及数据库故障恢复技术领域。该数据库故障检测与恢复方法,定时扫描MySQL获取实例节点信息,并通过ping命令调用底层接口进行节点实际探活;检测出实例故障并判断实例故障类型;封装任务流及任务流上下文信息;Zookeeper注册任务节点触发任务流执行,消除故障恢复实例状态。在云缓存数据库的管控中心,当检测到实例节点故障时自动触发恢复任务流,可实现对实例服务及其实例底层节点的自恢复处理,增强智能化节约了时间,从而保障服务恢复的时效性及实例节点的高可用性,解决了人工过多介入和哨兵模式的部署复杂、不支持节点恢复等弊端问题。不支持节点恢复等弊端问题。不支持节点恢复等弊端问题。

【技术实现步骤摘要】
一种数据库故障检测与恢复方法、产品、装置及存储介质


[0001]本专利技术涉及数据库故障恢复
,尤其涉及一种数据库故障检测与恢复方法、产品、装置及存储介质。

技术介绍

[0002]目前,使用最广泛的云缓存数据库当属开源Redis以及各云厂商基于Redis协议的衍生自研产品,一般支持单机版、主备版、只读版及其集群版等不同规格的实例部署形态,对于故障检测与恢复方案相对单一。其中,对于单机和单纯的主备一般不支持自动故障恢复功能,往往需要人工介入处理;相对常用的支持故障检测恢复功能的是哨兵集群模式,通过哨兵集群来监控实例节点的存活状态,当发现有节点客观下线后对其自动做主备切换处理以实现对应用侧的高可用功能。
[0003]但哨兵集群模式存在一定的弊端:除实例节点外还需部署哨兵集群,部署模式相对复杂,资源占用更高;哨兵模式只能实现通过对主备节点的自动切换以实现服务恢复功能而无法实现对故障节点的自动恢复功能;哨兵模式对应用侧客户端有一定兼容性要求。

技术实现思路

[0004]本申请实施例通过提供一种数据库故障检测与恢复方法、产品、装置及存储介质,解决了现有技术中人工过多介入和哨兵模式的部署复杂、不支持节点恢复等弊端问题,实现了对实例服务及其实例底层节点的自恢复处理。
[0005]本申请实施例提供了一种数据库故障检测与恢复方法,包括以下步骤:
[0006]S1、定时扫描MySQL获取实例节点信息,并通过ping命令调用底层接口进行节点实际探活;
[0007]S2、检测出实例故障并判断实例故障类型;
[0008]S3、封装任务流及任务流上下文信息;
[0009]S4、Zookeeper注册任务节点触发任务流执行,消除故障恢复实例状态。
[0010]进一步地,所述S1中定时扫描MySQL获取实例节点信息的具体步骤包括:
[0011]S11、保存实例包含的节点信息为MySQL数据表中的实例节点信息表;
[0012]S12、定时扫描MySQL实例节点信息表获取实例节点信息。
[0013]进一步地,所述S2具体包括以下步骤:
[0014]S21、检测到节点实际存活状态异常时,更新节点对应的实例状态为异常;
[0015]S22、根据故障节点所属的实例类型和节点类型判断实例故障类型。
[0016]进一步地,所述S2中实例故障类型包括:单机版实例节点故障、主备版实例主节点故障、主备版实例备节点故障、主备版实例只读节点故障、集群版实例分片主节点故障、集群版实例分片备节点故障、集群版实例代理节点故障类型。
[0017]进一步地,所述S3具体包括以下步骤:
[0018]S31、创建实例故障类型对应的恢复处理任务流;
[0019]S32、保存任务流上下文信息到MySQL的任务流相关信息表中。
[0020]进一步地,所述S32中任务流相关信息表包括:任务流表和任务步骤表,所述任务流表是任务流的整体调度上下文信息,所述任务步骤表是组成任务流中各个任务步骤的上下文信息。
[0021]进一步地,所述S4具体包括以下步骤:
[0022]S41、Zookeeper注册任务流任务ID到任务调度监听目录节点中;
[0023]S42、通过Zookeeper的节点监听机制触发任务流调度执行,实现自动恢复处理实例故障。
[0024]一种云缓存数据库MemDB产品,包括Redis实例节点、管控中心服务、统一访问层、MySQL、Zookeeper,其中:
[0025]Redis实例节点是产品架构底层,管控中心服务是产品中间层,管控中心服务与MySQL和Zookeeper相连,统一访问层是产品上层;
[0026]管控中心服务,负责内部实例节点关系、任务流组织功能的逻辑处理调度;
[0027]统一访问层,包含实例节点具体连接信息;
[0028]MySQL和Zookeeper,存储实例信息、节点状态、任务流步骤、各任务上下文信息。
[0029]一种数据库故障检测与恢复装置,包括巡检探活模块,实例故障模块,任务流模块,调度执行模块,其中:
[0030]巡检探活模块,用于定时扫描MySQL获取实例节点信息,并通过ping命令调用底层接口进行节点实际探活;
[0031]实例故障模块,用于检测出实例故障并判断实例故障类型;
[0032]任务流模块,用于封装任务流及任务流上下文信息;
[0033]调度执行模块,用于Zookeeper注册任务节点触发任务流执行,消除故障恢复实例状态。
[0034]一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现任一项所述的数据库故障检测与恢复方法。
[0035]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0036]保存任务流上下文信息,可以对故障恢复任务流做多重处理,抽象故障恢复处理流程的相同步骤为模块,可以实现代码复用,便于开发实现也便于后期维护,增强了编码的简易性和健壮性;
[0037]利用管控中心进行巡检探活、自动触发恢复任务流,使对云缓存数据库产品的故障检测和自恢复处理更加便捷智能,解决了过多的人工干预、传统哨兵集群的复杂部署、额外占用资源的问题;
[0038]每种故障类型可梳理出一套恢复处理流程,使可支持和自恢复处理的故障类型更加丰富,产品的故障处理扩展性更强。
附图说明
[0039]图1为本专利技术云缓存数据库故障检测与恢复主流程图;
[0040]图2为本专利技术云缓存数据库故障检测与恢复流程图;
[0041]图3为本专利技术云缓存数据库MemDB产品架构图;
[0042]图4为本专利技术云缓存数据库主备版实例主节点故障恢复流程图。
具体实施方式
[0043]本专利技术专利创造性的提出一种数据库故障检测与恢复方法,通过定时任务利用ping命令机制实现对所有实例节点状态的巡检探活,当检测到实例节点故障时自动触发故障类型对应的恢复任务流,可实现对实例服务及其实例底层节点的自恢复处理,增强智能化节约了时间,从而保障服务恢复的时效性及实例节点的高可用性,解决了人工过多介入和哨兵模式的部署复杂、不支持节点恢复等弊端问题。
[0044]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0045]实施例一
[0046]一种数据库故障检测与恢复方法,包括以下步骤:
[0047]S1、定时扫描MySQL获取实例节点信息,并通过ping命令调用底层接口进行节点实际探活;
[0048]S2、检测出实例故障并判断实例故障类型;
[0049]S3、封装任务流及任务流上下文信息;
[0050]S4、Zookeeper注册任务节点触发任务流执行,消除故障恢复实例状态。
[0051]在本实施例中,如图1所示,云缓存数据库MemDB开通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库故障检测与恢复方法,其特征在于,包括以下步骤:S1、定时扫描MySQL获取实例节点信息,并通过ping命令调用底层接口进行节点实际探活;S2、检测出实例故障并判断实例故障类型;S3、封装任务流及任务流上下文信息;S4、Zookeeper注册任务节点触发任务流执行,消除故障恢复实例状态。2.如权利要求1所述的一种数据库故障检测与恢复方法,其特征在于,所述S1中定时扫描MySQL获取实例节点信息的具体步骤包括:S11、保存实例包含的节点信息为MySQL数据表中的实例节点信息表;S12、定时扫描MySQL实例节点信息表获取实例节点信息。3.如权利要求1所述的一种数据库故障检测与恢复方法,其特征在于,所述S2具体包括以下步骤:S21、检测到节点实际存活状态异常时,更新节点对应的实例状态为异常;S22、根据故障节点所属的实例类型和节点类型判断实例故障类型。4.如权利要求1所述的一种数据库故障检测与恢复方法,其特征在于,所述S2中实例故障类型包括:单机版实例节点故障、主备版实例主节点故障、主备版实例备节点故障、主备版实例只读节点故障、集群版实例分片主节点故障、集群版实例分片备节点故障、集群版实例代理节点故障类型。5.如权利要求1所述的一种数据库故障检测与恢复方法,其特征在于,所述S3具体包括以下步骤:S31、创建实例故障类型对应的恢复处理任务流;S32、保存任务流上下文信息到MySQL的任务流相关信息表中。6.如权利要求5所述的一种数据库故障检测与恢复方法,其特征在于,所述S32中任务流相关信息表包括:任务流表和任务步骤表,所述任务...

【专利技术属性】
技术研发人员:章清亮余伦强刘建平郑云严程向
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1