[发明专利]业务数据采集方法、装置、存储介质和计算设备有效
申请号: | 202011375915.2 | 申请日: | 2020-11-30 |
公开(公告)号: | CN112306501B | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 张丹;梁建;任燕 | 申请(专利权)人: | 杭州网易云音乐科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京市铸成律师事务所 11313 | 代理人: | 郭丽祥;武晨燕 |
地址: | 310052 浙江省杭州市萧山区钱江世*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务 数据 采集 方法 装置 存储 介质 计算 设备 | ||
1.一种业务数据采集方法,其特征在于,包括:
在代码编译期扫描类文件内的多个函数节点;
对所述多个函数节点中的目标事件响应函数的节点进行插桩处理;
基于所述插桩处理的结果,采集所述目标事件响应函数中的捕获变量;
所述插桩处理包括在所述目标事件响应函数的头部插桩;
所述基于所述插桩处理的结果,采集所述目标事件响应函数中的捕获变量,包括:
创建局部变量obj,并将所述局部变量obj保存在局部变量表中;
遍历所述类文件内的类成员变量,并将所述类文件内的类成员变量添加到所述局部变量obj中;
搜集所述局部变量obj中的类成员变量的数据。
2.根据权利要求1所述的方法,其特征在于,
所述采集所述目标事件响应函数中的捕获变量,包括:采集所述类文件内的匿名内部类的成员变量;
其中,所述目标事件响应函数对应的第一代码完成编译后,所述目标事件响应函数中的捕获变量和指向外部类的引用转换为所述第一代码对应的匿名实现类的成员变量。
3.根据权利要求1或2所述的方法,其特征在于,
所述多个函数节点包括所述类文件内的全部函数节点。
4.根据权利要求1所述的方法,其特征在于,
所述搜集所述局部变量obj中的类成员变量的数据,包括:搜集所述局部变量obj中的非静态的且为引用类型的类成员变量的数据。
5.根据权利要求1所述的方法,其特征在于,还包括:
如果所述多个函数节点中的第一函数节点不属于目标事件响应函数的节点,且所述第一函数节点为Lambda执行方法,则对所述Lambda执行方法进行插桩处理,并基于插桩处理的结果搜集所述Lambda执行方法的方法参数。
6.根据权利要求5所述的方法,其特征在于,还包括:
如果所述多个函数节点中的第一函数节点不属于目标事件响应函数的节点,且所述第一函数节点不是Lambda执行方法,则搜索Lambda执行方法。
7.根据权利要求6所述的方法,其特征在于,
所述搜索Lambda执行方法,包括:
扫描所述多个函数节点中的第二函数节点的函数指令,在扫描到invokedynamic指令后,解析所述invokedynamic指令以确定所述第二函数节点是否对应于所述目标事件响应函数,
如果所述第二函数节点对应于所述目标事件响应函数,则解析所述invokedynamic指令指向的Lambda执行方法,并作为所述第二函数节点对应的Lambda执行方法。
8.根据权利要求7所述的方法,其特征在于,还包括:
确定所述第二函数节点对应的Lambda执行方法中的方法参数和所述方法参数的类型;
根据所述方法参数的顺序以及所述方法参数的类型,确定各个方法参数在局部变量表中的起始索引。
9.根据权利要求8所述的方法,其特征在于,还包括:
确定所述多个函数节点中的部分或全部函数节点对应的Lambda执行方法以及Lambda执行方法的方法参数和方法参数的类型,生成方法参数列表;
遍历所述方法参数列表,并采集所述局部变量表中的一个或多个方法参数对应的变量值,作为对应函数节点中的捕获变量,其中所述一个或多个方法参数位于所述方法参数列表中。
10.根据权利要求9所述的方法,其特征在于,
所述采集所述局部变量表中一个或多个方法参数对应的变量值,包括:采集所述局部变量表中的非静态的且为引用类型的一个或多个方法参数对应的变量值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州网易云音乐科技有限公司,未经杭州网易云音乐科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011375915.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种宝蓝釉钧瓷及其制备工艺
- 下一篇:数据处理方法及系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置