[发明专利]应用程序的动态埋点方法、装置、存储介质及计算机设备有效
| 申请号: | 202010783426.4 | 申请日: | 2020-08-06 |
| 公开(公告)号: | CN112115041B | 公开(公告)日: | 2023-08-22 |
| 发明(设计)人: | 田雪峰;张家龙 | 申请(专利权)人: | 北京水滴科技集团有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/34;G06F8/30 |
| 代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
| 地址: | 100102 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 应用程序 动态 方法 装置 存储 介质 计算机 设备 | ||
1.一种应用程序的动态埋点方法,其特征在于,所述方法包括:
获取目标类文件的名称、目标方法的名称、方法参数以及埋点数据;
对所述方法参数进行校验,并根据所述方法参数、目标方法的名称和目标类文件的名称获取所述目标方法和所述目标类文件,以及将所述目标方法、所述目标类文件和所述埋点数据发送给目标代理端;
所述目标代理端对所述目标方法进行拦截和预处理,以将所述目标方法设置为可被埋点的状态;
所述目标代理端在所述目标方法的相应位置上调用接口,并上报所述埋点数据,以及对所述目标类文件进行重定义,得到增强后的目标类文件;
所述目标代理端通过字节码增强技术将所述目标类文件替换为所述增强后的目标类文件,以实现应用程序的动态埋点。
2.根据权利要求1所述的方法,其特征在于,所述获取目标类文件的名称、目标方法的名称、方法参数以及埋点数据之前,所述方法还包括:
获取所述目标代理端所在服务的全部类文件;
根据所述目标代理端所在服务的全部类文件,构建类文件的前缀树、方法的前缀树以及方法参数的前缀树;
在获取所述目标类文件的名称、目标方法的名称以及方法参数的过程中,展示所述类文件的前缀树、方法的前缀树以及方法参数的前缀树。
3.根据权利要求1所述的方法,其特征在于,所述埋点数据包括标签数据和/或日志数据,所述获取埋点数据包括:
获取至少一个标签数据和/或至少一个日志数据,其中,所述标签数据包括标签名称和标签表达式;所述日志数据包括日志名称和日志表达式。
4.根据权利要求1所述的方法,其特征在于,所述对方法参数进行校验,并根据所述方法参数、目标方法的名称和目标类文件的名称获取所述目标方法和所述目标类文件,包括:
判断所述方法参数是否满足语法规则,以及判断所述目标方法的名称和所述目标类文件的名称是否匹配;
若所述方法参数满足语法规则且所述目标方法的名称和所述目标类文件的名称相匹配,则根据所述方法参数、目标方法的名称和目标类文件的名称,加载所述目标类文件和所述目标方法。
5.根据权利要求1所述的方法,其特征在于,所述方法参数的类型包括对象、集合、对象数组、Map、Object、数组、基本数据类型和包装类中的一种或多种。
6.根据权利要求1所述的方法,其特征在于,所述对目标方法进行拦截和预处理,包括:
判断所述目标方法是否为静态方法;
若所述目标方法为静态方法,则静态拦截所述目标方法的代码段,并对所述拦截的代码段进行预处理;
若所述目标方法为非静态方法,则实例拦截所述目标方法的代码段,并对所述拦截的代码段进行预处理。
7.根据权利要求1所述的方法,其特征在于,所述在目标方法的相应位置上调用接口,并上报所述埋点数据,包括:
在所述目标方法的前置位置上或后置位置上调用接口,并上报所述埋点数据,以将所述埋点数据填充到所述目标方法的前置位置上或后置位置上。
8.一种应用程序的动态埋点装置,其特征在于,所述装置包括:
数据获取模块,用于获取目标类文件的名称、目标方法的名称、方法参数以及埋点数据;
文件获取模块,用于对所述方法参数进行校验,并根据所述方法参数、目标方法的名称和目标类文件的名称获取所述目标方法和所述目标类文件,以及将所述目标方法、所述目标类文件和所述埋点数据发送给目标代理端;
预处理模块,用于对所述目标方法进行拦截和预处理,以将所述目标方法设置为可被埋点的状态;
重定义模块,用于在所述目标方法的相应位置上调用接口,并上报所述埋点数据,以及对所述目标类文件进行重定义,得到增强后的目标类文件;
文件增强模块,用于通过字节码增强技术将所述目标类文件替换为所述增强后的目标类文件,以实现应用程序的动态埋点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京水滴科技集团有限公司,未经北京水滴科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010783426.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种燃料电池气体扩散层及加工方法
- 下一篇:一种新型一体式冷藏半挂车





