【技术实现步骤摘要】
一种数据库备份方法及装置
[0001]本申请涉及计算机
,尤其涉及一种数据库备份方法及装置。
技术介绍
[0002]近年来,随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。如,目前金融行业的大部分业务转至线上处理,相应的,会产生大量的线上数据存储在数据库。
[0003]MySQL(Structured Query Language,结构化查询语言)数据库是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样可以增加存储的速度并提高灵活性。随着互联网技术的推广和“大数据”时代的来临,数据更新速度快,数据的存储、备份、恢复功能也越来越受到人们的关注,如何优化数据库的备份方式,保证数据的存储、备份和恢复就成了当务之急。目前数据库的备份是在固定的时间点对整个数据库进行备份和回滚,过程中若出现问题,则整个数据库进行回滚。这种方式耗费大量存储资源,且影响数据库性能。
[0004]因此,现在亟需一种数据库备份方法,用于节约存储资源,降低数据回滚对数据库性能的影响。
技术实现思路
[0005]本申请实施例提供一种数据库备份方法,用于节约存储资源,降低数据回滚对数据库性能的影响。
[0006]第一方面,本申请实施例提供一种数据库备份方法,该方法包括:
[0007]获取数据库变更脚本,所述数据库变更脚本中包含至少一条数据库变 ...
【技术保护点】
【技术特征摘要】
1.一种数据库备份方法,其特征在于,所述方法包括:获取数据库变更脚本,所述数据库变更脚本中包含至少一条数据库变更语句;针对任意一条数据库变更语句,将所述数据库变更语句转换成对应的数据库查询语句;根据所述数据库查询语句从数据库中获取查询结果;根据所述查询结果和所述数据库变更语句对应的反向操作语句,生成针对所述数据库变更语句的数据库备份回滚语句;基于各数据库备份回滚语句,生成所述数据库变更脚本对应的数据库回滚脚本。2.如权利要求1中所述的方法,其特征在于,将所述数据库变更语句转换成对应的数据库查询语句,包括:解析所述数据库变更语句,得到所述数据库变更语句中的选取数据条件,根据所述选取数据条件生成所述数据库查询语句,所述选取数据条件用于从数据库中选取所述数据库变更语句对应的待变更对象的关联数据。3.如权利要求1中所述的方法,其特征在于,所述数据库变更语句为更新数据语句,根据所述查询结果和所述数据库变更语句对应的反向操作语句,生成针对所述数据库变更语句的数据库备份回滚语句,包括:解析所述更新数据语句的更新数据范围,判断所述更新数据范围和所述查询结果中的查询数据范围;在所述更新数据范围大于等于所述查询数据范围,根据所述更新数据语句和所述查询结果生成数据库备份回滚语句;在所述更新数据范围小于所述查询数据范围,则按照所述更新数据语句中的顺序关键字确定所述查询数据范围对应的子查询结果,根据所述更新数据语句和所述子查询结果生成数据库备份回滚语句。4.如权利要求1中所述的方法,其特征在于,所述数据库变更语句为插入数据语句或更新数据语句,将所述数据库变更语句转换成对应的数据库查询语句之前,还包括:解析所述插入数据语句或所述更新数据语句的选取数据条件得到数据库表名;确定主键容器中是否包含所述数据库表名对应的主键,若否,则根据所述数据库表名生成主键查询语句,通过所述主键查询语句从所述数据库中获取所述数据库表名对应的主键,将获取的主键存储在所述主键容器中。5.如权利要求1中所述的方法,其特征在于,根据所述查询结果和所述数据库变更语句对应的反向操作语句,生成针对所述数据库变更语句的数据库备份回滚语句,包括:确定所述数据库变更语句对应的反向操作语句;将所述查询结果中的查询值设置为所述反向操作语句的变更对象,从而生成所述数据库变更语句的数据库备份回滚语句。6.如权利要求5中所述的方法,其特征在于,所述数据库变更语句为删除数据语句;根据所述数据库查询语句从数据库中获取查询结果,包括:根据所述数据库查询语句从数据库中获取所述删除数据语句对应的各字段的值;确定所述数据库变更语句对应的反向操作语句,包括:确定所述数据库变更语句对应的反向操作语句为插入数据语句。7.如权利要求5中所述的方法,其特征在于,所述数据库变更语句为插入数据语句;根据所述数据库查询语句从数据库中获取查询结果,包括:
在从所述数据库中未查询到所述数据库查询语句对应的数据后,将从所述插入数据语句中获取的数据库表名和主键作为查询结果;确定所述数据库变更语句对应的反向操作语句,包括:确定所述数据库变更语句对应的反向操作语句为删除数据语...
【专利技术属性】
技术研发人员:杨成,江旻,杨杨,吴磊,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。