[发明专利]重复执行检测方法、装置、存储介质及计算机设备在审
申请号: | 202211054131.9 | 申请日: | 2022-08-31 |
公开(公告)号: | CN115328800A | 公开(公告)日: | 2022-11-11 |
发明(设计)人: | 张友璇 | 申请(专利权)人: | 广州品唯软件有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘晓娟 |
地址: | 510000 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 重复 执行 检测 方法 装置 存储 介质 计算机 设备 | ||
1.一种重复执行检测方法,其特征在于,所述方法包括:
在监听到目标函数被调用的情况下,判断目标函数的本次调用是否满足重复执行统计规则;所述目标函数为指令信息获取函数或者待检测应用对外暴露的接口函数,所述指令信息获取函数用于获取数据库访问指令的指令信息;
若目标函数的本次调用满足所述重复执行统计规则,则获取本次调用的目标函数的函数信息以及目标函数在本次调用中的调用栈,并根据所述调用栈确定目标接口的接口名称;所述目标接口为调用目标函数的接口函数;
基于所述目标接口的接口名称及本次调用的目标函数的函数信息确定目标计数值,并按照预设步长增加所述目标计数值,以更新所述目标计数值;
若更新后的目标计数值大于或等于预设阈值,则抛出异常。
2.根据权利要求1所述的方法,其特征在于,所述在监听到目标函数被调用的情况下,判断目标函数的本次调用是否满足重复执行统计规则的步骤,包括:
在监听到目标函数被调用的情况下,若本次调用的目标函数为所述指令信息获取函数,则获取所述指令信息获取函数所返回的指令信息,并从所述指令信息中提取目标数据库访问指令的操作标签;所述目标数据库访问指令为与所述指令信息获取函数所返回的指令信息相对应的数据库访问指令;
若所述目标数据库访问指令的操作标签为选择标签,则确定目标函数的本次调用满足所述重复执行统计规则。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标接口的接口名称及本次调用的目标函数的函数信息确定目标计数值的步骤,包括:
从所述指令信息中提取目标数据库表的表名,所述目标数据库表为所述目标数据库访问指令所要访问的数据库表;
基于所述目标接口的接口名称及所述目标数据库表的表名,将用于统计所述目标接口访问所述目标数据库表的次数计数值确定为所述目标计数值。
4.根据权利要求1所述的方法,其特征在于,所述在监听到目标函数被调用的情况下,判断目标函数的本次调用是否满足重复执行统计规则的步骤,包括:
在监听到目标函数被调用的情况下,若本次调用的目标函数为所述待检测应用对外暴露的接口函数,则确定目标函数的本次调用满足所述重复执行统计规则。
5.根据权利要求4所述的方法,其特征在于,所述基于所述目标接口的接口名称及本次调用的目标函数的函数信息确定目标计数值的步骤,包括:
若本次调用的目标函数为所述待检测应用对外暴露的接口函数,则获取本次调用的目标函数的函数名称,并根据本次调用的目标函数的函数名称和所述目标接口的接口名称,将用于统计所述目标接口调用本次调用的目标函数的次数计数值确定为所述目标计数值。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述根据所述调用栈确定目标接口的接口名称的步骤,包括:
按照从栈顶到栈底的方向,依次将各级调用函数的函数信息作为当前待匹配函数信息,直至所述当前待匹配函数信息所包括的类名存在预设的关键字段,并将所述当前待匹配函数信息作为目标函数信息;
根据所述目标函数信息所包括的类名和函数名,确定所述目标接口的接口名称。
7.根据权利要求1至5任一项所述的方法,其特征在于,所述在监听到目标函数被调用的情况下,判断目标函数的本次调用是否满足重复执行统计规则的步骤之前,还包括:
利用程序插桩技术在所述待检测应用的指定位置处中插入测试函数,以通过所述测试函数监听所述待检测应用是否调用目标函数;所述指定位置为使得所述测试函数与目标函数在同一线程中运行的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州品唯软件有限公司,未经广州品唯软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211054131.9/1.html,转载请声明来源钻瓜专利网。