掌桥专利:专业的专利平台
掌桥专利
首页

固件升级方法及装置、计算设备、存储介质

文献发布时间:2023-06-19 18:34:06


固件升级方法及装置、计算设备、存储介质

技术领域

本申请涉及计算设备的升级技术,尤其涉及一种固件升级方法及装置、计算设备、存储介质。

背景技术

目前计算设备在进行固件升级时,一般是根据计算设备的类型到计算设备供应商下载对应类型的固件,再逐一升级。随着计算设备的类型不断增多,计算设备对应多种计算设备固件。这将导致计算设备在进行固件升级时,需要多次固件的下载及升级,导致固件升级的不便。

发明内容

有鉴于此,本申请提供一种固件升级方法及装置、计算设备、存储介质,以至少解决前述的技术问题。

根据本申请实施例的第一方面,提供一种固件升级方法,所述方法包括:

获取多个固件更新文件,在所述多个固件更新文件中选择至少两个固件更新文件,根据所选择的至少两个固件更新文件的属性信息,按照设定文件填充格式,将所述至少两个固件更新文件及所述属性信息插入所述设定文件填充格式对应的信息元,生成单个升级文件。

在一些实施例中,所述设定文件填充格式包括以下至少之一:

文件头格式、项目属性格式、数据格式。

在一些实施例中,所述文件头格式包括以下至少之一:固件更新文件的版本号、项目数量、校验码、固件更新文件的位置、保留位。

在一些实施例中,所述项目属性格式包括以下至少之一:项目属性、属性长度、项目所代表的固件更新文件位置、固件更新文件大小、保留位。

在一些实施例中,所述方法还包括:

计算设备通过所述计算设备的升级接口访问升级文件;

解析所述升级文件,获取所述升级文件中的项目信息;

在确定所述项目信息与所述计算设备中的固件信息匹配的情况下,提取与所述项目信息匹配的固件升级文件,对所述计算设备的固件进行升级。

根据本申请实施例的第三方面,提供一种固件升级装置,包括:

获取单元,用于获取多个固件更新文件;

选择单元,用于在所述多个固件更新文件中选择至少两个固件更新文件,根据所选择的至少两个固件更新文件的属性信息;

生成单元,用于按照设定文件填充格式,将所述至少两个固件更新文件及所述属性信息插入所述设定文件填充格式对应的信息元,生成单个升级文件。

在一些实施例中,所述设定文件填充格式包括以下至少之一:

文件头格式、项目属性格式、数据格式。

在一些实施例中,所述文件头格式包括以下至少之一:固件更新文件的版本号、项目数量、校验码、固件更新文件的位置、保留位。

在一些实施例中,所述项目属性格式包括以下至少之一:项目属性、属性长度、项目所代表的固件更新文件位置、固件更新文件大小、保留位。

在一些实施例中,所述装置还包括:

访问单元,用于通过所述计算设备的升级接口访问升级文件;

获取单元,用于解析所述升级文件,获取所述升级文件中的项目信息;

升级单元,用于在确定所述项目信息与所述计算设备中的固件信息匹配的情况下,提取与所述项目信息匹配的固件升级文件,对所述计算设备的固件进行升级。

根据本公开实施例的第三方面,提供一种电子设备,包括处理器和用于存储处理器可执行指令的存储器,所述处理器被配置为在调用存储器中的可执行指令时,能够执行所述的固件升级方法的步骤。

根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行所述的固件升级方法的步骤。

本申请实施例中,通过将多个固件更新文件按照设定文件填充格式进行封装,生成单个的升级文件。这样,在计算设备进行固件升级时,可以根据自身设置的固件信息在升级文件中进行相关信息匹配,在升级文件中获取匹配的固件升级文件,对计算设备的固件进行升级。本申请实施例通过一个或数量有限的几个升级文件,即可几乎所有类型的固件更新文件封装于升级文件,计算设备仅通过升级文件即可确定自身的固件是否需要升级,也可获取到待升级固件的固件更新文件,实现相应的固件的升级。本申请实施例提升了固件升级的效率,计算设备中的各固件可同步升级,固件升级更便捷。

附图说明

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

图1为本申请实施例的固件升级方法的流程示意图;

图2为本申请实施例的升级文件的结构示意图;

图3为本申请实施例的固件升级方法的流程示意图;

图4为本申请实施例的固件升级方法的流程示意图;

图5为本申请实施例的固件升级方法的流程示意图;

图6为本申请实施例的固件升级装置的组成结构示意图;

图7为本申请实施例的固件升级装置的组成结构示意图;

图8为本申请实施例的计算设备的组成结构示意图。

具体实施方式

以下结合附图,详细阐明本申请实施例技术方案的实质。

图1为本申请实施例的固件升级方法的流程示意图,如图1所示,本申请实施例的固件升级方法包括以下处理步骤:

步骤101,获取多个固件更新文件,在所述多个固件更新文件中选择至少两个固件更新文件。

本申请实施例中,通过固件更新文件接口获取工程人员编写的固件更新文件,或者,工程人员也可以通过固件更新文件接口上传所编辑的固件更新文件。编译成功后文件会传送到管理信息系统(Management Information System,MIS)进行审核,如对固件更新文件的大小、属性等进行审核。审核通过后审核通过后再选择需要生成升级文件的多个固件更新文件,进行文件的封装。

步骤102,根据所选择的至少两个固件更新文件的属性信息,按照设定文件填充格式,将所述至少两个固件更新文件及所述属性信息插入所述设定文件填充格式对应的信息元,生成单个升级文件。

本申请实施例中,所述设定文件填充格式包括以下至少之一:文件头格式、项目属性格式、数据格式。所述文件头格式包括以下至少之一:固件更新文件的版本号、项目数量、校验码、固件更新文件的位置、保留位。所述项目属性格式包括以下至少之一:项目属性、属性长度、项目所代表的固件更新文件位置、固件更新文件大小、保留位。

图2为本申请实施例的升级文件的结构示意图,如图2所示,作为一种示例,升级文件可以包含文件头(header)格式、项目(Item)属性格式、数据格式。Header部分填充有升级文件的控制信息,Item部分填充固件更新文件的具体项目属性信息,数据部分填充具体的固件更新文件。本申请实施例的升级文件称为N合1升级文件,即将任意数量的固件更新文件封装于1个升级文件中。

Header格式主要描述固件更新文件的版本号、项目(Item)数量、固件更新文件校验码等,Header格式的固定长度为40byte。Header格式的实现可以参考表1中的数据结构。

表1

项目(Item)格式描述项目(Item)属性,项目所代表的固件更新文件的位置,固件更新文件大小。通过设置保留信息元,可以新增相应的属性信息填充项目,项目格式固定长度为239byte。以N合1升级文件为16Kbyte为例,存储相应的项目的话,最多可以存储68个项目(Item)。表2示出了项目(Item)格式的实现数据结构。

表2

图3为本申请实施例的固件升级方法的流程示意图,如图3所示,本申请实施例的固件升级方法包括以下处理步骤:

S301,由开发人员开发固件1、固件2、固件3等多个编译程序。

这里仅为示例,开发的固件的数量可以为任意数量。作为一种实现方式,可以通过Jenkins进行固件编译操作。其中,Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作。

S302,编译成功后将多个固件文件传送到Mis系统进行审核。

S303,审核通过后在Mis系统上选择固件1、固件2、固件3等多个固件,添加固件相关属性信息,通过N合1打包工具生成N合1升级包文件。

S304,将N合1升级包文件上载到后台服务器。

本申请实施例中的升级包文件的具体数据结构参见前述的表1及表2所示,这里不再赘述其细节。Mis系统对进行固件文件进行审核主要包括对文件的完整性、文件后缀、大小等进行审核。

在前述图1所示的固件升级方法的基础上,计算设备可以通过访问固件升级文件所在的后台服务器,实现升级,具体包括:

计算设备通过所述计算设备的升级接口访问升级文件;

解析所述升级文件,获取所述升级文件中的项目信息;

在确定所述项目信息与所述计算设备中的固件信息匹配的情况下,提取与所述项目信息匹配的固件升级文件,对所述计算设备的固件进行升级。

以下通过图4,详细阐述计算设备基于后台服务器进行固件升级的具体实现方式。

图4为本申请实施例的固件升级方法的流程示意图,如图4所示,本申请实施例的固件升级方法包括以下处理步骤:

步骤401,计算设备通过所述计算设备的升级接口访问升级文件。

这里的升级接口包括网络连接接口,如无线网络接口或有限网络接口等。

步骤402,解析所述升级文件,获取所述升级文件中的项目信息。

本申请实施例中,通过如表1和表2所示的升级文件的数据结构解析出升级文件的相关数据,并获取升级文件中的项目信息。

步骤403,在确定所述项目信息与所述计算设备中的固件信息匹配的情况下,提取与所述项目信息匹配的固件升级文件,对所述计算设备的固件进行升级。

图5为本申请实施例的固件升级方法的流程示意图,如图5所示,本申请实施例的固件升级方法包括以下处理步骤:

S501、用户通过计算设备升级页面选择N合1升级固件。

S502、获取计算设备的类型信息。

S503、N合1文件解析程序查询N合1文件中的Item信息;确定N合1文件中的Item信息是否与计算设备中的固件的信息匹配。

S504、匹配成功的情况下,根据N合1文件中的Item提取数据。匹配失败的情况下,结束当前处理。

S505、匹配成功后将计算设备提取N合1文件中的升级固件数据发送到计算设备后台服务器,上传升级数据,完成升级数据上载。

本申请实施例中,计算设备可以包括具有运算能力的计算机、服务器等。

图6为本申请实施例的固件升级装置的组成结构示意图,如图6所示,本申请实施例的固件升级装置包括:

获取单元60,用于获取多个固件更新文件;

选择单元61,用于在所述多个固件更新文件中选择至少两个固件更新文件,根据所选择的至少两个固件更新文件的属性信息;

生成单元62,用于按照设定文件填充格式,将所述至少两个固件更新文件及所述属性信息插入所述设定文件填充格式对应的信息元,生成单个升级文件。

在一些实施例中,所述设定文件填充格式包括以下至少之一:

文件头格式、项目属性格式、数据格式。

在一些实施例中,所述文件头格式包括以下至少之一:固件更新文件的版本号、项目数量、校验码、固件更新文件的位置、保留位。

在一些实施例中,所述项目属性格式包括以下至少之一:项目属性、属性长度、项目所代表的固件更新文件位置、固件更新文件大小、保留位。

在图6所示的固件升级装置的基础上,本申请实施例的固件升级装置还可以包括:

访问单元(图6中未示出),用于通过所述计算设备的升级接口访问升级文件;

获取单元(图6中未示出),用于解析所述升级文件,获取所述升级文件中的项目信息;

升级单元(图6中未示出),用于在确定所述项目信息与所述计算设备中的固件信息匹配的情况下,提取与所述项目信息匹配的固件升级文件,对所述计算设备的固件进行升级。

在示例性实施例中,获取单元60、选择单元61、生成单元62、访问单元、获取单元、升级单元等可以被一个或多个中央处理器(CPU,Central Processing Unit)、图形处理器(GPU,Graphics Processing Unit)、基带处理器(BP,Base Processor)、应用专用集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器(Digital SignalProcessor,DSP)、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro ControllerUnit)、微处理器(Microprocessor)、或其他电子元件实现。

在本公开实施例中,图6示出的固件升级装置中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请实施例还记载了应用于计算设备中的固件升级装置,以下详细阐述之。

图7为本申请实施例的固件升级装置的组成结构示意图,如图7所示,本申请实施例的固件升级装置应用于计算设备中,所述装置包括:

访问单元70,用于通过所述计算设备的升级接口访问升级文件;

获取单元71,用于解析所述升级文件,获取所述升级文件中的项目信息;

升级单元72,用于在确定所述项目信息与所述计算设备中的固件信息匹配的情况下,提取与所述项目信息匹配的固件升级文件,对所述计算设备的固件进行升级。

在示例性实施例中,访问单元70、获取单元71、升级单元72等可以被一个或多个中央处理器(CPU,Central Processing Unit)、图形处理器(GPU,Graphics ProcessingUnit)、基带处理器(BP,Base Processor)、应用专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)、数字信号处理器(Digital Signal Processor,DSP)、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现。

在本公开实施例中,图7示出的固件升级装置中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图8为本申请实施例的计算设备800的框图,如图8所示,计算设备800支持多屏输出,计算设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制计算设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在计算设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为计算设备800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为计算设备800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述计算设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当计算设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为计算设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为计算设备800的显示器和小键盘,传感器组件814还可以检测计算设备800或计算设备800一个组件的位置改变,用户与计算设备800接触的存在或不存在,计算设备800方位或加速/减速和计算设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于计算设备800和其他设备之间有线或无线方式的通信。计算设备800可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,计算设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例的所述的计算设备的测试方法的步骤。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由计算设备800的处理器820执行以完成上述实施例的所述的计算设备的测试方法的步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

本公开实施例还记载了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的所述的计算设备的测试方法的步骤。

以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。

本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。

还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

技术分类

06120115616943