虚拟机的故障检测方法技术

技术编号:21033724 阅读:36 留言:0更新日期:2019-05-04 05:14
本发明专利技术公开了一种虚拟机的故障检测方法,服务器根据参数配置文件和预设的正常桌面图片创建虚拟机模板,终端根据所述虚拟机模板加载虚拟机,客户端加载配置文件并且将虚拟机当前的桌面截屏图片与预设的正常图片对比获得对比差异数据,并将所述对比差异数据和桌面截屏图片传输到服务器,所述服务器根据所述对比差异数据和桌面截屏图片判断虚拟机是否正常。本发明专利技术通过图像直方图以及图像均衡化技术、进程检测和socket数据传输,将虚拟机的桌面截屏图片与正常的桌面图片对比,根据差异值和截屏图象判断虚拟机的桌面是否正常。

【技术实现步骤摘要】
虚拟机的故障检测方法
本专利技术属于云计算
,具体涉及一种虚拟机的故障检测方法。
技术介绍
在批量测试虚拟机云桌面的时候,当虚拟机的数量达到上百、上千台的时候,很难通过人工一一去检查云桌面虚拟机是否正常启动。传统通过ping虚拟机IP地址的方法,只能检测出虚拟机网络正常,当虚拟机桌面出现白屏、花屏或者有异常、错误弹框时,无法检测出来。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种虚拟机的故障检测方法。为达到上述目的,本专利技术的技术方案是这样实现的:本专利技术实施例提供一种虚拟机的故障检测方法,该方法为:服务器根据参数配置文件和预设的正常桌面图片创建虚拟机模板,终端根据所述虚拟机模板加载虚拟机,客户端加载配置文件并且将虚拟机当前的桌面截屏图片与预设的正常图片对比获得对比差异数据,并将所述对比差异数据和桌面截屏图片传输到服务器,所述服务器根据所述对比差异数据和桌面截屏图片判断虚拟机是否正常。上述方案中,所述终端根据所述虚拟机模板加载虚拟机,客户端加载配置文件,之后,该方法还包括:所述客户端检测虚拟机已经启动特定程序并且已获取到IP地址后,获取虚拟机名称、cpu、内存信息并且发送到服务器。上述方案中,所述将虚拟机当前的桌面截屏图片与预设正常图片对比获得对比差异数据,具体为,所述客户端通过PIL库的ImageGrab.grab()方法进行截取当前的桌面图像,将所述当前的桌面截屏图片与预设的正常桌面图片通过直方图法对比获得图片差异值a。上述方案中,所述将所述对比差异数据和桌面截屏图片传输到服务器,具体为:将虚拟机的云桌面名称、当前的桌面截屏图片和差异值a通过socket.send()发送到服务器。上述方案中,所述服务器根据所述对比差异数据和桌面截屏图片判断虚拟机是否正常,具体为:所述服务器收到桌面截屏图片,并且图片差异值a大于0,确认该虚拟机的网络正常但桌面异常。上述方案中,所述服务器根据所述对比差异数据和桌面截屏图片判断虚拟机是否正常,具体为:所述服务器收到桌面截屏图片,并且图片差异值a等于0,但是cpu、内存信息表示占用过大,确认该虚拟机的负载异常。上述方案中,所述服务器根据所述对比差异数据和桌面截屏图片判断虚拟机是否正常,具体为:所述服务器收到桌面截屏图片、图片差异值a等于0、并且cpu、内存信息表示正常,确认该虚拟机正常。上述方案中,该方法还包括:如果所述服务器没有接收到对比差异数据和桌面截屏图片,确认该虚拟机没启动或网络异常。与现有技术相比,本专利技术通过图像直方图以及图像均衡化技术、进程检测和socket数据传输,将虚拟机的桌面截屏图片与正常的桌面图片对比,根据差异值和截屏图像判断虚拟机的桌面是否正常。附图说明图1为本专利技术实施例提供一种虚拟机的故障检测方法的流程图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术实施例提供一种虚拟机的故障检测方法,如图1所示,该方法通过以下步骤实现:步骤101:服务器根据参数配置文件和预设的正常桌面图片创建虚拟机模板;具体地,创建虚拟机模板,将客户端程序、参数配置文件和预设的正常桌面图片放到指定目录,并设置开机自动运行客户端程序,通过虚拟机模板批量创建虚拟机。所述参数配置文件包含服务端地址、端口、检测进程名、等待时间。步骤102:终端根据所述虚拟机模板加载虚拟机,客户端加载配置文件;具体地,所述客户端自动运行并加载参数配置文件和预设的正常桌面图片;检测虚拟机特定进程是否已启动,如果没启动等待一段时间再检测;检测虚拟机网卡是否正常,已获取到IP地址,如果没获取到IP等待一段时间再检测。所述特定进程是指依托于该程序将信息上报给服务器。所述客户端检测虚拟机已经启动特定程序并且已获取到IP地址后,获取虚拟机名称、cpu、内存信息并且发送到服务器。步骤103:所述客户端将虚拟机当前的桌面截屏图片与预设的正常图片对比获得对比差异数据,并将所述对比差异数据和桌面截屏图片传输到服务器;具体地,所述客户端通过PIL库的ImageGrab.grab()方法进行截取当前的桌面图像,将所述当前的桌面截屏图片与预设的正常桌面图片通过直方图法对比获得图片差异值a。将虚拟机的云桌面名称、当前的桌面截屏图片和差异值a通过socket.send()发送到服务器。步骤104:所述服务器根据所述对比差异数据和桌面截屏图片判断虚拟机是否正常。具体地,所述服务器收到桌面截屏图片,并且图片差异值a大于0,确认该虚拟机的网络正常但桌面异常。所述服务器收到桌面截屏图片,并且图片差异值a等于0,但是cpu、内存信息表示占用过大,确认该虚拟机的负载异常。所述服务器收到桌面截屏图片、图片差异值a等于0、并且cpu、内存信息表示正常,确认该虚拟机正常。如果所述服务器没有接收到对比差异数据和桌面截屏图片,确认该虚拟机没启动或网络异常。以上所述,仅为本专利技术的较佳实施例而已,并非用于限定本专利技术的保护范围。本文档来自技高网...

【技术保护点】
1.一种虚拟机的故障检测方法,其特征在于,该方法为:服务器根据参数配置文件和预设的正常桌面图片创建虚拟机模板,终端根据所述虚拟机模板加载虚拟机,客户端加载配置文件并且将虚拟机当前的桌面截屏图片与预设的正常图片对比获得对比差异数据,并将所述对比差异数据和桌面截屏图片传输到服务器,所述服务器根据所述对比差异数据和桌面截屏图片判断虚拟机是否正常。

【技术特征摘要】
1.一种虚拟机的故障检测方法,其特征在于,该方法为:服务器根据参数配置文件和预设的正常桌面图片创建虚拟机模板,终端根据所述虚拟机模板加载虚拟机,客户端加载配置文件并且将虚拟机当前的桌面截屏图片与预设的正常图片对比获得对比差异数据,并将所述对比差异数据和桌面截屏图片传输到服务器,所述服务器根据所述对比差异数据和桌面截屏图片判断虚拟机是否正常。2.根据权利要求1所述的虚拟机的故障检测方法,其特征在于,所述终端根据所述虚拟机模板加载虚拟机,客户端加载配置文件,之后,该方法还包括:所述客户端检测虚拟机已经启动特定程序并且已获取到IP地址后,获取虚拟机名称、cpu、内存信息并且发送到服务器。3.根据权利要求1或2所述的虚拟机的故障检测方法,其特征在于,所述将虚拟机当前的桌面截屏图片与预设正常图片对比获得对比差异数据,具体为,所述客户端通过PIL库的ImageGrab.grab()方法进行截取当前的桌面图像,将所述当前的桌面截屏图片与预设的正常桌面图片通过直方图法对比获得图片差异值a。4.根据权利要求3所述的虚拟机的故障检测方法,其特征在于,所述将所述对比差异数据...

【专利技术属性】
技术研发人员:袁横光
申请(专利权)人:广东微云科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1