数据备份方法技术

技术编号:39738907 阅读:7 留言:0更新日期:2023-12-17 23:40
本申请公开了一种数据备份方法

【技术实现步骤摘要】
数据备份方法、装置、计算机设备及计算机可读存储介质


[0001]本申请涉及计算机
,特别是涉及一种数据备份方法

装置

计算机设备及计算机可读存储介质


技术介绍

[0002]随着计算机网络的飞速发展,信息安全的重要性日趋明显,由于数据传输

数据存储和数据交换过程中有可能导致数据丢失,甚至造成无法估量和弥补的损失,因此,数据备份作为信息安全的一个重要部分,也是保护数据的一种重要手段
。Redis(Remote Dictionary Server
,远程字典服务
)
是一个基于内存运行且可以将数据持久化的非关系型数据库,通过键值对的格式来保存数据,并会将数据保存在日志类型文件中
。Redis
数据库支持主从同步,能够存储使用频繁的数据,减少访问数据库的次数,提高运行效率

[0003]相关技术中,
Redis
往往都是一主多备,比如一主三备,且备份任务是通过操作系统的定时任务
Crontab(
设置周期性被执行指令
)
进行控制的

为了防止主备切换后角色发生变化,需要在每个节点都部署备份任务,通过判断主备角色决定是否发起备份,其中,默认主库不发起备份,备库允许进行备份

但是申请人认识到,如果每个节点都有备份任务,那么就会在三个备库都进行备份,但是三个备库的数据是一样的,这样就会重复备份占用三份磁盘空间,造成资源浪费,且备份任务是通过
Crontab
部署的,一旦发生数据切换,在
Redis
集群中备份任务的维护和调整难度大,也无法确定
Redis
集群中的备库数量,无法识别是否在相同的备库上发起过备份,导致备份准确度不高

备份效率低


技术实现思路

[0004]有鉴于此,本申请提供了一种数据备份方法

装置

计算机设备及计算机可读存储介质,主要目的在于解决
Redis
集群重复备份造成资源浪费,以及备份任务的维护和调整难度大,导致备份准确度不高

备份效率低的问题

[0005]依据本申请第一方面,提供了一种数据备份方法,该方法包括:
[0006]获取待执行备份任务,确定所述待执行备份任务指示的待备份的目标主数据库;
[0007]查询所述目标主数据库所在的数据库集群的元数据信息,根据所述元数据信息包括的数据库拓扑结构,在所述数据库集群中确定与所述目标主数据库存在关联关系的多个备份数据库,其中,所述数据库拓扑结构指示了所述数据库集群中包括的多个主数据库与多个备份数据库之间的关联关系;
[0008]在所述多个备份数据库中确定目标备份数据库,基于所述目标备份数据库对所述目标主数据库执行数据备份操作,得到备份结果;
[0009]生成包括所述备份结果的数据库备份记录,以及将所述数据库备份记录存储在备份日志表中

[0010]可选地,所述述获取待执行备份任务,确定所述待执行备份任务指示的待备份的目标主数据库之前,所述方法还包括:
[0011]确定待备份的一数据库集群,获取所述数据库集群的元数据信息;
[0012]确定所述数据库集群包括的多个数据库,查询所述多个数据库中每个数据库在所述元数据信息中对应的属性信息,以及按照属性信息在所述多个数据库中提取至少一个主数据库;
[0013]在所述元数据信息中读取所述至少一个主数据库中每个主数据库的主数据库标识,获取预设备份时间间隔,以及每隔所述预设备份时间间隔,为所述每个主数据库生成携带所述主数据库的主数据库标识的待执行备份任务;
[0014]其中,当所述待执行备份任务的数量为多个时,将所述多个待执行备份任务组成待执行备份任务队列,以及调用异步执行线程,以使所述多个待执行备份任务并发异步执行

[0015]可选地,所述在所述多个备份数据库中确定目标备份数据库,基于所述目标备份数据库对所述目标主数据库执行数据备份操作,得到备份结果,包括:
[0016]在所述多个备份数据库中选取一备份数据库作为所述目标备份数据库,其中,所述目标备份数据库是当前处于空闲状态或当前剩余数据存储空间大于等于所述目标主数据库的待备份数据量的备份数据库;
[0017]在所述元数据信息中读取所述目标主数据库的主数据库地址信息,以及在所述元数据信息中读取所述目标备份数据库的备份数据库地址信息;
[0018]按照所述主数据库地址信息

所述备份数据库地址信息,控制所述目标备份数据库与所述目标主数据库建立连接;
[0019]获取预设备份脚本,调用所述预设备份脚本在所述目标主数据库中提取待备份数据,以及基于所述预设备份脚本将所述待备份数据存储至所述目标备份数据库的分布式存储空间中;
[0020]当检测到所述数据备份操作执行完成时,调用所述预设备份脚本获取所述数据备份操作的备份结果,其中,所述备份结果指示了本次的数据备份操作执行成功或者失败

[0021]可选地,所述在所述多个备份数据库中确定目标备份数据库,基于所述目标备份数据库对所述目标主数据库执行数据备份操作,得到备份结果之后,所述方法还包括:
[0022]当所述备份结果指示本次的数据备份操作执行失败时,获取所述目标主数据库的主数据库标识

所述目标备份数据库的备份数据库标识,生成携带所述主数据库标识

所述备份数据库标识的备份失败提醒;
[0023]将所述备份失败提醒发送至维修人员所处终端设备,以使所述维修人员根据所述备份失败提醒对所述目标主数据库和所述目标备份数据库进行修复;
[0024]其中,当接收到所述维修人员修复完成后发起的数据备份指令时,获取所述数据备份指令指示的所述主数据库标识

所述备份数据库标识,确定所述主数据库标识指示的目标主数据库

所述备份数据库标识指示的目标备份数据库,以及基于所述目标备份数据库重新对所述目标主数据库执行数据备份操作,得到备份结果

[0025]可选地,所述生成包括所述备份结果的数据库备份记录,以及将所述数据库备份记录存储在备份日志表中,包括:
[0026]获取所述数据备份操作执行完成的备份完成时间,在所述元数据信息中获取所述目标备份数据库的备份数据库标识

所述目标主数据库的主数据库标识;
[0027]生成包括所述备份完成时间

所述备份数据库标识

所述主数据库标识

所述备份结果的数据库备份记录;
[0028]获取所述数据库集群的备份日志表,将所述数据库备份记录存储在所述备份日志本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据备份方法,其特征在于,包括:获取待执行备份任务,确定所述待执行备份任务指示的待备份的目标主数据库;查询所述目标主数据库所在的数据库集群的元数据信息,根据所述元数据信息包括的数据库拓扑结构,在所述数据库集群中确定与所述目标主数据库存在关联关系的多个备份数据库,其中,所述数据库拓扑结构指示了所述数据库集群中包括的多个主数据库与多个备份数据库之间的关联关系;在所述多个备份数据库中确定目标备份数据库,基于所述目标备份数据库对所述目标主数据库执行数据备份操作,得到备份结果;生成包括所述备份结果的数据库备份记录,以及将所述数据库备份记录存储在备份日志表中
。2.
根据权利要求1所述的方法,其特征在于,所述获取待执行备份任务,确定所述待执行备份任务指示的待备份的目标主数据库之前,所述方法还包括:确定待备份的一数据库集群,获取所述数据库集群的元数据信息;确定所述数据库集群包括的多个数据库,查询所述多个数据库中每个数据库在所述元数据信息中对应的属性信息,以及按照属性信息在所述多个数据库中提取至少一个主数据库;在所述元数据信息中读取所述至少一个主数据库中每个主数据库的主数据库标识,获取预设备份时间间隔,以及每隔所述预设备份时间间隔,为所述每个主数据库生成携带所述主数据库的主数据库标识的待执行备份任务;其中,当所述待执行备份任务的数量为多个时,将所述多个待执行备份任务组成待执行备份任务队列,以及调用异步执行线程,以使所述多个待执行备份任务并发异步执行
。3.
根据权利要求1所述的方法,其特征在于,所述在所述多个备份数据库中确定目标备份数据库,基于所述目标备份数据库对所述目标主数据库执行数据备份操作,得到备份结果,包括:在所述多个备份数据库中选取一备份数据库作为所述目标备份数据库,其中,所述目标备份数据库是当前处于空闲状态或当前剩余数据存储空间大于等于所述目标主数据库的待备份数据量的备份数据库;在所述元数据信息中读取所述目标主数据库的主数据库地址信息,以及在所述元数据信息中读取所述目标备份数据库的备份数据库地址信息;按照所述主数据库地址信息

所述备份数据库地址信息,控制所述目标备份数据库与所述目标主数据库建立连接;获取预设备份脚本,调用所述预设备份脚本在所述目标主数据库中提取待备份数据,以及基于所述预设备份脚本将所述待备份数据存储至所述目标备份数据库的分布式存储空间中;当检测到所述数据备份操作执行完成时,调用所述预设备份脚本获取所述数据备份操作的备份结果,其中,所述备份结果指示了本次的数据备份操作执行成功或者失败
。4.
根据权利要求1所述的方法,其特征在于,所述在所述多个备份数据库中确定目标备份数据库,基于所述目标备份数据库对所述目标主数据库执行数据备份操作,得到备份结果之后,所述方法还包括:
当所述备份结果指示本次的数据备份操作执行失败时,获取所述目标主数据库的主数据库标识

所述目标备份数据库的备份数据库标识,生成携带所述主数据库标识

所述备份数据库标识的备份失败提醒;将所述备份失败提醒发送至维修人员所处终端设备,以使所述维修人员根据所述备份失败提醒对所述目标主数据库和所述目标备份数据库进行修复;其中,当接收到所述维修人员修复完...

【专利技术属性】
技术研发人员:陈德虎
申请(专利权)人:平安付科技服务有限公司
类型:发明
国别省市:

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

1