一种OTA升级包的配置方法及装置与流程

文档序号:12162119阅读:202来源:国知局
一种OTA升级包的配置方法及装置与流程

本发明涉及移动通信技术领域,尤其涉及一种OTA升级包的配置方法及装置。



背景技术:

空中下载(英文:Over the Air,简称:OTA)技术是一种通过无线网络进行数据下载的技术,其通常被应用于手机、平板电脑等终端设备的系统软件固定版本的升级过程中。目前的升级方法中主要采用的是单包升级策略,具体为,终端设备发起一次软件版本检测,服务器向该终端设备返回一个下载路径,以便终端设备根据该下载路径获得一个OTA升级包,进而根据该OTA升级包进行版本升级。并且,为了节省服务器的存储资源和终端设备下载OTA升级包的时间,且降低开发成本,所述的OTA升级包通常为相邻两个版本之间的差分文件。这样,当采用单包升级策略进行系统软件升级,且终端设备安装的软件的当前版本为Vm,服务器上发布的该软件的最新版本为Vn(其中,m、n均为正整数,且n-m≥2)时,会由于终端设备发起一次软件版本检测,仅可以获得一个基于当前版本的差分文件,导致终端设备需要发起多次软件版本检测才能将软件从当前版本升级到最新版本。

为了能够减少终端设备发起新版本检测的次数,现有技术提出了一种OTA多包连续升级的技术,具体方案是,终端设备发起一次软件版本检测,服务器可以根据软件在终端设备的当前版本以及在本地的最新版本,获取由当前版本升级到最新版本所需的所有差分文件,并标注各个差分文件的升级顺序和保存路径,然后将各个差分文件同时返回给终端设备,以便终端设备根据各个差分文件的升级顺序和保存路径获得多个差分文件,进而根据多个差分文件将软件从当前版本升级到最新版本。

然而现有技术存在以下缺陷:在多包连续升级的机制下,对于终端设备上安装的软件的当前版本较低,而服务器上发布的最新版本较高的情况,客户端检测到的OTA升级包的个数可能会非常多,客户端下载升级包的时间过长,影响用户体验。并且,若终端设备的存储空间不足和/或电量不足时,终端设备会出现升级失败的情况。



技术实现要素:

本发明提供了一种OTA升级包的配置方法及装置,以解决终端设备上安装的软件的当前版本较低,而服务器上发布的最新版本较高的情况下,客户端下载升级包的时间过长以及可能出现的升级失败的问题。

为了解决上述问题,本发明公开了一种OTA升级包的配置方法,应用于服务器,服务器配置有至少一个OTA升级包,方法包括以下步骤。

接收终端设备发送的版本检测请求,所述版本检测请求包括软件在所述终端设备的当前版本的版本号。

当由所述终端设备的当前版本升级到服务器的最新版本所需的OTA升级包的个数大于预设的最大链长时,根据所述当前版本的版本号,从所述至少一个OTA升级包中获取与最大链长相等个数的OTA升级包集合;其中,所述OTA升级包集合的所有OTA升级包连续。

将所述OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。

进一步地,获取所述OTA升级包集合之后还包括,判断所述OTA升级包集合中是否存在包括软件的对应版本的完整包。

当存在包括软件的对应版本的完整包,将所述OTA升级包集合中处于包括软件的对应版本的完整包之后的所有OTA升级包和包括软件的对应版本的完整组成新的OTA升级包集合。

所述将所述OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包包括:将所述新的OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。

进一步地,所述接收终端设备发送的版本检测请求之前还包括:判断所述至少一个OTA升级包中是否包含自动升级包;其中,所述自动升级包是指在未接收到终端设备的版本检测请求时,需将所述软件进行升级的OTA升级包。

当所述至少一个OTA升级包中包含所述自动升级包时,将所述自动升级包和处于所述自动升级包之前的所有OTA升级包的下载路径发送至所述终端设备,以便所述终端设备下载所述自动升级包和处于所述自动升级包之前的所有OTA升级包。

进一步地,所述版本检测请求还包括所述终端设备的产品型号。

获取所述OTA升级包集合之前还包括:根据所述产品型号从所述至少一个OTA升级包中获取第一OTA升级包。

根据所述第一OTA升级包的配置参数,确定所述终端设备支持多包连续升级。

进一步地,所述第一OTA升级包包括所述当前版本与第一版本之间的差分文件,或者所述第一OTA升级包包括所述第一版本的完整包,所述第一版本比所述当前版本高一个版本。

本发明的另一方面,提供一种OTA升级包的配置装置,应用于服务器,所述服务器配置有至少一个OTA升级包,所述装置包括:

接收单元,用于接收终端设备发送的版本检测请求,所述版本检测请求包括软件在所述终端设备的当前版本的版本号。

获取单元,用于当由所述终端设备的当前版本升级到服务器的最新版本所需的OTA升级包的个数大于预设的最大链长时,根据所述当前版本的版本号,从所述至少一个OTA升级包中获取与最大链长相等个数的OTA升级包集合;其中,所述OTA升级包集合的所有OTA升级包连续。

发送单元,用于将所述OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。

进一步地,还包括:第一判断单元,用于在获取所述OTA升级包集合之后判断所述OTA升级包集合中是否存在包括软件的对应版本的完整包。

所述获取单元还用于当存在包括软件的对应版本的完整包时,将所述OTA升级包集合中处于包括软件的对应版本的完整包之后的所有OTA升级包和包括软件的对应版本的完整包组成新的OTA升级包集合。

所述发送单元还用于将所述新的OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。

进一步地,还包括:第二判断单元,用于接收终端设备发送的版本检测请求之前判断所述至少一个OTA升级包中是否包含自动升级包;其中,所述自动升级包是指在未接收到终端设备的版本检测请求时,需将所述软件进行升级的OTA升级包。

所述发送单元还用于当所述至少一个OTA升级包中包含所述自动升级包时,将所述自动升级包和处于所述自动升级包之前的所有OTA升级包的下载路径发送至所述终端设备,以便所述终端设备下载所述自动升级包和处于所述自动升级包之前的所有OTA升级包。

进一步地,所述版本检测请求还包括所述终端设备的产品型号。

所述获取单元还用于在获取所述OTA升级包集合之前,根据所述产品型号从所述至少一个OTA升级包中获取第一OTA升级包。

所述装置还包括:确定单元,用于根据所述第一OTA升级包的配置参数,确定所述终端设备支持多包连续升级。

进一步地,所述第一OTA升级包包括所述当前版本与第一版本之间的差分文件,或者所述第一OTA升级包包括所述第一版本的完整包,所述第一版本比所述当前版本高一个版本

与现有技术相比,本发明包括以下优点:

本发明中服务器接收终端设备发送的版本检测请求,版本检测请求包括软件在终端设备的当前版本的版本号,当由终端设备的当前版本升级到服务器的最新版本所需的OTA升级包的个数大于预设的最大链长时,根据当前版本的版本号,从至少一个OTA升级包中获取与最大链长相等个数的OTA升级包集合;其中,OTA升级包集合的所有OTA升级包连续。将OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。这样使得在终端设备的当前版本较低而服务器的最新版本较高时,可以先从服务器获取部分OTA升级包,避免了一次性获取所有OTA升级包导致等待时间过长和升级失败的情况发生,从而提高了用户体验,减小了升级失败的风险。

附图说明

图1是本发明实施例的一种OTA升级包的配置方法流程图;

图2是本发明实施例的一种OTA升级包的配置方法流程图;

图3是本发明实施例的一种OTA升级包的配置方法流程图;

图4是本发明实施例的一种OTA升级包的配置装置结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明实施例的一种OTA升级包的配置方法,应用于服务器,服务器配置有至少一个OTA升级包。该方法具体可以包括以下步骤。

步骤101,接收终端设备发送的版本检测请求。

其中,所述版本检测请求包括软件在所述终端设备的当前版本的版本号。

本发明实施例中,当终端设备需要升级时,向服务器发送版本检测请求,用于告知服务器终端设备的当前版本。

具体地,在用户对终端设备的升级按钮进行触发操作时,终端设备便可以根据用户的触发操作向服务器发出包括软件在终端设备的当前版本的版本号的版本检测请求,此时服务器可以接收终端设备发送的版本检测请求。

步骤102,当由终端设备的当前版本升级到服务器的最新版本所需的OTA升级包的个数大于预设的最大链长时,根据当前版本的版本号,从至少一个OTA升级包中获取与最大链长相等个数的OTA升级包集合。

其中,OTA升级包集合中的所有OTA升级包连续。

具体的,当服务器接收到终端设备发送的包括软件在终端设备的当前版本的版本号的版本检测请求之后,服务器可以先根据软件在终端设备的当前版本的版本号和本地的最新版本的版本号,确定由当前版本升级到最新版本所需的OTA升级包的个数是否大于预设的最大链长,并在确定由当前版本升级到最新版本所需的OTA升级包的个数大于最大链长时,服务器可以根据当前版本的版本号,从当前版本开始,从至少一个OTA升级包中获取OTA升级包,直到获取到的OTA升级包的个数与最大链长相等。

需要说明的是,在本发明实施例中,所述的最大链长可以根据实际应用场景的需求进行设置,本发明实施例在此对最大链长的具体取值并不做具体限制。

步骤103,将OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。

其中,在服务器从至少一个OTA升级包中获取到与最大链长相等个数的OTA升级包集合之后,便可以将OTA升级包集合中的每个OTA升级包的下载路径发送至终端设备,这样,终端设备可以根据接收到的下载路径,下载OTA升级包集合中每个OTA升级包。进一步的,在终端设备下载到OTA升级包集合中每个OTA升级包,并完成此次升级之后,终端设备可以继续向服务器发送版本检测请求,进一步的获取OTA升级包,直到将软件升级到服务器上配置的最新版本为止。

示例性的,假设服务器上配置的OTA升级包的总个数为20个,即由最低版本升级到最高版本所需的OTA升级包的个数为20个,某个终端设备安装的该软件的当前版本为最低版本,且预设的最大链长为6,那么当该终端设备向服务器发起版本检测请求之后,服务器根据软件在该终端设备的当前版本和服务器上配置的最新版本,确定的由当前版本升级到最新版本所需的OTA升级包的个数为20,且大于预设的最大链长6,那么服务器此时便可以将OTA升级包中的前6个OTA升级包的下载路径返回给终端设备,以便终端设备先根据该6个OTA升级包的下载路径进行升级,并可以继续向服务器发送版本检测请求,直到升级到最高版本为止。

在本发明实施例中,为了能够在确保成功升级的前提下,减少发送至终端设备的OTA升级包的个数,步骤103中获取OTA升级包集合的步骤可以包括:

服务器获取由当前版本之后的与最大链长相等个数的所有OTA升级包,得到OTA升级包集合,并判断OTA升级包集合包含的OTA升级包中是否存在包括软件的对应版本的完整包;当存在包括软件的对应版本的完整包时,将OTA升级包集合中处于包括软件的对应版本的完整包之后的所有OTA升级包和包括软件的对应版本的完整包组成新的OTA升级包集合。然后将新的OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。

并且,针对OTA升级包集合中包含有多个包括软件的对应版本的完整包的情况,可以将这多个包括软件的对应版本的完整包中距离最新版本最近的OTA升级包之后的所有OTA升级包和该距离最新版本最近的OTA升级包组成所述与最大链长相等个数的OTA升级包集合。例如,OTA升级包集合包括差分文件V2-V1、完整包V3、差分文件V4-V3、差分文件V5-V4、完整包V6、差分文件V7-V6、差分文件V8-V7,那么最终确定的新的OTA升级包集合为完整包V6、差分文件V7-V6、差分文件V8-V7。

示例性的,假设服务器上配置某软件的OTA升级包分别为差分文件V2-V1、完整包V3、差分文件V4-V3、差分文件V5-V4,且服务器接收到的终端设备发送的版本检测请求中包括的软件在终端设备的当前版本的版本号为V1,终端设备的预设的最大链长为6,那么服务器可以先获取由当前版本V1到当前最新版本V5的所有OTA升级包,得到OTA升级包集合,该集合包括差分文件V2-V1、完整包V3、差分文件V4-V3、差分文件V5-V4,然后,判断该集合中是否存在包括软件的对应版本的完整包,即软件的某个版本的全包,可以确定该集合中存在包括软件的对应版本的完整包,即完整包V3,那么服务器便可以仅将完整包V3、差分文件V4-V3、差分文件V5-V4的下载路径发送至终端设备即可。

并且,在一种可能的应用场景中,为了避免采用差分文件升级出现升级失败的情况发生,某些情况下,除了在服务器中配置差分文件之外,还可能在服务器中配置软件对应的某些版本的完整包,此时,在某一版本既配置了完整包又配置了差分文件的情况下,优先向终端设备返回包含差分文件的差分文件链。

本发明实施例通过设置最大链长,使得在终端设备的当前版本较低时,可以先从服务器获取部分OTA升级包,避免了一次性获取所有OTA升级包可能导致等待时间过长和升级失败的情况发生,从而提高了用户体验,减小了升级失败的风险。

实施例一:

当软件出现某些漏洞时,需要在用户不知情的情况下对软件进行自动升级,因此,在本发明实施例中,进一步的,如图2所示,在步骤101之前,OTA升级包的配置方法还可以包括以下步骤。

201、服务器判断至少一个OTA升级包中是否包含自动升级包。

其中,所述的自动升级包是指在未接收到终端设备的版本检测请求时,需将软件进行升级的OTA升级包。

202、当至少一个OTA升级包中包含自动升级包时,服务器将自动升级包和处于自动升级包之前的所有OTA升级包的下载路径发送至终端设备,以便终端设备下载自动升级包和处于自动升级包之前的所有OTA升级包。

其中,对于需自动升级的场景,服务器可以判断自身配置的至少一个OTA升级包中是否包含在未接收到终端设备的版本检测请求时,需将软件进行升级的OTA升级包,即判断至少一个OTA升级包中是否包含自动升级包,并在确定至少一个OTA升级包中包含自动升级包时,将该自动升级包之前的所有OTA升级包也变为“自动升级包”,对于该自动升级包之后的OTA升级包可以不强制终端设备进行升级。

示例性的,假设服务器上配置某软件的OTA升级包分别为差分文件V2-V1、完整包V3、差分文件V4-V3、差分文件V5-V4,并假设差分文件V4-V3为是为了修复某些漏洞而配置的自动升级包,那么服务器在检测到差分文件V4-V3为自动升级包之后,将差分文件V2-V1、完整包V3以及差分文件V4-V3的下载路径发送至终端设备,以便终端设备可以根据差分文件V2-V1、完整包V3以及差分文件V4-V3的下载路径下载差分文件V2-V1、完整包V3以及差分文件V4-V3,进而完成自动升级。

并且,当至少一个OTA升级包中包含多个自动升级包时,服务器可以将多个自动升级包中距离当前最新版本最近的自动升级包和该自动升级包之前的所有OTA升级包的下载路径发送至终端设备,以便终端设备下载多个自动升级包中距离当前最新版本最近的自动升级包和处于该自动升级包之前的所有OTA升级包。

本发明实施例通过判断服务器是否包含自动升级包,在确定包含自动升级包时将自动升级包和处于自动升级包之前的所有OTA升级包发送至终端设备,便于终端设备在软件出现漏洞时,能自动进行升级。

实施例二:

为了能够兼容现有技术中的单包升级策略,可以将终端设备分为支持多包连续升级的终端设备和支持单包升级的终端设备,那么,在本发明实施例中,进一步的,如图3所示, OTA升级包的配置方法包括以下步骤。

301、服务器接收终端设备发送的版本检测请求。

其中,所述的版本检测请求包括软件在终端设备的当前版本的版本号和终端设备的产品型号。

302、服务器根据产品型号从所述至少一个OTA升级包中获取第一OTA升级包。

进一步地,第一OTA升级包包括当前版本与第一版本之间的差分文件,或者第一OTA升级包包括软件的第一版本的完整包,第一版本比当前版本高一个版本。

具体的,当服务器接收到终端设备发送的版本检测请求时,可以根据该版本检测请求中包含的终端设备的产品型号,获取包括当前版本与比当前版本高一个版本的第一版本之间的差分文件,或者包括软件的比当前版本高一个版本的第一版本的完整包的第一OTA升级包。

303、服务器根据第一OTA升级包的配置参数,确定终端设备支持多包连续升级。

其中,服务器在获取到第一OTA升级包之后,可以根据该第一OTA升级包中的配置参数,确定该终端设备是支持多包连续升级的终端设备,还是支持单包升级的终端设备,并在确定终端设备支持多包连续升级,即确定终端设备是支持多包连续升级的终端设备时,执行以下步骤304。若服务器确定终端设备支持单包升级,即确定终端设备是支持单包升级的终端设备时,可以直接将第一OTA升级包的下载路径返回给终端设备,以便终端设备根据将第一OTA升级包的下载路径下载第一OTA升级包,并进行升级。

示例性的,可以预先在终端设备对应的OTA升级包中配置不同的升级模式(该升级模式即为配置参数),升级模式可以包括单包升级和多包连续升级,并且对于一个OTA升级包,仅能够支持一种升级模式,即,对于终端设备为支持多包连续升级的终端设备,其对应的OTA升级包中均包含具体值为多包连续升级的配置参数,而对于终端设备为支持单包升级的终端设备,其对应的OTA升级包中均包含具体值为单包升级的配置参数,以便服务器判断该终端设备是支持多包连续升级的终端设备,还是支持单包升级的终端设备。

304、服务器获取OTA升级包集合,并将OTA升级包集合中所有OTA升级包的下载路径发送至终端设备,以便终端设备下载OTA升级包集合。

其中,OTA升级包集合中包括由当前版本升级到最新版本所需的与最大链长个数相等的OTA升级包。在服务器确定终端设备支持多包连续升级时,便可以继续获取OTA升级包,以获得包括由当前版本升级到当前最新版本所需的与最大链长个数相等的OTA升级包的OTA升级包集合,并在获取到OTA升级包集合之后,将该OTA升级包集合中所有OTA升级包的下载路径发送至终端设备,以便终端设备下载OTA升级包集合,进而将软件从当前版本升级到当前最新版本。

实施例三:

本发明实施例提供一种OTA升级包的配置装置,应用于服务器,服务器配置有至少一个OTA升级包,如图4所示,OTA升级包的配置装置可以包括接收单元401、获取单元402、发送单元403。

接收单元401,用于接收终端设备发送的版本检测请求,版本检测请求包括软件在终端设备的当前版本的版本号。

获取单元402,用于当由终端设备的当前版本升级到服务器的最新版本所需的OTA升级包的个数大于预设的最大链长时,根据当前版本的版本号,从至少一个OTA升级包中获取与最大链长相等个数的OTA升级包集合;其中,OTA升级包集合的所有OTA升级包连续。

发送单元403,用于将OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。

在本发明实施例中,进一步地,配置装置还包括第一判断单元404,用于在获取所述OTA升级包集合之后判断所述OTA升级包集合中是否存在包括软件的对应版本的完整包。

获取单元402,还用于当存在包括软件的对应版本的完整包时,将所述OTA升级包集合中处于包括软件的对应版本的完整包之后的所有OTA升级包和包括软件的对应版本的完整包组成新的OTA升级包集合。

发送单元403,还用于将所述新的OTA升级包集合中每个OTA升级包的下载路径发送至终端设备,以便终端设备下载每个OTA升级包。

在本发明实施例中,进一步地,配置装置还包括第二判断单元405,用于接收终端设备发送的版本检测请求之前判断所述至少一个OTA升级包中是否包含自动升级包;其中,所述自动升级包是指在未接收到终端设备的版本检测请求时,需将所述软件进行升级的OTA升级包。

发送单元403,还用于当所述至少一个OTA升级包中包含所述自动升级包时,将所述自动升级包和处于所述自动升级包之前的所有OTA升级包的下载路径发送至所述终端设备,以便所述终端设备下载所述自动升级包和处于所述自动升级包之前的所有OTA升级包。

在本发明实施例中,进一步地,所述版本检测请求还包括所述终端设备的产品型号。

获取单元402,还用于在获取所述OTA升级包集合之前,根据所述产品型号从所述至少一个OTA升级包中获取第一OTA升级包

进一步地,所述第一OTA升级包包括所述当前版本与第一版本之间的差分文件,或者所述第一OTA升级包包括所述软件的所述第一版本的完整包,所述第一版本比所述当前版本高一个版本。

配置装置还包括确定单元405,用于根据所述第一OTA升级包的配置参数,确定所述终端设备支持多包连续升级。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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