一种连续升级的方法及装置的制造方法

文档序号:9249136阅读:291来源:国知局
一种连续升级的方法及装置的制造方法
【技术领域】
[0001] 本发明设及软件升级领域,尤其设及一种连续升级的方法及装置。
【背景技术】
[0002] 目前的软件版本升级一般通过下载服务器端提供的、针对客户端当前软件版本的 差分升级包,并将差分升级包通过打补了的方式更新到当前软件版本中,实现客户端软件 版本的升级。
[0003] 为了实现将当前版本一次性升级到目标版本,目前采取的一种实现方式为;在服 务器端配置各个版本到目标版本的差分升级包,例如,目前目标版本由V4升级到了V5,则 在服务器端已有乂2-¥1,¥3-¥1,¥3-¥2,¥4-¥1,¥4-¥2,¥4-¥3差分升级包的基础上,增加配 置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 即可。
[0004] 软件版本升级的过程通常设及多个分区,包括;boot分区巧I导分区)、recove巧 分区(恢复分区)、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的升级,从上面的描 述,可W知道recovery分区的升级修改只有在升级到目标版本后,启动主系统的开机流程 时,才将system中的patch文件打到recovery分区中实现对recovery分区的升级,也就 是说,在V4-V3的升级过程中,是不对recovery分区进行升级的,因此,该种情况下,V5-V4 的差分升级包就会升级失败。
[0005] 综上,在现有的连续升级方式中,如果在当前版本升级到目标版本的过程中,某个 中间版本的recovery分区进行了修改,且该个修改影响下一个差分升级包的升级时,下一 个差分升级包对应的单包升级并不能在修改后的recovery分区中进行,导致之后的升级 过程无法继续进行,最终导致连续升级失败。

【发明内容】

[0006] 本发明的实施例提供一种连续升级的方法及装置,实现了在连续升级过程的每 次单包升级中,都能在最新的recovery分区中执行升级,解决了由于中间软件版本的 recovery分区的修改所导致的后续连续升级失败的问题。
[0007] 为达到上述目的,本发明的实施例采用如下技术方案: 一方面,本发明实施例提供了一种连续升级的方法,包括: 判断软件的当前版本是否是目标版本;若否,从所述软件由所述当前版本升级到所述 目标版本所需的所有差分升级包中,查找在先版本与所述当前版本相同的差分升级包;其 中,任意一个差分升级包只包含相邻两个版本的升级信息;检测是否需要对所述当前版本 的recovery分区进行升级;若是,则根据查找到的差分升级包对所述当前版本的recovery 分区进行升级,并将升级后的recovery分区加载到内存;根据所述查找到的差分升级包对 所述当前版本的system分区进行升级。
[0008] 另一方面,本发明实施例提供了一种连续升级装置,包括:判断单元,用于判断软 件的当前版本是否是目标版本,并将判断结果发送给查找单元;查找单元,用于若接收到 的所述判断单元发送的所述判断结果为否,从所述软件由所述当前版本升级到所述目标 版本所需的所有差分升级包中,查找在先版本与所述当前版本相同的差分升级包;其中, 任意一个差分升级包只包含相邻两个版本的升级信息;检测单元,用于检测是否需要对所 述当前版本的recovery分区进行升级,并将检测结果发送给升级recovery分区单元;升 级recovery分区单元,用于若接收到的所述检测单元发送的检测结果为是,则根据查找到 的差分升级包对所述当前版本的recovery分区进行升级,并将升级后的recovery分区加 载到内存;升级system分区单元,用于根据所述查找到的差分升级包对所述当前版本的 system分区进行升级。
[0009] 综上,本发明实施例提供了一种连续升级的方法及装置,首先对设备当前软件的 版本是否是目标版本进行判断,如果不是目标版本,则从该软件由当前版本升级到目标版 本所需的所有差分升级包中,查找在先版本与当前版本相同的差分升级包,然后,检测是否 需要对当前版本的recovery分区进行升级,如果是,则根据查找到的差分升级包对当前版 本的recovery分区进行升级,并将升级后的recovery分区加载到内存,之后,再根据前面 所述的查找到的差分升级包对当前版本的system分区进行升级,即将补了包打到system 分区中,如果还需要对除system分区之外的其他分区进行升级,则还要对其他分区进行升 级,W使得当前版本升级到差分升级包所对应的在后版本,实现连续升级方式中的一个单 包升级,升级之后,再对当前版本是否是目标版本进行判断,如果不是目标版本,则重复上 述过程,直至将当前版本升级到目标版本,则终止升级过程。
[0010] 与现有技术中recovery分区的升级通常是在软件的当前版本升级到目标版本之 后,再对软件的recovery分区进行升级,使得recovery分区的版本与目标版本相匹配的 过程不同,在上述的升级过程中,当升级后的版本的recovery分区相对于升级前的版本的 recovery分区有修改时,在差分升级包中增加了recovery分区文件(即recovery,img文 件),每一次的单包升级都先对是否需要对当前版本的recovery分区是否升级进行判断,在 需要对当前版本的recovery分区进行升级的情况下,根据差分升级包中的recovery分区 文件对当前版本的recovery分区升级,然后再对system分区进行升级,该样,下一次的单 包升级就能在升级后的recove巧分区的基础上进行,而recove巧分区中包含了控制单包 升级的升级流程的函数,所W本发明中,即使原始版本(连续升级前的版本)和目标版本之 间的任一中间版本的recovery分区做了修改,也不会影响下一个差分升级包的升级流程, 使得连续升级过程可W顺利进行,从而避免了现有技术中所容易出现的每次升级过程中由 recovery分区的更改所导致的下一次单包升级的失败,提高了连续升级的成功率。
【附图说明】
[0011] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中 所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据该些附图 获得其他的附图。
[0012] 图1为本发明实施例提供的一种连续升级的方法的流程示意图; 图2为本发明实施例提供的另一种连续升级的方法的流程示意图; 图3为本发明实施例提供的一种连续升级的装置的功能示意图。
【具体实施方式】
[0013] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0014] 本发明实施例提供了一种连续升级的方法,如图1所示,包括: S101、判断软件的当前版本是否是目标版本; 需要说明的是,该里的目标版本可W是服务器端存储的最新版本,也可W不是服务器 端存储的最新版本,只要目标版本高于终端的当前版本即可。比如,假设最新版本为V5,终 端的当前版本为V3,但是在升级流程中,增加了当电量低于30%的时候,停止升级的条件, 如果当终端从V3升级到了V4之后,电量就满足了低于30%的条件,那么,此时的目标版本 就是V4。再比如,在用户选择并执行了升级操作之后,可W在终端的用户界面上给出当前可 升级的版本信息,比如,给出"升级到V4"W及"升级到V5"的两个选项,当用户选择"升级 至IJV4"的选项时,目标版本为V4,当用户选择"升级到V5"的选项时,目标版本就为最新版 本V5。
[0015] 具体实现时,在该一步骤之前还包括步骤:检测软件的当前版本是否低于服务器 端相应的目标版本;若低于,则从服务器端获取软件由当前版本升级到目标版本所需的所 有差分升级包并保存。检测过程可W是终端首先向服务器发送携带有当前版本的请求消 息,该请求
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1