CN114968294A - 设备的固件升级方法及装置、电子设备、存储介质 - Google Patents
设备的固件升级方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN114968294A CN114968294A CN202110217726.0A CN202110217726A CN114968294A CN 114968294 A CN114968294 A CN 114968294A CN 202110217726 A CN202110217726 A CN 202110217726A CN 114968294 A CN114968294 A CN 114968294A
- Authority
- CN
- China
- Prior art keywords
- firmware
- module
- upgraded
- package
- latest
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 230000002452 interceptive effect Effects 0.000 claims description 27
- 238000001514 detection method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000009434 installation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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
技术领域
本申请涉及计算机技术领域,特别是涉及设备的固件升级方法及装置、电子设备、存储介质。
背景技术
一个整机设备通常包括多个独立的模块,例如,现金票据一体机中包含有机芯模块、票据模块、身份证扫描仪模块、读卡器模块等等;各模块有单独开发的固件升级包。在工作人员进行新装机时,需要单独下载各个模块的升级包,确定各个模块的最新版本发布情况;还需要确定各个模块的模块型号及核对使用的固件版本;然后在模块状态连接正常的情况下进行升级,升级完毕后需要人工校验查看版本是否升级正常;对于存在配置文件的模块,在升级完毕后,配置文件会被新升级覆盖,需要人工手动修改;显然,现有技术中对于包含多模块的整机设备的升级过程较为繁琐,当需要升级的模块较多时,还容易产生遗漏的情况。
发明内容
鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的设备的固件升级方法及装置、电子设备、存储介质,包括:
一种固件升级方法,所述设备包括多个模块,所述方法包括:
获取全量固件升级包,所述全量固件升级包中包含所述多个模块的最新固件包;
检测各个所述模块的状态信息,并判断所述状态信息是否符合预设状态条件;
将所述状态信息符合所述预设状态条件的模块确定为待升级模块,并根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级。
可选地,所述根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级的步骤,包括:
获取所述全量固件升级包中与所述待升级模块对应的最新固件包的最新固件版本;
获取所述待升级模块的本地固件版本;
若所述本地固件版本与所述最新固件版本不一致,则根据所述最新固件包对所述待升级模块进行固件升级。
可选地,所述若所述本地固件版本与所述最新固件版本不一致,则根据所述最新固件包对所述待升级模块进行固件升级的步骤,还包括:
在交互界面展示所述待升级模块的本地固件版本和最新固件版本;
接收对所述待升级模块的升级指令,判断所述待升级模块的本地固件版本与所述最新固件版本是否一致;
若否,则根据所述最新固件包对所述待升级模块进行固件升级。
可选地,所述最新固件包中包括第一配置文件,所述根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级的步骤,还包括:
当所述待升级模块存在本地配置文件时,获取所述本地配置文件的本地配置项;
将所述第一配置文件中不同于所述本地配置项的第一配置项及对应的第一配置项值存入所述本地配置文件。
可选地,所述方法还包括:
检测所述最新固件包是否包含强制配置项的特殊配置文件;
若是,则获取所述特殊配置文件的强制配置项及对应的强制配置项值;
采用所述强制配置项的强制配置项值替换所述本地配置文件中与所述强制配置项相同的本地配置项的本地配置项值。
可选地,所述方法还包括:
在所述待升级模块的固件升级结束后,判断所述待升级模块的固件升级是否成功;
若否,则将所述待升级模块的固件版本回退至所述本地固件版本。
可选地,所述方法还包括:
在所述设备的多个待升级模块的固件升级结束后,获取各个所述待升级模块的当前固件版本;
依据所述当前固件版本和对应的最新固件版本,判断所述待升级模块是否升级成功,得到判断结果;
将判断结果以及各个所述待升级模块的当前固件版本展示在交互界面中。
一种固件升级装置,所述设备包括多个模块,所述装置包括:
固件包获取模块,用于获取全量固件升级包,所述全量固件升级包中包含所述多个模块的最新固件包;
状态检测模块,用于检测各个所述模块的状态信息,并判断所述状态信息是否符合预设状态条件;
固件升级模块,用于将所述状态信息符合所述预设状态条件的模块确定为待升级模块,并根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级。
可选地,所述固件升级模块,包括:
第一版本获取模块,用于获取所述全量固件升级包中与所述待升级模块对应的最新固件包的最新固件版本;
第二版本获取模块,用于获取所述待升级模块的本地固件版本;
判断升级模块,用于若所述本地固件版本与所述最新固件版本不一致,则根据所述最新固件包对所述待升级模块进行固件升级。
可选地,所述判断升级模块,还包括:
第一显示模块,用于在交互界面展示所述待升级模块的本地固件版本和最新固件版本;
指令接收模块,用于接收对所述待升级模块的升级指令,判断所述待升级模块的本地固件版本与所述最新固件版本是否一致;
指令升级模块,用于若所述本地固件版本与所述最新固件版本不一致,,则根据所述最新固件包对所述待升级模块进行固件升级。
可选地,所述最新固件包中包括第一配置文件,所述固件升级模块403,包括:
本地配置获取模块,用于当所述待升级模块存在本地配置文件时,获取所述本地配置文件的本地配置项;
本地配置第一更新模块,用于将所述第一配置文件中不同于所述本地配置项的第一配置项及对应的第一配置项值存入所述本地配置文件。
可选地,所述固件升级模块,还包括:
特殊配置检测模块,用于检测所述最新固件包是否包含强制配置项的特殊配置文件;
本地配置第二更新模块,用于若所述最新固件包包含强制配置项的配置文件,则采用所述强制配置项和对应的配置配置项值更新所述本地配置文件。
可选地,所述装置还包括:
第一检测判断模块,用于在所述待升级模块的固件升级结束后,判断所述待升级模块的固件升级是否成功;
版本回退模块,用于若所述待升级模块的固件升级失败,则将所述待升级模块的固件版本回退至所述本地固件版本。
可选地,所述装置还包括:
第三版本获取模块,用于在所述设备的多个待升级模块的固件升级结束后,获取各个所述待升级模块的当前固件版本;
第二检测判断模块,用于依据所述当前固件版本和对应的最新固件版本,判断所述待升级模块是否升级成功,得到判断结果;
升级结果展示模块,用于将判断结果以及各个所述待升级模块的当前固件版本展示在交互界面中。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的固件升级方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的固件升级方法的步骤。
本申请具有以下优点:
本申请实施例提供一种包含多模块的设备的固件升级方法,通过获取包含多个模块的最新固件包的全量固件升级包,检测各个模块的状态信息,并判断状态信息是否符合预设状态条件,将状态信息符合预设状态条件的模块确定为待升级模块,并根据全量固件升级包中与待升级模块对应的最新固件包对待升级模块进行固件升级;本申请实施例以全量固件升级包的方式管理多模块产品的固件升级包,实现了一次下载可以获得设备各个模块的最新固件包,可以减少下载操作次数,减轻工作人员升级困难的问题;并且,在固件升级前对各个模块状态进行检测,可以有效避免升级遗漏的情况,可靠性高,也可以提高对包含多模块的设备的固件升级效率,便于后期维护。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的一种设备的固件升级方法的步骤流程图;
图2为本申请实施例的一交互界面示意图;
图3为本申请实施例的多个待升级模块依次进行固件升级的流程示意图;
图4为本申请实施例的一种设备的固件升级装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图1,示出了本申请一实施例提供的一种设备的固件升级方法的步骤流程图,该方法适用于对包括多模块的设备进行固件升级,该设备可以是金融自助设备,如智能柜员机。当然也可以应用于其他设备的固件升级,如手机终端等。该方法可以由固件升级装置来执行,该装置可以采用软件和/或硬件的方式实现,该装置可以集成于上述需要进行固件升级的多模块的设备中。
在本申请实施例中,上述一种设备的固件升级方法具体可以包括如下步骤:
步骤101,获取全量固件升级包,所述全量固件升级包中包含所述多个模块的最新固件包;
步骤102,检测各个所述模块的状态信息,并判断所述状态信息是否符合预设状态条件;
步骤103,将所述状态信息符合所述预设状态条件的模块确定为待升级模块,并根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级。
本申请实施例通过获取包含多个模块的最新固件包的全量固件升级包,检测各个模块的状态信息,并判断状态信息是否符合预设状态条件,将状态信息符合预设状态条件的模块确定为待升级模块,并根据全量固件升级包中与待升级模块对应的最新固件包对待升级模块进行固件升级;实现了一次下载可以获得设备各个模块的最新固件包,可以减少下载操作次数;并且,在固件升级前对各个模块状态进行检测,可以有效避免升级遗漏的情况,也可以提高对包含多模块的设备的固件升级效率。
下面,将结合图2至图3对本示例性实施例中一种设备的固件升级方法作进一步地说明。
在步骤101中,获取全量固件升级包,所述全量固件升级包中包含所述多个模块的最新固件包。
一般地,多模块设备中的各个模块在进行固件升级的过程是相互独立的,因此,在实际操作中,需要单独下载各个模块的固件包,导致设备与服务器的交互次数较多,存在时间和网络资源浪费现象。
在本申请实施例中,在对包含多模块的设备进行固件升级之前,可以预先从服务器下载包含该设备的各个模块固件包的全量固件升级包,以实现通过一次下载即可满足多个模块的固件升级的需求。
可选地,全量固件升级包中可以包含该设备的预设模块的固件包,其中,预设模块可以是设备包含的全部模块或部分模块,具体可以由全量固件升级包中的配置文件决定,即开发人员可以通过设置全量固件升级包的配置文件中设备的产品型号与其需要安装的多个模块的模块类型的对应关系来决定预设模块。
具体地,相同类型设备的多个模块固件包在发布时可以进行合并,打包成全量固件升级包,通过全量固件升级包的方式进行发布。当需要对设备进行固件升级时,可以从服务器下载对应的全量固件升级包。需要说明的是,各个模块升级周期可以不同,当任意一个模块固件包发布新版本时,将新版本的固件包替换全量固件升级包中的相同模块的固件包,以更新全量固件升级包,确保全量固件升级包中的固件包是最新的。
在一可选实施例中,多个模块的固件包在发布时没有打包成全量固件升级包,可以由设备向服务器发送该设备的产品型号,服务器根据预先存储的产品型号与多个模块类型的对应关系,可以确定该设备的各个模块的模块类型,进而将各个模块已发布的固件包进行打包生成全量固件升级包,返回设备。
在步骤102中,检测各个所述模块的状态信息,并判断所述状态信息是否符合预设状态条件。
在对各个模块进行固件升级之前,需要检测各个模块的状态信息是否符合预设状态条件。
具体地,设备中装载有升级程序,升级程序启动后可以将全量固件升级包中的各个模块的固件包释放到预设的临时目录下,通过加载各个模块的业务库来与对应模块进行通信连接,以检测模块的状态信息。
可选地,升级程序启动后,可以在设备的显示屏上显示交互界面,该交互界面上包括多个产品型号的型号控件,用户可以根据设备的实际产品型号选择触发其中与实际产品型号对应的型号控件,升级程序根据全量固件升级包的配置文件中设备的产品型号与其预设模块的模块类型的对应关系确定需要检测的模块类型,进而加载该模块类型的业务库来与对应模块进行通信连接,以检测模块的状态信息。同时可以在交互界面中显示该设备的预设模块的模块类型,如图2所示。由于全量固件升级包中可以包含该设备的多个模块外的其他模块的固件包,因此,通过该方式不需要对全量固件升级包对应的所有模块进行状态检测,只需要检测该进行固件升级的设备对应的模块,以便节省时间。
当通信连接成功时,说明该模块的状态信息为在线,当通信连接不成功时,说明该模块的状态信息为不在线。预设状态条件可以是在线状态,即判断各个模块的状态信息是否是在线状态。
当模块的状态信息不符合预设状态条件时,说明该模块不可以进行固件升级,可以同时在交互界面中展示该模块的状态信息,以提示用户对该模块进行排查。
需要说明的是,交互界面中也可以同时展示状态信息符合预设状态条件的模块的状态信息。
如图2所示,图2示出了本申请实施例的一交互界面示意图;在交互界面中可以展示多模块设备中各个预设模块的类型、检测方式、型号以及模块状态检测的触发控件。当检测方式为自动检测时,表示当升级程序检测到对应模块的新版本固件包时,可以对该模块自动进行固件升级;当检测方式为手动选择时,表示对应模块需要用户执行相关操作才可以进行固件升级;当检测方式为不安装时,表示对应模块不进行固件升级。需要说明的是,检测方式可以由用户根据实际需求在该界面中进行更改,当然也可以通过修改相关的配置文件来更改模块的检测方式,本申请对此不作限制。
一般地,当模块的状态信息不符合预设状态条件时,可以在图2所示的交互界面中通过背景颜色或者字体颜色等方式提示用户该模块的状态信息不符合预设状态条件,例如,可以将状态信息不符合预设状态条件的模块的背景颜色从初始的白色渲染成红色;而对于状态信息符合预设状态条件的模块的背景颜色可以保持初始的白色,或者将初始的白色渲染成绿色,等。每个模块都对应有一个触发模块检测的检测控件,用户可以通过触发检测控件,实现对对应模块的状态信息进行再次检测,一般在用户对状态信息不符合预设状态条件的模块进行排查后,通过触发对应的检测控件,以再次对该模块进行检测。
在步骤103中,将所述状态信息符合所述预设状态条件的模块确定为待升级模块,并根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级。
将状态信息为在线的模块确定为待升级模块,当待升级模块设置为自动检测升级时,可以根据全量固件升级包中与待升级模块对应的最新固件包对该待升级模块进行固件升级。
上述根据全量固件升级包中与待升级模块对应的最新固件包对该待升级模块进行固件升级的过程可以包括如下步骤:
获取所述全量固件升级包中与所述待升级模块对应的最新固件包的最新固件版本;
获取所述待升级模块的本地固件版本;
若所述本地固件版本与所述最新固件版本不一致,则根据所述最新固件包对所述待升级模块进行固件升级。
具体地,升级程序启动后,可以从全量固件升级包中获取各个模块的最新固件包的固件版本,即模块的最新固件版本,进而从中提取中待升级模块对应的最新固件版本。
可选地,升级程序也可以根据接收的型号控件确定设备对应的模块,从全量固件升级包中获取与设备对应的模块的最新固件版本,进而从中提取出待升级模块对应的最新固件版本。
由于待升级模块处于在线状态,因此,可以与待升级模块进行通信,以获取待升级模块的本地固件版本。
比较各个待升级模块的最新固件版本和本地固件版本是否一致,若一致,说明该待升级模块的当前固件版本是最新的,不需要进行固件升级,可以删除预设临时目录下对应的最新固件包;若不一致,则说明该待升级模块的当前固件版本不是最新的,可以进行固件升级,进而采用全量固件升级包中与该待升级模块对应的最新固件包对该待升级模块进行固件升级。
进一步地,由于实际应用中,存在部分模块固件不适于自动升级方式,因此,在一可选实施例中,上述若所述本地固件版本与所述最新固件版本不一致,则根据所述最新固件包对所述待升级模块进行固件升级的过程,还包括:
在交互界面展示所述待升级模块的本地固件版本和最新固件版本;
接收对所述待升级模块的升级指令,判断所述待升级模块的本地固件版本与所述最新固件版本是否一致;
若否,则根据所述最新固件包对所述待升级模块进行固件升级。
具体地,在获取到待升级模块的本地固件版本和最新固件版本后,可以在交互界面展示各个待升级模块的固件版本信息,即展示待升级模块的本地固件版本和最新固件版本信息。用户可以通过交互界面中的升级选择控件来选择需要进行固件升级的待升级模块;当接收到针对其中一个或多个待升级模块的升级指令时,依次判断每个带升级模块的本地固件版本与最新固件版本是否一致,若一致,则不需要进行固件升级,可以删除预设临时目录下对应的最新固件包;若不一致,则采用最新固件包对待升级模块进行固件升级。
进一步地,待升级模块一般有多个,多个待升级模块可以依次进行固件升级。具体地,可以按照各个待升级模块在全量固件升级包的配置文件中的顺序依次进行固件升级。在每个待升级模块固件升级结束后,判断其固件升级是否成功,若不成功,则将该待升级模块的固件版本回退至固件升级前的本地固件版本。
其中,判断待升级模块的固件升级是否成功可以通过比较待升级模块的当前固件版本和最新固件版本是否一致,若一致,则说明固件升级成功;若不一致,则说明固件升级失败。需要说明的时,当前固件版本是指待升级模块完成固件升级过程后的固件版本。
示例性地,如图3所示,本示例中待升级模块有M个,N表示当前进行固件升级的待升级模块的序号,N从1开始,多个待升级模块依次进行固件升级的过程如下:
步骤301,对第N个待升级模块进行固件;
步骤302,判断第N个待升级模块固件升级是否成功;若成功,则执行步骤304;若不成功,则执行步骤303;
步骤303,将第N个待升级模块的固件版本回退至固件升级之前的本地固件版本;
步骤304,判断N与M是否相等,即判断待升级模块是否全部升级完成;若是,说明设备的多个待升级模块全部升级完成,则执行步骤306;若否,则执行步骤305;
步骤305,N自增1,并返回步骤301;
步骤306,升级结束。
进一步地,在本申请一可选实施例中,为了方便用户了解设备的固件升级的结果,在设备的多个待升级模块全部升级完成后,可以将各个待升级模块的固件升级结果展示在交互界面中。具体步骤如下:
在所述设备的多个待升级模块的固件升级结束后,获取各个所述待升级模块的当前固件版本;
依据所述当前固件版本和对应的最新固件版本,判断所述待升级模块是否升级成功,得到判断结果;
将判断结果以及各个所述待升级模块的当前固件版本展示在交互界面中。
具体地,当设备的多个待升级模块的固件升级结束后,按照预设顺序依次获取各个待升级模块的当前固件版本,将当前固件版本和对应的最新固件版本进行比较,若一致,则判断结果为升级成功,若不一致,则判断结果为升级失败;可以在显示屏显示升级完毕的交互界面,该交互界面中可以展示各个待升级模块的判断结果,以及当前固件版本。可选地,该交互界面中还可以展示判断结果为升级失败的待升级模块的最新固件版本。
进一步地,根据设备的使用状态可以将设备划分为出厂新装机和在外使用机,出厂新装机与在外使用机的区别在于出厂新装机尚未配置工作环境,而在外使用机已配置工作环境。即外在使用机的待升级模块一般存在工作环境配置文件,即本地配置文件。为了便于区分,将最新固件包中的配置文件命名为第一配置文件;上述根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级的过程,还包括:
当所述待升级模块存在本地配置文件时,获取所述本地配置文件的本地配置项;
将所述第一配置文件中不同于所述本地配置项的第一配置项及对应的第一配置项值存入所述本地配置文件。
与现有技术在固件升级后需要手动修改相关配置项的配置值,以对设备的工作环境进行配置相比,本实施例优先使用本地配置项的本地配置项值,确保设备在固件升级后自动完成工作环境的配置,不需要再次进行手动修改,可以提高固件升级的效率。
进一步地,在实际应用中,可能存在一些模块的最新固件包中包含强制配置项的特殊配置文件,可以理解,在最新固件包安装过程中,必须采用强制配置项的强制配置值。因此,为了提高固件升级过程中配置文件处理的准确性,在上述将所述第一配置文件中不同于所述本地配置项的第一配置项及对应的第一配置项值存入所述本地配置文件的步骤之后,还可以包括:
检测所述最新固件包是否包含强制配置项的特殊配置文件;
若是,则采用所述强制配置项和对应的配置配置项值更新所述本地配置文件。
具体实现中,当最新固件包中包含强制配置项的特殊配置文件时,可以获取特殊配置文件的强制配置项及对应的强制配置项值;并且将本地配置文件中与强制配置项相同的本地配置项的本地配置项值更新为对应的强制配置项值。
本申请实施例通过获取包含多个模块的最新固件包的全量固件升级包,检测各个模块的状态信息,并判断状态信息是否符合预设状态条件,将状态信息符合预设状态条件的模块确定为待升级模块,并根据全量固件升级包中与待升级模块对应的最新固件包对待升级模块进行固件升级;实现了一次下载可以获得设备各个模块的最新固件包,可以减少下载操作次数;并且,在固件升级前对各个模块状态进行检测,可以有效避免升级遗漏的情况,也可以提高对包含多模块的设备的固件升级效率;并且通过交互界面与用户进行交互,包括通过交互界面接收用户相关操作指令,以及通过交互界面向用户展示相关升级内容,实现用户可以及时掌握和灵活控制固件升级过程;在固件升级过程中,对最新固件包中的配置文件采用优先使用目标环境配置项和遵循强制配置项的处理规则,在固件升级完成后,不需要对配置文件进行手动修改,提高固件升级的效率和可靠性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图4,示出了本申请的一种设备的固件升级装置实施例的结构框图,该装置适用于对包括多模块的设备进行固件升级,该装置具体可以包括如下模块:
固件包获取模块401,用于获取全量固件升级包,所述全量固件升级包中包含所述多个模块的最新固件包;
状态检测模块402,用于检测各个所述模块的状态信息,并判断所述状态信息是否符合预设状态条件;
固件升级模块403,用于将所述状态信息符合所述预设状态条件的模块确定为待升级模块,并根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级。
可选地,所述固件升级模块403,包括:
第一版本获取模块,用于获取所述全量固件升级包中与所述待升级模块对应的最新固件包的最新固件版本;
第二版本获取模块,用于获取所述待升级模块的本地固件版本;
判断升级模块,用于若所述本地固件版本与所述最新固件版本不一致,则根据所述最新固件包对所述待升级模块进行固件升级。
可选地,所述判断升级模块,还包括:
第一显示模块,用于在交互界面展示所述待升级模块的本地固件版本和最新固件版本;
指令接收模块,用于接收对所述待升级模块的升级指令,判断所述待升级模块的本地固件版本与所述最新固件版本是否一致;
指令升级模块,用于若所述本地固件版本与所述最新固件版本不一致,,则根据所述最新固件包对所述待升级模块进行固件升级。
可选地,所述最新固件包中包括第一配置文件,所述固件升级模块403,包括:
本地配置获取模块,用于当所述待升级模块存在本地配置文件时,获取所述本地配置文件的本地配置项;
本地配置第一更新模块,用于将所述第一配置文件中不同于所述本地配置项的第一配置项及对应的第一配置项值存入所述本地配置文件。
可选地,所述固件升级模块403,还包括:
特殊配置检测模块,用于检测所述最新固件包是否包含强制配置项的特殊配置文件;
本地配置第二更新模块,用于若所述最新固件包包含强制配置项的特殊配置文件,则采用所述强制配置项和对应的配置配置项值更新所述本地配置文件
可选地,所述装置还包括:
第一检测判断模块,用于在所述待升级模块的固件升级结束后,判断所述待升级模块的固件升级是否成功;
版本回退模块,用于若所述待升级模块的固件升级失败,则将所述待升级模块的固件版本回退至所述本地固件版本。
可选地,所述装置还包括:
第三版本获取模块,用于在所述设备的多个待升级模块的固件升级结束后,获取各个所述待升级模块的当前固件版本;
第二检测判断模块,用于依据所述当前固件版本和对应的最新固件版本,判断所述待升级模块是否升级成功,得到判断结果;
升级结果展示模块,用于将判断结果以及各个所述待升级模块的当前固件版本展示在交互界面中。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还公开了电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的设备的固件升级方法的步骤。
本申请实施例还公开了计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的设备的固件升级方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种设备的固件升级方法、一种设备的固件升级装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种设备的固件升级方法,其特征在于,所述设备包括多个模块,所述方法包括:
获取全量固件升级包,所述全量固件升级包中包含所述多个模块的最新固件包;
检测各个所述模块的状态信息,并判断所述状态信息是否符合预设状态条件;
将所述状态信息符合所述预设状态条件的模块确定为待升级模块,并根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级。
2.根据权利要求1所述的方法,其特征在于,所述根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级的步骤,包括:
获取所述全量固件升级包中与所述待升级模块对应的最新固件包的最新固件版本;
获取所述待升级模块的本地固件版本;
若所述本地固件版本与所述最新固件版本不一致,则根据所述最新固件包对所述待升级模块进行固件升级。
3.根据权利要求2所述的方法,其特征在于,所述若所述本地固件版本与所述最新固件版本不一致,则根据所述最新固件包对所述待升级模块进行固件升级的步骤,还包括:
在交互界面展示所述待升级模块的本地固件版本和最新固件版本;
接收对所述待升级模块的升级指令,判断所述待升级模块的本地固件版本与所述最新固件版本是否一致;
若否,则根据所述最新固件包对所述待升级模块进行固件升级。
4.根据权利要求1所述的方法,其特征在于,所述最新固件包中包括第一配置文件,所述根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级的步骤,还包括:
当所述待升级模块存在本地配置文件时,获取所述本地配置文件的本地配置项;
将所述第一配置文件中不同于所述本地配置项的第一配置项及对应的第一配置项值存入所述本地配置文件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
检测所述最新固件包是否包含强制配置项的特殊配置文件;
若是,则采用所述强制配置项和对应的配置配置项值更新所述本地配置文件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述待升级模块的固件升级结束后,判断所述待升级模块的固件升级是否成功;
若否,则将所述待升级模块的固件版本回退至所述本地固件版本。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述设备的多个待升级模块的固件升级结束后,获取各个所述待升级模块的当前固件版本;
依据所述当前固件版本和对应的最新固件版本,判断所述待升级模块是否升级成功,得到判断结果;
将判断结果以及各个所述待升级模块的当前固件版本展示在交互界面中。
8.一种设备的固件升级装置,其特征在于,所述设备包括多个模块,所述装置包括:
固件包获取模块,用于获取全量固件升级包,所述全量固件升级包中包含所述多个模块的最新固件包;
状态检测模块,用于检测各个所述模块的状态信息,并判断所述状态信息是否符合预设状态条件;
固件升级模块,用于将所述状态信息符合所述预设状态条件的模块确定为待升级模块,并根据所述全量固件升级包中与所述待升级模块对应的最新固件包对所述待升级模块进行固件升级。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的设备的固件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的设备的固件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217726.0A CN114968294A (zh) | 2021-02-26 | 2021-02-26 | 设备的固件升级方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110217726.0A CN114968294A (zh) | 2021-02-26 | 2021-02-26 | 设备的固件升级方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968294A true CN114968294A (zh) | 2022-08-30 |
Family
ID=82972556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110217726.0A Pending CN114968294A (zh) | 2021-02-26 | 2021-02-26 | 设备的固件升级方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968294A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431182A (zh) * | 2023-04-18 | 2023-07-14 | 中船海神医疗科技有限公司 | 一种便携式急救设备的升级方法和装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136770A (zh) * | 2006-10-13 | 2008-03-05 | 中兴通讯股份有限公司 | 电信多分支网络管理***的自动升级方法及装置 |
CN103186391A (zh) * | 2011-12-29 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 浏览器升级方法和***以及一种升级服务器 |
CN106557339A (zh) * | 2015-09-28 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 设备固件的升级方法和装置 |
CN106598636A (zh) * | 2016-07-14 | 2017-04-26 | 深圳曼塔智能科技有限公司 | 用于无人机的固件升级方法及装置 |
CN106657233A (zh) * | 2016-09-29 | 2017-05-10 | Tcl商用信息科技(惠州)股份有限公司 | 一种升级显示器固件的方法和*** |
CN107239303A (zh) * | 2017-05-11 | 2017-10-10 | 北京五八信息技术有限公司 | 应用程序更新包生成及应用程序更新的方法、装置 |
CN107733674A (zh) * | 2016-08-12 | 2018-02-23 | 北京小米移动软件有限公司 | 组件升级方法及终端 |
CN108958762A (zh) * | 2017-08-02 | 2018-12-07 | 北京视联动力国际信息技术有限公司 | 一种软件的升级方法和装置 |
CN110865826A (zh) * | 2018-08-27 | 2020-03-06 | 北京猎户星空科技有限公司 | 机器人软件升级方法、装置、设备和存储介质 |
CN111158717A (zh) * | 2019-12-24 | 2020-05-15 | 深圳怡化电脑股份有限公司 | 设备的固件升级方法、设备和介质 |
-
2021
- 2021-02-26 CN CN202110217726.0A patent/CN114968294A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101136770A (zh) * | 2006-10-13 | 2008-03-05 | 中兴通讯股份有限公司 | 电信多分支网络管理***的自动升级方法及装置 |
CN103186391A (zh) * | 2011-12-29 | 2013-07-03 | 腾讯科技(深圳)有限公司 | 浏览器升级方法和***以及一种升级服务器 |
CN106557339A (zh) * | 2015-09-28 | 2017-04-05 | 腾讯科技(深圳)有限公司 | 设备固件的升级方法和装置 |
CN106598636A (zh) * | 2016-07-14 | 2017-04-26 | 深圳曼塔智能科技有限公司 | 用于无人机的固件升级方法及装置 |
CN107733674A (zh) * | 2016-08-12 | 2018-02-23 | 北京小米移动软件有限公司 | 组件升级方法及终端 |
CN106657233A (zh) * | 2016-09-29 | 2017-05-10 | Tcl商用信息科技(惠州)股份有限公司 | 一种升级显示器固件的方法和*** |
CN107239303A (zh) * | 2017-05-11 | 2017-10-10 | 北京五八信息技术有限公司 | 应用程序更新包生成及应用程序更新的方法、装置 |
CN108958762A (zh) * | 2017-08-02 | 2018-12-07 | 北京视联动力国际信息技术有限公司 | 一种软件的升级方法和装置 |
CN110865826A (zh) * | 2018-08-27 | 2020-03-06 | 北京猎户星空科技有限公司 | 机器人软件升级方法、装置、设备和存储介质 |
CN111158717A (zh) * | 2019-12-24 | 2020-05-15 | 深圳怡化电脑股份有限公司 | 设备的固件升级方法、设备和介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116431182A (zh) * | 2023-04-18 | 2023-07-14 | 中船海神医疗科技有限公司 | 一种便携式急救设备的升级方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109814879B (zh) | 自动化ci/cd项目部署方法、存储介质 | |
US9213534B2 (en) | Method for restoring software applications on desktop computers | |
CN109358858B (zh) | 自动化部署方法、装置、介质及电子设备 | |
CN108776643B (zh) | 一种基于版本控制流程的目标代码合并控制方法及*** | |
CN105389187B (zh) | 一种***更新的方法 | |
CN111475401A (zh) | 一种测试方法及相关设备 | |
CN111538523A (zh) | 差分升级方法、设备及存储介质 | |
CN113254331A (zh) | 模型测试方法、设备、存储介质及程序产品 | |
CN114968294A (zh) | 设备的固件升级方法及装置、电子设备、存储介质 | |
CN113778771B (zh) | 一种终端测试的方法、***及存储介质 | |
CN111324365A (zh) | 一种超融合***升级的方法和设备 | |
CN113434180B (zh) | 应用的数据处理方法、装置、服务器和存储介质 | |
CN110780904A (zh) | 一种应用更新方法及装置 | |
CN112596809A (zh) | 界面的可视化配置方法、装置、电子设备及存储介质 | |
CN115080076B (zh) | 一种云手机软件管理方法 | |
CN111930633A (zh) | 数据测试方法、平台、电子设备及存储介质 | |
CN109032641B (zh) | 应用版本更新方法及装置 | |
CN116521405A (zh) | sd卡状态检测方法、装置、设备及存储介质 | |
CN114443065A (zh) | 平台部署方法、装置、电子设备和存储介质 | |
CN111382082B (zh) | 持续集成测试方法及装置 | |
CN113419760A (zh) | 打开/保存工程文件的方法、装置、计算机设备和介质 | |
CN112667463A (zh) | 一种应用***基线状态监控方法及装置 | |
CN110928798A (zh) | 一种代码测试方法、装置及设备 | |
CN112463208A (zh) | 版本管理方法及装置、电子设备、存储介质 | |
CN112165512B (zh) | 一种文件发布方法、装置、终端设备及存储介质 |
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 |