首页> 中国专利> 基于时间序列聚类的云服务器异常检测方法

基于时间序列聚类的云服务器异常检测方法

摘要

本发明公开了一种基于时间序列聚类的云服务器异常检测方法,包括提取云服务器上性能资源时间序列数据,用小波包分解的方式预处理时间序列数据,然后利用K‑means聚类算法进行聚类,再用邓恩指数DVI对聚类结果进行评价,从而筛选得到离群点,即异常时间序列数据,异常时间序列数据可以用来对云服务器特定时间段异常进行诊断和恢复。

著录项

  • 公开/公告号CN113298128A

    专利类型发明专利

  • 公开/公告日2021-08-24

    原文格式PDF

  • 申请/专利权人 西安理工大学;

    申请/专利号CN202110525691.7

  • 申请日2021-05-14

  • 分类号G06K9/62(20060101);G06K9/00(20060101);G06F11/34(20060101);G06F11/30(20060101);

  • 代理机构61214 西安弘理专利事务所;

  • 代理人涂秀清

  • 地址 710048 陕西省西安市碑林区金花南路5号

  • 入库时间 2023-06-19 12:19:35

说明书

技术领域

本发明属于云计算异常检测技术领域,涉及一种基于时间序列聚类的云服务器异常检测方法。

背景技术

云计算技术日益发展完善,云服务器在更多的领域得到应用。云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。云服务器的存在目的与家用主机相异。家用主机通常存在较长的休眠时间,而云服务器需要长期运行并且频繁地交换资源,不同公司对云服务器的使用时间段不同,这也就使得部分云服务器不存在休眠时间或休眠时间很短。长时间运行的云服务器很容易出现异常或故障,系统异常会影响云服务器性能,导致云服务器性能大幅下降,甚者造成云服务器宕机。

根据国际数据公司(IDC)在2018年7月份发布的《中国公有云服务市场半年度跟踪报告》显示,在中国市场,阿里云的市场占有率已过45%,腾讯云达到10%;根据高德纳公司(Gartner)的数据显示,在全球市场,亚马逊AWS占全球份额的51.8%,微软Azure位列第二位,占比13.3%,阿里云位列第三位,占比4.6%,谷歌Cloud云服务占比3.3%,随后是IBM,占比1.9%。可见,这几大主流云供应商占据全球绝大部分市场,一旦云服务器出现宕机,受影响的企业将不计其数。

所以,如何准确地对云服务器异常进行检测是解决云服务器故障问题的关键,对云服务器的异常研究问题主要针对云服务器提取的时间序列进行检测,现有的针对该领问题的主要算法主要有五类。第一个基于预测的方法,通过预测值和真实值的误差大小对异常点进行判断,主要算法为差分整合移动平均自回归模型(Auto Regressive IntegratedMoving Average model,ARIMA),该方法适用于有明显周期性或季节性一维时间序列的短期异常检测。第二个基于频率的方法,要求待测值为有限个数的离散值,从而实现实时监测,主要算法是隐马尔科夫模型(Hidden Markov Model,HMM)。第三个基于免疫的算法,是基于大量的正样本进行学习,无需先验知识,适合异常样本匮乏或未知故障的检测问题,主要算法为负选择算法(Negative Selection Algorithm,NSA)。第四个基于聚类的方法,针对无监督,符合实际观测数据标签不完整或不准确的情况,在异常检测领域有比较广泛的应用,主要算法包括K-means算法、基于密度的聚类方法DBSCAN(Density-Based SpatialClustering of Applications with Noise)、高斯混合模型(Gaussian Mixture Model,GMM)等。第五个基于分类的方法,具有泛化能力强、没有局部最小点和解具有稀疏表示的特点,因此被经常应用于入侵检测系统的异常检测中,主要算法有支持向量机(SVM)、决策树算法(Decision Tree)、K近邻算法(K-Nearest Neighbor,KNN)等。对于云服务器上标签不完整、不准确的异常时间序列数据,采用以上这些方法难以准备检测筛选出来。

发明内容

本发明的目的是提供一种基于时间序列聚类的云服务器异常检测方法,解决了现有异常检测方法难以准确检测出云服务器上标签不完整、不准确的异常时间序列数据。

本发明所采用的技术方案是,基于时间序列聚类的云服务器异常检测方法,包括提取云服务器上性能资源时间序列数据,用小波包分解的方式预处理时间序列数据,然后利用K-means聚类算法进行聚类,再用邓恩指数(Dunn Validity Index,DVI)对聚类结果进行评价,根据评价结果筛选出异常的时间序列。

具体包括以下步骤:

步骤1,提取云服务器上性能资源时间序列数据;

步骤2,对提取的时间序列数据进行三层小波包分解预处理;

步骤3,对步骤2中预处理后的数据按时间段进行分组,一组即为一个对象,对删除每一个对象后的数据进行n次K-means聚类,采用邓恩指数DVI对聚类结果进行聚类质量评价,得到DVI数组{DVI

步骤4,采用极大似然估计方法,设置阈值,根据阈值对数组DVI中离群点进行筛选和识别,离群点即云服务器异常时间序列数据。

其中,云服务器上性能资源时间序列数据包括CPU空闲率数据、系统可用内存数据和网络上传下载速率。

步骤2中,对提取的时间序列数据进行三层小波包分解预处理,包括将时间序列数据进行多层次划分,对每个分解后的频带均进行再次的降半划分,通过低通滤波器h和高通滤波器g,利用小波包分解公式对提取的时间序列数据进行分解,具体如下:

其中,

步骤3包括把步骤2中预处理后的数据按时间段分为n组,构成样本空间D={S

步骤3.1,确定初始聚类中心点m

步骤3.2,将初始聚类中心点之外的其他对象分配到与其距离最小的初始聚类中心点所在的类;

步骤3.3,按照欧式距离平均值最小原则更新每个聚类的中心点;

步骤3.4,判断K-means算法是否收敛,若收敛,返回聚类结果,若没有收敛,重复步骤3.2和步骤3.3,直至K-means算法收敛再返回聚类结果。

步骤3.1中,使用K-means++方法确定初始聚类中心点,随机选取第一个初始聚类中心点(n=1),在选取第n+1个初始聚类中心点时,距离当前n个初始聚类中心点越远的点会有更高的概率被选为第n+1个初始聚类中心点。

步骤4中,采用极大似然估计方法,计算DVI数组的均值μ和标准差σ,在正态分布假定下,设置阈值为3,当目标函数E=|DVI

附图说明

图1是本发明基于时间序列聚类的云服务器异常检测方法的整体流程图;

图2是本发明实施例中的云服务器CPU空闲率时间序列图;

图3是本发明实施例中的云服务器系统可用内存时间序列图;

图4是本发明实施例中的云服务器网络上传下载速率时间序列图;

图5是本发明基于时间序列聚类的云服务器异常检测方法中三层小波包分解预处理过程示意图;

图6是本发明基于时间序列聚类的云服务器异常检测方法中K-means算法聚类的流程示意图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明基于时间序列聚类的云服务器异常检测方法,参照图1,包括以下步骤:

步骤1,提取云服务器上性能资源时间序列数据,包括CPU空闲率数据(参见图2)、系统可用内存数据(参见图3)和网络上传下载速率(参见图4);

步骤2,对提取的时间序列数据进行三层小波包分解预处理,参见图5,将时间序列数据进行多层次划分,对每个分解后的频带均进行再次的降半划分,具体如下:

其中,

云服务器三种资源时间序列均为非平稳时间序列,为了将其中的高频信息和低频信息分离,避免高频信息的过度拟合,本方法在对时序数据进行聚类处理前,首先对其进行三层小波包分解预处理,小波包分解可以克服高频频段对应的频率分辨率较差,低频频段对应的时间分辨率较差的缺点。

步骤3,对步骤2中预处理后的数据按时间段进行分组,分为n组,构成样本空间D={S

步骤3.1,采用K-means++算法确定初始聚类中心点m

步骤3.2,将除初始聚类中心点之外其他对象分配到与其距离最小的中心点所在的类;

步骤3.3,按照欧式距离平均值最小原则更新每个聚类的中心点;

步骤3.4,判断K-means算法是否收敛,若收敛,返回聚类结果,若没有收敛,重复步骤3.2和步骤3.3,直至K-means算法收敛再返回聚类结果。

依据K-means算法结果,利用邓恩指数DVI评价其聚类质量,计算样本空间所有集合的聚类质量DVI,得到DVI数组{DVI

多次聚类后,对同一聚类数不同聚类中心的DVI值进行比较来评价聚类结果,将云服务器上性能资源时间序列样本空间D={S

diam(C)=max

式(4)中,x

邓恩指数DVI为:

其中,C

当云服务器状态良好时,每段时间序列数据之间没有形成明显的好坏分区,即紧凑程度低,单段时间序列数据之间总的差异也不明显,也就是分离程度不高。当云服务器出现异常时,单段时间序列数据之间形成了明显的好坏分区,即紧凑程度高,单段时间序列数据之间总的差异也变得明显,即分离程度高。邓恩指数DVI是衡量这种分离程度和紧凑程度的有效指标。邓恩指数DVI越大说明簇内的紧凑程度越高,簇与簇之间越分离,聚类质量越好。

步骤4,采用极大似然估计方法,计算DVI数组的均值μ和标准差σ,在正态分布假定下,设置阈值为3,当目标函数E=|DVI

本发明基于时间序列聚类的云服务器异常检测方法,利用聚类效果评价指标邓恩指数DVI,对一组时间序列依次采用聚类算法进行离群值检测。其核心思想是对所有对象依次剔除某一对象然后进行聚类,接着评估属于簇的程度即聚类质量,如果删除某一段时间序列后聚类质量出现明显提升,该段时间序列即为异常时间序列。异常的时间序列数据一般波动情况和跨度与正常的时间序列数据不同,根据聚类算法结果和评价指标能够将这些不同的时间序列区分开,并将云服务器出现问题时的异常时间序列筛选出来,过程简单,易于操作,而且准确率较高,便于推广应用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号