CN114184885A - 一种故障检测方法、装置及存储介质 - Google Patents

一种故障检测方法、装置及存储介质 Download PDF

Info

Publication number
CN114184885A
CN114184885A CN202111399332.8A CN202111399332A CN114184885A CN 114184885 A CN114184885 A CN 114184885A CN 202111399332 A CN202111399332 A CN 202111399332A CN 114184885 A CN114184885 A CN 114184885A
Authority
CN
China
Prior art keywords
equipment
information
tested
detected
fault
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.)
Withdrawn
Application number
CN202111399332.8A
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111399332.8A priority Critical patent/CN114184885A/zh
Publication of CN114184885A publication Critical patent/CN114184885A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/08Locating faults in cables, transmission lines, or networks

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种故障检测方法、故障检测装置及存储介质。故障检测方法,应用于服务端,服务端远程管理至少一个待测设备,方法包括:创建检测任务。执行检测任务在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息。基于设备信息,对待测设备进行故障检测。当待测设备出现故障时,处理故障。通过本发明提供的方法,在对待测设备执行检测任务时,能够通过在预设时间内调用的待检测设备的系统工具,对待测设备的设备信息进行获取,并控制该待测设备自动进行故障检测,进而当待测设备出现故障时对故障进行处理,从而提高检测效率,降低人工成本。

Description

一种故障检测方法、装置及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种的故障检测方法、装置及存储介质。
背景技术
相关技术中,服务器的操作系统主要包括两种,一种是Linux系统,另一种是Windows系统。在对服务端远程管理的服务器进行测试及维护时,针对采用Linux系统的服务器,可以通过执行命令进行监测。即,通过向服务器下发执行命令,能够自动获取服务器的服务器信息,并控制服务器进行故障检测,以便确定服务器是否发生故障,进而进行相应维护。
但针对采用Windows系统的服务器,若通过执行命令进行监测,Windows系统只能运行执行命令,无法启动相应程序进行检测。因此,在针对Windows系统的服务器进行监测时,需要测试人员(或者维护人员)借助第三方工具,手动获取服务器信息并对服务器进行相关故障检测,进而确定服务器是否发生故障。但采用该种方试进行监测,操作效率比较低,且人工成本高。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中无法对Windows系统自动进行故障检测的缺陷,从而提供一种故障检测方法、装置及存储介质。
根据第一方面,本发明提供一种故障检测方法,应用于服务端,所述服务端远程管理至少一个待测设备,所述方法包括:
创建检测任务;
执行所述检测任务在预设时间内调用待测设备的系统工具包,获取所述待测设备的设备信息;
基于所述设备信息,对所述待测设备进行故障检测;
当所述待测设备出现故障时,处理所述故障。
在该方式中,在对待测设备执行检测任务时,能够通过在预设时间内调用的待检测设备的系统工具,对待测设备的设备信息进行获取,并控制该待测设备自动进行故障检测,进而当待测设备出现故障时对故障进行处理,从而提高检测效率,降低人工成本。
结合第一方面,在第一方面的第一实施方式中,所述方法还包括:
基于所述服务端远程管理的CPU核数,确定监控线程数量;
针对当前线程空闲状态,执行所述检测任务。
在该方式中,服务端能够根据其所远程管理的待测设备的CPU的核数合理分配资源,以使在针对待测设备进行检测时,能够均衡资源,进而避免分配不均,过度占用的情况发生。
结合第一方面或第一方面的第一实施方式,在第一方面的第二实施方式中,在获取所述待测设备的设备信息之后,所述方法还包括:
清除所述待测设备的遗留数据。
在该方式中,在进行故障检测前,清空遗留数据,有利于在进行故障检测的过程中,避免遗留数据的干扰,进而提高故障检测结果的准确性。
结合第一方面的第二实施方式,在第一方面的第三实施方式中,当出现的故障为CPU利用率大于第一阈值时,则所述处理所述故障,包括:
判断CPU的利用率是否大于第二阈值;
当所述利用率大于所述第一阈值且小于所述第二阈值时,则获取所述待测设备的可执行程序列表,并将所述可执行程序列表中非必要的可执行程序停止;
当所述利用率大于所述第二阈值时,则判断所述待测设备中的必要的可执行程序是否运行,并在确定所述必要的可执行程序未运行时,重启所述待测设备。
在该方式中,通过判断CPU的利用率是否大于第二阈值,有助于明确故障处理方式,进而进行针对性的处理,达到降低CPU的利用率的目的。
结合第一方面的第二实施方式,在第一方面的第四实施方式中,所述方法还包括:
基于所述设备信息,启动所述待测设备的信息显示程序;
通过所述系统工具包,获取所述待测设备的界面元素;
根据所述界面元素,检测所述待测设备的运行状态。
在该方式中,能够基于定时任务,使待测设备的系统工具包能够自启动,进而采用模拟操作的方式,对待测设备的运行状态进行检测,从而节省人工手动触发的操作时间,降低人工成本。有助于提高检测效率。
结合第一方面的第二实施方式,在第一方面的第五实施方式中,所述方法还包括:
基于所述设备信息,获取所述待测设备的系统调试信息;
将所述系统调试信息进行存储;
基于存储的系统调试信息,通过重启所述待测设备,获取所述待测设备的蓝屏日志;
根据所述蓝屏日志,检测所述待测设备的蓝屏故障。
在该方式中,在对待测设备进行故障检测时,可以同时进行多种故障检测,进而节省检测时间,有助于提高检测效率。
结合第一方面的第二实施方式,在第一方面的第六实施方式中,所述方法还包括:
所述方法还包括:
基于所述设备信息,获取所述待测设备中部件的部件信息;
根据所述部件的白名单信息和黑名单信息,对所述部件信息进行检测。
在该方式中,通过对部件进行检测,有助于当待测设备出现故障时,是否与部件有关,进而有助于快速定位故障原因,提高检测效率。
根据第二方面,本发明提供一种故障检测装置,应用于服务端,所述服务端远程管理至少一个待测设备,所述装置包括:
创建单元,用于创建检测任务;
获取单元,用于执行所述检测任务在预设时间内调用待测设备的系统工具包,获取所述待测设备的设备信息;
检测单元,用于基于所述设备信息,对所述待测设备进行故障检测;
处理单元,用于当所述待测设备出现故障时,处理所述故障。
结合第二方面,在第二方面的第一实施方式中,所述装置还包括:
确定单元,用于基于所述服务端远程管理的CPU核数,确定监控线程数量;
执行单元,用于针对当前线程空闲状态,执行所述检测任务。
结合第二方面或第二方面的第一实施方式,在获取所述待测设备的设备信息之后,所述装置还包括:
清除单元,用于清除所述待测设备的遗留数据。
结合第二方面的第二实施方式,在第二方面的第三实施方式中,当出现的故障为CPU利用率大于第一阈值时,则所述处理单元,包括:
判断单元,用于判断CPU的利用率是否大于第二阈值;
第一执行单元,用于当所述利用率大于所述第一阈值且小于所述第二阈值时,则获取所述待测设备的可执行程序列表,并将所述可执行程序列表中非必要的可执行程序停止;
第二执行单元,用于当所述利用率大于所述第二阈值时,则判断所述待测设备中的必要的可执行程序是否运行,并在确定所述必要的可执行程序未运行时,重启所述待测设备。
结合第二方面的第二实施方式,在第二方面的第四实施方式中,所述装置还包括:
启动单元,用于基于所述设备信息,启动所述待测设备的信息显示程序;
元素获取单元,用于通过所述系统工具包,获取所述待测设备的界面元素;
运行检测单元,用于根据所述界面元素,检测所述待测设备的运行状态。
结合第二方面的第二实施方式,在第二方面的第五实施方式中,所述装置还包括:
信息获取单元,用于基于所述设备信息,获取所述待测设备的系统调试信息;
存储单元,用于将所述系统调试信息进行存储;
日志获取单元,用于基于存储的系统调试信息,通过重启所述待测设备,获取所述待测设备的蓝屏日志;
蓝屏检测单元,用于根据所述蓝屏日志,检测所述待测设备的蓝屏故障。
结合第二方面的第二实施方式,在第二方面的第六实施方式中,所述装置还包括:
部件信息获取单元,用于基于所述设备信息,获取所述待测设备中部件的部件信息;
部件检测单元,用于根据所述部件的白名单信息和黑名单信息,对所述部件信息进行检测。
根据第三方面,本发明实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面及其可选实施方式中任一项的故障检测方法。
根据第四方面,本发明实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面及其可选实施方式中任一项的故障检测方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例提出的一种故障检测方法的流程图。
图2是根据一示例性实施例提出的另一种故障检测方法的流程图。
图3是根据一示例性实施例提出的又一种故障检测方法的流程图。
图4是根据一示例性实施例提出的一种故障处理的方法的流程图。
图5是根据一示例性实施例提出的另一种故障处理的方法的流程图。
图6是根据一示例性实施例提出的又一种故障检测方法的流程图。
图7是根据一示例性实施例提出的又一种故障检测方法的流程图。
图8是根据一示例性实施例提出的又一种故障检测方法的流程图。
图9是根据一示例性实施例提出的又一种故障检测方法的流程图。
图10是根据一示例性实施例提出的一种故障检测装置的结构框图。
图11是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,在对服务端远程管理的服务器进行测试及维护时,针对采用Windows系统的服务器,若通过执行命令进行监测,Windows系统只能运行执行命令,无法启动相应程序进行检测。因此,在针对Windows系统的服务器进行监测时,需要测试人员(或者维护人员)借助第三方工具,手动获取服务器信息并对服务器进行相关故障检测,进而确定服务器是否发生故障。但采用该种方试进行监测,操作效率比较低,且人工成本高。
为解决上述问题,本发明实施例中提供一种故障检测方法,用于计算机设备中,需要说明的是,其执行主体可以是硬盘日志分析装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是终端或客户端或服务器,服务器可以是一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
本发明实施例中的计算机设备,可以是通过远程管理,对至少一个待测设备进行监管的服务端。其中,监管的测试设备的操作系统可以为Windows系统。计算机设备可以通过远程协议对测试设备进行远程管理。通过本发明提供的故障检测方法,在对待测设备执行检测任务时,能够通过在预设时间内调用的待检测设备的系统工具,对待测设备的设备信息进行获取,并控制该待测设备自动进行故障检测,进而当待测设备出现故障时对故障进行处理,从而提高检测效率,降低人工成本。
图1是根据一示例性实施例提出的一种故障检测方法的流程图。如图1所示,故障检测方法包括如下步骤S101至步骤S104。
在步骤S101中,创建检测任务。
在本发明实施例中,检测任务可以理解为是针对待测设备进行故障检测的任务。通过创建检测任务,以便对待测设备进行故障检测。在一例中,故障检测可以包括:针对操作系统、文件结构、软件系统特征等进行检测。在另一例中,检测任务可以包括故障检测用例,例如:对待测设备进行压力故障检测。
在步骤S102中,执行检测任务在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息。
在本发明实施例中,由于Windows系统的安全机制较高,因此,无法直接通过远程协议调用待测设备的可执行文件(exe.)程序。在一例中,远程协议可以包括远程管理服务(Windows Remote Management,WinRM)、SSH(Secure Shell,一种专为远程登录会话和其他网络服务提供安全性的协议)或者远程终端协议(Telnet),在本发明中不进行限制。
进而,为保证故障检测能够顺利进行,则在执行检测任务时,采用在预设时间调用待测设备的系统工具包的方式,控制待测设备的系统工具包能够自启动,从而使服务端能够根据系统工具包的运行结果获取待测设备的设备信息。
在步骤S103中,基于设备信息,对待测设备进行故障检测。
在本发明实施例中,根据获取到的设备信息,可以通过模拟用户操作的方式对待测设备进行故障检测。在一例中,模拟操作可以包括一下任意一种或者多种操作方式:模拟键击动作、模拟鼠标移动和点击动作、对窗口进行移动,调整大小和其它操作、与窗口的“控件“交互(设置/获取文本,移动,关闭等等)、配合剪贴板进行剪切/粘贴文本操作或者对注册表进行操作等。
在一实施场景中,当Bginfo.exe工具启动后,将Bginfo.exe工具与pyautoit接口库和pywinauto接口库建立连接,获取待测设备的界面元素。例如:获取Apply(应用)的按钮类名,并根据类名调用该应用的点击事件,对该应用进行模拟操作,进而检测待测设备在运行该应用时是否出现故障。
在步骤S104中,当待测设备出现故障时,处理故障。
在本发明实施例中,故障可以包括元器件故障、机械故障、元件故障、病毒故障或者人为故障。例如:具体的可以包括cpu利用率过高、硬件温度过高、系统软件不兼容、系统配置不当等故障。故障处理方式可以包括:由待测设备自行修复或者通过人为干预进行修复。
通过上述实施例,在执行检测任务时,能够根据在预设时间内调用待测设备的系统工具包,对待测设备进行故障检测,明确待测设备是否出现故障,进而当出现故障时,对故障进行处理,从而提高检测效率,降低人工成本。
在另一实施例中,当对服务端远程管理的多个待测设备进行故障检测时,则可以将服务端的资源进行整合,根据线程空闲状态,对各待测设备进行检测。
图2是根据一示例性实施例提出的另一种故障检测方法的流程图。如图2所示,故障检测方法包括如下步骤。
在步骤S201中,基于服务端远程管理的CPU核数,确定监控线程数量。
在本发明实施例中,将服务端的资源进行整合,以使服务端能够明确该服务端远程管理的待测设备的信息,并将该信息存储至数据库中,得到待测设备的监控列表。根据监控列表,明确各待测设备的CPU的核数,进而基于CPU的核数分配进行监控的线程数量,以使在执行检测任务时,能够将服务端的资源进行合理分配。
在一实施场景中,基于CPU核数分配监控线程数量时,可以根据CPU的核数、CPU的期望利用率、数据I/O等待时间、CPU的计算时间进行确定。CPU的计算时间可以理解为是CPU全速工作时完成进程所花费的时间。公式如下:n=N*U*(1+W/C)。其中,n表示线程数量,N表示服务端中包括的CPU的总核数,U表示期望的CPU利用率,W表示I/O等待时间,C表示CPU的计算时间。在一例中,W/C(等待时间与计算时间的比率)可以根据profiler性能分析工具进行测试得出。在另一例中,CPU利用率可以根据需求进行设定,例如:设定为70%。
在一示例中,为使服务端在对监控设备进行监控时,能够根据确定的线程数量进行监控,保证线程数量的稳定性,则可以通过在服务端中建立具有固定线程数量的线程池,以使该线程池中的线程数量始终保持不变。在一实施场景中,可以通过newFixedThreadPool(一种Java线程池)建立具有固定线程数量的线程池。
在步骤S202中,创建检测任务。
在步骤S203中,针对当前线程空闲状态,执行检测任务。
在本发明实施例中,在对待测设备执行待测任务时,根据当前的线程空闲状态进行判断。当具有处于空闲状态的线程时,则表征可以根据检测任务调用对待测设备进行检测的资源,控制对待测设备进行检测,进而利用当前处于空闲状态的线程执行检测任务。
在一例中,当当前无处于空闲状态的线程时,则表征当前无法根据检测任务调用可以对待测设备进行检测的资源,因此,需要在任务队列中进行等待,直至出现处于空闲状态的线程时,采用处于空闲状态的线程执行检测任务,进而保证检测任务能够有序进行。
在步骤S204中,执行检测任务在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息。
在步骤S205中,基于设备信息,对待测设备进行故障检测。
在步骤S206中,当待测设备出现故障时,处理故障。
通过上述实施例,服务端能够根据其所远程管理的待测设备的CPU的核数合理分配资源,以使在针对待测设备进行检测时,能够均衡资源,进而避免分配不均,过度占用的情况发生。
图3是根据一示例性实施例提出的又一种故障检测方法的流程图。如图3所示,故障检测方法包括如下步骤。
在步骤S301中,基于服务端远程管理的CPU核数,确定监控线程数量。
在步骤S302中,创建检测任务。
在步骤S303中,针对当前线程空闲状态,执行检测任务。
在步骤S304中,执行检测任务在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息。
在步骤S305中,清除待测设备的遗留数据。
在本发明实施例中,由于设备信息是在预设时间内进行获取的,因此,为避免在检测过程中,待测设备的遗留数据对检测结果产生影响,则在故障检测前,将遗留数据清除,进而保证待测设备的检测环境干净,从而提高检测准确性。在一例中,可以根据待测设备中数据的保留路径,将遗留数据进行清除,进而达到检测环境干净的目的。在一实施场景中,可以通过运行clear_data.bat脚本清除遗留数据。
在步骤S306中,基于设备信息,对待测设备进行故障检测。
在步骤S307中,当待测设备出现故障时,处理故障。
通过上述实施例,在进行故障检测前,清空遗留数据,有利于在进行故障检测的过程中,避免遗留数据的干扰,进而提高故障检测结果的准确性。
在一实施例中,当在对待测设备进行故障检测的过程中,当出现的故障为CPU利用率大于第一阈值时,则处理故障的方法可以如图4所示。图4是根据一示例性实施例提出的一种故障处理的方法的流程图。其中,第一阈值可以理解为是CPU在占用资源进行使用时的最大期望利用率。
在步骤S401中,判断CPU的利用率是否大于第二阈值。
在本发明实施例中,当CPU大于第一阈值时,则表征待测设备在检测的过程中已经出现故障,但可以通过关闭部分程序的方式降低CPU的利用率,以使其能够小于或者等于第一阈值,保障待测设备的正常运行。第二阈值可以理解为是CPU运行时占用的资源过多,严重影响待测设备正常运行的最大利用率。若CPU的利用率大于第二阈值,则表征仅是关闭部分程序也无法有效快速降低CPU的利用率,需要采用重启或者用户介入的方式进行处理。
因此,当CPU的利用率大于第一阈值时,则继续判断CPU的利用率是否与大于第二阈值,以便确定处理CPU的利用率过高的手段,合理降低CPU的利用率。
在步骤S4021中,当利用率大于第一阈值且小于第二阈值时,则获取待测设备的可执行程序列表,并将可执行程序列表中非必要的可执行程序停止。
在本发明实施例中,当利用率大于第一阈值且小于第二阈值时,则表征可以通过关闭部分程序的方式降低CPU的利用率。因此,为确定需要关闭的程序,则将待测设备的可执行程序(exe)列表进行获取,根据exe列表,确定必要执行的exe以及非必要执行的exe。为避免影响故障检测,使故障检测能够继续进行,则可以将非必要执行的exe停止,进而达到降低CPU的利用率的目的。在一例中,可以将必要执行的exe存放至exe白名单中,进而在确定exe列表中的非必要的exe时,可以将exe白名单之外的exe全部确认为是非必要的exe,进而在停止非必要的exe时,能够快速确定需要进行停止的exe。必要的exe可以理解为是必要运行的exe。在另一例中,服务端可以通过远程协议与待测设备建立远程连接,进而基于远程连接获取待测设备的任务管理器中的exe列表。
在步骤S4022中,当利用率大于第二阈值时,则判断待测设备中的必要的可执行程序是否运行,并在确定必要的可执行程序未运行时,重启待测设备。
在本发明实施例中,当利用率大于第二阈值时,则表征仅是关闭部分程序也无法有效快速降低CPU的利用率,需要采用重启或者用户介入的方式进行处理。处理方式可以根据待测设备是否打开必要的exe进行判断。当必要的exe未在待测设备中运行时,则表征待测设备中不存在必要运行的exe,因此,可以采用重启的方式,终止CPU的运行,从而达到降低CPU的利用率的目的。
在一例中,当必要的exe在待测设备中运行时,则需要用户介入,由用户判断是否将必要的exe进行关闭,进而避免在必要的exe运行过程中,强行重启,导致数据丢失的情况发生。
在另一例中,判断必要的exe是否在待测设备中运行时,非必要的exe也可以处于运行状态。
在一实施场景中,针对故障为CPU利用率大于第一阈值的处理过程可以如图5所示。图5是根据一示例性实施例提出的另一种故障处理的方法的流程图。
在步骤S501中,判断待测设备的CPU利用率是否大于第一阈值(80%)。
在步骤S502中,确定CPU利用率大于80%。
在步骤S503中,基于与待测设备之间的远程连接,获取待测设备的exe列表。
在步骤S504中,获取必要的exe白名单。
在步骤S505中,根据必要的exe白名单,将exe列表中除必要的exe之外的exe停止。
在步骤S506中,确定CPU利用率大于第二阈值(98%)。
在步骤S507中,判断待测终端中是否运行exe。
在本发明实施例中,当确定存在exe时,则执行步骤S508,判断必要的exe是否在待测设备中运行。当不存在exe时,则直接重启待测设备。
在步骤S508中,判断必要的exe是否在待测设备中运行。
在本发明实施例中,当确定存在必要的exe时,则等待用户确定如何处理。当不存在必要的exe时,则直接重启待测设备。
在一实施例中,当CPU的利用率过高时,CPU的温度也会逐渐升高。因此,判断CPU的利用率是否大于第一阈值的检测时机,可以根据温度传感器检测到CPU的温度进行判断。当CPU的温度超过安全使用阈值时,则触发判断CPU的利用率是否大于第一阈值,以便及时散热。
图6是根据一示例性实施例提出的又一种故障检测方法的流程图。如图6所示,故障检测方法包括如下步骤。
在步骤S601中,基于服务端远程管理的CPU核数,确定监控线程数量。
在步骤S602中,创建检测任务。
在步骤S603中,针对当前线程空闲状态,执行检测任务。
在步骤S604中,执行检测任务在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息。
在步骤S605中,清除待测设备的遗留数据。
在步骤S606中,基于设备信息,启动待测设备的信息显示程序。
在本发明实施例中,可以在服务端与待测设备之间的远程协议中,创建schtasks命令(一种控制命令)。通过schtasks命令,使得待测设备可以允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划系统。通过schtasks,控制待测设备在预设时间内执行运行信息显示程序(Bginfo.exe)的bat脚本的定时任务,并启动该信息显示程序,以使其能够获取待测设备的设备信息。其中,定时任务是创建于待测设备内,创建的命令可以如下:
schtasks/create/tn"Build"/tr D:\runBginfo.bat/sc/f
schtasks/run/tn"Build"//runBginfo.bat脚本是运行set_Bginfo.py程序,该程序主要是对Bginfo.exe工具启动并进行设置。
在步骤S607中,通过系统工具包,获取待测设备的界面元素。
在本发明实施例中,可以通过win32应用程序编程接口(ApplicationProgramming Interface,API)启动Bginfo.exe工具,获取Bginfo.exe窗口的坐标信息、控件信息,进而根据服务器传送过来的用户个性化设置的信息获取Fields多选框中各个信息的坐标,触发该坐标上元素的选中事件,触发保存按钮点击事件,进行保存。保存成功后,待测设备的设备信息会显示在待测设备的屏幕。根据命令中创建的定时任务,在预设时间内对屏幕进行截图,进而通过Image库函数获取图片信息,提取有效信息,从而使服务端获取到待测设备的设备信息。
在步骤S608中,根据界面元素,检测待测设备的运行状态。
在步骤S609中,当待测设备出现故障时,处理故障。
通过上述实施例,能够基于定时任务,使待测设备的系统工具包能够自启动,进而采用模拟操作的方式,对待测设备的运行状态进行检测,从而节省人工手动触发的操作时间,降低人工成本。有助于提高检测效率。
在一实施例中,采用定时任务启动Bginfo.exe工具时,当Bginfo.exe工具启动后,删除定时任务,以避免在获取设备信息的过程中,再次将Bginfo.exe工具启动,干扰数据结果。
在另一实施例中,在对待测设备进行故障检测时,还可以通过待测设备的系统查看器中的系统日志信息对待测设备的系统运行状态进行故障检测。在检测过程中,通过系统日志的黑名单信息和白名单信息,对得到的系统日志信息进行识别,明确待测设备的具体系统故障。
图7是根据一示例性实施例提出的又一种故障检测方法的流程图。如图7所示,故障检测方法包括如下步骤。
在步骤S701中,基于服务端远程管理的CPU核数,确定监控线程数量。
在步骤S702中,创建检测任务。
在步骤S703中,针对当前线程空闲状态,执行检测任务。
在步骤S704中,执行检测任务在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息。
在步骤S705中,清除待测设备的遗留数据。
在步骤S706中,基于设备信息,对待测设备进行故障检测。
在步骤S707中,当待测设备出现故障时,处理故障。
在步骤S708中,基于设备信息,获取待测设备的系统调试信息。
在本发明实施例中,基于设备信息,可以明确需要进行调试的待测设备,进而通过执行获取蓝屏故障的程序,对待测设备进行调试,得到待测设备的系统调试信息。
在步骤S709中,将系统调试信息进行存储。
在本发明实施例中,可以将系统调试信息进行小内存转储,例如:转储至256KB或者64KB,进而后续重新启动待测设备时,待测设备便可以根据存储的系统调试信息,调试驱动获取蓝屏故障的程序,得到蓝屏日志。存储路径可以是默认路径。
在一实施场景中,根据服务端与待测设备之间的远程连接,获取待测设备的控制面板、系统、高级系统设置、高级>、启动和故障恢复、设置中各个面板及各个控件的位置、ID、控件信息,并进入设置面板。通过设置面板,获取“写入调试信息”组合框中的信息,得到系统调试信息,并将系统调试信息选择小内存转储,触发确认按钮事件,完成存储。
在步骤S710中,基于存储的系统调试信息,通过重启待测设备,获取待测设备的蓝屏日志。
在本发明实施例中,基于存储的系统调试信息,通过重启待测设备,运行蓝屏故障的程序,根据蓝屏生成的时间收集蓝屏日志。例如:收集与蓝屏时间点较近的dmp文件。其中,dmp文件为Windows系统错误产生的文件。
在步骤S711中,根据蓝屏日志,检测待测设备的蓝屏故障。
在本发明实施例中,根据获取到的蓝屏日志进行分析,检测待测设备的蓝屏故障,分析出现蓝屏故障原因,以便后续进行有效调整。出现蓝屏故障的原因可以包括:错误更新显卡驱动、电脑超频过度、内存条接触不良或内存损坏、已安装的软件不兼容或者内部硬件温度过高等故障。
通过上述实施例,在对待测设备进行故障检测时,可以同时进行多种故障检测,进而节省检测时间,有助于提高检测效率。
图8是根据一示例性实施例提出的又一种故障检测方法的流程图。如图8所示,故障检测方法包括如下步骤。
在步骤S801中,基于服务端远程管理的CPU核数,确定监控线程数量。
在步骤S802中,创建检测任务。
在步骤S803中,针对当前线程空闲状态,执行检测任务。
在步骤S804中,执行检测任务在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息。
在步骤S805中,清除待测设备的遗留数据。
在步骤S806中,基于设备信息,对待测设备进行故障检测。
在步骤S807中,当待测设备出现故障时,处理故障。
在步骤S808中,基于设备信息,获取待测设备中部件的部件信息。
在本发明实施例中,在对待测设备进行故障检测时,可以对待测设备的部件连接状态、运行状态等情况进行检测。因此,为明确待测设备中各部件是否出现故障,则可以基于设备信息,通过远程连接,对待测设备中的各个部件进行加载,进而获取待测设备中部件的部件信息,根据部件信息对部件的故障进行检测。在一例中,部件信息可以包括:SDR信息或者网卡信息等硬件信息。在一实施场景中,可以通过运行check_info.bat脚本,获取机器SDR信息、网卡信息等硬件信息。
在步骤S809中,根据部件的白名单信息和黑名单信息,对部件信息进行检测。
在本发明实施例中,白名单信息可以理解为是与部件本身不具有实质关系的故障信息。黑名单信息可以理解为是与部件本身具有实质关系的故障信息。在一例中,位于白名单信息中记载的部件故障,产生原因可以包括接触不良、内部灰尘过多等故障,可以采用调节与其他部件的连接方式、建立稳定连接的方式或者清除灰尘重新建立连接的方式进行消除。在另一例中,位于黑名单信息中记载的部件故障,产生原因可以包括部件损坏、存储区域出现坏道或者与测试设备不兼容等故障,需要通过对部件的配置、参数等信息进行调整或者更换部件的方式进行消除。
因此,为确定部件的故障情况,对部件信息进行检测时,可以根据部件白名单信息和黑名单信息对获得的部件信息进行筛选,明确部件是否出现故障,以及当出现故障时,明确具体发生故障的原因。
通过上述实施例,通过对部件进行检测,有助于当待测设备出现故障时,是否与部件有关,进而有助于快速定位故障原因,提高检测效率。
在一实施场景中,可以采用软件无线电(Software Defined Radio,SDR)检测的方式获取待测设备的部件信息。采用SDR进行检测的方式可以理解为是基于通用的硬件平台上用软件来实现各种通信模块。以部件为传感器(sensor)为例,在对传感器进行检测时,可以通过ipmitool工具获取服务器SDR信息并保存至SDRList.dat文件中,通过循环读取部件信息(SDRList.dat)的数据,筛选紧急告警下限阈值(lower non-recoverable,lnr)|严重告警下限值(lower critical,lcr)|轻微告警下限值(lower non-critical,lnc)|轻微告警上限值(upper non-critical,unc)|严重告警上限值(upper critical,ucr)|紧急告警上限阈值(upper non-recoverable,unr)|降低(lower)|上升(upper)|无法读取(noreading)状态,对部件信息进行初始化过滤,进而根据检测的sensor的白名单信息进行二次过滤,并将此筛选后得到的信息记录在部件错误信息中。其中,部件的类型不同,部件检测方式不同。
在一实施例中,可以将检测到的数据存储至服务端中,并通过远程交互框架(例如:DWR(Direct Web Remoting))推送至服务端的前台,由用户判断如何处理故障,进而基于用户的选择,控制服务端进行故障处理。
在又一实施例中,在对测试设备进行检查时,可以同时对测试设备的部件、系统运行状态、运行日志以及蓝屏故障进行检测,进而缩短检测周期,提高测试效率。在一例中,若需要对测试设备进行其他故障检测,也可以采用并行检测的方式共同执行。
在一实施场景中,可以如图9所示。图9是根据一示例性实施例提出的又一种故障检测方法的流程图。
在步骤S901中,创建线程池。
在步骤S902中,创建检测任务,并开启或者销毁定时器。
在本发明实施例中,通过开启定时器,以便在进行故障检测时,能够在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息。当在执行检测任务时,销毁定时器,避免同时运行两个定时任务。
在步骤S903中,针对当前线程空闲状态,执行检测任务。
在步骤S904中,运行clear_data.bat脚本清除待测设备的遗留数据。
在步骤S905中,运行check_info.bat脚本,获取待测设备的SDR信息、网卡信息等部件信息。
在步骤S906中,根据部件的白名单信息和黑名单信息,对部件信息进行故障检测。
在步骤S907中,在服务端与待测设备之间的远程协议中建立定时任务。
在步骤S908中,启动定时任务。
在步骤S909中,根据定时任务在预设时间内执行运行信息显示程序,获取待测设备的屏幕截图。
在步骤S9010中,删除定时任务,以避免同时执行多个定时任务。
在步骤S9011中,对屏幕截图进行图像识别,提取有效信息,得到待测设备的设备信息,并将该设备信息进行保存。
在步骤S9012中,获取待测设备的事件查看器中的系统日志信息。
在步骤S9013中,通过系统日志的黑名单信息和白名单信息,对得到的系统日志信息进行识别。
在步骤S9014中,判断待测设备是否存在蓝屏故障。
在步骤S9015中,获取待测设备的系统调试信息。
在步骤S9016中,将系统调试信息根据默认路径进行小内存转储。
在步骤S9017中,重启待测设备。
在步骤S9018中,获取待测设备的蓝屏日志。
在步骤S9019中,将得到的部件信息、设备信息、系统日志信息、以及蓝屏日志存储至服务端。
在步骤S9020中,通过DWR,将部件信息、设备信息、系统日志信息、以及蓝屏日志推送至服务端前台,以便用户确定故障处理方式。
在步骤S9021中,根据确定的故障处理方式,控制服务端进行故障处理。
通过上述实施例,在对测试设备进行故障检查时,可以基于定时任务,控制待测设备自行调用系统工具包执行检测任务,进而无需用户人为控制待测设备,进而使针对Windows系统的设备进行故障检测的操作方式更便捷,更有助于对对Windows系统的设备采用批量检测的方式进行故障检测,从而节省检测时间,提高检测效率。
应该理解的是,虽然图1-图9中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于相同发明构思,本发明还提供一种应用于服务端的故障检测装置。其中,服务端远程管理至少一个待测设备。
图10是根据一示例性实施例提出的一种故障检测装置的结构框图。如图10所示,故障检测装置包括创建单元1001、获取单元1002、检测单元1003和处理单元1004。
创建单元1001,用于创建检测任务;
获取单元1002,用于执行检测任务在预设时间内调用待测设备的系统工具包,获取待测设备的设备信息;
检测单元1003,用于基于设备信息,对待测设备进行故障检测;
处理单元1004,用于当待测设备出现故障时,处理故障。
在一实施例中,装置还包括:确定单元,用于基于服务端远程管理的CPU核数,确定监控线程数量。执行单元,用于针对当前线程空闲状态,执行检测任务。
在另一实施例中,在获取待测设备的设备信息之后,装置还包括:清除单元,用于清除待测设备的遗留数据。
在又一实施例中,当出现的故障为CPU利用率大于第一阈值时,则处理单元1004,包括:判断单元,用于判断CPU的利用率是否大于第二阈值。第一执行单元,用于当利用率大于第一阈值且小于第二阈值时,则获取待测设备的可执行程序列表,并将可执行程序列表中非必要的可执行程序停止。第二执行单元,用于当利用率大于第二阈值时,则判断待测设备中的必要的可执行程序是否运行,并在确定必要的可执行程序未运行时,重启待测设备。
在又一实施例中,装置还包括:启动单元,用于基于设备信息,启动待测设备的信息显示程序。元素获取单元,用于通过系统工具包,获取待测设备的界面元素。运行检测单元,用于根据界面元素,检测待测设备的运行状态。
在又一实施例中,装置还包括:信息获取单元,用于基于设备信息,获取待测设备的系统调试信息。存储单元,用于将系统调试信息进行存储。日志获取单元,用于基于存储的系统调试信息,通过重启待测设备,获取待测设备的蓝屏日志。蓝屏检测单元,用于根据蓝屏日志,检测待测设备的蓝屏故障。
在又一实施例中,装置还包括:部件信息获取单元,用于基于设备信息,获取待测设备中部件的部件信息。部件检测单元,用于根据部件的白名单信息和黑名单信息,对部件信息进行检测。
上述故障检测装置的具体限定以及有益效果可以参见上文中对于故障检测方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图11是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。如图11所示,该设备包括一个或多个处理器1110以及存储器1120,存储器1120包括持久内存、易失内存和硬盘,图11中以一个处理器1110为例。该设备还可以包括:输入装置1130和输出装置1140。
处理器1110、存储器1120、输入装置1130和输出装置1140可以通过总线或者其他方式连接,图11中以通过总线连接为例。
处理器1110可以为中央处理器(Central Processing Unit,CPU)。处理器1110还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1120作为一种非暂态计算机可读存储介质,包括持久内存、易失内存和硬盘,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的业务管理方法对应的程序指令/模块。处理器1110通过运行存储在存储器1120中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述任意一种故障检测方法。
存储器1120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据、需要使用的数据等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器1120可选包括相对于处理器1110远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置1130可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置1140可包括显示屏等显示设备。
一个或者多个模块存储在存储器1120中,当被一个或者多个处理器1110执行时,执行如图1-9所示的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图1-9所示的实施例中的相关描述。
本发明实施例还提供了一种非暂态计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的认证方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.一种故障检测方法,其特征在于,应用于服务端,所述服务端远程管理至少一个待测设备,所述方法包括:
创建检测任务;
执行所述检测任务在预设时间内调用待测设备的系统工具包,获取所述待测设备的设备信息;
基于所述设备信息,对所述待测设备进行故障检测;
当所述待测设备出现故障时,处理所述故障。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述服务端远程管理的CPU核数,确定监控线程数量;
针对当前线程空闲状态,执行所述检测任务。
3.根据权利要求1或2所述的方法,其特征在于,在获取所述待测设备的设备信息之后,所述方法还包括:
清除所述待测设备的遗留数据。
4.根据权利要求3所述的方法,其特征在于,当出现的故障为CPU利用率大于第一阈值时,则所述处理所述故障,包括:
判断CPU的利用率是否大于第二阈值;
当所述利用率大于所述第一阈值且小于所述第二阈值时,则获取所述待测设备的可执行程序列表,并将所述可执行程序列表中非必要的可执行程序停止;
当所述利用率大于所述第二阈值时,则判断所述待测设备中的必要的可执行程序是否运行,并在确定所述必要的可执行程序未运行时,重启所述待测设备。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于所述设备信息,启动所述待测设备的信息显示程序;
通过所述系统工具包,获取所述待测设备的界面元素;
根据所述界面元素,检测所述待测设备的运行状态。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于所述设备信息,获取所述待测设备的系统调试信息;
将所述系统调试信息进行存储;
基于存储的系统调试信息,通过重启所述待测设备,获取所述待测设备的蓝屏日志;
根据所述蓝屏日志,检测所述待测设备的蓝屏故障。
7.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于所述设备信息,获取所述待测设备中部件的部件信息;
根据所述部件的白名单信息和黑名单信息,对所述部件信息进行检测。
8.一种故障检测装置,其特征在于,应用于服务端,所述服务端远程管理至少一个待测设备,所述装置包括:
创建单元,用于创建检测任务;
获取单元,用于执行所述检测任务在预设时间内调用待测设备的系统工具包,获取所述待测设备的设备信息;
检测单元,用于基于所述设备信息,对所述待测设备进行故障检测;
处理单元,用于当所述待测设备出现故障时,处理所述故障。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-7中任一项所述的故障检测方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的故障检测方法。
CN202111399332.8A 2021-11-19 2021-11-19 一种故障检测方法、装置及存储介质 Withdrawn CN114184885A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111399332.8A CN114184885A (zh) 2021-11-19 2021-11-19 一种故障检测方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111399332.8A CN114184885A (zh) 2021-11-19 2021-11-19 一种故障检测方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN114184885A true CN114184885A (zh) 2022-03-15

Family

ID=80541336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111399332.8A Withdrawn CN114184885A (zh) 2021-11-19 2021-11-19 一种故障检测方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN114184885A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302646A (zh) * 2023-02-24 2023-06-23 荣耀终端有限公司 一种故障定位方法、系统、电子设备及存储介质
CN117114961A (zh) * 2023-04-07 2023-11-24 荣耀终端有限公司 一种频率调整方法及电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302646A (zh) * 2023-02-24 2023-06-23 荣耀终端有限公司 一种故障定位方法、系统、电子设备及存储介质
CN116302646B (zh) * 2023-02-24 2024-03-29 荣耀终端有限公司 一种故障定位方法、系统、电子设备及存储介质
CN117114961A (zh) * 2023-04-07 2023-11-24 荣耀终端有限公司 一种频率调整方法及电子设备

Similar Documents

Publication Publication Date Title
US11023355B2 (en) Dynamic tracing using ranking and rating
CN107451040B (zh) 故障原因的定位方法、装置及计算机可读存储介质
US10838838B2 (en) Method and apparatus for dealing with abnormality of application program and storage medium
KR102236522B1 (ko) 정보를 처리하기 위한 방법 및 장치
EP3121726A1 (en) Fault processing method, related device and computer
CN114184885A (zh) 一种故障检测方法、装置及存储介质
WO2006137356A1 (ja) 自律運用管理システム、自律運用管理方法及びプログラム
CN105045708A (zh) 软件运行错误处理方法及系统
CN114884796A (zh) 故障处理方法、装置、电子设备及存储介质
CN111124761B (zh) 一种设备重启方法、装置、设备及介质
CN108628733B (zh) 批量业务处理操作的测试方法及装置
TWI656453B (zh) 檢測系統及檢測方法
CN109918276B (zh) 基于app应用程序的曝光埋点处理方法及相关设备
US11706086B1 (en) Method and system for monitoring switch on basis of BMC, and device and medium
US10922305B2 (en) Maintaining storage profile consistency in a cluster having local and shared storage
CN113238815A (zh) 一种接口访问控制方法、装置、设备及存储介质
Chen et al. Survivability modeling and analysis of cloud service in distributed data centers
US20180260563A1 (en) Computer system for executing analysis program, and method of monitoring execution of analysis program
CN109445877B (zh) 一种检测游戏服务器多线程使用同一虚拟机的方法
TWI554876B (zh) 節點置換處理方法與使用其之伺服器系統
JP2009217709A (ja) 仮想マシン管理システムおよび計算機、並びに、プログラム
US20230208883A1 (en) Security setting device, method of setting per-process security policy, and computer program stored in recording medium
US20230119536A1 (en) Application profiling to resize and reconfigure compute instances
US20220318374A1 (en) Diagnosis apparatus, diagnosis method, and computer-readable recording medium
JP6477524B2 (ja) サーバ装置、画面情報取得方法およびbmc

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20220315

WW01 Invention patent application withdrawn after publication