CN106776282A - 一种bios程序的异常处理方法及装置 - Google Patents

一种bios程序的异常处理方法及装置 Download PDF

Info

Publication number
CN106776282A
CN106776282A CN201611050425.9A CN201611050425A CN106776282A CN 106776282 A CN106776282 A CN 106776282A CN 201611050425 A CN201611050425 A CN 201611050425A CN 106776282 A CN106776282 A CN 106776282A
Authority
CN
China
Prior art keywords
bios program
bios
program
breaks down
main
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
CN201611050425.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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201611050425.9A priority Critical patent/CN106776282A/zh
Publication of CN106776282A publication Critical patent/CN106776282A/zh
Priority to PCT/CN2017/100375 priority patent/WO2018095107A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

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

Abstract

本发明公开了一种BIOS程序的异常处理方法及装置。在该方法中,第一BIOS程序为物理设备的N个BIOS程序中的一个BIOS,且为启动物理设备的主BIOS程序;在确定第一BIOS程序发生故障后,确定所述第N个BIOS程序中的第二BIOS程序为主BIOS程序;触发第二BIOS以主BIOS程序的角色启动设备。由于在确定第一BIOS程序发生故障后将第二BIOS以主BIOS程序的角色重启设备,使得设备在短时间内即可解决BIOS故障问题,不会造成该设备所需进行的业务处理长时间中断,减少由于BIOS程序故障而带来的损失。

Description

一种BIOS程序的异常处理方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种BIOS程序的异常处理方法及装置。
背景技术
服务器的应用越来越广,金融、政府、教育等关键领域对服务器可靠性、稳定性提出了更高的要求。
BIOS(Basic Input Output System,基本输入输出***)被固化到服务器主板的存储介质中,BIOS保存着服务器最重要的基本输入输出的程序、开机后自检程序和***自启动程序等,BIOS的主要功能是为服务器提供最底层的、最直接的硬件设置和控制,因此,BIOS的可靠性和重要性不言而喻。
传统服务器往往采用单BIOS设计,即一台服务器上仅有一个BIOS,这种设计可靠性较差。当出现BIOS程序异常或者存储介质损坏时,需要等待专业的运维人员进行修复后才能恢复业务,业务中断较长时间往往会给客户带来较大的经济损失。
发明内容
本发明实施例提供了一种BIOS程序的异常处理方法及装置,用以实现当第一BIOS程序发生故障时,能够启动第二BIOS作为主BIOS程序进行业务处理。
第一方面,本发明实施例提供了一种BIOS程序的异常处理方法,包括:
第一BIOS是物理设备N个BIOS程序中的一个BIOS程序,N为大于或等于2的整数,且第一BIOS程序为用于启动所述物理设备的主BIOS程序。
在确定所述第一BIOS程序发生故障后,确定所述N个BIOS程序中的第二BIOS程序作为主BIOS程序,触发第二BIOS程序以主BIOS程序的角色启动所述设备。
由于在确定第一BIOS程序发生故障后将第二BIOS以主BIOS程序的角色重启设备,使得设备在短时间内即可解决BIOS故障问题,不会造成该设备所需进行的业务处理长时间中断,减少由于BIOS程序故障而带来的损失。
结合第一方面,在第一方面的第一种可能的实现方式中,该方法还包括对BIOS程序升级过程中发生的升级故障进行处理的方法。首先获取对第一BIOS程序所在存储介质进行读写的权限,然后对第一BIOS程序进行升级,若对第一BIOS程序升级成功,则对该设备中的其他BIOS程序中的部分或全部进行升级。若对第一BIOS程序升级失败,即确认第一BIOS程序发生故障,可以按照前述方法将第二BIOS程序作为主BIOS程序,并触发第二BIOS程序以主BIOS程序的角色启动该设备。
由于获取了对第一BIOS程序的读写权限,使得能够通过带外管理方式对第一BIOS程序进行升级,即对第一BIOS程序进行升级所用的物理通道与执行第一BIOS程序进行业务处理所用的物理通道不同,使得能够在该设备进行业务处理的同时对第一BIOS程序进行升级,而无需中断业务。
结合第一方面,在第一方面的第二种可能的实现方式中,在确定第一BIOS程序是否发生故障时,可以通过看门狗监测第一BIOS程序是否发生故障。通过看门能够狗检测到由于程序潜在错误或恶劣环境干扰等因素而导致的第一BIOS程序异常,此外,看门狗还能够对发生故障的第一BIOS程序进行复位。
结合第一方面,在第一方面的第三种可能的实现方式中,还可以通过监测在第一预设时间内第一BIOS通过硬件接口发送的信号,来判断第一BIOS程序是否发生故障。看门狗是通过接收软件信号来检测第一BIOS程序是否发生故障,若设备还未开启看门狗,还可以通过检测第一BIOS程序通过硬件接口发送的信号来判断第一BIOS程序是否发生故障。
结合第一方面,在第一方面的第四种可能的实现方式中,还可以通过CPLD监控第一BIOS程序是否发生故障。若通过CPLD监测到第一BIOS程序所在存储介质的硬件接口信号发生异常,则确定第一BIOS程序发生故障。在一些情况下,由于第一BIOS程序所在存储介质的硬件接口信号异常,导致该存储介质无法正常工作,进而使得第一BIOS程序也无法正常工作,此时可以通过CPLD监测第一BIOS程序是否能够正常运行。
结合第一方面和第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,在通过CPLD监测到第一BIOS发生故障后,可以清除CPLD中用于表示第一BIOS发生故障的标识,该标识被清除后,CPLD将发送复位信号以使该设备复位,即以第二BIOS程序为主程序启动设备。
结合第一方面,在第一方面的第六种可能的实现方式中,该设备还可以包括M个ME,M为大于等于2的整数,并对作为主ME的第一ME进行监控,在确定第一ME发送故障后,确定该M个ME中的第二ME作为主ME,并触发第二ME以主ME的角色启动设备。
由于ME运行的稳定性、可靠性也非常重要,在本发明实施例中还可以对ME进行监控,在确定主ME发送故障后,将第二BIOS以主BIOS程序的角色启动设备,使设备恢复正常工作,减少由于ME故障而带来的损失。
第二方面,本发明实施例提供了一种BIOS程序的异常处理装置,包括确定模块和触发模块。
其中,确定模块用于确定第一BIOS程序发生故障,所述第一BIOS程序是N个BIOS程序中的一个BIOS程序,N为大于或等于2的正整数,所述第一BIOS程序是在所述第一BIOS程序发生故障前用于启动物理设备的主BIOS程序;在确定所述第一BIOS程序发生故障后,确定所述N个BIOS程序中的第二BIOS程序为主BIOS程序。
触发模块用于在所述确定模块确定所述第二BIOS程序为主BIOS程序后,触发所述第二BIOS程序以主BIOS程序的角色启动所述设备。
结合第二方面,在第二方面的第一种可能的实现方式中,该装置还包括升级模块,用于:获取第一BIOS程序所在存储介质的读写权限;对第一BIOS程序进行升级;若对第一BIOS程序升级成功,则对所述第二BIOS程序进行升级。
结合第二方面,在第二方面的第二种可能的实现方式中,所述确定模块,具体用于:通过看门狗确定第一BIOS程序是否发生故障。
结合第二方面,在第二方面的第三种可能的实现方式中,所述确定模块,具体用于:若在预设时间内没有监测到第一BIOS通过硬件接口发送的信号,则确定第一BIOS发生故障。
结合第二方面,在第二方面的第四种可能的实现方式中,所述确定模块,具体用于:通过CPLD监控所述第一BIOS程序所在存储介质的硬件接口信号;若通过CPLD监测到所述第一BIOS程序所在存储介质的硬件接口信号异常,则确定第一BIOS程序发生故障。
结合第二方面和第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述触发模块,还用于:清除所述CPLD中用于表示所述第一BIOS程序发生故障的标识,以使所述CPLD触发所述第二BIOS程序以主BIOS程序的角色启动设备。
结合第二方面,在第二方面的第六种可能的实现方式中,所述确定模块,还用于:确定第一管理引擎ME发生故障,所述第一ME是M个ME中的一个ME程序,M为大于或等于2的整数,所述第一ME是在所述第一ME发生故障前用于启动所述物理设备的主ME;在确定所述第一ME发生故障后,确定所述M个ME中的第二ME为主ME。
所述触发模块,还用于触发所述第二ME以主ME的角色启动设备。
第三方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,BMC(Baseboard Management Controller,基板管理控制器)执行该计算机执行指令来实现上述第一方面或者第一方面的各种可能的实现方式提供的BIOS程序的异常处理方法。
第四方面,提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。BMC可以从计算机可读存储介质读取该计算机执行指令,执行该计算机执行指令来实施上述第一方面或者第一方面的各种可能的实现方式提供的BIOS程序的异常处理方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为现有技术中带外管理软件连接示意图;
图2为本发明实施例提供的BIOS程序的异常处理方法流程示意图之一;
图3为本发明实施例提供的BIOS程序的异常处理方法流程示意图之二;
图4为本发明实施例提供的BIOS程序的异常处理方法流程示意图之三;
图5为本发明实施例提供的BIOS程序的异常处理方法流程示意图之四;
图6为本发明实施例提供的BIOS程序的异常处理方法流程示意图之五;
图7为本发明实施例提供的BIOS程序的异常处理方法流程示意图之六;
图8为本发明实施例提供的BIOS程序的异常处理装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
为了解决设备中的BIOS程序发生异常的问题,本发明实施例提供了一种BIOS程序的异常处理方法及装置。
本发明实施例提供的方法可应用于固化有至少两个BIOS程序的物理设备中,其中,至少两个BIOS程序可以被固化于同一存储介质中,也可以被固化于不同的存储介质中。上述存储介质可以是非易失存储器,也可以是Flash存储芯片,获取其他存储介质,本发明实施例对此不做限制。
在本发明实施例中,当BIOS程序发生异常时,优选采用带外管理的方式对BIOS程序的控制。带外管理,即通过不同的物理通道传送管理控制信息和数据信息,控制面和数据面完全独立,互不影响。采用带外管理的方式,使得BIOS程序正在运行即通过数据面通道进行业务处理时,也可以通过控制面通道对其进行控制,使得对BIOS进行管理的操作可以在设备进行业务处理的过程中,而不必在设备处于待机状态时,即开机但未进行业务处理时才能对BIOS进行管理。
用于实现带外管理的软件,例如BMC(Baseboard Management Controller,基板管理控制器)等,与设备的业务***可以是完全分离或部分分离,图1所示的即为带外管理软件与设备的业务***完全分离的示意图。带外管理软件可以对业务***进行管理,例如对业务电源进行管理(上电或下电等)、提供远程KVM(Keyboard Video Mouse,键盘、显示、鼠标)功能以及提供镜像挂载的功能以方便用户对业务***的管理;带外管理软件还可以对设备的硬件进行管理,例如,监控CPU(Central Processing Unit,中央处理器)、内存、硬盘、网卡的工作状态,以便及时发现异常;此外,带外管理软件还可以提供多种用户接口供用户通过带外管理软件对设备进行管理,例如基于WEB、SSH、FTP的接口。
目前,带外管理软件BMC对上下电、温度、调速、告警、故障诊断等进行管理。其中,BMC对BIOS进行管理时,可以通过LPC(Low Pin Count,低管脚数接口)与BIOS进行通信,监控上电过程中的BIOS以及业务***的状态;或者,还可以通过SPI(Serial PeripheralInterface,串行外设接口)与固化在SPI Flash芯片中的BIOS进行通信,在获取读写权限后可以对固化在SPI Flash中的BIOS进行固件升级。
下面详细介绍本发明实施例提供的BIOS程序的异常处理方法。
参见图2,为本发明实施例提供的BIOS程序的异常处理方法的流程示意图,该方法可以由带外管理软件(例如BMC)执行。如图所示,该方法包括以下步骤:
步骤201、确定第一BIOS程序发生故障。
其中,第一BIOS程序是被固化于设备的存储介质上的N个BIOS程序中的一个BIOS程序,N为大于等于2的整数,且第一BIOS程序为第一BIOS程序发送故障前用于启动该设备的主BIOS程序。
步骤202、在确定第一BIOS程序发生故障后,确定这N个BIOS程序中的第二BIOS程序作为主BIOS程序。
可选地,当N为大于2的整数时,在确定这N个BIOS程序中的第二BIOS程序作为主BIOS程序时,可以根据预先设置的优先级,从除第一BIOS程序外的N-1个BIOS程序中将优先级最高的BIOS程序确定为作为主程序的第二BIOS程序,也可以随机从除第一BIOS程序外的N-1个BIOS程序中选取一个BIOS程序作为主程序,本发明实施例对此不做限制。
步骤203、在确定第二BIOS程序为主BIOS程序后,触发第二BIOS程序以主BIOS程序的角色启动该设备。
应当理解,本发明实施例中所使用的“第一BIOS程序”和“第二BIOS程序”是为了用于区分,而非特指某个BIOS程序。
在一些实施例中,实现上述步骤201时,可以通过看门狗确定第一BIOS程序是否发生故障,如图3所示。由于程序可能有潜在的错误,或者设备受到外界电磁场的干扰造成寄存器和内存数据的混乱,导致程序陷入死循环,无法继续正常工作,而看门狗可以定期的查看芯片的工作情况,一旦发生错误就向芯片发出重启信号;看门狗发出的命令在程序的中断中拥有最高的优先级。
看门狗,又叫watchdog timer(监视时钟),是一个定时器电路,输入端可以接收第一BIOS发送的信号,输出端可以输出复位信号给第一BIOS。当第一BIOS程序运行正常时,周期性地向看门狗发送一个信号(俗称“喂狗”),表示第一BIOS程序运行正常,看门狗在接收到信号后,将计时器清零,并重新计时。当第一BIOS程序运行异常,则无法向看门狗发送信号,而看门狗由于在设定时间内未接收到信号,则向第一BIOS发送复位信号,以使第一BIOS复位。
看门狗在设定时间内未接收到信号后,还可以向带外管理软件发送信号,以通知带外管理软件第一BIOS程序发生故障,带外管理软件在接收到看门狗发送的用于表示第一BIOS程序发生故障的信号后,执行上述步骤202和步骤203,即确定第二BIOS为主BIOS,并触发第二BIOS程序以主BIOS程序的角色启动该设备。
可选地,当带外管理软件接收到看门狗的发送的用于表示第一BIOS程序发生故障的信号后,还可以向用户提示警告信息,以使用户知晓第一BIOS程序运行异常,需要切换至第二BIOS程序,业务***将被复位。用户可以在知晓第一BIOS程序发生异常后,检测第一BIOS程序发生异常的原因。
在具体实现时,看门狗可以独立于带外管理软件,也可以集成于带外管理软件中,本发明实施例对此不做限制。
在另外一些实施例中,实现上述步骤201时,带外管理软件可以监控第一BIOS通过硬件接口发送的信号,如图4所示,第一BIOS程序若运行正常,则会通过硬件接口发送信号。带外管理软件在监测到第一BIOS通过硬件接口发送信号后,将计时器清零,并重新计时;若带外管理软件在预设时间内没有监测到第一BIOS通过硬件接口发送的信号,则确认第一BIOS程序发生异常。
看门狗是通过接收软件信号来检测第一BIOS程序是否发生故障,若设备还未开启看门狗,还可以通过检测第一BIOS程序通过硬件接口发送的信号来判断第一BIOS程序是否发生故障。因此,可以将上述两种实施例相结合,以更及时发现第一BIOS程序发生故障。
此外,在一些情况下,由于硬件上是电气信号异常,可能会导致第一BIOS程序所在的存储介质无法正常工作,进而导致设备的业务***不断复位,在此种情况下,看门狗或带外管理监控第一BIOS通过硬件接口发送信号的监控机制可能无法正常启动,此时,可以通过CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)进行监控。
如图5所示,当CPLD监测到第一BIOS程序所在的存储介质的硬件电气信号异常时,CPLD将用于标识该存储介质是否正常的标识位设置为用于表示异常的标识;CPLD可以在将该标识位设置为异常标识后主动向带外管理软件发送信号,也可以由带外管理软件定时对CPLD中的该标识位进行扫描,当带外管理软件根据该标识位上的标识确定第一BIOS程序不能正常运行时,则确定第二BIOS程序为主BIOS程序,同时清除CPLD中该用于表示异常的标识。
可选地,CPLD中用于表示异常的标识被清除后,CPLD可以直接触发设备复位,即触发第二BIOS程序以主BIOS程序的角色启动该设备。当然,也可以确定出第二BIOS程序为主BIOS程序后,由带外管理软件触发第二BIOS程序以主BIOS程序的角色启动该设备。
本发明实施例提供的BIOS程序异常处理方法,还可以应用于对BIOS程序进行升级时。在现有技术中,对BIOS程序进行升级,必须在设备处于待机的情况下进行,即设备还未开始进行业务处理时,这就使得升级过程必须中断业务,而对于需要24小时不间断的交易***、数据库等业务***来说,现有技术的升级过程十分不便。
而本发明实施例中,由于可以采用带外管理软件通过带外管理的方式,使得数据面的业务处理和控制面的固件升级可以同时进行。当需要运行第一BIOS程序以进行业务处理时,通常先将业务处理所需的程序拷贝至内存中,通过运行内存中的程序以进行业务处理,因此,此时通过与数据面独立的控制面对第一BIOS程序进行升级,并不会影响业务处理的进程。能够应用于需要业务***不间断的设备中。
带外管理软件先获取第一BIOS程序所在存储介质的读写权限,以使带外管理软件能够对第一BIOS程序进行更新。升级过程可以如图6所示,带外管理软件获取到新版本的BIOS程序时,先为作为主BIOS程序的为第一BIOS程序进行更新升级,若升级成功,则继续为该设备中N个BIOS程序中除第一BIOS程序外的其他BIOS程序进行升级。具体地,当N为大于2的整数时,可以根据预先设置的优先级,按照优先级由高到低的顺序对未进行BIOS程序进行升级;或者,对其他BIOS程序进行升级的顺序也可以是随机的;此外,还可以仅对除第一BIOS程序外的其他BIOS程序中的部分BIOS程序进行升级,可以对部分BIOS程序暂不升级,待设备运行负荷较低时再对余下的BIOS程序进行升级,本发明实施例对此不做限制。
若对第一BIOS程序升级失败,即第一BIOS程序无法正常运行发生故障,则可以按照前述方法,确定第二BIOS程序作为主BIOS程序,然后触发第二BIOS程序以主BIOS程序的角色启动该设备。
通常情况下,管理引擎(Management Engine,ME)随BIOS一同固化在设备主板的存储介质中,***启动阶段需要ME完成设备管理的一些信息配置,ME的稳定与否也将影响到设备在启动阶段的运行。
由于ME对设备在启动阶段的重要性,且ME在发生故障后往往不能自动恢复,需要重新加载固件程序,本发明实施例还可以在一个设备中固化多个ME程序,以使在作为主ME程序的第一ME程序发生故障时,可以切换至其他ME工作,以保证设备的正常运行。
通常会将作为主ME程序的第一ME程序镜像到设备的主板上,设备的主板可以将该设备的硬件信息发送给带外管理软件,带外管理软件可以根据硬件信息,通过SMLink(System Management Link,***管理链路)与设备主板进行通信。如图7所示,当检测到第一ME程序运行异常,或者第一ME主动上报异常时,带外管理软件可以确定第二ME程序为主ME程序,并触发第二ME以主ME程序的角色启动该设备。带外管理软件还可以向第一ME发送复位指令,以使第一ME进行复位,并从第二ME中拷贝固件程序。
一般来说,一个存储介质中固化有一个BIOS程序和一个ME程序,即通常第一BIOS程序和第一ME程序会被固化于同一存储介质中,因此,往往在确定第一BIOS程序或第一ME程序发生异常时,确定另一存储介质中的第二BIOS程序和第二ME程序为主BIOS程序和主ME程序。当然,也可以在同一存储介质中固化多个BIOS程序和/或多个ME程序,本发明实施例对此不做限制。
通过上述实施例,实现了在确定第一BIOS程序发生故障后将第二BIOS以主BIOS程序的角色重启设备,使得设备在短时间内即可解决BIOS故障问题,不会造成该设备所需进行的业务处理长时间中断,减少由于BIOS程序故障而带来的损失。在确定第一BIOS程序是否发生故障时,可以通过看门狗监测第一BIOS程序的软件信号,也可以由带外管理软件监测第一BIOS程序通过硬件接口发送的信号,还可以通过CPLD监测第一BIOS程序所在存储介质的硬件信号,由于可以从多方面对第一BIOS程序进行监控,实现了在不同场景下均能够及时发现第一BIOS程序发生故障,并及时解决。当需要对BIOS进行固件升级时,带外管理软件可以在设备进行业务处理时对BIOS进行固件升级,避免了由于固件升级而必须中断业务所带来的不便。此外,在本发明实施例中还可以对ME进行监控,并在ME发生故障时切换至第二ME进行工作。
基于相同的技术构思,本发明实施例还提供了一种BIOS程序的异常处理装置,用以实现上述方法实施例。参见图8,为本发明实施例提供的BIOS程序异常处理装置的结构示意图,如图所述,该装置包括:确定模块801和触发模块802,进一步地,还装置还可以包括升级模块803。
其中,确定模块801用于确定第一BIOS程序发生故障,所述第一BIOS程序是N个BIOS程序中的一个BIOS程序,N为大于或等于2的整数,所述第一BIOS程序是在所述第一BIOS程序发生故障前用于启动物理设备的主BIOS程序;在确定所述第一BIOS程序发生故障后,确定所述N个BIOS程序中的第二BIOS程序为主BIOS程序。
触发模块802用于在所述确定模块确定所述第二BIOS程序为主BIOS程序后,触发所述第二BIOS程序以主BIOS程序的角色启动所述设备。
进一步地,该装置还可以包括升级模块803,用于获取第一BIOS程序所在存储介质的读写权限;对第一BIOS程序进行升级;若对第一BIOS程序升级成功,则对所述第二BIOS程序进行升级。
可选地,确定模块801,可以通过看门狗确定第一BIOS程序是否发生故障。
可选地,确定模块801,也可以检测第一BIOS通过硬件接口发送的信号,若在预设时间内没有监测到第一BIOS通过硬件接口发送的信号,则确定第一BIOS发生故障。
可选地,确定模块801,还可以通过CPLD监控所述第一BIOS程序所在存储介质的硬件接口信号;若通过CPLD监测到所述第一BIOS程序所在存储介质的硬件接口信号异常,则确定第一BIOS程序发生故障。
可选地,若确定模块801通过CPLD监测到第一BIOS程序发送故障,触发模块802还用于:清除所述CPLD中用于表示所述第一BIOS程序发生故障的标识,以使所述CPLD触发所述第二BIOS程序以主BIOS程序的角色启动设备。
可选地,确定模块801还可以用于:确定第一管理引擎ME发生故障,所述第一ME是M个ME中的一个ME程序,M为大于或等于2的整数,所述第一ME是在所述第一ME发生故障前用于启动所述物理设备的主ME;在确定所述第一ME发生故障后,确定所述M个ME中的第二ME为主ME。此时,触发模块802,还用于触发所述第二ME以主ME的角色启动设备。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,BMC执行该计算机执行指令来实现上述BIOS程序的异常处理方法实施例。
本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。BMC可以从计算机可读存储介质读取该计算机执行指令,执行该计算机执行指令来实施BIOS程序的异常处理方法的实施例。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种基本输入输出***BIOS程序的异常处理方法,其特征在于,所述方法包括:
确定第一BIOS程序发生故障,所述第一BIOS程序是N个BIOS程序中的一个BIOS程序,N为大于或等于2的正整数,所述第一BIOS程序是在所述第一BIOS程序发生故障前用于启动物理设备的主BIOS程序;
确定所述第一BIOS程序发生故障后,确定所述N个BIOS程序中的第二BIOS程序为主BIOS程序;
确定所述第二BIOS程序为主BIOS程序后,触发所述第二BIOS程序以主BIOS程序的角色启动所述设备。
2.如权利要求1所述的方法,其特征在于,还包括:
获取第一BIOS程序所在存储介质的读写权限;
对第一BIOS程序进行升级;
若对第一BIOS程序升级成功,则对所述第二BIOS程序进行升级。
3.如权利要求1所述的方法,其特征在于,通过看门狗确定第一BIOS程序是否发生故障。
4.如权利要求1所述的方法,其特征在于,所述确定第一BIOS程序发生故障,包括:
若在预设时间内没有监测到第一BIOS通过硬件接口发送的信号,则确定第一BIOS发生故障。
5.如权利要求1所述的方法,其特征在于,所述确定第一BIOS程序发生故障,包括:
通过复杂可编程逻辑器件CPLD监控所述第一BIOS程序所在存储介质的硬件接口信号;
若通过CPLD监测到所述第一BIOS程序所在存储介质的硬件接口信号异常,则确定第一BIOS程序发生故障。
6.如权利要求5所述的方法,其特征在于,所述触发所述第二BIOS程序以主BIOS程序的角色启动设备,包括:
清除所述CPLD中用于表示所述第一BIOS程序发生故障的标识,以使所述CPLD触发所述第二BIOS程序以主BIOS程序的角色启动设备。
7.如权利要求1所述的方法,其特征在于,还包括:
确定第一管理引擎ME发生故障,所述第一ME是M个ME中的一个ME程序,M为大于或等于2的整数,所述第一ME是在所述第一ME发生故障前用于启动所述物理设备的主ME;
在确定所述第一ME发生故障后,确定所述M个ME中的第二ME为主ME;
触发所述第二ME以主ME的角色启动设备。
8.一种基本输入输出***BIOS程序的异常处理装置,其特征在于,包括:
确定模块,用于确定第一BIOS程序发生故障,所述第一BIOS程序是N个BIOS程序中的一个BIOS程序,N为大于或等于2的正整数,所述第一BIOS程序是在所述第一BIOS程序发生故障前用于启动物理设备的主BIOS程序;在确定所述第一BIOS程序发生故障后,确定所述N个BIOS程序中的第二BIOS程序为主BIOS程序;
触发模块,用于在所述确定模块确定所述第二BIOS程序为主BIOS程序后,触发所述第二BIOS程序以主BIOS程序的角色启动所述设备。
9.如权利要求8所述的装置,其特征在于,还包括升级模块,用于:
获取第一BIOS程序所在存储介质的读写权限;对第一BIOS程序进行升级;若对第一BIOS程序升级成功,则对所述第二BIOS程序进行升级。
10.如权利要求8所述的装置,其特征在于,所述确定模块,具体用于:
通过看门狗确定第一BIOS程序是否发生故障。
11.如权利要求8所述的装置,其特征在于,所述确定模块,具体用于:
若在预设时间内没有监测到第一BIOS通过硬件接口发送的信号,则确定第一BIOS发生故障。
12.如权利要求8所述的装置,其特征在于,所述确定模块,具体用于:
通过复杂可编程逻辑器件CPLD监控所述第一BIOS程序所在存储介质的硬件接口信号;
若通过CPLD监测到所述第一BIOS程序所在存储介质的硬件接口信号异常,则确定第一BIOS程序发生故障。
13.如权利要求12所述的装置,其特征在于,所述触发模块,具体用于:
清除所述CPLD中用于表示所述第一BIOS程序发生故障的标识,以使所述CPLD触发所述第二BIOS程序以主BIOS程序的角色启动设备。
14.如权利要求8所述的装置,其特征在于,所述确定模块,还用于:
确定第一管理引擎ME发生故障,所述第一ME是M个ME中的一个ME程序,M为大于或等于2的整数,所述第一ME是在所述第一ME发生故障前用于启动所述物理设备的主ME;在确定所述第一ME发生故障后,确定所述M个ME中的第二ME为主ME;
所述触发模块,还用于触发所述第二ME以主ME的角色启动设备。
CN201611050425.9A 2016-11-24 2016-11-24 一种bios程序的异常处理方法及装置 Pending CN106776282A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201611050425.9A CN106776282A (zh) 2016-11-24 2016-11-24 一种bios程序的异常处理方法及装置
PCT/CN2017/100375 WO2018095107A1 (zh) 2016-11-24 2017-09-04 一种bios程序的异常处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611050425.9A CN106776282A (zh) 2016-11-24 2016-11-24 一种bios程序的异常处理方法及装置

Publications (1)

Publication Number Publication Date
CN106776282A true CN106776282A (zh) 2017-05-31

Family

ID=58910670

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611050425.9A Pending CN106776282A (zh) 2016-11-24 2016-11-24 一种bios程序的异常处理方法及装置

Country Status (2)

Country Link
CN (1) CN106776282A (zh)
WO (1) WO2018095107A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590009A (zh) * 2017-08-31 2018-01-16 深圳市恒扬数据股份有限公司 用于主机运行过程的故障处理方法及装置
WO2018095107A1 (zh) * 2016-11-24 2018-05-31 华为技术有限公司 一种bios程序的异常处理方法及装置
CN108599981A (zh) * 2018-03-13 2018-09-28 迈普通信技术股份有限公司 业务卡的管理方法、业务卡及通信设备
CN109375956A (zh) * 2018-11-01 2019-02-22 郑州云海信息技术有限公司 一种重启操作***的方法、逻辑设备以及控制设备
CN109714205A (zh) * 2018-12-28 2019-05-03 郑州云海信息技术有限公司 一种用于白盒交换机的bios双冗余保护方法、装置及计算机
CN110083491A (zh) * 2019-05-08 2019-08-02 苏州浪潮智能科技有限公司 一种bios初始化方法、装置、设备及存储介质
WO2019169877A1 (zh) * 2018-03-07 2019-09-12 郑州云海信息技术有限公司 一种双bios的控制方法及相关装置
CN113010215A (zh) * 2021-03-12 2021-06-22 山东英信计算机技术有限公司 一种操作***快速重启的方法、装置、设备及可读介质
CN113064747A (zh) * 2021-03-26 2021-07-02 山东英信计算机技术有限公司 一种服务器启动过程中的故障定位方法、***及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017441A (zh) * 2007-02-27 2007-08-15 华为技术有限公司 一种电子设备、电子设备的启动方法及bios升级方法
CN102750206A (zh) * 2012-05-10 2012-10-24 加弘科技咨询(上海)有限公司 多bios电路及多bios切换的方法
CN103077060A (zh) * 2013-01-10 2013-05-01 中兴通讯股份有限公司 主备用bios的切换方法及装置、***
CN104615506A (zh) * 2015-02-13 2015-05-13 浪潮电子信息产业股份有限公司 一种基于逻辑控制的bios和bmc备份方法
CN104731675A (zh) * 2015-03-24 2015-06-24 浪潮集团有限公司 一种服务器***中bios的智能冗余备份方法
CN105159719A (zh) * 2015-09-06 2015-12-16 浙江大华技术股份有限公司 一种主备用基本输入输出***的启动方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776282A (zh) * 2016-11-24 2017-05-31 华为技术有限公司 一种bios程序的异常处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017441A (zh) * 2007-02-27 2007-08-15 华为技术有限公司 一种电子设备、电子设备的启动方法及bios升级方法
CN102750206A (zh) * 2012-05-10 2012-10-24 加弘科技咨询(上海)有限公司 多bios电路及多bios切换的方法
CN103077060A (zh) * 2013-01-10 2013-05-01 中兴通讯股份有限公司 主备用bios的切换方法及装置、***
CN104615506A (zh) * 2015-02-13 2015-05-13 浪潮电子信息产业股份有限公司 一种基于逻辑控制的bios和bmc备份方法
CN104731675A (zh) * 2015-03-24 2015-06-24 浪潮集团有限公司 一种服务器***中bios的智能冗余备份方法
CN105159719A (zh) * 2015-09-06 2015-12-16 浙江大华技术股份有限公司 一种主备用基本输入输出***的启动方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018095107A1 (zh) * 2016-11-24 2018-05-31 华为技术有限公司 一种bios程序的异常处理方法及装置
CN107590009A (zh) * 2017-08-31 2018-01-16 深圳市恒扬数据股份有限公司 用于主机运行过程的故障处理方法及装置
WO2019169877A1 (zh) * 2018-03-07 2019-09-12 郑州云海信息技术有限公司 一种双bios的控制方法及相关装置
CN108599981A (zh) * 2018-03-13 2018-09-28 迈普通信技术股份有限公司 业务卡的管理方法、业务卡及通信设备
CN109375956A (zh) * 2018-11-01 2019-02-22 郑州云海信息技术有限公司 一种重启操作***的方法、逻辑设备以及控制设备
CN109375956B (zh) * 2018-11-01 2021-10-15 郑州云海信息技术有限公司 一种重启操作***的方法、逻辑设备以及控制设备
CN109714205A (zh) * 2018-12-28 2019-05-03 郑州云海信息技术有限公司 一种用于白盒交换机的bios双冗余保护方法、装置及计算机
CN110083491A (zh) * 2019-05-08 2019-08-02 苏州浪潮智能科技有限公司 一种bios初始化方法、装置、设备及存储介质
CN113010215A (zh) * 2021-03-12 2021-06-22 山东英信计算机技术有限公司 一种操作***快速重启的方法、装置、设备及可读介质
CN113010215B (zh) * 2021-03-12 2023-03-21 山东英信计算机技术有限公司 一种操作***快速重启的方法、装置、设备及可读介质
CN113064747A (zh) * 2021-03-26 2021-07-02 山东英信计算机技术有限公司 一种服务器启动过程中的故障定位方法、***及装置

Also Published As

Publication number Publication date
WO2018095107A1 (zh) 2018-05-31

Similar Documents

Publication Publication Date Title
CN106776282A (zh) 一种bios程序的异常处理方法及装置
CN102597962B (zh) 用于虚拟计算环境中的故障管理的方法和***
US7716520B2 (en) Multi-CPU computer and method of restarting system
CN100517246C (zh) 一种计算机远程控制方法及***
TWI529624B (zh) Method and system of fault tolerance for multiple servers
CN106598790A (zh) 一种服务器硬件故障检测方法及其装置和服务器
US11321454B2 (en) Notice of intrusion into firmware
US9436539B2 (en) Synchronized debug information generation
JP2008033836A (ja) 伝送装置およびソフトウェア自動更新方法
JP2003150280A (ja) バックアップ管理システムおよび方法
JP6130520B2 (ja) 多重系システムおよび多重系システム管理方法
CN110445638B (zh) 一种交换机***故障保护方法及装置
CN114116280A (zh) 交互式bmc自恢复方法、***、终端及存储介质
US10824517B2 (en) Backup and recovery of configuration files in management device
WO2023065601A1 (zh) 服务器组件自检异常恢复方法、装置、***及介质
EP3528125B1 (en) Power supply unit fan recovery process
JPH09251443A (ja) 情報処理システムのプロセッサ障害回復処理方法
EP3534259B1 (en) Computer and method for storing state and event log relevant for fault diagnosis
JP6880961B2 (ja) 情報処理装置、およびログ記録方法
CN111858448B (zh) 一种i2c死锁并恢复的方法及装置
WO2017072904A1 (ja) 計算機システム、及び、障害検知方法
JP2007028118A (ja) ノード装置の故障判断方法
JP2015106226A (ja) 二重化システム
JP5019252B2 (ja) 障害処理方法、プログラム及び情報処理装置
JP2003036127A (ja) パッケージの閉塞方法

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531