一种版本应用的分析方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38969682 阅读:13 留言:0更新日期:2023-09-28 09:33
本发明专利技术提供一种版本应用的分析方法、装置、电子设备及存储介质,所述方法包括:接收上线成功的软件应用的版本基础信息;基于所述版本基础信息获取所述软件应用的基线代码文件;对所述基线代码文件进行分析,得到对应的分析结果;基于所述分析结果、目标组件的名称、以及版本应用的软件名称生成开源资产清单,以便后续用户查询。在本发明专利技术通过对软件应用的版本号所对应的基线代码文件进行分析处理,以生成由初始组件构建的依赖树;进而确定由目标组件、目标组件之间的分析结果以及软件应用的版本号组成分析结果,以生成对应的开源资产清单。通过上述方式得到的开源资产清单能够追踪软件针对开源风险的整改过程。件针对开源风险的整改过程。件针对开源风险的整改过程。

【技术实现步骤摘要】
一种版本应用的分析方法、装置、电子设备及存储介质


[0001]本专利技术涉及数据处理
,尤其涉及一种版本应用的分析方法、装置、电子设备及存储介质。

技术介绍

[0002]软件应用常需要引入一些外部依赖,即开源代码和第三方库。由于开源这样的软件应用中容易存在的大量缺陷、甚至是安全漏洞,为软件带来巨大的安全风险。所以需要对软件应用进行开源分析,以确定软件所使用的外部依赖信息是否规避掉风险。
[0003]目前,对于没有被持续集成CI/持续部署CD的软件应用,用对接版本控制工具git/svn等代码仓库的方式进行外部依赖的连接,但是此种方式并没有办法明确软件的当前发布版本应用。因此会导致后续无法得知在生产系统运行的版本应用中是否存在安全风险,无法追踪软件针对开源风险的整改过程。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供一种版本应用的分析方法、装置、电子设备及存储介质,以解决现有技术中存在的无法追踪软件针对开源风险的整改过程的问题。
[0005]为实现上述目的,本专利技术实施例提供如下技术方案:
[0006]本专利技术实施例第一方面示出了一种版本应用的分析方法,所述方法包括:
[0007]接收上线成功的软件应用的版本基础信息;
[0008]基于所述版本基础信息获取所述软件应用的基线代码文件;
[0009]对所述基线代码文件进行分析,得到对应的分析结果;
[0010]基于所述分析结果、目标组件的名称、以及版本应用的软件名称生成开源资产清单,以便后续用户查询。
[0011]可选的,所述对所述基线代码文件进行分析,得到对应的分析结果,包括:
[0012]对所述基线代码文件进行分析,确定构建所述软件应用的初始组件;
[0013]从所述基线代码文件中确定每一初始组件的调用信息;
[0014]基于所述每一初始组件的调用信息和所述初始组件构建依赖树;
[0015]基于所述初始组件,确定满足预设条件的目标组件;
[0016]基于所述依赖树对所述目标组件进行分析,得到分析结果。
[0017]可选的,所述基于所述每一初始组件的调用信息和所述初始组件构建依赖树,包括:
[0018]基于所述每一初始组件的调用信息,从所述初始组件中确定作为依赖树的根节点的第一组件,并标记;
[0019]基于所述每一初始组件的调用信息,从剩余的初始组件中确定与所述第一组件连接的第二组件,并标记;
[0020]若确定存在未被标记的所述初始组件,基于所述每一初始组件的调用信息,从未
被标记的初始组件中确定与所述标记的初始组件连接的第三组件;
[0021]若确定存在均被标记的所述初始组件,基于第一组件、第二组件和/或与所述标记的初始组件连接的初始组件构建依赖树。
[0022]可选的,还包括:
[0023]在接收上线成功的软件应用的版本基础信息之前,触发上线成功的软件应用的接收任务。
[0024]可选的,还包括:
[0025]若确定所述版本应用存在历史版本的标记,将所述版本号对应的开源资产清单与所述版本应用的历史述版本号对应的开源资产清单组合生成所述软件应用的开源组件列表。
[0026]本专利技术实施例第二方面示出了一种版本应用的分析装置,所述装置包括:
[0027]获取单元,用于接收上线成功的软件应用的版本基础信息;基于所述版本基础信息获取所述软件应用的基线代码文件;
[0028]处理单元,用于对所述基线代码文件进行分析,得到对应的分析结果;
[0029]生成单元,用于基于所述分析结果、目标组件的名称、以及版本应用的软件名称生成开源资产清单,以便后续用户查询。
[0030]可选的,所述处理单元,包括第一分析子单元、构建子单元、确定子单元和第二分析子单元;
[0031]所述第一分析子单元,用于对所述基线代码文件进行分析,确定构建所述软件应用的初始组件;
[0032]所述构建子单元,用于从所述基线代码文件中确定每一初始组件的调用信息;基于所述每一初始组件的调用信息和所述初始组件构建依赖树;
[0033]所述确定子单元,用于基于所述初始组件,确定满足预设条件的目标组件;
[0034]所述第二分析子单元,用于基于所述依赖树对所述目标组件进行分析,得到分析结果。
[0035]可选的,还包括:
[0036]触发单元,用于在接收上线成功的软件应用的版本基础信息之前,触发上线成功的软件应用的接收任务。
[0037]本专利技术实施例第三方面示出了一种电子设备,所述电子设备用于运行程序,其中,所述程序运行时执行如本专利技术实施例第一方面示出的版本应用的分析方法。
[0038]本专利技术实施例第四方面示出了一种存储介质,所述存储介质包括存储程序,其中,在所述程序运行时控制所述存储介质所在设备执行如本专利技术实施例第一方面示出的版本应用的分析方法。
[0039]基于上述本专利技术实施例提供的一种版本应用的分析方法、装置、电子设备及存储介质,所述方法包括:接收上线成功的软件应用的版本基础信息;基于所述版本基础信息获取所述软件应用的基线代码文件;对所述基线代码文件进行分析,得到对应的分析结果;基于所述分析结果、目标组件的名称、以及版本应用的软件名称生成开源资产清单,以便后续用户查询。在本专利技术实施例中,通过对软件应用的版本号所对应的基线代码文件进行分析处理,以生成由初始组件构建的依赖树;进而确定由目标组件、目标组件之间的分析结果以
及软件应用的版本号组成分析结果,以生成对应的开源资产清单。通过上述方式得到的开源资产清单能够追踪软件针对开源风险的整改过程。
附图说明
[0040]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0041]图1为本专利技术实施例示出的一种版本应用的分析方法的流程示意图;
[0042]图2为本专利技术实施例示出的生成分析结果的流程示意图;
[0043]图3为本专利技术实施例示出的版本应用的分析架构示意图;
[0044]图4为本专利技术实施例示出的另一种版本应用的分析方法的流程示意图;
[0045]图5为本专利技术实施例示出的一种版本应用的分析装置的结构示意图;
[0046]图6为本专利技术实施例示出的处理单元的结构示意图;
[0047]图7为本专利技术实施例示出的另一种版本应用的分析装置的结构示意图;
[0048]图8为本专利技术实施例示出的一种电子设备的结构示意图。
具体实施方式
[0049]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种版本应用的分析方法,其特征在于,所述方法包括:接收上线成功的软件应用的版本基础信息;基于所述版本基础信息获取所述软件应用的基线代码文件;对所述基线代码文件进行分析,得到对应的分析结果;基于所述分析结果、目标组件的名称、以及版本应用的软件名称生成开源资产清单,以便后续用户查询。2.根据权利要求1所述的方法,其特征在于,所述对所述基线代码文件进行分析,得到对应的分析结果,包括:对所述基线代码文件进行分析,确定构建所述软件应用的初始组件;从所述基线代码文件中确定每一初始组件的调用信息;基于所述每一初始组件的调用信息和所述初始组件构建依赖树;基于所述初始组件,确定满足预设条件的目标组件;基于所述依赖树对所述目标组件进行分析,得到分析结果。3.根据权利要求2所述方法,其特征在于,所述基于所述每一初始组件的调用信息和所述初始组件构建依赖树,包括:基于所述每一初始组件的调用信息,从所述初始组件中确定作为依赖树的根节点的第一组件,并标记;基于所述每一初始组件的调用信息,从剩余的初始组件中确定与所述第一组件连接的第二组件,并标记;若确定存在未被标记的所述初始组件,基于所述每一初始组件的调用信息,从未被标记的初始组件中确定与所述标记的初始组件连接的第三组件;若确定存在均被标记的所述初始组件,基于第一组件、第二组件和/或与所述标记的初始组件连接的初始组件构建依赖树。4.根据权利要求1所述的方法,其特征在于,还包括:在接收上线成功的软件应用的版本基础信息之前,触发上线成功的软件应用的接收任务。5.根据权利要求1所述的方法,其特征在于,还包括:若确定所述版本应用存在历史版本的标记,将所述版本号对...

【专利技术属性】
技术研发人员:高健媛钟智英于达
申请(专利权)人:中国民航信息网络股份有限公司
类型:发明
国别省市:

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

1