首页> 中国专利> 基于时间序列聚类和LSTM的云服务器老化预测方法

基于时间序列聚类和LSTM的云服务器老化预测方法

摘要

本发明公开了一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法。对云服务器上性能资源时间序列数据进行提取,包括CPU空闲率数据和系统可用内存数据;对时间序列数据进行小波包分解预处理;对预处理后的数据进行K‑means聚类,统计出现频次最高的聚类中心,利用聚类后的结果构建深度学习LSTM模型,根据LSTM模型的时间序列预测值对软件老化趋势进行预测,本发明利用小波包分解克服了传统预测方法对非平稳时间序列数据和波动较大的时间序列数据预测准确度较低的局限性,从而能够更精确地预测软件老化趋势。解决了针对云服务器软件老化现象如何在最佳的时间点进行软件再生的问题。

著录项

  • 公开/公告号CN112433927A

    专利类型发明专利

  • 公开/公告日2021-03-02

    原文格式PDF

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

    申请/专利号CN202011380406.9

  • 申请日2020-11-30

  • 分类号G06F11/34(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

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

  • 代理人刘娜

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

  • 入库时间 2023-06-19 10:05:17

说明书

技术领域

本发明属于时间序列预测技术领域,具体涉及一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法。

背景技术

随着云计算技术的发展,云服务器在越来越多的领域得到应用。云服务器是一种简单高效、安全可靠、可弹性伸缩处理的计算服务。云服务器与家用主机的使用时间完全不同。家用主机不需要连续使用,因此家用主机可以有比较长的休眠时间。而云服务器则不同,不同公司的对云服务器的使用时间段不同,这就使得部分服务器根本不存在休眠的时间,需要长期运行并且频繁地交换资源。长时间运行的云服务器经常会出现软件老化的问题。软件老化是由系统内部错误的累积引起的,当云服务器出现难以解决的问题(例如,缺乏计算资源)时,经常会出现与老化相关的故障,进而导致云服务器性能大幅下降并且故障率增加,甚至可能会导致云服务器从正常运行状态转为宕机状态。根据不完全统计的数据显示,金融企业每次宕机的平均损失约为1000万美金。一些大型网站通常会有访问的高峰阶段,例如春运期间的铁路购票网站、购物节期间的电商平台以及最新数码产品的发布会等,都会给云服务器带来巨大的负载压力。而一旦出现云服务器宕机,将对使用云服务器的企业带来灾难性的损失。

现阶段主要通过软件再生解决软件老化问题。软件再生是一种主动预维护的容错技术,该技术一般通过应用程序或系统重新启动,将软件回滚到稳定状态,来清除软件老化对云服务器性能的影响。研究云服务器上的软件老化问题一般分为三个阶段:(1)压力测试阶段,旨在观察工作负载的增加对云服务器系统内部状态的影响。(2)等待阶段,观察工作负载增加后的云系统的状态。此阶段目的在于突出系统中软件老化所造成的影响。由于软件老化是一个累积过程,因此即使取消了工作负载,其影响也可能保留在系统中。如果系统没有执行软件再生操作仍能恢复到稳定状态,则说明没有产生软件老化问题。(3)再生阶段,目的在于执行了软件再生操作后,观察软件再生操作是否可以缓解“等待阶段”中存在的软件老化问题。影响软件再生效果的因素主要是进行软件再生的时间节点,频繁的软件再生会对云服务器可用性造成影响,理想的软件再生策略是临近系统故障前进行软件再生操作。所以,如何准确地预测云服务器软件老化趋势从而获取老化临界值,是解决软件老化问题的关键。传统的预测云服务器老化趋势方法多为时间序列分析法和智能算法。

发明内容

本发明的目的是提供一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法。针对云服务器性能资源时间序列数据利用K-means聚类算法进行聚类,之后利用深度学习LSTM模型对云服务器老化趋势进行预测,根据预测时间序列数据分析并判定进行软件再生的时间点。解决了针对云服务器软件老化现象如何在最佳的时间点进行软件再生的问题。

本发明所采用的技术方案是,基于时间序列聚类和深度学习LSTM的云服务器老化预测方法,具体包括以下步骤:

步骤1,对云服务器上性能资源时间序列数据进行提取,包括CPU空闲率数据和系统可用内存数据;

步骤2,对步骤1中得到的时间序列数据进行小波包分解预处理;

步骤3,对步骤2中预处理后的数据进行K-means聚类,以聚类数K=4分别聚类100次,统计出现频次最高的聚类中心,利用DBI(Davies-Bouldin)指标评价聚类结果;

步骤4,利用聚类后的结果构建深度学习LSTM模型,训练LSTM模型以增加准确率,并对云服务器资源时间序列数据进行预测;

步骤5,使用均方根误差和平均绝对百分比误差验证模型精度;

步骤6,根据LSTM模型的时间序列预测数据,对软件老化趋势进行预测,检验数据的拟合程度,根据预测数据阈值判定软件再生的时间节点。

本发明的特点还在于:

步骤2中,对时间序列数据的预处理。因为云服务器资源的时间序列数据为非平稳时间序列,为了将高频信息和低频信息进行分离,避免高频信息的过拟合,本发明在建立预测模型前首先对数据进行频域分析。频域分析采用三层小波包分解技术,小波包分解是在小波分析的基础上发展而来,克服了小波分析高频频段对应的频率分辨率较差,以及低频频段对应的时间分辨率较差的缺点。

步骤3中,采用K-means聚类算法对云服务器资源的时间序列数据进行多次聚类。K-means算法用欧式距离表示数据之间的差异,通过直接求均值计算聚类的中心点,其步骤如下:

步骤3.1,选择初始聚类中心点m

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

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

步骤3.4,重复步骤3.2、步骤3.3,直至K-means算法收敛。

步骤3.1中,选择初始聚类中心点使用K-means++方法,其思想可以描述为:在选取第一个聚类中心(n=1)时采取随机的方法,假设已经选取了n个初始聚类中心(0

步骤4,利用聚类后得到的结果构建深度学习LSTM模型,时间序列模型依赖于事件发生的先后顺序,同样大小的值改变顺序后输入模型产生的结果不同。长短期记忆网络(LSTM)是一种特殊的神经网络,能够学习云服务器长期运行的老化规律。其具体步骤如下:

步骤4.1,原始数据转化,将云资源时间序列数据进行数值化;

步骤4.2,生成模型训练数据集,确定训练集的窗口长度;

步骤4.3,网络模型结构的确定和调整;

步骤4.4,模型训练和结果预测。

步骤4.3中,网络的训练过程涉及许多参数的调整,包括LSTM模块的激活函数、接收LSTM输出的完全连接人工神经网络的激活函数,以及为了防止过度拟合需要确定每一层网络节点的舍弃率、误差的计算方式、权重参数的迭代更新方式、模型训练的迭代次数epoch和单次训练样本数batch size等参数。

步骤4.4中,为了提高模型的预测精度,将云服务器的性能资源时间序列数据按4:1的比例随机分为训练集和验证集。然后将时间序列数据作为参数导入模型得到预测数据,与实际的云资源时间序列相比得到拟合曲线。

步骤6中,根据LSTM模型的云服务器资源时间序列预测数据阈值,从而判定进行软件再生的时间节点,为云服务器处于临近宕机时的状态,在此时选择进行软件再生操作以保持系统处于良好运行的状态。

本发明的有益效果是:本发明采用聚类算法和深度学习LSTM模型结合的预测方法对云服务器老化趋势进行预测,并且对时间序列数据进行小波包分解的预处理。克服了传统预测方法对非平稳时间序列数据和波动较大的时间序列数据预测准确度较低的局限性。从而能够更精确地预测云服务器老化趋势,为软件再生操作提供准确执行的时间节点。

附图说明

图1是本发明一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法整体流程图;

图2是本发明一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法云服务器CPU空闲资源时间序列图;

图3是本发明一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法云服务器系统可用内存资源时间序列图;

图4是本发明一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法三层小波包分解过程图;

图5是本发明一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法K-means聚类具体流程图;

图6是本发明一种基于时间序列聚类和深度学习LSTM的云服务器老化预测方法所用的深度学习LSTM模型结构图。

具体实施方式

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

如图1所示,本发明基于时间序列聚类和深度学习LSTM的云服务器老化预测方法,具体包括以下步骤:

步骤1,提取云服务器上性能资源时间序列数据,包括CPU空闲率数据和系统可用内存数据,时间序列数据具体如图2和图3所示。

步骤2,对步骤1提取出的数据进行预处理。云服务器资源时间序列为非平稳时间序列,为了将其中的高频信息和低频信息分离,避免高频信息的过度拟合,本发明在对数据进行聚类和建立模型前首先对其进行三层小波包分解处理。小波包分解可以克服高频频段对应的频率分辨率较差,低频频段对应的时间分辨率较差的缺点。具体定义公式如式(1)、(2)和(3)所示。

其中p是频率参数q是尺度参数;r是平移参数h(r),g(r)是一组共轭镜像滤波器函数。小波包分解的过程是将离散信号通过一个低通滤波器h和一个高通滤波器g进行滤波。三层小波包分解过程如图4所示。

步骤3,对步骤2中预处理后的数据进行K-means聚类并根据指标评价聚类结果,K-means过程如图5所示。

步骤3的具体过程如下:

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

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

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

步骤3.4,重复步骤3.2、步骤3.3,直至K-means算法收敛。

步骤3.5,多次聚类试验后,对同一聚类数不同聚类中心的DBI值进行比较来评价聚类结果,DBI是度量每个类最大相似度的均值。其计算公式如式(4)所示:

其中N为聚类结果分为N个类;S

针对云服务器CPU空闲率和系统可用内存时间序列数据,聚类结果可描述为四类:1、初始阶段;2、轻负载阶段;3、重负载阶段;4、宕机临界阶段。

其中初始阶段描述为CPU空闲率和系统可用内存在70%~100%之间,为云服务器刚开始运行负载的阶段;轻负载阶段描述为CPU空闲率和系统可用内存在40%~80%以内,为云服务器运行较轻负载,正常运行的阶段;重负载阶段描述为CPU空闲率和系统可用内存在10%~40%之间,为云服务器运行较重负载,系统开始出现运行缓慢、卡顿等一系列老化迹象的阶段;宕机临界阶段描述为CPU空闲率和系统可用内存在0%~10%之间,此时云服务器运行负载压力极大,系统随时可能发生因软件老化导致的宕机现象。

步骤4,根据步骤3中聚类结果建立LSTM模型进行预测,步骤3得到的聚类结果中初始阶段和轻负载阶段都为云服务器处于正常、良好的运行状态,所以只需要对重负载阶段及之后的宕机临界阶段进行预测。这两个阶段云服务器会出现因软件老化引起的系统运行缓慢、卡顿等迹象,到了宕机临界状态如不进行软件再生操作,可能出现云服务器宕机等后果。LSTM模型的结构如图6所示。

步骤4的具体过程如下:

步骤4.1,建立LSTM预测模型,然后对模型中的参数进行设定;

步骤4.2,使用训练数据对LSTM模型进行训练;

步骤4.3,根据训练好的模型进行评估,是否满足精确度等要求。若不满足,则重复步骤4.2进行训练,模型中损失函数计算采用平均绝对误差;

步骤4.4,根据训练好的模型对实际数据进行预测,得出预测结果。

步骤5,将步骤4中预测结果与实际时间序列进行拟合验证预测精确度。

为了判断模型的精确度,对云服务器资源实际监测数据和模型预测数据进行均方根误差(RMSE)和平均绝对百分比误差(MAPE)对比,计算公式如下所示:

其中actual(t)表示实际的时间序列数据;forecast(t)表示LSTM模型预测的时间序列数据;RMSE表示误差的平方的期望值;MAPE的值越小,说明预测模型拥有更好的精确度。

步骤6,检验LSTM模型预测数据与原始数据的拟合程度,当云服务器资源预测时间序列显示处于宕机临界状态下,即CPU空闲率和系统可用内存在0%~10%之间,此时云服务器运行负载压力极大,系统随时可能发生因软件老化导致的宕机现象。选择在此时进行软件再生操作,以保持系统处于正常、良好运行的状态。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号