[发明专利]一种代码运行的监测方法、装置、设备及存储介质在审
申请号: | 202111180699.0 | 申请日: | 2021-10-11 |
公开(公告)号: | CN113900896A | 公开(公告)日: | 2022-01-07 |
发明(设计)人: | 袁耀辉;朱家锐 | 申请(专利权)人: | 北京博睿宏远数据科技股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孔凡红 |
地址: | 100027 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 运行 监测 方法 装置 设备 存储 介质 | ||
本发明实施例公开了一种代码运行的监测方法、装置、设备及存储介质,该方法包括:获取待面向切面编程AOP的目标类,并在目标类中确定至少一个目标方法;获取各目标方法对应的目标对象,并通过分别对目标对象进行动态代理,获取各目标对象匹配的目标代理函数;对各目标代理函数的运行情况进行监测,获取运行监测结果,并根据运行监测结果,确定各目标方法的运行情况。本发明实施例的技术方案,通过获取待监测方法对应的目标对象,并对该目标对象进行统一的动态代理,实现了对大量方法的高效监测,同时降低了进行AOP时需要编写织入代码的代码数量和代码复杂度,进而降低了织入代码的维护成本。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种代码运行的监测方法、装置、设备及存储介质。
背景技术
通过面向切面编程(Aspect Oriented Programming,AOP)对类中方法进行代码插桩,可以实现对一个类中某些特征方法或者全部方法的运行监测或拦截,对提升方法的改写或者采集效率具有重要意义。
目前,在现有的AOP方法中,如果需要对某些特征性方法,或者整个类中的所有方法进行方法注入时,由于字节码静态存储的特性,针对每一个需要织入逻辑的方法都需要单独编写对应织入代码。而当待AOP的方法数量级较大时,会大大增加织入代码的编码工作量和编码复杂度,同时也会增加织入代码的维护成本。
发明内容
本发明实施例提供一种代码运行的监测方法、装置、设备及存储介质,可以实现对大量方法的高效监测,降低AOP织入代码的代码数量和代码复杂度,降低织入代码的维护成本。
第一方面,本发明实施例提供了一种代码运行的监测方法,包括:
获取待面向切面编程AOP的目标类,并在所述目标类中确定至少一个目标方法;
获取各目标方法对应的目标对象,并通过分别对各所述目标对象进行动态代理,获取各所述目标对象匹配的目标代理函数;
对各目标代理函数的运行情况进行监测,获取运行监测结果,并根据所述运行监测结果,确定所述各目标方法的运行情况。
第二方面,本发明实施例还提供了一种代码运行的监测装置,包括:
目标方法确定模块,用于获取待面向切面编程AOP的目标类,并在所述目标类中确定至少一个目标方法;
目标代理函数确定模块,用于获取各目标方法对应的目标对象,并通过分别对各所述目标对象进行动态代理,获取各所述目标对象匹配的目标代理函数;
运行监测模块,用于对各目标代理函数的运行情况进行监测,获取运行监测结果,并根据所述运行监测结果,确定所述各目标方法的运行情况。
第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行本发明任意实施例提供的代码运行的监测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的代码运行的监测方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京博睿宏远数据科技股份有限公司,未经北京博睿宏远数据科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111180699.0/2.html,转载请声明来源钻瓜专利网。