一种虚拟机故障预测的方法及装置与流程

文档序号:16207860发布日期:2018-12-08 07:20阅读:135来源:国知局
一种虚拟机故障预测的方法及装置与流程

本发明涉及通信技术,尤指一种虚拟机故障预测的方法及装置。

背景技术

在云计算时代,大量应用被部署在虚拟机上运行,数据中心中的虚拟机的数量不断扩大,虚拟机的结构日益复杂,一旦虚拟机发生过故障,人工对故障的排查和处理的工作量巨大,导致业务系统无法正常运行。



技术实现要素:

为了解决上述技术问题,本发明提供了一种虚拟机故障预测的方法及装置,以解决目前在发现虚拟机故障过程中存在的滞后性问题。

为了达到本发明目的,本发明提供了一种虚拟机故障预测的方法,包括:

实时采集当前虚拟机的综合性能数据,所述综合性能数据包括所述虚拟机的外部数据和内部数据,其中,所述外部数据包括所述虚拟机所在的主机的性能数据、所述虚拟机所在的主机的负载和所述虚拟机的负载,所述内部数据包括所述虚拟机的性能数据;

通过所述外部数据确定所述虚拟机所属的虚拟机类别,调用与所述虚拟机类别对应的预先建立的预测模型;

将所述内部数据输入所述预测模型,对所述虚拟机进行故障预测。

进一步,所述预测模型是通过以下方式预先建立的:

对预定长度时间内采集到的虚拟机的外部数据进行聚类处理,得到多个虚拟机类别;

对于各虚拟机类别分别进行如下操作:以属于该虚拟机类别的虚拟机的内部数据作为训练数据,通过机器学习算法得到与该虚拟机类别对应的所述预测模型。

进一步,所述将所述内部数据输入所述预测模型进行故障预测之后,还包括:

记录预测结果,若确定预测精度小于预定阈值,则对所述预测模型进行重新训练。

进一步,所述对所述预测模型进行重新训练,包括:

对当前已采集到的所有虚拟机的外部数据进行聚类处理,得到多个虚拟机类别;

对于各虚拟机类别分别进行如下操作:以属于该虚拟机类别的虚拟机的内部数据作为训练数据,通过机器学习算法,得到与该虚拟机类别对应的所述预测模型。

进一步,所述预测精度为,在指定时间段内对所述虚拟机进行故障预测的结果与实际结果一致的比率。

一种虚拟机故障预测的装置,包括:

采集模块,用于实时采集当前虚拟机的综合性能数据,所述综合性能数据包括所述虚拟机的外部数据和内部数据,其中,所述外部数据包括所述虚拟机所在的主机的性能数据、所述虚拟机所在的主机的负载和所述虚拟机的负载,所述内部数据包括所述虚拟机的性能数据;

调用模块,用于通过所述外部数据确定所述虚拟机所属的虚拟机类别,调用与所述虚拟机类别对应的预先建立的预测模型;

预测模块,用于将所述内部数据输入所述预测模型,对所述虚拟机进行故障预测。

进一步,所述装置还包括:

训练模块,用于通过以下方式预先建立所述预测模型:对预定长度时间内采集到的虚拟机的外部数据进行聚类处理,得到多个虚拟机类别;对于各虚拟机类别分别进行如下操作:以属于该虚拟机类别的虚拟机的内部数据作为训练数据,通过机器学习算法得到与该虚拟机类别对应的所述预测模型。

进一步,所述装置还包括:

反馈模块,用于在所述预测模块进行故障预测之后,记录预测结果,若确定预测精度小于预定阈值,则触发所述训练模块对所述预测模型进行重新训练。

进一步,所述训练模块,对所述预测模型进行重新训练包括:对当前已采集到的所有虚拟机的外部数据进行聚类处理,得到多个虚拟机类别;对于各虚拟机类别分别进行如下操作:以属于该虚拟机类别的虚拟机的内部数据作为训练数据,通过机器学习算法得到与该虚拟机类别对应的所述预测模型。

一种虚拟机故障预测的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

实时采集当前虚拟机的综合性能数据,所述综合性能数据包括所述虚拟机的外部数据和内部数据,其中,所述外部数据包括所述虚拟机所在的主机的性能数据、所述虚拟机所在的主机的负载和所述虚拟机的负载,所述内部数据包括所述虚拟机的性能数据;

通过所述外部数据确定所述虚拟机所属的虚拟机类别,调用与所述虚拟机类别对应的预先建立的预测模型;

将所述内部数据输入所述预测模型,对所述虚拟机进行故障预测。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例的一种虚拟机故障预测的方法的流程图;

图2为本发明实施例的一种虚拟机故障预测的装置的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1为本发明实施例的一种虚拟机故障预测的方法的流程图,如图1所示,本实施例的方法包括以下步骤:

步骤101、实时采集当前虚拟机的综合性能数据,所述综合性能数据包括所述虚拟机的外部数据和内部数据;

本实施例中,所述外部数据包括:所述虚拟机所在的主机的性能数据、所述虚拟机所在的主机的负载和所述虚拟机的负载;

所述内部数据包括所述虚拟机的性能数据。

步骤102、通过所述外部数据确定所述虚拟机所属的虚拟机类别,调用与所述虚拟机类别对应的预先建立的预测模型;

本实施例中,所述预测模型可以通过以下方式训练得到:

对预定长度时间内采集到的虚拟机的外部数据进行聚类处理,得到多个虚拟机类别;

对于各虚拟机类别分别进行如下操作:以属于该虚拟机类别的虚拟机的内部数据作为训练数据,通过机器学习算法得到与该虚拟机类别对应的所述预测模型。

步骤103、将所述内部数据输入所述预测模型,对所述虚拟机进行故障预测。

本发明实施例通过机器学习方法对虚拟机的运行状态进行预测,可以在虚拟机发生故障前提醒管理员采取容错措施,提高系统可靠性。

机器学习作为一种智能算法,近年来已经在故障检测、人脸识别、自动驾驶等领域得到广泛应用。本发明实施例将机器学习应用于虚拟机的故障预测,解决普通方法在处理虚拟机故障过程中存在的滞后性问题,通过对数据中心中大量的虚拟机综合性能数据进行建模,建立虚拟机故障预测模型,预测虚拟机的运行状态,在虚拟机发生故障前发出预警,提醒管理员采取容错措施,减少虚拟机故障,提高业务系统可靠性。

本实施例具体实施过程可以包括以下两个阶段:

a、学习阶段:

1)对虚拟机的综合性能数据进行采集,包括外部数据(主机的性能数据、主机负载、虚拟机的负载)和内部数据(虚拟机性能数据);

2)在数据预处理过程中对虚拟机的外部数据进行聚类处理;

3)将聚类处理后同一虚拟机类别中的虚拟机的内部数据,输入机器学习模块进行训练,得到预测模型。

b、预测阶段:

1)实时采集当前虚拟机的综合性能数据;

2)利用外部数据找到与其相近的虚拟机类别;

3)调用所述虚拟机类别对应的预测模型,输入内部数据进行预测,根据预测结果选择是否做出预警。

在一实施例中,在将所述内部数据输入所述预测模型进行故障预测后,还可以对预测结果进行记录,当预测精度小于预定阈值时,则可以对所述预测模型进行重新训练,以对预测模型的参数进行调整。

所述预测精度为,在指定时间段内对所述虚拟机进行故障预测的结果与实际结果一致的比率。

对所述预测模型进行重新训练,可以包括:

对当前已采集到的所有虚拟机的外部数据进行聚类处理,得到多个虚拟机类别;

对于各虚拟机类别分别进行如下操作:以属于该虚拟机类别的虚拟机的内部数据作为训练数据,通过机器学习进算法得到与该虚拟机类别对应的所述预测模型。

本实施例中,重新训练的数据是当前已采集的所述虚拟机的综合性能数据,数据更新,数据量更大,可以有效地解决预测模型老化的问题。

图2为本发明实施例的一种虚拟机故障预测的装置的示意图,如图2所示,本实施例的装置200包括:

采集模块201,用于实时采集当前虚拟机的综合性能数据,所述综合性能数据包括所述虚拟机的外部数据和内部数据,其中,所述外部数据包括所述虚拟机所在的主机的性能数据、所述虚拟机所在的主机的负载和所述虚拟机的负载,所述内部数据包括所述虚拟机的性能数据;

调用模块202,用于通过所述外部数据确定所述虚拟机所属的虚拟机类别,调用与所述虚拟机类别对应的预先建立的预测模型;

预测模块203,用于将所述内部数据输入所述预测模型,对所述虚拟机进行故障预测。

本发明实施例的一种虚拟机故障预测的装置可以在虚拟机发生故障前发出预警,提醒管理人员采取容错措施,减少虚拟机故障,提高业务系统可靠性。

在一实施例中,所述故障预测装置还可以包括:

训练模块204,用于通过以下方式预先建立所述预测模型:对预定长度时间内采集到的虚拟机的外部数据进行聚类处理,得到多个虚拟机类别;对于各虚拟机类别分别进行如下操作:以属于该虚拟机类别的虚拟机的内部数据作为训练数据,通过机器学习算法得到与该虚拟机类别对应的所述预测模型。

机器学习算法作为一种智能算法,近年来已经在故障检测、人脸识别、自动驾驶等领域得到广泛应用。本发明实施例将机器学习应用于虚拟机的故障预测,解决普通方法在发现虚拟机故障过程中存在的滞后性问题。

在一实施例中,所述装置还可以包括:

反馈模块205,用于在所述预测模块进行故障预测之后,记录预测结果,若确定预测精度小于预定阈值,则触发所述训练模块对所述预测模型进行重新训练。

本实施例的反馈模块205可以监视预测模型的预测精度,当预测精度明显不足时,可以触发训练模块对所述预测模型进行重新训练。

在一实施例中,所述训练模块204,对所述预测模型进行重新训练包括:对当前已采集到的所有虚拟机的外部数据进行聚类处理,得到多个虚拟机类别;对于各虚拟机类别分别进行如下操作:以属于该虚拟机类别的虚拟机的内部数据作为训练数据,通过机器学习算法得到与该虚拟机类别对应的所述预测模型。

本实施例中,重新训练的数据是当前已采集的所述虚拟机的综合性能数据,数据更新,数据量更大,可以有效地解决预测模型老化的问题。

本发明实施例还提供一种虚拟机故障预测的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

实时采集当前虚拟机的综合性能数据,所述综合性能数据包括所述虚拟机的外部数据和内部数据,其中,所述外部数据包括所述虚拟机所在的主机的性能数据、所述虚拟机所在的主机的负载和所述虚拟机的负载,所述内部数据包括所述虚拟机的性能数据;

通过所述外部数据确定所述虚拟机所属的虚拟机类别,调用与所述虚拟机类别对应的预先建立的预测模型;

将所述内部数据输入所述预测模型,对所述虚拟机进行故障预测。

本实施例的方案,将机器学习用于虚拟机的故障预测,运用聚类算法对虚拟机进行聚类处理,在此基础上建立预测模型进行虚拟机的故障预测,能够在考虑虚拟机外部运行环境和内部负载的情况下对虚拟机的运行状况进行准确预测,减少故障的发生,提高系统可靠性。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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