关系图生成方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:23787122 阅读:49 留言:0更新日期:2020-04-15 00:30
本申请涉及一种关系图生成方法、装置、计算机设备和存储介质。所述方法包括:获取待分析项目的字节码文件集合,字节码文件集合包括至少一个字节码文件;对字节码文件集合进行过滤得到目标字节码文件集合;对目标字节码文件集合中的字节码文件进行分析得到目标对象,对目标对象的继承关系进行分析得到继承关系集合;根据继承关系集合获取目标对象的实现类;对实现类对应的字节码文件进行解析得到目标实现方法集合;对目标实现方法集合进行分析得到目标实现方法集合中目标实现方法的调用关系;根据目标实现方法和调用关系生成方法调用关系图,对方法调用关系图进行展示。采用本方法能够提高用户的查看效率。

Method, device, computer equipment and storage medium of graph generation

【技术实现步骤摘要】
关系图生成方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种关系图生成方法、装置、计算机设备和存储介质。
技术介绍
随着计算机技术的发展,软件系统的规模和复杂度不断提高。对于软件开发人员,基于开发需求,需要快速了解系统的结构和代码的组织逻辑。目前,使用IntelliJIDEA(Java编程语言开发的集成环境)工具可以查看Java代码中的方法调用图。但是使用IntelliJIDEA只能查看Java代码中所有方法的调用关系图,开发人员还需要在复杂的调用关系图中查找需要的方法和对应的调用关系,从而导致查看效率低下。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高查看效率的关系图生成方法、装置、计算机设备和存储介质。一种关系图生成方法,该方法包括:获取待分析项目的字节码文件集合,字节码文件集合包括至少一个字节码文件;对字节码文件集合进行过滤得到目标字节码文件集合;对目标字节码文件集合中的字节码文件进行分析得到目标对象,对目标对象的继承关系进行分析得到继承关系集合;根据继承关系集合获取目标对象的实现类;对实现类对应的字节码文件进行解析得到目标实现方法集合;对目标实现方法集合进行分析得到目标实现方法集合中目标实现方法的调用关系;根据目标实现方法和调用关系生成方法调用关系图,对方法调用关系图进行展示。一种关系图生成装置,该装置包括:字节码文件集合获取模块,用于获取待分析项目的字节码文件集合,字节码文件集合包括至少一个字节码文件;过滤模块,用于对字节码文件集合进行过滤得到目标字节码文件集合;继承关系分析模块,用于对目标字节码文件集合中的字节码文件进行分析得到目标对象,对目标对象的继承关系进行分析得到继承关系集合;实现类获取模块,用于根据继承关系集合获取所述目标对象的实现类;字节码文件解析模块,用于对实现类对应的字节码文件进行解析得到目标实现方法集合;调用关系获取模块,用于对目标实现方法集合进行分析得到目标实现方法集合中目标实现方法的调用关系;方法调用关系图生成模块,用于根据目标实现方法和调用关系生成方法调用关系图,对方法调用关系图进行展示。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取待分析项目的字节码文件集合,字节码文件集合包括至少一个字节码文件;对字节码文件集合进行过滤得到目标字节码文件集合;对目标字节码文件集合中的字节码文件进行分析得到目标对象,对目标对象的继承关系进行分析得到继承关系集合;根据继承关系集合获取目标对象的实现类;对实现类对应的字节码文件进行解析得到目标实现方法集合;对目标实现方法集合进行分析得到目标实现方法集合中目标实现方法的调用关系;根据目标实现方法和调用关系生成方法调用关系图,对方法调用关系图进行展示。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取待分析项目的字节码文件集合,字节码文件集合包括至少一个字节码文件;对字节码文件集合进行过滤得到目标字节码文件集合;对目标字节码文件集合中的字节码文件进行分析得到目标对象,对目标对象的继承关系进行分析得到继承关系集合;根据继承关系集合获取目标对象的实现类;对实现类对应的字节码文件进行解析得到目标实现方法集合;对目标实现方法集合进行分析得到目标实现方法集合中目标实现方法的调用关系;根据目标实现方法和调用关系生成方法调用关系图,对方法调用关系图进行展示。上述关系图生成方法、装置、计算机设备和存储介质,将获取到的待分析项目的字节码文件集合过滤得到目标字节码文件集合,对目标字节码文件集合中的字节码文件进行分析得到目标对象,对目标对象的继承关系进行分析得到继承关系集合,根据继承关系集合获取目标对象的实现类,对实现类对应的字节码文件进行解析得到目标实现方法集合,再对目标实现方法集合进行分析得到目标实现方法集合中目标实现方法的调用关系,根据目标实现方法和调用关系生成方法调用关系图,进而对方法调用关系图进行展示。因此,对字节码文件集合过滤掉不关心的字节码文件,进而得到目标字节码文件集合,再对目标字节码文件集合中实现类对应的字节码文件分析得到目标实现方法和目标实现方法的调用关系,最后根据目标实现方法和调用关系生成方法调用关系图,最终的方法调用关系图只包括由关心的字节码文件分析得到的实现方法和实现方法的调用关系,进而提高了用户的查看效率。附图说明图1为一个实施例中关系图生成方法的应用环境图;图2为一个实施例中关系图生成方法的流程示意图;图3为一个实施例中获取待分析项目的字节码文件集合步骤的流程示意图;图4为一个实施例中根据目标实现方法和调用关系生成方法调用关系图步骤的流程示意图;图5为一个实施例中对字节码文件集合进行过滤得到目标字节码文件集合步骤的流程示意图;图6为一个实施例中对实现类对应的字节码文件进行解析得到目标实现方法集合步骤的流程示意图;图7为另一个实施例中关系图生成方法的流程示意图;图8为一个实施例中关系图生成装置的结构框图;图9为一个实施例中计算机设备的内部结构图;图10为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的关系图生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。具体地,终端102可从服务器104上获取待分析项目,再对待分析项目分析得到待分析项目的字节码文件集合,终端102对字节码文件集合进行过滤得到目标字节码文件集合,再对目标字节码文件集合中的字节码文件进行分析得到目标对象。终端102对目标对象的继承关系进行分析得到继承关系集合,根据继承关系集合获取目标对象的实现类,对实现类对应的字节码文件进行解析得到目标实现方法集合,再对目标实现方法集合进行分析得到目标实现方法集合中目标实现方法的调用关系,根据目标实现方法和调用关系生成方法调用关系图,并在终端102上展示该方法调用关系图。具体地,服务器104也可以从数据库中获取待分析项目,再对待分析项目分析得到待分析项目的字节码文件集合,服务器104对字节码文件集合进行过滤得到目标字节码文件集合,再对目标字节码文件集合中的字节码文件进行分析得到目标对象。服务器104对目标对象的继承关系进本文档来自技高网...

【技术保护点】
1.一种关系图生成方法,所述方法包括:/n获取待分析项目的字节码文件集合,所述字节码文件集合包括至少一个字节码文件;/n对所述字节码文件集合进行过滤得到目标字节码文件集合;/n对所述目标字节码文件集合中的字节码文件进行分析得到目标对象,对所述目标对象的继承关系进行分析得到继承关系集合;/n根据所述继承关系集合获取所述目标对象的实现类;/n对所述实现类对应的字节码文件进行解析得到目标实现方法集合;/n对所述目标实现方法集合进行分析得到所述目标实现方法集合中目标实现方法的调用关系;/n根据所述目标实现方法和所述调用关系生成方法调用关系图,对所述方法调用关系图进行展示。/n

【技术特征摘要】
1.一种关系图生成方法,所述方法包括:
获取待分析项目的字节码文件集合,所述字节码文件集合包括至少一个字节码文件;
对所述字节码文件集合进行过滤得到目标字节码文件集合;
对所述目标字节码文件集合中的字节码文件进行分析得到目标对象,对所述目标对象的继承关系进行分析得到继承关系集合;
根据所述继承关系集合获取所述目标对象的实现类;
对所述实现类对应的字节码文件进行解析得到目标实现方法集合;
对所述目标实现方法集合进行分析得到所述目标实现方法集合中目标实现方法的调用关系;
根据所述目标实现方法和所述调用关系生成方法调用关系图,对所述方法调用关系图进行展示。


2.根据权利要求1所述的方法,其特征在于,所述获取待分析项目的字节码文件集合,包括:
获取待分析项目的根目录路径,根据所述根目录路径创建文件对象;
通过所述文件对象获取所述根目录路径下的子文件对象;
遍历所述子文件对象得到各个字节码文件,将所述各个字节码文件组成所述字节码文件集合。


3.根据权利要求1所述的方法,其特征在于,根据所述目标实现方法和所述调用关系生成方法调用关系图,包括:
根据所述目标实现方法生成对应的节点,所述节点携带方法标识;
根据所述调用关系建立所述节点之间的连接关系,所述调用关系携带调用的目标实现方法的方法标识;
根据所述节点和所述连接关系生成方法调用关系图。


4.根据权利要求1所述的方法,其特征在于,所述对所述字节码文件集合进行过滤得到目标字节码文件集合,包括:
获取用户在控制界面录入的字节码文件信息;
根据所述字节码文件信息从字节码文件集合中删除对应的字节码文件,得到目标字节码文件集合。


5.根据权利要求1所述的方法,其特征在于,所述对所述实现类对应的字节码文件进行解析得到目标实现方法集合,包括:
对所述实现类对应的字节码文件进行解析得到实现方法集合;
获取用户在控制界面录入的方法信息;
根据所述方法信息从所述实现方法集合中删除对应的实现方法...

【专利技术属性】
技术研发人员:牟文尧
申请(专利权)人:浙江大搜车软件技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1