[发明专利]对应业务的方法调用链路确定方法、装置、电子设备在审
| 申请号: | 202011312613.0 | 申请日: | 2020-11-20 | 
| 公开(公告)号: | CN112506923A | 公开(公告)日: | 2021-03-16 | 
| 发明(设计)人: | 任向东;徐东升;江乐彬;陈默;刘德卿;孙玉平 | 申请(专利权)人: | 北京三快在线科技有限公司 | 
| 主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F8/41 | 
| 代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 任亚娟 | 
| 地址: | 100083 北京市海*** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 对应 业务 方法 调用 确定 装置 电子设备 | ||
1.一种对应业务的方法调用链路确定方法,其特征在于,包括:
通过结构化数据描述应用程序代码中声明的类对象、各所述类对象中声明的方法对象,以及,各所述方法对象的属性信息和方法调用关系,其中,至少部分所述方法对象的属性信息包括:用于指示所述方法对象为开始调用方法或结束调用方法的标识、所述方法对象关联的业务标识;
遍历所述结构化数据,根据所述方法对象的所述属性信息和所述业务标识,分别确定关联不同所述业务标识的开始调用方法对象和结束调用方法对象;
对于每个所述开始调用方法对象,基于所述结构化数据中描述的所述方法调用关系,分别构建与指定业务标识关联的方法调用关系树,其中,所述指定业务标识为所述开始调用方法对象关联的所述业务标识;
遍历与指定业务标识关联的所述方法调用关系树,确定所述指定业务标识所标识的业务的每条方法调用链路。
2.根据权利要求1所述的方法,其特征在于,所述确定所述指定业务标识所标识的业务的每条方法调用链路的步骤之后,还包括:
遍历各业务标识所标识的业务的所有所述方法调用链路,确定与各业务标识关联的所有中间调用方法对象,并确定各所述中间调用方法对象关联的所有业务标识;
将确定的每个所述中间调用方法对象分别与所述应用程序代码中声明的方法对象进行匹配,确定匹配成功的所述方法对象作为与相应所述中间调用方法对象对应的待插桩方法对象;
在每个所述待插桩方法对象的声明代码中,插入检测代码,其中,所述检测代码是根据与所述待插桩方法对象对应的所述中间调用方法对象关联的所有业务标识生成的。
3.根据权利要求2所述的方法,其特征在于,所述遍历各业务标识所标识的业务的所有所述方法调用链路,确定与各业务标识关联的所有中间调用方法对象,并确定各所述中间调用方法对象关联的所有业务标识的步骤,包括:
遍历各业务标识所标识的业务的每个所述方法调用链路,分别确定每个所述方法调用链路中包括的中间调用方法对象,并建立确定的所述中间调用方法对象与所属方法调用链路的所述业务标识的关联关系;
对于每个所述中间调用方法对象,将该中间调用方法对象与各所述业务标识的所有所述关联关系进行合并,得到该中间调用方法关联的所有业务标识。
4.根据权利要求2所述的方法,其特征在于,所述结构化数据中包括类对象名称对应的类对象的源代码存储文件信息,所述将确定的每个所述中间调用方法对象分别与所述应用程序代码中声明的方法对象进行匹配的步骤,包括:
依次执行以下方法对象匹配操作,直至确定与所述中间调用方法对象匹配的方法对象:
将所述中间调用方法对象与所述中间调用方法对象所属类的源代码存储文件中声明的方法对象进行匹配;
将所述中间调用方法对象与所述中间调用方法对象所属类的扩展类对象的源代码存储文件中声明的方法对象进行匹配;
将所述中间调用方法对象与所述中间调用方法对象的父类对应的源代码存储文件中声明的方法对象进行匹配;
将所述中间调用方法对象与所述目标应用程序的所有源代码存储文件中声明的方法对象进行匹配。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述对于每个所述开始调用方法对象,基于所述结构化数据中描述的所述方法调用关系,分别构建与指定业务标识关联的方法调用关系树的步骤,包括:
对于每个所述开始调用方法对象,根据所述开始调用方法对象构建根节点;
以所述开始调用方法对象为当前层级方法对象,执行以下节点构建子步骤:
调用方法确定子步骤,基于所述结构化数据中描述的所述方法调用关系,确定所述当前层级方法对象调用的各下一层级方法对象;
子节点构建子步骤,根据各所述下一层级方法对象构建所述当前层级方法对象对应的节点的子节点;
跳转判断子步骤,响应于各所述下一层级方法对象中包括不属于所述结束调用方法对象的方法对象,将不属于所述结束调用方法对象的所述下一层级方法对象分别作为当前层级方法对象,并跳转至执行所述调用方法确定子步骤和所述子节点构建子步骤,直至各所述下一层级方法对象全部为所述结束调用方法对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011312613.0/1.html,转载请声明来源钻瓜专利网。





