一种手持终端的OTA升级方法与流程

文档序号:12063397阅读:846来源:国知局
一种手持终端的OTA升级方法与流程

本申请涉及一种通信终端的技术,特别涉及一种手持终端的空中下载(OTA)升级方法。



背景技术:

手持终端开机后,OTA模块会启动一个定时器,周期向网络服务器查询是否有新的软件版本,如果有新版本,就下载新软件版本并升级。

如果在上述下载新软件版本的过程中网络中断或手机断电,在网络恢复或手机上电后,OTA模块会进行断点续传,完成剩余软件版本的下载。

但是上述OTA模块进行新软件版本下载的处理中,经常会出现由于网络异常或服务区异常而导致无法及时进行软件下载和更新的问题。

另外,当新软件版本下载过程中出现网络中断或手机断电的情况时,下载完的新软件版本在对软件升级时往往会出现错误。



技术实现要素:

本申请提供一种手持终端的OTA升级方法,能够及时进行软件新版本的下载和升级。

为实现上述目的,本申请采用如下技术方案:

一种手持终端的OTA升级方法,包括:

手持终端的OTA模块按照设定的常规查询周期通过网络在服务器上定时查询是否有软件的新版本;当查询到软件的新版本后下载该新版本并进行升级;

其中,在所述OTA模块进行所述查询时,若无法连接服务器,则所述OTA模块缩短查询周期,并按照缩短后的查询周期执行所述定时查询的操作。

较佳地,该方法进一步包括:当按照缩短后的查询周期进行定时查询超过设定的时间后仍无法连接服务器时,将查询周期设置回所述常规查询周期。

较佳地,若下载所述软件的新版本过程中发生网络中断或手机断电,则在网络恢复或手机重新上电后,所述OTA模块在进行断点续传时,将已下载文件尾部的最后一 个下载缓冲区单元的数据删除后再进行所述续传。

由上述技术方案可见,本申请中,手持终端的OTA模块按照设定的常规查询周期通过网络在服务器上定时查询是否有软件的新版本;当查询到软件的新版本后下载该新版本并进行升级。其中,在OTA模块进行查询的过程中,若网络或服务器出现故障,则OTA模块缩短查询周期,并按照缩短后的查询周期执行定时查询的操作。通过这种方式,能够在网络或服务器出现故障后尽早获得新版本信息,从而及时进行软件下载和升级。

附图说明

图1为本申请中手持终端的OTA升级方法的流程示意图;

图2为本申请中OTA下载的状态图。

具体实施方式

为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。

在目前的OTA升级方法中,OTA设定一个定时器,在定时器周期到时,OTA模块通过网络在服务器上查询是否有软件的新版本。如果在OTA模块进行新版本查询时,网络异常或服务器异常,那么终端的OTA模块将无法得到最新版本信息,只有等到下次OTA下载周期才能查询。如果OTA定时器周期很长,就可能造成背景技术中描述的不能及时下载软件的问题。

同时,进一步地,在OTA模块发现软件的新版本并下载该新版本时,在下载过程中如果网络中断或手机断电,那么文件中最后保存的数据可能会不正确,当网络恢复或手机重新上电后,直接进行断点续传,就可能保留了断点续传前最后保存的错误数据,从而导致最终下载完成的新版本无法进行升级操作。

基于上述分析,本申请提供一种手持终端的OTA升级方法,能够及时进行软件新版本的发现和保证下载新版本的有效性。如图1所示,该方法包括:

步骤101,手持终端的OTA模块按照设定的常规查询周期通过网络在服务器上定时查询是否有软件的新版本。

步骤102,在查询过程中,若无法连接服务器,则OTA模块缩短查询周期,并按照缩短后的查询周期执行定时查询的操作。

通常,OTA模块设定的常规查询周期较长。如果刚好在某次查询时无法连接 服务器(例如遇上服务器或网络故障),使得本次未查询到软件的新版本信息,需要再经过一个较长的常规查询周期才能进行下一次查询,以发现软件的新版本信息。为克服上述常规查询周期较长所导致的无法及时发现软件新版本信息的问题,本申请中,若在查询软件的新版本时发生服务器或网络故障,则OTA模块自动缩短查询周期,将查询周期设置为一个临时查询周期,该临时查询周期小于常规查询周期,这样,就可以在较短时间内进行软件新版本信息的下一次查询,从而能够及时发现软件的新版本信息。

步骤103,当OTA模块按照缩短的查询周期进行定时查询超过设定的时长后仍无法连接服务器,将查询周期设置回常规查询周期进行定时查询。

在步骤102中将查询周期设置为较短的临时查询周期进行定时查询。但是,可能软件在近期并未发送版本更新,如果一直采用较短的临时查询周期进行定时查询,会极大地占用网络资源,因此,本申请中优选地,在利用临时查询周期进行查询超过设定的时长后仍无法连接服务器,则采用原有的常规查询周期进行定时查询,以有效节省网络资源。

步骤104,当定时查询发现软件的新版本后,下载该版本并进行软件升级。其中,若下载新版本的过程中发生网络中断或手机断电,则在网络恢复或手机重新上电后,OTA模块在进行断点续传时,将已下载文件尾部的最后一个下载缓冲区单元的数据删除后再进行断点续传。

OTA下载时,以缓冲区为单位写文件,每次写入一个缓冲区大小。如前所述,在下载软件新版本的过程中,如果突然发生网络中断或手机断电后,本次写入的缓冲区数据可能不正确,也就是说已下载文件最后保存的数据可能会不正确,为克服该错误数据导致的升级无法正常完成的问题,本申请中优选地,在网络恢复或手机重新上电后,将已下载文件尾部的最后一个下载缓冲区单元的数据删除后再进行断点续传。也就是说,将上述最后一个下载缓冲区单元的数据删除后,按照目前保留的文件数据进行断点续传,即断点续传是从上次下载中断时最后一个下载单元的起始数据开始续传。通过这种方式,一方面能够保证将最后下载的错误数据删除,另一方面保证基于删除后的剩余数据进行断点续传,保证下载文件的完整性。

至此,本申请中手持终端的OTA升级方法流程结束。图2为按照上述本申请的升级方法进行升级处理时OTA下载状态图。

由图1的流程和图2的状态图可见,通过本申请的升级方法,引入了OTA下载的常规查询周期和临时查询周期后,如果较长的常规查询周期超时后无法连接 到服务器,就以较短的临时查询周期进行查询,从而可以避免长周期超时前网络中断、长周期超时后网络又恢复的这种场景无法进行软件下载的问题。进一步地,引入断点续传控制后,可以防止下载过程突然断点造成的文件错误,确保下载内容的正确。通过上述流程,一方面能够及时进行软件新版本的发现和升级,另一方面能够保证软件升级的成功率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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