[发明专利]业务监控的方法和装置在审
| 申请号: | 201911317623.0 | 申请日: | 2019-12-19 |
| 公开(公告)号: | CN113010174A | 公开(公告)日: | 2021-06-22 |
| 发明(设计)人: | 马浩 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/77;G06F9/448;G06F11/30 |
| 代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 张一军;张效荣 |
| 地址: | 100176 北京市北京经济技术*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 业务 监控 方法 装置 | ||
1.一种业务监控的方法,其特征在于,包括:
在应用程序编译时遍历应用程序的业务代码中的各个调用接口;
判断每个所述调用接口是否满足预设监控条件;若是,则将所述调用接口作为待监控接口;
以各个所述待监控接口对应的类作为待监控类,在所述应用程序的业务代码中添加各个所述待监控类的监控代码。
2.如权利要求1所述的方法,其特征在于,所述预设监控条件包括以下至少之一:所述调用接口调用预设接口;所述调用接口的接口复杂度大于等于预设复杂度阈值;所述调用接口为函数式接口。
3.如权利要求2所述的方法,其特征在于,所述调用接口的接口复杂度按照如下步骤计算:
确定所述调用接口所调用的接口;
若所述调用接口所调用的接口为外部接口,则将所述调用接口的复杂度置为第一数值;
若所述调用接口所调用的接口为内部接口,且所述内部接口没有依赖接口,则将所述调用接口的复杂度置为第二数值;
若所述调用接口所调用的接口为内部接口,且所述内部接口有依赖接口,则以所述调用接口、所述内部接口、所述依赖接口的并集作为接口集,将所述接口集中各个深度的接口子集的复杂度加权求和,得到所述调用接口的复杂度。
4.如权利要求3所述的方法,其特征在于,任意一个深度的接口子集的复杂度按照如下步骤计算:
对于所述任意一个深度的接口子集中的任意一个接口,若所述任意一个接口为外部接口,则将所述任意一个接口的复杂度置为第一数值;若所述任意一个接口为内部接口,则将所述任意一个接口的复杂度置为第二数值;
确定所述任意一个深度的接口子集中各个接口的复杂度之和;
将所述复杂度之和与所述任意一个深度的深度系数相乘,得到任意一个深度的接口子集的复杂度。
5.如权利要求4所述的方法,其特征在于,所述深度系数为:
α=log2 N
式中,α代表深度系数,N代表接口子集的深度。
6.如权利要求5所述的方法,其特征在于,对于任意一个深度的接口子集,若所述接口子集的深度超过预设深度阈值,则在计算所述任意一个深度的接口子集的深度系数时将所述任意一个深度的接口子集的深度置为所述深度阈值。
7.如权利要求1-6任一所述的方法,其特征在于,以各个所述待监控接口对应的类作为待监控类,包括:在所述应用程序的业务代码中各个所述待监控类上添加监控注解;
在所述应用程序的业务代码中添加各个所述待监控类的监控代码,包括:遍历所述业务代码获取带有各个所述监控注解的所述待监控类;利用与所述监控注解对应的注解处理器处理所述监控注解,生成监控代码;将各个所述待监控类对应的所述监控代码注入所述应用程序的业务代码中。
8.一种业务监控的装置,其特征在于,包括:
第一遍历模块,在应用程序编译时遍历应用程序的业务代码中的各个调用接口;
判断模块,判断每个所述调用接口是否满足预设监控条件;若是,则将所述调用接口作为待监控接口;
监控模块,以各个所述待监控接口对应的类作为待监控类,在所述应用程序的业务代码中添加各个所述待监控类的监控代码。
9.一种业务监控的电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911317623.0/1.html,转载请声明来源钻瓜专利网。





