CN114281628A - 一种***故障检测方法、装置、电子设备及存储介质 - Google Patents

一种***故障检测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114281628A
CN114281628A CN202111615492.1A CN202111615492A CN114281628A CN 114281628 A CN114281628 A CN 114281628A CN 202111615492 A CN202111615492 A CN 202111615492A CN 114281628 A CN114281628 A CN 114281628A
Authority
CN
China
Prior art keywords
virtual machine
system fault
output image
screen output
detection result
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
CN202111615492.1A
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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202111615492.1A priority Critical patent/CN114281628A/zh
Publication of CN114281628A publication Critical patent/CN114281628A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种***故障检测方法、装置、电子设备及存储介质,该***故障检测方法包括:在预设时长内没有监测到虚拟机的工作信号之后,获取虚拟机的屏幕输出图像;根据屏幕输出图像对虚拟机进行***故障检测,获得检测结果。在上述的实现过程中,在预设时长内没有监测到虚拟机的工作信号之后,通过屏幕输出图像进一步确定虚拟机是否出现故障,有效地避免了驱动程序或者代理进程出现故障导致虚拟机无法发出工作信号的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。

Description

一种***故障检测方法、装置、电子设备及存储介质
技术领域
本申请涉及云计算、虚拟机和计算机安全的技术领域,具体而言,涉及一种***故障检测方法、装置、电子设备及存储介质。
背景技术
虚拟机(Virtual Machine,VM),是指计算机科学中的一种特殊的软件,虚拟机可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于这个虚拟机所创建的环境来操作软件,虚拟机可以像真实机器一样运行计算机的软件程序。
目前,针对windows虚拟机的操作***故障检测方法大都是通过检测虚拟机的工作信号来确定虚拟机是否出现***故障的,具体例如:通过windows虚拟机中安装的驱动程序在(例如蓝屏)异常时修改共享地址空间中的标志位,然后,虚拟机监视器发现共享地址空间中的标志位被修改之后,即可得知该虚拟机***出现异常。然而在实践过程中发现,有很多情况下共享地址空间中的标志位没有被修改却出现了***故障,这些情况例如:驱动程序出现故障导致无法修改共享地址空间中的标志位,或者,虚拟机中没有安装驱动程序等等;因此,目前针对虚拟机的***故障进行检测的准确率不高。
发明内容
本申请实施例的目的在于提供一种***故障检测方法、装置、电子设备及存储介质,用于改善对虚拟机的***故障进行检测的准确率不高的问题。
本申请实施例提供了一种***故障检测方法,包括:在预设时长内没有监测到虚拟机的工作信号之后,获取虚拟机的屏幕输出图像;根据屏幕输出图像对虚拟机进行***故障检测,获得检测结果。在上述的实现过程中,在预设时长内没有监测到虚拟机的工作信号之后,通过屏幕输出图像进一步确定虚拟机是否出现故障,有效地避免了驱动程序或者代理进程出现故障导致虚拟机无法发出工作信号的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。
可选地,在本申请实施例中,根据屏幕输出图像对虚拟机进行***故障检测,获得检测结果,包括:计算***故障图像与屏幕输出图像之间的第一相似度;若第一相似度大于第一预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障;或者,从屏幕输出图像中识别出屏幕文本,并计算***故障文本与屏幕文本之间的第二相似度;若第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障。在上述的实现过程中,通过***故障图像与屏幕输出图像之间的第一相似度,或者,***故障文本与屏幕输出图像对应的屏幕文本之间的第二相似度,来确定虚拟机是否存在***故障,有效地避免了驱动程序或者代理进程出现故障导致虚拟机无法发出工作信号的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。
可选地,在本申请实施例中,根据屏幕输出图像对虚拟机进行***故障检测,获得检测结果,包括:计算***故障图像与屏幕输出图像之间的第一相似度;从屏幕输出图像中识别出屏幕文本,并计算***故障文本与屏幕文本之间的第二相似度;若第一相似度大于第一预设阈值,且第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障。在上述的实现过程中,通过***故障图像与屏幕输出图像之间的第一相似度,且***故障文本与屏幕输出图像对应的屏幕文本之间的第二相似度,来综合确定虚拟机是否存在***故障,有效地避免了屏幕输出图像(例如蓝色的桌面背景)与***故障图像类似导致虚拟机无法发出工作信号的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。
可选地,在本申请实施例中,虚拟机上安装有代理进程,工作信号是代理进程发出的心跳信号;获取虚拟机的屏幕输出图像,包括:判断在预设时长内是否监测到代理进程发出的心跳信号;若否,则获取虚拟机的屏幕输出图像。在上述的实现过程中,通过虚拟机的屏幕输出图像确定虚拟机是否存在***故障,有效地避免了代理进程出现故障导致虚拟机无法发出工作信号的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。
可选地,在本申请实施例中,虚拟机上安装有电子磁盘,工作信号是电子磁盘在工作时发出的磁盘输入输出信号;获取虚拟机的屏幕输出图像,包括:判断在预设时长内是否监测到电子磁盘在工作时发出的磁盘输入输出信号;若否,则获取虚拟机的屏幕输出图像。在上述的实现过程中,通过虚拟机的屏幕输出图像确定虚拟机是否存在***故障,有效地避免了虚拟机的电子磁盘超时短期内无磁盘IO信号导致误判为***故障的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。
可选地,在本申请实施例中,虚拟机上安装有驱动程序,工作信号是驱动程序在共享地址空间中维护的标志位;获取虚拟机的屏幕输出图像,包括:判断在预设时长内是否监测到共享地址空间中的标志位被修改;若是,则获取虚拟机的屏幕输出图像。在上述的实现过程中,通过虚拟机的屏幕输出图像确定虚拟机是否存在***故障,有效地避免了正常工作的虚拟机上没有安装有驱动程序时无法修改标志位导致误判为***故障的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。
可选地,在本申请实施例中,在获得检测结果之后,还包括:向虚拟机对应的集群控制服务器发送检测结果。在上述的实现过程中,通过向虚拟机对应的集群控制服务器发送检测结果,从而避免了虚拟机未及时发送检测结果导致虚拟机服务中断的问题,有效地提高了虚拟机服务的稳定性。
可选地,在本申请实施例中,在获得检测结果之后,还包括:判断检测结果是否是虚拟机存在***故障;若是,则向虚拟机对应的集群控制服务器发送检测结果和/或屏幕文本。在上述的实现过程中,通过向虚拟机对应的集群控制服务器发送检测结果和/或屏幕文本,集群控制服务器保存的屏幕文本可以帮助维护人员定位***问题,并及时将故障的虚拟机修复,从而进一步提高了虚拟机服务的稳定性。
本申请实施例还提供了一种***故障检测装置,包括:屏幕图像获取模块,用于在预设时长内没有监测到虚拟机的工作信号之后,获取虚拟机的屏幕输出图像;检测结果获得模块,用于根据屏幕输出图像对虚拟机进行***故障检测,获得检测结果。
可选地,在本申请实施例中,检测结果获得模块,包括:第一相似计算模块,用于计算***故障图像与屏幕输出图像之间的第一相似度;第一结果确定模块,用于若第一相似度大于第一预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障;或者;第二相似计算模块,用于从屏幕输出图像中识别出屏幕文本,并计算***故障文本与屏幕文本之间的第二相似度;第二结果确定模块,用于若第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障。
可选地,在本申请实施例中,检测结果获得模块,包括:第三相似计算模块,用于计算***故障图像与屏幕输出图像之间的第一相似度;第四相似计算模块,用于从屏幕输出图像中识别出屏幕文本,并计算***故障文本与屏幕文本之间的第二相似度;检测结果确定模块,用于若第一相似度大于第一预设阈值,且第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障。
可选地,在本申请实施例中,虚拟机上安装有代理进程,工作信号是代理进程发出的心跳信号;屏幕图像获取模块,包括:心跳信号监测模块,用于判断在预设时长内是否监测到代理进程发出的心跳信号;第一图像获取模块,用于若在预设时长内没有监测到代理进程发出的心跳信号,则获取虚拟机的屏幕输出图像。
可选地,在本申请实施例中,虚拟机上安装有电子磁盘,工作信号是电子磁盘在工作时发出的磁盘输入输出信号;屏幕图像获取模块,包括:磁盘信号监测模块,用于判断在预设时长内是否监测到电子磁盘在工作时发出的磁盘输入输出信号;第二图像获取模块,用于若在预设时长内没有监测到电子磁盘在工作时发出的磁盘输入输出信号,则获取虚拟机的屏幕输出图像。
可选地,在本申请实施例中,虚拟机上安装有驱动程序,工作信号是驱动程序在共享地址空间中维护的标志位;屏幕图像获取模块,包括:标志修改监测模块,用于判断在预设时长内是否监测到共享地址空间中的标志位被修改;第三图像获取模块,用于若在预设时长内监测到共享地址空间中的标志位被修改,则获取虚拟机的屏幕输出图像。
可选地,在本申请实施例中,***故障检测装置,还包括:检测结果发送模块,用于向虚拟机对应的集群控制服务器发送检测结果。
可选地,在本申请实施例中,***故障检测装置,还包括:***故障判断模块,用于判断检测结果是否是虚拟机存在***故障;屏幕文本发送模块,用于若检测结果是虚拟机存在***故障,则向虚拟机对应的集群控制服务器发送检测结果和/或屏幕文本。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的***故障检测方法的流程示意图;
图2示出的本申请实施例提供的虚拟机服务集群的架构示意图;
图3示出的本申请实施例提供的反馈检测结果给集群控制服务器的流程示意图;
图4示出的本申请实施例提供的***故障检测装置的结构示意图;
图5示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请实施例的详细描述并非旨在限制要求保护的本申请实施例的范围,而是仅仅表示本申请实施例中的选定实施例。基于本申请实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
在介绍本申请实施例提供的***故障检测方法之前,先介绍本申请实施例中所涉及的一些概念:
光学字符识别(Optical Character Recognition,OCR)是指利用相机、扫描仪等光学输入电子设备对票据、订单号、文本文件或其它载体上的字符进行拍摄或扫描,然后对拍摄或扫描后的图像文件进行数字化处理,得到文字信息的过程。
卷积循环神经网络(Convolutional Recurrent Neural Networks,CRNN),是指包括卷积神经网络(Convolutional Neural Networks,CNN)和循环神经网络(RecurrentNeural Network,RNN)的神经网络模型;CRNN例如可以是一种卷积循环神经网络结构,可以用于解决基于图像的序列识别问题,基于图像的序列识别问题例如可以是场景文字识别问题。
需要说明的是,本申请实施例提供的***故障检测方法可以被电子设备执行,该电子设备上可以运行有一个或者多个虚拟机,该电子设备又可以称作虚拟机的宿主机。上述的电子设备是指具有执行计算机程序功能的服务器集群、单个服务器或者设备终端,服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。
下面介绍该***故障检测方法适用的应用场景,这里的应用场景包括但不限于:超融合、弹性计算主机、桌面云产品和虚拟机集群等场景中,使用该***故障检测方法可以快速和准确地检测出超融合、弹性计算主机、桌面云产品和虚拟机集群等场景中的虚拟机是否出现***故障。
请参见图1示出的本申请实施例提供的***故障检测方法的流程示意图;该***故障检测方法的主要思路是,在预设时长内没有监测到虚拟机的工作信号之后,通过屏幕输出图像进一步确定虚拟机是否出现故障,有效地避免了驱动程序或者代理进程出现故障导致虚拟机无法发出工作信号的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。上述***故障检测方法具体可以包括:
步骤S110:在预设时长内没有监测到虚拟机的工作信号之后,获取虚拟机的屏幕输出图像。
上述步骤S110的实施方式有很多种,包括但不限于下面的三种:
第一种实施方式,针对虚拟机上安装有代理进程的情况,宿主机接收到虚拟机的工作信号是代理进程发出的心跳信号,这种实施方式可以包括:
步骤S111:电子设备判断在预设时长内是否监测到代理进程发出的心跳信号。
步骤S112:若在预设时长内没有监测到代理进程发出的心跳信号,则获取虚拟机的屏幕输出图像。
上述步骤S111至步骤S112的实施方式例如:针对Linux虚拟机或者Windows虚拟机上都可以安装并运行代理进程,该代理进程(即代理软件运行时的程序进程)可以周期性地向宿主机(即电子设备)发送虚拟机的心跳信号,心跳信号表示该虚拟机在心跳信号的周期内是正常工作且没有故障的,如果停止发送心跳信号,则表示该虚拟机出现了故障。电子设备判断在预设时长内是否监测到代理进程发出的心跳信号;其中,此处的预设时长可以根据具体情况进行设置,例如将预设时长设置为5个心跳信号的周期或者30个心跳信号的周期等等。在正常情况下,虚拟机的代理进程会定时向电子设备发送心跳信号,电子设备是能够接收到虚拟机的代理进程发送的心跳信号的,说明虚拟机是正常工作的。若电子设备在预设时长内没有监测到代理进程发出的心跳信号,则说明虚拟机的代理进程出现故障或者虚拟机本身出现故障,此时可以获取虚拟机的屏幕输出图像,且可以根据屏幕输出图像来确定出现故障的详细情况。
第二种实施方式,针对虚拟机上安装有电子磁盘的情况,宿主机接收到虚拟机的工作信号是虚拟机的电子磁盘在工作时发出的磁盘输入输出(Input Output,IO)信号;这种实施方式可以包括:
步骤S113:电子设备判断在预设时长内是否监测到电子磁盘在工作时发出的磁盘输入输出信号。
步骤S114:若在预设时长内没有监测到电子磁盘在工作时发出的磁盘输入输出信号,则获取虚拟机的屏幕输出图像。
上述步骤S113至步骤S114的实施方式例如:有些虚拟机上没有代理进程,但是虚拟机在正常工作时会读写电子磁盘,此时虚拟机在读写电子磁盘会发出的IO信号,因此可以根据虚拟机的电子磁盘在工作时发出的IO信号来确定该虚拟机是正常工作或者出现故障。电子设备判断在预设时长内是否监测到电子磁盘在工作时发出的磁盘输入输出信号;其中,此处的预设时长可以根据具体情况进行设置,例如将预设时长设置为10分钟或者30分钟等等。在正常情况下,虚拟机的电子磁盘在工作时发出的IO信号,电子设备是能够监测到IO信号的,说明虚拟机是正常工作的。若在预设时长内没有监测到电子磁盘在工作时发出的磁盘输入输出信号,则说明虚拟机出现故障或者电子磁盘本身出现故障,此时可以获取虚拟机的屏幕输出图像,且可以根据屏幕输出图像来确定出现故障的详细情况。
第三种实施方式,针对虚拟机上安装有驱动程序,宿主机接收到虚拟机的工作信号是工作信号是驱动程序在共享地址空间中维护的标志位;这种实施方式可以包括:
步骤S115:电子设备判断在预设时长内是否监测到共享地址空间中的标志位被修改。
步骤S116:若在预设时长内监测到共享地址空间中的标志位被修改,则获取虚拟机的屏幕输出图像。
上述步骤S115至步骤S116的实施方式例如:由于电子设备上可以运行有一个或者多个虚拟机,因此该电子设备又可以称作虚拟机的宿主机。虚拟机和宿主机之间有可以共同访问和修改的共享地址空间,此处的共享地址空间是指虚拟机与电子设备(即该虚拟机的宿主机)的共享地址空间,具体可以采用模拟处理器(Qemu)模拟的总线设备的配置空间地址。当虚拟机出现故障(例如Windows虚拟机蓝屏)时,虚拟机向共享地址空间中写入或者修改标志位。电子设备判断在预设时长内是否监测到共享地址空间中的标志位被修改(即写入了原来没有标志位或者原来的标志位被修改)。若在预设时长内监测到共享地址空间中的标志位被修改,说明该虚拟机出现了故障,则获取虚拟机的屏幕输出图像,且可以根据屏幕输出图像来确定出现故障的详细情况。若在预设时长内没有监测到共享地址空间中的标志位被修改,说明该虚拟机没有出现故障。
第四种实施方式,结合上述第一种实施方式、第二种实施方式和/或第三种实施方式,该实施方式的实施原理与上面类似,重复的部分不再赘述,该实施方式具体可以包括:电子设备判断虚拟机在预设时长内是否满足预设条件,该预设条件包括:没有监测到该虚拟机上运行的代理进程发出的心跳信号、没有监测到该虚拟机对应的电子磁盘在工作时发出的磁盘输入输出信号、没有监测到该虚拟机对应的共享地址空间中的标志位被修改中的至少二者。若虚拟机在预设时长内满足预设条件,则获取虚拟机的屏幕输出图像,且可以根据屏幕输出图像来确定出现故障的详细情况,出现故障的详细情况将在下面详细地介绍。由于代理进程故障或者重启都会导致某个预设时长内(即某个时间段内)没有发送心跳信号,且虚拟机的电子磁盘超时也会导致短期没有电子磁盘的IO信号,且没有安装有驱动程序的虚拟机无法向宿主机发出工作信号。如果此时容易误以为虚拟机操作***出现故障而重启虚拟机的操作***,就会导致正常的业务中断。在第四种实施方式中,通过结合上面的三种实施方式来综合判断,可以有效地减小虚拟机的故障检测的失误概率,从而提高***故障检测的正确率。
在步骤S110之后,执行步骤S120:根据屏幕输出图像对虚拟机进行***故障检测,获得检测结果。
上述步骤S120的实施方式有很多种,包括但不限于下面的三种:
第一种实施方式,仅根据屏幕输出图像与***故障图像之间的相似度来进行***故障检测,该实施方式可以包括:
步骤S121:电子设备获取***故障图像,并计算***故障图像与屏幕输出图像之间的第一相似度。
上述步骤S121的实施方式例如:电子设备通过执行使用预设编程语言编译或者解释的可执行程序来获取***故障图像,并计算***故障图像与屏幕输出图像之间的第一相似度,可以使用的编程语言例如:C、C++、Java、BASIC、JavaScript、LISP、Shell、Perl、Ruby、Python和PHP等等。
可选地,电子设备还可以在得到屏幕输出图像之后,向虚拟机服务集群发送屏幕输出图像,以使虚拟机服务集群中的服务器节点来计算***故障图像与屏幕输出图像之间的第一相似度。由于虚拟机服务集群中有很多服务器节点,且服务器节点上存储有***故障图像,因此,虚拟机服务集群可以很快地计算出***故障图像与屏幕输出图像之间的第一相似度,从而提高第一相似度的计算效率。
步骤S122:若第一相似度大于第一预设阈值,则确定检测结果是虚拟机存在***故障。
步骤S123:若第一相似度小于或等于第一预设阈值,则确定检测结果是虚拟机不存在***故障。
在上述的实现过程中,由于虚拟机的操作***出现故障时都会出现一个特殊的页面,例如:Windows操作***出现蓝屏,那么整个屏幕都是蓝色的,并且会显示***故障的详细原因;又例如Linux操作***出现内核错误,那么屏幕会打印***故障的内核堆栈信息。因此,下面根据屏幕输出图像对虚拟机进行***故障检测,可以进一步提高故障检测的准确率。
第二种实施方式,仅根据***故障图像与屏幕输出图像之间的相似度来进行***故障检测,该实施方式可以包括:
步骤S124:电子设备从屏幕输出图像中识别出屏幕文本,并获取***故障文本,然后计算***故障文本与屏幕文本之间的第二相似度。
上述步骤S124的实施方式例如:电子设备对屏幕输出图像进行文字识别和图像识别,获得识别出屏幕文本;其中,文字识别和图像识别可以采用OCR技术、CNN模型和CRNN模型等等。然后,从数据库中获取***故障文本,然后计算***故障文本与屏幕文本之间的第二相似度,该第二相似度可以是计算分词后的***故障文本和分词后的屏幕文本之间的相似度,即先对屏幕文本做分词,获得多个屏幕词语,然后提取多个屏幕词语的特征值,计算该多个屏幕词语的特征值与数据库中保存的***故障文本的特征值之间的相似度,并将该相似度确定为第二相似度。上述的数据库中可以事先存储很多***故障文本,该数据库可以采用内存数据库或者关系型数据库等,可以使用的内存数据库例如:Memcached和Redis等,可以使用的关系型数据库例如:Mysql、PostgreSQL、Oracle和SQLSever等。
可选地,电子设备还可以在得到屏幕输出图像之后,向虚拟机服务集群发送屏幕输出图像,以使虚拟机服务集群中的服务器节点来从屏幕输出图像中识别出屏幕文本,并获取***故障文本,然后计算***故障文本与屏幕文本之间的第二相似度。由于虚拟机服务集群中有很多服务器节点,且服务器节点上存储有***故障文本,因此,虚拟机服务集群可以很快地识别出屏幕文本,并计算出***故障文本与屏幕文本之间的第二相似度,从而提高第二相似度的计算效率。
步骤S125:若第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障。
步骤S126:若第二相似度小于或者等于第二预设阈值,则确定检测结果是虚拟机不存在***故障。
上述步骤S125至步骤S126的实施方式例如:若***故障文本与屏幕文本之间的第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障;此处的第二预设阈值可以根据具体情况进行设置,例如设置为80%或者90%等等。若第二相似度小于或者等于第二预设阈值,则说明虚拟机是在正常工作的,可以确定检测结果是虚拟机不存在***故障。
第三种实施方式,根据屏幕输出图像与***故障图像之间的第一相似度,以及***故障图像与屏幕输出图像之间的第二相似度来进行***故障检测,该实施方式可以包括:
步骤S127:电子设备获取***故障图像,并计算***故障图像与屏幕输出图像之间的第一相似度。
其中,该步骤S127的实施原理和实施方式与步骤S121的实施原理和实施方式是类似的,因此,这里不再说明其实施原理和实施方式,如有不清楚的地方,可以参考对步骤S121的描述。
步骤S128:电子设备从屏幕输出图像中识别出屏幕文本,并获取***故障文本,然后计算***故障文本与屏幕文本之间的第二相似度。
其中,该步骤S128的实施原理和实施方式与步骤S124的实施原理和实施方式是类似的,因此,这里不再说明其实施原理和实施方式,如有不清楚的地方,可以参考对步骤S124的描述。
步骤S129:若第一相似度大于第一预设阈值,且第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障。
上述步骤S129的实施方式例如:若第一相似度大于第一预设阈值,且第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障。若第一相似度小于或等于第一预设阈值,或者,第二相似度小于或等于第二预设阈值,则确定检测结果是虚拟机不存在***故障。
在上述的实现过程中,先在预设时长内没有监测到虚拟机的工作信号之后,获取虚拟机的屏幕输出图像,并根据屏幕输出图像对虚拟机进行***故障检测。也就是说,在预设时长内没有监测到虚拟机的工作信号之后,通过屏幕输出图像进一步确定虚拟机是否出现故障,有效地避免了驱动程序或者代理进程出现故障导致虚拟机无法发出工作信号的情况,从而有效地提高了对虚拟机的***故障进行检测的准确率。
请参见图2示出的本申请实施例提供的虚拟机服务集群的架构示意图;该虚拟机服务集群中可以包括集群控制服务器和多个服务器节点,此处的多个服务器节点可以包括:服务器节点1、服务器节点2和服务器节点n等等,集群控制服务器负责管理各个服务器节点的信息通信、资源分配和数据计算等等任务,以及多个电子设备的屏幕输出图像的文字识别、相似度计算和屏幕文本的相似度计算等等任务。上述的多个电子设备可以包括:第一电子设备(即宿主机)和第二电子设备;每个电子设备均可以包括至少一个虚拟机,具体例如:第一电子设备包括:虚拟机A和虚拟机B,第二电子设备包括:虚拟机C和虚拟机D等等。
请参见图3示出的本申请实施例提供的反馈检测结果给集群控制服务器的流程示意图;可选地,在获得检测结果之后,电子设备还可以反馈检测结果给集群控制服务器,该实施方式可以包括:
步骤S210:电子设备在预设时长内没有监测到虚拟机的工作信号之后,获取虚拟机的屏幕输出图像。
在步骤S210之后,执行步骤S220:电子设备根据屏幕输出图像对虚拟机进行***故障检测,获得检测结果。
其中,该步骤S210至步骤S220的实施原理和实施方式与步骤S110至步骤S120的实施原理和实施方式是类似的,因此,这里不再说明其实施原理和实施方式,如有不清楚的地方,可以参考对步骤S110至步骤S120的描述。
在步骤S220之后,执行步骤S230:电子设备向虚拟机对应的集群控制服务器发送检测结果。
上述步骤S230的实施方式例如:判断检测结果是否是虚拟机存在***故障;若检测结果是虚拟机存在***故障,则电子设备向虚拟机对应的集群控制服务器发送检测结果和/或屏幕文本。可选地,电子设备还可以将检测结果和/或屏幕文本进行压缩,获得压缩后的检测结果和/或屏幕文本,并向虚拟机对应的集群控制服务器发送压缩后的检测结果和/或屏幕文本,以使集群控制服务器保存检测结果和/或屏幕文本,并输出给维护人员。如果确定虚拟机发生***故障,那么屏幕上显示的屏幕文本很有可能显示故障发生的详细原因,所以,集群控制服务器保存的屏幕文本是可以帮助维护人员定位***问题和快速恢复虚拟机的正常工作状态,以及后期的审计操作(即确认是否发生误判)。
在上述的实现过程中,通过向虚拟机对应的集群控制服务器发送检测结果,从而避免了虚拟机未及时发送检测结果导致虚拟机服务中断的问题,有效地提高了虚拟机服务的稳定性。同时,通过向虚拟机对应的集群控制服务器发送检测结果和/或屏幕文本,集群控制服务器保存的屏幕文本可以帮助维护人员定位***问题,并及时将故障的虚拟机修复,从而进一步提高了虚拟机服务的稳定性。
请参见图4示出的本申请实施例提供的***故障检测装置的结构示意图;本申请实施例提供了一种***故障检测装置300,包括:
屏幕图像获取模块310,用于在预设时长内没有监测到虚拟机的工作信号之后,获取虚拟机的屏幕输出图像。
检测结果获得模块320,用于根据屏幕输出图像对虚拟机进行***故障检测,获得检测结果。
可选地,在本申请实施例中,检测结果获得模块,包括:
第一相似计算模块,用于计算***故障图像与屏幕输出图像之间的第一相似度。
第一结果确定模块,用于若第一相似度大于第一预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障。
或者。
第二相似计算模块,用于从屏幕输出图像中识别出屏幕文本,并计算***故障文本与屏幕文本之间的第二相似度。
第二结果确定模块,用于若第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障。
可选地,在本申请实施例中,检测结果获得模块,包括:
第三相似计算模块,用于计算***故障图像与屏幕输出图像之间的第一相似度。
第四相似计算模块,用于从屏幕输出图像中识别出屏幕文本,并计算***故障文本与屏幕文本之间的第二相似度。
检测结果确定模块,用于若第一相似度大于第一预设阈值,且第二相似度大于第二预设阈值,则确定检测结果是虚拟机存在***故障,否则,确定检测结果是虚拟机不存在***故障。
可选地,在本申请实施例中,虚拟机上安装有代理进程,工作信号是代理进程发出的心跳信号;屏幕图像获取模块,包括:
心跳信号监测模块,用于判断在预设时长内是否监测到代理进程发出的心跳信号。
第一图像获取模块,用于若在预设时长内没有监测到代理进程发出的心跳信号,则获取虚拟机的屏幕输出图像。
可选地,在本申请实施例中,虚拟机上安装有电子磁盘,工作信号是电子磁盘在工作时发出的磁盘输入输出信号;屏幕图像获取模块,包括:
磁盘信号监测模块,用于判断在预设时长内是否监测到电子磁盘在工作时发出的磁盘输入输出信号。
第二图像获取模块,用于若在预设时长内没有监测到电子磁盘在工作时发出的磁盘输入输出信号,则获取虚拟机的屏幕输出图像。
可选地,在本申请实施例中,虚拟机上安装有驱动程序,工作信号是驱动程序在共享地址空间中维护的标志位;屏幕图像获取模块,包括:
标志修改监测模块,用于判断在预设时长内是否监测到共享地址空间中的标志位被修改。
第三图像获取模块,用于若在预设时长内监测到共享地址空间中的标志位被修改,则获取虚拟机的屏幕输出图像。
可选地,在本申请实施例中,***故障检测装置,还包括:
检测结果发送模块,用于向虚拟机对应的集群控制服务器发送检测结果。
可选地,在本申请实施例中,***故障检测装置,还包括:
***故障判断模块,用于判断检测结果是否是虚拟机存在***故障。
屏幕文本发送模块,用于若检测结果是虚拟机存在***故障,则向虚拟机对应的集群控制服务器发送检测结果和/或屏幕文本。
应理解的是,该装置与上述的***故障检测方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作***(operating system,OS)中的软件功能模块。
请参见图5示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备400,包括:处理器410和存储器420,存储器420存储有处理器410可执行的机器可读指令,机器可读指令被处理器410执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质430,该计算机可读存储介质430上存储有计算机程序,该计算机程序被处理器410运行时执行如上的方法。
其中,计算机可读存储介质430可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。

Claims (10)

1.一种***故障检测方法,其特征在于,包括:
在预设时长内没有监测到虚拟机的工作信号之后,获取所述虚拟机的屏幕输出图像;
根据所述屏幕输出图像对所述虚拟机进行***故障检测,获得检测结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述屏幕输出图像对所述虚拟机进行***故障检测,获得检测结果,包括:
计算***故障图像与所述屏幕输出图像之间的第一相似度;
若所述第一相似度大于第一预设阈值,则确定所述检测结果是所述虚拟机存在***故障,否则,确定所述检测结果是所述虚拟机不存在***故障;
或者,
从所述屏幕输出图像中识别出屏幕文本,并计算***故障文本与所述屏幕文本之间的第二相似度;
若所述第二相似度大于第二预设阈值,则确定所述检测结果是所述虚拟机存在***故障,否则,确定所述检测结果是所述虚拟机不存在***故障。
3.根据权利要求1所述的方法,其特征在于,所述根据所述屏幕输出图像对所述虚拟机进行***故障检测,获得检测结果,包括:
计算***故障图像与所述屏幕输出图像之间的第一相似度;
从所述屏幕输出图像中识别出屏幕文本,并计算***故障文本与所述屏幕文本之间的第二相似度;
若所述第一相似度大于第一预设阈值,且所述第二相似度大于第二预设阈值,则确定所述检测结果是所述虚拟机存在***故障,否则,确定所述检测结果是所述虚拟机不存在***故障。
4.根据权利要求1所述的方法,其特征在于,所述虚拟机上安装有代理进程,所述工作信号是所述代理进程发出的心跳信号;所述获取所述虚拟机的屏幕输出图像,包括:
判断在所述预设时长内是否监测到所述代理进程发出的心跳信号;
若否,则获取所述虚拟机的屏幕输出图像。
5.根据权利要求1所述的方法,其特征在于,所述虚拟机上安装有电子磁盘,所述工作信号是所述电子磁盘在工作时发出的磁盘输入输出信号;所述获取所述虚拟机的屏幕输出图像,包括:
判断在所述预设时长内是否监测到所述电子磁盘在工作时发出的磁盘输入输出信号;
若否,则获取所述虚拟机的屏幕输出图像。
6.根据权利要求1所述的方法,其特征在于,所述虚拟机上安装有驱动程序,所述工作信号是所述驱动程序在共享地址空间中维护的标志位;所述获取所述虚拟机的屏幕输出图像,包括:
判断在所述预设时长内是否监测到所述共享地址空间中的标志位被修改;
若是,则获取所述虚拟机的屏幕输出图像。
7.根据权利要求1-6任一所述的方法,其特征在于,在所述获得检测结果之后,还包括:
若检测结果是虚拟机存在***故障,则向所述虚拟机对应的集群控制服务器发送所述检测结果。
8.一种***故障检测装置,其特征在于,包括:
屏幕图像获取模块,用于在预设时长内没有监测到虚拟机的工作信号之后,获取所述虚拟机的屏幕输出图像;
检测结果获得模块,用于根据所述屏幕输出图像对所述虚拟机进行***故障检测,获得检测结果。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一项所述的方法。
CN202111615492.1A 2021-12-27 2021-12-27 一种***故障检测方法、装置、电子设备及存储介质 Pending CN114281628A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111615492.1A CN114281628A (zh) 2021-12-27 2021-12-27 一种***故障检测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111615492.1A CN114281628A (zh) 2021-12-27 2021-12-27 一种***故障检测方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN114281628A true CN114281628A (zh) 2022-04-05

Family

ID=80876416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111615492.1A Pending CN114281628A (zh) 2021-12-27 2021-12-27 一种***故障检测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114281628A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116824515A (zh) * 2023-08-29 2023-09-29 苏州浪潮智能科技有限公司 一种基于图形故障诊断方法、装置、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116824515A (zh) * 2023-08-29 2023-09-29 苏州浪潮智能科技有限公司 一种基于图形故障诊断方法、装置、电子设备和存储介质
CN116824515B (zh) * 2023-08-29 2024-01-26 苏州浪潮智能科技有限公司 一种基于图形故障诊断方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US10365961B2 (en) Information handling system pre-boot fault management
CN107967205B (zh) 一种内存分析方法、装置、***以及计算设备
JP2017517060A (ja) 障害処理方法、関連装置、およびコンピュータ
CN111917740A (zh) 一种异常流量告警日志检测方法、装置、设备及介质
CN108287769B (zh) 一种信息处理方法及装置
CN110471945B (zh) 活跃数据的处理方法、***、计算机设备和存储介质
CN114996103A (zh) 页面异常检测方法、装置、电子设备和存储介质
CN114281628A (zh) 一种***故障检测方法、装置、电子设备及存储介质
CN113672415A (zh) 一种磁盘故障处理方法、装置、设备及存储介质
CN109299124B (zh) 用于更新模型的方法和装置
CN114020432A (zh) 任务异常处理方法、装置及任务异常处理***
CN111694684A (zh) 存储设备的异常构造方法、装置、电子设备及存储介质
CN113806138A (zh) 数据库的备份恢复检测方法、装置及电子设备、存储介质
CN115599310B (zh) 存储节点中存储资源的控制方法、装置以及存储节点
CN110231921B (zh) 日志打印方法、装置、设备及计算机可读存储介质
CN116823608A (zh) 一种页面图像的拼接方法、装置、计算机设备及存储介质
CN111538994A (zh) 一种***安全检测及修复方法、装置、存储介质及终端
CN112579330A (zh) 操作***异常数据的处理方法、装置及设备
CN113112023B (zh) AIStation推理平台的推理服务管理方法和装置
CN115168236A (zh) 自动化测试方法及电子设备、存储介质
CN115269252A (zh) 应用程序故障处理方法、装置、设备及存储介质
CN114500249A (zh) 一种根因定位方法和装置
CN110289977B (zh) 物流仓库***的故障检测方法及***、设备和存储介质
CN109634636B (zh) 应用处理方法、装置、设备和介质
CN110362464B (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