CN116737471B - Bios自动切换方法、装置、电子设备及存储介质 - Google Patents

Bios自动切换方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116737471B
CN116737471B CN202310974143.1A CN202310974143A CN116737471B CN 116737471 B CN116737471 B CN 116737471B CN 202310974143 A CN202310974143 A CN 202310974143A CN 116737471 B CN116737471 B CN 116737471B
Authority
CN
China
Prior art keywords
bios
heartbeat
determining
data transmission
state
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
CN202310974143.1A
Other languages
English (en)
Other versions
CN116737471A (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.)
Jinzhou Yuanhang Beijing Information Industry Co ltd
Original Assignee
Jinzhou Yuanhang Beijing Information Industry 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 Jinzhou Yuanhang Beijing Information Industry Co ltd filed Critical Jinzhou Yuanhang Beijing Information Industry Co ltd
Priority to CN202310974143.1A priority Critical patent/CN116737471B/zh
Publication of CN116737471A publication Critical patent/CN116737471A/zh
Application granted granted Critical
Publication of CN116737471B publication Critical patent/CN116737471B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供一种BIOS自动切换方法、装置、电子设备及存储介质,属于计算机系统技术领域,所述方法包括:确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态;获取第一BIOS在当前时刻起目标时间段内的第一心跳信息并进行分析,再第一心跳信息分析结果,重新确定所述第一BIOS的工作状态,进而将服务器系统切换至第二BIOS。本发明的BIOS自动切换方法,通过在第一BIOS为正常运行状态时对第一BIOS的第一心跳信息进行分析,可以快速识别第一BIOS故障状态,进而便于快速切换至备用的第二BIOS,无需额外的硬件设备以及巨大存储空间即可实现对第一BIOS工作状态的监控识别,节省了成本。

Description

BIOS自动切换方法、装置、电子设备及存储介质
技术领域
本发明涉及计算机系统技术领域,尤其涉及一种BIOS自动切换方法、装置、电子设备及存储介质。
背景技术
当前为了服务器安全可靠需要,会考虑使用双BIOS(Basic Input/OutputSystem,基本输入输出系统)来满足这种需求。当一颗BIOS数据损坏或启动不成功,即BIOS存在故障时,就自动切换让另一颗BIOS启动运行。为了实现双BIOS的切换,现有技术中有通过 HW strap的方式来进行实现。HW strap是一种通过在服务器主板上设置跳线或短接器的方式来实现双BIOS切换的方法,HW strap 的方式需要芯片的看门狗watchdog配合使用。一些场景下,有通过 BIOS 自身的校验算法checksum 判断BIOS是否故障。如果是采用HWstrap的方式来做,对于芯片有要求,要求有HW strap 及 watchdog 功能,硬件成本较高。对于checksum 判断的方式,需要较大的BIOS flash的容量,也提高了硬件成本。
发明内容
本发明提供一种BIOS自动切换方法、装置、电子设备及存储介质,用以解决现有技术中切换BIOS成本较高的缺陷,实现节省成本的效果。
本发明提供一种BIOS自动切换方法,应用于主板管理控制器BMC,所述方法包括:
确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,所述工作状态还包括开机状态、关机状态以及故障状态;
获取第一BIOS在当前时刻起目标时间段内的第一心跳信息;所述第一心跳信息为在所述目标时间段内获取的各心跳数据包;
对所述第一心跳信息进行分析,得到第一心跳信息分析结果;所述第一心跳信息分析结果包括所述第一BIOS向所述BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式;
基于所述第一心跳信息分析结果,重新确定所述第一BIOS的工作状态;
在重新确定后的所述第一BIOS的工作状态不是所述正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过所述CPLD基于所述BIOS切换指令,将服务器系统切换至第二BIOS。
根据本发明提供的一种BIOS自动切换方法,所述基于所述第一心跳信息分析结果,重新确定所述第一BIOS的工作状态,包括:
基于所述第一心跳信息分析结果确定所述数据发送模式为持续发送模式,且确定所述数据发送频率不满足预设频率条件;
重新确定所述第一BIOS的工作状态为故障状态。
根据本发明提供的一种BIOS自动切换方法,所述基于所述第一心跳信息分析结果,重新确定所述第一BIOS的工作状态,包括:
基于所述第一心跳信息分析结果确定所述数据发送模式为持续发送模式,且确定所述数据发送频率满足预设频率条件;
确定所述数据内容与预设数据内容不同;
重新确定所述第一BIOS的工作状态为故障状态。
根据本发明提供的一种BIOS自动切换方法,所述数据发送模式通过以下方式确定:
对所述第一心跳信息的心跳数据包提取报头信息,所述报头信息包括所述第一BIOS在当前工作模式下的数据发送模式的标识信息;
基于所述报头信息中的标识信息,确定所述数据发送模式。
根据本发明提供的一种BIOS自动切换方法,所述确定所述数据内容与预设数据内容不同,包括:
对所述目标时间段内的第一心跳信息进行分析,确定在所述目标时间段内获取的各心跳数据包的发送时间;
按照各心跳数据包的发送时间将各心跳数据包进行排序,解析并检测各心跳数据包中的目标命令值;
在连续目标个数检测到所述目标命令值与所述预设数据内容不同的情况下,确定所述数据内容与所述预设数据内容不同。
根据本发明提供的一种BIOS自动切换方法,所述确定所述数据发送频率不满足预设频率条件,包括:
对所述目标时间段内的第一心跳信息进行分析,确定在所述目标时间段内获取的各心跳数据包的发送时间;
将各心跳数据包的发送时间进行筛选,基于筛选得到的各心跳数据包的发送时间确定所述数据发送频率;
将所述数据发送频率与所述预设频率条件中预设频率值进行对比,在所述数据发送频率与所述预设频率值不同的情况下,确定所述数据发送频率不满足所述预设频率条件。
根据本发明提供的一种BIOS自动切换方法,所述确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,包括:
基于与所述目标时间段相邻的上一历史时间段内获取的第二心跳信息;所述第二心跳信息为在所述历史时间段内获取的各心跳数据包;
对所述第二心跳信息进行分析,得到第二心跳信息分析结果;
基于所述第二心跳信息分析结果,确定所述第一BIOS的工作状态为所述正常运行状态。
本发明还提供一种BIOS自动切换装置,包括:
确定模块,用于确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,所述工作状态还包括开机状态、关机状态以及故障状态;
获取模块,用于获取第一BIOS在当前时刻起目标时间段内的第一心跳信息;所述第一心跳信息为在所述目标时间段内获取的各心跳数据包;
第一处理模块,用于对所述第一心跳信息进行分析,得到第一心跳信息分析结果;所述第一心跳信息分析结果包括所述第一BIOS向BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式;
第二处理模块,用于基于所述第一心跳信息分析结果,重新确定所述第一BIOS的工作状态;
第三处理模块,用于在重新确定后的所述第一BIOS的工作状态不是所述正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过所述CPLD基于所述BIOS切换指令,将服务器系统切换至第二BIOS。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述BIOS自动切换方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述BIOS自动切换方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述BIOS自动切换方法。
本发明提供的BIOS自动切换方法、装置、电子设备及存储介质,通过在第一BIOS为正常运行状态时对第一BIOS的第一心跳信息进行分析,可以快速识别第一BIOS故障状态,进而在第一BIOS故障时快速切换至备用的第二BIOS,无需额外的硬件设备以及巨大存储空间即可实现对第一BIOS工作状态的监控识别,节省了成本。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的BIOS自动切换方法的流程示意图之一;
图2是本发明提供的BIOS自动切换方法的流程示意图之二;
图3是本发明提供的BIOS自动切换装置的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合图1-图4描述本发明的BIOS自动切换方法、装置、电子设备及存储介质。
如图1所示,本发明实施例提供的BIOS自动切换方法应用于主板管理控制器(Baseboard Management Controller,BMC),本发明实施例的BIOS自动切换方法主要包括步骤110、步骤120、步骤130、步骤140以及步骤150。
步骤110,确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态。
工作状态还包括开机状态、关机状态以及故障状态。
当服务器系统的计算机启动时,BIOS被加载、执行并处于开机状态。在此状态下,BIOS执行各种自检操作,检测并初始化系统硬件,如CPU、内存、硬盘、显卡等。BIOS还从预设的存储介质(如硬盘或光盘)读取操作系统引导程序,并将控制权交给操作系统,使其继续系统启动过程。
在计算机正常关机后,BIOS进入关机状态。在此状态下,BIOS停止执行并关闭电源,系统完全断电。用户可以安全地关闭计算机电源,而不会影响数据完整性或硬件稳定性。
当计算机出现BIOS相关的故障或错误时,可能会导致BIOS进入故障状态。这些故障可能包括硬件故障、固件异常、配置错误等。例如,如果BIOS无法正确初始化硬件、读取启动介质或执行自检操作,可能会导致计算机无法启动或出现错误信息。在这种状态下,可能需要修复或更新BIOS固件,或者检查和修复可能导致故障的硬件组件。
而在正常运行状态时,第一BIOS可以配合服务器系统进行工作,进而保证服务器系统的正常运行。在此种情况下,需要对第一BIOS进行监控,及时发现第一BIOS存在的故障,并切换至备用的第二BIOS,以保证服务器系统的正常运行。
步骤120,获取第一BIOS在当前时刻起目标时间段内的第一心跳信息。
可以理解的是,第一心跳信息为在目标时间段内获取的各心跳数据包。
心跳数据包可以包括报头信息以及数据字段,报头信息可以包括数据包的起始标识和长度等元信息,或者一些定制信息。报头信息可以包含用于标识数据包的开始位置的起始标识符以及表示整个数据包的长度的数据字段。数据字段包含实际的心跳数据如硬件状态、系统运行状态、错误和警告、网络连接以及一些定制信息。
BMC获取第一BIOS发送的心跳数据包可以通过以下方式实现。
可以在第一BIOS中配置一个定期发送心跳数据包给BMC的机制。这个心跳数据包通常是通过特定的系统管理总线或接口发送的。在此基础上,BMC上运行着一个专门的程序或模块,负责监听和接收来自第一BIOS的心跳数据包。这个程序会保持与第一BIOS之间的连接,并检测是否收到心跳信号。
步骤130,对第一心跳信息进行分析,得到第一心跳信息分析结果。
第一心跳信息分析结果包括第一BIOS向BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式。
数据发送频率为心跳信号发送的频率,即发送心跳的时间间隔。数据发送频率通常可以选择以秒为单位的时间间隔,如每秒、每5秒或每10秒发送一次心跳数据包。
数据内容可以通过对心跳数据包进行解析得到,进而得到服务器系统相关的数据。
数据发送模式主要包括不同工作状态下对应的数据发送方式,可以选择不同的心跳模式来满足特定需求。例如,持续心跳模式会在系统运行期间持续发送心跳信号,而断续心跳模式只在系统启动时发送心跳信号。通过对数据发送模式的识别,可以快速确定服务器系统以及第一BIOS所处的工作状态。
在此基础上,通过对第一心跳信息进行分析,可以得到第一心跳信息分析结果。
步骤140,基于第一心跳信息分析结果,重新确定第一BIOS的工作状态。
可以理解的是,由于第一BIOS可能发生故障,导致第一BIOS处于重启时的关机状态、开机状态或者故障状态,会导致第一BIOS无法正常工作,因此需要根据第一心跳信息分析结果,重新确定第一BIOS的工作状态,进而便于自动切换至备用的第二BIOS。
步骤150,在重新确定后的第一BIOS的工作状态不是正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过CPLD基于BIOS切换指令,将服务器系统切换至第二BIOS。
可以理解的是,第二BIOS与第一BIOS一起构成服务器系统的双BIOS系统。当确定第一BIOS的工作状态不是正常运行状态的情况下,此时需要将服务器系统切换至备用的第二BIOS。
在本实施方式中,可以通过向CPLD发送BIOS切换指令,并通过CPLD基于BIOS切换指令,将服务器系统切换至第二BIOS。
CPLD内部设计有逻辑切换开关。这些开关可以将不同的逻辑元件(如逻辑门、寄存器等)和输入/输出引脚连接在一起,实现所需的电路切换功能。逻辑切换开关允许根据设计需求动态地配置和连接内部元件。通过编程和配置CPLD,可以控制CPLD内部逻辑切换开关的状态,进而使得服务器系统切换至与备用的第二BIOS进行连接。
根据本发明实施例提供的BIOS自动切换方法,通过在第一BIOS为正常运行状态时对第一BIOS的第一心跳信息进行分析,可以快速识别第一BIOS故障状态,进而在第一BIOS故障时快速切换至备用的第二BIOS,无需额外的硬件设备以及巨大存储空间即可实现对第一BIOS工作状态的监控识别,节省了成本。
在一些实施例中,基于第一心跳信息分析结果,重新确定第一BIOS的工作状态,包括以下过程。
可以理解的是,可以基于第一心跳信息分析结果确定数据发送模式为持续发送模式,且确定数据发送频率不满足预设频率条件。
在此种情况下,由于数据发送模式为持续发送模式,因此第一BIOS并不处于开机状态或者关机状态。而在确定数据发送频率不满足预设频率条件时候,则可以确定第一BIOS发生了故障,无法按照既定的频率条件来发送心跳数据包,进而重新确定第一BIOS的工作状态为故障状态。
在本实施方式中,先后对数据发送模式以及数据发送频率来进行检测与分析,排除开机状态以及关机状态的影响,能够快速分析确定第一BIOS是否发生故障。
在一些实施例中,基于第一心跳信息分析结果,重新确定第一BIOS的工作状态,具体包括以下过程。
类似地,可以先基于第一心跳信息分析结果确定数据发送模式为持续发送模式,且确定数据发送频率满足预设频率条件。
在数据发送模式为持续发送模式,且数据发送频率满足预设频率条件的情况下,进一步在对数据内容进行分析与判定。
在此基础上,若确定数据内容与预设数据内容不同,则重新确定第一BIOS的工作状态为故障状态。
在本实施方式中,由于对心跳数据包的解析需要较多的时间与运算资源,因此在排除数据发送模式以及数据发送频率无误后再进行数据内容的分析,可以提高分析效率,进而便于快速识别第一BIOS的最新工作状态,从而快速切换至第二BIOS。
在一些实施例中,数据发送模式可以通过以下方式确定。
可以理解的是,可以对第一心跳信息的心跳数据包提取报头信息,报头信息包括第一BIOS在当前工作模式下的数据发送模式的标识信息。
需要说明的是,在对第一BIOS进行配置时,可以在心跳数据包的报头信息中定制数据段用于反映数据发送模式的标识信息。
因此,BMC在获取到心跳数据包后,可以快速识别心跳数据包对应的数据发送模式,即基于报头信息中的标识信息,确定数据发送模式。
由于第一BIOS可能发生故障,故障状态下第一BIOS还会在心跳数据包中配置正常运行状态下数据发送模式的标识信息,因此,还会进行数据发送频率以及数据内容的分析来提高检测的准确性。
在一些实施例中,确定数据内容与预设数据内容不同,包括以下过程。
可以理解的是,可以对目标时间段内的第一心跳信息进行分析,确定在目标时间段内获取的各心跳数据包的发送时间。
在获取到心跳数据包后,可以根据各心跳数据包的接收时间来确定各心跳数据包的发送时间,或者,还可以直接读取各心跳数据包的时间戳,进而得到各心跳数据包的发送时间。
在此基础上,按照各心跳数据包的发送时间将各心跳数据包进行排序,解析并检测各心跳数据包中的目标命令值。
可以理解的是,目标命令值为提前配置的信息,当第一BIOS发生故障时,目标命令值会发生变化。
未排除偶然然性因素,在连续目标个数检测到目标命令值与预设数据内容不同的情况下,确定数据内容与预设数据内容不同。例如,目标个数可以是3个。
在此种情况下,可以准确识别第一BIOS是否处于故障状态,进而提高切换效率。
在一些实施例中,如图2所示,确定数据发送频率不满足预设频率条件,主要包括步骤210、步骤220和步骤230。
步骤210,对目标时间段内的第一心跳信息进行分析,确定在目标时间段内获取的各心跳数据包的发送时间。
在获取到心跳数据包后,可以根据各心跳数据包的接收时间来确定各心跳数据包的发送时间,或者,还可以直接读取各心跳数据包的时间戳,进而得到各心跳数据包的发送时间。
步骤220,将各心跳数据包的发送时间进行筛选,基于筛选得到的各心跳数据包的发送时间确定数据发送频率。
可以先对发送时间相邻的每两个心跳数据包之间的时间间隔进行统计,分别得到时间间隔的最小值和众数。
若最小值和众数相同,则按照最小值对应的时间间隔作为数据发送周期来确定数据发送频率。
若最小值和众数不相同,先确定最小值对应的两个相邻心跳数据包是否包括目标时间段内最早接收到的心跳数据包或者最晚接收到的心跳数据包。若最小值对应的两个相邻心跳数据包中不包括目标时间段内最早接收到的心跳数据包或者最晚接收到的心跳数据包,可以确定最小值对应的心跳数据包发送时间有误,按照最小值对应的时间间隔作为数据发送周期来确定一个数据发送频率。
需要说明的是,还需要按照众数对应的时间间隔作为数据发送周期来确定另一个数据发送频率。
步骤230,将数据发送频率与预设频率条件中预设频率值进行对比,在数据发送频率与预设频率值不同的情况下,确定数据发送频率不满足预设频率条件。
在得到上述数据发送频率后,将数据发送频率与预设频率条件中预设频率值进行对比。若预设频率条件中预设频率值有两个,则分别于上述过程得到的两个数据发送频率进行对比,若均不相同,则确定数据发送频率不满足预设频率条件。
而当预设频率条件中预设频率值的个数与上述过程得到的数据发送频率个数不同时,则无需进一步判断频率值是否相同,可以确定数据发送频率不满足预设频率条件。
在本实施方式中,通过对各心跳数据包的发送时间进行排序以及筛选,进而准确得到数据发送频率,进而确定数据发送频率不满足预设频率条件。
在一些实施例中,确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,包括以下过程,
可以先,基于与目标时间段相邻的上一历史时间段内获取的第二心跳信息。第二心跳信息为在历史时间段内获取的各心跳数据包。
在此基础上,对第二心跳信息进行分析,得到第二心跳信息分析结果,进而基于第二心跳信息分析结果,确定第一BIOS的工作状态为正常运行状态。
可以理解的是,在对第二心跳信息进行分析的方法可以参考上述对第一心跳信息分析的方法。
下面对本发明提供的BIOS自动切换装置进行描述,下文描述的BIOS自动切换装置与上文描述的BIOS自动切换方法可相互对应参照。
如图3所示,本发明实施例的BIOS自动切换装置主要包括确定模块310、获取模块320、第一处理模块330、第二处理模块340以及第三处理模块350。
确定模块310,用于确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,工作状态还包括开机状态、关机状态以及故障状态;
获取模块320,用于获取第一BIOS在当前时刻起目标时间段内的第一心跳信息;第一心跳信息为在目标时间段内获取的各心跳数据包;
第一处理模块330,用于对第一心跳信息进行分析,得到第一心跳信息分析结果;第一心跳信息分析结果包括第一BIOS向BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式;
第二处理模块340,用于基于第一心跳信息分析结果,重新确定第一BIOS的工作状态;
第三处理模块350,用于在重新确定后的第一BIOS的工作状态不是正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过CPLD基于BIOS切换指令,将服务器系统切换至第二BIOS。
根据本发明实施例提供的BIOS自动切换装置,通过在第一BIOS为正常运行状态时对第一BIOS的第一心跳信息进行分析,可以快速识别第一BIOS故障状态,进而在第一BIOS故障时快速切换至备用的第二BIOS,无需额外的硬件设备以及巨大存储空间即可实现对第一BIOS工作状态的监控识别,节省了成本。
在一些实施例中,第二处理模块340还用于基于第一心跳信息分析结果确定数据发送模式为持续发送模式,且确定数据发送频率不满足预设频率条件;重新确定第一BIOS的工作状态为故障状态。
在一些实施例中,第二处理模块340还用于基于第一心跳信息分析结果确定数据发送模式为持续发送模式,且确定数据发送频率满足预设频率条件;确定数据内容与预设数据内容不同;重新确定第一BIOS的工作状态为故障状态。
在一些实施例中,第一处理模块330还用于对第一心跳信息的心跳数据包提取报头信息,报头信息包括第一BIOS在当前工作模式下的数据发送模式的标识信息;基于报头信息中的标识信息,确定数据发送模式。
在一些实施例中,第二处理模块340还用于对目标时间段内的第一心跳信息进行分析,确定在目标时间段内获取的各心跳数据包的发送时间;按照各心跳数据包的发送时间将各心跳数据包进行排序,解析并检测各心跳数据包中的目标命令值;在连续目标个数检测到目标命令值与预设数据内容不同的情况下,确定数据内容与预设数据内容不同。
在一些实施例中,第二处理模块340还用于对目标时间段内的第一心跳信息进行分析,确定在目标时间段内获取的各心跳数据包的发送时间;将各心跳数据包的发送时间进行筛选,基于筛选得到的各心跳数据包的发送时间确定数据发送频率;将数据发送频率与预设频率条件中预设频率值进行对比,在数据发送频率与预设频率值不同的情况下,确定数据发送频率不满足预设频率条件。
在一些实施例中,确定模块310还用于基于与目标时间段相邻的上一历史时间段内获取的第二心跳信息;第二心跳信息为在历史时间段内获取的各心跳数据包;对第二心跳信息进行分析,得到第二心跳信息分析结果;基于第二心跳信息分析结果,确定第一BIOS的工作状态为正常运行状态。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行BIOS自动切换方法,该方法包括:确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,工作状态还包括开机状态、关机状态以及故障状态;获取第一BIOS在当前时刻起目标时间段内的第一心跳信息;第一心跳信息为在目标时间段内获取的各心跳数据包;对第一心跳信息进行分析,得到第一心跳信息分析结果;第一心跳信息分析结果包括第一BIOS向BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式;基于第一心跳信息分析结果,重新确定第一BIOS的工作状态;在重新确定后的第一BIOS的工作状态不是正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过CPLD基于BIOS切换指令,将服务器系统切换至第二BIOS。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的BIOS自动切换方法,该方法包括:确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,工作状态还包括开机状态、关机状态以及故障状态;获取第一BIOS在当前时刻起目标时间段内的第一心跳信息;第一心跳信息为在目标时间段内获取的各心跳数据包;对第一心跳信息进行分析,得到第一心跳信息分析结果;第一心跳信息分析结果包括第一BIOS向BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式;基于第一心跳信息分析结果,重新确定第一BIOS的工作状态;在重新确定后的第一BIOS的工作状态不是正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过CPLD基于BIOS切换指令,将服务器系统切换至第二BIOS。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的BIOS自动切换方法,该方法包括:确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,工作状态还包括开机状态、关机状态以及故障状态;获取第一BIOS在当前时刻起目标时间段内的第一心跳信息;第一心跳信息为在目标时间段内获取的各心跳数据包;对第一心跳信息进行分析,得到第一心跳信息分析结果;第一心跳信息分析结果包括第一BIOS向BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式;基于第一心跳信息分析结果,重新确定第一BIOS的工作状态;在重新确定后的第一BIOS的工作状态不是正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过CPLD基于BIOS切换指令,将服务器系统切换至第二BIOS。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (7)

1.一种BIOS自动切换方法,其特征在于,应用于主板管理控制器BMC,所述方法包括:
确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,所述工作状态还包括开机状态、关机状态以及故障状态;
获取第一BIOS在当前时刻起目标时间段内的第一心跳信息;所述第一心跳信息为在所述目标时间段内获取的各心跳数据包;
对所述第一心跳信息进行分析,得到第一心跳信息分析结果;所述第一心跳信息分析结果包括所述第一BIOS向所述BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式;所述数据发送模式包括持续心跳模式和断续心跳模式;
基于所述第一心跳信息分析结果,重新确定所述第一BIOS的工作状态;
在重新确定后的所述第一BIOS的工作状态不是所述正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过所述CPLD基于所述BIOS切换指令,将服务器系统切换至第二BIOS;
所述基于所述第一心跳信息分析结果,重新确定所述第一BIOS的工作状态,包括:
基于所述第一心跳信息分析结果确定所述数据发送模式为持续发送模式,且确定所述数据发送频率不满足预设频率条件;
重新确定所述第一BIOS的工作状态为故障状态;
所述基于所述第一心跳信息分析结果,重新确定所述第一BIOS的工作状态,包括:
基于所述第一心跳信息分析结果确定所述数据发送模式为持续发送模式,且确定所述数据发送频率满足预设频率条件;
确定所述数据内容与预设数据内容不同;
重新确定所述第一BIOS的工作状态为故障状态;
所述数据发送模式通过以下方式确定:
对所述第一心跳信息的心跳数据包提取报头信息,所述报头信息包括所述第一BIOS在当前工作模式下的数据发送模式的标识信息;
基于所述报头信息中的标识信息,确定所述数据发送模式。
2.根据权利要求1所述的BIOS自动切换方法,其特征在于,所述确定所述数据内容与预设数据内容不同,包括:
对所述目标时间段内的第一心跳信息进行分析,确定在所述目标时间段内获取的各心跳数据包的发送时间;
按照各心跳数据包的发送时间将各心跳数据包进行排序,解析并检测各心跳数据包中的目标命令值;所述目标命令值为提前配置的数据值;
在连续目标个数检测到所述目标命令值与所述预设数据内容不同的情况下,确定所述数据内容与所述预设数据内容不同。
3.根据权利要求1所述的BIOS自动切换方法,其特征在于,所述确定所述数据发送频率不满足预设频率条件,包括:
对所述目标时间段内的第一心跳信息进行分析,确定在所述目标时间段内获取的各心跳数据包的发送时间;
将各心跳数据包的发送时间进行筛选,基于筛选得到的各心跳数据包的发送时间确定所述数据发送频率;
将所述数据发送频率与所述预设频率条件中预设频率值进行对比,在所述数据发送频率与所述预设频率值不同的情况下,确定所述数据发送频率不满足所述预设频率条件。
4.根据权利要求1所述的BIOS自动切换方法,其特征在于,所述确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,包括:
基于与所述目标时间段相邻的上一历史时间段内获取的第二心跳信息;所述第二心跳信息为在所述历史时间段内获取的各心跳数据包;
对所述第二心跳信息进行分析,得到第二心跳信息分析结果;
基于所述第二心跳信息分析结果,确定所述第一BIOS的工作状态为所述正常运行状态。
5.一种BIOS自动切换装置,其特征在于,包括:
确定模块,用于确定服务器系统当前运行的第一BIOS的工作状态为正常运行状态,所述工作状态还包括开机状态、关机状态以及故障状态;
获取模块,用于获取第一BIOS在当前时刻起目标时间段内的第一心跳信息;所述第一心跳信息为在所述目标时间段内获取的各心跳数据包;
第一处理模块,用于对所述第一心跳信息进行分析,得到第一心跳信息分析结果;所述第一心跳信息分析结果包括所述第一BIOS向BMC发送心跳信息的数据发送频率、数据内容以及数据发送模式;所述数据发送模式包括持续心跳模式和断续心跳模式;所述第一处理模块还用于对所述第一心跳信息的心跳数据包提取报头信息,所述报头信息包括所述第一BIOS在当前工作模式下的数据发送模式的标识信息;基于所述报头信息中的标识信息,确定所述数据发送模式;
第二处理模块,用于基于所述第一心跳信息分析结果,重新确定所述第一BIOS的工作状态;所述第二处理模块还用于基于所述第一心跳信息分析结果确定所述数据发送模式为持续发送模式,且确定所述数据发送频率不满足预设频率条件;重新确定所述第一BIOS的工作状态为故障状态;所述第二处理模块还用于基于所述第一心跳信息分析结果确定所述数据发送模式为持续发送模式,且确定所述数据发送频率满足预设频率条件;确定所述数据内容与预设数据内容不同;重新确定所述第一BIOS的工作状态为故障状态;
第三处理模块,用于在重新确定后的所述第一BIOS的工作状态不是所述正常运行状态的情况下,向复杂可编程逻辑器件CPLD发送BIOS切换指令,并通过所述CPLD基于所述BIOS切换指令,将服务器系统切换至第二BIOS。
6.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述BIOS自动切换方法。
7.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述BIOS自动切换方法。
CN202310974143.1A 2023-08-04 2023-08-04 Bios自动切换方法、装置、电子设备及存储介质 Active CN116737471B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310974143.1A CN116737471B (zh) 2023-08-04 2023-08-04 Bios自动切换方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310974143.1A CN116737471B (zh) 2023-08-04 2023-08-04 Bios自动切换方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116737471A CN116737471A (zh) 2023-09-12
CN116737471B true CN116737471B (zh) 2023-11-21

Family

ID=87913665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310974143.1A Active CN116737471B (zh) 2023-08-04 2023-08-04 Bios自动切换方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116737471B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117215859B (zh) * 2023-11-07 2024-02-09 苏州元脑智能科技有限公司 主备bios自动切换方法、自动切换装置和计算机

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760592A (zh) * 2021-07-30 2021-12-07 郑州云海信息技术有限公司 一种节点内核检测方法和相关装置
CN114116280A (zh) * 2021-11-11 2022-03-01 苏州浪潮智能科技有限公司 交互式bmc自恢复方法、系统、终端及存储介质
CN114296995A (zh) * 2021-11-30 2022-04-08 苏州浪潮智能科技有限公司 一种服务器自主修复bmc的方法、系统、设备及存储介质
CN114691408A (zh) * 2022-04-18 2022-07-01 苏州浪潮智能科技有限公司 一种基板管理控制器故障检测装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8713295B2 (en) * 2004-07-12 2014-04-29 Oracle International Corporation Fabric-backplane enterprise servers with pluggable I/O sub-system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760592A (zh) * 2021-07-30 2021-12-07 郑州云海信息技术有限公司 一种节点内核检测方法和相关装置
CN114116280A (zh) * 2021-11-11 2022-03-01 苏州浪潮智能科技有限公司 交互式bmc自恢复方法、系统、终端及存储介质
CN114296995A (zh) * 2021-11-30 2022-04-08 苏州浪潮智能科技有限公司 一种服务器自主修复bmc的方法、系统、设备及存储介质
CN114691408A (zh) * 2022-04-18 2022-07-01 苏州浪潮智能科技有限公司 一种基板管理控制器故障检测装置

Also Published As

Publication number Publication date
CN116737471A (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
CN112948157B (zh) 服务器故障定位方法、装置、系统及计算机可读存储介质
US10491671B2 (en) Method and apparatus for switching between servers in server cluster
CN113064747B (zh) 一种服务器启动过程中的故障定位方法、系统及装置
CN116737471B (zh) Bios自动切换方法、装置、电子设备及存储介质
CN109510742B (zh) 一种服务器网卡远程测试方法、装置、终端及存储介质
CN110928743A (zh) 一种计算系统、自动诊断方法及存储有其指令的介质
CN106547653B (zh) 计算机系统故障状态检测方法、装置及系统
US11048570B2 (en) Techniques of monitoring and updating system component health status
US20130117518A1 (en) System controller, information processing system and method of saving and restoring data in the information processing system
CN113867812B (zh) 一种bmc获取链路信息的方法、系统、设备以及介质
US20200026682A1 (en) Techniques of accessing serial console of bmc using host serial port
CN114816822A (zh) 一种基于内存故障的服务器管理方法、装置以及系统
CN115168146A (zh) 一种异常检测方法和装置
CN115098342A (zh) 系统日志收集方法、系统、终端及存储介质
CN104268026A (zh) 嵌入式系统的监控管理方法和装置
CN113852502A (zh) 一种智能网卡的故障诊断方法、装置、设备及可读介质
CN114385405A (zh) 一种实现服务器重启原因记录的方法、装置、系统
US11169882B2 (en) Identification of a suspect component causing an error in a path configuration from a processor to IO devices
CN113535441A (zh) 一种嵌入式系统故障诊断装置及方法
CN114978891B (zh) 网络设备bios配置的处理方法、设备及存储介质
US9639438B2 (en) Methods and systems of managing an interconnection
CN116719712B (zh) 处理器串口日志输出方法、装置、电子设备及存储介质
JP2020086606A (ja) 情報処理装置及び制御プログラム
CN114328044B (zh) 一种AIC+box拓扑的测试方法、装置和系统
CN116382968B (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