一种高效的数据库回滚方案验证方法技术

技术编号:29703089 阅读:12 留言:0更新日期:2021-08-17 14:31
本发明专利技术公开一种高效的数据库回滚方案验证方法,属于计算机技术领域,针对数据库存储系统版本回滚方案中升级脚本复杂或数据量较大导致工作量较大的问题,提出以下方案:一种高效的数据库回滚方案验证方法,包括:获取数据库升级回滚所需的SQL升级脚本;自动分析SQL升级脚本,以获取到数据变动表;对数据变动表的散列函数数据求和,并对数据库升级回滚;比较升级回滚后的散列函数数据求和值和升级回滚前的散列函数数据求和值是否一致。本发明专利技术技术方案提升了数据库回滚的验证效率。

【技术实现步骤摘要】
一种高效的数据库回滚方案验证方法
本专利技术涉及计算机
,具体涉及一种高效的数据库回滚方案验证方法。
技术介绍
目前,数据已经成为企业、机构和个人最重要的财富,而数据集中已成为大势所趋,越来越多的企业都选择自建数据库存储系统,或直接把数据迁移到云端。当数据库存储系统发生应用故障、文件损坏或者数据库存储系统的软件版本存在故障时,需要进行快速的数据恢复或软件版本回滚,将数据恢复某个可用的时间点的状态。然而,对于数据库存储系统升级的结构化查询语言(StructuredQueryLanguage,SQL)脚本提供的回滚方案的检查,一般有二种方法:其一由开发人员和数据库管理员(DatabaseAdministrator,DBA)评审正确性,该方法可能由于人员能力差异造成回滚脚本的错误未被检查出来;其二由测试人员对升级前和回滚后的表逐一比较,该方法在升级脚本复杂或者数据量较大时工作量会特别大。对于上述关于SQL的回滚方案需要多次提交回滚脚本时,SQL回滚脚本的正确性验证对于升级回滚的保障十分重要,越来越多的公司提倡测试人员对回滚脚本正确性做验证,会增加很多测试工作。
技术实现思路
本专利技术所解决的技术问题在于提供一种高效的数据库回滚方案验证方法,旨在解决数据库存储系统版本回滚方案中升级脚本复杂或数据量较大导致测试工作量较大的问题,提升数据库回滚脚本测试的验证效率。本专利技术提供的基础方案:一种高效的数据库回滚方案验证方法,包括:获取数据库升级回滚所需的SQL升级脚本;自动分析所述SQL升级脚本,以获取到数据变动表;对所述数据变动表的散列函数数据求和,并对数据库升级回滚;比较升级回滚后的散列函数数据求和值和升级回滚前的散列函数数据求和值是否一致。本专利技术基础方案的原理为:高效的数据库回滚方案验证方法通过获取数据库升级回滚所需的结构化查询语言(StructuredQueryLanguage,SQL)升级脚本,并对SQL升级脚本进行分析,以提取出SQL升级脚本中涉及到数据变动的表;其次,通过对升级回滚前后的数据变动表中散列函数数据求和后,比较升级回滚后的散列函数数据求和值和升级回滚前的散列函数数据求和值是否一致,验证SQL升级或者回滚脚本是否正确。若数据库升级回滚前后的散列函数数据求和值一致,则继续采用SQL升级脚本执行升级回滚方案,若数据库升级回滚前后的散列函数数据求和值不一致,则不采用SQL升级脚本执行升级回滚方案。本专利技术基础方案的效果为:(1)本方案中,高效的数据库回滚方案验证方法通过对SQL升级脚本自动分析,提取出SQL升级脚本所需的表的变动信息,并对升级前数据变动表的散列函数数据求和,以及对回滚后数据变动表的散列函数数据求和,对两次求和进行对比,验证回滚SQL升级脚本是否正确,极大的减少了验证时间,提高了对数据库回滚脚本验证的效率。(2)本方案中,高效的数据库回滚方案验证方法自动验证SQL升级或者回滚脚本是否正确,解决了由于人员能力差异造成回滚脚本的错误未被检查出来的问题,保证了SQL升级回滚方案准确性。(3)本方案中,高效的数据库回滚方案验证方法通过比较升级回滚后的散列函数数据求和值和升级回滚前的散列函数数据求和值是否一致,数据量小,验证过程简单,解决了数据库存储系统版本回滚方案中升级脚本复杂或数据量较大导致测试工作量较大的问题。进一步,所述自动分析所述SQL升级脚本,以获取到数据变动表的步骤包括:对数据库升级回滚所需的SQL升级脚本逐一分析;获取并提取具有insertinto语句,update语句或者delete语句的表。通过获取数据库所需的SQL升级脚本,并对其逐一分析,提取其中有insertinto语句,update语句或者delete语句的表,提升了数据库回滚方案验证的可靠性。进一步,对所述数据变动表的散列函数数据求和的步骤具体为:获取所述数据变动表中每一行散列函数值;根据每一行散列函数值计算所述数据变动表中各行散列函数数据之和。获取数据变动表中每一行散列函数值,将数据变动表中每一行的散列函数值进行求和,进一步提升数据库回滚验证的精确性。进一步,对所述数据变动表的散列函数数据求和,并对数据库升级回滚的步骤包括:将数据变动表添加固定字符串;对添加固定字符串的数据变动表的散列函数数据求和。所述将数据变动表添加固定字符串的步骤具体为:将数据变动表的每一行添加固定字符串。本方案中,通过在数据变动表的每一行添加固定字符串,再次对数据变动表的每一行的散列函数数据求和,以此对数据库SQL升级脚本回滚正确性做验证。进一步,对所述数据变动表的散列函数数据求和,并对数据库升级回滚的步骤之后包括:对升级回滚后的数据库中数据变动表的散列函数数据求和。通过对升级回滚后的数据库中数据变动表的散列函数数据求和,以作为升级回滚前的对比的参照对象,便于进一步对SQL升级回滚方案的正确性进行验证。进一步,所述对升级回滚后的数据库中数据变动表的散列函数数据求和的步骤包括:获取升级回滚后的数据库中数据变动表中每一行散列函数值;根据升级回滚后的数据库中每一行散列函数值计算数据变动表中各行散列函数数据之和。获取升级回滚后的数据库中数据变动表中每一行散列函数值,将升级回滚后的数据变动表中每一行的散列函数值进行求和,更好地使得升级回滚后的参照对象与升级回滚前的散列函数求和值进行比对。进一步,所述对升级回滚后的数据库中数据变动表的散列函数数据求和的步骤还包括:将升级回滚后的数据库中数据变动表每一行添加固定字符串;对升级回滚后的数据库中添加固定字符串的数据变动表的散列函数数据求和。本方案中,通过在升级回滚后的数据库中数据变动表的每一行添加固定字符串,再次对升级回滚后的数据库中数据变动表的每一行的散列函数数据求和,以此对数据库SQL升级脚本回滚正确性做验证。附图说明图1为本专利技术实施例方案涉及的终端设备内部结构示意图;图2为本专利技术高效的数据库回滚方案验证方法一实施例的流程示意图。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。下面通过具体实施方式进一步详细说明:说明书附图中的附图标记包括:处理器1001、通信总线1002、用户接口1003、网络接口1004、存储器1005。如图1所示,其为本专利技术实施例方案涉及的终端设备内部结构示意图。需要说明的是,图1也即是终端设备的硬件运行环境的结构示意图。本专利技术实施例终端设备可以是PC、便携计算机等终端设备。如图1所示,该终端设备可以包括:处理器1001,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现处理器1001、用户接口1003、网络接口1004、存储器10本文档来自技高网...

【技术保护点】
1.一种高效的数据库回滚方案验证方法,其特征在于,包括:/n获取数据库升级回滚所需的SQL升级脚本;/n自动分析所述SQL升级脚本,以获取到数据变动表;/n对所述数据变动表的散列函数数据求和,并对数据库升级回滚;/n比较升级回滚后的散列函数数据求和值和升级回滚前的散列函数数据求和值是否一致。/n

【技术特征摘要】
1.一种高效的数据库回滚方案验证方法,其特征在于,包括:
获取数据库升级回滚所需的SQL升级脚本;
自动分析所述SQL升级脚本,以获取到数据变动表;
对所述数据变动表的散列函数数据求和,并对数据库升级回滚;
比较升级回滚后的散列函数数据求和值和升级回滚前的散列函数数据求和值是否一致。


2.根据权利要求1所述的高效的数据库回滚方案验证方法,其特征在于,所述自动分析所述SQL升级脚本,以获取到数据变动表的步骤包括:
对数据库升级回滚所需的SQL升级脚本逐一分析;
获取并提取具有insertinto语句,update语句或者delete语句的表。


3.根据权利要求1所述的高效的数据库回滚方案验证方法,其特征在于,对所述数据变动表的散列函数数据求和的步骤具体为:
获取所述数据变动表中每一行散列函数值;
根据每一行散列函数值计算所述数据变动表中各行散列函数数据之和。


4.根据权利要求3所述的高效的数据库回滚方案验证方法,其特征在于,对所述数据变动表的散列函数数据求和,并对数据库升级回滚的步骤包括:
将数据变动表添加固定字符串;<...

【专利技术属性】
技术研发人员:陆朝华牟荣鑫刘甲黄俊
申请(专利权)人:重庆富民银行股份有限公司
类型:发明
国别省市:重庆;50

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

1