CN114896024B - 基于核密度估计的虚拟机运行状态检测方法和装置 - Google Patents

基于核密度估计的虚拟机运行状态检测方法和装置 Download PDF

Info

Publication number
CN114896024B
CN114896024B CN202210511420.0A CN202210511420A CN114896024B CN 114896024 B CN114896024 B CN 114896024B CN 202210511420 A CN202210511420 A CN 202210511420A CN 114896024 B CN114896024 B CN 114896024B
Authority
CN
China
Prior art keywords
probability density
data set
density distribution
score
feature
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.)
Active
Application number
CN202210511420.0A
Other languages
English (en)
Other versions
CN114896024A (zh
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.)
Nuctech Co Ltd
Original Assignee
Nuctech 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 Nuctech Co Ltd filed Critical Nuctech Co Ltd
Publication of CN114896024A publication Critical patent/CN114896024A/zh
Application granted granted Critical
Publication of CN114896024B publication Critical patent/CN114896024B/zh
Priority to PCT/CN2023/078972 priority Critical patent/WO2023185358A1/zh
Priority to EP23164526.8A priority patent/EP4254182A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

提供了一种基于核密度估计的虚拟机运行状态检测方法,包括:获取用于表征虚拟机的至少一个运行状态的至少一个特征的训练数据集;利用核密度估计算法对训练数据集构建概率密度模型,以得到概率密度分布曲线;根据概率密度模型确定概率密度阈值;获取至少一个特征的测试数据集;根据构建的所述概率密度模型,得到概率密度分布曲线;比较训练数据集和测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分;比较测试数据集的多个概率密度值与概率密度阈值,以确定异常值比例度量总评分;根据概率密度分布度量总评分和异常值比例度量总评分,确定虚拟机状态总评分;根据虚拟机状态总评分,确定虚拟机的运行状态。

Description

基于核密度估计的虚拟机运行状态检测方法和装置
技术领域
本公开涉及云计算技术领域,具体涉及一种基于核密度估计的虚拟机运行状态检测方法和装置、电子设备、计算机可读存储介质和程序产品。
背景技术
随着云计算产业应用领域的不断扩展,越来越多的企业及个人用户将本业务系统向云平台迁移,规模的扩大给云服务的安全及稳定性带来了巨大挑战。虚拟机作为云计算的基础组成,其稳定性与可靠性将直接关系到线上业务的正常运行。因此,设计一种能够快速准确检测出虚拟机异常状态的方法,及时发现潜在风险,对保障线上业务的正常有序的开展有重要意义。
传统的虚拟机异常告警都是人工按照经验设置固定阈值,一旦虚拟机运行数据超出该阈值则触发告警,不具备随着时间和业务变更的灵活性。同时,这种判断方式过于依赖专业人士,需要专业的运维人员逐一检查虚拟机的每一项指标,效率低下且可靠性不能保障。
在本部分中公开的以上信息仅用于对本公开的发明构思的背景的理解,因此,以上信息可包含不构成现有技术的信息。
发明内容
鉴于上述技术问题中的至少一个方面,提出了一种基于核密度估计的虚拟机运行状态检测方法和装置、电子设备、计算机可读存储介质和程序产品。
在一个方面,提供一种基于核密度估计的虚拟机运行状态检测方法,包括:
获取至少一个特征的训练数据集,其中,所述至少一个特征用于表征虚拟机的至少一个运行状态;
利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线;
根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值;
获取所述至少一个特征的测试数据集;
根据构建的所述概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线;
比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分;
比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分;
根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分;以及
根据所述虚拟机状态总评分,确定虚拟机的运行状态。
根据一些示例性的实施例,所述根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分,具体包括:
利用以下公式,根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分,
ss=ws1×sm+ws2×st,
其中,ss为虚拟机状态总评分,sm为概率密度分布度量总评分, st为异常值比例度量总评分,ws1为概率密度分布度量总评分的权重系数,ws2为异常值比例度量总评分的权重系数。
根据一些示例性的实施例,ws1>ws2。
根据一些示例性的实施例,所述至少一个特征包括第一特征、第二特征和第三特征,所述第一特征、第二特征和第三特征用于分别表征虚拟机的不同运行状态,所述获取至少一个特征的训练数据集具体包括:同时获取第一特征的第一训练数据集、第二特征的第二训练数据集和第三特征的第三训练数据集。
根据一些示例性的实施例,所述利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线,具体包括:所述利用核密度估计算法分别对所述第一特征的第一训练数据集、所述第二特征的第二训练数据集和所述第三特征的第三训练数据集构建概率密度模型,以得到所述第一训练数据集的第一概率密度分布曲线、所述第二训练数据集的第二概率密度分布曲线和所述第三训练数据集的第三概率密度分布曲线。
根据一些示例性的实施例,所述根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值具体包括:根据所述概率密度分布曲线分别确定所述第一训练数据集的第一概率密度阈值、所述第二训练数据集的第二概率密度阈值和所述第三训练数据集的第三概率密度阈值。
根据一些示例性的实施例,所述获取至少一个特征的测试数据集具体包括:同时获取第一特征的第一测试数据集、第二特征的第二测试数据集和第三特征的第三测试数据集。
根据一些示例性的实施例,根据构建的所述概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线,具体包括:根据构建的所述概率密度模型,分别得到所述第一测试数据集的第一概率密度分布曲线、所述第二测试数据集的第二概率密度分布曲线和所述第三测试数据集的第三概率密度分布曲线。
根据一些示例性的实施例,所述比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分,具体包括:
比较所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线,以确定第一概率密度分布度量评分;
比较所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线,以确定第二概率密度分布度量评分;以及
比较所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线,以确定第三概率密度分布度量评分。
根据一些示例性的实施例,所述比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分,还具体包括:
利用以下公式,根据所述第一概率密度分布度量评分、所述第二概率密度分布度量评分和所述第三概率密度分布度量评分,确定所述概率密度分布度量总评分,
sm=wm1×smc1+wm2×smc2+wm3×smc3,
其中,sm为概率密度分布度量总评分,smc1为第一概率密度分布度量评分,smc2为第二概率密度分布度量评分,smc3为第三概率密度分布度量评分,wm1、wm2、wm3分别为第一概率密度分布度量评分、第二概率密度分布度量评分和第三概率密度分布度量评分的权重系数。
根据一些示例性的实施例,所述比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分,具体包括:
比较所述第一测试数据集的多个概率密度值与所述第一概率密度阈值,以确定第一异常值比例度量评分;
比较所述第二测试数据集的多个概率密度值与所述第二概率密度阈值,以确定第二异常值比例度量评分;以及
比较所述第三测试数据集的多个概率密度值与所述第三概率密度阈值,以确定第三异常值比例度量评分。
根据一些示例性的实施例,所述比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分,还具体包括:
利用以下公式,根据所述第一异常值比例度量评分、所述第二异常值比例度量评分和所述第三异常值比例度量评分,确定所述异常值比例度量总评分,
st=wt1×stc1+wt2×stc2+wt3×stc3,
其中,st为异常值比例度量总评分,stc1为第一异常值比例度量评分,stc2为第二异常值比例度量评分,stc3为第三异常值比例度量评分,wt1、wt2、wt3分别为第一异常值比例度量评分、第二异常值比例度量评分和第三异常值比例度量评分的权重系数。
根据一些示例性的实施例,所述比较所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线,以确定第一概率密度分布度量评分,具体包括:计算所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第一概率密度分布度量评分;和/或,
所述比较所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线,以确定第二概率密度分布度量评分,具体包括:计算所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线之间的 Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第二概率密度分布度量评分;和/或,
所述比较所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线,以确定第三概率密度分布度量评分,具体包括:计算所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线之间的 Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第三概率密度分布度量评分。
根据一些示例性的实施例,确定所述第一训练数据集的第一概率密度阈值具体包括:将所述第一特征的第一训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N1位的概率密度值作为第一概率密度阈值,其中,N1=int(10%×N10),N10为第一训练数据集的多个概率密度值的总数,int表示取整运算;和/或,
确定所述第二训练数据集的第二概率密度阈值具体包括:将所述第二特征的第二训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N2位的概率密度值作为第二概率密度阈值,其中, N2=int(10%×N20),N20为第二训练数据集的多个概率密度值的总数,int表示取整运算;和/或,
确定所述第三训练数据集的第三概率密度阈值具体包括:将所述第三特征的第三训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N3位的概率密度值作为第三概率密度阈值,其中, N3=int(10%×N30),N30为第三训练数据集的多个概率密度值的总数,int表示取整运算。
根据一些示例性的实施例,所述比较所述第一测试数据集的多个概率密度值与所述第一概率密度阈值,以确定第一异常值比例度量评分,具体包括:计算所述第一测试数据集的多个概率密度值中小于所述第一概率密度阈值的概率密度值的个数占所述第一测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制,以获得第一异常值比例度量评分;和/或,
所述比较所述第二测试数据集的多个概率密度值与所述第二概率密度阈值,以确定第二异常值比例度量评分,具体包括:计算所述第二测试数据集的多个概率密度值中小于所述第二概率密度阈值的概率密度值的个数占所述第二测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制,以获得第二异常值比例度量评分;和/或,
所述比较所述第三测试数据集的多个概率密度值与所述第三概率密度阈值,以确定第三异常值比例度量评分,具体包括:计算所述第三测试数据集的多个概率密度值中小于所述第三概率密度阈值的概率密度值的个数占所述第三测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制,以获得第三异常值比例度量评分。
根据一些示例性的实施例,所述根据所述虚拟机状态总评分,确定虚拟机的运行状态,具体包括:
当所述虚拟机状态总评分低于第一评分阈值时,确定所述虚拟机处于运行异常状态;
当所述虚拟机状态总评分位于由第一评分阈值和第二评分阈值限定的第一区间中时,确定所述虚拟机处于高潜在异常状态;以及
当所述虚拟机状态总评分位于由第二评分阈值和第三评分阈值限定的第二区间中时,确定所述虚拟机处于低潜在异常状态。
根据一些示例性的实施例,所述第一特征为CPU利用率,所述第二特征为网络接收流量,所述第三特征为网络发送流量。
根据一些示例性的实施例,所述获取至少一个特征的训练数据集和所述获取所述至少一个特征的测试数据集中的至少一个具体包括:
采集规定时间段内的虚拟机的初级监控数据,其中,所述初级监控数据包括虚拟机号、采集时间戳、虚拟机的CPU使用时间、网络接收流量和网络发送流量;
将采集的初级监控数据按照虚拟机号进行聚合处理;
从聚合处理后的初级监控数据中提取预定时间段内的多个特征的数据;以及
按照采集时间戳对多个特征的数据进行融合,以形成特征向量。
根据一些示例性的实施例,所述方法还包括:
对第一特征的第一训练数据集、第二特征的第二训练数据集和第三特征的第三训练数据集进行相关性分析;以及
根据所述相关性分析的结果,确定权重系数wm1、wm2、wm3 以及权重系数wt1、wt2、wt3。
根据一些示例性的实施例,所述第二特征的第二训练数据集和所述第三特征的第三训练数据集之间的相关性高于所述第一特征的第一训练数据集和所述第二特征的第二训练数据集之间的相关性,以及所述第二特征的第二训练数据集和所述第三特征的第三训练数据集之间的相关性高于所述第一特征的第一训练数据集和所述第三特征的第三训练数据集之间的相关性;
所述权重系数wm1大于所述权重系数wm2和wm3中的任一个,以及,所述权重系数wt1大于所述权重系数wt2和wt3中的任一个。
根据一些示例性的实施例,所述权重系数wm2大于所述权重系数wm3,以及,所述权重系数wt2大于所述权重系数wt3。
根据一些示例性的实施例,所述根据所述虚拟机状态总评分,确定虚拟机的运行状态,还具体包括:
当所述虚拟机状态总评分位于由第三评分阈值和第四评分阈值限定的第三区间中时,确定所述虚拟机处于运行良好状态;以及
当所述虚拟机状态总评分高于第四评分阈值时,确定所述虚拟机处于运行优秀状态。
在另一方面,提供一种基于核密度估计的虚拟机运行状态检测装置,包括:
训练数据获取模块,用于获取至少一个特征的训练数据集,其中,所述至少一个特征用于表征虚拟机的至少一个运行状态;
第一概率密度模型构建模块,用于利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线;
概率密度阈值确定模块,用于根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值;
测试数据集获取模块,用于获取所述至少一个特征的测试数据集;
第二概率密度分布曲线获得模块,用于根据构建的所述概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线;
概率密度分布度量总评分确定模块,用于比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分;
异常值比例度量总评分确定模块,用于比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分;
虚拟机状态总评分确定模块,用于根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分;以及
虚拟机运行状态确定模块,用于根据所述虚拟机状态总评分,确定虚拟机的运行状态。
在又另一方面,提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上所述的方法。
在再一方面,提供一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如上所述的方法。
在仍另一方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
在根据本公开的实施例的方法中,提出了一种虚拟机异常检测评分机制,充分利用历史数据与概率密度函数的特点,设计了两种度量指标,对虚拟机的健康状况进行量化。即,可以综合上述两个度量指标,对虚拟机的健康情况进行量化,从而能够快速且直观地确定出虚拟机的运行状态。
附图说明
为了更好地理解本发明,将根据以下附图对本发明进行详细描述:
图1示意性示出了根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法的应用场景图。
图2示意性示出了根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法的流程图。
图3示意性示出了根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法中获取数据集的步骤的流程图。
图4示意性示出了根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法中使用的三个特征之间的相关性。
图5A至图5C分别示意性示出了三个特征的训练数据集的概率密度分布曲线。
图6示意性示出了以函数分布度量确定虚拟机的运行状态评分的过程的流程图。
图7示意性示出了以异常值比例度量确定虚拟机的运行状态评分的过程的流程图。
图8是根据本公开的示例性实施例的基于核密度估计的虚拟机运行状态检测装置的结构框图。
图9示意性示出了根据本公开的示例性实施例的适于上述方法的电子设备的结构框图。
具体实施方式
下面将详细描述本发明的具体实施例,应当注意,这里描述的实施例只用于举例说明,并不用于限制本发明。在以下描述中,为了提供对本发明的透彻理解,阐述了大量特定细节。然而,对于本领域普通技术人员显而易见的是:不必采用这些特定细节来实行本发明。在其他实例中,为了避免混淆本发明,未具体描述公知的结构、材料或方法。
在整个说明书中,对“一个实施例”、“实施例”、“一个示例”或“示例”的提及意味着:结合该实施例或示例描述的特定特征、结构或特性被包含在本发明至少一个实施例中。因此,在整个说明书的各个地方出现的短语“在一个实施例中”、“在实施例中”、“一个示例”或“示例”不一定都指同一实施例或示例。此外,可以以任何适当的组合和/或子组合将特定的特征、结构或特性组合在一个或多个实施例或示例中。此外,本领域普通技术人员应当理解,这里使用的术语“和/或”包括一个或多个相关列出的项目的任何和所有组合。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
图1示意性示出了根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法的应用场景图。
如图1所示,根据本公开实施例的应用场景100可以包括终端设备101、服务器102、云103和网络104。
云计算是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。在云计算早期阶段,云计算主要进行简单的分布式计算,解决任务分发,并进行计算结果的合并。此时,云计算又称为网格计算。通过这项技术,可以在很短的时间内(例如几秒钟)完成对数以万计的数据的处理,从而达到强大的网络服务。随着技术的发展,现阶段所说的云服务已经不单单是一种分布式计算,而是分布式计算、效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术混合演进并跃升的结果。
云计算可以按照服务类型进行分类,目前,业界按照服务类型将云计算由下往上分为以下三类:(1)基础设施即服务(Infrastructure as a Service,简称为IaaS),它为用户提供基础硬件设施服务,即计算资源。其中,包括虚拟服务器资源、存储资源和网络带宽资源等。(2) 平台即服务(Platform as a Service,简称为PaaS),它为用户提供通过互联网构建应用程序和服务的平台,即为开发、测试和管理软件应用程序提供按需开发环境。(3)软件即服务(Software a Service,简称为SaaS),它为用户提供按需软件付费应用程序,云计算提供商托管和管理软件应用程序,并允许用户连接到应用程序并通过互联网访问应用程序。如图1所示,在云103中,可以提供多个服务器102,所述多个服务器102可以提供各种服务。通常,在云103中,设置有云平台管理系统,负责对多个服务器102提供的资源进行快速调度和集中管理。
虚拟化是云计算的基础技术之一,在虚拟化技术中,通过将物理计算资源虚拟化,将物理资源转化为方便管理的虚拟资源。虚拟化技术包含硬件虚拟化和软件虚拟化两个方面,云计算利用虚拟化技术,封装硬件资源和软件资源,并且可以通过互联网提供给用户所需要的服务。在云计算中,虚拟化的主要目标包括CPU资源、内存资源、存储资源和网络带宽资源等,这些资源通常以虚拟机的形式提供给用户,通过可以通过提供特定的接口来进行操作,这样可以方便应用程序或用户针对某个应用来使用资源。一个服务器102上可以设置至少一个虚拟机,例如,多个虚拟机,从表面来看,这些虚拟机都是独立的服务器,但实际上,它们共享物理服务器102的CPU、内存、硬件资源、网络资源等。在本文中,服务器102可以称为“宿主机(Host)”,虚拟机也可以称为“客户机(Guest)”。
网络104用以在终端设备101和云103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络104与云103交互,这样,用户可以使用在云103中的各种应用、数据或服务。
例如,终端设备101可以是具有显示屏并且能够安装应用软件的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
需要说明的是,本公开实施例所提供的方法可以由服务器102执行。相应地,本公开实施例所提供的装置可以设置于服务器102中。本公开实施例所提供的方法也可以由不同于服务器102且能够与终端设备101和/或服务器102通信的服务器或服务器集群执行。相应地,本公开实施例所提供的装置也可以设置于不同于服务器102且能够与终端设备101和/或服务器102通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
目前,在一些相关技术中,将数据挖掘、机器学习等技术应用于虚拟机异常检测。发明人经研究发现,由于采用虚拟机运行过程中产生的大量监控信息作为训练指标,其信息维度与频率较高,转化为可标注的数据有一定的困难,需要大量的人力、时间和专业知识人员;虚拟机异常情况比较复杂,由于人员本身的局限性,有可能出现标注错误或者漏标的问题;虚拟机异常状况占少数,正负样本严重不平衡。因此,在本公开的实施例中,提出采用无监督机器学习算法应用于虚拟机异常检测。
进一步地,无监督算法大致可以分为两类:一类是基于样本间的距离、密度等相似性度量的聚类算法,一类是基于核密度估计的非参数算法。发明人经研究发现,可以将基于样本间的距离、密度等相似性度量的聚类算法应用于虚拟机异常检测,例如,将LOF(即Local Outlier Factor算法)、IFOREST(即孤立森林算法)、DBSCAN(即 Density-BasedSpatial Clustering of Applications with Noise算法)等算法的结果加权求取虚拟机的异常指数,在这种情况下,这类算法随着训练样本的增加时间复杂度非常高,不利于线上进行,且距离度量方法和聚类的初始点不好选取,会对最终结果产生较大的影响。
通过对比分析,在本公开的实施例中,采用了另一种无监督机器学习技术——核密度估计算法。该算法从数据本身出发,对数据特征和分布进行描述,不需要人为选择初始点和距离度量方法,减少人为干预的误差,模型测试时计算量适中,其训练得出的概率密度函数能够以曲线分布的方式展示,便于结果比对,契合对虚拟机相关资源指标的描述。因此,可以采用基于核密度估计算法对虚拟机进行异常检测,通过模型结果获取预警阈值,经过一系列机制实时计算时间窗口内的虚拟机健康得分,来替代人工设置阈值与人工每日运维巡检,清晰明了地展示虚拟机异常指标,从而可以提供智能运维以及解放人力。
图2示意性示出了根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法的流程图。如图2所示,根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法200可以包括操作S210~操作S290,该基于核密度估计的虚拟机运行状态检测方法可以由服务器102执行。
需要说明的是,根据本公开的一些实施例,方法200的一些步骤或操作可以单独执行或组合执行,以及可以并行执行或顺序执行,并不局限于图2所示的具体操作顺序。例如,操作S210~操作S290中的至少一些操作可以并行、顺序或逆序执行。
在操作S210中,获取至少一个特征的训练数据集,其中,所述至少一个特征用于表征虚拟机的至少一个运行状态。
在操作S220中,利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线。
在操作S230中,根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值。
在操作S240中,获取所述至少一个特征的测试数据集。
在操作S250中,根据构建的所述概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线。
在操作S260中,比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分。
在操作S270中,比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分。
在操作S280中,根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分。
在操作S290中,根据所述虚拟机状态总评分,确定虚拟机的运行状态。
在本公开的实施例中,提出了一种虚拟机异常检测评分机制,充分利用历史数据与概率密度函数的特点,设计了两种度量指标,对虚拟机的健康状况进行量化。即,可以综合上述两个度量指标,对虚拟机的健康情况进行量化,从而能够快速且直观地确定出虚拟机的运行状态。
在本公开的一些示例性实施例中,所述第一特征为CPU利用率,所述第二特征为网络接收流量,所述第三特征为网络发送流量。需要说明的是,在下面的示例性实施例中,以CPU利用率、网络接收流量和网络发送流量为例来详细描述本公开的技术方案,但是,本公开的实施例不限于此,也就是说,所述至少一个特征可以包括用于表征虚拟机的至少一个运行状态的其他特征。
图3示意性示出了根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法中获取数据集的步骤的流程图。所述获取数据集的步骤可以为上述操作S210和S240中的至少一个。参照图3,在本公开的实施例中,所述获取数据集可以包括操作S310~S340。
在操作S310中,采集规定时间段内的虚拟机的初级监控数据,其中,所述初级监控数据包括虚拟机号、采集时间戳、虚拟机的CPU 使用时间、网络接收流量和网络发送流量。
在本公开的实施例中,采集的数据集来源于现场实际运行时 Prometheus抓取的每台虚拟机的监控数据,例如,可以选择能够反映虚拟机运行状况的CPU利用率、网络接收流量和网络发送流量,从数据库中分别获取存储三种资源指标的初始监控数据表,完成数据采集。具体地,可以在至少一个虚拟机上部署Prometheus-Exporter,通过在虚拟机上部署的Prometheus抓取虚拟机的运行监控数据,并将抓取的数据存入InfluxDB中。通过从InfluxDB中提取Prometheus采集的虚拟机的初级监控数据,例如,包括:虚拟机号、采集时间戳、指标值(例如虚拟机的CPU使用时间、网络接收流量和网络发送流量等)、指标工作模式、端口、采集服务等。例如,时间戳间隔可以为秒。可以在规定时间段(例如一周)内采集数据集,再例如,所有虚拟机的规定时间段可以为早8点至晚17点。
需要说明的是,Prometheus作为新一代的云原生监控系统,目前已经有超过650+位贡献者参与到Prometheus的研发工作上,并且超过120+项的第三方集成。Exporter将监控数据采集的端点通过HTTP 服务的形式暴露给Prometheus Server,Prometheus Server通过访问该 Exporter提供的端点,即可获取到需要采集的监控数据。InfiuxDB是一个用于存储和分析时间序列数据的开源数据库。它的主要特性包括:内置HTTP接口;数据可以打标记;类SQL的查询语句;安装管理很简单,并且读写数据很高效;能够实时查询,数据在写入时被索引后就能够被立即查出。
在操作S320中,将采集的初级监控数据按照虚拟机号进行聚合处理。
在操作S330中,从聚合处理后的初级监控数据中提取预定时间段内的多个特征的数据。
在操作S340中,按照采集时间戳对多个特征的数据进行融合,以形成特征向量。
在本公开的实施例中,操作S320~S340涉及特征工程的构建。即,上述采集的初级监控数据不能直接用来构建模型,需要进一步从初级监控数据中提取建模所需的二级性能指标作为模型输入特征,包括: CPU利用率、网络接收流量、网络发送流量作为建模指标,对二级性能指标进一步标准化处理以完成特征工程的构建。
具体地,首先将采集的初级监控数据按虚拟机号进行聚合处理。例如,初级监控数据可以包括多台虚拟机的数据,在该操作中,按照数据中的虚拟机号对初级监控数据进行聚合,这样,可以将同一台虚拟机的初级监控数据聚合到一起。然后,可以分别按照PromQL中求取CPU利用率、网络流量的公式,从聚合处理后的初始监控数据中提取每个虚拟机预定时间段(例如每20秒时间段)内的三个二级性能指标。然后,可以将提取的三个二级性能指标(即CPU利用率、网络接收流量、网络发送流量)按照时间戳完成特征的融合,以形成特征向量,例如,一个特征向量可以包括三个元素,分别为CPU利用率、网络接收流量、网络发送流量。可选地,还可以进行数据清洗,去除空值和极值对建模的影响,完成特征工程的构建。
需要说明的是,PromQL(英文表述为Prometheus Query Language) 是Prometheus内置的数据查询语言,其提供对时间序列数据丰富的查询,聚合以及逻辑运算能力的支持。它被广泛应用在Prometheus 的日常应用当中,包括对数据查询、可视化、告警处理当中。当Prometheus通过Exporter采集到相应的监控指标样本数据后,可以通过PromQL对监控样本数据进行查询。
在完成特征工程的构建后,可以利用形成的特征向量进行建模。在本公开的实施例中,分别从三个维度(即上述第一特征、第二特征、第三特征)构建三个模型,最终的异常结论是综合三个模型的结果得到总结论。为了后续获取总结论时每个维度权重分配更加合理化,对构建的特征工程的每个维度之间的相关性进行分析。即,对第一特征的第一训练数据集、第二特征的第二训练数据集和第三特征的第三训练数据集进行相关性分析。
图4示意性示出了根据本公开实施例的基于核密度估计的虚拟机运行状态检测方法中使用的三个特征之间的相关性。如图4所示,横坐标和纵坐标中分别有3个指标,其中,cpu_use表示CPU利用率, receive_net_use表示网络接收流量,sent_net_use表示网络发送流量。每个方块分别代表横坐标指标与纵坐标指标之间的两两相关性,颜色为相关性大小度量,颜色与数值对应参考右侧图例,颜色越浅相关性越高,颜色越深相关性越低。方块中的数值表示横坐标指标与纵坐标指标之间的两两相关性,例如,第1行第2列的方块中的数值“-0.023”表示CPU利用率和网络接收流量之间的相关性较低且它们之间为负相关,第2行第3列的方块中的数值“0.59”表示网络接收流量和网络发送流量之间的相关性较高且它们之间为正相关。从图4中可以看出,网络接收流量和网络发送流量之间的相关性较高,CPU利用率与其他两个指标的相关性较低。
在本公开的实施例中,参见上述的操作S220、S250,利用核密度估计算法构建概率密度模型,得到训练数据集和测试数据集的概率密度分布曲线,该曲线作为后续衡量测试数据集得分指标之一。具体地,在本公开的实施例中,在利用核密度估计算法建模的过程中,对三个维度特征分别构建概率密度模型,以得到训练数据集和测试数据集中每个维度的概率密度分布曲线,该曲线作为后续衡量测试数据集得分指标之一,再计算每个模型合理的概率密度阈值,作为后续衡量测试数据集的另一个指标。
在本公开的实施例中,构建的单维模型能够针对每一个维度指标自身进行更加精确的建模以得出精确的检测结果,虚拟机最终的检测评分来源于所有单维结果的综合,从而进一步提升最终的检测评分的准确性。同时,单维模型更便于运维人员确切掌握是哪个指标造成的虚拟机异常,得出的结果更加清晰以及可解释性强。
例如,在上述操作S210中,所述获取至少一个特征的训练数据集具体包括:同时获取第一特征(例如CPU利用率)的第一训练数据集、第二特征(例如网络接收流量)的第二训练数据集和第三特征(例如网络发送流量)的第三训练数据集。
在上述操作S220中,所述利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线,具体包括:所述利用核密度估计算法分别对所述第一特征的第一训练数据集、所述第二特征的第二训练数据集和所述第三特征的第三训练数据集构建概率密度模型,以得到所述第一训练数据集的第一概率密度分布曲线、所述第二训练数据集的第二概率密度分布曲线和所述第三训练数据集的第三概率密度分布曲线。
图5A至图5C分别示意性示出了三个特征的训练数据集的概率密度分布曲线。即,图5A为第一训练数据集的第一概率密度分布曲线,在图5A中,横坐标为第一训练数据集中CPU利用率的值,纵坐标为高斯核密度值。图5B为第二训练数据集的第二概率密度分布曲线,在图5B中,横坐标为第二训练数据集中网络接收流量的值(单位为MB),纵坐标为高斯核密度值。图5C为第三训练数据集的第三概率密度分布曲线,在图5C中,横坐标为第三训练数据集中网络发送流量的值(单位为MB),纵坐标为高斯核密度值。
需要说明的是,核密度估计算法是一种非参数估计算法,不加入先验知识,从数据本身的特点和性质拟合分布,能够比参数估计得出更好的模型。核密度估计本质是从离散数据中产生一个密度函数,以给定样本xt为中心点,以窗口范围内所有点对中心点距离的远近为权重,其最后的密度函数值为窗口内每个x的y值估计的加权和,公式(1) 表示为:
Figure BDA0003636918190000181
其中K是核函数,积分为1且非负,例如,可以采用高斯核函数,以得到平滑的曲线;h为带宽,是选取窗口的大小,窗口小了会过拟合,过大会使得曲线过于平滑,无法展示波动,因此对每个维度采用了网格参数寻优,获取每个维度的最优带宽。
在上述操作S240中,所述获取至少一个特征的测试数据集具体包括:同时获取第一特征的第一测试数据集、第二特征的第二测试数据集和第三特征的第三测试数据集。
在上述操作S250中,所述根据构建的概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线,具体包括:根据构建的概率密度模型,分别得到所述第一测试数据集的第一概率密度分布曲线、所述第二测试数据集的第二概率密度分布曲线和所述第三测试数据集的第三概率密度分布曲线。
在本公开的实施例中,在上述操作S230中,所述根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值具体包括:根据所述概率密度分布曲线分别确定所述第一训练数据集的第一概率密度阈值、所述第二训练数据集的第二概率密度阈值和所述第三训练数据集的第三概率密度阈值。也就是说,针对每个特征计算合理的概率密度阈值,作为后续衡量测试数据集的另一个指标。
在本公开的实施例中,从两个度量指标来确定虚拟机的运行状态评分,其中,所述两个度量包括函数分布度量与异常值比例度量。函数分布度量是计算测试数据集得出的概率密度分布曲线与训练数据集得出的概率密度分布曲线之间的分布差异性,来说明待测数据的异常可能性。异常值比例度量是计算测试数据集中的在阈值范围内的异常值在整个测试数据集中的占比,来说明待测数据的异常可能性。因为训练数据集的分布曲线采用的数据是虚拟机大部分正常运行的资源使用数据,具有一定的参考价值,测试数据集的分布与其差异越大,越能说明异常的可能性越高,分值也会越低。
下面,结合附图结合两个度量指标来详细说明确定虚拟机的运行状态评分的过程。
图6示意性示出了以函数分布度量确定虚拟机的运行状态评分的过程的流程图。图7示意性示出了以异常值比例度量确定虚拟机的运行状态评分的过程的流程图。
参照图6,上述操作S260可以具体包括子操作S2601~S2604。
在子操作S2601中,比较所述第一训练数据集的第一概率密度分布曲线(如图5A所示)与所述第一测试数据集的第一概率密度分布曲线,以确定第一概率密度分布度量评分。
例如,在子操作S2601中,可以计算所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线之间的Wasserstein距离,然后,将所述Wasserstein距离映射成百分制(例如,可以根据表1中的映射关系进行映射),以获得第一概率密度分布度量评分。
在子操作S2602中,比较所述第二训练数据集的第二概率密度分布曲线(如图5B所示)与所述第二测试数据集的第二概率密度分布曲线,以确定第二概率密度分布度量评分。
例如,在子操作S2602中,可以计算所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制 (例如,可以根据表1中的映射关系进行映射),以获得第二概率密度分布度量评分
在子操作S2603中,比较所述第三训练数据集的第三概率密度分布曲线(如图5C所示)与所述第三测试数据集的第三概率密度分布曲线,以确定第三概率密度分布度量评分。
例如,在子操作S2603中,可以计算所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制 (例如,可以根据表1中的映射关系进行映射),以获得第三概率密度分布度量评分。
需要说明的是,Wasserstein距离度量两个概率分布之间的距离, Wesserstein距离又称为Earth-Mover距离(即推土机距离)。
表1 Wasserstein距离与百分制的映射关系
Wasserstein距离 百分制得分
dis_was<1 Floor(int((1-dis_was)*100)
1=<dis_was<2 Floor(int((2-dis_was)/2*100)
2=<dis_was<3 Floor(int((3-dis_was)/3*100)
3=<dis_was<4 Floor(int((4-dis_was)/4*100)
其中,dis_was表示Wasserstein距离,int函数、floor函数均表示取整,其中,int函数直接截去小数部分,floor函数得到最接近原数但是小于原数的整数。
在子操作S2604中,利用以下公式(2),根据所述第一概率密度分布度量评分、所述第二概率密度分布度量评分和所述第三概率密度分布度量评分,确定所述概率密度分布度量总评分,
sm=wm1×smc1+wm2×smc2+wm3×smc3 (2)
其中,sm为概率密度分布度量总评分,smc1为第一概率密度分布度量评分,smc2为第二概率密度分布度量评分,smc3为第三概率密度分布度量评分,wm1、wm2、wm3分别为第一概率密度分布度量评分、第二概率密度分布度量评分和第三概率密度分布度量评分的权重系数。
在本公开的实施例中,根据上述相关性分析的结果,确定权重系数wm1、wm2、wm3。例如,在上述相关性分析中,网络接收流量和网络发送流量之间的相关性较高,CPU利用率与其他两个指标的相关性较低,所以,所述第一概率密度分布度量评分的权重系数wm1 大于所述第二概率密度分布度量评分和第三概率密度分布度量评分的权重系数wm2和wm3中的任一个。另外,相对于网络发送流量,在本公开的实施例中,更关注网络接收流量,所以,所述第二概率密度分布度量评分的权重系数wm2大于第三概率密度分布度量评分的权重系数wm3。
例如,wm1可以为0.5,wm2可以为0.3,wm3可以为0.2。这样,上述公式(2)可以变为:
sm=0.5×smc1+0.3×smc2+0.2×smc3
在本公开的实施例中,测试采样时间窗口(可以以秒为细粒度的一天数据,也可以每小时粗粒度的一天数据)的样本,完成特征工程后,分别在3个概率密度模型上获取每个维度下的概率密度分布,并计算其与训练样本的概率密度分布之间的Wasserstein距离。Wasserstein距离是用来衡量两个分布差异的指标,其值越小越说明测试样本与训练样本的分布越接近,并将该Wasserstein距离的值映射成百分制,映射关系如表1所示,从而每个维度可获取一个函数分布差异度量的得分,综合3个得分可得出一个总得分。以此方式,构建的单维模型能够针对每一个维度指标自身进行更加精确的建模以得出精确的检测结果,虚拟机最终的检测评分来源于所有单维结果的综合,从而进一步提升最终的检测评分的准确性。同时,单维模型更便于运维人员确切掌握是哪个指标造成的虚拟机异常,得出的结果更加清晰以及可解释性强。
参照图7,上述操作S270可以具体包括子操作S2701~S2704。
在子操作S2701中,比较所述第一测试数据集的多个概率密度值与所述第一概率密度阈值,以确定第一异常值比例度量评分。
例如,确定所述第一训练数据集的第一概率密度阈值具体包括:将所述第一特征的第一训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N1位的概率密度值作为第一概率密度阈值,其中,N1=int(10%×N10),N10为第一训练数据集的多个概率密度值的总数,int表示取整运算。
具体地,在子操作S2701中,计算所述第一测试数据集的多个概率密度值中小于所述第一概率密度阈值的概率密度值的个数占所述第一测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制(例如,可以根据表2中的映射关系),以获得第一异常值比例度量评分。
在子操作S2702中,比较所述第二测试数据集的多个概率密度值与所述第二概率密度阈值,以确定第二异常值比例度量评分。
例如,确定所述第二训练数据集的第二概率密度阈值具体包括:将所述第二特征的第二训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N2位的概率密度值作为第二概率密度阈值,其中,N2=int(10%×N20),N20为第二训练数据集的多个概率密度值的总数,int表示取整运算。
具体地,在子操作S2702中,计算所述第二测试数据集的多个概率密度值中小于所述第二概率密度阈值的概率密度值的个数占所述第二测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制(例如,可以根据表2中的映射关系),以获得第二异常值比例度量评分。
在子操作S2703中,比较所述第三测试数据集的多个概率密度值与所述第三概率密度阈值,以确定第三异常值比例度量评分。
例如,确定所述第三训练数据集的第三概率密度阈值具体包括:将所述第三特征的第三训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N3位的概率密度值作为第三概率密度阈值,其中,N3=int(10%×N30、),N30为第三训练数据集的多个概率密度值的总数,int表示取整运算。
具体地,在子操作S2703中,计算所述第三测试数据集的多个概率密度值中小于所述第三概率密度阈值的概率密度值的个数占所述第三测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制(例如,可以根据表2中的映射关系),以获得第三异常值比例度量评分。
表2阈值与百分制的映射关系
低于密度阈值的占比 百分制得分
percent<=10% floor((1-percent)*100)
10%<percent<=20% floor((1-percent)*100*0.9)
20%<percent<=30% floor((1-percent)*100*0.8)
30%<percent<=50% floor((1-percent)*100*0.6)
50%<percent<70% floor((1-percent)*100*0.4)
70%<percent floor((1-percent)*100*0.2)
其中,percent表示测试数据集中低于密度阈值的占比,floor函数表示取整,其中,floor函数得到最接近原数但是小于原数的整数。
在子操作S2704中,利用以下公式(3),根据所述第一异常值比例度量评分、所述第二异常值比例度量评分和所述第三异常值比例度量评分,确定所述异常值比例度量总评分,
st=wt1×stc1+wt2×stc2+wt3×stc3 (3)
其中,st为异常值比例度量总评分,stc1为第一异常值比例度量评分,stc2为第二异常值比例度量评分,stc3为第三异常值比例度量评分,wt1、wt2、wt3分别为第一异常值比例度量评分、第二异常值比例度量评分和第三异常值比例度量评分的权重系数。
在本公开的实施例中,根据上述相关性分析的结果,确定权重系数wt1、wt2、wt3。例如,在上述相关性分析中,网络接收流量和网络发送流量之间的相关性较高,CPU利用率与其他两个指标的相关性较低,所以,所述第一异常值比例度量评分的权重系数wt1大于所述第二异常值比例度量评分和第三异常值比例度量评分的权重系数 wt2和wt3中的任一个。另外,相对于网络发送流量,在本公开的实施例中,更关注网络接收流量,所以,所述第二异常值比例度量评分的权重系数wt2大于第三异常值比例度量评分的权重系数wt3。
例如,wt1可以为0.5,wt2可以为0.3,wt3可以为0.2。这样,上述公式(3)可以变为:
st=0.5×stc1+0.3×stc2+0.2×stc3
在本公开的实施例中,由于训练数据集中没有进行标注,同时也会存在部分少量异常数据,通过专业人士评估历史人工统计出现的异常值的比例约为10%。在该实施例中,判定训练模型中得到的概率密度值较低时,虚拟机处于异常状态。因为概率密度值低说明该资源使用率附近的数值出现的概率较低,即为极大值或者极小值,且出现次数较少。因此,将训练得到的每个维度的概率密度值升序排列,排序在TOP N=[int(10%*概率密度总数)]位的概率密度值提取为阈值警戒线。统计测试样本的概率密度值低于警戒区间的占比,占比越高越说明测试样本的异常比例高,该虚拟机的得分越低。
在本公开的实施例中,在上述操作S280中,所述根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分,具体包括:利用以下公式(4),根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分,
ss=ws1×sm+ws2×st (4)
其中,ss为虚拟机状态总评分,sm为概率密度分布度量总评分, st为异常值比例度量总评分,ws1为概率密度分布度量总评分的权重系数,ws2为异常值比例度量总评分的权重系数。
例如,由于异常值比例设定的阈值比较敏感,会对结果产生的影响较大,为了减少误差,对于两个度量指标的结果分配权重可以为 ws1>ws2。例如,ws1可以为0.6,ws2可以为0.4。这样,上述公式(4)可以变为:
ss=0.6×sm+0.4×st,
在本公开的实施例中,在上述操作S290中,所述根据所述虚拟机状态总评分,确定虚拟机的运行状态,具体包括:当所述虚拟机状态总评分低于第一评分阈值时,确定所述虚拟机处于运行异常状态;当所述虚拟机状态总评分位于由第一评分阈值和第二评分阈值限定的第一区间中时,确定所述虚拟机处于高潜在异常状态;以及当所述虚拟机状态总评分位于由第二评分阈值和第三评分阈值限定的第二区间中时,确定所述虚拟机处于低潜在异常状态。
可选地,所述根据所述虚拟机状态总评分,确定虚拟机的运行状态,还具体包括:当所述虚拟机状态总评分位于由第三评分阈值和第四评分阈值限定的第三区间中时,确定所述虚拟机处于运行良好状态;以及当所述虚拟机状态总评分高于第四评分阈值时,确定所述虚拟机处于运行优秀状态。
例如,可以建立下表3:
表3虚拟机异常指标
ss 虚拟机的运行状态
90以上 优秀
80-90 良好
70-80 低潜在异常
60-70 高潜在异常
60以下 异常
即,当所述虚拟机状态总评分低于60分时,确定所述虚拟机处于运行异常状态;当所述虚拟机状态总评分位于60~70分之间时,确定所述虚拟机处于高潜在异常状态;当所述虚拟机状态总评分位于70~80分之间时,确定所述虚拟机处于低潜在异常状态;当所述虚拟机状态总评分位于80~90分之间时,确定所述虚拟机处于运行良好状态;以及当所述虚拟机状态总评分高于90分时,确定所述虚拟机处于运行优秀状态。
基于上述基于核密度估计的虚拟机运行状态检测方法,本公开的实施例还提供了一种基于核密度估计的虚拟机运行状态检测装置。以下将结合图8对该装置进行详细描述。
图8是根据本公开的示例性实施例的基于核密度估计的虚拟机运行状态检测装置的结构框图。
如图8所示,所述基于核密度估计的虚拟机运行状态检测装置800包括训练数据获取模块810、第一概率密度模型构建模块820、概率密度阈值确定模块830、测试数据集获取模块840、第二概率密度分布曲线获得模块850、概率密度分布度量总评分确定模块860、异常值比例度量总评分确定模块870、虚拟机状态总评分确定模块 880和虚拟机运行状态确定模块890。
训练数据获取模块810用于获取至少一个特征的训练数据集,其中,所述至少一个特征用于表征虚拟机的至少一个运行状态。在一些示例性的实施例中,训练数据获取模块810可以用于执行前文描述的操作S210及其子操作,在此不再赘述。
第一概率密度模型构建模块820用于利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线。在一些示例性的实施例中,第一概率密度模型构建模块820可以用于执行前文描述的操作S220 及其子操作,在此不再赘述。
概率密度阈值确定模块830用于根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值。在一些示例性的实施例中,概率密度阈值确定模块830可以用于执行前文描述的操作S230 及其子操作,在此不再赘述。
测试数据集获取模块840用于获取所述至少一个特征的测试数据集。在一些示例性的实施例中,测试数据集获取模块840可以用于执行前文描述的操作S240及其子操作,在此不再赘述。
第二概率密度模型构建模块850用于根据构建的概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线。在一些示例性的实施例中,第二概率密度模型构建模块850可以用于执行前文描述的操作S250及其子操作,在此不再赘述。
概率密度分布度量总评分确定模块860用于比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分。在一些示例性的实施例中,概率密度分布度量总评分确定模块860可以用于执行前文描述的操作S260及其子操作,在此不再赘述。
异常值比例度量总评分确定模块870用于比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分。在一些示例性的实施例中,异常值比例度量总评分确定模块870可以用于执行前文描述的操作S270及其子操作,在此不再赘述。
虚拟机状态总评分确定模块880用于根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分。在一些示例性的实施例中,虚拟机状态总评分确定模块880可以用于执行前文描述的操作S280及其子操作,在此不再赘述。
虚拟机运行状态确定模块890用于根据所述虚拟机状态总评分,确定虚拟机的运行状态。在一些示例性的实施例中,虚拟机运行状态确定模块890可以用于执行前文描述的操作S290及其子操作,在此不再赘述。
根据本公开的实施例,所述训练数据获取模块810、第一概率密度模型构建模块820、概率密度阈值确定模块830、测试数据集获取模块840、第二概率密度分布曲线获得模块850、概率密度分布度量总评分确定模块860、异常值比例度量总评分确定模块870、虚拟机状态总评分确定模块880和虚拟机运行状态确定模块890中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,训练数据获取模块810、第一概率密度模型构建模块820、概率密度阈值确定模块830、测试数据集获取模块840、第二概率密度分布曲线获得模块850、概率密度分布度量总评分确定模块860、异常值比例度量总评分确定模块870、虚拟机状态总评分确定模块880和虚拟机运行状态确定模块890中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,训练数据获取模块810、第一概率密度模型构建模块820、概率密度阈值确定模块830、测试数据集获取模块840、第二概率密度分布曲线获得模块850、概率密度分布度量总评分确定模块860、异常值比例度量总评分确定模块870、虚拟机状态总评分确定模块880和虚拟机运行状态确定模块890中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图9示意性示出了根据本公开的示例性实施例的适于上述方法的电子设备的结构框图。
如图9所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O) 接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器 (CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可渎存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM 1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的物品推荐方法。
在该计算机程序被处理器1001执行时执行本公开实施例的系统/ 装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++, python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网 (LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (19)

1.一种基于核密度估计的虚拟机运行状态检测方法,其特征在于,包括:
获取至少一个特征的训练数据集,其中,所述至少一个特征用于表征虚拟机的至少一个运行状态;
利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线;
根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值;
获取所述至少一个特征的测试数据集;
根据构建的所述概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线;
比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分;
比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分;
根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分;以及
根据所述虚拟机状态总评分,确定虚拟机的运行状态,
其中,所述至少一个特征包括第一特征、第二特征和第三特征,所述第一特征、第二特征和第三特征用于分别表征虚拟机的不同运行状态;
所述获取至少一个特征的训练数据集具体包括:同时获取第一特征的第一训练数据集、第二特征的第二训练数据集和第三特征的第三训练数据集;
所述利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线,具体包括:所述利用核密度估计算法分别对所述第一特征的第一训练数据集、所述第二特征的第二训练数据集和所述第三特征的第三训练数据集构建概率密度模型,以得到所述第一训练数据集的第一概率密度分布曲线、所述第二训练数据集的第二概率密度分布曲线和所述第三训练数据集的第三概率密度分布曲线;
所述获取至少一个特征的测试数据集具体包括:同时获取第一特征的第一测试数据集、第二特征的第二测试数据集和第三特征的第三测试数据集;
所述根据构建的所述概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线,具体包括:根据构建的所述概率密度模型,分别得到所述第一测试数据集的第一概率密度分布曲线、所述第二测试数据集的第二概率密度分布曲线和所述第三测试数据集的第三概率密度分布曲线;
所述比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分,具体包括:
比较所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线,以确定第一概率密度分布度量评分;
比较所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线,以确定第二概率密度分布度量评分;以及
比较所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线,以确定第三概率密度分布度量评分,
其中,所述比较所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线,以确定第一概率密度分布度量评分,具体包括:计算所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第一概率密度分布度量评分;和/或,
所述比较所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线,以确定第二概率密度分布度量评分,具体包括:计算所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第二概率密度分布度量评分;和/或,
所述比较所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线,以确定第三概率密度分布度量评分,具体包括:计算所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第三概率密度分布度量评分。
2.根据权利要求1所述的方法,其中,所述根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分,具体包括:
利用以下公式,根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分,
ss=ws1×sm+ws2×st,
其中,ss为虚拟机状态总评分,sm为概率密度分布度量总评分,st为异常值比例度量总评分,ws1为概率密度分布度量总评分的权重系数,ws2为异常值比例度量总评分的权重系数。
3.根据权利要求2所述的方法,其中,ws1>ws2。
4.根据权利要求1所述的方法,其中,所述根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值具体包括:
根据所述概率密度分布曲线分别确定所述第一训练数据集的第一概率密度阈值、所述第二训练数据集的第二概率密度阈值和所述第三训练数据集的第三概率密度阈值。
5.根据权利要求4所述的方法,其中,所述比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分,还具体包括:
利用以下公式,根据所述第一概率密度分布度量评分、所述第二概率密度分布度量评分和所述第三概率密度分布度量评分,确定所述概率密度分布度量总评分,
sm=wm1×smc1+wm2×smc2+wm3×smc3,
其中,sm为概率密度分布度量总评分,smc1为第一概率密度分布度量评分,smc2为第二概率密度分布度量评分,smc3为第三概率密度分布度量评分,wm1、wm2、wm3分别为第一概率密度分布度量评分、第二概率密度分布度量评分和第三概率密度分布度量评分的权重系数。
6.根据权利要求5所述的方法,其中,所述比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分,具体包括:
比较所述第一测试数据集的多个概率密度值与所述第一概率密度阈值,以确定第一异常值比例度量评分;
比较所述第二测试数据集的多个概率密度值与所述第二概率密度阈值,以确定第二异常值比例度量评分;以及
比较所述第三测试数据集的多个概率密度值与所述第三概率密度阈值,以确定第三异常值比例度量评分。
7.根据权利要求6所述的方法,其中,所述比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分,还具体包括:
利用以下公式,根据所述第一异常值比例度量评分、所述第二异常值比例度量评分和所述第三异常值比例度量评分,确定所述异常值比例度量总评分,
st=wt1×stc1+wt2×stc2+wt3×stc3,
其中,st为异常值比例度量总评分,stc1为第一异常值比例度量评分,stc2为第二异常值比例度量评分,stc3为第三异常值比例度量评分,wt1、wt2、wt3分别为第一异常值比例度量评分、第二异常值比例度量评分和第三异常值比例度量评分的权重系数。
8.根据权利要求6或7所述的方法,其中,确定所述第一训练数据集的第一概率密度阈值具体包括:将所述第一特征的第一训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N1位的概率密度值作为第一概率密度阈值,其中,N1=int(10%×N10),N10为第一训练数据集的多个概率密度值的总数,int表示取整运算;和/或,
确定所述第二训练数据集的第二概率密度阈值具体包括:将所述第二特征的第二训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N2位的概率密度值作为第二概率密度阈值,其中,N2=int(10%×N20),N20为第二训练数据集的多个概率密度值的总数,int表示取整运算;和/或,
确定所述第三训练数据集的第三概率密度阈值具体包括:将所述第三特征的第三训练数据集的多个概率密度值按照从小至大的顺序排列;将排序在第N3位的概率密度值作为第三概率密度阈值,其中,N3=int(10%×N30),N30为第三训练数据集的多个概率密度值的总数,int表示取整运算。
9.根据权利要求8所述的方法,其中,所述比较所述第一测试数据集的多个概率密度值与所述第一概率密度阈值,以确定第一异常值比例度量评分,具体包括:计算所述第一测试数据集的多个概率密度值中小于所述第一概率密度阈值的概率密度值的个数占所述第一测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制,以获得第一异常值比例度量评分;和/或,
所述比较所述第二测试数据集的多个概率密度值与所述第二概率密度阈值,以确定第二异常值比例度量评分,具体包括:计算所述第二测试数据集的多个概率密度值中小于所述第二概率密度阈值的概率密度值的个数占所述第二测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制,以获得第二异常值比例度量评分;和/或,
所述比较所述第三测试数据集的多个概率密度值与所述第三概率密度阈值,以确定第三异常值比例度量评分,具体包括:计算所述第三测试数据集的多个概率密度值中小于所述第三概率密度阈值的概率密度值的个数占所述第三测试数据集的多个概率密度值的总数的占比;以及将所述占比映射成百分制,以获得第三异常值比例度量评分。
10.根据权利要求2或3所述的方法,其中,所述根据所述虚拟机状态总评分,确定虚拟机的运行状态,具体包括:
当所述虚拟机状态总评分低于第一评分阈值时,确定所述虚拟机处于运行异常状态;
当所述虚拟机状态总评分位于由第一评分阈值和第二评分阈值限定的第一区间中时,确定所述虚拟机处于高潜在异常状态;以及
当所述虚拟机状态总评分位于由第二评分阈值和第三评分阈值限定的第二区间中时,确定所述虚拟机处于低潜在异常状态。
11.根据权利要求1所述的方法,其中,所述第一特征为CPU利用率,所述第二特征为网络接收流量,所述第三特征为网络发送流量。
12.根据权利要求1所述的方法,其中,所述获取至少一个特征的训练数据集和所述获取所述至少一个特征的测试数据集中的至少一个具体包括:
采集规定时间段内的虚拟机的初级监控数据,其中,所述初级监控数据包括虚拟机号、采集时间戳、虚拟机的CPU使用时间、网络接收流量和网络发送流量;
将采集的初级监控数据按照虚拟机号进行聚合处理;
从聚合处理后的初级监控数据中提取预定时间段内的多个特征的数据;以及
按照采集时间戳对多个特征的数据进行融合,以形成特征向量。
13.根据权利要求7所述的方法,其中,所述方法还包括:
对第一特征的第一训练数据集、第二特征的第二训练数据集和第三特征的第三训练数据集进行相关性分析;以及
根据所述相关性分析的结果,确定权重系数wm1、wm2、wm3以及权重系数wt1、wt2、wt3。
14.根据权利要求13所述的方法,其中,所述第二特征的第二训练数据集和所述第三特征的第三训练数据集之间的相关性高于所述第一特征的第一训练数据集和所述第二特征的第二训练数据集之间的相关性,以及所述第二特征的第二训练数据集和所述第三特征的第三训练数据集之间的相关性高于所述第一特征的第一训练数据集和所述第三特征的第三训练数据集之间的相关性;
所述权重系数wm1大于所述权重系数wm2和wm3中的任一个,以及,所述权重系数wt1大于所述权重系数wt2和wt3中的任一个。
15.根据权利要求14所述的方法,其中,所述权重系数wm2大于所述权重系数wm3,以及,所述权重系数wt2大于所述权重系数wt3。
16.根据权利要求10所述的方法,其中,所述根据所述虚拟机状态总评分,确定虚拟机的运行状态,还具体包括:
当所述虚拟机状态总评分位于由第三评分阈值和第四评分阈值限定的第三区间中时,确定所述虚拟机处于运行良好状态;以及
当所述虚拟机状态总评分高于第四评分阈值时,确定所述虚拟机处于运行优秀状态。
17.一种基于核密度估计的虚拟机运行状态检测装置,其特征在于,包括:
训练数据获取模块,用于获取至少一个特征的训练数据集,其中,所述至少一个特征用于表征虚拟机的至少一个运行状态;
第一概率密度模型构建模块,用于利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线;
概率密度阈值确定模块,用于根据所述概率密度模型确定所述至少一个特征的训练数据集的概率密度阈值;
测试数据集获取模块,用于获取所述至少一个特征的测试数据集;
第二概率密度分布曲线获得模块,用于根据构建的所述概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线;
概率密度分布度量总评分确定模块,用于比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分;
异常值比例度量总评分确定模块,用于比较所述至少一个特征的测试数据集的多个概率密度值与所述概率密度阈值,以确定异常值比例度量总评分;
虚拟机状态总评分确定模块,用于根据所述概率密度分布度量总评分和所述异常值比例度量总评分,确定虚拟机状态总评分;以及
虚拟机运行状态确定模块,用于根据所述虚拟机状态总评分,确定虚拟机的运行状态,
其中,所述至少一个特征包括第一特征、第二特征和第三特征,所述第一特征、第二特征和第三特征用于分别表征虚拟机的不同运行状态;
所述获取至少一个特征的训练数据集具体包括:同时获取第一特征的第一训练数据集、第二特征的第二训练数据集和第三特征的第三训练数据集;
所述利用核密度估计算法对所述至少一个特征的训练数据集构建概率密度模型,以得到所述至少一个特征的训练数据集的概率密度分布曲线,具体包括:所述利用核密度估计算法分别对所述第一特征的第一训练数据集、所述第二特征的第二训练数据集和所述第三特征的第三训练数据集构建概率密度模型,以得到所述第一训练数据集的第一概率密度分布曲线、所述第二训练数据集的第二概率密度分布曲线和所述第三训练数据集的第三概率密度分布曲线;
所述获取至少一个特征的测试数据集具体包括:同时获取第一特征的第一测试数据集、第二特征的第二测试数据集和第三特征的第三测试数据集;
所述根据构建的所述概率密度模型,得到所述至少一个特征的测试数据集的概率密度分布曲线,具体包括:根据构建的所述概率密度模型,分别得到所述第一测试数据集的第一概率密度分布曲线、所述第二测试数据集的第二概率密度分布曲线和所述第三测试数据集的第三概率密度分布曲线;
所述比较所述至少一个特征的训练数据集的概率密度分布曲线与所述至少一个特征的测试数据集的概率密度分布曲线,以确定概率密度分布度量总评分,具体包括:
比较所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线,以确定第一概率密度分布度量评分;
比较所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线,以确定第二概率密度分布度量评分;以及
比较所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线,以确定第三概率密度分布度量评分,
其中,所述比较所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线,以确定第一概率密度分布度量评分,具体包括:计算所述第一训练数据集的第一概率密度分布曲线与所述第一测试数据集的第一概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第一概率密度分布度量评分;和/或,
所述比较所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线,以确定第二概率密度分布度量评分,具体包括:计算所述第二训练数据集的第二概率密度分布曲线与所述第二测试数据集的第二概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第二概率密度分布度量评分;和/或,
所述比较所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线,以确定第三概率密度分布度量评分,具体包括:计算所述第三训练数据集的第三概率密度分布曲线与所述第三测试数据集的第三概率密度分布曲线之间的Wasserstein距离,以及将所述Wasserstein距离映射成百分制,以获得第三概率密度分布度量评分。
18.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~16中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~16中任一项所述的方法。
CN202210511420.0A 2022-03-28 2022-05-10 基于核密度估计的虚拟机运行状态检测方法和装置 Active CN114896024B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2023/078972 WO2023185358A1 (zh) 2022-03-28 2023-03-01 基于核密度估计的虚拟机运行状态检测方法和装置
EP23164526.8A EP4254182A1 (en) 2022-03-28 2023-03-28 Method and apparatus of detecting running state of a virtual machine based on kernel density estimation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210316127 2022-03-28
CN2022103161279 2022-03-28

Publications (2)

Publication Number Publication Date
CN114896024A CN114896024A (zh) 2022-08-12
CN114896024B true CN114896024B (zh) 2022-11-22

Family

ID=82720897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210511420.0A Active CN114896024B (zh) 2022-03-28 2022-05-10 基于核密度估计的虚拟机运行状态检测方法和装置

Country Status (1)

Country Link
CN (1) CN114896024B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185358A1 (zh) * 2022-03-28 2023-10-05 同方威视技术股份有限公司 基于核密度估计的虚拟机运行状态检测方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014182725A1 (en) * 2013-05-07 2014-11-13 Children's Hospital Los Angeles Matching data from variant databases
CN109359138A (zh) * 2018-10-19 2019-02-19 济南浪潮高新科技投资发展有限公司 一种基于核密度估计的异常检测方法及装置
CN110046054A (zh) * 2018-01-17 2019-07-23 中兴通讯股份有限公司 虚拟机异常检测方法、装置、设备及计算机可读存储介质
CN111131304A (zh) * 2019-12-31 2020-05-08 嘉兴学院 面向云平台大规模虚拟机细粒度异常行为检测方法和系统
CN112232719A (zh) * 2020-12-11 2021-01-15 北京基调网络股份有限公司 一种指标定量评分方法、计算机设备及存储介质
CN112801434A (zh) * 2019-11-13 2021-05-14 中兴通讯股份有限公司 性能指标健康度的监测方法、装置、设备和存储介质
CN114243683A (zh) * 2021-11-23 2022-03-25 周口师范学院 基于Wasserstein度量和核密度估计的分布鲁棒优化方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954365B2 (en) * 2012-06-21 2015-02-10 Microsoft Corporation Density estimation and/or manifold learning
CN107992495B (zh) * 2016-10-26 2021-01-26 腾讯科技(深圳)有限公司 高维数据集的数据可视化分析方法及装置
JP7040319B2 (ja) * 2018-06-26 2022-03-23 富士通株式会社 運用管理装置、移動先推奨方法及び移動先推奨プログラム
JP7073286B2 (ja) * 2019-01-10 2022-05-23 株式会社日立製作所 データ生成装置、予測器学習装置、データ生成方法、及び学習方法
CN115039108A (zh) * 2019-10-17 2022-09-09 华为技术有限公司 学习数据密度函数
CN113283300B (zh) * 2021-04-27 2022-04-08 华中科技大学 一种抽水蓄能机组轴系劣化评估方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014182725A1 (en) * 2013-05-07 2014-11-13 Children's Hospital Los Angeles Matching data from variant databases
CN110046054A (zh) * 2018-01-17 2019-07-23 中兴通讯股份有限公司 虚拟机异常检测方法、装置、设备及计算机可读存储介质
CN109359138A (zh) * 2018-10-19 2019-02-19 济南浪潮高新科技投资发展有限公司 一种基于核密度估计的异常检测方法及装置
CN112801434A (zh) * 2019-11-13 2021-05-14 中兴通讯股份有限公司 性能指标健康度的监测方法、装置、设备和存储介质
CN111131304A (zh) * 2019-12-31 2020-05-08 嘉兴学院 面向云平台大规模虚拟机细粒度异常行为检测方法和系统
CN112232719A (zh) * 2020-12-11 2021-01-15 北京基调网络股份有限公司 一种指标定量评分方法、计算机设备及存储介质
CN114243683A (zh) * 2021-11-23 2022-03-25 周口师范学院 基于Wasserstein度量和核密度估计的分布鲁棒优化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
多途径优化VMware虚拟机性能;张律;《计算机光盘软件与应用》;20141101(第21期);全文 *

Also Published As

Publication number Publication date
CN114896024A (zh) 2022-08-12

Similar Documents

Publication Publication Date Title
US20200133830A1 (en) Forecasting a quality of a software release using machine learning
WO2017157203A1 (zh) 一种分布式环境下监督学习算法的基准测试方法和装置
CN116450399B (zh) 微服务系统故障诊断及根因定位方法
CN111435463A (zh) 数据处理方法及相关设备、系统
WO2023179042A1 (zh) 数据更新方法、故障诊断方法、电子设备和存储介质
CN114896024B (zh) 基于核密度估计的虚拟机运行状态检测方法和装置
CN112241805A (zh) 使用历史检验数据进行缺陷预测
CN115409283A (zh) 设备故障预测方法、设备故障预测装置、设备及存储介质
CN102156641A (zh) 一种软件成本置信区间预测方法及系统
CN117035563B (zh) 产品质量安全风险监测方法、设备、监测系统及介质
CN117709715A (zh) 一种隧道工程施工风险评估方法、系统、终端及介质
CN117493798A (zh) 一种气象环境数据分析方法及系统
CN117149565A (zh) 云平台关键性能指标的状态检测方法、装置、设备及介质
CN113891342A (zh) 基站巡检方法、装置、电子设备及存储介质
CN111783883A (zh) 一种异常数据的检测方法及装置
CN114510405B (zh) 指标数据评估方法、装置、设备、存储介质及程序产品
Khokhlov et al. Data security and quality evaluation framework: Implementation empirical study on android devices
EP4254182A1 (en) Method and apparatus of detecting running state of a virtual machine based on kernel density estimation
CN115936217A (zh) 一种研判商机成熟度的方法、装置、存储介质及电子设备
CN114490405A (zh) 资源需求量确定方法、装置、设备及存储介质
WO2022165152A1 (en) Constructing a statistical model and evaluating model performance
CN114416422A (zh) 问题定位方法、装置、设备、介质和程序产品
CN114358024A (zh) 日志分析方法、装置、设备、介质和程序产品
Mendoza et al. Machine learning for anomaly detection on VM and host performance metrics
CN111967774A (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
GR01 Patent grant
GR01 Patent grant