CN116501573A - 固件检测方法、装置、电子设备、存储介质和程序产品 - Google Patents

固件检测方法、装置、电子设备、存储介质和程序产品 Download PDF

Info

Publication number
CN116501573A
CN116501573A CN202310466073.9A CN202310466073A CN116501573A CN 116501573 A CN116501573 A CN 116501573A CN 202310466073 A CN202310466073 A CN 202310466073A CN 116501573 A CN116501573 A CN 116501573A
Authority
CN
China
Prior art keywords
firmware
partition
current
standby
copying
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
Application number
CN202310466073.9A
Other languages
English (en)
Inventor
莫立骏
张凯
邱忠汉
洪峥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Xinxi Information Technology Co ltd
Original Assignee
Shanghai Xinxi Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Xinxi Information Technology Co ltd filed Critical Shanghai Xinxi Information Technology Co ltd
Priority to CN202310466073.9A priority Critical patent/CN116501573A/zh
Publication of CN116501573A publication Critical patent/CN116501573A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供一种固件检测方法、装置、电子设备、存储介质和程序产品,包括:每隔预设周期,检测存储器的备用分区是否处于固件升级状态;若不处于固件升级状态,则检测备用分区的当前固件是否完整;若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。设置定时任务,先检测备用分区是否处于固件升级状态,确定不是固件升级的情况下,才进行后续操作,是为了不对升级操作造成影响,并且在检测到备用分区固件不完整后,将主分区的正常的固件拷贝到备用分区,避免因升级失败导致的备用分区不完整的情况,同时避免在备用分区不完整的前提下,主分区的固件也出现问题导致的系统故障,提升了整体的稳定性。

Description

固件检测方法、装置、电子设备、存储介质和程序产品
技术领域
本申请涉及计算机领域,尤其涉及一种固件检测方法、装置、电子设备、存储介质和程序产品。
背景技术
对SAS Expander(Serial Attached SCSI Expander,串行连接SCSI接口扩展器),PCIe Switch(peripheral component interconnect express Switch,高速串行计算机扩展总线标准接口转换器)等小型嵌入式固件,通常都采取单颗Flash(闪存)且Flash Layout(闪存分布)为主备分区方案,即运行主分区的固件,备用分区将在升级固件时使用,升级成功过后,备用分区变成了主分区,原来的主分区变成了备用分区;如果升级失败,备用分区已经被擦除,或者数据不够完整,无法运行。尤其是现在采取Secure Boot(安全启动)方案,普遍升级固件时,先对备用分区进行擦除,再写入新的版本的固件,新的版本的固件一旦验证不通过,整个备用分区也将会无效(Invalid),可能会导致系统故障,整体稳定性较差。
发明内容
本申请提供一种固件检测方法、装置、电子设备、存储介质和程序产品,用以解决因升级失败导致的备用分区无效的问题。
第一方面,本申请实施例提供一种固件检测方法,包括:
每隔预设周期,检测存储器的备用分区是否处于固件升级状态;
若不处于固件升级状态,则检测备用分区的当前固件是否完整;
若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。
可选的,若不处于固件升级状态,则检测备用分区的当前固件是否完整,包括:
若不处于固件升级状态,则判断备用分区的固件签名是否被信任;
若签名被信任,则检测备用分区的当前固件是否完整。
可选,还包括:
若检测到连续多个周期均满足下述至少一个条件,则输出报警信息,并退出当前周期的处理流程,等待下一次检测:
签名不被信任;固件不完整。
可选的,所述固件包括镜像Image文件,将所述存储器的主分区的固件拷贝到所述备用分区,包括:
根据预先设定的每次拷贝的数据量大小,将所述主分区的Image文件分成至少一个子文件;
通过线程依次执行至少一个子文件的拷贝操作,每个子文件拷贝结束后,将所述线程挂起预设时间,并在预设时间后判断当前子文件是否拷贝成功,拷贝成功后通过所述线程执行下一子文件的拷贝操作。
可选的,执行至少一个子文件的拷贝操作,包括:
检测备用分区是否处于固件升级状态;
若不处于升级状态,则拷贝当前子文件到所述备用分区;
若检测到处于升级状态,则退出拷贝操作。
可选的,还包括:
若当前子文件拷贝失败,则判断当前子文件拷贝失败的次数是否超过预设阈值;
若未超过阈值,则重新执行当前子文件的拷贝操作;
若超过阈值,则发出报警信息,退出当前拷贝流程。
第二方面,本申请实施例提供一种固件检测装置,包括:
检测模块,用于每隔预设周期,检测存储器的备用分区是否处于固件升级状态;
判断模块,用于在不处于固件升级状态时,检测备用分区的当前固件是否完整;
拷贝模块,用于在当前固件不完整时,将所述存储器的主分区的固件拷贝到所述备用分区。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行上述任一方面所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一方面所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方面所述的方法。
本申请实施例提供的固件检测方法、装置、电子设备、存储介质和程序产品,包括:每隔预设周期,检测存储器的备用分区是否处于固件升级状态;若不处于固件升级状态,则检测备用分区的当前固件是否完整;若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。设置定时任务,先检测备用分区是否处于固件升级状态,确定不是固件升级的情况下,才进行后续操作,是为了不对升级操作造成影响,并且在检测到备用分区固件不完整后,将主分区的正常的固件拷贝到备用分区,避免因升级失败导致的备用分区不完整的情况,同时避免在备用分区不完整的前提下,主分区的固件也出现问题导致的系统故障,提升了整体的稳定性。并且在多次检测到备用分区的固件不被信任或者不完整的情况下,会发出报警信息,以便管理人员快速寻找故障原因并进行修复,避免陷入死循环。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种应用场景图;
图2为本申请实施例提供的一种固件检测方法的流程示意图;
图3为本申请实施例提供的另一种固件检测方法的流程示意图;
图4为本申请实施例提供的一种固件检测装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
随着软件更新换代的速度越来越快,产品硬件对很多软件存在不兼容的情况,为了让硬件与软件兼容,可能需要较为频繁地对固件进行升级。
在一些技术中,对小型嵌入式固件通常采取单颗Flash且Flash Layout为主备分区方案,平常只运行主分区中的固件,备用分区在固件升级时使用,升级结束后,将主备分区进行调换,此时主分区运行的就是最新版本的固件。
固件升级的过程需要先将备用分区现有的固件进行擦除,再写入新版本的固件,一旦升级的过程中掉电,或者固件验证不通过,整个备用分区将会无效,一旦主分区也发生故障,可能会导致整个系统的瘫痪,整体的稳定性较差。
有鉴于此,本申请提供一种固件检测方法,可以在不影响正常的升级操作的前提下,避免因升级失败导致的备用分区固件无效的情况,降低发生系统故障的概率,提升整体的稳定性。
图1为本申请实施例提供的一种应用场景图。如图1所示,包括:服务器和终端设备,终端设备包括处理器和存储器,存储器包括主分区和备用分区,当开发人员将最新版本的固件上传到服务器后,服务器将固件的最新版本信息发送给终端设备,终端设备接收到最新版本信息后,向服务器发送请求下载最新版本固件的信息,服务器接收到信息后将最新版本的固件打包发送给终端设备,终端设备接收到最新版本的固件后,处理器向存储器发送擦写备用分区的指令,存储器接收到指令后擦除备用分区原来的固件,再将新版本的固件写入,写入操作结束后,将存储器的主分区和备用分区调换,开始运行调换后的主分区中最新版本的固件。在终端设备的处理器中增加一个线程,每隔30s就检测备用分区是否处于固件升级状态,若处于,则退出流程,等待下一次检测,若不处于则检测备用分区固件是否完整,若完整,则退出当前流程,等待下一次检测,若不完整则将主分区的固件拷贝到备用分区。
本申请提供的固件检测方法,通过增加一个30s的检测线程,每隔30s就检测备用分区是否处于固件升级状态,确定不是固件升级的情况下,再进行后续操作,是为了避免对正常的升级操作造成影响,并且在检测到备用分区固件不完整后,将主分区的正常的固件拷贝到备用分区,避免因升级失败或者固件验证不通过导致的备用分区无效的情况,进一步避免在备用分区无效的前提下,主分区的固件也出现问题导致的系统故障,提升了整体的稳定性。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种固件检测方法的流程示意图。本实施例的执行主体可以为任意具有数据处理功能的装置。如图2所示,本申请实施例提供的一种固件检测方法,可以包括:
步骤201、每隔预设周期,检测存储器的备用分区是否处于固件升级状态;
其中,预设周期可以根据实际情况设定,本申请中的预设周期为30s,存储器可以是EEPROM(Electrically Erasable Programmable ROM,电可擦除只读存储器)或FLASH芯片。
通常情况下,正在运行的是主分区的固件,也就是主分区的Image文件。Image文件包括但不限于Bootloader,Configuration,Main FW等,其中,Bootloader为引导加载文件,Configuration为配置文件,Main FW为固件对应的主镜像文件,Image文件包含的三个文件都有其对应的主分区和备用分区。
具体的,增加一个线程,每隔30s进行一次检测,检测存储器的备用分区是否处于固件升级状态。
步骤202、若不处于固件升级状态,则检测备用分区的当前固件是否完整;
具体的,如果检测到备用分区中不处于固件升级状态,可以采用CRC(CyclicRedundancy Check,循环冗余校核)校验方式检测备用分区的固件是否被完整写入,也就是检测备用分区的固件是否完整。若处于固件升级状态,则退出当前流程,等待下一次检测。
可选的,若不处于固件升级状态,则检测备用分区的当前固件是否完整,包括:
若不处于固件升级状态,则判断备用分区的固件签名是否被信任;
若签名被信任,则检测备用分区的当前固件是否完整。
其中,判断备用分区的固件签名是否被信任,是secure boot使用公钥/私钥来验证备用分区的固件是否合法。secure boot会在固件和应用程序之间建立一种信任关系。在启用secure boot功能后,不合法的固件或程序将不能运行在该设备上。
具体的,若签名被信任,则检测备用分区的固件是否完整,若签名不被信任,则退出当前流程,等待下一次检测。
这样,在检测备用分区的固件是否完整之前,先判断备用分区的固件签名是否被信任,若签名不被信任,则无需进行后面的流程,直接退出当前流程,等待下一次的检测,可以在一定程度上精简流程。
步骤203、若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。
具体的,若固件不完整,则将主分区的固件拷贝到备用分区,若固件完整,则退出当前线程,等待下一次检测。
这样,为了不对升级操作造成影响,设置定时任务,检测备用分区是否处于固件升级状态,确定不是固件升级的情况下,才进行后续操作,并且在检测到备用分区固件不完整后,将主分区的正常的固件拷贝到备用分区,避免因升级失败导致的备用分区不完整的情况,降低系统故障发生的概率,提升了整体的稳定性。
可选的,本申请实施例提供的一种固件检测方法,还包括:
若检测到连续多个周期均满足下述至少一个条件,则输出报警信息,并退出当前周期的处理流程,等待下一次检测:签名不被信任;固件不完整。
具体的,可以设定一个阈值,若连续检测到备用分区的固件签名不被信任或者固件不完整的次数超过设定的阈值,则输出报警信息,退出当前处理流程,等待下一次的检测。若没有超过设定的阈值,则执行后续拷贝操作。
连续多个周期出现签名不被信任或者固件不完整的情况,说明备用分区可能出现了故障,导致固件无法被正确拷贝,此时发出报警信息,可以让管理人员尽快确认故障发生的原因并进行修复。
可选的,所述固件包括Image文件,将所述存储器的主分区的固件拷贝到所述备用分区,包括:
根据预先设定的每次拷贝的数据量大小,将所述主分区的Image文件分成至少一个子文件;
通过线程依次执行至少一个子文件的拷贝操作,每个子文件拷贝结束后,将所述线程挂起预设时间,并在预设时间后判断当前子文件是否拷贝成功,拷贝成功后通过所述线程执行下一子文件的拷贝操作。
具体的,预先设定每次拷贝的数据量,数据量的大小可以根据实际情况而定,本申请设定的数据量为4k,当主分区的Image文件小于或者等于4k时,主分区的Image文件就只包含一个子文件,当主分区的Image文件的大于4k时,主分区的Image文件包含两个或者两个以上的子文件,当Image文件的大小为4k的整数倍时,所有的子文件大小均为4k,Image文件的大小不是4k的整数倍时,只有一个子文件小于4k,其余子文件大小都等于4k。
一次只拷贝一个子文件,某个子文件拷贝结束后,可以将线程挂起预设时间,本申请中为5ms,然后判断这个子文件是否拷贝成功,若拷贝成功,则判断主分区的Image文件是否被全部拷贝进备用分区,如果不是,就通过线程进行下一个子文件的拷贝,如果是,就退出当前流程,等待下一次的检测。
主分区的Image文件数据量较大,如果一次性进行拷贝可能会影响其他的线程,所以将主分区的Image文件按数据量大小拆分成多个子文件,每次只拷贝一个子文件,拷贝结束后将线程挂起5ms,避免在一段时间内占用太多的资源。
可选的,本申请实施例提供的一种固件检测方法,还包括:
若当前子文件拷贝失败,则判断当前子文件拷贝失败的次数是否超过预设阈值;
若未超过阈值,则重新执行当前子文件的拷贝操作;
若超过阈值,则发出报警信息,退出当前拷贝流程。
具体的,若判断出当前子文件拷贝失败,则计算当前子文件拷贝失败的次数,判断计算出来的次数是否超过了预设阈值,如果没有超过,就重新拷贝当前子文件,若超过了,就发出报警信息,退出当前流程,等待下一次的检测。
这样,当前子文件拷贝失败时,要判断当前子文件拷贝失败的次数是不是超过了预设阈值,如果超过了阈值,可能是备用分区出现了故障,之后拷贝的次数再多,可能也难以将当前子文件正确拷贝到备用分区,导致浪费资源,此时发出报警信息,以便管理人员寻找故障原因并修复。
可选的,执行至少一个子文件的拷贝操作,包括:
检测备用分区是否处于固件升级状态;
若不处于固件升级状态,则拷贝当前子文件到所述备用分区;
若处于固件升级状态,则退出拷贝操作。
具体的,在拷贝每一个子文件之前,先判断备用分区是否处于固件升级状态,如果不处于升级状态,就将该文件拷贝到备用分区,如果是处于升级状态,则退出当前的拷贝流程。
这样,一旦检测到备用分区处于固件升级状态,就立即停止拷贝动作,优先进行升级操作,保障升级的正常进行,避免对正常的升级过程造成影响。
需要特别说明的是,本申请中增加的30s的检测线程,可以是在一定的时间段内每隔30秒进行检测,以及后续一系列的判断和操作。当检测到备用分区处于升级状态、备用分区固件完整、连续失效次数超过预设预置和固件被完全拷入备用分区时,退出当前周期的流程,等待下一次检测。当满足拷贝操作的条件时,线程可以在执行完固件的拷贝操作后才退出流程,在退出流程后再进行每隔预设周期的检测。
综上,本申请实施例提供一种固件检测方法,包括:每隔预设周期,检测存储器的备用分区是否处于固件升级状态;若不处于固件升级状态,则检测备用分区的当前固件是否完整;若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。设置定时任务,先检测备用分区是否处于固件升级状态,确定不是固件升级的情况下,才进行后续操作,是为了不对升级操作造成影响,并且在检测到备用分区固件不完整后,将主分区的正常的固件拷贝到备用分区,避免因升级失败导致的备用分区不完整的情况,同时避免在备用分区不完整的前提下,主分区的固件也出现问题导致的系统故障,提升了整体的稳定性。并且在多次检测到备用分区的固件不被信任或者不完整的情况下,会发出报警信息,以便管理人员快速寻找故障原因并进行修复,避免陷入死循环。
可选的,图3为本申请实施例提供的另一种固件检测方法的流程示意图,如图3所示,增加一个检测线程,每隔30s检测备用分区是否处于固件升级状态,若处于固件升级状态,则退出当前线程,等待下一次检测,若不处于固件升级状态,则检查备用分区的固件签名是否被信任,若被信任,则检测备用分区固件是否完整,若完整,则退出当前线程,等待下一次检测,若检测到备用分区的固件签名不被信任或者不完整,则判断连续不被信任或者不完整的次数是否超过了预设阈值,若超过,则发出报警信息并退出,若不超过,则判断备用分区是否处于固件升级状态,若处于,则退出当前线程,若不处于,则从主分区拷贝4k的数据量到备用分区,拷贝结束后,判断是否拷贝成功,若成功,则判断主分区的固件是否被完全拷入备用分区,若是,则退出当前流程,若不是,则继续后面的拷贝流程。若不成功,则判断连续拷贝不成功的次数是否超过预设阈值,若超过,则报警并退出当前流程,若不超过,则判断备用分区是否处于固件升级状态,若不是,则继续拷贝未成功的这4k的数据量。
对应于上述固件检测方法,本申请实施例还提供一种固件检测装置。图4为本申请实施例提供的一种固件检测装置的结构示意图。如图4所示,所述装置包括:
检测模块401,用于每隔预设周期,检测存储器的备用分区是否处于固件升级状态;
判断模块402,用于在不处于固件升级状态时,检测备用分区的当前固件是否完整;
拷贝模块403,用于在当前固件不完整时,将所述存储器的主分区的固件拷贝到所述备用分区。
可选的,判断模块402,具体用于:
若不处于固件升级状态,则判断备用分区的固件签名是否被信任;
若签名被信任,则检测备用分区的当前固件是否完整。
可选的,检测模块401,还用于:
若检测到连续多个周期均满足下述至少一个条件,则输出报警信息,并退出当前周期的处理流程,等待下一次检测:
签名不被信任;固件不完整。
可选的,所述固件包括Image文件,拷贝模块403在将所述存储器的主分区的固件拷贝到所述备用分区时,具体用于:
根据预先设定的每次拷贝的数据量大小,将所述主分区的Image文件分成至少一个子文件;
通过线程依次执行至少一个子文件的拷贝操作,每个子文件拷贝结束后,将所述线程挂起预设时间,并在预设时间后判断当前子文件是否拷贝成功,拷贝成功后通过所述线程执行下一子文件的拷贝操作。
可选的,拷贝模块403在执行至少一个子文件的拷贝操作时,具体用于:
检测备用分区是否处于固件升级状态;
若不处于升级状态,则拷贝当前子文件到所述备用分区;
若检测到处于升级状态,则退出拷贝操作。
可选的,拷贝模块403,还用于:
若当前子文件拷贝失败,则判断当前子文件拷贝失败的次数是否超过预设阈值;
若未超过阈值,则重新执行当前子文件的拷贝操作;
若超过阈值,则发出报警信息,退出当前拷贝流程。
本申请实施例提供的固件检测装置的具体实现原理和效果可以参见前述实施例,此处不再赘述。
图5为本申请实施例提供的一种电子设备的结构示意图。如图5所示,本实施例的电子设备可以包括:
至少一个处理器501;以及
与所述至少一个处理器通信连接的存储器502;
其中,所述存储器502存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述电子设备执行如上述任一实施例所述的方法。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
本实施例提供的电子设备的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现前述任一实施例所述的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一实施例所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种固件检测方法,其特征在于,包括:
每隔预设周期,检测存储器的备用分区是否处于固件升级状态;
若不处于固件升级状态,则检测备用分区的当前固件是否完整;
若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。
2.根据权利要求1所述的方法,其特征在于,若不处于固件升级状态,则检测备用分区的当前固件是否完整,包括:
若不处于固件升级状态,则判断备用分区的固件签名是否被信任;
若签名被信任,则检测备用分区的当前固件是否完整。
3.根据权利要求2所述的方法,其特征在于,还包括:
若检测到连续多个周期均满足下述至少一个条件,则输出报警信息,并退出当前周期的处理流程,等待下一次检测:
签名不被信任;固件不完整。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述固件包括镜像Image文件,将所述存储器的主分区的固件拷贝到所述备用分区,包括:
根据预先设定的每次拷贝的数据量大小,将所述主分区的Image文件分成至少一个子文件;
通过线程依次执行至少一个子文件的拷贝操作,每个子文件拷贝结束后,将所述线程挂起预设时间,并在预设时间后判断当前子文件是否拷贝成功,拷贝成功后通过所述线程执行下一子文件的拷贝操作。
5.根据权利要求4所述的方法,其特征在于,执行至少一个子文件的拷贝操作,包括:
检测备用分区是否处于固件升级状态;
若不处于升级状态,则拷贝当前子文件到所述备用分区;
若检测到处于升级状态,则退出拷贝操作。
6.根据权利要求4所述的方法,其特征在于,还包括:
若当前子文件拷贝失败,则判断当前子文件拷贝失败的次数是否超过预设阈值;
若未超过阈值,则重新执行当前子文件的拷贝操作;
若超过阈值,则发出报警信息,退出当前拷贝流程。
7.一种固件检测装置,其特征在于,包括:
检测模块,用于每隔预设周期,检测存储器的备用分区是否处于固件升级状态;
判断模块,用于在不处于固件升级状态时,检测备用分区的当前固件是否完整;
拷贝模块,用于在当前固件不完整时,将所述存储器的主分区的固件拷贝到所述备用分区。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行权利要求1-6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-6任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一项所述的方法。
CN202310466073.9A 2023-04-26 2023-04-26 固件检测方法、装置、电子设备、存储介质和程序产品 Pending CN116501573A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310466073.9A CN116501573A (zh) 2023-04-26 2023-04-26 固件检测方法、装置、电子设备、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310466073.9A CN116501573A (zh) 2023-04-26 2023-04-26 固件检测方法、装置、电子设备、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN116501573A true CN116501573A (zh) 2023-07-28

Family

ID=87327952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310466073.9A Pending CN116501573A (zh) 2023-04-26 2023-04-26 固件检测方法、装置、电子设备、存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN116501573A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118246034A (zh) * 2024-05-30 2024-06-25 上海壁仞科技股份有限公司 建立高速串行连接的系统、处理器、方法、服务器和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118246034A (zh) * 2024-05-30 2024-06-25 上海壁仞科技股份有限公司 建立高速串行连接的系统、处理器、方法、服务器和介质

Similar Documents

Publication Publication Date Title
CN103718165B (zh) Bios闪存攻击保护和通知
US7971199B1 (en) Mobile device with a self-updating update agent in a wireless network
US11385902B2 (en) Secure firmware management with hierarchical boot sequence using last known good firmware
CN106020865A (zh) 一种系统升级方法和装置
CN107783776B (zh) 固件升级包的处理方法及装置、电子设备
US10664598B1 (en) Firmware security patch deployment
CN113254048B (zh) 引导程序更新方法、装置、设备及计算机可读介质
CN107567629A (zh) 在可信执行环境容器中的动态固件模块加载器
CN112015447B (zh) 电子设备的系统更新方法及装置、电子设备及存储介质
CN116501573A (zh) 固件检测方法、装置、电子设备、存储介质和程序产品
CN109375953B (zh) 一种操作系统启动方法及装置
CN114265603A (zh) 基于不对称分区的系统升级方法、装置和电子设备
CN114579971A (zh) 一种安全控制模组的启动方法及相关装置
CN111857882B (zh) 可扩展的ssd开卡固件加载方法、装置、计算机设备及存储介质
CN113032183A (zh) 系统管理方法、装置、计算机设备和存储介质
CN113094107A (zh) 数据保护方法、装置、设备及计算机存储介质
CN115617488A (zh) 操作系统迁移方法、装置、计算设备及存储介质
CN115481405A (zh) 一种嵌入式系统的安全启动和优化升级方法
CN111158771B (zh) 处理方法、装置及计算机设备
CN111522686A (zh) 一种非易失性数据的读写方法及装置
CN111190627A (zh) 系统升级方法及装置
CN111783162A (zh) 数据保护实现方法、装置及计算机设备
CN111106947B (zh) 一种节点宕机修复方法、装置、电子设备及可读存储介质
US20240211257A1 (en) Cache to Receive Firmware Generated Data During Firmware Update
CN118092989B (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