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