软件更新方法、装置、电子设备及存储介质制造方法及图纸

技术编号:34958383 阅读:41 留言:0更新日期:2022-09-17 12:37
本发明专利技术涉及应用软件系统开发技术领域,提供一种软件更新方法、装置、电子设备及存储介质,所述方法包括:对待更新软件的配置文件进行解析,获取多个第一项目文件;从待更新软件的原始代码中提取出多个第二项目文件;当每个第一项目文件存在于多个第二项目文件中,基于每个第一项目文件中的配置项更新对应的第二项目文件,得到每个第二项目文件对应的第三项目文件;对第三项目文件进行间接依赖缺失检查,得到检查结果;基于检查结果对第三项目文件进行依赖冲突检查,获取第四项目文件;基于第四项目文件执行待更新软件的更新。本发明专利技术通过对第三项目文件进行间接依赖缺失检查和依赖冲突检查,提高了软件更新的效率及准确率。提高了软件更新的效率及准确率。提高了软件更新的效率及准确率。

【技术实现步骤摘要】
软件更新方法、装置、电子设备及存储介质


[0001]本专利技术涉及应用软件系统开发
,具体涉及一种软件更新方法、装置、电子设备及存储介质。

技术介绍

[0002]软件更新是软件研发上线的重要环节,在软件进行安全加固、基础模块版本变更、增加新的需求变更,及软件需要漏洞修复等情况下,需要对软件进行升级或者降级,现有技术通常是基于新版本搭建开发框架,将基于旧框架开发的业务代码手动复制到新开发框架中,并修改需要更新的文件及手动执行数据库脚本,最终完成框架升级更新工作。
[0003]然而,现有技术在修改需要更新的文件及手动执行数据库脚本时,未对更新后的文件进行间接依赖缺失及依赖冲突检查,无法判断更新内容与原软件是否存在冲突或缺失,导致软件更新效率及准确率低。
[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]获取模块,用于响应于接收的软件更新指令,获取待更新软件的配置文件;
[0042]解析模块,用于对所述待更新软件的配置文件进行解析,获取多个第一项目文件;
[0043]提取模块,用于从所述待更新软件的原始代码中提取出多个第二项目文件;
[0044]第一更新模块,用于当每个第一项目文件存在于所述多个第二项目文件中,基于所述每个第一项目文件中的配置项更新对应的第二项目文件,得到所述每个第二项目文件对应的第三项目文件;
[0045]第一检查模块,用于对所述第三项目文件进行间接依赖缺失检查,得到检查结果;
[0046]第二检查模块,用于基于所述检查结果对所述第三项目文件进行依赖冲突检查,获取第四项目文件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件更新方法,其特征在于,所述方法包括:响应于接收的软件更新指令,获取待更新软件的配置文件;对所述待更新软件的配置文件进行解析,获取多个第一项目文件;从所述待更新软件的原始代码中提取出多个第二项目文件;当每个第一项目文件存在于所述多个第二项目文件中,基于所述每个第一项目文件中的配置项更新对应的第二项目文件,得到所述每个第二项目文件对应的第三项目文件;对所述第三项目文件进行间接依赖缺失检查,得到检查结果;基于所述检查结果对所述第三项目文件进行依赖冲突检查,获取第四项目文件;基于所述第四项目文件执行所述待更新软件的更新。2.如权利要求1所述的软件更新方法,其特征在于,所述基于所述每个第一项目文件中的配置项更新对应的第二项目文件,得到所述每个第二项目文件对应的第三项目文件包括:对所述每个第一项目文件进行解析,得到所述每个第一项目文件的第一软件包集合和配置项;识别所述配置项的类别;当所述配置项的类别为第一类配置项时,从所述第一项目文件对应的第二项目文件中读取所述配置项对应的第二软件包集合,基于所述配置项中的更新数据更新所述第二软件包集合,得到第三软件包集合,并将所述第三软件包集合确定为所述每个第二项目文件对应的第三项目文件;当所述配置项的类别为第二类配置项时,从所述第一项目文件对应的第二项目文件中读取所述配置项对应的第二软件包集合,并从所述第二项目文件中删除所述第二软件包集合,得到第三软件包集合,并将所述第三软件包集合确定为所述每个第二项目文件对应的第三项目文件;当所述配置项的类别为第三类配置项时,从所述第一项目文件对应的第二项目文件中读取所述配置项对应的第二软件包集合,基于所述配置项中的运行环境更新所述第二软件包集合中的运行环境参数,得到第三软件包集合,并将所述第三软件包集合确定为所述每个第二项目文件对应的第三项目文件。3.如权利要求2所述的软件更新方法,其特征在于,所述基于所述配置项中的更新数据更新所述第二软件包集合,得到第三软件包集合包括:判断所述第一软件包集合中的每个第一软件包是否存在于第二软件包集合中;当所述第一软件包集合中的每个第一软件包存在于第二软件包集合中,获取每个第一软件包对应的第二软件包,并基于所述配置项中的更新数据更新所述每个第一软件包对应的第二软件包,得到第三软件包集合;当所述第一软件包集合中的任意一个第一软件包不存在于第二软件包集合中,将所述任意一个第一软件包添加至所述第二软件包集合中,得到第三软件包集合。4.如权利要求3所述的软件更新方法,其特征在于,所述对所述第三项目文件进行间接依赖缺失检查,得到检查结果包括:通过预设的接口输入所述第三项目文件的路径信息,并查看所述第三项目文件的软件包依赖树,遍历所述软件包依赖树获取所述第三项目文件依赖的第四软件包集合;
将所述第三软件包集合与所述第四软件包集合进行对比...

【专利技术属性】
技术研发人员:黄鑫
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:

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

1