软件依赖关系分析方法、分析装置和可读存储介质制造方法及图纸

技术编号:27506631 阅读:23 留言:0更新日期:2021-03-02 18:34
本发明专利技术提出了一种软件依赖关系分析方法、分析装置和可读存储介质。其中,软件依赖关系分析方法包括:获取多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包;根据多个依赖关系报告,确定多个软件包的发布依赖关系;根据发布依赖关系生成并显示多个软件包的发布依赖关系报告。通过本发明专利技术的软件依赖关系分析方法,能够快速洞悉某个特定软件包在各个项目中的分布情况,以及各个项目中软件包的使用情况,并能够快速了解各软件包的发布依赖关系,对于实现大型项目依赖情况的分析、支撑切RELEASE版本上取得了高效、便捷、快速的指引,提升了该事项的工作效率。提升了该事项的工作效率。提升了该事项的工作效率。

【技术实现步骤摘要】
软件依赖关系分析方法、分析装置和可读存储介质


[0001]本专利技术涉及软件
,具体而言,涉及一种软件依赖关系分析方法,一种软件依赖关系分析装置,一种可读存储介质。

技术介绍

[0002]大型项目中多则上百个项目,各项目中的软件开发工具包sdk的状态不一,存在不同版本SNAPSHOT版本(尚在开发中的版本)、RELEASE版本(指发布版本),各版本的依赖顺序也不明确;在进行切RELEASE时,更是复杂。
[0003]针对类似此种场景,目前采用的是通过统一技术栈,统一二方包的方式进行规范约定,实则在发布的服务中使用的版本如何,则状态不一。

技术实现思路

[0004]本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。
[0005]为此,本专利技术的一个方面在于提出了一种软件依赖关系分析方法。
[0006]本专利技术的另一个方面在于提出了一种软件依赖关系分析装置。
[0007]本专利技术的再一个方面在于提出了一种可读存储介质。
[0008]有鉴于此,根据本专利技术的一个方面,提出了一种软件依赖关系分析方法,软件包括多个项目,分析方法包括:获取多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包;根据多个依赖关系报告,确定多个软件包的发布依赖关系;根据发布依赖关系生成并显示多个软件包的发布依赖关系报告。
[0009]本专利技术提供的软件依赖关系分析方法,其中软件包括多个项目。分别获取每个项目的依赖关系报告及使用的软件包sdk,即一个项目对应生成一个依赖关系报告,从而得到多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包sdk。根据多个依赖关系报告,解析各依赖关系报告中的引用关系,从而确定多个软件包的发布依赖关系,即软件包发布依赖的先后顺序。之后,根据发布依赖关系生成并显示多个软件包的发布依赖关系报告,具体地,可以为视图报告。通过本专利技术的软件依赖关系分析方法,能够快速洞悉某个特定软件包在各个项目中的分布情况,以及各个项目中软件包的使用情况,并能够快速了解各软件包的发布依赖关系,对于实现大型项目依赖情况的分析、支撑切RELEASE版本上取得了高效、便捷、快速的指引,提升了该事项的工作效率。
[0010]根据本专利技术的上述软件依赖关系分析方法,还可以具有以下技术特征:
[0011]在上述技术方案中,依赖关系报告包括多个项目中任一项项目使用的软件包的依赖关系。
[0012]在该技术方案中,依赖关系报告包括任一项项目使用的软件包的依赖关系,但不限于此。可以理解地,报告中还可包括软件包的基础信息,比如软件包标识、项目标识、版本信息等。依赖关系报告反映了项目中的软件包sdk的使用情况,即该项目使用了哪些软件包,以及每个软件包的引用关系。例如,项目A包括sdk1和sdk2,sdk1引用了sdk3,sdk3引用
sdk4及sdk5,sdk2引用了sdk6。对于单个项目而言,本技术方案提供基于项目和软件包等不同视角的分析方案。基于项目的视角,能够获悉项目使用了哪些软件包,软件包的使用状态、使用版本。基于软件包的角度,能够获悉软件包的依赖关系及依赖顺序。由此,为实现大型项目工程依赖情况的分析提供了基础。
[0013]在上述任一技术方案中,根据多个依赖关系报告,确定多个软件包的发布依赖关系的步骤,具体包括:根据多个依赖关系报告,确定多个软件包的依赖关系;基于依赖关系,按照依赖先后层级对多个软件包进行依赖排序,得到多个软件包的发布依赖关系。
[0014]在该技术方案中,对于根据多个依赖关系报告,确定多个软件包的发布依赖关系的方法进行了限定。具体地,通过对所有项目的多个依赖关系报告进行统计分析,实现大量项目的依赖分析,并输出多个软件包的依赖关系。同时支持基于项目和软件包等不同视角的分析方案。基于软件包sdk的视角,能够获悉软件包sdk的依赖关系及依赖顺序,依赖关系包括引用关系及被引用关系。例如,sdk2,引用了sdk6,被sdk7及sdk8所引用,其中,sdk7引用了sdk8,则sdk2的依赖顺序为:sdk7、sdk8、sdk2、sdk6。基于项目的视角,能够快速洞悉特定软件包在各项目中的分布情况,以及各项目中的软件包的使用状态。进一步地,基于多个软件包的依赖关系,可以确定各软件包的依赖先后层级。按照依赖先后层级对多个软件包进行依赖排序,从而得到多个软件包的发布依赖关系。可以理解地,对于任一层级,层级越低越先发布,层级越高越后发布。通过本专利技术的技术方案,能够快速洞悉特定软件包在各项目的使用情况,并能够以视图方式输出各软件包的发布依赖关系,规范各软件包的发布依赖顺序,从而实现大型项目工程的二、三方包的快速分析。
[0015]在上述任一技术方案中,任一层级中的多个软件包之间没有依赖关系。
[0016]在该技术方案中,任一层级包括至少一个软件包,当包括多个软件包时,多个软件包之间没有依赖关系,从而对于同一层级的软件包可以并行发布,对于支撑切RELEASE版本上取得了高效、便捷、快速的指引。
[0017]在上述任一技术方案中,软件依赖关系分析方法还包括:获取多个软件包对应的多个软件包标识及多个版本信息;基于同一软件包标识的多个软件包对应的版本信息不一致的情况下,将同一标识的多个软件包对应的版本修改为指定版本。
[0018]在该技术方案中,首先,获取所有项目中各软件包对应的软件包标识及对应的版本信息,其中软件包标识即软件包的唯一标识。由于同一个软件包可能分布在不同项目中,并存在各项目中所用版本不一致的情况,导致在发布的服务中使用的版本不一,不利于后续维护,因此,需要对同一标识的多个软件包的版本进行统一。如果同一软件包标识下的多个软件包,其版本信息一致,则无需进一步处理,反之,如果其版本信息不一致,则需要将同一软件包标识下的多个软件包对应的版本修改为指定版本。通过本专利技术的技术方案,将所有项目中使用的软件包版本透明化,实现所有项目的二、三方包的非RELEASE分析,并以视图的方式输出各软件包的发布依赖顺序,使切换RELEASE变得简单。
[0019]在上述任一技术方案中,软件依赖关系分析方法还包括:按照预设过滤条件对发布依赖关系报告过滤,生成对应的目标发布依赖关系报告,其中预设过滤条件包括以下任一项或其组合:软件包标识、软件包发布状态、层级名称、项目标识。
[0020]在该技术方案中,支持按照预设过滤条件对发布依赖关系报告进行过滤,从而生成符合特定条件的目标发布依赖关系报告。其中可根据软件包标识、软件包发布状态、层级
名称、项目标识中的任一项或其组合来设置预设过滤条件。从而支持按照不同的视角分析该软件中的非RELEASE的信息以及SDK在其他项目使用的情况。
[0021]在上述任一技术方案中,获取多个项目对应的多个依赖关系报告的步骤,具体包括:对每个项目对应的编译文件进行扫描,确定每个项目对应的依赖关系报告。
[0022]在该技术方案中,通过对每个项目对应的编译文件进行扫描,可以获取到每个项目的依赖关系报告,包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件依赖关系分析方法,所述软件包括多个项目,其特征在于,所述分析方法包括:获取所述多个项目对应的多个依赖关系报告,以及所述多个项目对应的多个软件包;根据所述多个依赖关系报告,确定所述多个软件包的发布依赖关系;根据所述发布依赖关系生成并显示所述多个软件包的发布依赖关系报告。2.根据权利要求1所述的软件依赖关系分析方法,其特征在于,所述依赖关系报告包括所述多个项目中任一项所述项目使用的软件包的依赖关系。3.根据权利要求2所述的软件依赖关系分析方法,其特征在于,所述根据所述多个依赖关系报告,确定所述多个软件包的发布依赖关系的步骤,具体包括:根据所述多个依赖关系报告,确定所述多个软件包的依赖关系;基于所述依赖关系,按照依赖先后层级对所述多个软件包进行依赖排序,得到所述多个软件包的发布依赖关系。4.根据权利要求3所述的软件依赖关系分析方法,其特征在于,任一所述层级中的多个软件包之间没有依赖关系。5.根据权利要求1所述的软件依赖关系分析方法,其特征在于,还包括:获取所述多个软件包对应的多个软件包标识及多个版本信息;基于同一软件包标识的多个软件...

【专利技术属性】
技术研发人员:范传军
申请(专利权)人:用友网络科技股份有限公司
类型:发明
国别省市:

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

1