[发明专利]生成调用关系的方法、装置、存储介质和电子设备在审
申请号: | 202010990136.7 | 申请日: | 2020-09-18 |
公开(公告)号: | CN114201173A | 公开(公告)日: | 2022-03-18 |
发明(设计)人: | 徐东升;任向东;陈默;刘德卿 | 申请(专利权)人: | 北京三快在线科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙) 11447 | 代理人: | 魏云鹿 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 调用 关系 方法 装置 存储 介质 电子设备 | ||
本公开涉及一种生成调用关系的方法、装置、存储介质和电子设备,涉及电子信息技术领域,该方法包括:获取目标源文件对应的抽象语法树中至少一个第一调用节点,第一调用节点为方法定义节点,针对每个第一调用节点,获取抽象语法树中,该第一调用节点的子节点,在该第一调用节点的子节点中,确定该第一调用节点对应的第一被调用节点,第一被调用节点为方法调用节点,且抽象语法树中第一被调用节点的子节点不包括块节点,将该第一调用节点对应的第一调用方法,调用第一被调用节点对应的第一被调用方法,作为一个调用链,根据全部调用链,生成目标源文件的调用关系。本公开从抽象语法树中提取调用链,从而生成调用关系,提高了调用关系的生成效率。
技术领域
本公开涉及电子信息技术领域,具体地,涉及一种生成调用关系的方法、装置、存储介质和电子设备。
背景技术
随着互联网和云计算等信息技术的迅猛发展,应用市场上出现了各种各样的APP(英文:Application,中文:应用程序),以满足用户多样化的需求。要保证APP能够为用户提供稳定的服务,需要对APP所提供的各个业务进行监控。对于大流量的业务来说,可以通过大盘监控来发现故障,对于小流量的业务来说,由于问题不明显,受影响范围小,往往很难及时发现。但是小流量的业务出现问题,也会影响到用户的使用,并且很容易积累成严重的故障,因此需要对小流量的业务进行实时监控。
要对小流量的业务进行实时监控,通常需要基于APP的代码中的方法路径,通过在关注的方法调用关系上进行标记,并插入检测代码来实现。然而,方法调用关系往往是通过技术人员人为进行源码分析,通过词法、语法解析,编写相应的匹配函数来收集的。这种调用关系的生成方式效率低,准确度不高。
发明内容
本公开的目的是提供一种生成调用关系的方法、装置、存储介质和电子设备,用以解决现有技术中存在的生成调用关系的效率和准确度低的问题。
为了实现上述目的,根据本公开实施例的第一方面,提供一种生成调用关系的方法,所述方法包括:
获取目标源文件对应的抽象语法树中至少一个第一调用节点,所述第一调用节点为方法定义节点;
针对每个所述第一调用节点,获取所述抽象语法树中,该第一调用节点的子节点;
在该第一调用节点的子节点中,确定该第一调用节点对应的第一被调用节点,所述第一被调用节点为方法调用节点,且所述抽象语法树中所述第一被调用节点的子节点不包括块节点;
将该第一调用节点对应的第一调用方法,调用所述第一被调用节点对应的第一被调用方法,作为一个调用链;
根据全部所述调用链,生成所述目标源文件的调用关系。
可选地,所述获取目标源文件对应的抽象语法树中的至少一个第一调用节点,包括:
从所述抽象语法树包括的全部方法定义节点中,确定所述至少一个第一调用节点,每个所述第一调用节点存在对应的第一类节点,所述第一类节点为该第一调用节点的父节点,且所述第一类节点为类定义节点。
可选地,在所述将该第一调用节点对应的第一调用方法,调用所述第一被调用节点对应的第一被调用方法,作为该第一调用节点的调用链之前,所述方法还包括:
获取该第一调用节点对应的所述第一类节点;
根据该第一调用节点和对应的所述第一类节点,获取所述第一调用节点的方法名,和所述第一调用节点所属的类名,以确定所述第一调用方法,并根据所述第一被调用节点,获取所述第一被调用节点的方法名,和所述第一被调用节点所属的类名,以确定所述第一被调用方法。
可选地,在所述获取所述抽象语法树中,该第一调用节点的子节点之后,所述方法还包括:
在该第一调用节点的子节点中,确定该第一调用节点对应的至少一个第二被调用节点,所述第二被调用节点为方法调用节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京三快在线科技有限公司,未经北京三快在线科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010990136.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:排放系统及具有其的烹饪装置
- 下一篇:可折叠结构及电子设备