CN109766207A - 固件远程升级的恢复方法、装置、监控设备和存储介质 - Google Patents
固件远程升级的恢复方法、装置、监控设备和存储介质 Download PDFInfo
- Publication number
- CN109766207A CN109766207A CN201910006470.1A CN201910006470A CN109766207A CN 109766207 A CN109766207 A CN 109766207A CN 201910006470 A CN201910006470 A CN 201910006470A CN 109766207 A CN109766207 A CN 109766207A
- Authority
- CN
- China
- Prior art keywords
- monitoring device
- program
- firmware program
- firmware
- old
- 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
- 238000012806 monitoring device Methods 0.000 title claims abstract description 260
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000011084 recovery Methods 0.000 claims description 44
- 230000003993 interaction Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 9
- 239000007787 solid Substances 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种固件远程升级的恢复方法、装置、监控设备和存储介质。该方法包括:获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备。当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序。若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。利用该方法,当监控设备运行新固件运行出现异常时,可以使监控设备恢复到旧固件程序运行,从而保证了监控设备的正常运行;另外该方法也可以避免监控设备盲目恢复到旧固件程序运行。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种固件远程升级的恢复方法、装置、监控设备和存储介质。
背景技术
随着移动网络技术的发展,各种远程监控型的工业设备的维护逐步转向远程升级维护。3G、4G和5G网络技术快速更新换代,使嵌入式设备的软件远程维护更加便捷,固件升级效率高,甚至达到自动化维护的程度。
传统的监控平台与监控设备之间的远程升级流程为:监控平台首先建立升级任务,并向监控设备发起升级请求;监控设备在收到升级请求后,对固件信息进行确认,之后监控平台向监控设备发送新固件包,待监控设备下载完成后,对该固件包进行数据校验,校验通过后开始执行固件远程升级;升级完成之后,监控设备重启,然后运行新固件程序。
但是上述在远程固件升级过程中,当出现人为误操作、下载的固件数据有误、新固件与硬件版本不匹配等问题时,容易导致固件升级后设备不能正常运行。因此,如何在固件升级异常后让设备恢复正常运行成为目前亟待解决的技术问题。
发明内容
基于此,有必要针对在固件升级异常后让设备恢复正常运行的问题,提供一种固件远程升级的恢复方法、装置、监控设备和存储介质。
一种固件远程升级的恢复方法,包括:
获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备;
当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序;
若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
在其中一个实施例中,所述方法包括:当重启所述监控设备后,根据旧固件信息存储区中的恢复使能标志位的值,确定所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序。
在其中一个实施例中,所述将所述新固件程序替换为所述旧固件程序之前,所述方法还包括:再次获取监控设备运行新固件程序时的运行状态;若所述运行状态为异常运行,则从旧固件存储区获取所述旧固件程序,并将所述旧固件程序代替所述新固件程序写入程序执行区域。
在其中一个实施例中,若所述恢复使能标志位的值为真,则确定所述监控设备当前允许将所述新固件程序替换为所述旧固件程序,所述方法还包括:将所述恢复使能标志位的值置为假。
在其中一个实施例中,所述方法包括:根据所述运行状态确定所述监控设备中的CPU程序是否停止运行;若是,则确定重启所述监控设备。
在其中一个实施例中,所述方法还包括:
若所述CPU程序未停止运行,则继续运行所述新固件程序,并向所述监控平台发送交互消息;
接收监控平台发送的恢复指令,其中,所述恢复指令为所述监控平台根据所述交互消息确定所述监控设备运行异常后发出的;
根据所述恢复指令,停止运行所述CPU程序,将所述恢复使能标志位的值置为真,并重启所述监控设备。
在其中一个实施例中,所述获取监控设备运行新固件程序时的运行状态,所述方法包括:根据新固件信息存储区中的功能参数标志位的值,确定所述新固件的运行状态是正常运行或异常运行。
一种固件远程升级的恢复装置,包括:
确定模块,用于获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备;
判断模块,用于当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序;
替换模块,用于若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
一种监控设备,包括:存储器和处理器,所述存储器存储有设备固件程序,其特征在于,所述处理器执行所述设备固件程序时实现以下步骤:
获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备;
当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序;
若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
一种存储介质,其上存储有设备固件程序,所述设备固件程序被处理器执行时实现以下步骤:
获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备;
当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序;
若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
上述固件远程升级的恢复方法,在监控设备升级完成之后,监控设备运行新固件出现异常时,其不同于传统技术的直接使监控设备恢复为旧版本固件程序运行的方案,而是首先根据新固件的运行状态来确定是否需要重启监控设备,因此该方法避免了盲目地重启监控设备,而给监控设备带来损伤的问题;另外,在需要重启监控设备时,就可以对监控设备进行重启,之后通过判断监控设备当前是否允许将新固件程序替换为旧固件程序,通过这个判断过程,监控设备可以准确地获知是否需要恢复为旧固件程序运行,从而可以避免监控设备盲目地恢复为旧版本固件程序运行,而给监控设备的运行带来一些不必要的麻烦;进一步地,如果上述判断结果是允许监控设备将新固件程序替换为旧固件程序,则使监控设备恢复旧固件程序运行。因此,利用该方法可以使监控设备在运行新固件出现异常时,使监控设备自动恢复为旧版本固件,从而保证了监控设备的正常运行。
附图说明
图1为一个实施例中固件远程升级的恢复方法的应用环境图;
图2为一个实施例提供的固件远程升级的恢复方法的流程示意图;
图3为另一个实施例提供的固件远程升级的恢复方法的流程示意图;
图4为另一个实施例提供的固件远程升级的恢复方法的流程示意图;
图5为一个实施例提供的固件远程升级的恢复方法的流程示意图;
图6为一个实施例提供的固件远程升级的恢复装置的结构示意图;
图7为另一个实施例提供的固件远程升级的恢复装置的结构示意图;
图8为另一个实施例提供的固件远程升级的恢复装置的结构示意图;
图9为一个实施例提供的监控设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本发明实施例提供的固件远程升级的恢复方法,可以适用于图1所示的应用环境。如图1所示,该应用环境包括监控设备101和监控平台102。其中,监控设备101可以是远程监控终端、远程抄表终端等,监控平台102可以是云端服务器、远程服务器、监控软件平台等,本发明实施例对监控设备101和监控平台102的具体形式并不做限定;其中,上述监控设备101可以与监控平台102进行无线或者有线数据传输。
在介绍具体的实施例之前,这里对本发明实施例中涉及的专业术语或者概念进行解释说明:
Bootloader程序:Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
传统的监控平台与监控设备之间在远程固件升级过程中,当出现人为误操作、下载的固件数据有误、新固件与硬件版本不匹配等问题时,容易导致固件升级后设备不能正常运行。本发明实施例提供的固件远程升级的恢复方法、装置、监控设备和存储介质,旨在解决传统技术的如上技术问题。
需要说明的是,下述方法实施例的执行主体可以是固件远程升级的恢复装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为上述监控设备的部分或者全部。下述方法实施例以执行主体是监控设备为例进行说明。
图2为一个实施例提供的固件远程升级的恢复方法的流程示意图。本实施例涉及的是监控设备如何在新版本固件运行出现异常时,恢复运行旧版本固件的具体过程。如图2所示,该方法可以包括以下步骤:
S201,获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备。
具体的,监控设备在对新固件程序远程升级完成后,可以运行新固件程序,新固件的运行状态有两种,异常运行或者正常运行。监控设备可以通过运行新固件程序,来得到新固件的运行状态,并根据新固件的运行状态来确定是否需要重启监控设备;若新固件的运行状态为正常运行,则监控设备不重启;若新固件的运行状态为异常运行,则监控设备重启。
可选的,上述获取监控设备运行新固件程序时的运行状态,可以根据新固件信息存储区中的功能参数标志位的值,确定所述新固件的运行状态是正常运行还是异常运行。
在该步骤中,可选的,监控设备可以在其非易失性数据存储器中分配一个存储空间,该存储空间记为新固件信息存储区,该新固件信息存储区内可以存储有新固件的运行状态信息。可选的,该新固件的运行状态信息可以使用监控设备的功能参数标志位的值来表示。当该监控设备的功能参数标志位的值为真时,则认为新固件的运行状态为正常运行;当该监控设备的功能参数标志位的值为假时,则认为新固件的运行状态为异常运行。可选的,监控设备可以根据监控设备的主要功能将功能参数标志位分为一个功能参数标志位或者多个功能参数标志位,例如,功能参数1标志位、功能参数2标志位、……功能参数n标志位等等,其可以用func1_ok_flag、func2_ok_flag、。。。funcn_ok_flag表示。可选的,监控设备可以根据一个功能参数标志位的值来确定新固件的运行状态,也可以根据多个功能参数标志位的值来确定新固件的运行状态,例如,上述功能参数标志位的值为1时设为真,值为0时设为假,当func1_ok_flag=0时,可以认为新固件的运行状态为异常运行,当func1_ok_flag=0和func2_ok_flag=0时,也可以认为新固件运行状态为异常运行;可选的,当固件运行到第n个功能模块时,监控设备检测到新固件的该功能模块的运行状态为正常运行,即没有异常反馈,则监控设备对funcn_ok_flag置1,表示该功能n运行正常。另外,只有当所有的功能参数标志位的值都为真,即都为1时,才认为新固件的运行状态为正常运行。
S202,当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序。
具体的,上述当监控设备在确定新固件的运行状态为异常运行时,则重启监控设备,之后,监控设备判断当前是否允许将上述新固件程序替换为预先备份的上一版本固件程序。可选的,该判断步骤可以包括:当重启所述监控设备后,根据旧固件信息存储区中的恢复使能标志位的值,确定所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序。即在一种可能的实施方式中,监控设备可以使用恢复使能标志位的值来对当前是否允许将上述新固件程序替换为预先备份的上一版本固件程序进行判断;若恢复使能标志位的值为真时,则监控设备可以得知当前允许将上述新固件程序替换为预先备份的上一版本固件程序;若恢复使能标志位的值为假时,则监控设备可以得知当前不允许将上述新固件程序替换为预先备份的上一版本固件程序。可选的,上述恢复使能标志位可以使用auto_backup_en来表示,当auto_backup_en=1时,表示恢复使能标志位的值为真,当auto_backup_en=0时,表示恢复使能标志位的值为假。
可选的,监控设备可以在其非易失性数据存储器中分配3个存储空间,分别为新固件存储区、旧固件存储区、旧固件信息存储区,新固件存储区可以用来存储监控设备在升级之前下载的新固件程序,旧固件存储区可以用来备份在监控设备升级之前运行的旧固件程序,上述预先备份的上一版本固件程序即旧固件程序,旧固件信息信息存储区可以用来存储上述恢复使能标识位的值。
S203,若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
具体的,监控设备在得知上述恢复使能标志位的值为真时,就可以获知监控设备允许将上述新固件程序替换为预先备份的上一版本的旧固件程序,之后就可以用上述旧固件程序替换新固件程序,然后让监控设备运行替换后的旧固件程序。可选的,上述监控设备在得知恢复使能标志位的值为真时,上述方法还可以包括将上述恢复使能标志位的值置为假。
S204,若不允许,则运行新固件程序。
由上述描述可知,本实施例提供的固件远程升级的恢复方法,在监控设备升级完成之后,监控设备运行新固件出现异常时,其不同于传统技术的直接使监控设备恢复为旧版本固件程序运行的方案,而是首先根据新固件的运行状态来确定是否需要重启监控设备,因此该方法避免了盲目地重启监控设备,而给监控设备带来损伤的问题;另外,在需要重启监控设备时,就可以对监控设备进行重启,之后通过判断监控设备当前是否允许将新固件程序替换为旧固件程序,通过这个判断过程,监控设备可以准确地获知是否需要恢复为旧固件程序运行,从而可以避免监控设备盲目地恢复为旧版本固件程序运行,而给监控设备的运行带来一些额外的程序开销,导致程序恢复开销大等问题;进一步地,如果上述判断结果是允许监控设备将新固件程序替换为旧固件程序,则使监控设备恢复旧固件程序运行。因此,利用该方法可以使监控设备在运行新固件出现异常时,使监控设备自动恢复为旧版本固件,从而保证了监控设备的正常运行。
本实施例提供的固件远程升级的恢复方法,首先根据该新固件的运行状态来确定是否要重启监控设备,因此避免了盲目重启监控设备,而给监控设备带来损伤的问题;另外,当在确定监控设备运行新固件出现异常时,可以使监控设备准确地获知当前是否允许恢复为旧固件程序运行,避免了监控设备盲目地恢复为旧固件程序运行,从而给监控设备带来一些额外的程序开销;当监控设备允许恢复为旧固件程序运行时,监控设备可以自动恢复为旧固件程序运行,从而保证了监控设备的正常运行。
图3为另一个实施例提供的固件远程升级的恢复方法的流程示意图。本实施例涉及的是监控设备在将上述新固件程序替换为旧固件程序之前,监控设备还需要对新固件的运行状态进行再次判断,从而确定是否恢复为旧固件程序运行的具体的过程。在上述实施例的基础上,如图3所示,上述方法还可以包括以下步骤:
S205,再次获取监控设备运行新固件程序时的运行状态。
具体的,监控设备在重启之后,可以再次获取新固件的运行状态,并对该运行状态进行判断,以使得监控设备可以更加准确地对新固件的运行状态进行判断,避免首次判断新固件运行状态时出现误判,而导致监控设备盲目恢复到旧版本固件运行,造成监控设备程序开销大的问题。可选的,监控设备可以通过对功能参数标志位的值进行判断来得到新固件的运行状态。可选的,监控设备可以具有多个功能参数标志位时,当其中一个功能参数标志位的值为假和/或多个功能参数标志位的值为假时,监控设备就可以获知新固件的运行状态为异常运行;当所有功能参数标志位的值均为真时,监控设备就可以获知新固件的运行状态为正常运行。
S206,若所述运行状态为异常运行,则从旧固件存储区获取所述旧固件程序,并将所述旧固件程序代替所述新固件程序写入程序执行区域。
具体的,上述监控设备在得知恢复使能标志位的值为真时,同时再次得知新固件的运行状态为异常运行时,可以从上述预先分配的旧固件存储区中,得到监控设备在进行远程升级之前的上一版本旧固件程序,并对该旧固件程序进行校验,校验通过后就可以将该旧固件程序写入监控设备的程序执行区域,让监控设备运行该旧固件程序。若所述运行状态为正常运行,则执行上述S204。
本实施例提供的固件远程升级的恢复方法,监控设备在得到恢复使能标识位的值为真时,还需要再次获取监控设备运行新固件程序时的运行状态,从而来确定监控设备是否需要恢复旧固件程序运行;若再次获取到的新固件运行状态为异常运行,则监控设备就可以运行旧固件程序。利用该方法,监控设备可以更加准确地获知是否需要恢复旧版本固件,避免首次判断新固件运行状态时出现误判,以及避免由于人工重启等现象发生时,造成监控设备盲目恢复为旧固件运行的情况。
在另一个实施例中,本实施例涉及的是监控设备根据新固件的运行状态确定是否重启监控设备的具体过程。在上述实施例的基础上,上述S201可以包括:根据所述运行状态确定所述监控设备中的CPU程序是否停止运行;若是,则确定重启所述监控设备。
具体的,监控设备在获知新固件的运行状态为异常运行时,可以对监控设备的CPU程序是否停止运行进行判断;如果监控设备的CPU程序停止运行,则监控设备就可以确定进行重启。可选的,图4为另一个实施例提供的固件远程升级的恢复方法的流程示意图。如图4所示,上述方法还可以包括以下步骤:
S401,若所述CPU程序未停止运行,则继续运行所述新固件程序,并向所述监控平台发送交互消息。
具体的,上述如果监控设备的CPU程序没有停止运行,则监控设备继续运行新固件程序。监控设备在运行新固件程序的过程中,可以和监控平台之间进行交互,监控设备可以向监控平台发送消息,也可以接收监控平台发送的消息。可选的,监控设备向监控平台发送的消息可以是新固件的运行状态信息,也可以是监控设备的运行状态信息。
S402,接收监控平台发送的恢复指令,其中,所述恢复指令为所述监控平台根据所述交互消息确定所述监控设备运行异常后发出的。
具体的,上述监控平台在根据接收到监控设备发送的消息,可选的,可以是根据上述新固件的运行状态信息,检测出监控设备运行异常时,其可以向监控设备发送恢复指令,监控设备可以接收监控平台发送的恢复指令。可选的,监控平台在检测到监控设备运行异常时,可以人工先进行确认,确认监控设备运行是出现异常的,则人工可以在监控平台上进行设置,并向监控设备发送恢复指令。
S403,根据所述恢复指令,停止运行所述CPU程序,将所述恢复使能标志位的值置为真,并重启所述监控设备。
具体的,监控设备在接收到监控平台发送的恢复指令之后,可以根据该恢复指令,停止运行监控设备的CPU程序,并将上述恢复使能标志位的值置为真,然后重启监控设备,返回执行上述S205-S206的步骤。
本实施例提供的固件远程升级的恢复方法,监控设备在获知新固件的运行状态为异常运行时,可以对监控设备的CPU程序是否停止运行进行判断,若CPU程序停止运行,则重启监控设备;若CPU程序未停止运行,则监控平台在检测到监控设备运行异常时,可以向监控设备发送恢复指令,将恢复使能标志位置为真,同时使监控设备的CPU停止运行并重启监控设备。利用该方法,可以在监控设备的CPU程序没有停止运行,而监控平台检测到监控设备运行异常的情况下,利用人工控制的方法,使监控设备恢复旧固件程序运行,从而保证了监控设备的正常运行。
为了便于本领域技术人员的理解,以下对本发明提供的固件远程升级的恢复方法进行详细介绍,如图5所示,该方法可以包括:
S501,根据功能参数标志位的值,确定新固件的运行状态是正常运行或异常运行,若确定新固件的运行状态为异常运行,则进入S502。
S502,判断监控设备的CPU程序是否停止运行,若是,则进入S503,若否,则进入S509。
S503,监控设备重启,进入bootloader程序运行,接下来进入S504。
S504,判断恢复使能标志位的值是否为真,若是,则进入S505,若否,则进入S508。
S505,将恢复使能标志位的值置为假,之后进入S506。
S506,再次判断新固件的运行状态是否为异常运行,若是,则进入S507,若否,则进入S508。
S507,校验旧固件程序,将旧固件程序写入监控设备执行区,替换出现异常的新固件程序,并运行该旧固件程序。
S508,运行新固件程序。
S509,向监控平台发送交互消息,接下来进入S510。
S510,接收到监控平台发送的恢复指令,将恢复使能标志位的值置为真,并停止CPU程序运行,之后返回执行S503。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图6为一个实施例提供的固件远程升级的恢复装置的结构示意图。如图6所示,该装置可以包括:确定模块10、判断模块11、替换模块12。
具体的,确定模块10,用于获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备。
判断模块11,用于当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序。
替换模块12,用于若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
可选的,上述确定模块10具体用于根据新固件信息存储区中的功能参数标志位的值,确定所述新固件的运行状态是正常运行或异常运行。
在一个实施例中,上述判断模块11具体用于当重启所述监控设备后,根据旧固件信息存储区中的恢复使能标志位的值,确定所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序。
上述实施例提供的固件远程升级的恢复装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
图7为另一个实施例提供的固件远程升级的恢复装置的结构示意图。如图7所示,上述替换模块12在将所述新固件程序替换为所述旧固件程序之前,所述装置还包括:获取模块13和写入模块14。
具体的,获取模块13,用于再次获取监控设备运行新固件程序时的运行状态;所述写入模块14,用于在所述运行状态为异常运行时,从旧固件存储区获取所述旧固件程序,并将所述旧固件程序代替所述新固件程序写入程序执行区域。
在一个实施例中,上述判断模块11还用于若所述恢复使能标志位的值为真,则确定所述监控设备当前允许将所述新固件程序替换为所述旧固件程序,并将所述恢复使能标志位的值置为假。
在一个实施例中,上述确定模块10具体用于根据所述运行状态确定所述监控设备中的CPU程序是否停止运行;若是,则确定重启所述监控设备。
图8为另一个实施例提供的固件远程升级的恢复装置的结构示意图。如图8所示,所述装置还包括:发送模块15、接收模块16、停止模块17。
具体的,发送模块15,用于若所述CPU程序未停止运行,则继续运行所述新固件程序,并向所述监控平台发送交互消息;
接收模块16,用于接收监控平台发送的恢复指令,其中,所述恢复指令为所述监控平台根据所述交互消息确定所述监控设备运行异常后发出的;
停止模块17,用于根据所述恢复指令,停止运行所述CPU程序,将所述恢复使能标志位的值置为真,并重启所述监控设备。
图9为一个实施例提供的监控设备的内部结构示意图,如图9所示,该监控设备可以包括通过系统总线连接的处理器、存储器、网络接口、显示装置和输入装置。其中,该监控设备的处理器用于提供计算和控制能力。该监控设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有Bootloader程序和设备固件程序。该内存储器为非易失性存储介质中的Bootloader程序和设备固件程序的运行提供环境。该监控设备的网络接口用于与外部的监控通过网络连接通信。该设备固件程序被处理器执行时以实现一种固件远程升级的恢复方法。该监控设备的显示装置可以是液晶显示屏或者电子墨水显示屏,该监控设备的输入装置可以是显示屏上覆盖的触摸层,也可以是监控设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
需要说明的是,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的监控设备的限定,具体的监控设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种监控设备,所述监控设备包括存储器和处理器,所述存储器中存储有设备固件程序,该处理器执行设备固件程序时实现以下步骤:
获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备。
当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序。
若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
在一个实施例中,处理器执行设备固件程序时还实现以下步骤:
当重启所述监控设备后,根据旧固件信息存储区中的恢复使能标志位的值,确定所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序。
在一个实施例中,处理器执行设备固件程序时还实现以下步骤:
再次获取监控设备运行新固件程序时的运行状态;
若所述运行状态为异常运行,则从旧固件存储区获取所述旧固件程序,并将所述旧固件程序代替所述新固件程序写入程序执行区域。
在一个实施例中,处理器执行设备固件程序时还实现以下步骤:
将所述恢复使能标志位的值置为假。
在一个实施例中,处理器执行设备固件程序时还实现以下步骤:
根据所述运行状态确定所述监控设备中的CPU程序是否停止运行;
若是,则确定重启所述监控设备。
在一个实施例中,处理器执行设备固件程序时还实现以下步骤:
若所述CPU程序未停止运行,则继续运行所述新固件程序,并向所述监控平台发送交互消息;
接收监控平台发送的恢复指令,其中,所述恢复指令为所述监控平台根据所述交互消息确定所述监控设备运行异常后发出的;
根据所述恢复指令,停止运行所述CPU程序,将所述恢复使能标志位的值置为真,并重启所述监控设备。
在一个实施例中,处理器执行设备固件程序时还实现以下步骤:
根据新固件信息存储区中的功能参数标志位的值,确定所述新固件的运行状态是正常运行或异常运行。
在一个实施例中,提供了一种可读存储介质,其上存储有设备固件程序,设备固件程序被处理器执行时实现以下步骤:
获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备。
当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序。
若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
在一个实施例中,设备固件程序被处理器执行时还实现以下步骤:
当重启所述监控设备后,根据旧固件信息存储区中的恢复使能标志位的值,确定所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序。
在一个实施例中,设备固件程序被处理器执行时还实现以下步骤:
再次获取监控设备运行新固件程序时的运行状态;
若所述运行状态为异常运行,则从旧固件存储区获取所述旧固件程序,并将所述旧固件程序代替所述新固件程序写入程序执行区域。
在一个实施例中,设备固件程序被处理器执行时还实现以下步骤:
将所述恢复使能标志位的值置为假。
在一个实施例中,设备固件程序被处理器执行时还实现以下步骤:
根据所述运行状态确定所述监控设备中的CPU程序是否停止运行;
若是,则确定重启所述监控设备。
在一个实施例中,设备固件程序被处理器执行时还实现以下步骤:
若所述CPU程序未停止运行,则继续运行所述新固件程序,并向所述监控平台发送交互消息;
接收监控平台发送的恢复指令,其中,所述恢复指令为所述监控平台根据所述交互消息确定所述监控设备运行异常后发出的;
根据所述恢复指令,停止运行所述CPU程序,将所述恢复使能标志位的值置为真,并重启所述监控设备。
在一个实施例中,设备固件程序被处理器执行时还实现以下步骤:
根据新固件信息存储区中的功能参数标志位的值,确定所述新固件的运行状态是正常运行或异常运行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过设备固件程序来指令相关的硬件来完成,所述的设备固件程序可存储于一非易失性计算机可读取存储介质中,该设备固件程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种固件远程升级的恢复方法,其特征在于,所述方法包括:
获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备;
当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序;
若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
2.根据权利要求1所述的方法,其特征在于,所述当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序,包括:
当重启所述监控设备后,根据旧固件信息存储区中的恢复使能标志位的值,确定所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序。
3.根据权利要求1所述的方法,其特征在于,所述将所述新固件程序替换为所述旧固件程序之前,所述方法还包括:
再次获取监控设备运行新固件程序时的运行状态;
若所述运行状态为异常运行,则从旧固件存储区获取所述旧固件程序,并将所述旧固件程序代替所述新固件程序写入程序执行区域。
4.根据权利要求2所述的方法,其特征在于,若所述恢复使能标志位的值为真,则确定所述监控设备当前允许将所述新固件程序替换为所述旧固件程序,所述方法还包括:
将所述恢复使能标志位的值置为假。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述根据所述运行状态确定是否重启所述监控设备,包括:
根据所述运行状态确定所述监控设备中的CPU程序是否停止运行;
若是,则确定重启所述监控设备。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述CPU程序未停止运行,则继续运行所述新固件程序,并向所述监控平台发送交互消息;
接收监控平台发送的恢复指令,其中,所述恢复指令为所述监控平台根据所述交互消息确定所述监控设备运行异常后发出的;
根据所述恢复指令,停止运行所述CPU程序,将所述恢复使能标志位的值置为真,并重启所述监控设备。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述获取监控设备运行新固件程序时的运行状态,包括:
根据新固件信息存储区中的功能参数标志位的值,确定所述新固件的运行状态是正常运行或异常运行。
8.一种固件远程升级的恢复装置,其特征在于,包括:
确定模块,用于获取监控设备运行新固件程序时的运行状态,并根据所述运行状态确定是否重启所述监控设备;
判断模块,用于当重启所述监控设备后,判断所述监控设备当前是否允许将所述新固件程序替换为预先备份的上一版本的旧固件程序;其中,所述监控设备在升级之前运行的程序为所述旧固件程序;
替换模块,用于若允许,则将所述新固件程序替换为所述旧固件程序,以使所述监控设备运行所述旧固件程序。
9.一种监控设备,包括:存储器和处理器,所述存储器存储有设备固件程序,其特征在于,所述处理器执行所述设备固件程序时实现权利要求1-7中任一项所述方法的步骤。
10.一种存储介质,其上存储有设备固件程序,其特征在于,所述设备固件程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910006470.1A CN109766207A (zh) | 2019-01-04 | 2019-01-04 | 固件远程升级的恢复方法、装置、监控设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910006470.1A CN109766207A (zh) | 2019-01-04 | 2019-01-04 | 固件远程升级的恢复方法、装置、监控设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109766207A true CN109766207A (zh) | 2019-05-17 |
Family
ID=66453535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910006470.1A Pending CN109766207A (zh) | 2019-01-04 | 2019-01-04 | 固件远程升级的恢复方法、装置、监控设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766207A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532013A (zh) * | 2019-07-25 | 2019-12-03 | 宜鼎国际股份有限公司 | 电子设备、可远程维护电子设备运作的系统及方法 |
CN110750309A (zh) * | 2019-09-17 | 2020-02-04 | 宜鼎国际股份有限公司 | 可远程控制电子设备的系统及方法 |
CN111949449A (zh) * | 2020-08-12 | 2020-11-17 | 曙光信息产业(北京)有限公司 | 固件恢复方法、装置、系统、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557583A (zh) * | 2009-03-19 | 2009-10-14 | 珠海银邮光电技术发展股份有限公司 | 直放站设备嵌入式软件的远程升级与版本切换方法 |
US20120291021A1 (en) * | 2011-05-13 | 2012-11-15 | Lsi Corporation | Method and system for firmware upgrade of a storage subsystem hosted in a storage virtualization environment |
CN103455354A (zh) * | 2013-09-06 | 2013-12-18 | 南京南自信息技术有限公司 | 一种防止固件升级失败的方法和设备 |
CN107908496A (zh) * | 2017-11-21 | 2018-04-13 | 东峡大通(北京)管理咨询有限公司 | 用于在mcu固件出错后自动恢复的方法和mcu |
-
2019
- 2019-01-04 CN CN201910006470.1A patent/CN109766207A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101557583A (zh) * | 2009-03-19 | 2009-10-14 | 珠海银邮光电技术发展股份有限公司 | 直放站设备嵌入式软件的远程升级与版本切换方法 |
US20120291021A1 (en) * | 2011-05-13 | 2012-11-15 | Lsi Corporation | Method and system for firmware upgrade of a storage subsystem hosted in a storage virtualization environment |
CN103455354A (zh) * | 2013-09-06 | 2013-12-18 | 南京南自信息技术有限公司 | 一种防止固件升级失败的方法和设备 |
CN107908496A (zh) * | 2017-11-21 | 2018-04-13 | 东峡大通(北京)管理咨询有限公司 | 用于在mcu固件出错后自动恢复的方法和mcu |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110532013A (zh) * | 2019-07-25 | 2019-12-03 | 宜鼎国际股份有限公司 | 电子设备、可远程维护电子设备运作的系统及方法 |
TWI723477B (zh) * | 2019-07-25 | 2021-04-01 | 宜鼎國際股份有限公司 | 電子設備、可遠端維護電子設備運作的系統及方法 |
CN110750309A (zh) * | 2019-09-17 | 2020-02-04 | 宜鼎国际股份有限公司 | 可远程控制电子设备的系统及方法 |
CN110750309B (zh) * | 2019-09-17 | 2023-06-30 | 宜鼎国际股份有限公司 | 可远程控制电子设备的系统及方法 |
CN111949449A (zh) * | 2020-08-12 | 2020-11-17 | 曙光信息产业(北京)有限公司 | 固件恢复方法、装置、系统、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105930236A (zh) | 一种基于BMS Bootloader升级的应用程序版本回退方法 | |
CN102270144B (zh) | 嵌入式网络设备及其更新固件的方法 | |
CN104572206A (zh) | 应用程序自更新和备份恢复的方法 | |
CN109766207A (zh) | 固件远程升级的恢复方法、装置、监控设备和存储介质 | |
CN100373337C (zh) | 一种嵌入式系统的引导系统 | |
CN107193607B (zh) | 用于更新代码文件的方法和装置、存储介质、处理器以及终端 | |
CN109448880B (zh) | 核安全级热备冗余控制站无扰下装方法和系统 | |
CN102073517A (zh) | 一种嵌入式系统的升级、备份方法和装置 | |
CN110007946B (zh) | 一种算法模型的更新方法、装置、设备及介质 | |
CN108829485A (zh) | 应用界面布局的更新方法、装置、存储介质及计算机设备 | |
CN109062598A (zh) | 一种安全的ota升级方法及系统 | |
CN103577201A (zh) | 嵌入式双系统的更新方法及系统 | |
CN108874582A (zh) | 一种系统恢复方法、装置及终端 | |
CN109445809A (zh) | 列车自动监控ats子系统软件自动升级方法及系统 | |
CN103092659A (zh) | 脱离仿真器支持环境的dsp软件升级系统及其升级方法 | |
CN105045617A (zh) | 一种Android系统的应用恢复方法及系统 | |
CN108196873B (zh) | 电力系统嵌入式软件远程动态升级方法和系统 | |
CN109189499A (zh) | Java程序的管理方法、装置、计算机设备及存储介质 | |
CN108920171A (zh) | 固件更新方法及装置、电子设备 | |
CN113094251A (zh) | 嵌入式系统测试方法、装置、计算机设备和存储介质 | |
CN102226888B (zh) | 框架加载方法及设备 | |
CN109375953B (zh) | 一种操作系统启动方法及装置 | |
CN112905375A (zh) | 双芯智能电表管理单元的自恢复方法、装置和计算机设备 | |
JP2007004273A (ja) | プログラム実行システム、プログラム実行システムのためのプログラミングシステム、プログラム解析システムおよびプログラム管理システム、ならびに、プログラム実行システムを備えた検査装置、検査装置用プログラム作成システムおよび検査装置システム | |
CN115080076B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190517 |
|
RJ01 | Rejection of invention patent application after publication |