[发明专利]业务数据采集方法、装置、存储介质和计算设备有效
申请号: | 202011375915.2 | 申请日: | 2020-11-30 |
公开(公告)号: | CN112306501B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 张丹;梁建;任燕 | 申请(专利权)人: | 杭州网易云音乐科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市铸成律师事务所 11313 | 代理人: | 郭丽祥;武晨燕 |
地址: | 310052 浙江省杭州市萧山区钱江世*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务 数据 采集 方法 装置 存储 介质 计算 设备 | ||
本申请的实施方式提供了一种业务数据采集方法、装置、存储介质和计算设备。业务数据采集方法包括:在代码编译期扫描类文件内的多个函数节点;对所述多个函数节点中的目标事件响应函数的节点进行插桩处理;基于所述插桩处理的结果,采集所述目标事件响应函数中的捕获变量。利用本申请实施例能够实现业务数据的自动采集。
技术领域
本申请的实施方式涉及数据采集技术领域,更具体地,本申请的实施方式涉及业务数据采集方法、装置、存储介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
埋点技术是一种常用的数据采集方法,传统的埋点通常是通过写代码的方式实现在某个事件(例如点击click事件)发生时调用软件开发工具包(Software DevelopmentKit,SDK)的相应接口发送埋点数据,实现对click事件的数据采集。但传统埋点过程需工程师手动埋点,工程量极大,耗时费力且容易出错。“全埋点”是自动采集全部事件并上报埋点数据,在后端数据计算时再过滤出有用数据,虽然全埋点方案无需手动埋点,但是,已有的全埋点解决方案能搜集的数据类型有局限,只能做到对控件固有属性数据的搜集,无法搜集其他更有价值的数据,例如业务数据。
对于业务数据的搜集,目前可利用数据路径datapath语法来实现,具体需下发想要搜集的目标数据的引用路径,利用datapath指引逐层解析该引用路径,获取指向的变量,可以搜集到目标数据。但是,datapath语义复杂,技术门槛高,配置文件的设置经常需要开发人员全程参与,并且随着产品版本迭代,业务代码也在变更,这时需重新定义datapath,实际中维护版本与datapath还需投入人力;此外,沿datapath逐级反射直至取得目标数据的过程还会产生一定的性能损耗,影响产品整体表现。
发明内容
本申请期望提供一种业务数据采集方法、装置、存储介质和计算设备,以至少解决上述技术问题。
第一方面,本申请实施例提供一种业务数据采集方法,包括:
在代码编译期扫描类文件(class文件)内的多个函数节点;
对所述多个函数节点中的目标事件响应函数的节点进行插桩处理;
基于所述插桩处理的结果,采集所述目标事件响应函数中的捕获变量。
根据本申请实施例的业务数据采集方法,所述采集所述目标事件响应函数中的捕获变量,包括:采集所述类文件内的匿名内部类的成员变量;其中,所述目标事件响应函数对应的第一代码完成编译后,所述目标事件响应函数中的捕获变量和指向外部类的引用转换为所述第一代码对应的匿名实现类的成员变量。
根据本申请实施例的业务数据采集方法,所述多个函数节点包括所述类文件内的全部函数节点。
根据本申请实施例的业务数据采集方法,所述插桩处理包括在所述目标事件响应函数的头部插桩;
所述基于所述插桩处理的结果,采集所述目标事件响应函数中的捕获变量包括:创建局部变量obj,并将所述局部变量obj保存在局部变量表中;遍历所述类文件内的类成员变量,并将所述类文件内的类成员变量添加到所述局部变量obj中;搜集所述局部变量obj中的类成员变量的数据。
根据本申请实施例的业务数据采集方法,所述搜集所述局部变量obj中的类成员变量的数据,包括:搜集所述局部变量obj中的非静态的且为引用类型的类成员变量的数据。
根据本申请实施例的业务数据采集方法,还包括:如果所述多个函数节点中的第一函数节点不属于目标事件响应函数的节点,且所述第一函数节点为Lambda执行方法,则对所述Lambda执行方法进行插桩处理,并基于插桩处理的结果搜集所述Lambda执行方法的方法参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州网易云音乐科技有限公司,未经杭州网易云音乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011375915.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种宝蓝釉钧瓷及其制备工艺
- 下一篇:数据处理方法及系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置