[发明专利]一种数据库迁移中交易功能的对比方法及装置有效
申请号: | 201911351967.3 | 申请日: | 2019-12-25 |
公开(公告)号: | CN111090638B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 蔡兵克;张泳;孙雨辰;吴利华 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F16/21 | 分类号: | G06F16/21;G06F16/23;G06F16/2455 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 董骁毅;周永君 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 迁移 交易 功能 对比 方法 装置 | ||
本发明提供了一种数据库迁移中交易功能的对比方法及装置,包括:根据预先获取的数据库中的数据库表的表名及该数据库表中的各字段名生成结果查询语句;数据库包括:目标数据库和源数据库;从数据库表中获取交易数据,并将交易数据输入数据库的交易单元,获得执行结果,执行结果包括:查询结果、新增结果、删除结果和更新结果;利用结果查询语句分别在目标数据库和源数据库中查询执行结果;将执行结果进行交易功能比对。本申请通过执行迁移前后各数据库中的交易单元,来确定在数据迁移前后,数据及业务逻辑的迁移是否成功。
技术领域
本申请属于数据库迁移技术领域,具体地讲,涉及一种数据库迁移中交易功能的对比方法及装置。
背景技术
目前在金融和通讯领域,ORACLE、DB2等国外数据库占据大部分市场,但是随着国家信息科技产业规划及国产化战略的发展,“自主可控、安全可信、高效可用”的国产化信息产品已逐步的在各个行业机构全面使用。应用去ORACLE及ORACLE数据库向国产化数据库迁移已成为一种主流趋势。在数据库迁移的过程中,如何快速、有效的自动检查出同一笔交易在Oracle数据库中的逻辑执行结果(交易功能)和在国产化数据库中的逻辑执行结果(交易功能)是否一致成为一大难点,解决这一问题才是数据库国产化替代过程中的一个基础保障,目前为了解决此类问题大多数使用人工对比的方法,分别去两个、多个数据库中对比数据,耗时耗力。传统的对比方式有针对整个数据库的比较,这种全量数据对比针对普通的应用数据量较小的情况下是可行的,但是也是一种重量级的对比,耗时较高且不易精确对比具体交易的一致性,对于软件工程中的精细化管理的要求不能满足。对于金融行业、通讯行业这些动辄数据体量达T量级的应用,这种传统的方式显然是不符合互联网行业特性和业务发展需求的。
发明内容
本申请提供了一种数据库迁移中交易功能的对比方法,以至少解决现有技术中无法做到在数据库迁移过程中对交易迁移结果透明可控的问题。
根据本申请的一个方面,提供了一种数据库迁移中交易功能的比对方法,包括:
根据预先获取的数据库中的数据库表的表名及该数据库表中的各字段名生成结果查询语句;数据库包括:目标数据库和源数据库;
从数据库表中获取交易数据,并将交易数据输入数据库的交易单元,获得执行结果,执行结果包括:查询结果、新增结果、删除结果和更新结果;
利用结果查询语句分别在目标数据库和源数据库中查询执行结果;
将执行结果进行交易功能比对。
在一实施例中,根据预先获取的数据库中的数据库表的表名及该数据库表中的各字段名生成结果查询语句,包括:
从查询语言库中选取查询保留字,并将查询保留字、字段名和数据库表的表名用分隔符连接组合成结果查询语句。
在一实施例中,将执行结果进行交易功能比对,包括:
将执行结果进行压栈保存;
将各栈中的执行结果进行比对,获得比对结果。
在一实施例中,将执行结果进行压栈保存,包括:
调出预设的执行结果的期望值压入期望值栈中;
将源数据库中的执行结果压入源库值栈中;
将目标数据库的执行结果压入目标库值栈中。
在一实施例中,将各栈中的执行结果进行比对,获得比对结果,包括:
对比期望值栈、源库值栈和目标库值栈中的值是否一致,如果一致,则对比结果为成功,否则为失败。
根据本申请的另一方面,还提供了一种数据库迁移中交易功能的对比装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911351967.3/2.html,转载请声明来源钻瓜专利网。