[发明专利]一种基于字节码的数据处理方法、装置、设备及系统有效
申请号: | 202010606036.X | 申请日: | 2020-06-29 |
公开(公告)号: | CN111782340B | 公开(公告)日: | 2023-08-08 |
发明(设计)人: | 曹辉健;刘慕雨;王泽洋;黄镜澄 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/448 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 周达;刘飞 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 字节 数据处理 方法 装置 设备 系统 | ||
1.一种基于字节码的数据处理方法,其特征在于,包括:
将目标服务对应的类加载到Java虚拟机;其中,所述目标服务对应的类中包括所述目标服务调用的执行方法;
启动JavaAgant,从JavaAgant对应的JAR文件中获取不同插件对应的修改信息,所述插件用于对执行方法进行字节码修改,所述修改信息包括进行字节码修改的目标名称和与所述目标名称对应的字节码修改内容;
利用所述不同插件对应的字节码修改内容对与所述目标名称对应的执行方法进行字节码修改,获得修改后的执行方法;其中,不同插件对应的目标名称相同,不同插件对应的字节码修改内容不同;
将所述修改后的执行方法对应的类实例化为对象,以使所述目标服务调用;
其中,所述不同插件至少包括链路追踪插件和限流插件;
当所述插件为链路追踪插件时,所述字节码修改内容包括在与所述目标名称对应的执行方法前增加链路ID获取信息,在与所述目标名称对应的执行方法后增加链路耗时获取信息、执行结果获取信息、链路发送信息;
当所述插件为限流插件时,所述字节码修改内容包括增加调用次数统计信息,次数超过阈值后抛出异常信息。
2.根据权利要求1所述的方法,其特征在于,所述从JavaAgant对应的JAR文件中获取不同插件对应的修改信息,包括:
从JavaAgant对应的JAR文件中获取不同插件;
将所述不同插件对应的路径注册到缓存中;
从所述缓存中获取与所述不同插件对应的修改信息。
3.根据权利要求2所述的方法,其特征在于,所述利用所述不同插件对应的字节码修改内容对与所述目标名称对应的执行方法进行字节码修改,获得修改后的执行方法,包括:
利用第一插件对应的字节码修改内容对与所述目标名称对应的执行方法进行字节码修改,获得第一修改后的执行方法;
将所述第一插件从所述缓存中删除;
判断所述缓存中是否存在与所述目标名称对应的第二插件;
确认存在时,利用所述第二插件对应的字节码修改内容对所述第一修改后的执行方法进行字节码修改,获得第二修改后的执行方法;
相应的,将所述第二插件从所述缓存中删除,直至所述缓存中不存在与所述目标名称对应的插件时,获得修改后的执行方法。
4.根据权利要求1所述的方法,其特征在于,所述进行字节码修改的目标名称包括执行方法对应的类名和方法名。
5.一种基于字节码的数据处理装置,其特征在于,包括:
加载模块,用于将目标服务对应的类加载到Java虚拟机;其中,所述目标服务对应的类中包括所述目标服务调用的执行方法;
获取模块,用于启动JavaAgant,从JavaAgant对应的JAR文件中获取不同插件对应的修改信息,所述插件用于对执行方法进行字节码修改,所述修改信息包括进行字节码修改的目标名称和与所述目标名称对应的字节码修改内容;
获得模块,用于利用所述不同插件对应的字节码修改内容对与所述目标名称对应的执行方法进行字节码修改,获得修改后的执行方法;其中,不同插件对应的目标名称相同,不同插件对应的字节码修改内容不同;
实例化模块,用于将所述修改后的执行方法对应的类实例化为对象,以使所述目标服务调用;
其中,所述不同插件至少包括链路追踪插件和限流插件;
当所述插件为链路追踪插件时,所述字节码修改内容包括在与所述目标名称对应的执行方法前增加链路ID获取信息,在与所述目标名称对应的执行方法后增加链路耗时获取信息、执行结果获取信息、链路发送信息;
当所述插件为限流插件时,所述字节码修改内容包括增加调用次数统计信息,次数超过阈值后抛出异常信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010606036.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种目标跨镜布控追踪的方法和系统
- 下一篇:显示器