System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及软件领域,尤其涉及一种软件系统的升级方法、装置、电子设备及存储介质。
技术介绍
1、随着互联网和计算机技术的发展,各种开源操作系统(如安卓系统)也在逐步升级,以提供更多的功能供用户使用。相应的,终端厂家(如电视厂家)基于开源操作系统开发的客制化软件系统也免不了需要进行升级。
2、目前,终端厂家在对基于开源操作系统开发出的客制化软件系统进行升级时,首先从芯片厂商处获取芯片厂商针对新版本的开源操作系统形成的解决方案,然后将该解决方案和自身针对新版本系统的解决方案一并集成到新版本的软件系统上,最终形成一个新版本的客制化软件系统。
3、在上述过程中,由于是将芯片厂商和终端厂家各自针对新版本的软件系统的解决方案一笔笔都移植到新版本的软件系统上,这涉及到大量的代码移植、验证、修改的工作量,因此导致客制化软件系统的升级项目周期长,升级效率低。
技术实现思路
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、将所述历史版本的第一客制化代码和所述新版本的第一客制化代码输入至所述增量比对工具,以由所述增量比对工具对所述历史版本的第一客制化代码和所述新版本的第一客制化代码进行比对,得到所述新版本的第一客制化代码中的增量代码。
38、在一可能的实施方式中,还包括:
39、测试模块,用于在所述从所述代码分支上提取所述新版本的第一客制化代码中的增量代码之前,在所述代码分支上对所述新版本的第一客制化代码进行测试;
40、所述增量代码获取模块,用于若测试通过,则执行所述从所述代码分支上提取所述新版本的第一客制化代码中的增量代码的步骤;
41、代码删除模块,用于若测试不通过,则将所述新版本的第一客制化代码从所述代码分支上删除。
42、在一可能的实施方本文档来自技高网...
【技术保护点】
1.一种软件系统的升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述目标软件系统的第一客制化开发分支上获取所述新版本的第一客制化代码,包括:
3.根据权利要求1所述的方法,其特征在于,所述从所述代码分支上提取所述新版本的第一客制化代码中的增量代码,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述历史版本的第一客制化代码和所述新版本的第一客制化代码进行比对,得到所述新版本的第一客制化代码中的增量代码,包括:
5.根据权利要求1所述的方法,其特征在于,在所述从所述代码分支上提取所述新版本的第一客制化代码中的增量代码之前,还包括:
6.根据权利要求5所述的方法,其特征在于,在所述将所述新版本的第一客制化代码从所述代码分支上删除之后,还包括:
7.根据权利要求1所述的方法,其特征在于,还包括:
8.一种软件系统的升级装置,其特征在于,所述装置包括:
9.一种电子设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至
10.一种存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述权利要求1~7任一项所述的软件系统的升级方法。
...【技术特征摘要】
1.一种软件系统的升级方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述从所述目标软件系统的第一客制化开发分支上获取所述新版本的第一客制化代码,包括:
3.根据权利要求1所述的方法,其特征在于,所述从所述代码分支上提取所述新版本的第一客制化代码中的增量代码,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述历史版本的第一客制化代码和所述新版本的第一客制化代码进行比对,得到所述新版本的第一客制化代码中的增量代码,包括:
5.根据权利要求1所述的方法,其特征在于,在所述从所述代码分支上提取所述新版本的第一客制化代码中的增量代码...
【专利技术属性】
技术研发人员:李美林,
申请(专利权)人:深圳创维RGB电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。