CN111796853A - 固件升级方法、系统、设备及计算机存储介质 - Google Patents
固件升级方法、系统、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN111796853A CN111796853A CN202010690382.0A CN202010690382A CN111796853A CN 111796853 A CN111796853 A CN 111796853A CN 202010690382 A CN202010690382 A CN 202010690382A CN 111796853 A CN111796853 A CN 111796853A
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgrading
- upgrade
- version
- quick
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种固件升级方法、系统、设备及计算机存储介质,固件升级方法包括:在接收到终端固件升级请求时,获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识;在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包;将所述快速升级固件包发送至终端,以使所述终端根据所述快速升级固件包进行固件升级操作。本申请能够提高设备固件升级的效率。
Description
技术领域
本申请涉及电子信息技术领域,尤其涉及一种固件升级方法、系统、设备及计算机存储介质。
背景技术
当固件出现漏洞(bug)时,就需要升级该固件到新的版本,以对bug进行修复,或者当开发了新的功能时,也需要将固件升级到新的版本。目前,随着嵌入式GUI(GraphicalUser Interface,图形用户界面)内容的丰富,很大部分的嵌入式GUI固件的数据量都特别大,导致了升级GUI固件会花费较多的时间,升级效率低。
发明内容
本申请的主要目的在于提供一种固件升级方法、系统、设备及计算机存储介质,旨在解决现有技术中固件升级效率低的技术问题。
为实现上述目的,本申请实施例提供一种固件升级方法,所述固件升级的步骤包括:
在接收到终端固件升级请求时,获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识;
在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包;
将所述快速升级固件包发送至终端,以使所述终端根据所述快速升级固件包进行固件升级操作。
可选地,所述在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包的步骤之前,包括:
获取最新版本固件,将所述最新版本固件与历史版本固件进行比对,获得升级固件,其中,所述历史版本固件的版本数量包括一个或多个,所述快速升级固件包中包含内部固件和外部差异固件;
将各所述升级固件压缩后打包,生成包含索引信息的快速升级固件包,其中,所述索引信息包括存储信息、固件类型、固件大小和完整性校验码;
将所述历史版本固件对应的固件版本标识和所述快速升级固件包进行关联,生成预设固件升级映射表。
可选地,所述获取最新版本固件,将所述最新版本固件与历史版本固件进行比对,获得升级固件的步骤,包括:
获取最新版本固件,及所述最新版本固件中的内部固件;
将所述最新版本固件中的最新外部固件和所述历史版本固件中的历史外部固件进行比对,获得外部差异固件,其中,所述外部差异固件中包含新增内容和/或删减内容,将所述内部固件和所述外部差异固件作为升级固件。
可选地,所述在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包的步骤,包括:
在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,判断是否存在与所述固件版本标识关联的快速升级固件包;
若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件,将所述最新版本固件压缩后发送至所述终端,以使所述终端根据所述最新版本固件进行常规升级;
若存在与所述固件版本标识关联的快速升级固件包,则获取所述固件版本标识对应的快速升级固件包。
可选地,所述固件升级方法运用在终端,所述固件升级方法包括:
接收服务器发送的快速升级固件包,解压所述快速升级固件包,获得所述快速升级固件包中的升级固件,及所述升级固件的索引信息;
提取所述索引信息中的完整性校验码,根据所述完整性校验码对所述升级固件进行完整性校验;
在所述升级固件完整性校验不通过时,发送提示信息至服务器,以使服务器发送新的快速升级固件包;
在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作;
在检测到固件烧录操作完成时,发送烧录反馈信息至服务器。
可选地,所述在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作的步骤,包括:
在所述升级固件完整性校验通过时,获取所述升级固件和所述升级固件的索引信息,根据所述索引信息确定所述升级固件的固件类型;
在所述升级固件的固件类型为外部差异固件时,按照所述外部差异固件的索引信息重构所述终端的芯片外部nor flash中的外部固件,将所述外部差异固件烧录到所述终端芯片外部nor flash;
在所述升级固件的固件类型为内部固件时,按照所述内部固件的索引信息将所述内部固件烧录到芯片内部flash。
可选地,所述固件升级方法的步骤,包括:
在接收到服务器发送的最新版本固件时,解压所述最新版本固件,获得所述最新版本固件中的内部固件和外部固件;
将所述内部固件烧录到芯片内部flash中,将所述外部固件烧录到所述终端芯片外部nor flash中;
在检测到所述内部固件和所述外部固件烧录操作完成时,判断固件烧录结果是否成功;
若所述固件烧录结果为成功,则发送升级成功的提示至服务器并重启;
若所述固件烧录结果为失败,则输出固件异常升级失败的提示至服务器,并退出固件升级流程。
本申请还提供一种固件升级系统,所述固件升级系统包括:服务器和终端;
服务器,用于在接收到终端固件升级请求时,服务器获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识;
服务器,用于在所述固件版本标识不是最新版本标识时,服务器查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包,若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件并压缩;
服务器,用于将所述快速升级固件包或所述最新版本固件发送至终端;
终端,用于接收服务器发送的快速升级固件包,解压所述快速升级固件包,获得所述快速升级固件包中的升级固件,及所述升级固件的索引信息;
终端,用于提取所述索引信息中的完整性校验码,根据所述完整性校验码对所述升级固件进行完整性校验;
终端,用于在所述升级固件完整性校验不通过时,发送提示信息至服务器,以使服务器发送新的快速升级固件包;
终端,用于在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作;
终端,用于接收服务器发送的最新版本固件,解压所述最新版本固件获得所述最新版本固件中的内部固件和外部固件,将所述内部固件烧录到芯片内部flash中,将所述外部固件烧录到所述终端芯片外部nor flash中;
终端,用于在检测到固件烧录操作完成时,发送烧录反馈信息至服务器。
本申请还提供一种固件升级设备,所述固件升级设备包括:服务器和/或终端,所述固件升级设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的固件升级程序,所述固件升级程序被所述处理器执行时实现如上述固件升级方法的步骤。
本申请还提供一种计算机存储介质,所述计算机存储介质上存储有固件升级程序,所述固件升级程序被处理器执行时实现如上所述的固件升级方法的步骤。
本申请公开了一种固件升级方法、系统、设备及计算机存储介质,本申请实施例中获取固件升级请求携带的固件版本标识,判断固件版本标识是否为最新版本标识,在固件版本标识不是最新版本标识时,判定需要对固件进行升级操作,查询预设固件升级映射表,从而确定固件版本标识对应的快速升级固件包,再将快速升级固件包发送至终端,从而终端根据快速升级固件包进行固件升级操作,即本实施例中快速升级包中包含差异固件,不需要全量的固件传输,提高了固件传输效率,同时无需终端升级全部固件,节约了设备固件升级的时间,提高了设备固件升级的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一个可选的设备的硬件结构示意图;
图2为本申请固件升级方法第一实施例的流程示意图;
图3为本申请固件升级方法第二实施例的流程示意图;
图4为本申请固件升级方法第三实施例的流程示意图;
图5为本申请固件升级方法第四实施例的流程示意图;
图6为本申请固件升级方法第五实施例的流程示意图;
图7为本申请固件升级方法第六实施例的流程示意图;
图8为本申请固件升级方法第七实施例的流程示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
如图1所示,该设备的架构设计包括节点和服务器,其设备结构可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,该设备还可以包括用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。用户接口可以包括显示屏(Display)、触摸屏、摄像头(包括AR/VR设备)等,可选用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口、蓝牙接口、探针接口、3G/4G/5G联网通信接口等)。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及固件升级程序。操作系统是管理和控制设备硬件和软件资源的程序,支持固件升级程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与设备中其它硬件和软件之间通信。
在图1所示的设备中,处理器1001用于执行存储器1005中存储的固件升级程序,执行以下操作:
在接收到终端固件升级请求时,获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识;
在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包;
将所述快速升级固件包发送至终端,以使所述终端根据所述快速升级固件包进行固件升级操作。
进一步地,处理器1001可以调用存储器1005中存储的固件升级程序,还执行以下操作:
获取最新版本固件,将所述最新版本固件与历史版本固件进行比对,获得升级固件,其中,所述历史版本固件的版本数量包括一个或多个,所述快速升级固件包中包含内部固件和外部差异固件;
将各所述升级固件压缩后打包,生成包含索引信息的快速升级固件包,其中,所述索引信息包括存储信息、固件类型、固件大小和完整性校验码;
将所述历史版本固件对应的固件版本标识和所述快速升级固件包进行关联,生成预设固件升级映射表。
进一步地,处理器1001可以调用存储器1005中存储的固件升级程序,还执行以下操作:
获取最新版本固件,及所述最新版本固件中的内部固件;
将所述最新版本固件中的最新外部固件和所述历史版本固件中的历史外部固件进行比对,获得外部差异固件,其中,所述外部差异固件中包含新增内容和/或删减内容,将所述内部固件和所述外部差异固件作为升级固件。
进一步地,处理器1001可以调用存储器1005中存储的固件升级程序,还执行以下操作:
在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,判断是否存在与所述固件版本标识关联的快速升级固件包;
若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件,将所述最新版本固件压缩后发送至所述终端,以使所述终端根据所述最新版本固件进行常规升级;
若存在与所述固件版本标识关联的快速升级固件包,则获取所述固件版本标识对应的快速升级固件包。
进一步地,处理器1001可以调用存储器1005中存储的固件升级程序,还执行以下操作:
接收服务器发送的快速升级固件包,解压所述快速升级固件包,获得所述快速升级固件包中的升级固件,及所述升级固件的索引信息;
提取所述索引信息中的完整性校验码,根据所述完整性校验码对所述升级固件进行完整性校验;
在所述升级固件完整性校验不通过时,发送提示信息至服务器,以使服务器发送新的快速升级固件包;
在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作;
在检测到固件烧录操作完成时,发送烧录反馈信息至服务器。
进一步地,处理器1001可以调用存储器1005中存储的固件升级程序,还执行以下操作:
在所述升级固件完整性校验通过时,获取所述升级固件和所述升级固件的索引信息,根据所述索引信息确定所述升级固件的固件类型;
在所述升级固件的固件类型为外部差异固件时,按照所述外部差异固件的索引信息重构所述终端的芯片外部nor flash中的外部固件,将所述外部差异固件烧录到所述终端芯片外部nor flash;
在所述升级固件的固件类型为内部固件时,按照所述内部固件的索引信息将所述内部固件烧录到芯片内部flash。
进一步地,处理器1001可以调用存储器1005中存储的固件升级程序,还执行以下操作:
在接收到服务器发送的最新版本固件时,解压所述最新版本固件,获得所述最新版本固件中的内部固件和外部固件;
将所述内部固件烧录到芯片内部flash中,将所述外部固件烧录到所述终端芯片外部nor flash中;
在检测到所述内部固件和所述外部固件烧录操作完成时,判断固件烧录结果是否成功;
若所述固件烧录结果为成功,则发送升级成功的提示至服务器并重启;
若所述固件烧录结果为失败,则输出固件异常升级失败的提示至服务器,并退出固件升级流程。
基于上述硬件结构,提出本申请固件升级方法的各个实施例。
参照图2,本申请固件升级方法第一实施例提供一种固件升级方法,运用在服务器,所述固件升级方法包括:
步骤S10,在接收到终端固件升级请求时,获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识;
在本申请公开的技术方案中,固件升级,指的是对设备的内嵌固件进行升级,可以起到修复设备固件漏洞、完善设备功能、增强设备稳定性等作用。在本申请的各个实施例中,以嵌入式GUI(Graphical User Interface,图形用户界面)固件升级为例进行说明。
GUI固件通常由两部分组成:烧录到单片机内部存储器的内部固件和烧录到单片机外部NOR FLASH(非易失闪存器)的外部固件,并且,内部固件和外部固件的组成是不同的,内部固件以代码逻辑为主,外部固件以图片等资源文件为主,并且,图片等资源文件一般都比较大,在升级过程中比较耗费时间。
在本申请公开的技术方案中,在接收到终端固件升级请求时,获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识,从而确定是否需要进行终端固件升级,可以理解的是,在所述固件版本标识是最新版本标识时,则不需要进行终端固件升级。
步骤S20,在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包;
在本申请公开的技术方案中,在所述固件版本标识不是最新版本标识时,可以理解的是,则需要进行终端固件升级。预设固件升级映射表指的是预先生成的能够用于查询并确定与固件版本标识对应的快速升级固件包的映射表。
快速升级固件包指的是终端用于快速升级的固件包,也即相比于常规升级,终端根据快速升级固件包进行固件升级能够有效减少固件升级时间,提升固件升级效率。
步骤S30,将所述快速升级固件包发送至终端,以使所述终端根据所述快速升级固件包进行固件升级操作。
在本申请公开的技术方案中,服务器将所述快速升级固件包发送至终端,从而终端在接收到快速固件升级包之后,根据所述快速升级固件包进行固件升级操作,有效减少固件升级时间,提升固件升级效率。
在本实施例中获取固件升级请求携带的固件版本标识,判断固件版本标识是否为最新版本标识,在固件版本标识不是最新版本标识时,判定需要对固件进行升级操作,查询预设固件升级映射表,从而确定固件版本标识对应的快速升级固件包,再将快速升级固件包发送至终端,从而终端根据快速升级固件包进行固件升级操作,即本实施例中快速升级包中包含差异固件,不需要全量的固件传输,提高了固件传输效率,同时无需终端升级全部固件,节约了设备固件升级的时间,提高了设备固件升级的效率。
进一步地,在本申请固件升级方法第二实施例中,参照图3,步骤S20之前,包括:
步骤S01,获取最新版本固件,将所述最新版本固件与历史版本固件进行比对,获得升级固件,其中,所述历史版本固件的版本数量包括一个或多个,所述快速升级固件包中包含内部固件和外部差异固件;
在本申请公开的技术方案中,举例说明,假设最新版本固件为V2.0,历史版本固件为V0和V1.0,则升级固件包括版本V1.0相对于版本V0的差异固件V1-0、版本V2.0相对于版本V1.0的差异固件V2-1,以及版本V2.0相对于版本V0的差异固件V2-0。
步骤S02,将各所述升级固件压缩后打包,生成包含索引信息的快速升级固件包,其中,所述索引信息包括存储信息、固件类型、固件大小和完整性校验码;
在本申请公开的技术方案中,将各所述升级固件压缩后打包,也即将差异固件V1-0、差异固件V2-1,以及差异固件V2-0压缩后打包,生成包含索引信息的快速升级固件包,压缩打包可以加快快速升级固件包的传输过程,减少传输时间;其中,所述索引信息包括快速升级固件包的存储信息、固件类型、固件大小和完整性校验码。
步骤S03,将所述历史版本固件对应的固件版本标识和所述快速升级固件包进行关联,生成预设固件升级映射表。
在本申请公开的技术方案中,将所述历史版本固件对应的固件版本标识和所述快速升级固件包进行关联,生成预设固件升级映射表,举例说明,假设最新版本固件为V2.0,历史版本固件为V0和V1.0,其中,快速升级固件包指的是历史版本V0和V1.0升级到最新版本固件V2.0的快速升级固件包。则需要关联历史版本固件为V0和V1.0对应的固件版本标识和快速升级固件包(快速升级固件包为差异固件V1-0、差异固件V2-1,以及差异固件V2-0压缩后打包所生成的并且包含索引信息)。
在本实施例中,获取最新版本固件,将所述最新版本固件与历史版本固件进行比对,获得升级固件;将各所述升级固件压缩后打包,生成包含索引信息的快速升级固件包;将所述历史版本固件对应的固件版本标识和所述快速升级固件包进行关联,生成预设固件升级映射表,从而可以根据历史版本固件和预设固件升级映射表,查询得到对应的快速升级固件包,再由服务器将快速升级固件包发送至终端,继而终端可以根据快速升级固件包进行固件升级操作,无需终端升级全部固件,节约了设备固件升级的时间,提高了设备固件升级的效率。
进一步地,在本申请固件升级方法第三实施例中,参照图4,步骤S01包括:
步骤S011,获取最新版本固件,及所述最新版本固件中的内部固件;
在本申请公开的技术方案中,最新版本固件包括内部固件和最新外部固件。
步骤S012,将所述最新版本固件中的最新外部固件和所述历史版本固件中的历史外部固件进行比对,获得外部差异固件,其中,所述外部差异固件中包含新增内容和/或删减内容,将所述内部固件和所述外部差异固件作为升级固件。
在本申请公开的技术方案中,举例说明,假设最新外部固件为V2.0,历史外部固件为V0和V1.0,则将最新外部固件V2.0和历史外部固件V0和V1.0进行比对,获得外部差异固件为:包括版本V1.0相对于版本V0的外部差异固件V1-0、版本V2.0相对于版本V1.0的外部差异固件V2-1,以及版本V2.0相对于版本V0的外部差异固件V2-0;然后再将内部固件和外部差异固件V1-0、V2-1、V2-0作为升级固件。
在本实施例中,获取最新版本固件,及所述最新版本固件中的内部固件;将所述最新版本固件中的最新外部固件和所述历史版本固件中的历史外部固件进行比对,获得外部差异固件,其中,所述外部差异固件中包含新增内容和/或删减内容,将所述内部固件和所述外部差异固件作为升级固件,从而可以得到升级固件,再由服务器将升级固件进行打包生成快速升级固件包,最后将历史版本固件对应的固件版本标识和快速升级固件包进行关联,生成预设固件升级映射表,从而可以根据历史版本固件和预设固件升级映射表,查询得到对应的快速升级固件包,再由服务器将快速升级固件包发送至终端,继而终端可以根据快速升级固件包进行固件升级操作,无需终端升级全部固件,节约了设备固件升级的时间,提高了设备固件升级的效率。
进一步地,在本申请固件升级方法第四实施例中,参照图5,步骤S20包括:
步骤S21,在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,判断是否存在与所述固件版本标识关联的快速升级固件包;
在本申请公开的技术方案中,在所述固件版本标识不是最新版本标识时,可以理解的是,由于预设固件升级映射表中关联了历史版本固件对应的固件版本标识和快速升级固件包,因此通过查询预设固件升级映射表,可以判断是否存在与所述固件版本标识关联的快速升级固件包。
步骤S22,若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件,将所述最新版本固件压缩后发送至所述终端,以使所述终端根据所述最新版本固件进行常规升级;
在本申请公开的技术方案中,比对之后若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件,将所述最新版本固件压缩后作为升级固件发送至所述终端,以使所述终端根据所述最新版本固件进行常规升级。
步骤S23,若存在与所述固件版本标识关联的快速升级固件包,则获取所述固件版本标识对应的快速升级固件包。
在本申请公开的技术方案中,比对之后若存在与所述固件版本标识关联的快速升级固件包,则获取所述固件版本标识对应的快速升级固件包作为升级固件。
在本实施例中,在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,判断是否存在与所述固件版本标识关联的快速升级固件包;若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件,将所述最新版本固件压缩后发送至所述终端,以使所述终端根据所述最新版本固件进行常规升级;若存在与所述固件版本标识关联的快速升级固件包,则获取所述固件版本标识对应的快速升级固件包,从而服务器将快速升级固件包发送至终端,继而终端可以根据快速升级固件包进行固件升级操作,无需终端升级全部固件,节约了设备固件升级的时间,提高了设备固件升级的效率。
参照图6,本申请固件升级方法第五实施例提供另一种固件升级方法,运用在终端,所述固件升级方法包括:
步骤A10,接收服务器发送的快速升级固件包,解压所述快速升级固件包,获得所述快速升级固件包中的升级固件,及所述升级固件的索引信息;
在本申请公开的技术方案中,终端接收服务器发送的快速升级固件包之后,由于快速升级固件包是压缩的,因此需要解压所述快速升级固件包,从而获得所述快速升级固件包中的升级固件,及所述升级固件的索引信息,索引信息包括存储信息、固件类型、固件大小和完整性校验码。
步骤A20,提取所述索引信息中的完整性校验码,根据所述完整性校验码对所述升级固件进行完整性校验;
在本申请公开的技术方案中,完整性校验码指的是可以沿着升级固件的数据是否完整的信息。
步骤A30,在所述升级固件完整性校验不通过时,发送提示信息至服务器,以使服务器发送新的快速升级固件包;
在本申请公开的技术方案中,可以理解的是,为了确保升级结果的准确性和可靠性,在所述升级固件完整性校验不通过时,说明终端接收到的升级固件数据不完整,因此终端会发送提示信息至服务器,以使服务器发送新的快速升级固件包。
步骤A40,在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作;
在本申请公开的技术方案中,可以理解的是,在所述升级固件完整性校验通过时,终端则根据所述升级固件和所述升级固件的索引信息,执行固件烧录操作,也即是烧录该升级固件到终端。
步骤A50,在检测到固件烧录操作完成时,发送烧录反馈信息至服务器。
在本申请公开的技术方案中,终端在检测到固件烧录操作完成时,发送烧录反馈信息至服务器,服务器可以获得终端的固件烧录结果是否成功,其中,烧录反馈信息包括烧录成功和烧录失败。
在本实施例中,终端接收服务器发送的快速升级固件包,继而终端可以根据快速升级固件包进行固件升级操作,无需终端升级全部固件,节约了设备固件升级的时间,提高了设备固件升级的效率。
进一步地,在本申请固件升级方法第六实施例中,参照图7,步骤A40包括:
步骤A41,在所述升级固件完整性校验通过时,获取所述升级固件和所述升级固件的索引信息,根据所述索引信息确定所述升级固件的固件类型;
在本申请公开的技术方案中,可以理解的是,由于索引信息包括存储信息、固件类型、固件大小和完整性校验码,因此根据索引信息可以确定所述升级固件的固件类型,其中,升级固件的固件类型包括外部差异固件和内部固件。
步骤A42,在所述升级固件的固件类型为外部差异固件时,按照所述外部差异固件的索引信息重构所述终端的芯片外部nor flash中的外部固件,将所述外部差异固件烧录到所述终端芯片外部nor flash;
在本申请公开的技术方案中,在所述升级固件的固件类型为外部差异固件时,固件烧录的过程是:按照所述外部差异固件的索引信息重构所述终端的芯片外部nor flash中的外部固件,将所述外部差异固件烧录到所述终端芯片外部nor flash。
步骤A43,在所述升级固件的固件类型为内部固件时,按照所述内部固件的索引信息将所述内部固件烧录到芯片内部flash。
在本申请公开的技术方案中,在所述升级固件的固件类型为内部固件时,固件烧录的过程是:按照所述内部固件的索引信息,将所述内部固件烧录到芯片内部flash。
在本实施例中,在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作,从而无需终端升级全部固件,节约了设备固件升级的时间,提高了设备固件升级的效率。
参照图8,本申请固件升级方法第七实施例提供一种固件升级方法,所述固件升级方法包括:
步骤B10,在接收到服务器发送的最新版本固件时,解压所述最新版本固件,获得所述最新版本固件中的内部固件和外部固件;
在本申请公开的技术方案中,在接收到服务器发送的最新版本固件时,由于为了缩短传输时间,最新版本固件是压缩的,因此需要先解压所述最新版本固件,才获得所述最新版本固件中的内部固件和外部固件。
步骤B20,将所述内部固件烧录到芯片内部flash中,将所述外部固件烧录到所述终端芯片外部nor flash中;
在本申请公开的技术方案中,可以理解的是,获得所述最新版本固件中的内部固件和外部固件之后,需要将所述内部固件对应烧录到芯片内部flash中,将所述外部固件对应烧录到所述终端芯片外部nor flash中。
步骤B30,在检测到所述内部固件和所述外部固件烧录操作完成时,判断固件烧录结果是否成功;
在本申请公开的技术方案中,可以理解的是,为了确保固件烧录的准确性和可靠性,在检测到所述内部固件和所述外部固件烧录操作完成时,需要判断固件烧录结果是否成功。
步骤B40,若所述固件烧录结果为成功,则发送升级成功的提示至服务器并重启;
在本申请公开的技术方案中,若所述固件烧录结果为成功,则发送升级成功的提示至服务器并重启,烧录过程结束。
步骤B50,若所述固件烧录结果为失败,则输出固件异常升级失败的提示至服务器,并退出固件升级流程。
在本申请公开的技术方案中,若所述固件烧录结果为失败,则输出固件异常升级失败的提示至服务器,并退出固件升级流程,烧录过程结束。
在本实施例中,终端在接收到服务器发送的最新版本固件时,解压所述最新版本固件,获得所述最新版本固件中的内部固件和外部固件;将所述内部固件烧录到芯片内部flash中,将所述外部固件烧录到所述终端芯片外部nor flash中;在检测到所述内部固件和所述外部固件烧录操作完成时,判断固件烧录结果是否成功;若所述固件烧录结果为成功,则发送升级成功的提示至服务器并重启;若所述固件烧录结果为失败,则输出固件异常升级失败的提示至服务器,并退出固件升级流程,从而无需终端升级全部固件,节约了设备固件升级的时间,提高了设备固件升级的效率。
本申请还提供一种固件升级系统,所述固件升级系统包括:服务器和终端;
服务器,用于在接收到终端固件升级请求时,服务器获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识;
服务器,用于在所述固件版本标识不是最新版本标识时,服务器查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包,若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件并压缩;
服务器,用于将所述快速升级固件包或所述最新版本固件发送至终端;
终端,用于接收服务器发送的快速升级固件包,解压所述快速升级固件包,获得所述快速升级固件包中的升级固件,及所述升级固件的索引信息;
终端,用于提取所述索引信息中的完整性校验码,根据所述完整性校验码对所述升级固件进行完整性校验;
终端,用于在所述升级固件完整性校验不通过时,发送提示信息至服务器,以使服务器发送新的快速升级固件包;
终端,用于在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作;
终端,用于接收服务器发送的最新版本固件,解压所述最新版本固件获得所述最新版本固件中的内部固件和外部固件,将所述内部固件烧录到芯片内部flash中,将所述外部固件烧录到所述终端芯片外部nor flash中;
终端,用于在检测到固件烧录操作完成时,发送烧录反馈信息至服务器。
本申请还提供一种固件升级设备,所述固件升级设备包括:服务器和/或终端,所述固件升级设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的固件升级程序,所述固件升级程序被所述处理器执行时实现上述的固件升级方法的步骤。
本申请还提供一种计算机存储介质,所述计算机存储介质上存储有固件升级程序,所述固件升级程序被处理器执行时实现上述的固件升级方法的步骤。
在本申请固件升级方法、系统、设备及计算机存储介质的实施例中,包含了上述固件升级方法各实施例的全部技术特征,说明书拓展和解释内容与上述固件升级方法各实施例基本相同,在此不做赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种固件升级方法,其特征在于,所述固件升级方法运用在服务器,所述固件升级方法包括:
在接收到终端固件升级请求时,获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识;
在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包;
将所述快速升级固件包发送至终端,以使所述终端根据所述快速升级固件包进行固件升级操作。
2.如权利要求1所述的固件升级方法,其特征在于,所述在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包的步骤之前,包括:
获取最新版本固件,将所述最新版本固件与历史版本固件进行比对,获得升级固件,其中,所述历史版本固件的版本数量包括一个或多个,所述快速升级固件包中包含内部固件和外部差异固件;
将各所述升级固件压缩后打包,生成包含索引信息的快速升级固件包,其中,所述索引信息包括存储信息、固件类型、固件大小和完整性校验码;
将所述历史版本固件对应的固件版本标识和所述快速升级固件包进行关联,生成预设固件升级映射表。
3.如权利要求2所述的固件升级方法,其特征在于,所述获取最新版本固件,将所述最新版本固件与历史版本固件进行比对,获得升级固件的步骤,包括:
获取最新版本固件,及所述最新版本固件中的内部固件;
将所述最新版本固件中的最新外部固件和所述历史版本固件中的历史外部固件进行比对,获得外部差异固件,其中,所述外部差异固件中包含新增内容和/或删减内容,将所述内部固件和所述外部差异固件作为升级固件。
4.如权利要求1所述的固件升级方法,其特征在于,所述在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包的步骤,包括:
在所述固件版本标识不是最新版本标识时,查询预设固件升级映射表,判断是否存在与所述固件版本标识关联的快速升级固件包;
若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件,将所述最新版本固件压缩后发送至所述终端,以使所述终端根据所述最新版本固件进行常规升级;
若存在与所述固件版本标识关联的快速升级固件包,则获取所述固件版本标识对应的快速升级固件包。
5.一种固件升级方法,其特征在于,所述固件升级方法运用在终端,所述固件升级方法包括:
接收服务器发送的快速升级固件包,解压所述快速升级固件包,获得所述快速升级固件包中的升级固件,及所述升级固件的索引信息;
提取所述索引信息中的完整性校验码,根据所述完整性校验码对所述升级固件进行完整性校验;
在所述升级固件完整性校验不通过时,发送提示信息至服务器,以使服务器发送新的快速升级固件包;
在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作;
在检测到固件烧录操作完成时,发送烧录反馈信息至服务器。
6.如权利要求5所述的固件升级方法,其特征在于,所述在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作的步骤,包括:
在所述升级固件完整性校验通过时,获取所述升级固件和所述升级固件的索引信息,根据所述索引信息确定所述升级固件的固件类型;
在所述升级固件的固件类型为外部差异固件时,按照所述外部差异固件的索引信息重构所述终端的芯片外部nor flash中的外部固件,将所述外部差异固件烧录到所述终端芯片外部nor flash;
在所述升级固件的固件类型为内部固件时,按照所述内部固件的索引信息将所述内部固件烧录到芯片内部flash。
7.如权利要求5所述的固件升级方法,其特征在于,所述固件升级方法的步骤,包括:
在接收到服务器发送的最新版本固件时,解压所述最新版本固件,获得所述最新版本固件中的内部固件和外部固件;
将所述内部固件烧录到芯片内部flash中,将所述外部固件烧录到所述终端芯片外部nor flash中;
在检测到所述内部固件和所述外部固件烧录操作完成时,判断固件烧录结果是否成功;
若所述固件烧录结果为成功,则发送升级成功的提示至服务器并重启;
若所述固件烧录结果为失败,则输出固件异常升级失败的提示至服务器,并退出固件升级流程。
8.一种固件升级系统,其特征在于,所述固件升级系统包括:服务器和终端;
服务器,用于在接收到终端固件升级请求时,服务器获取所述固件升级请求携带的固件版本标识,并判断所述固件版本标识是否为最新版本标识;
服务器,用于在所述固件版本标识不是最新版本标识时,服务器查询预设固件升级映射表,获取所述固件版本标识对应的快速升级固件包,若不存在与所述固件版本标识关联的快速升级固件包,则获取所述最新版本标识对应的最新版本固件并压缩;
服务器,用于将所述快速升级固件包或所述最新版本固件发送至终端;
终端,用于接收服务器发送的快速升级固件包,解压所述快速升级固件包,获得所述快速升级固件包中的升级固件,及所述升级固件的索引信息;
终端,用于提取所述索引信息中的完整性校验码,根据所述完整性校验码对所述升级固件进行完整性校验;
终端,用于在所述升级固件完整性校验不通过时,发送提示信息至服务器,以使服务器发送新的快速升级固件包;
终端,用于在所述升级固件完整性校验通过时,根据所述升级固件和所述升级固件的索引信息执行固件烧录操作;
终端,用于接收服务器发送的最新版本固件,解压所述最新版本固件获得所述最新版本固件中的内部固件和外部固件,将所述内部固件烧录到芯片内部flash中,将所述外部固件烧录到所述终端芯片外部nor flash中;
终端,用于在检测到固件烧录操作完成时,发送烧录反馈信息至服务器。
9.一种固件升级设备,其特征在于,所述固件升级设备包括:服务器和/或终端,所述固件升级设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的固件升级程序,所述固件升级程序被所述处理器执行时实现如权利要求1至7中任一项所述的固件升级方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有固件升级程序,所述固件升级程序被处理器执行时实现如权利要求1至7中任一项所述的固件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010690382.0A CN111796853A (zh) | 2020-07-16 | 2020-07-16 | 固件升级方法、系统、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010690382.0A CN111796853A (zh) | 2020-07-16 | 2020-07-16 | 固件升级方法、系统、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111796853A true CN111796853A (zh) | 2020-10-20 |
Family
ID=72807487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010690382.0A Pending CN111796853A (zh) | 2020-07-16 | 2020-07-16 | 固件升级方法、系统、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796853A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230969A (zh) * | 2020-12-17 | 2021-01-15 | 飞天诚信科技股份有限公司 | 固件升级过程中对用户空间存储区格式化的方法及设备 |
CN114265606A (zh) * | 2022-03-02 | 2022-04-01 | 龙旗电子(惠州)有限公司 | 固件升级方法、装置、设备及存储介质 |
CN114440389A (zh) * | 2022-01-21 | 2022-05-06 | 佛山市钒音科技有限公司 | 空调器及其升级方法、计算机设备和计算机可读存储介质 |
WO2022095199A1 (zh) * | 2020-11-05 | 2022-05-12 | 歌尔股份有限公司 | 一种嵌入式设备的差分升级方法及相关组件 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155847A (en) * | 1988-08-03 | 1992-10-13 | Minicom Data Corporation | Method and apparatus for updating software at remote locations |
CN1996304A (zh) * | 2006-12-28 | 2007-07-11 | 杭州华为三康技术有限公司 | 嵌入式设备的Web资源文件的处理方法及装置 |
CN106020861A (zh) * | 2016-05-05 | 2016-10-12 | 惠州Tcl移动通信有限公司 | 一种智能手表的fota升级方法及系统 |
CN106603311A (zh) * | 2017-01-18 | 2017-04-26 | 北京洋浦伟业科技发展有限公司 | Ota升级方法、客户端、服务器和系统 |
US20190391800A1 (en) * | 2018-06-20 | 2019-12-26 | Aptiv Technologies Limited | Over-the-air (ota) mobility services platform |
CN111381848A (zh) * | 2018-12-29 | 2020-07-07 | 华为技术有限公司 | 资源文件的更新方法、装置、设备及存储介质 |
-
2020
- 2020-07-16 CN CN202010690382.0A patent/CN111796853A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155847A (en) * | 1988-08-03 | 1992-10-13 | Minicom Data Corporation | Method and apparatus for updating software at remote locations |
CN1996304A (zh) * | 2006-12-28 | 2007-07-11 | 杭州华为三康技术有限公司 | 嵌入式设备的Web资源文件的处理方法及装置 |
CN106020861A (zh) * | 2016-05-05 | 2016-10-12 | 惠州Tcl移动通信有限公司 | 一种智能手表的fota升级方法及系统 |
CN106603311A (zh) * | 2017-01-18 | 2017-04-26 | 北京洋浦伟业科技发展有限公司 | Ota升级方法、客户端、服务器和系统 |
US20190391800A1 (en) * | 2018-06-20 | 2019-12-26 | Aptiv Technologies Limited | Over-the-air (ota) mobility services platform |
CN110618671A (zh) * | 2018-06-20 | 2019-12-27 | 安波福技术有限公司 | 空中(ota)移动服务平台 |
CN111381848A (zh) * | 2018-12-29 | 2020-07-07 | 华为技术有限公司 | 资源文件的更新方法、装置、设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022095199A1 (zh) * | 2020-11-05 | 2022-05-12 | 歌尔股份有限公司 | 一种嵌入式设备的差分升级方法及相关组件 |
CN112230969A (zh) * | 2020-12-17 | 2021-01-15 | 飞天诚信科技股份有限公司 | 固件升级过程中对用户空间存储区格式化的方法及设备 |
CN112230969B (zh) * | 2020-12-17 | 2021-07-02 | 飞天诚信科技股份有限公司 | 固件升级过程中对用户空间存储区格式化的方法及设备 |
CN114440389A (zh) * | 2022-01-21 | 2022-05-06 | 佛山市钒音科技有限公司 | 空调器及其升级方法、计算机设备和计算机可读存储介质 |
CN114265606A (zh) * | 2022-03-02 | 2022-04-01 | 龙旗电子(惠州)有限公司 | 固件升级方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8719810B2 (en) | Program upgrade system and method for over the air-capable mobile terminal | |
CN111796853A (zh) | 固件升级方法、系统、设备及计算机存储介质 | |
CN107179909B (zh) | 软件升级方法、装置及计算机可读存储介质 | |
US20070294685A1 (en) | Program upgrade system and method for ota-capable portable device | |
WO2017067448A1 (zh) | 一种无线固件升级方法、系统及计算机存储介质 | |
US7401065B2 (en) | System for downloading contents, and client terminal for downloading contents from contents server | |
CN106815370B (zh) | 更新资源文件的方法、装置和系统 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN109558320B (zh) | 系统测试方法、装置、系统、设备及计算机可读存储介质 | |
CN102946600B (zh) | 一种移动终端参数固件升级方法及系统 | |
US20130152069A1 (en) | Method, apparatus and system for initiating terminal operation | |
CN110162964B (zh) | 一种文件篡改的检查方法、装置及系统 | |
CN111538523A (zh) | 差分升级方法、设备及存储介质 | |
CN111897846A (zh) | 缓存数据校验方法、装置、设备及存储介质 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN109002305B (zh) | 一种设备程序的更新方法及其系统 | |
CN110502263B (zh) | 升级包制作方法、系统及计算机可读存储介质 | |
CN109710287B (zh) | 一种热更新方法、装置及计算机存储介质 | |
CN104158907A (zh) | 应用程序文件下载方法及装置 | |
CN105872106A (zh) | 空中下载升级方法、空中下载服务器及终端 | |
CN115934156A (zh) | Api接口版本自动匹配方法、装置、设备及存储介质 | |
CN112685102B (zh) | 一种网关插件热加载方法、装置、设备及介质 | |
CN115129348A (zh) | 应用程序的资源更新方法、装置、设备及可读存储介质 | |
CN113609526A (zh) | 一种操作系统的升级方法、装置及设备 | |
CN112711430A (zh) | 基于adb的非网络设备升级方法、系统及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |