软件项目维护方法、装置、电子设备及介质与流程

专利2026-02-28  10


本发明涉及软件管理领域,尤其涉及一种软件项目维护方法、装置、电子设备及介质。


背景技术:

1、随着软件开发的快速发展,软件项目依赖管理成为了确保软件质量、安全性和持续性的关键要素。通常软件项目依赖通常涉及多个库、框架和组件,这些组件的更新对于项目的整体性能和安全性至关重要。例如在node.js项目和前端项目中,package.json文件都扮演着非常重要的角色,不仅记录了项目的依赖关系,还定义了如何启动项目、运行脚本、安装依赖项、发布到npm注册表等任务。

2、目前,传统软件项目依赖升级的方法是修改项目中package.json文件中相对应的依赖的版本号,并在项目目录中,执行npminstall命令,会根据package.json中的版本号,更新node_modules文件中的相应依赖版本。此类手动管理和更新这些依赖是一项繁琐且容易出错的任务。其次,依赖项之间可能存在版本冲突和兼容性问题,这可能导致项目构建失败或运行时错误。此外,过时的依赖项可能包含已知的安全漏洞,需要及时更新以保护项目的安全性。


技术实现思路

1、本发明提供一种软件项目维护方法、装置、电子设备及介质,用以解决现有技术中软件项目管理过度依赖人工且依赖关系复杂升级容易出错的缺陷,实现无人值守化管理软件项目。

2、根据本发明的第一方面,本发明提供了一种软件项目维护方法,所述方法包括:

3、将第一软件项目连接到项目托管库平台,并检测是否触发对第一软件项目进行检查,其中,所述项目托管库平台用于维护多种预设软件项目的最新安装包;

4、在触发对第一软件项目进行检查的情况下,获取并解析所述第一软件项目的配置文件,得到被所述第一软件项目依赖的至少一个第二软件项目的安装包名称和当前版本号;

5、从所述项目托管库平台查询与每个第二软件项目的安装包名称匹配的目标最新安装包;

6、将所述当前版本号与所述目标最新安装包的版本号进行比对以确定每个第二软件项目对应的升级类型,并依据所述升级类型处理对应的目标最新安装包。

7、在一些可能的实现方式中,将第一软件项目连接到项目托管库平台,并检测是否触发对第一软件项目进行检查,包括:

8、为所述第一软件项目设置项目托管库平台的网络地址;

9、启动第一定时任务并对所述第一定时任务进行状态检测;

10、在检测到所述第一定时任务完成的情况下,则判定触发对第一软件项目进行检查。

11、在一些可能的实现方式中,将第一软件项目连接到项目托管库平台,并检测是否触发对第一软件项目进行检查,包括:

12、为所述第一软件项目设置项目托管库平台的网络地址;

13、访问所述网络地址以获取项目托管库平台中每种预设软件项目对应的第一版本号;

14、启动第二定时任务并对所述第二定时任务进行状态检测;

15、在检测到所述第二定时任务完成的情况下,再次访问所述网络地址以获取项目托管库平台中每种预设软件项目对应的第二版本号;

16、在检测到预设数量的预设软件项的第二版本号与所述第一版本号不同的情况下,则判定触发对第一软件项目进行检查。

17、在一些可能的实现方式中,将所述当前版本号与所述目标最新安装包的版本号进行比对以确定每个第二软件项目对应的升级类型,包括:

18、基于每个第二软件项目在所述配置文件中的记录顺序从前到后依次选取目标第二软件项目:

19、对所述目标第二软件项目的当前版本号进行解析以得到当前主要版本标识、当前次要版本标识和当前补丁版本标识;

20、对与所述目标第二软件项目相匹配的目标最新安装包对应的版本号进行解析,得到最新主要版本标识、最新次要版本标识和最新补丁版本标识;

21、判断所述当前主要版本标识与所述最新主要版本标识是否相同;

22、若所述当前主要版本标识与所述最新主要版本标识相同,则判断所述当前次要版本标识与所述最新次要版本标识是否相同;

23、若所述当前次要版本标识与所述最新主要版本标识相同,则判断所述当前补丁版本标识与所述最新补丁版本标识是否相同;

24、若所述当前主要版本标识与所述最新主要版本标识不相同,则判定所述目标第二软件项目的升级类型属于主要版本升级,并结束本次比对;

25、若所述当前次要版本标识与所述最新主要版本标识不相同,则判定所述目标第二软件项目的升级类型属于次要版本升级,并结束本次比对;

26、若所述当前补丁版本标识与所述最新补丁版本标识不相同,则判定所述目标第二软件项目的升级类型属于补丁升级,并结束本次比对;

27、若当前补丁版本标识与所述最新补丁版本标识相同,则判定所述目标第二软件项目无需升级,并返回执行所述基于每个第二软件项目在所述配置文件中的记录顺序从前到后依次选取目标第二软件项目的步骤,直至所述配置文件中的第二软件项目全部被遍历完。

28、在一些可能的实现方式中,依据所述升级类型处理对应的目标最新安装包,包括:

29、若任意第二软件项目属于补丁升级,则允许安装任意第二软件项目对应的目标最新安装包;

30、若任意第二软件项目属于主要版本升级或次要版本升级,则先缓存任意第二软件项目的当前版本号,再根据安装命令触发安装。

31、在一些可能的实现方式中,所述先缓存任意第二软件项目的当前版本号,再根据安装命令触发安装,包括:

32、在发送安装命令前对任意第二软件项目的当前版本号进行缓存,并获取与任意第二软件项目相匹配的目标最新安装包的更改日志和发布说明;

33、在接收安装命令后利用预设的依赖升级错误关键字从升级日志中提取错误信息;

34、依据所述错误信息从所述更改日志和所述发布说明中寻找并应用错误解决方案;

35、若错误已被解决或未提取到错误信息,则对所述配置文件中的任意第二软件项目进行版本号更新;

36、若错误未被解决,则基于缓存的当前版本号对任意第二软件项目进行回滚安装。

37、在一些可能的实现方式中,所述第一软件项目包括node.js项目、前端项目和java项目,node.js项目、前端项目对应的配置文件为package.json文件,java项目对应的配置文件为pom.xml文件或者build.gradle文件。

38、根据本发明的第二方面,本发明还提供了一种软件项目维护装置,所述装置包括:

39、触发模块,用于将第一软件项目连接到项目托管库平台,并检测是否触发对第一软件项目进行检查,其中,所述项目托管库平台用于维护多种预设软件项目的最新安装包;

40、解析模块,用于在触发对第一软件项目进行检查的情况下,获取并解析所述第一软件项目的配置文件,得到被所述第一软件项目依赖的至少一个第二软件项目的安装包名称和当前版本号;

41、安装包查询模块,用于从所述项目托管库平台查询与每个第二软件项目的安装包名称匹配的目标最新安装包;

42、安装包处理模块,用于将所述当前版本号与所述目标最新安装包的版本号进行比对以确定每个第二软件项目对应的升级类型,并依据所述升级类型处理对应的目标最新安装包。

43、根据本发明的第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述软件项目维护方法。

44、根据本发明的第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述软件项目维护方法。

45、本发明提供的一种软件项目维护方法,通过将第一软件项目连接到项目托管库平台并检测是否触发对第一软件项目进行检查,当需要对第一软件项目进行检查时利用第一软件项目的配置文件找到具有依赖关系的至少一个第二软件项目,进而利用第二软件项目的安装包名称从项目托管库平台中查询相匹配的最新安装包,最后通过比对第二软件项目在配置文件中的当前版本号和相匹配的最新安装包的版本号确定升级类型,进而依据升级类型处理相应的最新安装包,实现软件项目依赖的自动化、智能化管理,确保项目依赖始终保持最新、最安全的状态,提高软件项目的整体质量、安全性和持续性。

46、此外,本发明提供的一种软件项目维护装置、一种电子设备和一种非暂态计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。


技术特征:

1.一种软件项目维护方法,其特征在于,所述方法包括:

2.根据权利要求1所述的软件项目维护方法,其特征在于,将第一软件项目连接到项目托管库平台,并检测是否触发对第一软件项目进行检查,包括:

3.根据权利要求1所述的软件项目维护方法,其特征在于,将第一软件项目连接到项目托管库平台,并检测是否触发对第一软件项目进行检查,包括:

4.根据权利要求1所述的软件项目维护方法,其特征在于,将所述当前版本号与所述目标最新安装包的版本号进行比对以确定每个第二软件项目对应的升级类型,包括:

5.根据权利要求4所述的软件项目维护方法,其特征在于,依据所述升级类型处理对应的目标最新安装包,包括:

6.根据权利要求5所述的软件项目维护方法,其特征在于,所述先缓存任意第二软件项目的当前版本号,再根据安装命令触发安装,包括:

7.根据权利要求1所述的软件项目维护方法,其特征在于,所述第一软件项目包括node.js项目、前端项目和java项目,node.js项目、前端项目对应的配置文件为package.json文件,java项目对应的配置文件为pom.xml文件或者build.gradle文件。

8.一种软件项目维护装置,其特征在于,所述装置包括:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述软件项目维护方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述软件项目维护方法。


技术总结
本发明提供一种软件项目维护方法、装置、电子设备及介质,涉及软件管理领域。该方法包括:将第一软件项目连接到项目托管库平台并检测是否触发对第一软件项目进行检查,项目托管库平台用于维护多种预设软件项目的最新安装包;在触发对第一软件项目进行检查的情况下,获取并解析第一软件项目的配置文件,得到被第一软件项目依赖的至少一个第二软件项目的安装包名称和当前版本号;从项目托管库平台查询与每个第二软件项目的安装包名称匹配的目标最新安装包;将当前版本号与目标最新安装包的版本号进行比对以确定每个第二软件项目对应的升级类型,并依据升级类型处理对应的目标最新安装包。本发明的方案能够实现软件项目依赖的自动化、智能化管理。

技术研发人员:侯爱霞
受保护的技术使用者:苏州元脑智能科技有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1828261.html

最新回复(0)