一种移动终端版本升级的方法及实现系统的制作方法

文档序号:6426720阅读:143来源:国知局
专利名称:一种移动终端版本升级的方法及实现系统的制作方法
技术领域
本发明涉移动终端通讯领域,尤其涉及计算机与移动终端的数据传输技术特别是一种移动终端版本升级的方法及实现系统。
背景技术
移动终端产品的版本软件在使用中由于各种原因经常需要进行修改,这样在生产、售后以及用户使用过程中都经常需要进行版本升级。版本升级过程就是把计算机上的版本文件通过数据线或其它传输媒介下载到移动终端内部的存储芯片(以下简称FLASH) 中,替换移动终端的整个软件系统。这个过程需要计算机上的升级程序和移动终端侧软件建立通讯,计算机程序把保存在计算机上的版本文件发送给移动终端侧软件,由移动终端侧软件把收到的数据写入移动终端侧FLASH中。由于版本文件的体积比较大,一般为几十兆字节到几百兆字节。传统升级过程中, 计算机上的升级程序与下载代理之间把整个版本文件分成许多个较小的数据包进行传送, 计算机侧发送一包数据,移动终端侧接收数据并把该包数据写入FLASH,然后反馈给计算机一个响应数据。计算机收到响应数据后读取并发送下一包数据,然后重复上述过程不断的循环。在这个过程中,计算机与移动终端的不断交互,彼此互相等待过程,以及移动终端侧数据写入FLASH过程都需要消耗时间,而且每个数据包中校验信息的产生、组包以及拆校验也都要伴随每个数据包进行一次。除此之外,下载时每个数据包由于计算机侧和移动终端侧缓存能力等客观因素的限制,每包数据不能太大,造成包数众多,每个数据包都要交互等待,累加下去,整个升级时间一般都在数十分钟左右。所以使用传统方法对于设备生产制造商来说会降低生产效率,增加生产成本,延长产品生产周期,缩小产品利润空间;对于售后及用户升级来说,升级时间过长会增加升级失败的风险,最终将严重影响用户体验,客户流失。

发明内容
本发明解决了目前一发一收逐包式响应的方式进行文件传送,减少了计算机侧与移动终端侧的交互等待时间,对批量数据也只采用一次整体校验,达到提高文件传输效率的目的。本发明提供了一种移动终端版本升级的方法,包括以下步骤计算机侧升级程序与移动终端侧软件建立通讯,计算机侧升级程序备份移动终端侧重要参数后,发送下载代理程序到移动终端内存中的指定位置,并指示所述移动终端侧软件开始运行所述下载代理程序;所述计算机侧升级程序与所述移动终端侧下载代理程序通过握手命令确认传输方式后,所述计算机侧升级程序向所述移动终端侧下载代理程序连续发送升级版本文件数据;所述下载代理程序接收到全部数据后进行校验,并在校验成功后写入所述移动终端内部的存储芯片FLASH,并返回处理结果给所述计算机侧升级程序;所述计算机侧升级程序发送重新启动命令给所述下载代理程序;所述下载代理程序重新启动所述移动终端,并与所述计算机侧升级程序交互,恢复所述移动终端侧的重要参数,升级过程结束。本发明提供了一种移动终端版本升级实现系统,包括计算机和移动终端,所述计算机中存储有升级程序和下载代理程序,并使用所述升级程序与所述移动终端侧的软件建立通讯,并备份移动终端侧的重要参数后,发送所述下载代理程序到移动终端内存中的指定位置,并指示所述移动终端侧的软件开始运行所述下载代理程序;以及与所述移动终端侧下载代理程序通过握手命令确认传输方式后,向所述移动终端侧下载代理程序连续发送升级版本文件数据;以及接收所述移动终端侧下载代理程序返回的处理结果并发送重新启动命令给所述下载代理程序;所述移动终端用于与计算机侧升级程序建立通讯,并在指定内存中存储下载代理程序,根据所述计算机中侧升级程序的指示开始运行所述下载代理程序;以及接收所述计算机侧升级程序连续发送的升级版本文件数据,对接收到的全部数据后进行校验,将校验成功的升级文件写入自身内部的存储芯片FLASH,并返回处理结果给所述计算机侧升级程序;以及接收所述计算机侧升级程序发送的重启命令,并与所述计算机侧升级程序交互, 重新启动后恢复重要参数。本发明与现有技术相对比,具有以下优点本发明提供的一种移动终端版本升级的方法,在版本文件传送过程中,计算机程序不是每次发送一个数据包后就等待下载代理的响应包,下载代理也不是在每一包数据写入FLASH成功后就向计算机升级程序返回一个响应包。而是计算机升级程序在传输数据之前,发出咨询命令,告诉移动终端侧下载代理将有批量数据需要发送,询问移动终端侧下载代理是否准备好接收,待移动终端侧下载代理返回已准备好接收的信息,此时批量数据传送的单向通道已经建立。计算机程序开始将某个文件(文件较大时,也可将该文件分割成几个部分分别发送)连续不断地发给下载代理,在此状态下,计算机程序只负责发送,下载代理只负责存储接收的数据,双方不进行任何交互反馈。待下载代理接收到本次发送的所有数据后,对所有数据整体进行校验,校验无误后将数据写入移动终端的FLASH中,同时不断向计算机侧升级程序返回写FLASH的响应包,计算机程序接收移动终端侧下载代理的响应包。使用本发明方法,移动终端版本软件的更新速度可以有数量级的提升。


图1为本发明方法的流程图;图2为本发明系统的结构示意图;图3为本发明方法实施例的流程图。
具体实施例方式本本发明解决了目前一发一收逐包式响应的方式进行文件传送,减少了计算机侧与移动终端侧的交互等待时间,对批量数据也只采用一次整体校验,达到提高文件传输效率的目的。如图1所示,本发明提供了一种移动终端版本升级的方法,包括以下步骤Sl 计算机侧升级程序与移动终端侧软件建立通讯,计算机侧升级程序备份移动终端侧重要参数后,发送下载代理程序到移动终端内存中的指定位置,并指示所述移动终端侧软件开始运行所述下载代理程序;S2:所述计算机侧升级程序与所述移动终端侧下载代理程序通过握手命令确认传输方式后,所述计算机侧升级程序向所述移动终端侧下载代理程序连续发送升级版本文件数据;S3 所述下载代理程序接收到全部数据后进行校验,并在校验成功后写入所述移动终端内部的存储芯片FLASH,并返回处理结果给所述计算机侧升级程序;S4 所述计算机侧升级程序发送重新启动命令给所述下载代理程序;S5 所述下载代理程序重新启动所述移动终端,并与所述计算机侧升级程序交互, 恢复所述移动终端侧的重要参数,升级过程结束。所述计算机侧与所述移动终端侧通过握手命令确认传输方式,具体包括所述计算机侧升级程序向所述下载代理程序发送请求单向传输指令,所述移动终端侧下载代理程序收到请求单向传输指令并保存后,返回准备接收的响应给所述计算机侧升级程序,所述计算机侧升级程序收到所述响应后开始传输文件。所述请求单向传输指令至少包含待下载文件的大小和校验值。所述计算机侧升级程序与所述移动终端侧下载代理程序通过握手命令确认传输方式后,进一步包括根据版本升级的下载协议,所述计算机侧升级程序从待下载文件中每次读取一个数据包数据,直接发送给所述移动终端侧下载代理,每个数据包的大小与硬件稳定传输能力相匹配。所述下载代理程序接收到全部数据后进行校验,具体包括所述移动终端侧下载代理程序根据保存的所述请求单向传输指令中包含的待下载文件大小与接收到的文件大小进行比较当文件大小不相同时,所述移动终端侧下载代理程序向所述计算机侧升级程序发送请求重传请求,所述计算机侧升级程序重新发送所述升级版本文件数据;当文件大小相同时,所述移动终端侧下载代理程序将校验结果回传给所述计算机侧升级程序,所述校验结果中包括计算机侧升级程序对发送数据计算的校验值和下载代理程序对接收到的数据计算的校验值。所述下载代理对接收到的数据进行校验后,进一步包括所述计算机侧升级程序对收到的所述校验结果进行判断;所述校验值相同,则认为校验成功;所述校验值不相同,则认为校验失败,所述计算机侧升级程序再次启动与所述下载代理程序通过握手命令确认传输方式,并执行后续过程。所述下载代理程序接收到全部数据后进行校验,并在校验成功后写入所述移动终端内部的存储芯片FLASH后,进一步包括
6
向所述计算机侧升级程序返回写入FLASH的响应包,所述返回的响应包的格式和数量按照所述版本升级的下载协议,所述计算机侧升级程序根据收到的所述响应包,确认所述移动终端侧下载代理程序已完成写入FLASH的数据。本发明还提供了一种移动终端版本升级实现系统,包括计算机及移动终端,计算机中存储有升级程序和下载代理程序,并使用所述升级程序与移动终端侧的软件建立通讯,并备份移动终端侧的重要参数后,发送所述下载代理程序到移动终端内存中的指定位置,并指示所述移动终端侧的软件开始运行所述下载代理程序;以及与移动终端侧下载代理程序通过握手命令确认传输方式后,向移动终端侧下载代理程序连续发送升级版本文件数据;以及接收移动终端侧下载代理程序返回的处理结果并发送重新启动命令给所述下载代理程序;移动终端用于与计算机侧升级程序建立通讯,并在指定内存中存储下载代理程序,根据计算机中侧升级程序的指示开始运行所述下载代理程序;以及接收计算机侧升级程序连续发送的升级版本文件数据,对接收到的全部数据后进行校验,将校验成功的升级文件写入自身内部的存储芯片FLASH,并返回处理结果给计算机侧升级程序;以及接收计算机侧升级程序发送的重启命令,并与所述计算机侧升级程序交互,重新启动后恢复重要参数。计算机侧的升级程序还用于从待下载文件中每次读取一个数据包数据,并直接发送给所述移动终端侧下载代理;以及对收到的所述校验结果进行判断,并在判定校验失败后,再次启动与所述下载代理程序通过握手命令确认传输方式,并执行后续过程。移动终端侧的下载代理程序还用于接收通过握手命令确认传输方式过程中,由计算机侧升级程序发送的请求单向传输指令,并根据保存的所述请求单向传输指令中包含的待下载文件大小与接收到的文件大小进行比较,并根据比较结果向计算机侧升级程序发送请求重传请求或将校验结果回传给计算机侧升级程序;以及向计算机侧升级程序返回写入FLASH的响应包,返回的响应包的格式和数量按照所述版本升级的下载协议。下面以一个优选实施例详细介绍本发明提供的一种移动终端版本升级的方法。本优选实施例提供的一种移动终端版本升级的方法,如图3所示,具体包括如下步骤计算机侧升级程序与移动终端侧软件建立通讯,计算机侧升级程序备份移动终端侧重要参数后,发送下载代理程序到移动终端内存中的指定位置,并指示所述移动终端侧软件开始运行所述下载代理程序;所述计算机侧升级程序与所述移动终端侧下载代理程序通过握手命令确认传输方式后,所述传输方式具体包括所述计算机侧升级程序向所述下载代理程序发送请求单向传输指令,所述请求传输指令至少包含待下载文件的大小、校验值。
所述移动终端侧下载代理程序收到请求传输指令并保存后,返回准备接收的响应给所述计算机侧升级程序,所述计算机侧升级程序收到所述响应后开始传输文件。根据版本升级的下载协议,所述计算机侧升级程序从待下载文件中每次读取一包数据,将读出的数据包直接发送给移动终端侧下载代理,所述每个数据包的大小与硬件稳定传输能力相匹配。所述计算机侧升级程序向所述移动终端侧下载代理程序连续发送升级版本文件数据;所述下载代理程序接收到全部数据后进行校验,具体包括所述移动终端侧下载代理程序根据保存的所述请求传输指令中包含的待下载文件大小与接收到的文件大小进行比较文件大小不相同时,所述移动终端侧下载代理程序向所述计算机侧升级程序发送请求重传请求,所述计算机侧升级程序重复上诉步骤。文件大小相同时,所述移动终端侧下载代理程序将校验结果回传给所述计算机侧升级程序,所述校验结果中包括计算机侧升级程序对发送数据计算的校验值和下载代理程序对接收到的数据计算的校验值。所述计算机侧升级程序对收到的所述校验结果进行判断,所述校验值相同,则认为校验成功;所述校验值不相同,则认为校验失败,所述计算机侧升级程序再次向所述下载代理程序发送所述握手命令确认传输方式,重复上诉步骤。在校验成功后,向所述计算机侧升级程序返回写入FLASH的响应包,所述返回的响应包的格式和数量按照所述版本升级的下载协议,所述计算机侧升级程序根据收到的所述响应包,确认所述移动终端侧下载代理程序已完成写入FLASH的数据。所述计算机侧升级程序发送重新启动命令给所述下载代理程序;所述下载代理程序重新启动所述移动终端,并与所述计算机侧升级程序交互,使所述移动终端恢复重要参数,至此升级过程结束。—种移动终端版本升级实现系统,如图2所示,包括计算机1及移动终端2,计算机1中存储有升级程序和下载代理程序,并使用所述升级程序与移动终端2侧的软件建立通讯,并备份移动终端侧的重要参数后,发送所述下载代理程序到移动终端2内存中的指定位置,并指示所述移动终端2侧的软件开始运行所述下载代理程序;以及与移动终端2侧下载代理程序通过握手命令确认传输方式后,向移动终端2侧下载代理程序连续发送升级版本文件数据;以及接收移动终端2侧下载代理程序返回的处理结果并发送重新启动命令给所述下载代理程序;移动终端2用于与计算机1侧升级程序建立通讯,并在指定内存中存储下载代理程序,根据计算机1中侧升级程序的指示开始运行所述下载代理程序;以及接收计算机1侧升级程序连续发送的升级版本文件数据,对接收到的全部数据后进行校验,将校验成功的升级文件写入自身内部的存储芯片FLASH,并返回处理结果给计算机1侧升级程序;以及接收计算机1侧升级程序发送的重启命令,并与所述计算机侧升级程序,重新启动后恢复重要参数。计算机1侧的升级程序还用于从待下载文件中每次读取一个数据包数据,并直接发送给所述移动终端侧下载代理;以及对收到的所述校验结果进行判断,并在判定校验失败后,再次启动与所述下载代理程序通过握手命令确认传输方式,并执行后续过程。移动终端2侧的下载代理程序还用于接收通过握手命令确认传输方式过程中,由计算机1侧升级程序发送的请求单向传输指令,并根据保存的所述请求单向传输指令中包含的待下载文件大小与接收到的文件大小进行比较,并根据比较结果向计算机1侧升级程序发送请求重传请求或将校验结果回传给计算机1侧升级程序;以及向计算机1侧升级程序返回写入FLASH的响应包,返回的响应包的格式和数量按照所述版本升级的下载协议。与现有技术相比,本发明方法采用建立单向传输通道,非一发一收逐包式响应的方式进行文件传送,减少了计算机侧与移动终端侧的交互等待时间,对批量数据也只采用一次整体校验,达到提高文件传输效率的目的。本发明的方法对升级的硬件环境没有特殊要求,仅需要计算机程序与移动终端侧下载代理满足下载的协议要求即可,对升级效率的提升效果非常明显。如一个50M左右的版本文件用传统的升级方法可能需要约20分钟,而采用本发明的方法在2-3分钟内即可完成。该效率提升主要在以下两个方面体现其优点在移动设备厂商生产制造过程中,移动终端产品需要大批量且频繁地升级版本软件,下载升级程序的效率直接影响到产品成本。采用该高效的下载升级方法给移动终端制造商节约大量的成本,为设备厂商赢得更大的利润空间。在售后维修以及用户使用过程中往往也需要升级软件版本,故售后升级以及用户在线升级的效率也很重要。本发明方法能够大大节约终端产品的售后维修费用,并且在用户升级过程中大大提高了用户体验满意度,为终端产品赢来更多客户。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
9定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种移动终端版本升级的方法,其特征在于,包括以下步骤计算机侧升级程序与移动终端侧软件建立通讯,计算机侧升级程序备份移动终端侧重要参数后,发送下载代理程序到移动终端内存中的指定位置,并指示所述移动终端侧软件开始运行所述下载代理程序;所述计算机侧升级程序与所述移动终端侧下载代理程序通过握手命令确认传输方式后,所述计算机侧升级程序向所述移动终端侧下载代理程序连续发送升级版本文件数据;所述下载代理程序接收到全部数据后进行校验,并在校验成功后写入所述移动终端内部的存储芯片FLASH,并返回处理结果给所述计算机侧升级程序; 所述计算机侧升级程序发送重新启动命令给所述下载代理程序; 所述下载代理程序重新启动所述移动终端,并与所述计算机侧升级程序交互,恢复所述移动终端侧的重要参数,升级过程结束。
2.根据权利要求1所述的一种移动终端版本升级的方法,其特征在于,所述计算机侧与所述移动终端侧通过握手命令确认传输方式,具体包括所述计算机侧升级程序向所述下载代理程序发送请求单向传输指令,所述移动终端侧下载代理程序收到请求单向传输指令并保存后,返回准备接收的响应给所述计算机侧升级程序,所述计算机侧升级程序收到所述响应后开始传输文件。
3.根据权利要求2所述的一种移动终端版本升级的方法,其特征在于,所述请求单向传输指令至少包含待下载文件的大小和校验值。
4.根据权利要求1所述的一种移动终端版本升级的方法,其特征在于,所述计算机侧升级程序与所述移动终端侧下载代理程序通过握手命令确认传输方式后,进一步包括根据版本升级的下载协议,所述计算机侧升级程序从待下载文件中每次读取一个数据包数据,直接发送给所述移动终端侧下载代理,每个数据包的大小与硬件稳定传输能力相匹配。
5.根据权利要求3所述的一种移动终端版本升级的方法,其特征在于,所述下载代理程序接收到全部数据后进行校验,具体包括所述移动终端侧下载代理程序根据保存的所述请求单向传输指令中包含的待下载文件大小与接收到的文件大小进行比较当文件大小不相同时,所述移动终端侧下载代理程序向所述计算机侧升级程序发送请求重传请求,所述计算机侧升级程序重新发送所述升级版本文件数据;当文件大小相同时,所述移动终端侧下载代理程序将校验结果回传给所述计算机侧升级程序,所述校验结果中包括计算机侧升级程序对发送数据计算的校验值和下载代理程序对接收到的数据计算的校验值。
6.根据权利要求5所述的一种移动终端版本升级的方法,其特征在于,所述下载代理对接收到的数据进行校验后,进一步包括所述计算机侧升级程序对收到的所述校验结果进行判断; 所述校验值相同,则认为校验成功;所述校验值不相同,则认为校验失败,所述计算机侧升级程序再次启动与所述下载代理程序通过握手命令确认传输方式,并执行后续过程。
7.根据权利要求1所述的一种移动终端版本升级的方法,其特征在于,所述下载代理程序接收到全部数据后进行校验,并在校验成功后写入所述移动终端内部的存储芯片 FLASH后,进一步包括向所述计算机侧升级程序返回写入FLASH的响应包,所述返回的响应包的格式和数量按照所述版本升级的下载协议,所述计算机侧升级程序根据收到的所述响应包,确认所述移动终端侧下载代理程序已完成写入FLASH的数据。
8.一种移动终端版本升级实现系统,包括计算机和移动终端,其特征在于所述计算机中存储有升级程序和下载代理程序,并使用所述升级程序与所述移动终端侧的软件建立通讯,并备份移动终端侧的重要参数后,发送所述下载代理程序到移动终端内存中的指定位置,并指示所述移动终端侧的软件开始运行所述下载代理程序;以及与所述移动终端侧下载代理程序通过握手命令确认传输方式后,向所述移动终端侧下载代理程序连续发送升级版本文件数据;以及接收所述移动终端侧下载代理程序返回的处理结果并发送重新启动命令给所述下载代理程序;所述移动终端用于与计算机侧升级程序建立通讯,并在指定内存中存储下载代理程序,根据所述计算机中侧升级程序的指示开始运行所述下载代理程序;以及接收所述计算机侧升级程序连续发送的升级版本文件数据,对接收到的全部数据后进行校验,将校验成功的升级文件写入自身内部的存储芯片FLASH,并返回处理结果给所述计算机侧升级程序;以及接收所述计算机侧升级程序发送的重启命令,并与所述计算机侧升级程序交互,重新启动后恢复重要参数。
9.根据权利要求8所述的一种移动终端版本升级实现系统,其特征在于所述计算机侧的升级程序还用于从待下载文件中每次读取一个数据包数据,并直接发送给所述移动终端侧下载代理;以及对收到的所述校验结果进行判断,并在判定校验失败后,再次启动与所述下载代理程序通过握手命令确认传输方式,并执行后续过程。
10.根据权利要求8所述的一种移动终端版本升级实现系统,其特征在于所述移动终端侧的下载代理程序还用于接收通过握手命令确认传输方式过程中,由计算机侧升级程序发送的请求单向传输指令,并根据保存的所述请求单向传输指令中包含的待下载文件大小与接收到的文件大小进行比较,并根据比较结果向所述计算机侧升级程序发送请求重传请求或将校验结果回传给所述计算机侧升级程序;以及向所述计算机侧升级程序返回写入FLASH的响应包,所述返回的响应包的格式和数量按照所述版本升级的下载协议。
全文摘要
本发明提供了一种移动终端版本升级的方法及实现系统,包括以下步骤计算机侧升级程序备份移动终端侧重要参数后,发送下载代理程序到移动终端内存中的指定位置,移动终端侧软件开始运行下载代理;计算机侧升级程序与移动终端侧下载代理程序通过握手命令确认传输方式后,计算机侧开始连续发送版本文件数据给移动终端侧下载代理;所述下载代理对接收到的数据进行校验、写入移动终端内部的存储芯片FLASH,然后返回处理结果;移动终端重新启动并恢复移动终端侧的重要参数,升级过程结束。本发明解决了目前一发一收逐包式响应的方式进行文件传送,减少了计算机侧与移动终端侧的交互等待时间,达到提高文件传输效率的目的。
文档编号G06F9/445GK102222010SQ201110167319
公开日2011年10月19日 申请日期2011年6月21日 优先权日2011年6月21日
发明者刘佩, 杨小锋 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1