[发明专利]数据库的事务一致性测试方法、装置、存储介质及设备有效
| 申请号: | 201810124776.2 | 申请日: | 2018-02-07 |
| 公开(公告)号: | CN108319711B | 公开(公告)日: | 2021-07-27 |
| 发明(设计)人: | 刘威;王德宝;倪欣;张丹 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F16/23 | 分类号: | G06F16/23 |
| 代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 刘映东 |
| 地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据库 事务 一致性 测试 方法 装置 存储 介质 设备 | ||
1.一种数据库的事务一致性测试方法,其特征在于,所述方法包括:
获取待测试数据库存在的异常现象,所述异常现象指代导致所述待测试数据库出现运行不正常的现象;
获取所述待测试数据库的结构化查询语言SQL测试脚本文件的注释内容,所述SQL测试脚本文件中指示了所述异常现象对应的至少一个事务;所述注释内容中至少包括所述至少一个事务的标识信息;
根据所述注释内容,确定所述SQL测试脚本文件中与所述异常现象对应的至少一个事务包含的SQL语句;其中,对于所述SQL测试脚本文件中没有注释内容的SQL语句,执行所述没有注释内容的SQL语句的事务是随机分配的;通过数组记录所述至少一个事务的事务数并标记每个事务需要执行的SQL语句;
获取每一条SQL语句的执行顺序,按照所述每一条SQL语句的执行顺序,启动预设数目线程并发执行所述至少一个事务的SQL语句;
获取所述至少一个事务的SQL语句的执行结果,并根据所述执行结果对所述待测试数据库进行事务一致性测试。
2.根据权利要求1所述的方法,其特征在于,所述获取所述待测试数据库的结构化查询语言SQL测试脚本文件的注释内容,包括:
按行顺序读取所述待测试数据库的SQL测试脚本文件;
对于所述SQL测试脚本文件中包含的至少一条SQL语句,在所述至少一条SQL语句的结尾位置获取所述注释内容。
3.根据权利要求2所述的方法,其特征在于,所述在所述至少一条SQL语句的结尾位置获取所述注释内容,包括:
对于任意一条SQL语句,在所述任意一条SQL语句的结尾位置处确定注释开始标志;
在距离所述注释开始标志目标数目个空格的位置处获取所述注释内容。
4.根据权利要求1所述的方法,其特征在于,所述获取每一条SQL语句的执行顺序,包括:
在所述SQL测试脚本文件中获取所述每一条SQL语句的行号;
根据所述每一条SQL语句的行号,确定所述每一条SQL语句的执行顺序。
5.根据权利要求1所述的方法,其特征在于,所述根据所述执行结果对所述待测试数据库进行事务一致性测试,包括:
将所述执行结果保存为文本形式,得到执行结果文本;
将所述执行结果文本与预先设置的基准文本进行消息摘要算法第五版MD5比对;
若所述执行结果文本的MD5值与所述基准文本的MD5值一致,则确定所述待测试数据库通过事务一致性测试。
6.根据权利要求1至5中任一权利要求所述的方法,其特征在于,所述预设数目的大小与所述至少一个事务中包含的事务数量一致。
7.一种数据库的事务一致性测试装置,其特征在于,所述装置包括:
第一获取模块,用于获取待测试数据库存在的异常现象,所述异常现象指代导致所述待测试数据库出现运行不正常的现象;
所述第一获取模块,还用于获取所述待测试数据库的结构化查询语言SQL测试脚本文件的注释内容,所述SQL测试脚本文件中指示了所述异常现象对应的至少一个事务;所述注释内容中至少包括所述至少一个事务的标识信息;
确定模块,用于根据所述注释内容,确定所述SQL测试脚本文件中与所述异常现象对应的至少一个事务包含的SQL语句;其中,对于所述SQL测试脚本文件中没有注释内容的SQL语句,执行所述没有注释内容的SQL语句的事务是随机分配的;通过数组记录所述至少一个事务的事务数并标记每个事务需要执行的SQL语句;
第二获取模块,用于获取每一条SQL语句的执行顺序;
处理模块,用于按照所述每一条SQL语句的执行顺序,启动预设数目线程并发执行所述至少一个事务的SQL语句;
所述第二获取模块,还用于获取所述至少一个事务的SQL语句的执行结果;
所述处理模块,还用于根据所述执行结果对所述待测试数据库进行事务一致性测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810124776.2/1.html,转载请声明来源钻瓜专利网。





