CN112685086B - 一种信息处理方法及电子设备 - Google Patents

一种信息处理方法及电子设备 Download PDF

Info

Publication number
CN112685086B
CN112685086B CN202011601988.9A CN202011601988A CN112685086B CN 112685086 B CN112685086 B CN 112685086B CN 202011601988 A CN202011601988 A CN 202011601988A CN 112685086 B CN112685086 B CN 112685086B
Authority
CN
China
Prior art keywords
image file
boot
calling
boot operation
threshold value
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.)
Active
Application number
CN202011601988.9A
Other languages
English (en)
Other versions
CN112685086A (zh
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN202011601988.9A priority Critical patent/CN112685086B/zh
Publication of CN112685086A publication Critical patent/CN112685086A/zh
Priority to US17/474,223 priority patent/US20220206823A1/en
Application granted granted Critical
Publication of CN112685086B publication Critical patent/CN112685086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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/1479Generic software techniques for error detection or fault masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Abstract

本申请公开了一种信息处理方法及电子设备,所述方法包括:执行第一引导操作;确定所述第一引导操作的执行时间,以及在所述第一引导操作之前执行的第二引导操作的执行时间;在确定所述第一引导操作和所述第二引导操作的执行时间的间隔未达到所述第一阈值的情况下,确定第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值;在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数未达到所述第二阈值的情况下,调用所述第一镜像文件。该方法可以避免并非因主镜像文件原因导致启动失败致使调用次数累加,继而避免主镜像文件未出现故障的情况下转而引导备用镜像文件。

Description

一种信息处理方法及电子设备
技术领域
本申请涉及电子设备技术领域,特别涉及一种信息处理方法及电子设备。
背景技术
为提高系统稳定性和安全性,通常为基板管理控制器配置有一个主镜像文件和一个备镜像文件。当引导加载程序(U-boot)启动后,首先调用主镜像文件,启动与主镜像文件相应的操作系统,当主镜像文件启动失败时,监控芯片(Watchdog)自动重启主镜像文件,主镜像文件的调用次数加1;当主镜像文件连续出现启动失败,导致主镜像文件的调用次数达到特定阈值的情况下,引导加载程序(U-boot)转而调用备镜像文件,启动与备镜像文件相应的操作系统,以确保基板管理控制器能够启动。但在实际使用过程中,经常会出现因例如频繁的通断电等并非主镜像文件本身问题,而导致的主镜像文件相应的操作系统连续启动失败的现象,进而导致引导加载程序转而引导备镜像文件相应的操作系统的问题。
申请内容
有鉴于现有技术中存在的上述问题,本申请提供了一种信息处理方法及电子设备,本申请实施例采用的技术方案如下:
一种信息处理方法,包括:
执行第一引导操作;
确定所述第一引导操作的执行时间,以及在所述第一引导操作之前执行的第二引导操作的执行时间;
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔未达到所述第一阈值的情况下,确定第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值;
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数未达到所述第二阈值的情况下,调用所述第一镜像文件。
在一些实施例中,所述方法还包括:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
在一些实施例中,所述方法还包括:
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数达到所述第二阈值的情况下,调用第二镜像文件。
在一些实施例中,通过用于引导基板管理控制启动的引导程序调用基板管理控制器的所述第一镜像文件或所述第二镜像文件,以启动所述基板管理控制器。
在一些实施例中,所述方法还包括:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,确定所述第一引导操作是否为电子设备上电后执行的首次引导操作;
其中,在确定所述第一引导操作为所述电子设备上电后执行的首次引导操作的情况下,继续确定所述第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值。
在一些实施例中,所述方法还包括:
在确定所述第一引导操作为所述电子设备上电后执行的非首次引导操作的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
在一些实施例中,所述方法还包括:
在基于所述第一镜像文件启动完成的情况下,复位所述第一镜像文件的调用次数。
一种电子设备,包括:
执行模块,用于执行第一引导操作;
第一确定模块,用于确定所述第一引导操作的执行时间,以及在所述第一引导操作之前执行的第二引导操作的执行时间;
第二确定模块,用于在确定所述第一引导操作和所述第二引导操作的执行时间的间隔未达到所述第一阈值的情况下,确定第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值;
调用模块,用于在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数未达到所述第二阈值的情况下,调用所述第一镜像文件。
在一些实施例中,还包括更新模块,所述更新模块用于:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
在一些实施例中,所述调用模块还用于:
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数达到所述第二阈值的情况下,调用第二镜像文件。
本申请实施例的信息处理方法,确定第一引导操作和第二引导操作的执行时间的间隔未达到第一阈值,则表明第一引导操作的前一次引导操作所开启的启动进程尚未执行至调用第一镜像文件的启动阶段就已经失败,前一次引导操作引导电子设备启动失败并非因第一镜像文件故障所致,此时,不对第一镜像文件的调用次数进行累加,而是基于截止至第一引导操作的前一次引导操作所累加的调用次数判断是否达到第二阈值,并在确定未达到第二阈值的情况下,继续尝试通过引导第一镜像文件来启动电子设备的系统。如此,可以避免并非因主镜像文件原因导致启动失败致使调用次数累加,继而避免主镜像文件未出现故障的情况下转而引导备用镜像文件。
附图说明
图1为本申请实施例的信息处理方法的流程图;
图2为本申请实施例的信息处理方法的一个具体实施例的流程图;
图3为本申请实施例的电子设备的结构框图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
本申请实施例提供了一种信息处理方法,包括:
执行第一引导操作;
确定所述第一引导操作的执行时间,以及在所述第一引导操作之前执行的第二引导操作的执行时间;
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔未达到所述第一阈值的情况下,确定第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值;
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数未达到所述第二阈值的情况下,调用所述第一镜像文件。
本申请实施例的信息处理方法,在执行第一引导操作时,并不直接累加第一镜像文件的调用次数;首先确定作为本次引导操作的第一引导操作的执行时间,以及第一引导操作之前执行的第二引导操作的执行时间,在第一引导操作和第二引导操作的执行时间的间隔未达到第一阈值的情况下,表明第一引导操作和第二引导操作的间隔时间不足以满足启动进程执行至引导镜像文件的启动阶段,可确定第二引导操作启动失败并非是因第一镜像文件故障所致,不累加第一镜像文件的调用次数,基于截止至第一引导操作的前一次引导操作的调用次数确定是否达到第二阈值,如果未达到第二阈值,则仍然继续调用第一镜像文件。如此,可以避免并非因为主镜像文件原故障导致启动失败致使调用次数累加,继而避免主镜像文件未出现故障的情况下转而引导备用镜像文件。
以下结合具体实施例和附图对本申请实施例的信息处理方法的具体步骤和原理进行详细说明。
图1为本申请实施例的信息处理方法的流程图,参见图1所示,本申请实施例的信息处理方法具体包括如下步骤:
S1,执行第一引导操作。
其中,第一引导操作用于电子设备的系统的启动进程,该系统可为电子设备的操作系统或管理系统。在具体实施时,该第一引导操作可用于启动一引导程序,通过该引导程序调用镜像文件,以启动电子设备的系统。该第一引导操作可响应于用户对例如电子设备的操作而执行,也可响应于另一电子设备所发送的启动指令而执行。
S2,确定所述第一引导操作的执行时间,以及在所述第一引导操作之前执行的第二引导操作的执行时间。
其中,第一引导操作为当前执行的本次引导操作,第二引导操作可为第一引导操作的前一次引导操作,也可为第一引导操作的前N次引导操作。
在具体实施时,可基于历史信息确定第一引导操作和第二引导操作的执行时间。例如,在执行第一引导操作时,可生成用于标识该第一引导操作的执行时间的第一时间戳,类似的,在执行第二应到操作时,也可生成用于标识该第二引导操作的执行时间的第二时间戳,基于该第一时间戳和第二时间戳可确定第一引导操作和第二引导操作的执行时间。当然,第一引导操作和第二引导操作的执行时间的记录方式有多种,不仅限于时间戳的形式。
该第一引导操作除去引导启动程序,还可引导一监控器启动,可通过该监控器基于该第一时间戳来确定第一引导操作的执行时间,并通过该监控器基于该第二时间戳来确定第二引导操作的执行时间。该监控器具体可为一监控程序,也可为一监控芯片,例如Watchdog芯片。
S3,在确定所述第一引导操作和所述第二引导操作的执行时间的间隔未达到所述第一阈值的情况下,确定第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值。
启动进程可包括多个启动阶段,调用第一镜像文件为多个启动阶段中的一个启动阶段,且调用第一镜像文件之前包括一个或多个启动阶段,也即,调用第一镜像文件通常并非是启动进程中的首个启动阶段。以Linux操作系统的启动进程为例,通常包括硬件初始化、执行启动加载程序、加载和启动Linux内核镜像,以及执行启动脚本和守护进程等多个启动阶段,其中,加载和启动Linux内核镜像之前还包括硬件初始化和执行启动加载程序两个启动阶段。通常情况下,每个启动阶段均需占用特定的执行时间,当然,该执行时间因设备的配置不同而已。第一阈值可为调用第一镜像文件之前的一个或多个启动阶段所需的执行时间。
在确定第一引导操作的执行时间和第二引导操作的执行时间的情况下,可确定第一引导操作和第二引导操作的执行时间的间隔是否达到第一阈值,如果未达到第一阈值,则表明前一次引导操作所开启的启动进程尚未执行至调用第一镜像文件的启动阶段就已经失败,前一次引导操作引导电子设备启动失败并非因第一镜像文件故障所致。
此时,不对第一镜像文件的调用次数进行累加,而是基于截止至第一引导操作的前一次引导操作所累加的调用次数判断是否达到第二阈值,该第二阈值为规定的能够表明第一镜像文件因故障通常无法启动的调用次数,该第二阈值可基于试验检测或实践经验确定。在具体实施时,第一镜像文件的调用次数可作为历史信息的一个参数记载于历史信息中。确定该调用次数是否达到第二阈值的操作也可由监控器来执行。
S4,在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数未达到所述第二阈值的情况下,调用所述第一镜像文件。
在确定截止至第一引导操作的前一次引导操作所累加的调用次数未达到第二阈值的情况下,则意味着第一镜像文件的调用次数尚未达到能够确定第一镜像文件因故障无法启动的调用次数,可继续尝试通过引导第一镜像文件来启动电子设备的系统。
本申请实施例的信息处理方法,确定第一引导操作和第二引导操作的执行时间的间隔未达到第一阈值,则表明第一引导操作的前一次引导操作所开启的启动进程尚未执行至调用第一镜像文件的启动阶段就已经失败,前一次引导操作引导电子设备启动失败并非因第一镜像文件故障所致,此时,不对第一镜像文件的调用次数进行累加,而是基于截止至第一引导操作的前一次引导操作所累加的调用次数判断是否达到第二阈值,并在确定未达到第二阈值的情况下,继续尝试通过引导第一镜像文件来启动电子设备的系统。如此,可以避免并非因主镜像文件原因导致启动失败致使调用次数累加,继而避免主镜像文件未出现故障的情况下转而引导备用镜像文件。
配合图2所示,在一些实施例中,所述方法还包括:
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数达到所述第二阈值的情况下,调用第二镜像文件。
如前所述,第二阈值为规定的能够表明第一镜像文件因故障通常无法启动的调用次数,在确定第一镜像文件在执行第一引导操作之间的调用次数已经达到第二阈值的情况下,则表明第一镜像文件可能损坏且已经无法启动,所以,此时可转而调用作为备用镜像文件的第二镜像文件来尝试启动电子设备的系统。
在具体实施时,该第一引导操作和第二引导操作可用于引导基本管理控制器的管理系统启动,启动进程开启后,可启动用于引导基板管理控制器的管理系统启动的引导程序(Uboot),通过该引导程序(Uboot)调用第一镜像文件或第二镜像文件,以启动基板管理控制器的管理系统,使得基板管理控制器具有较高的鲁棒性。
在一些实施例中,所述方法还包括:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
如前所述,第一阈值为调用第一镜像文件的启动阶段之前的一个或多个启动阶段所需的执行时间。如果第一引导操作和第二引导操作的执行时间的间隔达到该第一阈值,则表明第二引导操作可能已经执行至调用第一镜像文件的启动阶段,第二引导操作引导电子设备启动失败的原因可能是由于第一镜像文件损坏所导致。所以,此时对第一镜像文件的调用次数进行更新,也即累加调用次数。此后,基于更新后的调用次数确定是否达到第二阈值,如果未达到第二阈值,则继续调用第一镜像文件,如果达到第二阈值则调用第二镜像文件。如此,在第二引导操作引导程序或设备启动失败可能由于第一镜像文件损坏所导致的情况下,对调用次数进行累加,确保在一个镜像文件损坏的情况下,能够调用另一个镜像文件,保证程序或设备能够顺利启动。
继续配合图2所示,在一些实施例中,所述方法还包括:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,确定所述第一引导操作是否为电子设备上电后执行的首次引导操作;
其中,在确定所述第一引导操作为所述电子设备上电后执行的首次引导操作的情况下,继续确定所述第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值。
如果第一引导操作和第二引导操作的执行时间的间隔达到该第一阈值,则表明第二引导操作可能已经执行至调用第一镜像文件的启动阶段,第二引导操作引导程序或设备启动失败的原因可能是由于第一镜像文件损坏所导致。但实际上此时并不能够完全确定是由于第一镜像文件损坏导致启动失败,也有可能是由于电子设备断电而导致启动失败。所以,为进一步排除由于电子设备断电导致的启动失败,可在确定第一引导操作和第二引导操作的执行时间的间隔达到第一阈值的情况下,转而判断第一引导操作是否为电子设备上电后执行的首次引导操作,如果第一引导操作为上电后执行的首次引导操作,则表明执行第一引导操作之前电子设备出现过断电现象,前一次引导操作的失败原因可能为断电所致,此时,不累加第一镜像文件的调用次数,基于第一镜像文件在执行第一引导操作之前的调用次数来确定是否达到第二阈值,如果未达到第二阈值,则调用第一镜像文件,如果达到第二阈值,则调用第二镜像文件。
在具体实施时,可通过检测上电复位电路(Power on reset)是否输出复位信号,来确定第一引导操作是否为电子设备上电后执行的首次引导操作。上电复位电路用于在电子设备重新上电时,产生复位信号,从而使电子设备的逻辑电路和控制电路等电路复位至初始状态,避免出现逻辑错误。所以,可以通过检测上电复位电路是否输出一复位信号可确定第一引导操作是否为上电后执行的首次引导操作。
在实际应用时,上电复位电路可包括电容和电阻,电容的一端与直流电源连接,电容的另一端与电阻连接,电阻的另一端接地,电容和电阻之间连接有一复位信号输出端,在电子设备上电瞬间,电容充电,复位信号端处有电流流过,复位信号输出端为高电平,从而生成一个高电平的复位信号,电容两端的电压达到电源电压时,电容充电完成,复位信号输出端处无电流流过,复位信号输出端为低电平,不生成复位信号。
在一些实施例中,所述方法还包括:
在确定所述第一引导操作为所述电子设备上电后执行的非首次引导操作的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值,且第一引导操作为电子设备上电后执行的非首次引导操作,则表明前一次引导操作的启动进程可能已经执行至调用第一镜像文件的启动阶段,且排除了电子设备断电导致启动失败的因素,则由于第一镜像文件损坏导致启动失败的概率较大,基于第一引导操作对第一镜像文件的调用次数进行更新,基于更新后的调用次数确定是否达到第二阈值,如果未达到第二阈值,则继续调用第一镜像文件,如果达到第二阈值调用第二镜像文件,保证设备能够顺利启动。
在一些实施例中,所述方法还包括:
在基于所述第一镜像文件启动完成的情况下,复位所述第一镜像文件的调用次数。
如此,能够避免基于第一镜像文件多次正常启动而导致调用次数累加,进而避免在第一镜像文件未损坏的情况下,引导程序转而引导第二镜像文件的现象。
当然,在基于第二镜像文件完成电子设备的系统启动的情况下,也可对第一镜像文件的调用次数执行复位操作。
参见图3所示,本申请实施例还提供了一种电子设备,包括:
执行模块10,用于执行第一引导操作。
其中,第一引导操作用于电子设备的系统的启动进程,该系统可为电子设备的操作系统或管理系统。在具体实施时,该第一引导操作可用于启动一引导程序,通过该引导程序调用镜像文件,以启动电子设备的系统。该第一引导操作可响应于用户对例如电子设备的操作而执行,也可响应于另一电子设备所发送的启动指令而执行。
第一确定模块20,用于确定所述第一引导操作的执行时间,以及在所述第一引导操作之前执行的第二引导操作的执行时间。
其中,第一引导操作为当前执行的本次引导操作,第二引导操作可为第一引导操作的前一次引导操作,也可为第一引导操作的前N次引导操作。
在具体实施时,可基于历史信息确定第一引导操作和第二引导操作的执行时间。例如,在执行第一引导操作时,可生成用于标识该第一引导操作的执行时间的第一时间戳,类似的,在执行第二应到操作时,也可生成用于标识该第二引导操作的执行时间的第二时间戳,基于该第一时间戳和第二时间戳可确定第一引导操作和第二引导操作的执行时间。当然,第一引导操作和第二引导操作的执行时间的记录方式有多种,不仅限于时间戳的形式。
该第一引导操作除去引导启动程序,还可引导一监控器启动,可通过该监控器基于该第一时间戳来确定第一引导操作的执行时间,并通过该监控器基于该第二时间戳来确定第二引导操作的执行时间。该监控器具体可为一监控程序,也可为一监控芯片,例如Watchdog芯片。
第二确定模块30,用于在确定所述第一引导操作和所述第二引导操作的执行时间的间隔未达到所述第一阈值的情况下,确定第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值。
启动进程可包括多个启动阶段,调用第一镜像文件为多个启动阶段中的一个启动阶段,且调用第一镜像文件之前包括一个或多个启动阶段,也即,调用第一镜像文件通常并非是启动进程中的首个启动阶段。以Linux操作系统的启动进程为例,通常包括硬件初始化、执行启动加载程序、加载和启动Linux内核镜像,以及执行启动脚本和守护进程等多个启动阶段,其中,加载和启动Linux内核镜像之前还包括硬件初始化和执行启动加载程序两个启动阶段。通常情况下,每个启动阶段均需占用特定的执行时间,当然,该执行时间因设备的配置不同而已。第一阈值可为调用第一镜像文件之前的一个或多个启动阶段所需的执行时间。
在确定第一引导操作的执行时间和第二引导操作的执行时间的情况下,可确定第一引导操作和第二引导操作的执行时间的间隔是否达到第一阈值,如果未达到第一阈值,则表明前一次引导操作所开启的启动进程尚未执行至调用第一镜像文件的启动阶段就已经失败,前一次引导操作引导电子设备启动失败并非因第一镜像文件故障所致。
此时,不对第一镜像文件的调用次数进行累加,而是基于截止至第一引导操作的前一次引导操作所累加的调用次数判断是否达到第二阈值,该第二阈值为规定的能够表明第一镜像文件因故障通常无法启动的调用次数,该第二阈值可基于试验检测或实践经验确定。在具体实施时,第一镜像文件的调用次数可作为历史信息的一个参数记载于历史信息中。确定该调用次数是否达到第二阈值的操作也可由监控器来执行。
调用模块40,用于在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数未达到所述第二阈值的情况下,调用所述第一镜像文件。
在确定截止至第一引导操作的前一次引导操作所累加的调用次数未达到第二阈值的情况下,则意味着第一镜像文件的调用次数尚未达到能够确定第一镜像文件因故障无法启动的调用次数,可继续尝试通过引导第一镜像文件来启动电子设备的系统。
本申请实施例的电子设备,确定第一引导操作和第二引导操作的执行时间的间隔未达到第一阈值,则表明第一引导操作的前一次引导操作所开启的启动进程尚未执行至调用第一镜像文件的启动阶段就已经失败,前一次引导操作引导电子设备启动失败并非因第一镜像文件故障所致,此时,不对第一镜像文件的调用次数进行累加,而是基于截止至第一引导操作的前一次引导操作所累加的调用次数判断是否达到第二阈值,并在确定未达到第二阈值的情况下,继续尝试通过引导第一镜像文件来启动电子设备的系统。如此,可以避免并非因主镜像文件原因导致启动失败致使调用次数累加,继而避免主镜像文件未出现故障的情况下转而引导备用镜像文件。
在一些实施例中,还包括更新模块,所述更新模块用于:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
在一些实施例中,所述调用模块40还用于:
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数达到所述第二阈值的情况下,调用第二镜像文件。
在一些实施例中,通过用于引导基板管理控制启动的引导程序调用基板管理控制器的所述第一镜像文件或所述第二镜像文件,以启动所述基板管理控制器。
在一些实施例中,所述第二确定模块30具体用于:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,确定所述第一引导操作是否为电子设备上电后执行的首次引导操作;
其中,在确定所述第一引导操作为所述电子设备上电后执行的首次引导操作的情况下,继续确定所述第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值。
在一些实施例中,所述调用模块40还用于:
在确定所述第一引导操作为所述电子设备上电后执行的非首次引导操作的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
在一些实施例中,所述设备还包括:
复位模块,用于在基于所述第一镜像文件启动完成的情况下,复位所述第一镜像文件的调用次数。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。

Claims (10)

1.一种信息处理方法,包括:
执行第一引导操作;其中,所述第一引导操作用于开启启动进程,通过调用第一镜像文件或第二镜像文件以启动电子设备的系统,所述启动进程包括多个启动阶段;
确定所述第一引导操作的执行时间,以及在所述第一引导操作之前执行的第二引导操作的执行时间;
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔未达到第一阈值的情况下,不对所述第一镜像文件的调用次数进行累加,确定第一镜像文件在执行所述第一引导操作之前所累加的调用次数是否达到第二阈值;其中,所述第一阈值表征所述启动进程中位于调用所述第一镜像文件之前的一个或多个启动阶段所需的执行时间;
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数未达到所述第二阈值的情况下,调用所述第一镜像文件。
2.根据权利要求1所述的信息处理方法,其中,所述方法还包括:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
3.根据权利要求1所述的信息处理方法,其中,所述方法还包括:
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数达到所述第二阈值的情况下,调用第二镜像文件。
4.根据权利要求3所述的信息处理方法,其中,通过用于引导基板管理控制启动的引导程序调用基板管理控制器的所述第一镜像文件或所述第二镜像文件,以启动所述基板管理控制器。
5.根据权利要求1所述的信息处理方法,其中,所述方法还包括:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,确定所述第一引导操作是否为电子设备上电后执行的首次引导操作;
其中,在确定所述第一引导操作为所述电子设备上电后执行的首次引导操作的情况下,继续确定所述第一镜像文件在执行所述第一引导操作之前的调用次数是否达到第二阈值。
6.根据权利要求5所述的信息处理方法,其中,所述方法还包括:
在确定所述第一引导操作为所述电子设备上电后执行的非首次引导操作的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
7.根据权利要求1-6任一项所述的信息处理方法,其中,所述方法还包括:
在基于所述第一镜像文件启动完成的情况下,复位所述第一镜像文件的调用次数。
8.一种电子设备,包括:
执行模块,用于执行第一引导操作;其中,所述第一引导操作用于开启启动进程,通过调用第一镜像文件或第二镜像文件以启动电子设备的系统,所述启动进程包括多个启动阶段;
第一确定模块,用于确定所述第一引导操作的执行时间,以及在所述第一引导操作之前执行的第二引导操作的执行时间;
第二确定模块,用于在确定所述第一引导操作和所述第二引导操作的执行时间的间隔未达到第一阈值的情况下,不对所述第一镜像文件的调用次数进行累加,确定第一镜像文件在执行所述第一引导操作之前所累加的调用次数是否达到第二阈值;其中,所述第一阈值保证所述启动进程中位于调用所述第一镜像文件之前的一个或多个启动阶段所需的执行时间;
调用模块,用于在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数未达到所述第二阈值的情况下,调用所述第一镜像文件。
9.根据权利要求8所述的电子设备,其中,还包括更新模块,所述更新模块用于:
在确定所述第一引导操作和所述第二引导操作的执行时间的间隔达到所述第一阈值的情况下,基于所述第一引导操作对所述第一镜像文件的调用次数进行更新。
10.根据权利要求8所述的电子设备,其中,所述调用模块还用于:
在确定所述第一镜像文件在执行所述第一引导操作之前的调用次数达到所述第二阈值的情况下,调用第二镜像文件。
CN202011601988.9A 2020-12-30 2020-12-30 一种信息处理方法及电子设备 Active CN112685086B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011601988.9A CN112685086B (zh) 2020-12-30 2020-12-30 一种信息处理方法及电子设备
US17/474,223 US20220206823A1 (en) 2020-12-30 2021-09-14 Information processing method and electronic apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011601988.9A CN112685086B (zh) 2020-12-30 2020-12-30 一种信息处理方法及电子设备

Publications (2)

Publication Number Publication Date
CN112685086A CN112685086A (zh) 2021-04-20
CN112685086B true CN112685086B (zh) 2022-08-19

Family

ID=75454481

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011601988.9A Active CN112685086B (zh) 2020-12-30 2020-12-30 一种信息处理方法及电子设备

Country Status (2)

Country Link
US (1) US20220206823A1 (zh)
CN (1) CN112685086B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281479A (zh) * 2014-10-31 2015-01-14 深圳市大疆创新科技有限公司 一种固件升级方法及装置
CN106095625A (zh) * 2016-07-13 2016-11-09 上海斐讯数据通信技术有限公司 无线接入设备启动方法及系统
CN109471670A (zh) * 2018-12-21 2019-03-15 迈普通信技术股份有限公司 设备启动方法及电子设备
CN110442386A (zh) * 2019-06-25 2019-11-12 苏州浪潮智能科技有限公司 一种bmc启动方法、系统、电子设备及计算机存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7073053B1 (en) * 2001-10-11 2006-07-04 Cisco Technology, Inc. Method and apparatus for a boot progression scheme for reliably initializing a system
JP2008225858A (ja) * 2007-03-13 2008-09-25 Nec Corp Biosストール障害時の復旧装置、その方法及びそのプログラム
JP5021404B2 (ja) * 2007-09-14 2012-09-05 株式会社リコー 電子機器、電子機器の起動制御方法及び画像形成装置
US9740863B2 (en) * 2014-11-25 2017-08-22 Intel Corporation Protecting a secure boot process against side channel attacks
CN105677414A (zh) * 2016-01-06 2016-06-15 无锡中太服务器有限公司 一种在Hostboot中实现双启动的方法
US9946553B2 (en) * 2016-05-04 2018-04-17 America Megatrends, Inc. BMC firmware recovery
US10599521B2 (en) * 2017-04-13 2020-03-24 Dell Products, L.P. System and method for information handling system boot status and error data capture and analysis
US10866623B2 (en) * 2018-11-16 2020-12-15 Dell Products L.P. Information handling system and method to detect and recover from no power/no post failures

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281479A (zh) * 2014-10-31 2015-01-14 深圳市大疆创新科技有限公司 一种固件升级方法及装置
CN106095625A (zh) * 2016-07-13 2016-11-09 上海斐讯数据通信技术有限公司 无线接入设备启动方法及系统
CN109471670A (zh) * 2018-12-21 2019-03-15 迈普通信技术股份有限公司 设备启动方法及电子设备
CN110442386A (zh) * 2019-06-25 2019-11-12 苏州浪潮智能科技有限公司 一种bmc启动方法、系统、电子设备及计算机存储介质

Also Published As

Publication number Publication date
CN112685086A (zh) 2021-04-20
US20220206823A1 (en) 2022-06-30

Similar Documents

Publication Publication Date Title
US20240012706A1 (en) Method, system and apparatus for fault positioning in starting process of server
US9146839B2 (en) Method for pre-testing software compatibility and system thereof
US8677189B2 (en) Recovering from stack corruption faults in embedded software systems
US20080072030A1 (en) Computer System and Method for Updating Program Code
US20090271660A1 (en) Motherboard, a method for recovering the bios thereof and a method for booting a computer
CN103970564A (zh) 嵌入式操作系统自动修复升级功能的方法及其系统
CN111767172A (zh) 一种基于看门狗及bootloader的机顶盒自修复办法
CN112631820A (zh) 软件系统的故障恢复方法及装置
CN113672306B (zh) 服务器组件自检异常恢复方法、装置、系统及介质
US20050033952A1 (en) Dynamic scheduling of diagnostic tests to be performed during a system boot process
CN113626262A (zh) 一种bmc恢复方法、系统、设备以及介质
CN102262573B (zh) 操作系统启动保护方法和装置
CN112685086B (zh) 一种信息处理方法及电子设备
JP6880961B2 (ja) 情報処理装置、およびログ記録方法
CN111488246A (zh) 一种cpld升级方法、装置、电子设备和可读存储介质
CN108319470B (zh) 创建os启动项的方法、装置、设备及可读存储介质
CN107179911B (zh) 一种重启管理引擎的方法和设备
CN106130815B (zh) 板级测试方法及装置
CN114860322A (zh) 一种基板管理控制器、控制方法及电子设备
CN113672448A (zh) BootLoader启动流程的监控方法、装置及存储介质
CN114860292A (zh) 终端设备固件升级控制方法、装置、计算机设备及介质
CN112395121A (zh) 一种驱动加载的处理方法及装置、存储介质、计算机设备
CN113434338A (zh) 数据存储的容错方法、装置、设备及存储介质
CN111858183A (zh) 一种电子设备的重启方法和装置
CN114218019A (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
GR01 Patent grant
GR01 Patent grant