CN113312214A - 操作计算机的方法、装置、电子设备和存储介质 - Google Patents
操作计算机的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN113312214A CN113312214A CN202110650789.5A CN202110650789A CN113312214A CN 113312214 A CN113312214 A CN 113312214A CN 202110650789 A CN202110650789 A CN 202110650789A CN 113312214 A CN113312214 A CN 113312214A
- Authority
- CN
- China
- Prior art keywords
- self
- computer
- code
- checking code
- checking
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012360 testing method Methods 0.000 claims abstract description 66
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012423 maintenance Methods 0.000 claims description 6
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 2
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000001514 detection method Methods 0.000 abstract description 7
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 28
- 230000006870 function Effects 0.000 description 24
- 238000011084 recovery Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
Abstract
本公开公开了一种操作计算机的方法、装置、电子设备和存储介质,具体涉及计算机技术领域,尤其涉及计算机故障检测领域。具体实现方案为:响应于检测到计算机处于启动状态,在计算机的自检期间定期地获取自检码;根据预定义的自检码配置文件确定所获取的自检码是否是需要检测的自检码;当确定所获取的自检码是需要检测的自检码时,确定获取的当前自检码是否与上一次获取的自检码相同;当确定当前自检码与上一次获取的自检码相同时,确定当前自检码的维持时间是否超过与当前自检码相关联的预设阈值;以及当确定当前自检码的维持时间超过预设阈值时,确定计算机发生故障,以便重新启动计算机。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及计算机故障检测领域,具体涉及一种操作计算机的方法、装置、电子设备和存储介质。
背景技术
服务器在启动后通过主板上的BIOS(Basic Input Output System)芯片进行POST(Power On Self Test,加电自检或上电自检)过程,该过程检测服务器硬件设备(比如存储器、内存、扩展卡等)的工作状态是否正常。BIOS厂商对每一个设备都给出了一个POSTcode,即开机自检代码。如果某个设备没有通过检测,则POST过程停止并且保留相应的POSTcode,也就是说,在服务器启动过程中如果发生故障,导致服务器无法正常启动。
发明内容
本公开提供了一种操作计算机的方法、装置、电子设备和存储介质。
根据本公开的一方面,提供了一种操作计算机的方法,包括:
响应于检测到所述计算机处于启动状态,在所述计算机的自检期间定期地获取自检码;
根据预定义的自检码配置文件确定所获取的自检码是否是需要检测的自检码;
当确定所获取的自检码是需要检测的自检码时,确定获取的当前自检码是否与上一次获取的自检码相同;
当确定所述当前自检码与上一次获取的自检码相同时,确定所述当前自检码的维持时间是否超过与所述当前自检码相关联的预设阈值;以及
当确定所述当前自检码的维持时间超过所述预设阈值时,确定所述计算机发生故障,以便重新启动所述计算机。
根据本公开的另一方面,提供了一种操作计算机的装置,包括:
获取模块,用于响应于检测到所述计算机处于启动状态,在所述计算机的自检期间定期地获取自检码;
第一确定模块,用于根据预定义的自检码配置文件确定所获取的自检码是否是需要检测的自检码;
第二确定模块,用于当确定所获取的自检码是需要检测的自检码时,确定获取的当前自检码是否与上一次获取的自检码相同;
第三确定模块,用于当确定所述当前自检码与上一次获取的自检码相同时,确定所述当前自检码的维持时间是否超过与所述当前自检码相关联的预设阈值;以及
第四确定模块,用于当确定所述当前自检码的维持时间超过所述预设阈值时,确定所述计算机发生故障,以便重新启动所述计算机。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开中所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行本公开中所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开中所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的计算机的示例性配置的框图;
图2是根据本公开实施例的操作计算机的方法的示意性流程图;
图3是根据本公开实施例的BMC初始化过程的示例的示意性流程图;
图4是根据本公开实施例的操作计算机的装置的示意性框图;以及
图5是根据本公开实施例的电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
计算机在启动过程中会出现无法正常启动的故障。针对这种情况,一种处理方式是,当发生启动故障时,保留现场,供研发人员除错(debug)。该方式有利于研发人员定位问题,但是耗费时间,并且影响服务器使用效率。另一种处理方式是,手动重启服务器,使系统恢复正常。该方式一般不影响服务器正常使用,但是缺少自动化解决流程,并且无法记录故障信息。
例如服务器在主板上集成有BMC(Baseboard Management Controller,基板管理控制器),用于远程监控和管理。本公开提供了一种操作计算机的方法和装置,该方法和装置在BMC端配置自检码配置文件并根据所配置的自检码配置文件对例如服务器的计算机进行监控,以实现在计算机发生启动故障时的故障自恢复功能,即,使计算机从故障中自动恢复,以正常启动。
下面将参考附图对根据本公开实施例的操作计算机的方法和装置进行详细描述。
图1是根据本公开实施例的计算机的示例性配置的框图。
如图1所示,计算机100上安装有BMC芯片110和BIOS芯片120,以下分别简称为BMC110和BIOS 120。
根据本公开的实施例,在BMC 110处配置自检码配置文件,并且BMC110可以在计算机100的POST过程(即,上电自检过程)中从BIOS120获取POST code(即,自检码)。此外,BMC110可以根据所配置的自检码配置文件对计算机100的启动进行监控以实现上述故障自恢复功能,下面将参考图2对此进行详细描述。
根据本公开的实施例,在自检码配置文件中定义了需要检测的自检码(即,目标自检码)以及与自检码相关联的时间阈值。需要检测的自检码可以由BIOS开发人员提供,从BIOS文档获得,或者根据自检码设定规则进行设置。根据一个示例,必要时,可以修改自检码配置文件中的自检码。根据另一个示例,可以根据需要在自检码配置文件中增加需要检测的自检码和相关联的时间阈值。另外,根据本公开的实施例,与自检码相关联的时间阈值可以由用户根据需要进行预设,并且可以针对不同的自检码设置不同的时间阈值。例如,可以根据BIOS开发人员的建议来设置时间阈值,或者可以考虑计算机的启动时间、需要检测的自检码数目等来设置时间阈值。根据示例,可以在自检码配置文件中定义默认的时间阈值(例如,90s),并且该默认的时间阈值可以根据计算机操作系统的差异进行修改。
根据本公开的实施例,自检码配置文件中包括的自检码及自检码数目可以根据计算机系统而不同,并且自检码POST code的含义可根据BIOS厂商的设置或规定而不同。例如,可以针对不同的服务器设置不同的自检码。另外,自检码配置文件中定义的自检码越多,对计算机系统实现的监控功能越好,即,可以最大程度地实现监控功能。然而,自检码配置文件中不包括客户状态下的自检码,例如计算机启动后进入BIOS setup时的自检码。
另外,根据本公开的实施例,可以在自检码配置文件中设置开关宏,用于开启或关闭本文描述的故障自恢复功能。根据一个示例,可以在研发阶段通过该开关宏关闭故障自恢复功能,以在计算机发生故障或出现问题时保留现场,便于研发人员定位问题。根据另一个示例,可以在已交付或临交付的计算机上通过该开关宏开启故障自恢复功能,以保证计算机系统的稳定性。此外,可以采用各种方法来设置该开关宏的形式,只要其能实现故障自恢复功能的开启和关闭。
下面示出根据本公开实施例的自检码配置文件的一个示例,其包括需要检测的四个自检码(0x13、0x38、0x3b、0x78),它们的含义如下描述。例如,对于“0x13”,其描述为“初始化IPL设备”;对于“0x38”,其描述为“USB控制器初始化”;对于“0x3b”,其描述为“芯片组寄存器的早期POST初始化”;对于“0x78”,其描述为“存储器测试”。
根据本公开的实施例,对于每个自检码,可以设置相应的时间阈值(单位为s)。例如,对于0x13,可以设置60s的时间阈值;对于0x38,可以设置120s的时间阈值;对于0x3b,可以设置60s的时间阈值;对于0x78,可以设置60s的时间阈值。
此外,根据本公开的实施例,对于每个自检码,可以单独设置开关(switch)值以指示是否开启针对该自检码的自恢复功能。例如,开关值为1,表示开启自恢复功能;开关值为0,表示关闭自恢复功能。例如,对于0x13,开关值为0,以指示不开启针对其的自恢复功能;对于0x38,开关值为1,以指示开启针对其的自恢复功能;对于0x3b,开关值为1,以指示开启针对其的自恢复功能;对于0x78,开关值为1,以指示开启针对其的自恢复功能。
另外,该自检码配置文件的示例还包括开关宏Macro_Switch。当Macro_Switch=1时,表示开启故障自恢复功能;当Macro_Switch=0时,表示关闭故障自恢复功能。
根据本公开的实施例,BIOS 120可以响应于计算机启动而执行POST过程,并向BMC110提供POST code。在POST过程中,BIOS 120可以对计算机的CPU、内存、扩展卡、ROM、主板、存储器、显卡等组件执行检查以确定各组件的工作状态是否正常,以便正常启动计算机。
此外,根据本公开的实施例,当BMC 110从BIOS 120获得指示POST过程完成的信号时,计算机100可以执行启动操作系统等操作,以便完成计算机100的正常启动。
图2是根据本公开实施例的操作计算机的方法的示意性流程图。以上参考图1进行的描述也适用于图2,因此为了简洁起见,将省略重复描述。特别地,图2所示的操作计算机的方法200可以由BMC 110执行。
如图2所示,方法200包括以下描述的步骤。
在步骤S210,响应于检测到计算机处于启动状态,例如,计算机的电源状态从Power Off(断电)改变为Power On(通电),在计算机自检过程中定期地(例如,每隔两秒)获取自检码(例如,POST code)。
在步骤S220,根据自检码配置文件确定所获取的自检码是否是需要检测的自检码。根据本公开的实施例,自检码配置文件是在BMC中预配置的(预定义的),包括需要检测的多个自检码(例如,与多个计算机硬件设备相对应的多个自检码)和与多个自检码相关联的时间阈值。根据本公开的实施例,可以针对不同的自检码设置不同的时间阈值。例如,将与对应于网卡的自检码相关联的时间阈值设置为第一值,并将与对应于内存的自检码相关联的时间阈值设置为第二值,其中第一值不同于第二值。此外,自检码配置文件可以根据不同的计算机系统(例如,不同的服务器)而变化,即,包括不同的目标自检码和时间阈值。
当在步骤S220确定所获取的自检码是需要检测的自检码时,执行步骤S230,否则返回步骤S210。换言之,当在步骤S220确定所获取的自检码不是需要检测的自检码时,继续获取自检码。
在步骤S230,确定获取的当前自检码是否与上一次获取的自检码相同,即,确定获取的自检码是否发生变化。如果当前自检码与上一次获取的自检码不同,即自检码发生变化,则表明与该自检码相对应的计算机组件(例如,如内存、存储器、扩展卡等的硬件设备)通过检测,也就是说,该组件工作状态正常。相反,如果当前自检码与上一次获取的自检码相同,即自检码未发生变化,则表明与该自检码相对应的组件可能没有通过检测,自检过程可能处于停止,因而计算机启动可能发生故障。
当在步骤S230确定当前自检码与上一次获取的自检码相同时,执行步骤S240,否则返回步骤S210。换言之,当在步骤S230确定当前自检码与上一次获取的自检码不相同时,继续获取自检码。
在步骤S240,确定当前自检码的维持时间是否超过预设阈值(即,自检码配置文件中预定义的与当前自检码相关联的时间阈值)。如果当前自检码的维持时间超过预设阈值,则表明同一自检码在自检过程中保持的时间过长以致超过了预设阈值,因此,可以确定与当前自检码相对应的硬件设备发生异常,导致计算机启动发生故障(例如,死机)。如果当前自检码的维持时间未超过预设阈值,则表明与当前自检码相对应的硬件设备在自检过程中通过了检测。
当在步骤S240确定当前自检码的维持时间超过预设阈值时,执行步骤S250,否则返回步骤S210。换言之,当在步骤S240确定当前自检码的维持时间未超过预设阈值时,继续获取自检码。
在步骤S250,确定计算机发生故障,以便重新启动计算机。也就是说,与当前自检码相对应的硬件设备发生异常,导致计算机无法正常启动。
本领域技术人员可以理解,在确定计算机发生故障的情况下,可以执行计算机的重新启动,例如,热重启(在不掉电的情况下重启计算机),以使计算机重新执行自检过程,并且再次执行图2中所示的方法200,直至自检过程(例如,POST过程)成功完成并且计算机正常启动。
根据本公开的实施例,当确定计算机发生故障时,可以记录故障相关信息。作为示例,故障相关信息可以包括以下至少一项:故障发生时的自检码、故障发生的时间、故障发生的次数、与CPU有关的信息、与发生故障的计算机组件有关的信息。另外,根据本公开的实施例,可以将故障相关信息以日志(Log)形式存储在计算机中。特别地,可以将故障相关信息存储为BMC目录空间内的日志文件。此外,BMC目录空间可以设置为对客户不可见。因此,根据本公开实施例的计算机操作方法可以在计算机启动发生故障时保存故障相关信息,以供研发人员后续定位问题。
此外,根据本公开的另一实施例,可以在确定计算机启动故障并且完成了故障相关信息的记录时将计算机重新启动,以便计算机重新执行自检过程,并且再次执行图2中所示的方法200,直至自检过程(例如,POST过程)成功完成并且计算机正常启动。
因此,根据本公开实施例的操作计算机的方法能够针对不同的计算机系统(例如,不同的服务器)定制不同的自检码配置文件并将自检码配置文件应用于集成在主板上的BMC,使得BMC基于自检码配置文件对计算机系统的BIOS的POST过程进行监控,从而既扩展了BMC的故障恢复功能,又利用了BIOS系统的标准功能,从而降低开发和运维成本并提高机器使用效率。同时,根据本公开实施例的操作计算机的方法能够在计算机发生启动故障时实现故障自恢复功能,而无需人为重启计算机,从而提高系统稳定性,并且整个启动过程对客户无感,也就是说,从客户的角度来看,计算机是正常启动的,而不是因故障重启,从而改善用户体验。
图3是根据本公开实施例的BMC初始化过程的示例的示意性流程图。以上参考图1和图2进行的描述也适用于图3,因此为了简洁起见,将省略重复描述。例如,图3所示的初始化过程是在检测计算机处于启动状态之前执行的。换言之,根据本公开实施例的计算机操作方法在执行图3所示的初始化过程后执行图2所示的方法200。BMC在执行初始化之后根据自检码配置文件执行对计算机的监控,以在发生故障时使计算机重新启动并实现自恢复。
如图3所示,BMC初始化过程300包括以下描述的操作步骤。
在S310,解析配置在BMC中的自检码配置文件。以上在对图1的描述中详细描述了自检码配置文件,因此,这里省略其描述。
在S320,将包括在自检码配置文件中的自检码和时间阈值同步到内存中。
在S330,根据自检码配置文件对计算机进行监控,以执行以上参考图2描述的操作计算机的方法。
此外,可以可选地执行S340,例如,当需要修改自检码配置时,可以执行S340。在S340,可以通过外部IPMI(Intelligent Platform Management Interface,智能平台管理接口)指令修改自检码配置文件。之后,可以将经修改的自检码配置文件中包括的自检码和时间阈值同步到内存中(S320)。
图4是根据本公开实施例的操作计算机的装置的示意性框图。以上参考图1至图3进行的描述也适用于图4,因此,为了简洁起见,将省略重复描述。特别地,根据本公开的实施例,图4所示的操作计算机的装置400可以被配置为执行图2所示的方法200,即,装置400可以执行本文所描述的计算机的故障自恢复功能。
如图4所示,操作计算机的装置400可以包括获取模块410、第一确定模块420、第二确定模块430、第三确定模块440和第四确定模块450。
根据本公开的实施例,获取模块410可以被配置为响应于检测到计算机处于启动状态,在计算机的自检期间定期地获取自检码。例如,响应于计算机的电源状态从PowerOff(断电)状态变化到Power On(通电)状态,获取模块410可以在计算机的POST过程中定期地(例如,每隔两秒)获取POST code。
根据本公开的实施例,第一确定模块420可以被配置为根据预定义的自检码配置文件确定所获取的自检码是否是需要检测的自检码。例如,该预定义的自检码配置文件是配置在集成于计算机上的BMC中的,并且包括例如与计算机自检有关的多个目标自检码和时间阈值。
根据本公开的实施例,第二确定模块430可以被配置为当所获取的自检码是需要检测的自检码时,确定获取的当前自检码是否与上一次获取的自检码相同。另外,当确定所获取的自检码不是需要检测的自检码时,可以由获取模块410继续获取自检码。
根据本公开的实施例,第三确定模块440可以被配置为当该当前自检码与上一次获取的自检码相同时,确定该当前自检码的维持时间是否超过预设阈值。另外,当确定当前自检码与上一次获取的自检码不同时,可以由获取模块410继续获取自检码。
根据本公开的实施例,第四确定模块450可以被配置为当该当前自检码的维持时间超过预设阈值时,确定计算机发生故障,以便重新启动计算机。另外,当确定当前自检码的维持时间未超过预设阈值时,可以由获取模块410继续获取自检码。
根据本公开的实施例,当确定计算机发生故障时,可以将故障相关信息以日志(Log)形式存储在BMC目录空间内。例如,故障相关信息可以包括以下至少一项:故障发生时的自检码、故障发生的时间、故障发生的次数、与CPU有关的信息、与发生故障的计算机组件有关的信息。因此,根据本公开实施例的计算机操作方法可以在计算机启动发生故障时保存故障相关信息,以供研发人员后续定位问题。
根据本公开的实施例,当确定计算机启动故障并且完成故障相关信息的记录时,重新启动计算机,并且计算机在重新启动后重新执行POST过程,以便装置400再次执行对计算机的监控并且必要时可以再次执行故障自恢复,直至计算机正常启动。
另外,根据本公开的实施例,装置400还可以包括解析模块和存储器。解析模块可以被配置为在检测计算机处于启动状态之前,解析在计算机的BMC中配置的自检码配置文件。如上所述,自检码配置文件包括需要检测的多个自检码和与该多个自检码相关联的预设阈值。存储器可以被配置为在计算机的BMC目录空间内以日志形式存储故障相关信息。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如由上述装置400执行的方法和处理。例如,在一些实施例中,这些方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器远离彼此并且可以通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (15)
1.一种操作计算机的方法,包括:
响应于检测到所述计算机处于启动状态,在所述计算机的自检期间定期地获取自检码;
根据预定义的自检码配置文件确定所获取的自检码是否是需要检测的自检码;
当确定所获取的自检码是需要检测的自检码时,确定获取的当前自检码是否与上一次获取的自检码相同;
当确定所述当前自检码与上一次获取的自检码相同时,确定所述当前自检码的维持时间是否超过与所述当前自检码相关联的预设阈值;以及
当确定所述当前自检码的维持时间超过所述预设阈值时,确定所述计算机发生故障,以便重新启动所述计算机。
2.根据权利要求1所述的方法,还包括:在检测所述计算机处于启动状态之前,解析在所述计算机的基板管理控制器中配置的自检码配置文件,
其中,所述自检码配置文件包括需要检测的多个自检码和与所述多个自检码相关联的预设阈值。
3.根据权利要求1所述的方法,还包括:当确定所获取的自检码不是需要检测的自检码时,继续获取自检码。
4.根据权利要求1所述的方法,还包括:当确定所述当前自检码与上一次获取的自检码不相同时,或者当确定所述当前自检码的维持时间未超过所述预设阈值时,继续获取自检码。
5.根据权利要求1所述的方法,还包括:当确定所述计算机发生故障时,将故障相关信息以日志形式存储在所述计算机的基板管理控制器目录空间内。
6.根据权利要求5所述的方法,其中,所述故障相关信息包括以下至少一项:故障发生时的自检码、故障发生的时间、故障发生的次数、与CPU有关的信息、与发生故障的计算机组件有关的信息。
7.根据权利要求1所述的方法,还包括:基于从外部获取的自检码修改指令,修改所述自检码配置文件。
8.一种操作计算机的装置,包括:
获取模块,用于响应于检测到所述计算机处于启动状态,在所述计算机的自检期间定期地获取自检码;
第一确定模块,用于根据预定义的自检码配置文件确定所获取的自检码是否是需要检测的自检码;
第二确定模块,用于当确定所获取的自检码是需要检测的自检码时,确定获取的当前自检码是否与上一次获取的自检码相同;
第三确定模块,用于当确定所述当前自检码与上一次获取的自检码相同时,确定所述当前自检码的维持时间是否超过与所述当前自检码相关联的预设阈值;以及
第四确定模块,用于当确定所述当前自检码的维持时间超过所述预设阈值时,确定所述计算机发生故障,以便重新启动所述计算机。
9.根据权利要求8所述的装置,还包括:解析模块,用于在检测所述计算机处于启动状态之前,解析在所述计算机的基板管理控制器中配置的自检码配置文件,
其中,所述自检码配置文件包括需要检测的多个自检码和与所述多个自检码相关联的预设阈值。
10.根据权利要求8所述的装置,其中,所述获取模块用于当第一确定模块确定所获取的自检码不是需要检测的自检码时,继续获取自检码。
11.根据权利要求8所述的装置,其中,所述获取模块用于当第二确定模块确定所述当前自检码与上一次获取的自检码不相同时,或者当第三确定模块确定所述当前自检码的维持时间未超过所述预设阈值时,继续获取自检码。
12.根据权利要求8所述的装置,还包括:存储器,当第四确定模块确定所述计算机发生故障时,在所述计算机的基板管理控制器目录空间内以日志形式存储故障相关信息。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行根据权利要求1-7中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求1-7中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110650789.5A CN113312214A (zh) | 2021-06-10 | 2021-06-10 | 操作计算机的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110650789.5A CN113312214A (zh) | 2021-06-10 | 2021-06-10 | 操作计算机的方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312214A true CN113312214A (zh) | 2021-08-27 |
Family
ID=77378242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110650789.5A Pending CN113312214A (zh) | 2021-06-10 | 2021-06-10 | 操作计算机的方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312214A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011493A1 (en) * | 2003-05-06 | 2007-01-11 | Lenovo (Beijing) Limited | Method for renovating the computer operating system |
US20070234123A1 (en) * | 2006-03-31 | 2007-10-04 | Inventec Corporation | Method for detecting switching failure |
US20130227333A1 (en) * | 2010-10-22 | 2013-08-29 | Fujitsu Limited | Fault monitoring device, fault monitoring method, and non-transitory computer-readable recording medium |
CN107168834A (zh) * | 2017-05-05 | 2017-09-15 | 天津市英贝特航天科技有限公司 | 计算机开机故障的检测方法和装置 |
CN108376107A (zh) * | 2018-03-01 | 2018-08-07 | 郑州云海信息技术有限公司 | 一种服务器故障检测的方法、装置、设备及存储介质 |
CN110347558A (zh) * | 2019-07-16 | 2019-10-18 | 深圳市同泰怡信息技术有限公司 | 一种服务器设备故障诊断方法和装置以及设备 |
CN111026576A (zh) * | 2019-12-09 | 2020-04-17 | 山东超越数控电子股份有限公司 | 一种主板故障分析的方法、设备及介质 |
CN111045877A (zh) * | 2019-11-15 | 2020-04-21 | 西安海的电子科技有限公司 | 一种计算机自检方法 |
-
2021
- 2021-06-10 CN CN202110650789.5A patent/CN113312214A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011493A1 (en) * | 2003-05-06 | 2007-01-11 | Lenovo (Beijing) Limited | Method for renovating the computer operating system |
US20070234123A1 (en) * | 2006-03-31 | 2007-10-04 | Inventec Corporation | Method for detecting switching failure |
US20130227333A1 (en) * | 2010-10-22 | 2013-08-29 | Fujitsu Limited | Fault monitoring device, fault monitoring method, and non-transitory computer-readable recording medium |
CN107168834A (zh) * | 2017-05-05 | 2017-09-15 | 天津市英贝特航天科技有限公司 | 计算机开机故障的检测方法和装置 |
CN108376107A (zh) * | 2018-03-01 | 2018-08-07 | 郑州云海信息技术有限公司 | 一种服务器故障检测的方法、装置、设备及存储介质 |
CN110347558A (zh) * | 2019-07-16 | 2019-10-18 | 深圳市同泰怡信息技术有限公司 | 一种服务器设备故障诊断方法和装置以及设备 |
CN111045877A (zh) * | 2019-11-15 | 2020-04-21 | 西安海的电子科技有限公司 | 一种计算机自检方法 |
CN111026576A (zh) * | 2019-12-09 | 2020-04-17 | 山东超越数控电子股份有限公司 | 一种主板故障分析的方法、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112948157B (zh) | 服务器故障定位方法、装置、系统及计算机可读存储介质 | |
CN107122321B (zh) | 硬件修复方法、硬件修复系统以及计算机可读取存储装置 | |
US9146839B2 (en) | Method for pre-testing software compatibility and system thereof | |
US8468389B2 (en) | Firmware recovery system and method of baseboard management controller of computing device | |
WO2022198972A1 (zh) | 一种服务器启动过程中的故障定位方法、系统及装置 | |
CN104636221B (zh) | 一种计算机系统故障处理方法和装置 | |
WO2018095107A1 (zh) | 一种bios程序的异常处理方法及装置 | |
CN111736906A (zh) | 一种基于bios的启动项同步存储方法、系统、终端及存储介质 | |
US10275330B2 (en) | Computer readable non-transitory recording medium storing pseudo failure generation program, generation method, and generation apparatus | |
CN109375956B (zh) | 一种重启操作系统的方法、逻辑设备以及控制设备 | |
CN114116280A (zh) | 交互式bmc自恢复方法、系统、终端及存储介质 | |
CN104156289A (zh) | 基于检测电路的同步控制方法及系统 | |
CN108897646B (zh) | 一种bios芯片的切换方法及基板管理控制器 | |
CN113641537A (zh) | 一种服务器的启动系统,方法及介质 | |
CN114860322A (zh) | 一种基板管理控制器、控制方法及电子设备 | |
CN113312214A (zh) | 操作计算机的方法、装置、电子设备和存储介质 | |
CN115168146A (zh) | 一种异常检测方法和装置 | |
CN115454515A (zh) | 系统处理方法、装置、电子设备 | |
CN114153503A (zh) | 一种bios控制方法、装置、介质 | |
CN114116276A (zh) | Bmc挂死自恢复方法、系统、终端及存储介质 | |
US20200159646A1 (en) | Information processing apparatus | |
CN107450894B (zh) | 通知开机阶段的方法及服务器系统 | |
JP2015130023A (ja) | 情報記録装置、情報処理装置、情報記録方法、及び情報記録プログラム | |
CN113407397B (zh) | 一种设备机箱丝印的显示方法、装置、设备及介质 | |
CN114139168B (zh) | 一种tpcm度量的方法、装置及介质 |
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 |