System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种软件升级方法、终端设备及网络设备。
技术介绍
1、随着计算机网络技术的飞速发展,人们在生活、学习和工作中对计算机软件的依赖越来越大。为已发布软件进行缺陷修复、增加新功能或提升已有功能的性能是软件必备的基本功能。
2、一款产品的软件,随着市场空间的扩大,需求逐渐多样化,原来的产品会衍生出适应多个场景、具有差异性的系列产品。为节约开发维护成本,这些相似产品的软件出自于相同的代码分支,通过不同的策略产生具有差异性的软件程序。升级作为一个通用功能,通常情况下,软件所有模块按统一的升级策略即可。但对于一些特殊的应用场景,所有模块采用统一的升级策略已无法保证升级功能的正常使用。
技术实现思路
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、将修改后的源码集成到本端之前,当确定本地存储空间不足时,将本次修改得到的各个易变模块以及关联模块的源码组成第本文档来自技高网...
【技术保护点】
1.一种软件升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述预设规则,包括:
3.根据权利要求1所述的方法,其特征在于,向保存所述更新文件的各服务器请求获取所述更新文件之前,还包括:
4.根据权利要求1所述的方法,其特征在于,当确定两个配置文件所述软件安装包的大版本号不相同时,根据向保存所述软件本次发布版本各个模块更新文件的各服务器请求获取的所述更新文件,对所述软件进行整体升级。
5.一种软件升级方法,其特征在于,所述方法包括:
6.根据权利要求5所述的方法,其特征在于,所述预设规则,包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.一种终端设备,其特征在于,包括:
10.一种网络设备,其特征在于,包括:
【技术特征摘要】
1.一种软件升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述预设规则,包括:
3.根据权利要求1所述的方法,其特征在于,向保存所述更新文件的各服务器请求获取所述更新文件之前,还包括:
4.根据权利要求1所述的方法,其特征在于,当确定两个配置文件所述软件安装包的大版本号不相同时,根据向保存所述软件本次发布版本各个模块更新文件的各服务器请求获取的所述...
【专利技术属性】
技术研发人员:张晓慧,张祖海,卢成翔,
申请(专利权)人:浙江大华技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。