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

技术编号:12181757 阅读:42 留言:0更新日期:2015-10-08 19:37
本发明专利技术实施例提供了一种连续升级的方法及装置,涉及软件升级领域,用以解决由于中间软件版本的recovery分区的修改所导致的后续连续升级失败的问题。该方法包括:判断软件的当前版本是否是目标版本;若否,从软件由当前版本升级到目标版本所需的所有差分升级包中,查找在先版本与当前版本相同的差分升级包;其中,任意一个差分升级包只包含相邻两个版本的升级信息;检测是否需要对当前版本的recovery分区进行升级;若是,则根据查找到的差分升级包对当前版本的recovery分区进行升级,并将升级后的recovery分区加载到内存;根据查找到的差分升级包对当前版本的system分区进行升级。

【技术实现步骤摘要】

本专利技术设及软件升级领域,尤其设及一种连续升级的方法及装置
技术介绍
目前的软件版本升级一般通过下载服务器端提供的、针对客户端当前软件版本的 差分升级包,并将差分升级包通过打补了的方式更新到当前软件版本中,实现客户端软件 版本的升级。 为了实现将当前版本一次性升级到目标版本,目前采取的一种实现方式为;在服 务器端配置各个版本到目标版本的差分升级包,例如,目前目标版本由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 即可。 软件版本升级的过程通常设及多个分区,包括;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 的差分升级包就会升级失败。 综上,在现有的连续升级方式中,如果在当前版本升级到目标版本的过程中,某个 中间版本的recovery分区进行了修改,且该个修改影响下一个差分升级包的升级时,下一 个差分升级包对应的单包升级并不能在修改后的recovery分区中进行,导致之后的升级 过程无法继续进行,最终导致连续升级失败。
技术实现思路
本专利技术的实施例提供一种连续升级的方法及装置,实现了在连续升级过程的每 次单包升级中,都能在最新的recovery分区中执行升级,解决了由于中间软件版本的 recovery分区的修改所导致的后续连续升级失败的问题。 为达到上述目的,本专利技术的实施例采用如下技术方案: 一方面,本专利技术实施例提供了一种连续升级的方法,包括: 判断软件的当前版本是否是目标版本;若否,从所述软件由所述当前版本升级到所述 目标版本所需的所有差分升级包中,查找在先版本与所述当前版本相同的差分升级包;其 中,任意一个差分升级包只包含相邻两个版本的升级信息;检测是否需要对所述当前版本 的recovery分区进行升级;若是,则根据查找到的差分升级包对所述当前版本的recovery 分区进行升级,并将升级后的recovery分区加载到内存;根据所述查找到的差分升级包对 所述当前版本的system分区进行升级。 另一方面,本专利技术实施例提供了一种连续升级装置,包括:判断单元,用于判断软 件的当前版本是否是目标版本,并将判断结果发送给查找单元;查找单元,用于若接收到 的所述判断单元发送的所述判断结果为否,从所述软件由所述当前版本升级到所述目标 版本所需的所有差分升级包中,查找在先版本与所述当前版本相同的差分升级包;其中, 任意一个差分升级包只包含相邻两个版本的升级信息;检测单元,用于检测是否需要对所 述当前版本的recovery分区进行升级,并将检测结果发送给升级recovery分区单元;升 级recovery分区单元,用于若接收到的所述检测单元发送的检测结果为是,则根据查找到 的差分升级包对所述当前版本的recovery分区进行升级,并将升级后的recovery分区加 载到内存;升级system分区单元,用于根据所述查找到的差分升级包对所述当前版本的 system分区进行升级。 综上,本专利技术实施例提供了一种连续升级的方法及装置,首先对设备当前软件的 版本是否是目标版本进行判断,如果不是目标版本,则从该软件由当前版本升级到目标版 本所需的所有差分升级包中,查找在先版本与当前版本相同的差分升级包,然后,检测是否 需要对当前版本的recovery分区进行升级,如果是,则根据查找到的差分升级包对当前版 本的recovery分区进行升级,并将升级后的recovery分区加载到内存,之后,再根据前面 所述的查找到的差分升级包对当前版本的system分区进行升级,即将补了包打到system 分区中,如果还需要对除system分区之外的其他分区进行升级,则还要对其他分区进行升 级,W使得当前版本升级到差分升级包所对应的在后版本,实现连续升级方式中的一个单 包升级,升级之后,再对当前版本是否是目标版本进行判断,如果不是目标版本,则重复上 述过程,直至将当前版本升级到目标版本,则终止升级过程。 与现有技术中recovery分区的升级通常是在软件的当前版本升级到目标版本之 后,再对软件的recovery分区进行升级,使得recovery分区的版本与目标版本相匹配的 过程不同,在上述的升级过程中,当升级后的版本的recovery分区相对于升级前的版本的 recovery分区有修改时,在差分升级包中增加了recovery分区文件(即recovery,img文 件),每一次的单包升级都先对是否需要对当前版本的recovery分区是否升级进行判断,在 需要对当前版本的recovery分区进行升级的情况下,根据差分升级包中的recovery分区 文件对当前版本的recovery分区升级,然后再对system分区进行升级,该样,下一次的单 包升级就能在升级后的recove巧分区的基础上进行,而recove巧分区中包含了控制单包 升级的升级流程的函数,所W本专利技术中,即使原始版本(连续升级前的版本)和目标版本之 本文档来自技高网
...
一种连续升级的方法及装置

【技术保护点】
一种连续升级的方法,其特征在于,包括:判断软件的当前版本是否是目标版本;若否,从所述软件由所述当前版本升级到所述目标版本所需的所有差分升级包中,查找在先版本与所述当前版本相同的差分升级包;其中,任意一个差分升级包只包含相邻两个版本的升级信息;检测是否需要对所述当前版本的recovery分区进行升级;若是,则根据查找到的差分升级包对所述当前版本的recovery分区进行升级,并将升级后的recovery分区加载到内存;根据所述查找到的差分升级包对所述当前版本的system分区进行升级。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱晓亮
申请(专利权)人:青岛海信移动通信技术股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1