[发明专利]埋点代码注入方法、装置、设备和存储介质在审
申请号: | 202211738191.2 | 申请日: | 2022-12-30 |
公开(公告)号: | CN115981637A | 公开(公告)日: | 2023-04-18 |
发明(设计)人: | 陈凌锋 | 申请(专利权)人: | 深圳市优必选科技股份有限公司 |
主分类号: | G06F8/36 | 分类号: | G06F8/36;G06F8/71;G06F11/36 |
代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 肖鹏 |
地址: | 518000 广东省深圳市南山区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 注入 方法 装置 设备 存储 介质 | ||
本申请涉及计算机技术领域,公开了一种埋点代码注入方法、装置、设备和存储介质。该方法包括:获取行为数据收集脚本的配置信息,根据配置信息构建第一埋点代码以及声明文件;通过预设注入工具在数据库中查找第一定义程序集,在第一定义程序集中查找指令集合;根据声明文件中所规定的第一埋点代码的注入点,将第一埋点代码注入至指令集合中与注入点对应的位置,对应生成第二定义程序集,并删除第一定义程序集。本实施例实现了埋点代码注入,且该注入过程简单易操作,提高了埋点代码注入的灵活度;另外,该埋点代码注入过程为底层代码实现的生成后处理阶段,实现过程简单,有效提高了埋点代码注入效率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种埋点代码注入方法、装置、设备和存储介质。
背景技术
在现有的用户行为数据收集系统中,往往都是根据运营人员预先定义的一些埋点条件,来进行固定化的数据收集(采样),即在一些特定的类的某个函数(或叫方法)中,显示的调用。
而上述的用户行为数据收集的方式难以实时根据运营所需的收集数据(即采样数据)的不同而进行调整,一旦收集数据发生变化,往往需要重新开发一个新的应用程序软件来实现数据收集,进而降低了用户行为数据收集的灵活度。
发明内容
有鉴于此,为了解决现有技术存在的问题,本申请提供了一种埋点代码注入方法、装置、设备和存储介质。
第一方面,本申请提供一种埋点代码注入方法,包括:
获取行为数据收集脚本的配置信息,根据所述配置信息构建第一埋点代码以及声明文件;
通过预设注入工具在数据库中查找第一定义程序集,在所述第一定义程序集中查找指令集合;
根据所述声明文件中所规定的第一埋点代码的注入点,将所述第一埋点代码注入至所述指令集合中与所述注入点对应的位置,对应生成第二定义程序集,并删除所述第一定义程序集。
在可选的实施方式中,在所述对应生成第二定义程序集之后,所述方法还包括:
加载所述第二定义程序集中的程序代码,生成发送消息接口;
在用户触发预设采集条件时,通过所述发送消息接口采集用户的行为数据;所述行为数据用于进行数据分析,生成行为数据报表。
在可选的实施方式中,在所述根据所述配置信息构建第一埋点代码以及声明文件之前,所述方法还包括:
对所述配置信息中的类名和方法名进行匹配校验;
所述对所述配置信息中的类名和方法名进行匹配校验,包括:
判断所述类名对应的类中是否定义有所述方法名对应的方法;其中,一个类包含至少一个方法;
若确定所述类名对应的类中定义有所述方法名对应的方法,进而根据所述配置信息构建第一埋点代码以及声明文件;
若确定所述类名对应的类中未定义有所述方法名对应的方法,则不执行后续操作。
在可选的实施方式中,所述配置信息包括事件标号、类名、方法名;所述方法还包括:
在所述配置信息中的事件标号、类名、方法名的至少一项更新时,则根据更新后的配置信息,生成第二埋点代码;
将所述第二埋点代码注入至所述指令集合中与所述注入点对应的位置,对应生成第三定义程序集,并删除所述第二定义程序集。
在可选的实施方式中,所述配置信息包括函数入参,所述方法还包括:
在所述配置信息中的函数入参更新时,对所述第一埋点代码中的函数入参进行更新。
在可选的实施方式中,所述在所述第一定义程序集中查找指令集合,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市优必选科技股份有限公司,未经深圳市优必选科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211738191.2/2.html,转载请声明来源钻瓜专利网。