(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202211076781.3
(22)申请日 2022.09.05
(65)同一申请的已公布的文献号
申请公布号 CN 115145831 A
(43)申请公布日 2022.10.04
(73)专利权人 湖南长银五八消费金融股份有限
公司
地址 410013 湖南省长 沙市岳麓区滨江路
188号基金小镇第1 1、 12栋
(72)发明人 鲁健翔 徐轲 薛海伟 戴小村
(74)专利代理 机构 北京中誉至诚知识产权代理
事务所(普通 合伙) 11858
专利代理师 张平力
(51)Int.Cl.
G06F 11/36(2006.01)G06F 16/23(2019.01)
G06F 16/242(2019.01)
(56)对比文件
CN 105975390 A,2016.09.28
CN 114461454 A,202 2.05.10
CN 113868138 A,2021.12.31
CN 113094283 A,2021.07.09
CN 114676054 A,202 2.06.28
US 2021182164 A1,2021.0 6.17
WO 20201 19422 A1,2020.0 6.18
KK.验收测试- 基础-自动恢复测试 数据.
《www.kkh86.com/it/ codecepti on/guide- cept-
tset-revert-test-data.html》 .2016,
审查员 陈玉艳
(54)发明名称
无侵入式测试 数据恢复方法及系统
(57)摘要
本公开涉及一种无侵入式测试数据恢复方
法及系统。 方法包括: 拦截应用系统在依次执行
多个测试用例时向数据库发送的测试请求中的
数据修改语句, 生成数据修改语句对应的数据回
滚操作语句; 建立映射关系, 映射关系包含每个
测试用例的用例编号, 每个测试用例对应的数据
修改语句, 以及每个测试用例对应的数据修改语
句对应的数据回滚操作语句之间的映射关系; 基
于指定测试用例的用例编号以及映射关系, 确定
对应的目标测试用例对应的数据修改语句, 或者
目标测试用例对应的数据修改语句对应的数据
回滚操作语句; 执行目标测试用例对应的数据修
改语句, 或者执行目标测试用例的数据修改语句
对应的数据回滚操作语句以实现数据恢复。
权利要求书3页 说明书14页 附图4页
CN 115145831 B
2022.11.08
CN 115145831 B
1.一种无侵入式测试 数据恢复方法, 其特 征在于, 包括:
拦截应用系统在依次执行多个测试用例时向数据库发送的测试请求中的数据插入语
句、 数据删除语句和数据更新语句中的一个或多个, 并对应生成所述数据插入语句、 数据删
除语句和数据更新语句各自对应的数据回滚操作语句; 其中, 每个所述测试请求至少携带
对应的测试用例的用例编号以及数据插入语句、 数据删除语句和数据更新语句中的一个或
多个, 每个所述测试用例的用例编号用于唯一标识该测试用例且指示该测试用例的执行顺
序;
建立映射关系, 所述映射关系包含每个所述测试用例的用例编号, 每个所述测试用例
对应的数据插入语句、 数据删除语句和数据更新语句中的一个或多个, 以及每个所述测试
用例对应的数据插入语句、 数据删除语句和数据更新语句中的一个 或多个各自对应的数据
回滚操作语句之间的映射关系;
基于指定测试用例的用例编号以及所述映射关系, 确定对应的目标测试用例对应的数
据插入语句、 数据删除语句和数据更新语句中的一个或多个, 或者所述 目标测试用例对应
的数据插入语句、 数据删除语句和数据更新语句中的一个或多个各自对应的数据回滚操作
语句; 其中, 所述指定测试用例是 所述多个测试用例中的任意 一个;
执行所述目标测试用例对应的数据插入语句、 数据删除语句和数据更新语句中的一个
或多个, 或者执行所述 目标测试用例的数据插入语句、 数据删除语句和数据更新语句中的
一个或多个各自对应的数据回滚操作语句以实现数据恢复。
2.根据权利要求1所述的方法, 其特征在于, 所述生成所述数据插入语句、 数据删除语
句和数据更新语句各自对应的数据回滚操作语句, 包括:
生成所述数据插入语句对应的第 一数据回滚操作语句, 所述第 一数据回滚操作语句是
目标数据删除语句, 所述目标数据删除语句所要删除的数据与所述数据插入语句所要插入
的数据相同;
生成所述数据删除语句对应的第 二数据回滚操作语句, 所述第 二数据回滚操作语句是
目标数据插入语句, 所述目标数据插入语句所要插入的数据与所述数据删除语句所要删除
的数据相同;
生成所述数据 更新语句对应的第 三数据回滚操作语句, 所述第 三数据回滚操作语句是
目标数据更新语句, 所述目标数据更新语句所要 更新的数据是所述数据更新语句执行数据
更新操作之前的数据。
3.根据权利要求1或2所述的方法, 其特征在于, 所述拦截应用系统在依次执行多个测
试用例时向数据库发送的测试请求中的数据插入语句、 数据删除语句和数据更新语句中的
一个或多个, 包括:
基于代理程序拦截每个所述测试用例向所述数据库发送的测试请求中的数据插入语
句、 数据删除语句和数据更新语句中的一个或多个; 其中, 所述代理程序是基于J ava语言实
现且以JAR包形式引入所述应用系统中。
4.根据权利要求1或2所述的方法, 其特征在于, 所述拦截应用系统在依次执行多个测
试用例时向数据库发送的测试请求中的数据插入语句、 数据删除语句和数据更新语句中的
一个或多个之前, 该 方法包括:
修改所述数据库的第一配置文件, 以开启二进制日志功能; 其中, 所述第 一配置文件用权 利 要 求 书 1/3 页
2
CN 115145831 B
2于开启或关闭所述数据库的二进制日志 功能;
在所述数据库中建立第一数据表;
拦截每个所述测试请求中的数据插入语句、 数据删除语句和数据 更新语句中的一个或
多个之后, 在执行每个所述测试请求中的数据插入语句、 数据删除语句和数据更新语句中
的一个或多个之前, 将对应的每个所述测试请求对应的测试用例的用例编号插入所述第一
数据表中, 以在所述数据库的二进制日志中自动记录所述第一数据表的该插 入操作。
5.根据权利要求4所述的方法, 其特征在于, 所述拦截应用系统在依次执行多个测试用
例时向数据库发送的测试请求中的数据插入语句、 数据删除语句和数据更新语句中的一个
或多个之前, 该 方法包括:
修改所述数据库的第 二配置文件, 以开启数据库全局事务ID; 其中, 所述第二配置文件
用于开启或关闭所述数据库的全局事务 ID功能;
在所述数据库中建立第二数据表;
所述生成所述数据插入语句、 数据删除语句和数据 更新语句各自对应的数据回滚操作
语句, 包括:
解析所述二进制日志, 得到可执行的至少一条SQL语句, 生成每个所述SQL语句对应的
数据回滚SQL语句; 所述至少一条SQL语句是数据插入语句、 数据删除语句和数据更新语句
中的一个或多个相关的SQ L语句;
所述建立映射关系, 包括:
解析所述二进制日志, 得到记录的至少一个事务的全局事务ID, 基于所述至少一个事
务的全局事务 ID确定每 个所述全局事务 ID指示的事务所提交的一个或多个SQ L语句;
判断每个所述全局事务ID指示的事务所提交的一个或多个SQL语句是否在所述第一数
据表中存在所述插入操作, 若是则将对应的全局事务ID确定为目标全局事务ID, 获取所述
目标全局事务 ID指示的事务对应的测试用例的用例编号;
建立所述目标全局事务ID指示的事务对应的测试用例的用例编号与所述目标全局事
务ID之间的第一映射关系, 同时建立所述目标全局事务ID与所述目标全局事务ID指示的事
务所提交的一个或多个SQL语句以及该一个或多个SQL语句对应的数据回滚SQL语句之 间的
第二映射关系, 基于所述第一映射关系和所述第二映射关系建立所述映射关系并写入所述
第二数据表。
6.根据权利要求5所述的方法, 其特征在于, 所述解析所述二进制日志之前, 该方法还
包括:
基于预设的监听器中的从节点模拟装置从所述数据库的主节点获取所述数据库的二
进制日志;
所述解析所述二进制日志, 得到可执行的至少一条SQL语句, 生成每个所述SQL语句对
应的数据回滚SQ L语句, 包括:
所述从节点模拟装置解析所述二进制日志, 得到可执行的至少一条SQL语句, 生成每个
所述SQL语句对应的数据回滚SQ L语句。
7.根据权利要求6所述的方法, 其特征在于, 所述建立映射关系, 包括: 基于所述监听器
中的映射装置建立所述映射关系。
8.一种无侵入式测试 数据恢复系统, 其特 征在于, 包括:权 利 要 求 书 2/3 页
3
CN 115145831 B
3
专利 无侵入式测试数据恢复方法及系统
文档预览
中文文档
22 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:42:52上传分享