CN112416421A - 软件依赖关系分析方法、分析装置和可读存储介质 - Google Patents
软件依赖关系分析方法、分析装置和可读存储介质 Download PDFInfo
- Publication number
- CN112416421A CN112416421A CN202011285524.1A CN202011285524A CN112416421A CN 112416421 A CN112416421 A CN 112416421A CN 202011285524 A CN202011285524 A CN 202011285524A CN 112416421 A CN112416421 A CN 112416421A
- Authority
- CN
- China
- Prior art keywords
- software
- dependency
- dependency relationship
- release
- software packages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 87
- 238000001914 filtration Methods 0.000 claims description 17
- 238000000034 method Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000007619 statistical method Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- PMHURSZHKKJGBM-UHFFFAOYSA-N isoxaben Chemical compound O1N=C(C(C)(CC)CC)C=C1NC(=O)C1=C(OC)C=CC=C1OC PMHURSZHKKJGBM-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Computer Security & Cryptography (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明提出了一种软件依赖关系分析方法、分析装置和可读存储介质。其中,软件依赖关系分析方法包括:获取多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包;根据多个依赖关系报告,确定多个软件包的发布依赖关系;根据发布依赖关系生成并显示多个软件包的发布依赖关系报告。通过本发明的软件依赖关系分析方法,能够快速洞悉某个特定软件包在各个项目中的分布情况,以及各个项目中软件包的使用情况,并能够快速了解各软件包的发布依赖关系,对于实现大型项目依赖情况的分析、支撑切RELEASE版本上取得了高效、便捷、快速的指引,提升了该事项的工作效率。
Description
技术领域
本发明涉及软件技术领域,具体而言,涉及一种软件依赖关系分析方法,一种软件依赖关系分析装置,一种可读存储介质。
背景技术
大型项目中多则上百个项目,各项目中的软件开发工具包sdk的状态不一,存在不同版本SNAPSHOT版本(尚在开发中的版本)、RELEASE版本(指发布版本),各版本的依赖顺序也不明确;在进行切RELEASE时,更是复杂。
针对类似此种场景,目前采用的是通过统一技术栈,统一二方包的方式进行规范约定,实则在发布的服务中使用的版本如何,则状态不一。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个方面在于提出了一种软件依赖关系分析方法。
本发明的另一个方面在于提出了一种软件依赖关系分析装置。
本发明的再一个方面在于提出了一种可读存储介质。
有鉴于此,根据本发明的一个方面,提出了一种软件依赖关系分析方法,软件包括多个项目,分析方法包括:获取多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包;根据多个依赖关系报告,确定多个软件包的发布依赖关系;根据发布依赖关系生成并显示多个软件包的发布依赖关系报告。
本发明提供的软件依赖关系分析方法,其中软件包括多个项目。分别获取每个项目的依赖关系报告及使用的软件包sdk,即一个项目对应生成一个依赖关系报告,从而得到多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包sdk。根据多个依赖关系报告,解析各依赖关系报告中的引用关系,从而确定多个软件包的发布依赖关系,即软件包发布依赖的先后顺序。之后,根据发布依赖关系生成并显示多个软件包的发布依赖关系报告,具体地,可以为视图报告。通过本发明的软件依赖关系分析方法,能够快速洞悉某个特定软件包在各个项目中的分布情况,以及各个项目中软件包的使用情况,并能够快速了解各软件包的发布依赖关系,对于实现大型项目依赖情况的分析、支撑切RELEASE版本上取得了高效、便捷、快速的指引,提升了该事项的工作效率。
根据本发明的上述软件依赖关系分析方法,还可以具有以下技术特征:
在上述技术方案中,依赖关系报告包括多个项目中任一项项目使用的软件包的依赖关系。
在该技术方案中,依赖关系报告包括任一项项目使用的软件包的依赖关系,但不限于此。可以理解地,报告中还可包括软件包的基础信息,比如软件包标识、项目标识、版本信息等。依赖关系报告反映了项目中的软件包sdk的使用情况,即该项目使用了哪些软件包,以及每个软件包的引用关系。例如,项目A包括sdk1和sdk2,sdk1引用了sdk3,sdk3引用sdk4及sdk5,sdk2引用了sdk6。对于单个项目而言,本技术方案提供基于项目和软件包等不同视角的分析方案。基于项目的视角,能够获悉项目使用了哪些软件包,软件包的使用状态、使用版本。基于软件包的角度,能够获悉软件包的依赖关系及依赖顺序。由此,为实现大型项目工程依赖情况的分析提供了基础。
在上述任一技术方案中,根据多个依赖关系报告,确定多个软件包的发布依赖关系的步骤,具体包括:根据多个依赖关系报告,确定多个软件包的依赖关系;基于依赖关系,按照依赖先后层级对多个软件包进行依赖排序,得到多个软件包的发布依赖关系。
在该技术方案中,对于根据多个依赖关系报告,确定多个软件包的发布依赖关系的方法进行了限定。具体地,通过对所有项目的多个依赖关系报告进行统计分析,实现大量项目的依赖分析,并输出多个软件包的依赖关系。同时支持基于项目和软件包等不同视角的分析方案。基于软件包sdk的视角,能够获悉软件包sdk的依赖关系及依赖顺序,依赖关系包括引用关系及被引用关系。例如,sdk2,引用了sdk6,被sdk7及sdk8所引用,其中,sdk7引用了sdk8,则sdk2的依赖顺序为:sdk7、sdk8、sdk2、sdk6。基于项目的视角,能够快速洞悉特定软件包在各项目中的分布情况,以及各项目中的软件包的使用状态。进一步地,基于多个软件包的依赖关系,可以确定各软件包的依赖先后层级。按照依赖先后层级对多个软件包进行依赖排序,从而得到多个软件包的发布依赖关系。可以理解地,对于任一层级,层级越低越先发布,层级越高越后发布。通过本发明的技术方案,能够快速洞悉特定软件包在各项目的使用情况,并能够以视图方式输出各软件包的发布依赖关系,规范各软件包的发布依赖顺序,从而实现大型项目工程的二、三方包的快速分析。
在上述任一技术方案中,任一层级中的多个软件包之间没有依赖关系。
在该技术方案中,任一层级包括至少一个软件包,当包括多个软件包时,多个软件包之间没有依赖关系,从而对于同一层级的软件包可以并行发布,对于支撑切RELEASE版本上取得了高效、便捷、快速的指引。
在上述任一技术方案中,软件依赖关系分析方法还包括:获取多个软件包对应的多个软件包标识及多个版本信息;基于同一软件包标识的多个软件包对应的版本信息不一致的情况下,将同一标识的多个软件包对应的版本修改为指定版本。
在该技术方案中,首先,获取所有项目中各软件包对应的软件包标识及对应的版本信息,其中软件包标识即软件包的唯一标识。由于同一个软件包可能分布在不同项目中,并存在各项目中所用版本不一致的情况,导致在发布的服务中使用的版本不一,不利于后续维护,因此,需要对同一标识的多个软件包的版本进行统一。如果同一软件包标识下的多个软件包,其版本信息一致,则无需进一步处理,反之,如果其版本信息不一致,则需要将同一软件包标识下的多个软件包对应的版本修改为指定版本。通过本发明的技术方案,将所有项目中使用的软件包版本透明化,实现所有项目的二、三方包的非RELEASE分析,并以视图的方式输出各软件包的发布依赖顺序,使切换RELEASE变得简单。
在上述任一技术方案中,软件依赖关系分析方法还包括:按照预设过滤条件对发布依赖关系报告过滤,生成对应的目标发布依赖关系报告,其中预设过滤条件包括以下任一项或其组合:软件包标识、软件包发布状态、层级名称、项目标识。
在该技术方案中,支持按照预设过滤条件对发布依赖关系报告进行过滤,从而生成符合特定条件的目标发布依赖关系报告。其中可根据软件包标识、软件包发布状态、层级名称、项目标识中的任一项或其组合来设置预设过滤条件。从而支持按照不同的视角分析该软件中的非RELEASE的信息以及SDK在其他项目使用的情况。
在上述任一技术方案中,获取多个项目对应的多个依赖关系报告的步骤,具体包括:对每个项目对应的编译文件进行扫描,确定每个项目对应的依赖关系报告。
在该技术方案中,通过对每个项目对应的编译文件进行扫描,可以获取到每个项目的依赖关系报告,包括依赖关系、软件包标识、项目标识、版本信息等信息。
在上述任一技术方案中,依赖关系报告的格式为txt格式;发布依赖关系报告的格式为excel格式。
在该技术方案中,依赖关系报告的格式为txt格式,但不限于此,当依赖关系报告的格式改变时,相应的在对多个依赖关系报告进行综合分析时,读取每个依赖关系报告的接口也要相应发生改变。发布依赖关系报告的格式为excel格式,但不限于此。
根据本发明的另一个方面,提出了一种软件依赖关系分析装置,包括:存储器,存储器存储有程序;处理器,处理器执行程序时实现如上述任一技术方案的软件依赖关系分析方法。
本发明提供的软件依赖关系分析装置,处理器执行程序时实现如上述任一技术方案的软件依赖关系分析方法的步骤,因此该软件依赖关系分析装置包括上述任一技术方案的软件依赖关系分析方法的全部有益效果。
根据本发明的再一个方面,提出了一种可读存储介质,其上存储有程序,程序被处理器执行时实现如上述任一技术方案的软件依赖关系分析方法。
本发明提供的可读存储介质,处理器执行程序时实现如上述任一技术方案的软件依赖关系分析方法的步骤,因此该可读存储介质包括上述任一技术方案的软件依赖关系分析方法的全部有益效果。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了本发明的第一个实施例的软件依赖关系分析方法的流程示意图;
图2示出了本发明的第二个实施例的软件依赖关系分析方法的流程示意图;
图3示出了本发明的第三个实施例的软件依赖关系分析方法的流程示意图;
图4示出了本发明的第四个实施例的软件依赖关系分析方法的流程示意图;
图5示出了本发明的第五个实施例的软件依赖关系分析方法的逻辑示意图;
图6示出了本发明的第五个实施例的发布依赖关系报告的示意图;
图7示出了本发明的一个实施例的软件依赖关系分析装置的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不限于下面公开的具体实施例的限制。
根据本发明的一个方面的实施例,提出了一种软件依赖关系分析方法,通过以下实施例对该软件依赖关系分析方法进行详细说明。
实施例一,图1示出了本发明的第一个实施例的软件依赖关系分析方法的流程示意图。其中,软件包括多个项目,该分析方法包括:
步骤102,获取多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包;
步骤104,根据多个依赖关系报告,确定多个软件包的发布依赖关系;
步骤106,根据发布依赖关系生成并显示多个软件包的发布依赖关系报告。
本实施例提供的软件依赖关系分析方法,其中软件包括多个项目。分别获取每个项目的依赖关系报告及使用的软件包,即一个项目对应生成一个依赖关系报告,从而得到多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包sdk。根据多个依赖关系报告,解析各依赖关系报告中的引用关系,从而确定多个软件包的发布依赖关系,即软件包发布依赖的先后顺序。之后,根据发布依赖关系生成并显示多个软件包的发布依赖关系报告,具体地,可以为视图报告。通过本实施例的软件依赖关系分析方法,能够快速洞悉某个特定软件包在各个项目中的分布情况,以及各个项目中软件包的使用情况,并能够快速了解各软件包的发布依赖关系,对于实现大型项目依赖情况的分析、支撑切RELEASE版本上取得了高效、便捷、快速的指引,提升了该事项的工作效率。
实施例二,图2示出了本发明的第二个实施例的软件依赖关系分析方法的流程示意图。其中,软件包括多个项目,该分析方法包括:
步骤202,获取多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包;
步骤204,根据多个依赖关系报告,确定多个软件包的依赖关系;
步骤206,基于依赖关系,按照依赖先后层级对多个软件包进行依赖排序,得到多个软件包的发布依赖关系;
步骤208,根据发布依赖关系生成并显示多个软件包的发布依赖关系报告。
在该实施例中,通过对所有项目的多个依赖关系报告进行统计分析,实现大量项目的依赖分析,并输出多个软件包的依赖关系。同时支持基于项目和软件包等不同视角的分析方案。基于软件包sdk的视角,能够获悉软件包sdk的依赖关系及依赖顺序,依赖关系包括引用关系及被引用关系。例如,sdk2,依赖于sdk6,被sdk7及sdk8所依赖,其中,sdk7依赖于sdk8,则sdk2的依赖顺序为:sdk7、sdk8、sdk2、sdk6。基于项目的视角,能够快速洞悉特定软件包在各项目中的分布情况,以及各项目中的软件包的使用状态。进一步地,基于依赖关系,可以确定各软件包的依赖先后层级。按照依赖先后层级对多个软件包进行依赖排序,从而得到多个软件包的发布依赖关系。可以理解地,对于任一层级,层级越低越先发布,层级越高越后发布。通过本实施例的软件依赖关系分析方法,能够快速洞悉特定软件包在各项目的使用情况,并能够以视图方式输出各软件包的发布依赖关系,规范各软件包的发布依赖顺序,从而实现大型项目工程的二、三方包的快速分析。
实施例三,图3示出了本发明的第三个实施例的软件依赖关系分析方法的流程示意图。其中,软件包括多个项目,该分析方法包括:
步骤302,获取多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包;
步骤304,根据多个依赖关系报告,确定多个软件包的依赖关系;
步骤306,基于依赖关系,按照依赖先后层级对多个软件包进行依赖排序,得到多个软件包的发布依赖关系;
步骤308,根据发布依赖关系生成并显示多个软件包的发布依赖关系报告;
步骤310,获取多个软件包对应的多个软件包标识及多个版本信息;
步骤312,基于同一软件包标识的多个软件包对应的版本信息不一致的情况下,将同一标识的多个软件包对应的版本修改为指定版本。
在该实施例中,首先,获取所有项目中各软件包对应的软件包标识及对应的版本信息,其中软件包标识即软件包的唯一标识。由于同一个软件包可能分布在不同项目中,并存在各项目中所用版本不一致的情况,导致在发布的服务中使用的版本不一,不利于后续维护,因此,需要对同一标识的多个软件包的版本进行统一。如果同一软件包标识下的多个软件包,其版本信息一致,则无需进一步处理,反之,如果其版本信息不一致,则需要将同一软件包标识下的多个软件包对应的版本修改为指定版本。通过本实施例的软件依赖关系分析方法,将所有项目中使用的软件包版本透明化,实现所有项目的二、三方包的非RELEASE分析,并以视图的方式输出各软件包的发布依赖顺序,使切换RELEASE变得简单。
实施例四,图4示出了本发明的第四个实施例的软件依赖关系分析方法的流程示意图。其中,软件包括多个项目,该分析方法包括:
步骤402,获取多个项目对应的多个依赖关系报告,以及多个项目对应的多个软件包;
步骤404,根据多个依赖关系报告,确定多个软件包的依赖关系;
步骤406,基于依赖关系,按照依赖先后层级对多个软件包进行依赖排序,得到多个软件包的发布依赖关系;
步骤408,根据发布依赖关系生成并显示多个软件包的发布依赖关系报告;
步骤410,获取多个软件包对应的多个软件包标识及多个版本信息;
步骤412,基于同一软件包标识的多个软件包对应的版本信息不一致的情况下,将同一标识的多个软件包对应的版本修改为指定版本;
步骤414,按照预设过滤条件对发布依赖关系报告过滤,生成对应的目标发布依赖关系报告,其中预设过滤条件包括以下任一项或其组合:软件包标识、软件包发布状态、层级名称、项目标识。
在该实施例中,支持按照预设过滤条件对发布依赖关系报告进行过滤,从而生成符合特定条件的目标发布依赖关系报告。其中可根据软件包标识、软件包发布状态、层级名称、项目标识中的任一项或其组合来设置预设过滤条件。从而支持按照不同的视角分析该软件中的非RELEASE的信息以及SDK在其他项目使用的情况。
在上述任一实施例中,获取多个项目对应的多个依赖关系报告的步骤,具体包括:对每个项目对应的编译文件进行扫描,确定每个项目对应的依赖关系报告。
在该实施例中,通过对每个项目对应的编译文件进行扫描,可以获取到每个项目的依赖关系报告,包括依赖关系、软件包标识、项目标识、版本信息等信息。
在上述任一实施例中,依赖关系报告包括多个项目中任一项项目使用的软件包的依赖关系。
在该实施例中,依赖关系报告包括任一项项目使用的软件包的依赖关系,但不限于此。可以理解地,报告中还可包括软件包的基础信息,比如软件包标识、项目标识、版本信息等。依赖关系报告反映了项目中的软件包sdk的使用情况,即该项目使用了哪些软件包,以及每个软件包的引用关系。例如,项目A包括sdk1和sdk2,sdk1引用了sdk3,sdk3引用sdk4及sdk5,sdk2引用了sdk6。对于单个项目而言,本实施例提供基于项目和软件包等不同视角的分析方案。基于项目的视角,能够获悉项目使用了哪些软件包,软件包的使用状态、使用版本。基于软件包的角度,能够获悉软件包的依赖关系及依赖顺序。由此,为实现大型项目工程依赖情况的分析提供了基础。
在上述任一实施例中,任一层级中的多个软件包之间没有依赖关系。
在该实施例中,任一层级包括至少一个软件包,当包括多个软件包时,多个软件包之间没有依赖关系,从而对于同一层级的软件包可以并行发布,对于支撑切RELEASE版本上取得了高效、便捷、快速的指引。
在上述任一实施例中,依赖关系报告的格式为txt格式;发布依赖关系报告的格式为excel格式。
在该实施例中,依赖关系报告的格式为txt格式,但不限于此,当依赖关系报告的格式改变时,相应的在对多个依赖关系报告进行综合分析时,读取每个依赖关系报告的接口也要相应发生改变。发布依赖关系报告的格式为excel格式,但不限于此。
实施例五,提出了一种软件依赖关系分析方法,图5示出了本发明的第五个实施例的软件依赖关系分析方法的逻辑示意图。如图5所示,该分析方法的两个核心利器:基于maven的插件,输出各项目中的sdk使用情况的report报告,project-sdk-analyze插件则通过收集的所有项目的report报告进行统计分析实现大量项目的分析,并能够输出以不同的视角进行分析。具体地:
1、基于maven的插件,能够扫描出项目中的依赖的关系报告,也支持对符合特定条件的进行检索。
2、Project-sdk-analyze:用于实现对产生的所有报告report解析计算各报告中的引用关系及统计并输出对应的视图报告。
图6示出了本发明的第五个实施例的发布依赖关系报告的示意图。其中,该发布依赖关系报告分批次(即分层级)的展示了多个软件包的发布依赖关系。可以理解地,第一层级(即第一批)至第十层级依次发布,第二层级依赖于第一层级,第三层级依赖于第一层级和/或第二层级,以此类推,第十层级可依赖于前面九层级中的任一层级或其组合。
另外,该发布依赖关系报告还展示了主项目标识、子项目标识、版本信息及状态(即软件包发布状态),以及使用项目(即使用的软件包)。根据主项目标识、子项目标识、版本信息及软件包发布状态,以及软件包标识可设置预设过滤条件,基于预设过滤条件对该发布依赖关系报告进行过滤,从而生成对应的目标发布依赖关系报告。
本实施例相较于传统解决方案在大型项目工程二、三方包分析的场景上优势如下:
1、能够快速洞悉特定sdk在各个项目中的分布情况;
2、能够快速知悉某个项目中的sdk的使用状态;
3、能够快速了解各sdk的发布依赖关系及顺序。
根据本发明的另一个方面的实施例,提出了一种软件依赖关系分析装置,图7示出了本发明的一个实施例的软件依赖关系分析装置700的示意框图。其中,该软件依赖关系分析装置700包括:存储器702,存储器702存储有程序;处理器704,处理器704执行程序时实现如上述任一实施例的软件依赖关系分析方法。
本实施例提供的软件依赖关系分析装置700,处理器704执行程序时实现如上述任一实施例的软件依赖关系分析方法的步骤,因此该软件依赖关系分析装置700包括上述任一实施例的软件依赖关系分析方法的全部有益效果。
根据本发明的再一个方面的实施例,提出了一种可读存储介质,其上存储有程序,程序被处理器执行时实现如上述任一实施例的软件依赖关系分析方法。
本实施例提供的可读存储介质,处理器执行程序时实现如上述任一实施例的软件依赖关系分析方法的步骤,因此该可读存储介质包括上述任一实施例的软件依赖关系分析方法的全部有益效果。
在本说明书的描述中,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性,除非另有明确的规定和限定;术语“连接”、“安装”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“具体实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件依赖关系分析方法,所述软件包括多个项目,其特征在于,所述分析方法包括:
获取所述多个项目对应的多个依赖关系报告,以及所述多个项目对应的多个软件包;
根据所述多个依赖关系报告,确定所述多个软件包的发布依赖关系;
根据所述发布依赖关系生成并显示所述多个软件包的发布依赖关系报告。
2.根据权利要求1所述的软件依赖关系分析方法,其特征在于,
所述依赖关系报告包括所述多个项目中任一项所述项目使用的软件包的依赖关系。
3.根据权利要求2所述的软件依赖关系分析方法,其特征在于,所述根据所述多个依赖关系报告,确定所述多个软件包的发布依赖关系的步骤,具体包括:
根据所述多个依赖关系报告,确定所述多个软件包的依赖关系;
基于所述依赖关系,按照依赖先后层级对所述多个软件包进行依赖排序,得到所述多个软件包的发布依赖关系。
4.根据权利要求3所述的软件依赖关系分析方法,其特征在于,
任一所述层级中的多个软件包之间没有依赖关系。
5.根据权利要求1所述的软件依赖关系分析方法,其特征在于,还包括:
获取所述多个软件包对应的多个软件包标识及多个版本信息;
基于同一软件包标识的多个软件包对应的版本信息不一致的情况下,将所述同一标识的多个软件包对应的版本修改为指定版本。
6.根据权利要求1所述的软件依赖关系分析方法,其特征在于,还包括:
按照预设过滤条件对所述发布依赖关系报告过滤,生成对应的目标发布依赖关系报告,其中
所述预设过滤条件包括以下任一项或其组合:软件包标识、软件包发布状态、层级名称、项目标识。
7.根据权利要求1所述的软件依赖关系分析方法,其特征在于,所述获取所述多个项目对应的多个依赖关系报告的步骤,具体包括:
对每个项目对应的编译文件进行扫描,确定所述每个项目对应的依赖关系报告。
8.根据权利要求1所述的软件依赖关系分析方法,其特征在于,
所述依赖关系报告的格式为txt格式;
所述发布依赖关系报告的格式为excel格式。
9.一种软件依赖关系分析装置,其特征在于,包括:
存储器,所述存储器存储有程序;
处理器,所述处理器执行所述程序时实现如权利要求1至8中任一项所述的软件依赖关系分析方法。
10.一种可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至8中任一项所述的软件依赖关系分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011285524.1A CN112416421A (zh) | 2020-11-17 | 2020-11-17 | 软件依赖关系分析方法、分析装置和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011285524.1A CN112416421A (zh) | 2020-11-17 | 2020-11-17 | 软件依赖关系分析方法、分析装置和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416421A true CN112416421A (zh) | 2021-02-26 |
Family
ID=74831502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011285524.1A Pending CN112416421A (zh) | 2020-11-17 | 2020-11-17 | 软件依赖关系分析方法、分析装置和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416421A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113971031A (zh) * | 2021-10-28 | 2022-01-25 | 中国银行股份有限公司 | 软件包依赖关系检查方法及装置 |
WO2023015669A1 (zh) * | 2021-08-12 | 2023-02-16 | 广东艾檬电子科技有限公司 | 项目依赖关系展示方法、装置、终端设备和存储介质 |
CN117311698A (zh) * | 2023-08-14 | 2023-12-29 | 广州致远电子股份有限公司 | 软件包发布方法、软件包下载方法、终端设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168956A1 (en) * | 2005-11-03 | 2007-07-19 | International Business Machines Corporation | System and method for representing user processes as software packages in a software package management system |
CN102880466A (zh) * | 2012-09-04 | 2013-01-16 | 中标软件有限公司 | 一种Linux操作系统软件包依赖关系检测方法 |
CN110990051A (zh) * | 2019-11-27 | 2020-04-10 | 锐捷网络股份有限公司 | 软件包依赖关系的维护方法、装置、介质和设备 |
-
2020
- 2020-11-17 CN CN202011285524.1A patent/CN112416421A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070168956A1 (en) * | 2005-11-03 | 2007-07-19 | International Business Machines Corporation | System and method for representing user processes as software packages in a software package management system |
CN102880466A (zh) * | 2012-09-04 | 2013-01-16 | 中标软件有限公司 | 一种Linux操作系统软件包依赖关系检测方法 |
CN110990051A (zh) * | 2019-11-27 | 2020-04-10 | 锐捷网络股份有限公司 | 软件包依赖关系的维护方法、装置、介质和设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023015669A1 (zh) * | 2021-08-12 | 2023-02-16 | 广东艾檬电子科技有限公司 | 项目依赖关系展示方法、装置、终端设备和存储介质 |
CN113971031A (zh) * | 2021-10-28 | 2022-01-25 | 中国银行股份有限公司 | 软件包依赖关系检查方法及装置 |
CN117311698A (zh) * | 2023-08-14 | 2023-12-29 | 广州致远电子股份有限公司 | 软件包发布方法、软件包下载方法、终端设备及存储介质 |
CN117311698B (zh) * | 2023-08-14 | 2024-05-17 | 广州致远电子股份有限公司 | 软件包发布方法、软件包下载方法、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416421A (zh) | 软件依赖关系分析方法、分析装置和可读存储介质 | |
CN112612675B (zh) | 微服务架构下的分布式大数据日志链路跟踪方法及系统 | |
CN109388566B (zh) | 一种代码覆盖率分析方法、装置、设备及存储介质 | |
US8504594B2 (en) | Memory management method, and memory management apparatus | |
CN103345442B (zh) | 装备自动化测试业务集成系统 | |
CN111158741B (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
CN101488085A (zh) | 软件接口测试方法和装置 | |
JP2004206644A (ja) | ヒープサイズ自動最適化処理方法,ヒープサイズ自動最適化装置,そのプログラムおよびプログラム記録媒体 | |
US8326982B2 (en) | Method and apparatus for extracting and visualizing execution patterns from web services | |
CN111552607A (zh) | 应用程序的健康评估方法、装置、设备及存储介质 | |
CN111427780A (zh) | 函数信息的追踪方法、装置和计算机可读存储介质 | |
US20060129879A1 (en) | System and method for monitoring the status and progress of a technical process or of a technical project | |
CN109726126A (zh) | 一种分布式并行fuzz方法及系统 | |
CN111026670A (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN114968739A (zh) | 运维任务管理方法、运维方法、装置、设备和介质 | |
CN1752944A (zh) | 基于脚本的三维建模软件自动测试方法 | |
Pinzger et al. | Towards an integrated view on architecture and its evolution | |
Li et al. | A service-oriented componentization framework for java software systems | |
CN115880116A (zh) | 任务调度方法、系统,可读存储介质及计算机设备 | |
CN113407441A (zh) | 软件测试方法、装置、设备及存储介质 | |
Johannsen et al. | Supporting knowledge elicitation and analysis for business process improvement through a modeling tool | |
CN114443050A (zh) | 一种基于ci引擎流水线的新型日志展示方法 | |
Yoon et al. | Mutation-based inter-class testing | |
CN111277650B (zh) | 一种结合功能指标和非功能指标的自动化微服务识别方法 | |
CN109325063B (zh) | 数据管理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |