固件检测方法、装置、电子设备、存储介质和程序产品制造方法及图纸

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

【技术实现步骤摘要】
固件检测方法、装置、电子设备、存储介质和程序产品


[0001]本申请涉及计算机领域,尤其涉及一种固件检测方法、装置、电子设备、存储介质和程序产品。

技术介绍

[0002]对SAS Expander(Serial Attached SCSI Expander,串行连接SCSI接口扩展器),PCIe Switch(peripheral component interconnect express Switch,高速串行计算机扩展总线标准接口转换器)等小型嵌入式固件,通常都采取单颗Flash(闪存)且Flash Layout(闪存分布)为主备分区方案,即运行主分区的固件,备用分区将在升级固件时使用,升级成功过后,备用分区变成了主分区,原来的主分区变成了备用分区;如果升级失败,备用分区已经被擦除,或者数据不够完整,无法运行。尤其是现在采取Secure Boot(安全启动)方案,普遍升级固件时,先对备用分区进行擦除,再写入新的版本的固件,新的版本的固件一旦验证不通过,整个备用分区也将会无效(Invalid),可能会导致系统故障,整体稳定性较差。

技术实现思路

[0003]本申请提供一种固件检测方法、装置、电子设备、存储介质和程序产品,用以解决因升级失败导致的备用分区无效的问题。
[0004]第一方面,本申请实施例提供一种固件检测方法,包括:
[0005]每隔预设周期,检测存储器的备用分区是否处于固件升级状态;
[0006]若不处于固件升级状态,则检测备用分区的当前固件是否完整;
[0007]若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。
[0008]可选的,若不处于固件升级状态,则检测备用分区的当前固件是否完整,包括:
[0009]若不处于固件升级状态,则判断备用分区的固件签名是否被信任;
[0010]若签名被信任,则检测备用分区的当前固件是否完整。
[0011]可选,还包括:
[0012]若检测到连续多个周期均满足下述至少一个条件,则输出报警信息,并退出当前周期的处理流程,等待下一次检测:
[0013]签名不被信任;固件不完整。
[0014]可选的,所述固件包括镜像Image文件,将所述存储器的主分区的固件拷贝到所述备用分区,包括:
[0015]根据预先设定的每次拷贝的数据量大小,将所述主分区的Image文件分成至少一个子文件;
[0016]通过线程依次执行至少一个子文件的拷贝操作,每个子文件拷贝结束后,将所述线程挂起预设时间,并在预设时间后判断当前子文件是否拷贝成功,拷贝成功后通过所述线程执行下一子文件的拷贝操作。
[0017]可选的,执行至少一个子文件的拷贝操作,包括:
[0018]检测备用分区是否处于固件升级状态;
[0019]若不处于升级状态,则拷贝当前子文件到所述备用分区;
[0020]若检测到处于升级状态,则退出拷贝操作。
[0021]可选的,还包括:
[0022]若当前子文件拷贝失败,则判断当前子文件拷贝失败的次数是否超过预设阈值;
[0023]若未超过阈值,则重新执行当前子文件的拷贝操作;
[0024]若超过阈值,则发出报警信息,退出当前拷贝流程。
[0025]第二方面,本申请实施例提供一种固件检测装置,包括:
[0026]检测模块,用于每隔预设周期,检测存储器的备用分区是否处于固件升级状态;
[0027]判断模块,用于在不处于固件升级状态时,检测备用分区的当前固件是否完整;
[0028]拷贝模块,用于在当前固件不完整时,将所述存储器的主分区的固件拷贝到所述备用分区。
[0029]第三方面,本申请实施例提供一种电子设备,包括:
[0030]至少一个处理器;以及与所述至少一个处理器通信连接的存储器;
[0031]其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述电子设备执行上述任一方面所述的方法。
[0032]第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述任一方面所述的方法。
[0033]第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一方面所述的方法。
[0034]本申请实施例提供的固件检测方法、装置、电子设备、存储介质和程序产品,包括:每隔预设周期,检测存储器的备用分区是否处于固件升级状态;若不处于固件升级状态,则检测备用分区的当前固件是否完整;若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。设置定时任务,先检测备用分区是否处于固件升级状态,确定不是固件升级的情况下,才进行后续操作,是为了不对升级操作造成影响,并且在检测到备用分区固件不完整后,将主分区的正常的固件拷贝到备用分区,避免因升级失败导致的备用分区不完整的情况,同时避免在备用分区不完整的前提下,主分区的固件也出现问题导致的系统故障,提升了整体的稳定性。并且在多次检测到备用分区的固件不被信任或者不完整的情况下,会发出报警信息,以便管理人员快速寻找故障原因并进行修复,避免陷入死循环。
附图说明
[0035]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0036]图1为本申请实施例提供的一种应用场景图;
[0037]图2为本申请实施例提供的一种固件检测方法的流程示意图;
[0038]图3为本申请实施例提供的另一种固件检测方法的流程示意图;
[0039]图4为本申请实施例提供的一种固件检测装置的结构示意图;
[0040]图5为本申请实施例提供的一种电子设备的结构示意图。
[0041]通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
[0042]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0043]随着软件更新换代的速度越来越快,产品硬件对很多软件存在不兼容的情况,为了让硬件与软件兼容,可能需要较为频繁地对固件进行升级。
[0044]在一些技术中,对小型嵌入式固件通常采取单颗Flash且Flash Layout为主备分区方案,平常只运行主分区中的固件,备用分区在固件升级时使用,升级结束后,将主备分区进行调换,此时主分区运行的就是最新版本的固件。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种固件检测方法,其特征在于,包括:每隔预设周期,检测存储器的备用分区是否处于固件升级状态;若不处于固件升级状态,则检测备用分区的当前固件是否完整;若当前固件不完整,则将所述存储器的主分区的固件拷贝到所述备用分区。2.根据权利要求1所述的方法,其特征在于,若不处于固件升级状态,则检测备用分区的当前固件是否完整,包括:若不处于固件升级状态,则判断备用分区的固件签名是否被信任;若签名被信任,则检测备用分区的当前固件是否完整。3.根据权利要求2所述的方法,其特征在于,还包括:若检测到连续多个周期均满足下述至少一个条件,则输出报警信息,并退出当前周期的处理流程,等待下一次检测:签名不被信任;固件不完整。4.根据权利要求1

3任一项所述的方法,其特征在于,所述固件包括镜像Image文件,将所述存储器的主分区的固件拷贝到所述备用分区,包括:根据预先设定的每次拷贝的数据量大小,将所述主分区的Image文件分成至少一个子文件;通过线程依次执行至少一个子文件的拷贝操作,每个子文件拷贝结束后,将所述线程挂起预设时间,并在预设时间后判断当前子文件是否拷贝成功,拷贝成功后通过所述线程执行下一子文件的拷贝操作。5.根据权利要求4所述的方法,其特征在于,执行至少一个子文件的拷贝操作,包括:检测备用分区是否处于固件升级状态;若不处于升级状态,则...

【专利技术属性】
技术研发人员:莫立骏张凯邱忠汉洪峥
申请(专利权)人:上海芯希信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1