一种计算机系统自检方法、装置、设备及存储介质与流程

文档序号:21318335发布日期:2020-06-30 20:48阅读:358来源:国知局
一种计算机系统自检方法、装置、设备及存储介质与流程

本发明涉及计算机系统技术领域,更具体地说,涉及一种计算机系统自检方法、装置、设备及存储介质。



背景技术:

服务器、存储器等计算机系统在多个环节需要进行整机检查,以识别出计算机系统中工作异常的电子元器件(异常部件),例如整机生产后、到货上架前、用户部署业务前等都要对整机进行深度检查,识别出异常部件进行更换,以保证计算机系统的正常工作。

在实现计算机系统的整机检查时,通常需要由工作人员将实现计算机系统的整机检查的自检程序拷贝到已完成装机的计算机系统的os下面,进而由工作人员手动触发自检程序实现对计算机系统的自检(整机检查),这种方式实现计算机系统的自检时需要工作人员参与,自动性及批量性较差。



技术实现要素:

本发明的目的是提供一种计算机系统自检方法、装置、设备及存储介质,能够大大增强计算机系统自检的自动性及批量性。

为了实现上述目的,本发明提供如下技术方案:

一种计算机系统自检方法,包括:

如果达到计算机系统自检的启动时机,则判断上次所述计算机系统自检的时间与当前时刻之间的时间段是否达到时间段阈值;

如果是,则指示所述计算机系统从存储单元启动操作系统,以在所述计算机系统启动所述操作系统完成后,自动利用所述存储单元中与所述计算机系统的机型相匹配的自检程序,进行所述计算机系统的自检;

如果否,则确定无需进行所述计算机系统的自检。

优选的,在指示所述计算机系统从存储单元启动操作系统之前,还包括:

读取所述计算机系统的机型信息及所述存储单元包含的全部自检程序,并确定读取的全部自检程序中与所述机型信息具有对应关系的自检程序,为与所述计算机系统的机型相匹配的自检程序。

优选的,在指示所述计算机系统从存储单元启动操作系统之前,还包括:

读取所述存储单元中存储的自检程序,并确定读取的自检程序为与所述计算机系统的机型相匹配的自检程序;其中,所述存储单元在所述计算机系统出厂前则被存储有相应的自检程序。

优选的,指示所述计算机系统从存储单元启动操作系统,包括:

设置所述操作系统的启动模式为从所述存储单元启动,且所述操作启动的启动模式为从所述存储单元启动的设置在每次设置完成后仅生效一次。

优选的,在所述计算机系统的自检完成之后,还包括:

获取所述计算机系统自检得到的检查结果,所述检查结果包括所述计算机系统中包含的各指定部件的压力测试结果及健康状态检查结果。

优选的,读取所述存储单元中包含的自检程序,包括:

读取指定内存区域中包含的自检程序;其中,所述指定内存区域为通过usb通道虚拟挂载到所述计算机系统的主机cpu的usb总线上的区域。

优选的,读取所述存储单元中包含的自检程序,包括:

读取独立存储介质中包含的自检程序;其中,所述独立存储介质为通过usb通道虚拟挂载到所述计算机系统的主机cpu的usb总线上的存储介质。

一种计算机系统自检装置,包括:

判断模块,用于:如果达到计算机系统自检的启动时机,则判断上次所述计算机系统自检的时间与当前时刻之间的时间段是否达到时间段阈值;

自检模块,用于:如果所述判断模块判断所得结果为是,则指示所述计算机系统从存储单元启动操作系统,以在所述计算机系统启动所述操作系统完成后,自动利用所述存储单元中与所述计算机系统的机型相匹配的自检程序,进行所述计算机系统的自检;

执行模块,用于:如果所述判断模块判断所得结果为否,则确定无需进行所述计算机系统的自检。

一种计算机系统自检设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一项所述计算机系统自检方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述计算机系统自检方法的步骤。

本发明提供了一种计算机系统自检方法、装置、设备及存储介质,该方法包括:如果达到计算机系统自检的启动时机,则判断上次所述计算机系统自检的时间与当前时刻之间的时间段是否达到时间段阈值;如果是,则指示所述计算机系统从存储单元启动操作系统,以在所述计算机系统启动所述操作系统完成后,自动利用所述存储单元中与所述计算机系统的机型相匹配的自检程序,进行所述计算机系统的自检;如果否,则确定无需进行所述计算机系统的自检。可见,本申请在判断出达到计算机系统自检的启动时机时,自动控制计算机系统从存储有自检程序的存储单元启动,以在计算机系统启动后自动基于自检程序实现计算机系统的自检,无需人工参与,大大增强了计算机系统自检的自动性及批量性;并且,在控制计算机系统自检前还会判断计算机系统上次自检至今经过的时间段是否达到时间段阈值,如果判断结果为上述时间段未达到时间段阈值,则说明当前时刻无需进行计算机系统的自检,从而通过这种方式避免了在计算机系统由于其他原因达到自检启动时机、但实际上不需要进行计算机系统的自检时错误的进行计算机系统的自检,保证了计算机系统自检的有效性及准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种计算机系统自检方法的第一流程图;

图2为本发明实施例提供的一种计算机系统自检方法中第一种硬件连接示意图;

图3为本发明实施例提供的一种计算机系统自检方法中第二种硬件连接示意图;

图4为本发明实施例提供的一种计算机系统自检方法的第二种流程图;

图5为本发明实施例提供的一种计算机系统自检装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,其示出了本发明实施例提供的一种计算机系统自检方法的流程图,可以包括:

s11:如果达到计算机系统自检的启动时机,则判断上次计算机系统自检的时间与当前时刻之间的时间段是否达到时间段阈值,如果是,则执行步骤s12,如果否,则执行步骤s13。

本发明实施例提供的一种计算机系统自检方法的执行主体可以为对应的计算机系统自检装置,而该计算机系统自检装置具体可以设置于bmc(baseboardmanagementcontroller,基板管理控制器)上,因此该计算机系统自检方法的执行主体可以为bmc,本申请实施例以该计算机系统自检方法的执行主体为bmc进行具体说明。

其中,自检程序与现有技术中对应概念的含义相同,其为在可启动的操作系统上做用于对计算机系统中指定部件(预先根据实际需要指定的部件,如cpu、硬盘等)进行相应检查的诊断程序;计算机系统自检的启动时机可以为计算机系统(具体可以是其包含的服务器主机)关机状态下的开机、计算机系统(具体可以是其包含的服务器主机)热重启等,如果计算机系统当前为上述任一种情况,则认为其达到了计算机系统自检的启动时机。由于一般启动时间包括计算机系统的重启,而计算机系统在执行完成自检程序后会自动重启,因此为了避免计算机系统无限从存储单元启动操作系统,进而无限实现自检,本实施例在达到了计算机系统自检的启动时机时,可以先判断上次计算机系统自检的时间与当前时刻之间的时间段是否达到根据实际需要设置的时间段阈值(如3秒、2秒等),如果未达到时间段阈值,则说明刚实现了计算机系统的自检,此次启动时机为计算机系统在自检完成后关机又开机或者重启的情况,因此此时不需要进行计算机系统的自检,否则,说明此次启动时机不是计算机系统在自检完成后关机又开机或者重启的情况,而是真正需要实现计算机系统的自检,因此继续实现后续对计算机系统进行自检的步骤。

另外,bmc可以提供外部通信接口,从而用户可以通过调用该外部通信接口向bmc输入设置指令,进而bmc设置与该设置指令对应的时机为计算机系统自检的启动时机。bmc可以启动一个自检辅助进程,该自检辅助进程负责侦测启动时机,如果侦测到启动时机的到来就将存储单元通过usb通道挂载到计算机系统的主机cpu的usb总线下,使得存储单元形成usb虚拟存储设备,usb虚拟存储设备包含可自启动的操作系统,进而指示计算机系统从usb虚拟存储设备启动操作系统,以引导计算机系统在启动操作系统完成后能够自动利用相应的自检程序实现自检。

s12:指示计算机系统从存储单元启动操作系统,以在计算机系统启动操作系统完成后,自动利用存储单元中与计算机系统的机型相匹配的自检程序,进行计算机系统的自检。

在确定上次进行计算机系统的自检的时间至当前时刻之间经过的时间段达到时间段阈值时,说明计算机系统需要进行自检,因此指示计算机系统从存储单元启动计算机系统的操作系统,计算机系统从存储系统启动操作系统后,能够自动利用存储单元中包含的自检程序进行计算机系统的自检。具体可以是计算机系统的主机cpu在实现操作系统的启动后,被引导自动进入自诊断的流程,并自动运行自检程序,对指定部件(cpu、内存、硬盘、pcie设备等)进行相应的检查。而在完成计算机系统的自检后会重启计算机系统,并且计算机系统的重启从正常的启动设备(非存储有自检程序的存储单元)实现计算机系统的启动。

另外,在计算机系统自检完成后,可以将计算机系统自检得到的检查结果存储到存储单元中,进而bmc可以定期读取存储单元中的全部或者某次(也可以是某多次)自检得到的检查结果,并将读取到的检查结果通过日志的方式展示给用户,以使得用户能够获知其所需的检查结果进而实现相应的操作,而用户在读取存储单元中的检查结果时,可以通过调用bmc提供的读取接口批量、远程获取检查结果,直观可视;并且,在bmc获取检查结果后,还可以通过告警的方式产生sel、snmptrap等告警事件通知用户检查结果。

另外,在实现检查结果的存储时,还可以同时存储得到检查结果的时间,而在确定上次自检的时间时可以是通过在存储单元中查找最新得到的检查结果的时间作为上次自检的时间,如果发现检查结果新产生(上次自检得到检查结果的时间距离当前时刻的时间段未达到时间段阈值),则认为自检程序刚刚执行完成而不再认为是真正的自检的启动时机,因此无需进行自检。

s13:确定无需进行计算机系统的自检。

本申请在判断出达到计算机系统自检的启动时机时,自动控制计算机系统从存储有自检程序的存储单元启动,以在计算机系统启动后自动基于自检程序实现自检,无需人工参与,大大增强了计算机系统自检的自动性及批量性;并且,在控制计算机系统自检前还会判断计算机系统上次自检至今经过的时间段是否达到时间段阈值,如果判断结果为上述时间段未达到时间段阈值,则说明当前时刻无需进行计算机系统的自检,从而通过这种方式避免了在计算机系统由于其他原因达到自检启动时机、但实际上不需要进行计算机系统的自检时错误的进行计算机系统的自检,保证了计算机系统自检的有效性及准确性。

本发明实施例提供的一种计算机系统自检方法,在指示计算机系统从存储单元启动操作系统之前,还可以包括:

读取计算机系统的机型信息及存储单元包含的全部自检程序,并确定读取的全部自检程序中与机型信息具有对应关系的自检程序,为与计算机系统的机型相匹配的自检程序。

需要说明的是,在实现计算机系统的自检时,实现计算机系统自检的自检程序需要与计算机系统的机型相对应(相匹配),才能够供对应的计算机系统实现自检;为了使得计算机系统自检的方案能够灵活适应不同计算机系统的机型,进而实现相应的自检,本实施例中可以在存储单元中存储包含不同计算机系统的机型对应的自检程序,进而在实现任一计算机系统的自检时,可以由存储单元中确定出与该任一计算机系统的机型(机型信息)对应的自检程序,以供计算机系统利用该自检程序实现自检。

本发明实施例提供的一种计算机系统自检方法,在指示计算机系统从存储单元启动操作系统之前,还可以包括:

读取存储单元中存储的自检程序,并确定读取的自检程序为与计算机系统的机型相匹配的自检程序;其中,存储单元在计算机系统出厂前则被存储有相应的自检程序。

为了加快实现计算机系统自检的效率,本实施例中可以在计算机系统出厂前则根据计算机系统的机型裁剪得到相应的自检程序,进而将与该计算机系统的机型相匹配的自检程序存储到存储单元(存储单元包含于计算机系统)中,从而在需要实现计算机系统的自检时,则可以直接利用存储单元中包含的自检程序实现自检。

另外需要说明的是,为了使得自检程序能够满足当前需求,在自检程序需要进行更新升级时,还可以为外界用户提供相应的升级接口,从而外界用户可以调用该升级接口输入最新的自检程序,bmc可以利用接收的自检程序替换存储单元中包含的对应的自检程序,从而使得本方案具有随时升级更新自检程序的灵活性。

本发明实施例提供的一种计算机系统自检方法,指示计算机系统从存储单元启动操作系统,可以包括:

设置操作系统的启动模式为从存储单元启动,且操作启动的启动模式为从存储单元启动的设置在每次设置完成后仅生效一次。

需要说明的是,指示计算机系统从存储单元启动操作系统的方式可以为通过设置操作启动的启动模式为从存储单元启动实现的,进而计算机系统在启动时可以检查启动模式,如果启动模式为从存储单元启动操作系统,则可以从存储单元启动操作系统进而实现自检,否则,计算机系统按照正常的方式进行启动;由于每次计算机系统启动时均会检查启动模式,进而根据启动模式实现启动,因此为了避免每次计算机系统均从存储单元启动,因此控制操作系统的启动模式为从存储单元启动的设置仅在每次设置后生效一次,也即在按照这种方式启动操作系统后,下一次在计算机系统启动操作系统时则上一次启动模式为从存储单元启动的设置已经失效,需要重新实现启动模式的设置进而实现相应的计算机启动。

另外,计算机系统在启动时具体可以是计算机系统的主机bios启动并检查启动模式,再基于启动模式实现启动。

本发明实施例提供的一种计算机系统自检方法,在计算机系统的自检完成之后,还可以包括:

获取计算机系统自检得到的检查结果,检查结果包括计算机系统中包含的各指定部件的压力测试结果及健康状态检查结果。

需要说明的是,本实施例中对计算机系统的自检包括检查计算机系统中的各类部件(指定部件,例如cpu、内存、硬盘、pcie设备等其他零部件)等加压测试/压力测试等,也包括检查各类部件的健康状态(能否正常工作),由此得到的检查结果包括计算机系统中包含的各指定部件的压力测试结果及健康状态检查结果,从而便于用户对计算机系统各类部件相关情况的获知。

本发明实施例提供的一种计算机系统自检方法,读取存储单元中包含的自检程序,可以包括:

读取指定内存区域中包含的自检程序;其中,指定内存区域为通过usb通道虚拟挂载到计算机系统的主机cpu的usb总线上的区域。

指定内存则可以为bmc的flash,指定内存区域则可以为flash中存放自检程序的分区,此时实现计算机系统自检方法的硬件连接图可以如图2所示,其中,计算机系统的主机cpu通过usb与bmc相连,自检程序存放于bmc的flash中,bmc将flash中存放自检程序的分区通过usb通道虚拟挂载到主机cpu的usb总线,此种方案的优点是利用已有的flash存储区域,没有额外存储介质,节省成本。

本发明实施例提供的一种计算机系统自检方法,读取存储单元中包含的自检程序,可以包括:

读取独立存储介质中包含的自检程序;其中,独立存储介质为通过usb通道虚拟挂载到计算机系统的主机cpu的usb总线上的存储介质。

独立存储介质可以为tf卡(又称microsd,是一种极细小的快闪存储器卡)或sd卡(securedigitalcard,安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备),此时实现计算机系统自检方法的硬件连接图可以如图3所示,其中,计算机系统的主机cpu通过usb与bmc相连,自检程序存放于独立存储介质tf卡或sd卡中,bmc将独立存储介质通过usb通道虚拟挂载到主机cpu的usb总线,此方案优点是tf卡或sd的存储空间大,可以存放复杂的自检程序,保证自检的顺利实现。

另外,bmc实现驱动程序将独立存储介质tf卡/sd卡或flash的分区通过usb通道挂载到主机cpuusb总线下,形成usb虚拟存储设备,bmc将此虚拟存储设备设计成带有自启动操作系统(os)的可启动设备,从而使得计算机系统的主机cpu可从此设备进行启动。

在一种具体应用场景中,本申请公开的计算机系统自检方法的实现过程如图4所示,具体可以包括如下步骤:

预先将自检程序存储于本地存储介质如tf卡、sd卡或bmcflash中;自检程序是在可启动操作系统上做的诊断程序;

设计bmc固件程序,控制自检程序的启动时机,包括服务器主机关机状态下的开机、服务器主机热重启等;bmc提供外部通信接口供用户设置自检程序的启动时机;bmc启动一个自检辅助进程,负责侦测启动时机,如果侦测到启动时机的到来就将存储介质通过usb通道挂载到cpu的usb总线下,形成usb虚拟存储设备;同时bmc设置启动模式为从usb虚拟存储设备启动,设置为一次生效;这样就达到计算机系统从usb虚拟存储设备启动的效果;

主机bios启动后,检查启动模式,发现bmc已设置的从usb虚拟存储设备启动的模式后,从usb虚拟存储设备启动,该启动模式仅一次生效,自检程序执行完成后自动重启后将不再从该设备启动;主机cpu被引导进入自诊断流程,并自动运行自检程序,对cpu、内存、硬盘、pcie设备等其他零部件进行健康状态检查及压力测试检查;

自检程序完成自检后,将自检得到的检查结果存储到usb虚拟存储设备(即存储到了本地存储介质)中;

自检程序完成自检后重启计算机系统,主机bios启动后从正常启动设备启动;

bmc定期检查本地存储介质中的检查结果,将检查结果通过日志的方式展示给客户,并通过告警的方式产生sel、snmptrap等告警事件通知用户自检结果;用户可以通过bmc提供的接口批量、远程检查自检结果,直观可视。

另外,因为自检程序执行完成后会自动重启计算机系统,必须避免自检程序无限设置启动模式为从usb虚拟存储设备启动;可以通过自检结果的检查,例如检查自检结果的产生时间,如果发现自检结果新产生则认为自检程序刚刚执行完成而不再认为是真正的自检时机,而不去设置启动模式为从usb虚拟启动。

本申请公开的技术方案,能够解决当前自检诊断的灵活性差、需要人工参与、难以批量自检及诊断结果无法直观展现的问题,从而形成一种灵活性好、可动态适配各不同机型、全自动自诊断、易于批量自检、诊断结果远程直观的自诊断方案,将简化服务器、存储类计算系统的自诊断系统搭建,提高自诊断易用性,增加客户满意度;并且,本技术方案可以广泛应用在服务器、存储等复杂计算机系统中,而所使用的存储介质可扩展为emmc等。

本发明实施例还提供了一种计算机系统自检装置,如图5所示,具体可以包括:

判断模块11,用于:如果达到计算机系统自检的启动时机,则判断上次计算机系统自检的时间与当前时刻之间的时间段是否达到时间段阈值;

自检模块12,用于:如果判断模块判断所得结果为是,则指示计算机系统从存储单元启动操作系统,以在计算机系统启动操作系统完成后,自动利用存储单元中与计算机系统的机型相匹配的自检程序,进行计算机系统的自检;

执行模块13,用于:如果判断模块判断所得结果为否,则确定无需进行计算机系统的自检。

本发明实施例提供的一种计算机系统自检装置,还可以包括:

第一确定模块,用于:在指示计算机系统从存储单元启动操作系统之前,读取计算机系统的机型信息及存储单元包含的全部自检程序,并确定读取的全部自检程序中与机型信息具有对应关系的自检程序,为与计算机系统的机型相匹配的自检程序。

本发明实施例提供的一种计算机系统自检装置,还可以包括:

第二确定模块,用于:在指示计算机系统从存储单元启动操作系统之前,读取存储单元中存储的自检程序,并确定读取的自检程序为与计算机系统的机型相匹配的自检程序;其中,存储单元在计算机系统出厂前则被存储有相应的自检程序。

本发明实施例提供的一种计算机系统自检装置,自检模块可以包括:

设置单元,用于:设置操作系统的启动模式为从存储单元启动,且操作启动的启动模式为从存储单元启动的设置在每次设置完成后仅生效一次。

本发明实施例提供的一种计算机系统自检装置,还可以包括:

获取模块,用于:在计算机系统的自检完成之后,获取计算机系统自检得到的检查结果,检查结果包括计算机系统中包含的各指定部件的压力测试结果及健康状态检查结果。

本发明实施例提供的一种计算机系统自检装置,第一确定模块及第二确定模块分别包括:

第一读取单元,用于:读取指定内存区域中包含的自检程序;其中,指定内存区域为通过usb通道虚拟挂载到计算机系统的主机cpu的usb总线上的区域。

本发明实施例提供的一种计算机系统自检装置,第一确定模块及第二确定模块分别包括:

第二确定单元,用于:读取独立存储介质中包含的自检程序;其中,独立存储介质为通过usb通道虚拟挂载到计算机系统的主机cpu的usb总线上的存储介质。

本发明实施例还提供了一种计算机系统自检设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上任一项计算机系统自检方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上任一项计算机系统自检方法的步骤。

需要说明的是,本发明实施例提供的一种计算机系统自检装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种计算机系统自检方法中对应部分的详细说明,在此不再赘述。另外,本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1