本发明涉及容量预测领域,具体为一种基于ai算法基础的信息系统资源容量预测方法。
背景技术:
容量预测是通过对历史以数据的分析、模型训练,预测未来时间段的容量趋势,容量预测价值是根据资源的历史状况自动预测其未来走势,帮助客户提前做好规划,主要提供如下价值:提高运维效率与预测精度,减少人力成本、实现最佳投资回报比;从被动扩容到主动预判,实现容量需求趋势感知、做到资源预警与提前采购;大幅缩短资源规划周期,提高资源规划效率;精细化、可视化的资源容量管理,更加的准确直观。
提前预知未来资源的使用情况,容量预测现状和痛点如下:
传统基于ai算法基础的信息系统资源容量预测方法:(1)经验法:按照现有容量的20倍设计、3倍实现、1.5倍部署;(2)新业务上线计划法:梳理最近一季度、半年要上线的新业务的预期业务量进行统计。现状痛点:(1)专家依赖性强;(2)资源浪费严重;(3)规划周期长;(4)粗放式管理。
技术实现要素:
(一)解决的技术问题
针对现有技术的不足,本发明提供了一种周期短、效果好,能对客户提供决策支撑的基于ai算法基础的信息系统资源容量预测方法。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:本发明的一种基于ai算法基础的信息系统资源容量预测方法,包括以下步骤:
步骤1、根据需要场景提取样本数据并形成数据库;
步骤2、通过tensorflow机器学习框架、tsfresh时序数据特征库、scikit-learn算法库等计算框架提供ai算法基础;
步骤3、采用holt-winters时序计算模型和线性回归+高斯核算法进行机器学习训练到预测结果;
步骤4、将预测值与实际值进行对比并进行可视化展示。
本发明改进有,所述步骤1中的数据库包含基于imoc的es指标库中云平台的历史数据数据。
本发明改进有,所述holt-winters时序计算模型包括以下步骤:
步骤1、一次指数平滑
预测公式:y′t+1=α·yt+(1-α)·y′t
递推公式:
展开式:
步骤2、二次指数平滑,二次指数平滑是对一次指数平滑的再平滑
递推公式:
预测公式:y′t+t=at+bt·t,其中
步骤3、三次指数平滑,三次就是在此基础上增加了一个季节分量,
递推公式:si=α(xi-pi-k)+(1-α)(si-1+ti-1)
ti=β(si-si-1)+(1-β)ti-1
pi=y(xi-si)+(1-y)pi-k
pi是“周期性”部分
预测公式:xi+h=si+hti+pi-k+h
k是这个周期的周长
本发明改进有,所述线性回归算法包括以下步骤:
输入数据:矩阵x;回归系数:向量w;
给定数据x1,预测结果
本发明改进有,所述高斯加权算法为:
在估计中引入一些偏差,降低预测均方误差;
给待预测点附近的每个点一定的权重;
w即为权重矩阵,使用高斯核来确定每个权重;
(三)有益效果
与现有技术相比,本发明提供了一种基于ai算法基础的信息系统资源容量预测方法,具备以下有益效果:
通过tensorflow机器学习框架、tsfresh时序数据特征库、scikit-learn算法库等计算框架提供ai算法基础,采用holt-winters时序计算模型和线性回归+高斯核算法进行机器学习训练等等得到预测结果,系统直接预测出较为准确的结果,可以作为参考,而且资源有效利用,规划周期短,管理方便,效果理想,预测结果可以有效指导客户。
附图说明
图1为本发明的第一次指数平滑示意图;
图2为本发明的第二次指数平滑示意图;
图3为本发明的现行回归算法示意图;
图4为本发明的高斯加权算法示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照附图1至附图4,一种基于ai算法基础的信息系统资源容量预测方法,包括以下步骤:
步骤1、根据需要场景提取样本数据并形成数据库;
步骤2、通过tensorflow机器学习框架、tsfresh时序数据特征库、scikit-learn算法库等计算框架提供ai算法基础;
步骤3、采用holt-winters时序计算模型和线性回归+高斯核算法进行机器学习训练到预测结果;
步骤4、将预测值与实际值进行对比并进行可视化展示。
本实施例中,所述步骤1中的数据库包含基于imoc的es指标库中云平台的历史数据数据。
算法原理如下:
1、容量预测相关算法
容量预测根据场景的不同,采用的算法也不相同,对于cpu、内存资源使用的场景,其使用量随时间周期性波动变化,使用holt-winters指数平滑算法,对于存储资源使用场景,其使用量随时间成递增趋势,使用线性回归和高斯核加权的算法
holt-winters指数平滑法:在移动平均法基础上发展起来的一种时间序列分析预测法。原理:任一期的指数平滑值都是本期实际观察值与前一期指数平滑值的加权平均。
(1)加强了观察期近期观察值对预测值的作用。
(2)对于观察值所赋予的权数有伸缩性。
步骤1、一次指数平滑
预测公式:y′t+1=α·yt+(1+α)·y′t
递推公式:
展开式:
步骤2、参照附图1,二次指数平滑
二次指数平滑是对一次指数平滑的再平滑。
递推公式:
预测公式:y′t+t=at+bt·t,其中
步骤3、参照附图2,三次指数平滑
三次就是在此基础上增加了一个季节分量。类似于趋势分量,对季节分量也要做指数平滑。
递推公式:si=α(xi-pi-k)+(1-α)(si-1+ti-1)
ti=β(si-si-1)+(1-β)ti-1
pi=y(xi-si)+(1-y)pi-k
pi是指“周期性”部分。
预测公式:xi+h=si+hti+pi-k+h
k是这个周期的周长。
线性回归算法体现容量增长的趋势,高斯加权体现增长过程的波动性。
线性回归算法步骤如下,参照附图3:
输入数据:矩阵x;回归系数:向量w;
给定数据x1,预测结果
当有一些x和对应的γ,找到最佳的w的步骤如下:
平方误差:
矩阵表示为(y-xww)t(y-xw),对w求偏导,得到xt(y-xw),令其为零,解出w:
之后再用高斯加权方法进行优化,参照附图4:可能出现欠拟合现象,因为求的是具有最小均方误差的无偏估计,本实施例改进有,在估计中引入一些偏差,降低预测均方误差,给待预测点附近的每个点一定的权重
w即为权重矩阵,使用高斯核来确定每个权重:
本方法在使用时的关键技术在于:
a.imoc平台数据底座,为ai框架提供训练所需的样本数据,主要包括配置数据、指标数据、专题数据等等。
b.通过ai框架的特征框架,将样本数据处理为可供机器学习算法训练的数据,主要特征提取框架包括tsfresh时序挖掘框架,arima时序特征提取框架。
c.通过本方法中包括的ai算法对各个场景下的容量预测算法进行训练,并将训练结果,保存在数据底座的结果数据库中,主要的ai算法模型包括:holt-winters时序计算模型,线性回归+高斯核函数模型。
d.对训练模型和结果数据进行算法评估,算法对比样本数据中实际数据和算法获取的预测数据评估算法是否正确。
e.通过算法选择或参数调优的方式进行算法优化,迭代多次对新模型进行训练,直至模型评估满足要求。
f.将算法优化后最终得到的算法模型进行对应场景的容量预测,得到预测数据指导容量规划。
前端容量预测服务和可视化大屏调用后台的数据做可视化展现。
可以通过该方法,设计出一套使用该方法的系统,包括预测任务的创建、编辑、查看和删除等等功能,通过容量预测场景的选择、对象类型选择、对象名称选择、起始结束时间选择、数据获取方式选择、定时任务方式选择等等设置,通过这些设置,获取容量预测所需的历史数据,确认历史数据是否满足容量预测场景、展示历史值的数据曲线、训练结果的数据曲线、计算模型匹配度、模型匹配等级,模型数据的最大值和最小值等等参数,并最终计算出预测结果,包括总容量、使用容量的历史值和预测值。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。