一种跨版本OTA动态升级方法与流程

文档序号:11154546阅读:867来源:国知局
一种跨版本OTA动态升级方法与制造工艺

本发明涉及移动通信技术领域,具体地说,是涉及一种跨版本OTA动态升级方法。



背景技术:

空中下载技术(Over the Air Technology,OTA) 是一种通过无线网络进行数据下载的技术,现已被广泛应用于手机、平板电脑等设备的网络升级中。目前均是通过下载服务器端提供的针对客户端当前软件版本的差分文件并将差分文件通过打补丁的方式更新到当前软件版本中,从而实现OTA 的升级。差分文件一般只包含了需要升级的文件信息,例如,差分文件V2-V1,只包含了版本V2 相对版本V1 发生变化的应用信息,若要通过差分文件V2-V1 实现升级,客户端的当前版本必须为V1,升级完成后客户端的版本就变为V2。

假设客户端的当前版本为V3,服务器侧的最新版本为V5,现有技术中通常采用的第一种OTA 升级方法是,由服务器对客户端的当前版本进行检测,根据当前版本将差分文件V4-V3 传输给客户端,客户端接收该差分文件后将当前版本由V3 升级到V4,并在此次升级完成后正常工作,直至下一次开机或者再次打开应用程序,再由服务器重新检测客户端的当前版本(V4) 是否为最新版本,如果不是,服务器再根据当前版本(V4)将差分文件V5-V4 传输给客户端进行版本升级。这种OTA 升级方法的缺点是在版本升级时只能将当前版本升级到当前版本的上一个版本,无法实现连续升级。

为了能够实现将当前版本一次性升级到最新版本,现有技术中第二种OTA 升级方法采用的方式是:在服务器侧配置各个版本到最新版本的差分文件。例如,若最新版本为V5,则在服务器上配置V5-V1、V5-V2、V5-V3、V5-V4 这四种差分文件,从而各个版本的用户通过下载对应的差分文件则能实现一步到位的升级。但这种OTA 升级方法的缺点是,需要制作大量的差分文件,截至最新版本Vn(n 为正整数),服务器侧共需制作n(n-1)2 种差分文件,而每种差分文件都需要进行测试验证,开发成本大。



技术实现要素:

本发明为了解决现有应用在跨版本升级时需要下载多个升级补丁导致降低下载速度的问题,以及客户端需逐版本升级,导致升级效率低的技术问题,提出了一种跨版本OTA动态升级方法,可以解决上述问题。

为了解决上述技术问题,本发明采用以下技术方案予以实现:

一种跨版本OTA动态升级方法,包括以下步骤:

(1)、客户端将待升级应用或者系统的当前版本信息发送至服务器;

(2)、服务器将与客户端待升级应用或者系统的当前版本一致的完整安装包与最新版本的完整安装包做差分,得到客户端待升级应用或者系统的当前版本与最新版本之间的差分包,并将所述差分包发送至客户端;

(3)、客户端接收服务器发送的差分包对待升级应用或者系统进行升级,直接从当前版本升级至最新版本。

进一步的,步骤(1)中,客户端将当前待升级应用或者系统的名称、版本号、以及校验信息发送至服务器,所述服务器在本地查找是否具有与待升级应用或者系统名称一致的应用或者系统,以及是否具有待升级应用或者系统的版本,如果有,则继续步骤(2),否则,不继续步骤(2),并返回错误信息。

进一步的,所述校验信息包括待升级应用或者系统的大小和/或MD5值。

进一步的,步骤(2)中,服务器获取与客户端待升级应用或者系统的当前版本一致的完整安装包与最新版本的完整安装包的方法为:

a、服务器中存储有待升级应用或者系统的完整的基础版本,以及从基础版本到最高版本每相邻两版本之间的差分包,相邻两版本之间的差分包为邻近差分包;

b、服务器根据客户端发送的待升级应用或者系统的当前版本信息,利用所述基础版本以及邻近差分包,分别生成与客户端待升级应用或者系统的当前版本一致的完整安装包和最新版本的完整安装包。

进一步的,步骤a中,服务器的配置方法为:

首先,服务器中存储有待升级应用或者系统的完整的基础版本;

其次,在所述基础版本之后,该应用或者系统每发布一个新版本,将该新版本与前一版本之间的邻近差分包放置在服务器。

进一步的,步骤b中,若待升级应用或者系统的当前版本与所述基础版本之间跨版本,则从所述基础版本上逐版本生成至与客户端待升级应用或者系统的当前版本一致的完整安装包。

进一步的,步骤b中,分别生成与客户端待升级应用或者系统的当前版本一致的完整安装包和最新版本的完整安装包的先后顺序为:首先从所述基础版本上生成与客户端待升级应用或者系统的当前版本一致的完整安装包,其次,在与客户端待升级应用或者系统的当前版本一致的完整安装包的基础上生成最新版本的完整安装包。

或者,步骤(2)中,服务器中直接存储有从基础版本到最新版本的完整安装包,服务器在本地查找出与客户端待升级应用或者系统当前版本一致的完整安装包以及最新版本的完整安装包,然后将两个完整的安装包做差分,得到差分包。

进一步的,服务器的配置方法为:

首先,服务器中存储有待升级应用或者系统的完整的基础版本;

其次,在所述基础版本之后,每发布一个新版本,将该新版本的完整安装包放置在服务器。

与现有技术相比,本发明的优点和积极效果是:本发明的跨版本OTA动态升级方法,通过在服务器端计算客户端的当前版本与最新版本之间的差分包,该差分包可以是跨版本的差分包,由于差分包生成在服务器端完成,大大提高了效率,并且传递给客户端的只有一个差分包,大大减少了数据传输量,客户端只需升级一个差分包,也提高了升级的速度。

结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明所提出的跨版本OTA动态升级方法的一种实施例流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

针对目前的应用升级都是客户端通过查询自身版本号,然后去服务器端进行比对,如果有高于自身版本号的应用,则直接下载高版本的应用或者补丁进行升级,补丁的数据量小,占用空间小, 相应传输时间少,较多的采用补丁的方式进行升级,但如果自身应用和服务器上最新的版本号差别比较大,则中间有很多的补丁需要更新,导致下载多个补丁,导致升级效率低,用时过长,基于此,本发明提出了一种跨版本OTA动态升级方法,尤其针对跨版本的应用升级,具有升级的速度快,数据传输量小的优点。

本实施例提出了一种跨版本OTA动态升级方法,包括以下步骤:

S1、客户端将待升级应用或者系统的当前版本信息发送至服务器;其中,当前版本信息也即当前待升级应用的版本信息,该当前版本信息至少包括当前版本的版本号。

S2、服务器将与客户端待升级应用或者系统的当前版本一致的完整安装包与最新版本的完整安装包做差分,得到客户端待升级应用或者系统的当前版本与最新版本之间的差分包,并将所述差分包发送至客户端;服务器接收到客户端发送的当前版本信息,并根据其版本号查找出存储在本地或者动态生成与客户端当前版本一致的完整安装包以及最新版本的完整安装包,并且将两者做差分,由于是完整安装包之间进行差分,因此,两个完整安装包之间的版本可以是跨版本。

S3、客户端接收服务器发送的差分包对待升级应用或者系统进行升级,直接从当前版本升级至最新版本。由于差分包是客户端当前版本一致的完整安装包以及最新版本的完整安装包之间的差分,因此,将客户端当前版本按照所述差分包升级后,即可直接升级至最新版本。

本实施例的跨版本OTA动态升级方法,通过在服务器端计算客户端的当前版本与最新版本之间的差分包,该差分包可以是跨版本的差分包,由于差分包生成在服务器端完成,大大提高了效率,并且传递给客户端的只有一个差分包,大大减少了数据传输量,客户端只需升级一个差分包,也提高了升级的速度。

为了提高升级效率,服务器检测当前待升级应用的版本号是否合法,步骤S1中,客户端将当前待升级应用或者系统的名称、版本号、以及校验信息发送至服务器,服务器在本地查找是否具有与待升级应用或者系统名称一致的应用或者系统,以及是否具有待升级应用或者系统的版本,如果有,则继续步骤S2,否则,不继续步骤S2,并返回错误信息。比对结果不一致原因可能是用户升级过非正常途径的版本导致,或者可能存在兼容性错误,对于上述情况均不予以升级。

服务器端放置的可能是多个应用或者系统的多个版本,通过客户端将当前待升级应用名称发送给服务器,服务器相应根据当前待升级应用名称查找同一应用的相应版本。

其中,校验信息包括待升级应用或者系统的大小和/或MD5值。

在本实施例的步骤S2中,服务器获取与客户端待升级应用或者系统的当前版本一致的完整安装包与最新版本的完整安装包的方法为:

a、服务器中存储有待升级应用或者系统的完整的基础版本,以及从基础版本到最高版本每相邻两版本之间的差分包,相邻两版本之间的差分包为邻近差分包;

b、服务器根据客户端发送的待升级应用或者系统的当前版本信息,利用所述基础版本以及邻近差分包,分别生成与客户端待升级应用或者系统的当前版本一致的完整安装包和最新版本的完整安装包。

本实施例的服务器配置方法仅存储待升级应用的完整的基础版本,以及从基础版本到最高版本每相邻两版本之间的差分包,节省空间。

步骤a中,服务器的配置方法为:

首先,服务器中存储有待升级应用或者系统的完整的基础版本;

其次,在所述基础版本之后,该应用或者系统每发布一个新版本,将该新版本与前一版本之间的邻近差分包放置在服务器。

例如,1、服务器上方存储一个基础版本base;

2、发布第二个版本A2后,存储至服务器的是A2与base之间的差分包patch1;

3、发布第三个版本A3后,存储至服务器的是A3与A2之间的差分包patch2;

4、发布第n个版本An后,存储至服务器的是An与A(n-1)之间的差分包patch (n-1)。

步骤b中,若待升级应用或者系统的当前版本与所述基础版本之间跨版本,则从所述基础版本上逐版本生成至与客户端待升级应用或者系统的当前版本一致的完整安装包。

例如客户端待升级应用或者系统的当前版本是A3,最新版本是A5。此时客户端将当前版本号告知服务器,这个时候,服务器会根据当前的版本号A3,从基础版本上依次生成版本A2,然后根据版本A2生成版本A3,也就是用户当前版本,以及生成最新版本A5,然后使用版本A5和版本A3进行差分,将得到的差分包发给客户端,客户端可以直接从版本A3升级至版本A5。

步骤b中,分别生成与客户端待升级应用或者系统的当前版本一致的完整安装包和最新版本的完整安装包的先后顺序为:首先从所述基础版本上生成与客户端待升级应用或者系统的当前版本一致的完整安装包,其次,在与客户端待升级应用或者系统的当前版本一致的完整安装包的基础上生成最新版本的完整安装包。本方法可以进一步提高升级效率。

例如,客户端待升级应用或者系统的当前版本是A3,最新版本是A5。服务器根据当前的版本号A3,从基础版本上依次生成版本A2,然后根据版本A2生成版本A3,得到用户当前版本,然后再根据版本A3,依次生成版本A4,然后生成最新版本A5。

实施例二

本实施例的跨版本OTA动态升级方法包括以下步骤:

S1、客户端将待升级应用或者系统的当前版本信息发送至服务器;

S2、服务器将与客户端待升级应用或者系统的当前版本一致的完整安装包与最新版本的完整安装包做差分,得到客户端待升级应用或者系统的当前版本与最新版本之间的差分包,并将所述差分包发送至客户端;

S3、客户端接收服务器发送的差分包对待升级应用或者系统进行升级,直接从当前版本升级至最新版本。

其中,步骤S2中,服务器中直接存储有从基础版本到最新版本的完整安装包,服务器在本地查找出与客户端待升级应用或者系统的当前版本一致的完整安装包以及最新版本的完整安装包,然后将两个完整的安装包做差分,得到差分包。本方法省去了服务器根据基础版本以及邻近差分包,分别生成与客户端的当前版本一致的完整安装包和最新版本的完整安装包的步骤,与实施例一中的方法相比用时更短。

本实施例中服务器的配置方法为:

首先,服务器中存储有待升级应用或者系统的完整的基础版本;

其次,在基础版本之后,每发布一个新版本,将该新版本的完整安装包放置在服务器。

当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1