系统升级方法及其移动终端与流程

文档序号:13760228阅读:176来源:国知局
系统升级方法及其移动终端与流程

本发明涉及移动通信领域,尤其涉及一种系统升级方法及其移动终端。



背景技术:

系统升级是移动终端用户常用的一种操作,可用于弥补软件漏洞,清除内存垃圾、克服手机经常死机、应用程序崩溃等常见问题,

现有的Android系统的Bootloader的fastboot模式可以通过USB协议进行数据的传输,刷入相应的镜像到目标终端,达到升级智能终端的软件的目标,是一种比较可靠快速的升级软件的方式。但是这种fastboot刷机方式的限制条件比较多,需要提前准备对应软件的镜像包和电脑,通过电脑端运行fastboot相关通信程序,才能刷入相应的镜像,通常用于研发的调试和售后的软件升级阶段,操作繁琐且不友好,应用场景比较局限。



技术实现要素:

为解决现有技术中存在的上述问题,本发明实施例一方面提供了一种系统升级方法,应用于被控移动终端,包括:

与主控移动终端建立OTG连接;

接收主控移动终端发送的硬件版本信息;

判断主控移动终端的硬件版本与被控移动终端的硬件版本是否匹配;

当所述主控移动终端的硬件版本与所述被控移动终端的硬件版本匹配时,接收所述主控移动终端的升级镜像文件和对应的分区信息;

根据所述分区信息加载所述升级镜像文件至对应分区。

另一方面,本发明实施例还提供了一种被控移动终端,包括:

连接模块,用于与主控移动终端建立OTG连接;

版本信息接收模块,用于接收主控移动终端发送的硬件版本信息;

文件接收模块,用于当所述主控移动终端的硬件版本与所述被控移动终端的硬件版本匹配时,接收所述主控移动终端的升级镜像文件和对应的分 区信息;

升级模块,用于根据所述分区信息加载所述升级镜像文件至对应分区。本发明实施例,通过被控移动终端与具有相同硬件版本信息的主控移动终端之间建立的OTG连接,传输主控移动终端的升级镜像文件和分区信息,并执行系统升级,使得移动终端的刷机升级仅需找到另一个硬件版本相匹配的移动终端即可完成,无需提前在主控移动终端中准备升级包,无需借助电脑,也无需求助于专业维修人员,操作更加方便,省时省力,有效提升了用户体验。

附图说明

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

图1为本发明的系统升级方法的第一实施例的流程示意图;

图2为本发明的系统升级方法的第二实施例的流程示意图;

图3为本发明的被控移动终端的第一实施例的结构示意图;

图4为本发明的被控移动终端的第二实施例的结构示意图。

图5为本发明的被控移动终端的第三实施例的结构示意图。

具体实施方式

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

请参照图1,是本发明的系统升级方法的第一实施例的流程示意图,该方法应用于被控移动终端,包括:

步骤11:与主控移动终端建立OTG连接。

本步骤中,OTG协议是USB2.0规范中增加的一种USB嵌入式设备的标准,该协议可在没有主机的情况下,实现设备之间的数据传送。在OTG协议下,当某一设备连接到电脑时,该设备可作为USB设备使用,而当该设备与其他USB设备相连接时,该设备可作为USB主机使用。OTG连接可实现没有主机时设备与设备之间的数据传输,使USB装置摆脱了原来主从结构的限制,实现了端到端的传输模式。被控移动终端与主控移动终端建立OTG连接后,就建立起基于fastboot协议进行系统升级的端到端的文件传输通道,使得系统升级无需借助电脑来执行。

主控移动终端和被控移动终端具体可为智能手机、平板电脑、掌上电脑等多种形式的终端设备。

步骤12:接收主控移动终端发送的硬件版本信息。

本步骤中,硬件版本例如包括移动终端的机型版本信息。硬件版本的发送可采用请求响应的机制,即被控移动终端向主控移动终端发送获取该主控移动终端的硬件版本信息的请求消息,主控移动终端收到该请求消息后,读取自身的硬件版本信息,并填充到响应消息中返回给被控移动终端。

步骤13:当主控移动终端的硬件版本与被控移动终端的硬件版本匹配时,接收主控移动终端的升级镜像文件和对应的分区信息。

本步骤中,由于移动终端的硬件版本会对软件版本产生影响,当主控移动终端与被控移动终端的硬件版本不匹配时,无法执行彼此的刷机升级。因此,当被控移动终端在接收到主控移动终端发送的硬件版本信息后,也读取自身的硬件版本信息,并将二者进行比较。若版本相匹配,才执行后续的升级操作,或不匹配,则取消升级,并提示用户升级失败,或提示用户更换主控移动终端,直至主控移动终端与被控移动终端的硬件版本相匹配。

当确认版本匹配后,主控移动终端将自身闪存上某个系统分区的镜像文件以及根据分区的标识等参数生成的分区信息通过OTG连接传输给被控移动终端。该分区信息用于指导被控移动终端利用上述镜像文件完成对应分区的升级。升级可包括系统的软件/固件更新、参数设置、参数修改等。

步骤14:根据分区信息加载升级镜像文件至对应分区。

本步骤中,被控移动终端根据分区信息中的分区标识,将升级镜像文件下载到被控移动终端的闪存,完成镜像的加载,之后还可返回升级成功的标记信息给主控移动终端。

本发明实施例,通过被控移动终端与具有相同硬件版本信息的主控移动终端之间建立的OTG连接,传输主控移动终端的升级镜像文件和分区信息,并执行系统升级,使得移动终端的刷机升级仅需找到另一个硬件版本相匹配的移动终端即可完成,无需提前在主控移动终端中准备升级包,无需借助电脑,也无需求助于专业维修人员,操作更加方便,省时省力,有效提升了用户体验。

请参照图2,是本发明的系统升级方法的第二实施例的流程示意图,该方法应用于被控移动终端,包括:

步骤21:与主控移动终端建立OTG连接。

步骤22:被控移动终端进入快速启动模式。

本步骤中,在建立OTG连接之后,被控移动终端与主控移动终端都进入快速启动(fastboot)模式,以便使后续对升级镜像文件和对应的分区信息的传输可基于fastboot协议而进行。fastboot协议是Android定义的一种较为底层的刷机协议,用户可以通过fastboot命令行工具进行刷机升级。在fastboot模式下的系统升级较为安全、可靠。

步骤23:接收主控移动终端发送的硬件版本信息。

步骤24:当主控移动终端的硬件版本与被控移动终端的硬件版本匹配时,接收主控移动终端的升级镜像文件和对应的分区信息。

上述步骤21、23、24与系统升级方法的第一实施例中的对应步骤相同,在此不再赘述。

步骤25:将接收到的升级镜像文件读取到被控移动终端的双倍速率同步动态随机存储器;

本步骤中,双倍速率同步动态随机存储器(DDR)即DDR SDRAM,与传统的单数据速率相比,DDR实现了一个时钟周期内进行两次读/写操作。因此,相比于将接收到的升级镜像文件直接存储到闪存中的方法,本实施例先将文件下载到DDR缓存,再同步到闪存中,可有效提高数据传输速率, 减少系统升级的时间。

步骤26:对缓存在双倍速率同步动态随机存储器中的升级镜像文件进行数据完整性校验。

本步骤中,为了防止升级镜像文件传输中的误码导致后续升级失败,需要对传输后缓存在DDR中的升级镜像文件进行数据完整性校验,以保证升级文件的可用性。若校验失败则终止升级,并对用户进行相应提示。

步骤27:根据分区信息,将升级镜像文件从双倍速率同步动态随机存储器中同步到被控移动终端的闪存的对应分区中。

本步骤中,升级镜像文件被从DDR中转存到闪存的对应分区后,即完成了该分区的升级。

步骤25至27可重复执行,直至被控移动终端的所有系统分区全部升级完毕。通过采用分区逐个升级的方法,可避免因为升级镜像文件数据量过大而导致的DDR存储空间不够用的问题,同时也在升级镜像文件传输有误时,仅进行部分重传即可,不需全部重传,

本发明实施例,通过判断硬件版本是否匹配、以及通过双倍速率同步动态随机存储器来转存升级镜像文件,可及时发现硬件版本不匹配的情况而中止升级,防止升级失败,并有效提高文件传输的速度,提高升级的效率。

请参照图3,是本发明的被控移动终端的第一实施例的结构示意图,该被控移动终端100包括:

连接模块110,用于与主控移动终端建立OTG连接;

版本信息接收模块120,与连接模块110相连,用于接收主控移动终端发送的硬件版本信息;

文件接收模块130,与版本信息接收模块120相连,用于当主控移动终端的硬件版本与被控移动终端的硬件版本匹配时,接收主控移动终端的升级镜像文件和对应的分区信息;

升级模块140,与文件接收模块130相连,用于根据分区信息加载升级镜像文件至对应分区。

OTG协议是USB2.0规范中增加的一种USB嵌入式设备的标准,该协议可在没有主机的情况下,实现设备之间的数据传送。在OTG协议下,当 某一设备连接到电脑时,该设备可作为USB设备使用,而当该设备与其他USB设备相连接时,该设备可作为USB主机使用。OTG连接可实现没有主机时设备与设备之间的数据传输,使USB装置摆脱了原来主从结构的限制,实现了端到端的传输模式。被控移动终端与主控移动终端建立OTG连接后,就建立起基于fastboot协议进行系统升级的端到端的文件传输通道,使得系统升级无需借助电脑来执行。

主控移动终端和被控移动终端具体可为智能手机、平板电脑、掌上电脑等多种形式的终端设备。

硬件版本例如包括移动终端的机型版本信息。硬件版本的发送可采用请求响应的机制,即被控移动终端向主控移动终端发送获取该主控移动终端的硬件版本信息的请求消息,主控移动终端收到该请求消息后,读取自身的硬件版本信息,并填充到响应消息中返回给被控移动终端。

由于移动终端的硬件版本会对软件版本产生影响,当主控移动终端与被控移动终端的硬件版本不匹配时,无法执行彼此的刷机升级。因此,当被控移动终端在接收到主控移动终端发送的硬件版本信息后,也读取自身的硬件版本信息,并将二者进行比较。若版本相匹配,才执行后续的升级操作,或不匹配,则取消升级,并提示用户升级失败,或提示用户更换主控移动终端,直至主控移动终端与被控移动终端的硬件版本相匹配。

当确认版本匹配后,主控移动终端将自身闪存上某个系统分区的镜像文件以及根据分区的标识等参数生成的分区信息通过OTG连接传输给被控移动终端。该分区信息用于指导被控移动终端利用上述镜像文件完成对应分区的升级。升级可包括系统的软件/固件更新、参数设置、参数修改等。

被控移动终端根据分区信息中的分区标识,将升级镜像文件下载到被控移动终端的闪存,完成镜像的加载,之后还可返回升级成功的标记信息给主控移动终端。

本发明实施例,通过被控移动终端与具有相同硬件版本信息的主控移动终端之间建立的OTG连接,传输主控移动终端的升级镜像文件和分区信息,并执行系统升级,使得移动终端的刷机升级仅需找到另一个硬件版本相匹配的移动终端即可完成,无需提前在主控移动终端中准备升级包,无需借 助电脑,也无需求助于专业维修人员,操作更加方便,省时省力,有效提升了用户体验。

请参照图4,是本发明的被控移动终端的第二实施例的结构示意图,该被控移动终端200包括:

连接模块210,用于与主控移动终端建立OTG连接;

版本信息接收模块220,用于接收主控移动终端发送的硬件版本信息;

文件接收模块230,与版本信息接收模块220相连,用于当主控移动终端的硬件版本与被控移动终端的硬件版本匹配时,接收主控移动终端的升级镜像文件和对应的分区信息;

升级模块240,与文件接收模块230相连,用于根据分区信息加载升级镜像文件至对应分区。

准备模块250,与连接模块210和版本信息接收模块220相连,用于使被控移动终端进入快速启动模式。

进一步的,升级模块240包括缓存单元241、校验单元242和同步单元243。缓存单元241用于将接收到的升级镜像文件读取到被控移动终端的双倍速率同步动态随机存储器;校验单元242用于对缓存在双倍速率同步动态随机存储器中的升级镜像文件进行数据完整性校验;同步单元243用于根据分区信息,将升级镜像文件从双倍速率同步动态随机存储器中同步到被控移动终端的闪存的对应分区中。

在建立OTG连接之后,被控移动终端与主控移动终端都进入快速启动(fastboot)模式,以便使后续对升级镜像文件和对应的分区信息的传输可基于fastboot协议而进行。fastboot协议是Android定义的一种较为底层的刷机协议,用户可以通过fastboot命令行工具进行刷机升级。在fastboot模式下的系统升级较为安全、可靠。

双倍速率同步动态随机存储器(DDR)即DDR SDRAM,与传统的单数据速率相比,DDR实现了一个时钟周期内进行两次读/写操作。因此,相比于将接收到的升级镜像文件直接存储到闪存中的方法,本实施例先将文件下载到DDR缓存,再同步到闪存中,可有效提高数据传输速率,减少系统升级的时间。

为了防止升级镜像文件传输中的误码导致后续升级失败,需要对传输后缓存在DDR中的升级镜像文件进行数据完整性校验,以保证升级文件的可用性。若校验失败则终止升级,并对用户进行相应提示。

升级镜像文件被从DDR中转存到闪存的对应分区后,即完成了该分区的升级。

本发明实施例,通过判断硬件版本是否匹配、以及通过双倍速率同步动态随机存储器来转存升级镜像文件,可及时发现硬件版本不匹配的情况而中止升级,防止升级失败,并有效提高文件传输的速度,提高升级的效率。

请参照图5,是本发明的被控移动终端的第三实施例的被控移动终端的结构示意图,该被控移动终端500包括:至少一个处理器501、存储器502、至少一个网络接口504和用户接口503。被控移动终端500中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统505。

其中,用户接口503可以包括按键、各种加速度传感器,尤其是重力传感器和陀螺仪。

可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM, SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本文描述的系统和方法的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。

在一些实施方式中,存储器502存储了如下的元素,硬件版本信息、升级镜像文件、分区信息,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统5021和应用程序5022。

其中,操作系统5021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序5022中。

在本发明实施例中,通过调用存储器502存储的程序或指令,具体的,可以是应用程序5022中存储的程序或指令,被控移动终端与主控移动终端建立OTG连接;处理器501通过所述OTG连接接收所述主控移动终端发送的硬件版本信息;当所述主控移动终端的硬件版本与所述被控移动终端的硬件版本匹配时,处理器501通过所述OTG连接接收所述主控移动终端的升级镜像文件和对应的分区信息;处理器501根据所述分区信息加载所述升级镜像文件至对应分区。

上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。

上述的处理器501可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译 码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

可选地,作为另一个实施例,处理器501使所述被控移动终端进入快速启动模式。

可选的,作为另一个实施例,处理器501发出指令,将接收到的所述升级镜像文件读取到所述被控移动终端的双倍速率同步动态随机存储器;处理器501根据所述分区信息,发出指令将所述升级镜像文件从所述双倍速率同步动态随机存储器中同步到所述被控移动终端的闪存的对应分区中。

可选的,作为另一个实施例,处理器501对缓存在所述双倍速率同步动态随机存储器中的所述升级镜像文件进行数据完整性校验。

可选的,作为另一个实施例,对所述被控移动终端的所有系统分区,处理器501重复执行接收所述主控移动终端的升级镜像文件和对应的分区信息的步骤,以及根据所述分区信息加载所述升级镜像文件至对应分区的步骤,直至所有系统分区全部升级完毕。

被控移动终端500能够实现前述实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。本发明实施例,通过被控移动终端与具有相同硬件版本信息的主控移动终端之间建立的OTG连接,传输所述主控移动终 端的升级镜像文件和分区信息,并执行系统升级,使得移动终端的刷机升级仅需找到另一个硬件版本相匹配的移动终端即可完成,无需提前在主控移动终端中准备升级包,无需借助电脑,也无需求助于专业维修人员,操作更加方便,省时省力,有效提升了用户体验。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露移动终端和控制方法,可以通过其它的方式实现。例如,以上所描述的移动终端的实施例仅仅是示意性的,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

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