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

文档序号:9274571阅读:247来源:国知局
一种连续升级的方法及装置的制造方法
【技术领域】
[0001]本发明涉及软件升级领域,尤其涉及一种连续升级的方法及装置。
【背景技术】
[0002]空中下载技术(Over the Air Technology,OTA)是一种通过无线网络进行数据下载的技术,现已被广泛应用于手机、平板电脑等设备的网络升级中。目前均是通过下载服务器端提供的针对客户端当前软件版本的差分文件并将差分文件通过打补丁的方式更新到当前软件版本中,从而实现OTA的升级。差分文件一般只包含了需要升级的文件信息,例如,差分文件V2-V1,只包含了版本V2相对版本Vl发生变化的应用信息,若要通过差分文件V2-V1实现升级,客户端的当前版本必须为VI,升级完成后客户端的版本就变为V2。
[0003]假设终端的现在使用的原始版本为V3,需要升级的目标版本为V5,现有技术中通常采用的第一种OTA升级方法是,终端获取差分文件V4-V3,并根据差分文件V4-V3将当前版本由V3升级到V4,在此次升级完成后正常工作,直至下一次开机或者再次打开应用程序,再终端获取差分文件V5-V4,并根据差分文件V5-V4将当前版本由V4升级到V5。这种OTA升级方法的缺点是在版本升级时,一次升级只能将升级一个版本,无法实现连续升级。
[0004]为了能够实现将原始版本一次性升级到目标版本,现有技术中第二种OTA升级方法采用的方式是:根据不同的目标版本,提供原始版本到不同目标版本的不同差分文件。例如,若目标版本为V5,则在服务器上配置V5-V1、V5-V2、V5-V3、V5-V4这四种差分文件;若目标版本为V4,则在服务器上配置V4-V1、V4-V2、V4-V3这三种差分文件。终端通过下载对应的差分文件则能实现一步到位的升级。但这种OTA升级方法的缺点是,需要制作大量的差分文件,若最新版本为Vn (η为正整数),生厂商共需制作η (η_1) /2种差分文件,而每种差分文件都需要进行测试验证,开发成本大。

【发明内容】

[0005]本发明的实施例提供一种连续升级的方法及装置,通过获取包含多个升级包的升级包集合,一次将终端从原始版本升级为目标版本,实现连续升级,并降低开发成本。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,本发明实施例提供了一种连续升级的方法,包括:获取并存储原始版本到目标版本所需的升级包集合;原始版本是终端在连续升级前使用的版本;升级包集合中包含至少一个升级包;将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包;终端的当前版本是终端当前使用的版本,终端的当前版本在连续升级的过程中根据第一升级包的新版本动态变化;根据第一升级包升级恢复recovery分区,重新加载升级后的recovery分区到内存,根据第一升级包升级系统分区,并跳转至将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包,重新确定新的第一升级包,直至在升级包集合中确定不出新的第一升级包为止。
[0008]第二方面,本发明实施例提供了一种连续升级的装置,包括:获取单元,用于获取并存储原始版本到目标版本所需的升级包集合;原始版本是终端在连续升级前使用的版本;升级包集合中包含至少一个升级包;确定单元,用于将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包;终端的当前版本是终端当前使用的版本,终端的当前版本在连续升级的过程中根据第一升级包的新版本动态变化;处理单元,同于根据第一升级包升级恢复recovery分区,重新加载升级后的recovery分区到内存,根据第一升级包升级系统分区,并跳转至将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包,触发确定单元重新确定新的第一升级包,直至在升级包集合中确定单元确定不出新的第一升级包为止。
[0009]本发明实施例提供了一种连续升级的方法及装置,获取并存储原始版本到目标版本所需的升级包集合;将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包;根据第一升级包升级恢复recovery分区,重新加载升级后的recovery分区到内存,根据第一升级包升级系统分区,并跳转至将升级包集合中升级包的在先版本与终端的当前版本相同的升级包确定为第一升级包,重新确定新的第一升级包,直至在升级包集合中确定不出新的第一升级包为止。这样,在最新版本为Vn的情况下,终端从原始版本一次性升级到任一目标版本时,生厂商最多只需要制作及测试η个升级包即可,大大减少了需要制作及测试的升级包,降低了开发成本。例如,最新版本为V5,生厂商只需要制作并测试V2-V1、V3-V2、V4-V3、V5-V4的四个升级包,若目标版本为V5,则使用V2-V1、V3-V2、V4-V3、V5-V4四个升级包即可;若目标版本为V4,则需要使用V2-V1、V3-V2、V4-V3三个升级包即可。
【附图说明】
[0010]为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0011]图1为本发明实施例提供的一种连续升级的方法的流程示意图;
[0012]图2为本发明实施例提供的另一种连续升级的方法的流程示意图;
[0013]图3为本发明实施例提供的一种连续升级的装置的功能示意图;
[0014]图4为本发明实施例提供的另一种连续升级的装置的功能示意图。
【具体实施方式】
[0015]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0016]实施例一
[0017]本发明实施例提供了一种连续升级的方法,如图1所示,包括:
[0018]101、获取并存储原始版本到目标版本所需的升级包集合。
[0019]其中,原始版本是终端在连续升级前使用的版本;升级包集合中包含至少一个升级包。
[0020]需要说明的是,目标版本是终端在连续升级后预计达到的版本。本发明实施例中的目标版本可以是已发布的所有版本中的最新版本,也可以不是最新版本,只要目标版本是比原始版本高的版本即可。示例性的,若终端的原始版本为VI,已发布的最新版本为V5,那么目标版本可以是V5,也可以是V2、V3或者V4。
[0021]需要说明的是,升级包集合包括从原始版本升级到目标版本所需的所有升级包。升级包集合中的每一升级包都有携带有两个版本号:在先版本号和新版本号,分别对应在先版本和新版本,其中,在先版本号用于指示该升级包需要对哪一版本进行升级,新版本号用于指示根据该升级包将终端升级到哪一版本。升级包集合中的升级包中一定有一个升级包的在先版本为原始版本,一定有一个升级包的新版本为目标版本,一个升级包的新版本对应另一升级包的原始版本。
[0022]需要说明的是,升级包集合中的升级包可以是全包升级包,也可以是差分升级包,本发明对此不做限定。升级包集合中的每一升级包可以是相邻两个版本之间的升级包,也可以是不相邻两个版本的升级包。示例性的,若原始版本为VI,目标版本为V5,中间版本有V2、V3、V4,则可以是升级包集合中的所有升级包都是相邻两个版本之间的升级包,如升级包集合包括:V2-V1升级包、V3-V2升级包、V4-V3升级包、V5-V4升级包;也可以是升级包集合中部分升级包是相邻两个版本的升级包,部分升级包不是相邻两个版本的升级包,如升级包集合包括:V2-V1升级包、V3-V2升级包、V5-V3升级包;还可以是升级包集合中部分升级包都是不相邻两个版本的升级包,如升级包集合包括:V3-V1升级包、V5-V3升级包。其中,优选的是升级包集合中的所有升级包都是相邻两个版本之间的升级包,这样服务器只需要配置两个相邻版本的升级包即可,例如从Vl升级至Vn,只需要制作η-1种升级包即可,也只需要测试
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1