[发明专利]一种连续升级的方法及装置有效
申请号: | 201510343541.9 | 申请日: | 2015-06-19 |
公开(公告)号: | CN104899066B | 公开(公告)日: | 2017-12-05 |
发明(设计)人: | 朱晓亮;杨楠楠 | 申请(专利权)人: | 青岛海信移动通信技术股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 青岛联智专利商标事务所有限公司37101 | 代理人: | 邵新华 |
地址: | 266100 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 连续 升级 方法 装置 | ||
技术领域
本发明涉及软件升级领域,尤其涉及一种连续升级的方法及装置。
背景技术
目前的软件版本升级一般通过下载服务器端提供的、针对客户端当前软件版本的差分升级包,并将差分升级包通过打补丁的方式更新到当前软件版本中,实现客户端软件版本的升级。
为了实现将当前版本一次性升级到目标版本,目前采取的一种实现方式为:在服务器端配置各个版本到目标版本的差分升级包,例如,目前目标版本由V4升级到了V5,则在服务器端已有V2-V1,V3-V1,V3-V2, V4-V1, V4-V2, V4-V3差分升级包的基础上,增加配置V5-V1,V5-V2,V5-V3,V5-V4这四个差分升级包,从而各个版本的用户通过下载对应的差分升级包,就能实现一步到位的升级,但是这种方式需要在服务器端制作n(n-1)/2个差分文件升级包,进一步地,为了减少服务器端的差分升级包的数量,目前还存在另一种实现方式,也称为连续升级方式,具体为:在服务器端配置相邻两个版本的差分升级包,比如依然假设目标版本由V4升级到了V5,在这种实现方式中,在服务器端已有V2-V1,V3-V2,V4-V3差分升级包的基础上,只需增加配置V5-V4这一个差分升级包。在升级时,客户端下载软件版本升级所需的所有差分升级包,并根据各个差分升级包的升级顺序逐步对软件版本进行升级即可。比如,假设客户端当前的软件版本是V3,则需从服务器端下载V4-V3,V5-V4这两个差分升级包,并根据V4-V3将软件升级到V4,之后再根据V5-V4将版本从V4升级到V5即可。
软件版本升级的过程通常涉及多个分区,包括:boot分区(引导分区)、recovery分区(恢复分区)、system分区(系统分区)等。对于上述的连续升级方式,客户端的软件版本从V3升级到V4的过程中,首先将V4-V3差分升级包中的patch文件(该patch文件为V4版本的boot分区和V4版本的recovery分区的差分文件)打到system分区中,完成V3到V4的升级,之后,再将V5-V4差分升级包中的patch文件(该patch文件为V5版本的boot分区和V5版本的recovery分区的差分文件)打到system分区中,完成V5-V4的升级,此时,实现了将软件版本从V3升级到了V5,然后,启动主系统的开机流程,将system分区中的patch文件打到recovery分区中,实现对recovery分区的升级。但是,如果V4-V3的差分升级包中对recovery分区进行了修改,并且这个修改影响到V5-V4的升级,从上面的描述,可以知道recovery分区的升级修改只有在升级到目标版本后,启动主系统的开机流程时,才将system中的patch文件打到recovery分区中实现对recovery分区的升级,也就是说,在V4-V3的升级过程中,是不对recovery分区进行升级的,因此,这种情况下,V5-V4的差分升级包就会升级失败。
综上,在现有的连续升级方式中,如果在当前版本升级到目标版本的过程中,某个中间版本的recovery分区进行了修改,且这个修改影响下一个差分升级包的升级时,修改后的recovery分区并不能带入下一个差分升级包的升级,导致之后的升级过程无法继续进行,最终导致连续升级失败。
发明内容
本发明的实施例提供一种连续升级的方法及装置,实现了在连续升级过程中,下一次的单包升级都能在上一次单包升级中升级后的recovery分区中执行升级,解决了由于在原始版本(连续升级前的版本)和目标版本之间的任一中间软件版本的recovery分区的修改,所导致的后续连续升级失败的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明实施例提供了一种连续升级的方法,包括:判断软件的当前版本是否是目标版本;若否,从所述软件由所述当前版本升级到所述目标版本所需的所有差分升级包中,查找在先版本与所述当前版本相同的差分升级包;其中,任意一个差分升级包只包含相邻两个版本的升级信息;将查找到的差分升级包中的补丁包打到所述当前版本的system分区中;检测是否需要对所述当前版本的recovery分区进行升级;若是,则重启所述当前版本的recovery分区,挂载升级后的system分区,将所述升级后的system分区中的补丁包打到所述recovery分区,实现对所述当前版本的recovery分区的升级。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛海信移动通信技术股份有限公司,未经青岛海信移动通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510343541.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于容器技术的进程信息获取方法及装置
- 下一篇:主板连接组件及其应用的终端