本发明涉及云平台,具体涉及一种基于arima-ltsm的云平台资源池分布式存储容量预测方法及系统。
背景技术:
1、随着云平台数据规模的不断增大,并发请求越来越多,传统的关系型数据库在性能、费用以及可扩展性方面已经不能满足平台需求,云平台在后台基础设施中部署了分布式存储系统,用以解决海量数据的存储问题。分布式存储,要求所有的盘容量都不能超过一定的占用比,如果存储容量达到了一定占用比,超过后就变为只读状态,整个集群便无法执行写入操作,然后云主机只能读盘无法进行写盘,这样云主机便出现卡死,分布式存储机制设计就是如此,超过阈值就会触发这种保护机制,变成只读,只能读不能写。
2、对分布式存储容量监控告警存在如下亟需解决的问题:
3、(1)存储容量的趋势预测,便于存储资源不足时,对其进行扩容处理或者对资源池下的云主机执行熔断操作,避免造成集群中的云主机只读模式,进而宕机;(2)存储容量需实现统一的数据采集方案,避免添加一种存储就需要大量的开发;(3)此方案需支持资源池分布式存储的自动添加,即添加资源池后能够被自动识别并正确地采集存储容量监控数据。
技术实现思路
1、有鉴于此,本发明的目的在于提出一种基于arima-ltsm实现云平台监控系统中对资源池分布式存储容量进行预测并进行监控预告警的方法及系统,通过本方法实现对云平台分布式存储系统进行数据采集、数据存储、数据预测、预告警等关键功能,支持统一数据采集、数据预测和预告警,支持存储容量的预测等;基于此方案丰富了云平台监控系统对未来一段时间内存储容量监控数据的把控,实现对存储资源的监控,对存储容量不足时,及时扩容或熔断,有利于实现对云平台稳定性和用户体验的提升。
2、基于上述目的,第一方面,本发明提供了一种基于arima-ltsm的云平台资源池分布式存储容量预测方法,该方法支持统一数据采集、数据预测以及支持存储容量在达到中度阈值和严重阈值之前进行预告警;该方法包括以下步骤:
3、对存储容量数据进行统一采集,并对所述存储容量数据预处理;
4、预处理后的所述存储容量数据分别通过arima模型预测和lstm模型预测,得到arima预测结果和lstm预测结果;
5、将arima预测结果和lstm预测结果并联加权组合得到arima-lstm组合模型的预测结果;
6、根据arima-lstm组合模型的预测结果对存储容量预告警。
7、作为本发明的进一步方案,对存储容量数据进行统一采集时,基于资源池存储池容量统一数据采集模块,采用telegraf作为数据采集agent,每添加一个资源池实例,数据采集agent的自研脚本根据存储资源池内存储的基本信息进行存储资源数据采集。
8、作为本发明的进一步方案,得到arima预测结果和lstm预测结果时,将线性模型arima和非线性模型lstm进行集成,其中,利用串联方式将时间序列模型(arima)模型及长短期记忆递归神经网络(lstm)模型进行组合,lstm模型用于arima模型的误差修正,lstm模型对arima模型非线性部分进行预测,得到arima模型最终预测结果,用固定权重分别将arima模型最终预测结果与lstm模型预测结果并联加权组合得到arima-lstm组合模型的预测结果。
9、作为本发明的进一步方案,根据arima-lstm组合模型的预测结果对存储容量预告警时,对不同资源池的存储系统容量进行预告警,在达到中度阈值或者严重阈值之前设定一个预告警中度阈值和预告警严重阈值,预测到达告警阈值的时间。
10、作为本发明的进一步方案,预处理后的所述存储容量数据通过arima模型预测时,利用arima模型对存储容量的时间序列数据的线性部分进行预测,包括以下步骤:
11、对已经平稳化处理的时间序列存储容量数据的平稳化利用kpss检验方法进行判别,若数据没有趋于平稳化,若非平稳序列我们要对其进行变换处理至平稳序列;
12、利用box-pierce检验判断平稳序列时候为白噪声序列,若为白噪声序列则建模结束,否则进行对arima模型定阶;
13、根据arima模型定阶确定的模型的定阶值对模型参数进行估计,优化模型的参数选择,完成对模型的构建;
14、根据已经构建的模型对未来时间序列的存储容量进行预测。
15、作为本发明的进一步方案,预处理后的所述存储容量数据通过lstm模型预测时,lstm模型用于对arima模型的非线性部分进行预测,lstm模型的构建过程包括以下步骤:
16、将历史存储容量数据按照9:1的比例划分为训练集和验证集;
17、对划分后的训练集和验证集数据进行预处理,进行参数设置后进行模型构建;
18、基于预处理后的训练集对构建的模型进行训练,并基于预处理后的验证集对模型进行验证评估,构建得到lstm模型。
19、作为本发明的进一步方案,将arima预测结果和lstm预测结果并联加权组合得到arima-lstm组合模型的预测结果时,利用固定的权重将得到的arima预测结果和lstm预测结果进行加权组合,得到组合模型的预测结果,其中,加权系数利用预测误差最小寻求最优解,加权系数的求解步骤如下:
20、假设利用m个不同的单一的预测模型对云平台分布式存储系统存储容量进行预测,则组合模型的预测值为:
21、
22、公式中,rt表示t时刻的预测值;kj表示第j个单一模型的加权系数,并且yjt表示第j个单一预测模型在t时刻的预测值;
23、组合模型的预测误差为:
24、
25、公式中,yt表示为t时刻的实际存储容量;ejt表示第j个模型在t时刻的误差;et表示组合模型在t时刻真实值与预测值的误差;
26、计算得到存储容量在t时刻真实值与预测值的误差值,则得到误差平方值为:
27、
28、误差平方和为:
29、
30、求解k,只需要求解上述方程h的最小值,构造一个单位列向量vm=[1,1,…,1]t,根据上述方程中的条件即这样,误差平方和公式转变为:
31、
32、即在约束条件下,求解该方程的最小值,得到加权系数k;得到arima利用lstm校正后的预测模型。
33、作为本发明的进一步方案,arima利用lstm校正后的预测模型后,最终的预测值是arima利用lstm校正后的预测值与lstm模型预测值的加权组合,加权组合的推导方法为:
34、根据误差平方和公式推导计算,得到误差平方和公式为:
35、
36、加权系数求解公式为:
37、
38、
39、作为本发明的进一步方案,根据arima-lstm组合模型的预测结果对存储容量预告警,包括以下步骤:
40、设置中度阈值和严重阈值,在达到中度阈值和严重阈值之前设定一个预中度阈值和预严重阈值;
41、根据arima-lstm组合模型的预测结果,在达到预中度阈值和预严重阈值时,开始告警,提示用户进行扩容或者对只读不写、宕机的资源池下的云主机实行熔断处理。
42、本发明的第二方面,还提供了一种基于arima-ltsm的云平台资源池分布式存储容量预测系统,其中包括:
43、数据采集模块,用于对存储容量数据进行统一采集,并对所述存储容量数据预处理;
44、模型预测模块,用于对预处理后的所述存储容量数据分别通过arima模型预测和lstm模型预测,得到arima预测结果和lstm预测结果;
45、预测结果组合模块,用于将arima预测结果和lstm预测结果并联加权组合得到arima-lstm组合模型的预测结果;
46、预警模块,用于根据arima-lstm组合模型的预测结果对存储容量预告警。
47、本发明的又一方面,还提供了一种计算机设备,包括存储器和处理器,该存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任一项根据本发明的基于arima-ltsm的云平台资源池分布式存储容量预测方法。
48、本发明的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任一项根据本发明的基于arima-ltsm的云平台资源池分布式存储容量预测方法。
49、本发明至少具有以下有益技术效果:
50、本发明提出了一种基于arima-ltsm的云平台资源池分布式存储容量预测方法及系统,可以将云平台不同业务类型,关联起来,以业务流程的方式,一键式驱动执行,同时支持api及业务流程的复用,减少了用户配置的工作量,提升了用户体验。本方法基于api驱动,使得流程模块与其他业务模块解耦,形成一种通用解决方案,提高了平台的扩展性。
51、本发明设计并实现了一种基于api的业务类型定义规范,通过该规范可以实现业务流程中业务节点对token的支持,业务执行成功的判断,以及请求参数的传递,同时基于业务流程驱动基于flowable,并自定义实现了业务节点的处理逻辑,使得业务可以基于api完整串联不同的业务场景。
52、本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。