CN112330003B - 基于双向循环神经网络的周期型容量数据预测方法、系统及存储介质 - Google Patents
基于双向循环神经网络的周期型容量数据预测方法、系统及存储介质 Download PDFInfo
- Publication number
- CN112330003B CN112330003B CN202011166750.8A CN202011166750A CN112330003B CN 112330003 B CN112330003 B CN 112330003B CN 202011166750 A CN202011166750 A CN 202011166750A CN 112330003 B CN112330003 B CN 112330003B
- Authority
- CN
- China
- Prior art keywords
- busy
- idle
- sequence
- index
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/20—Administration of product repair or maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于双向循环神经网络的周期型容量数据预测方法、系统及存储介质,该方法:通过对指标数据类型进行分类,将指标数据的数据类型分为趋势型、周期型和不规则型,从而提升指标预测效率;然后针对周期型的指标数据进行预测,并提出基于双向循环神经网络的预测模型,即首先通过忙闲分布算法,得到忙闲规律序列,再通过搭建包含一层双向基本循环神经网络和一层双向长短时记忆网络的双向循环神经网络模型,最后,再通过线性回归模型对双向循环神经网络输出的结果进行优化,得到最终的预测结果。因此,本发明能够在指标和业务的多样性的场景下,保证容量预测结果的准确率。
Description
技术领域
本发明涉及电信运维的容量预测技术,尤其涉及一种基于双向循环神经网络的周期型容量数据预测方法、系统及存储介质。
背景技术
5G、物联网和虚拟化等技术的不断发展促进电信业务量和业务种类不断增加,业务服务器数量的快速增长,使得电信运维也面临不可避免的优化升级。容量可以理解为预先分配给特定应用系统的资源上限,比如CPU、内存、磁盘、网络带宽等,应用系统运行是否顺畅受容量配置的影响。
目前大多数情况下,企业依靠经验或者专家建议手动从基础架构中管理、更新、添加或者删除物理/虚拟服务器。而面对如今快速增长的服务器数量,容量管理变得日益重要,传统运维已经出现瓶颈。同时,大量的服务器会产生海量的性能监测数据,为了更有效地管理和利用这些数据,电信运维行业提出智能运维(Artificial Intelligence for ITOperations,AIOps)系统。通过分析历史性能数据,预测未来的性能趋势,为运维人员提供参考,从而避免系统容量风险,实现系统经济、平稳运行。容量管理的一个重要内容就是通过对未来容量资源进行预测以帮助合理分配资源,减少资源冗余。
虽然,研究人员们提出了许多时序预测方案,但是由于运营商生产环境中需要关注的容量指标种类繁多,如CPU、内存、网络上行和网络下行等;不同集群、不同设备部署业务不尽相同,指标和业务的多样性使得监控中心监测到的各设备各指标数据差异较大,使得这些方案难以保证预测结果的准确率。因此,针对这种情形,有必要设计一种具有通用性的容量数据预测方案。
发明内容
鉴于以上所述现有技术的不足,本发明的目的在于:提供一种具有通用性的容量数据预测方法。
为实现上述发明目的,本发明提供以下技术方案:
一种基于双向循环神经网络的周期型容量数据预测方法,其包括以下步骤:
S1:对目标设备的指标数据进行预处理,得到指标序列;
S2:对所述指标序列进行忙闲时段分布分析,得到忙闲分布规律序列;
S3:将所述忙闲分布规律序列输入至已训练完成的预测模型,得到预测结果;其中,所述忙闲分布规律序列依次经过所述预测模型的双向RNN神经网络层、Dropout层、双向LSTM层以及全连接层,再对所述全连接层输出的预测值对应时间点进行忙闲时段分类,并根据所述忙闲时段分类的分类结果,将所述预测值输入至该分类结果对应的线性回归模型中,最后由所述线性回归模型输出所述预测结果。
根据一种具体的实施方式,本发明基于双向循环神经网络的周期型容量数据预测方法中,所述预处理还包括:
对所述指标数据进行清洗与空值填充,得到所述指标序列;
以及,对所述指标数据进行类型划分;其中,若所述指标序列的DTW值小于DTW阈值且变异系数小于趋势型变异系数阈值,则所述指标序列的数据类型为趋势型;若所述DTW值小于所述DTW阈值且所述变异系数小于周期型变异系数阈值,则所述指标序列中的数据的类型为周期型;以及若所述指标序列的数据类型不是趋势型也不是周期型,则为所述指标序列的数据类型为不规则型;
其中,所述变异系数为所述指标数据的标准差与其平均数的比值,用来比较衡量数据离散程度大小。
根据一种具体的实施方式,本发明基于双向循环神经网络的周期型容量数据预测方法中,所述忙闲时段分布分析包括以下步骤:
S201:对所述指标序列进行处理,使其呈等时间间隔分布;
S202:设置忙闲粒度interval,周期长度period,以及阈值百分比μ,且当日的忙闲阈值为λ=A[INT(len(A)*μ)];其中序列A为所述指标序列按从大到小排序而成;
S203:对所述指标序列进行忙闲标记;其中,若第i天的第n个采集指标值cin小于当日忙闲阈值λi,则将该采集指标值标记为闲,否则标记为忙;
S204:按每段为忙闲粒度interval的时长,将标记后的序列C划分为interval_nums段,舍弃不足一段的部分;以及,对每段数据进行处理,直至该段数据只剩一个标记点,其处理过程为:
S204a:将每段中每N个连续标记点划分为一组,舍弃掉不足一组的部分;
S204b:对每组标记点重新进行忙闲标记,且该所述忙闲标记的方式为:将每组中状态为忙的标记点的个数x与N/2进行比较,若x<N/2,则将该组标记为闲,否则将该组标记为忙;
S204c:对进行所述忙闲标记后的忙闲标记序列重复执行步骤S204a~步骤S204b;
S205:将忙闲标记序列按周期长度period进行划分,得到二维数组A=[a1;a2;...;am],其中ai=[bi1,bi2,...,bin],bij∈{0,1},ai表示第i个周期,bij表示第i个周期中第j段的忙闲值,其中0表示闲,1表示忙;对二维数组A的每列进行频数统计,取每列出现频数较多的值组成新的0,1序列S=[s1,s2,...,sn],序列S即为指定周期的忙闲分布规律。
本发明在具体实施的一方面,提供一种基于双向循环神经网络的周期型容量数据预测系统,其包括:
预处理模块,用于对目标设备的指标数据进行预处理,得到指标序列;
忙闲时段分析模块,用于对所述指标序列进行忙闲时段分布分析,得到忙闲分布规律序列;
预测模块,用于运行已训练完成的预测模型,并将将所述忙闲分布规律序列输入至所述预测模型,得到预测结果;
其中,所述忙闲分布规律序列依次经过所述预测模块的双向RNN神经网络层、Dropout层、双向LSTM层以及全连接层,再对所述全连接层输出的预测值进行忙闲时段分类,并根据所述忙闲时段分类的分类结果,将所述预测值输入至该分类结果对应的线性回归模型中,最后由所述线性回归模型输出所述预测结果。
根据一种具体的实施方式,本发明基于双向循环神经网络的周期型容量数据预测系统中,所述预处理模块,用于对所述指标数据进行清洗与空值填充,得到所述指标序列;
以及,对所述指标数据进行类型划分;其中,若所述指标序列的DTW值小于DTW阈值且变异系数小于趋势型变异系数阈值,则所述指标序列的数据类型为趋势型;若所述DTW值小于所述DTW阈值且所述变异系数小于周期型变异系数阈值,则所述指标序列中的数据的类型为周期型;以及若所述指标序列的数据类型不是趋势型也不是周期型,则为所述指标序列的数据类型为不规则型;
其中,所述变异系数为所述指标数据的标准差与其平均数的比值,用来比较衡量数据离散程度大小。
根据一种具体的实施方式,本发明基于双向循环神经网络的周期型容量数据预测系统中,所述忙闲时段分析模块,用于运行忙闲时段分析算法,并在运行时,依次对所述指标序列进行处理,使其呈等时间间隔分布;设置忙闲粒度interval,周期长度period,以及阈值百分比μ,且当日的忙闲阈值为λ=A[INT(len(A)*μ)];其中序列A为所述指标序列按从大到小排序而成;对所述指标序列进行忙闲标记;其中,若第i天的第n个采集指标值cin小于当日忙闲阈值λi,则将该采集指标值标记为闲,否则标记为忙;按每段为忙闲粒度interval的时长,将标记后的序列C划分为interval_nums段,舍弃不足一段的部分;以及,对每段数据进行处理,直至该段数据只剩一个标记点,其处理过程为:第一步,将每段中每N个连续标记点划分为一组,舍弃掉不足一组的部分;第二步,对每组标记点重新进行忙闲标记,且该所述忙闲标记的方式为:将每组中状态为忙的标记点的个数x与N/2进行比较,若x<N/2,则将该组标记为闲,否则将该组标记为忙;第三步,对进行所述忙闲标记后的忙闲标记序列重复执行第一步与第二步;以及将忙闲标记序列按周期长度period进行划分,得到二维数组A=[a1;a2;...;am],其中ai=[bi1,bi2,...,bin],bij∈{0,1},ai表示第i个周期,bij表示第i个周期中第j段的忙闲值,其中0表示闲,1表示忙;对二维数组A的每列进行频数统计,取每列出现频数较多的值组成新的0,1序列S=[s1,s2,...,sn],序列S即为指定周期的忙闲分布规律。
本发明在具体实施的一方面,还提供一种可读存储介质,其上存储有一个或多个程序,该一个或多个程序被一个或多个处理器执行时实现本发明基于双向循环神经网络的周期型容量数据预测方法。
与现有技术相比,本发明的有益效果:
在电信运维的容量预测过程中,存在容量指标和部署业务种类繁多的问题,面对多种数据类型的高精度数据预测十分困难。因而本发明提出一种基于双向循环神经网络的周期型容量数据预测方法该方法:通过对指标数据类型进行分类,将指标数据的数据类型分为趋势型、周期型和不规则型,从而提升指标预测效率;然后针对周期型的指标数据进行预测,并提出基于双向循环神经网络的预测模型,即首先通过忙闲分布算法,得到忙闲规律序列,再通过搭建包含一层双向基本循环神经网络和一层双向长短时记忆网络的双向循环神经网络模型,最后,充分利用系统忙闲分布信息,对双向循环神经网络输出的结果进行优化。基于上述方案,本发明能够在指标和业务的多样性的场景下,保证容量预测结果的准确率。
附图说明
图1为本发明方法的流程图;
图2为本发明指标序列的数据类型划分流程示意图;
图3为本发明预测模型的工作流程示意图;
图4为本发明实验例的忙闲分布规律示意图;
图5为本发明实验例的BiRNN-BiLSTM网络的预测结果;
图6为本发明实验例的BiRNN-BiLSTM-BI网络的预测结果。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
具体的,如图1所示,本发明基于双向循环神经网络的周期型容量数据预测方法,其包括以下步骤:
S1:对目标设备的指标数据进行预处理,得到指标序列;
S2:对所述指标序列进行忙闲时段分布分析,得到忙闲分布规律序列;
S3:将所述忙闲分布规律序列输入至已训练完成的预测模型,得到预测结果;其中,所述忙闲分布规律序列依次经过所述预测模型的双向RNN神经网络层、Dropout层、双向LSTM层以及全连接层,再对所述全连接层输出的预测值对应时间点进行忙闲时段分类,并根据所述忙闲时段分类的分类结果,将所述预测值输入至该分类结果对应的线性回归模型中,最后由所述线性回归模型输出所述预测结果。
如图2所示,本发明利用动态时间规整、平均值、标准差等数据特征将指标数据类型划分为趋势型、周期型和不规则型,具体的工作过程为:
预处理是指对监测到的目标设备的指标数据进行清洗,填充空值,得到指定格式的指标序列C。
数据类型判定,计算指标序列C的DTW值value_dtw和变异系数value_cv,其中变异系数是原始数据标准差与原始数据平均数的比值,用来比较衡量数据离散程度大小,它可以消除测量尺度和量纲的影响。将value_dtw和value_cv与设定DTW阈值threshold_dtw、趋势型变异系数阈值threshold_cv_trend和周期型变异系数阈值threshold_cv_periodic进行比较判定数据类型,具体过程如下:
Step1、若value_dtw<threshold_dtw且value_cv<threshold_cv_trend,则为趋势型,否则进入Step2;
Step2、若value_dtw<threshold_dtw且value_cv<threshold_cv_periodic,则为周期型,否则进入Step3;
Step3、该类型为不规则型。
具体原理为:动态时间规整(Dynamic Time Warping,DTW)通过最小化原始序列x(i),i∈[1,M]和待对齐的时间序列y(j),j∈[1,M]之间的累积距离来提供两个时间序列之间的非线性对齐最佳路径。故可以通过两个时间序列之间的累积距离来衡量两个时间序列的相似性。用d来表示序列两点之间的距离集合,其中di,j定义公式为:
di,j=(x(i)-y(j))2
用D来表示累积距离集合,其中Di,j表示从原点(1,1)到点(i,j)的最小累积距离。具体计算公式为:
其中i=2,3,...,M,j=2,3,...,N。
初始条件的公式为:
D1,1=d1,1
如图3所示,为了实现高效的容量预测,首先要对性能数据和业务系统进行分析,此处主要通过对某系统历史性能数据进行分析以了解该业务系统的忙闲分布情况,应用方可结合系统忙闲时段分布和相关性能指标阈值合理配置系统资源。
本发明设计一种忙闲分布算法对业务系统的关键指标进行分析,以得到系统的忙闲分布规律指标值。具体方法如下:
以CPU指标为例,本发明基于双向循环神经网络的周期型容量数据预测方法中,所述忙闲时段分布分析包括以下步骤:
S201:对所述指标序列进行处理,使其呈等时间间隔分布;
S202:设置忙闲粒度interval,周期长度period,以及阈值百分比μ,且当日的忙闲阈值为λ=A[INT(len(A)*μ)];其中序列A为所述指标序列按从大到小排序而成;
S203:对所述指标序列进行忙闲标记;其中,若第i天的第n个采集指标值cin小于当日忙闲阈值λi,则将该采集指标值标记为闲,否则标记为忙;
S204:按每段为忙闲粒度interval的时长,将标记后的序列C划分为interval_nums段,舍弃不足一段的部分;以及,对每段数据进行处理,直至该段数据只剩一个标记点,其处理过程为:
S204a:将每段中每N个连续标记点划分为一组,舍弃掉不足一组的部分;
S204b:对每组标记点重新进行忙闲标记,且该所述忙闲标记的方式为:将每组中状态为忙的标记点的个数x与N/2进行比较,若x<N/2,则将该组标记为闲,否则将该组标记为忙;
S204c:对进行所述忙闲标记后的忙闲标记序列重复执行步骤S204a~步骤S204b;
S205:将忙闲标记序列按周期长度period进行划分,得到二维数组A=[a1;a2;...;am],其中ai=[bi1,bi2,...,bin],bij∈{0,1},ai表示第i个周期,bij表示第i个周期中第j段的忙闲值,其中0表示闲,1表示忙;对二维数组A的每列进行频数统计,取每列出现频数较多的值组成新的0,1序列S=[s1,s2,...,sn],序列S即为指定周期的忙闲分布规律。
再如图4所示,忙闲时段分布算法将一天划分为忙、闲和过渡三个时段,为充分利用忙闲信息,模型通过在循环神经网络后增加一层线性回归对预测结果进行有监督地优化,具体设计如下:
数据预处理。首先对监测到的目标设备的指标数据进行清洗,填充空值,得到指定格式的指标序列C。
使用忙闲时段分布算法对序列C进行分析。将序列C按天进行划分得到每天的数据序列An,即C=[A1,A2,...,An],设定两个忙闲阈值百分比μ1、μ2,则第i天对应的两个阈值λi1=Ai[INT(len(Ai)*μ1)],λi2=Ai[INT(len(Ai)*μ2)]。利用忙闲算法得到代表指定时间粒度忙闲分布规律的0,1序列S1、S2,利用公式:
计算得到最终忙闲分布规律序列S=[s1,s2,...,sn],si∈{0,1,2},其中,0代表闲,1代表忙,2代表过渡段。
构建基于双向循环神经网络的周期型容量数据预测模型。较单层网络而言,两层循环神经网络能学习到更多隐藏信息,且进过初步实验比较,两层模型效果更佳,故本模型设计为两层网络。首先将性能指标序列输入到第一层双向RNN网络,其中RNN用来挖掘性能指标随时间变化的规律,而双向神经网络不仅能学习过去的趋势还能集合未来的趋势信息。为防止过拟合,模型在双向RNN层后面设计了Dropout层,然后再与双向LSTM层连接。本文设计的模型在双向LSTM层后面添加了一层全连接层,通过全连接层汇总各个时间步的历史数据对未来时间点数据的影响然后输出一个实数值作为两层循环神经网络的预估。最后将全连接层的输出按照日忙闲分布分为忙、闲和过渡段三类,将三类数据分别输入到三个线性回归模型。
对于预测模型的训练,把历史数据划分成训练集、验证集和测试集三个部分,将训练集原始数据输入忙闲分布算法模型得到忙闲分布序列,然后将数据输入基于双向循环神经网络的周期型容量数据预测模型进行训练,并对训练好的模型进行评估。
实验例
作为衡量主机性能最重要的指标之一的CPU,是需求最高的资源故而也是主机资源短缺的主要原因,故本文选择CPU资源为实验对象。本实验使用的是北京思特奇信息技术有限公司(http://www.si-tech.com.cn)所提供的某省电信运营商客户关系管理(Customer Relationship Management,CRM)系统的性能监测数据。从呈现日周期型数据特性的分支业务中选取了统一日志和分布式缓存两个业务,再各随机选择了约4个月CPU数据作为实验数据。服务器每6分钟采集一次指标数据,每台服务器约31200条CPU数据,监控中心采集数据样例如表1所示。由于频繁预测会占用大量资源,公司实际生产中要求以小时为粒度进行预测,故在预测前需要对数据进行处理。
表1、监控中心采集数据样例
本实验例中,实验是在具有3.20GHz时钟频率的CoreTMi7-8700处理器上运行的,内存大小为16GB。实验设计为通过前t小时CPU利用率预测t+1小时CPU利用率。设定两个忙闲阈值百分比μ1=0.25,μ2=0.35,求得忙闲阈值λ1,λ2。将原始数据按照0.8:0.2的比列划分成训练集和测试集,对两层网络分别以10的倍数个神经元进行尝试,选择其中最优结果的神经元数作为实验神经元数。设置epochs=80,batch_size=64,time_step=48,validation_split=0.125,优化器选择自适应矩估计优化器(Adaptive MomentEstimation,Adam)。
预测的准确率通过MSE衡量。MSE是预测值与真实值偏差的平方与预测样本数的比值,用来衡量预测值与真实值之间的偏差,MSE的定义公式如下:
其中,truet表示第t个时间点数据的真实值,predictedt表示第t个时间点数据的预测值,m表示样本的总数。
如图4所示,以某服务器CPU指标数据为原始数据进行忙闲分析,设定两个波动值μ1=0.25,μ2=0.35。将μ1和μ2分别作为忙闲阈值百分比代入忙闲分布算法求得以小时为粒度的每天忙闲分布序列S1和S2。
S1=[0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,0,0]
S2=[0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0]
实线为标准化后的CPU指标值。分析实线可以看出,该业务服务器CPU指标值在日间较大而夜间较小,且日间中午的时候会稍微回落。虚线为当μ1=0.25时所得的忙闲分布序列S1,由于此时忙闲阈值λi1较大,所以处于忙状态的时段并不多,大部分时段处于闲状态。点线为当μ2=0.35时所得的忙闲分布状态序列S2,此时忙闲阈值λi2相对较小,所以处于忙状态的时段较S1相比更多。
通过公式:
求得最终的忙先分布序列S=[0,0,0,0,0,0,0,0,2,1,1,1,2,2,1,1,1,1,2,2,2,0,0,0]。
如图5、图6所示,为了验证基于双向循环神经网络的周期型容量指标数据预测模型是否具有良好效果,以LSTM、双向LSTM、RNN和双向RNN作为对照组进行实验。
图5为使用一层BiRNN和一层BiLSTM构成的BiRNN-BiLSTM网络模型进行测试得到的结果,图6为使用BiRNN-BiLSTM-BI模型进行测试的结果。图5、6中横轴为时间轴,总共有624个时间切片,每个时间切片表示1小时;纵轴表示范围在[0,100]的CPU指标值。图中的两条曲线分别为CPU指标值实际结果和预测结果。分析图5、6可知,该业务服务器CPU指标值在日间较大而夜间较小,且日间中午会有回落。BiRNN-BiLSTM网络虽然能够反映CPU指标值的变化趋势,但是在波峰和波谷处与真实曲线拟合效果不理想,而忙闲循环神经网络组合模型能够更好地跟踪CPU指标值的变化趋势,实现了更精确的预测。
表2分别列出了统一日志和分布式缓存池业务的5种模型的MSE平均值。由表2可知,对于统一日志业务,两层BiLSTM网络模型的结果为5.5680,优于除本文模型的其余几个网络,而BiRNN-BiLSTM-BI模型的MSE为4.1766,误差值比两层BiLSTM模型少24.99%。对于分布式缓存池业务,BiRNN-BiLSTM-BI模型比其中第二优的两层BiRNN模型减少了5.33%。
表2、5种网络模型预测结果
为了进一步验证该容量预测模型的能力,将其与传统的预测方法即ARIMA、Holt-Winters算法及BP神经网络做对比,几种算法MSE平均值如表2所示。
由表3可知,对于统一日志业务,Holt-Winters三次指数平滑算法结果为4.9230,优于ARIMA和BP神经网络,而BiRNN-BiLSTM-BI模型的MSE为4.1766,误差值比Holt-Winters指数平滑算法少15.16%。对于分布式缓存池业务,BiRNN-BiLSTM-BI比其中第二优的Holt-Winters提高了45.67%。
表3、传统预测结果
从上述实验结果中可知,BiRNN-BiLSTM-BI网络模型预测精度更高、误差更小,说明该模型能更好的对周期型容量指标数据进行预测。
本发明还提供一种基于双向循环神经网络的周期型容量数据预测系统,其包括:
预处理模块,用于对目标设备的指标数据进行预处理,得到指标序列;
忙闲时段分析模块,用于对所述指标序列进行忙闲时段分布分析,得到忙闲分布规律序列;
预测模块,用于运行已训练完成的预测模型,并将将所述忙闲分布规律序列输入至所述预测模型,得到预测结果;
其中,所述忙闲分布规律序列依次经过所述预测模块的双向RNN神经网络层、Dropout层、双向LSTM层以及全连接层,再对所述全连接层输出的预测值对应时间点进行忙闲时段分类,并根据所述忙闲时段分类的分类结果,将所述预测值输入至该分类结果对应的线性回归模型中,最后由所述线性回归模型输出所述预测结果。
根据一种具体的实施方式,本发明基于双向循环神经网络的周期型容量数据预测系统中,所述预处理模块,用于对所述指标数据进行清洗与空值填充,得到所述指标序列;
以及,对所述指标数据进行类型划分;其中,若所述指标序列的DTW值小于DTW阈值且变异系数小于趋势型变异系数阈值,则所述指标序列的数据类型为趋势型;若所述DTW值小于所述DTW阈值且所述变异系数小于周期型变异系数阈值,则所述指标序列中的数据的类型为周期型;以及若所述指标序列的数据类型不是趋势型也不是周期型,则为所述指标序列的数据类型为不规则型;
其中,所述变异系数为所述指标数据的标准差与其平均数的比值,用来比较衡量数据离散程度大小。
根据一种具体的实施方式,本发明基于双向循环神经网络的周期型容量数据预测系统中,所述忙闲时段分析模块,用于运行忙闲时段分析算法,并在运行时,依次对所述指标序列进行处理,使其呈等时间间隔分布;设置忙闲粒度interval,周期长度period,以及阈值百分比μ,且当日的忙闲阈值为λ=A[INT(len(A)*μ)];其中序列A为所述指标序列按从大到小排序而成;对所述指标序列进行忙闲标记;其中,若第i天的第n个采集指标值cin小于当日忙闲阈值λi,则将该采集指标值标记为闲,否则标记为忙;按每段为忙闲粒度interval的时长,将标记后的序列c划分为interval_nums段,舍弃不足一段的部分;以及,对每段数据进行处理,直至该段数据只剩一个标记点,其处理过程为:第一步,将每段中每N个连续标记点划分为一组,舍弃掉不足一组的部分;第二步,对每组标记点重新进行忙闲标记,且该所述忙闲标记的方式为:将每组中状态为忙的标记点的个数x与N/2进行比较,若x<N/2,则将该组标记为闲,否则将该组标记为忙;第三步,对进行所述忙闲标记后的忙闲标记序列重复执行第一步与第二步;以及将忙闲标记序列按周期长度period进行划分,得到二维数组A=[a1;a2;...;am],其中ai=[bi1,bi2,...,bin],bij∈{0,1},ai表示第i个周期,bij表示第i个周期中第j段的忙闲值,其中0表示闲,1表示忙;对二维数组A的每列进行频数统计,取每列出现频数较多的值组成新的0,1序列S=[s1,s2,...,sn],序列S即为指定周期的忙闲分布规律。
本发明在具体实施的一方面,还提供一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现本发明基于数据挖掘算法的学业预警方法。
应该理解到,本发明所揭露的系统,可通过其它的方式实现。例如所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,模块之间的通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (5)
1.一种基于双向循环神经网络的周期型容量数据预测方法,其特征在于,包括以下步骤:
S1:对目标设备的指标数据进行预处理,得到指标序列;
S2:对所述指标序列进行忙闲时段分布分析,得到忙闲分布规律序列;其中,所述忙闲时段分布分析包括以下步骤:
S201:对所述指标序列进行处理,使其呈等时间间隔分布;
S202:设置忙闲粒度interval,周期长度period,以及阈值百分比μ,且当日的忙闲阈值为λ=A[INT(len(A)*μ)];其中序列A为所述指标序列按从大到小排序而成;
S203:对所述指标序列进行忙闲标记;其中,若第i天的第n个采集指标值cin小于当日忙闲阈值λi,则将该采集指标值标记为闲,否则标记为忙;
S204:按每段时长为忙闲粒度interval,将标记后的指标序列划分为interval_nums段,舍弃不足一段的部分;以及,对每段数据进行处理,直至该段数据只剩一个标记点,其处理过程为:
S204a:将每段中每N个连续标记点划分为一组,舍弃掉不足一组的部分;
S204b:对每组标记点重新进行忙闲标记,且该忙闲标记的方式为:将每组中状态为忙的标记点的个数x与N/2进行比较,若x<N/2,则将该组标记为闲,否则将该组标记为忙;
S204c:对进行所述忙闲标记后的忙闲标记序列重复执行步骤S204a~步骤S204b;
S205:将忙闲标记序列按周期长度period进行划分,得到二维数组A=[a1;a2;...;am],其中ai=[bi1,bi2,...,bin],bij∈{0,1},ai表示第i个周期,bij表示第i个周期中第j段的忙闲值,其中0表示闲,1表示忙;对二维数组A的每列进行频数统计,取每列出现频数较多的值组成新的0,1序列S=[s1,s2,...,sn],序列S即为指定周期的忙闲分布规律;
S3:将所述忙闲分布规律序列输入至已训练完成的预测模型,得到预测结果;其中,所述忙闲分布规律序列依次经过所述预测模型的双向RNN神经网络层、Dropout层、双向LSTM层以及全连接层,再对所述全连接层输出的预测值对应时间点进行忙闲时段分类,并根据所述忙闲时段分类的分类结果,将所述预测值输入至该分类结果对应的线性回归模型中,最后由所述线性回归模型输出所述预测结果。
2.如权利要求1所述的基于双向循环神经网络的周期型容量数据预测方法,其特征在于,所述预处理还包括:
对所述指标数据进行清洗与空值填充,得到所述指标序列;
以及,对所述指标数据进行类型划分;其中,若所述指标序列的DTW值小于DTW阈值且变异系数小于趋势型变异系数阈值,则所述指标序列的数据类型为趋势型,否则继续判断是否为周期型,即若所述DTW值小于所述DTW阈值且所述变异系数小于周期型变异系数阈值,则所述指标序列中的数据的类型为周期型;以及若所述指标序列的数据类型不是趋势型也不是周期型,则为所述指标序列的数据类型为不规则型;
其中,所述变异系数为所述指标数据的标准差与其平均数的比值,用来比较衡量数据离散程度大小。
3.一种基于双向循环神经网络的周期型容量数据预测系统,其特征在于,包括:
预处理模块,用于对目标设备的指标数据进行预处理,得到指标序列;
忙闲时段分析模块,用于对所述指标序列进行忙闲时段分布分析,得到忙闲分布规律序列;其中,所述忙闲时段分析模块,用于运行忙闲时段分析算法,并在运行时,依次对所述指标序列进行处理,使其呈等时间间隔分布;设置忙闲粒度interval,周期长度period,以及阈值百分比μ,且当日的忙闲阈值为λ=A[INT(len(A)*μ)];其中序列A为所述指标序列按从大到小排序而成;对所述指标序列进行忙闲标记;其中,若第i天的第n个采集指标值cin小于当日忙闲阈值λi,则将该采集指标值标记为闲,否则标记为忙;按每段时长为忙闲粒度interval,将标记后的序列C划分为interval_nums段,舍弃不足一段的部分;以及,对每段数据进行处理,直至该段数据只剩一个标记点,其处理过程为:第一步,将每段中每N个连续标记点划分为一组,舍弃掉不足一组的部分;第二步,对每组标记点重新进行忙闲标记,且该忙闲标记的方式为:将每组中状态为忙的标记点的个数x与N/2进行比较,若x<N/2,则将该组标记为闲,否则将该组标记为忙;第三步,对进行所述忙闲标记后的忙闲标记序列重复执行第一步与第二步;以及将忙闲标记序列按周期长度period进行划分,得到二维数组A=[a1;a2;...;am],其中ai=[bi1,bi2,...,bin],bij∈{0,1},ai表示第i个周期,bij表示第i个周期中第j段的忙闲值,其中0表示闲,1表示忙;对二维数组A的每列进行频数统计,取每列出现频数较多的值组成新的0,1序列S=[s1,s2,...,sn],序列S即为指定周期的忙闲分布规律;
预测模块,用于运行已训练完成的预测模型,并将所述忙闲分布规律序列输入至所述预测模型,得到预测结果;
其中,所述忙闲分布规律序列依次经过所述预测模块的双向RNN神经网络层、Dropout层、双向LSTM层以及全连接层,再对所述全连接层输出的预测值进行忙闲时段分类,并根据所述忙闲时段分类的分类结果,将所述预测值输入至该分类结果对应的线性回归模型中,最后由所述线性回归模型输出所述预测结果。
4.如权利要求3所述的基于双向循环神经网络的周期型容量数据预测系统,其特征在于,所述预处理模块,用于对所述指标数据进行清洗与空值填充,得到所述指标序列;
以及,对所述指标数据进行类型划分;若所述指标序列的DTW值小于DTW阈值且变异系数小于趋势型变异系数阈值,则所述指标序列的数据类型为趋势型,否则继续判断是否为周期型,即若所述DTW值小于所述DTW阈值且所述变异系数小于周期型变异系数阈值,则所述指标序列中的数据的类型为周期型;以及若所述指标序列的数据类型不是趋势型也不是周期型,则为所述指标序列的数据类型为不规则型;
其中,所述变异系数为所述指标数据的标准差与其平均数的比值,用来比较衡量数据离散程度大小。
5.一种可读存储介质,其上存储有一个或多个程序,其特征在于,该一个或多个程序被一个或多个处理器执行时实现权利要求1~2任一项所述的基于双向循环神经网络的周期型容量数据预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011166750.8A CN112330003B (zh) | 2020-10-27 | 2020-10-27 | 基于双向循环神经网络的周期型容量数据预测方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011166750.8A CN112330003B (zh) | 2020-10-27 | 2020-10-27 | 基于双向循环神经网络的周期型容量数据预测方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112330003A CN112330003A (zh) | 2021-02-05 |
CN112330003B true CN112330003B (zh) | 2022-11-08 |
Family
ID=74296866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011166750.8A Active CN112330003B (zh) | 2020-10-27 | 2020-10-27 | 基于双向循环神经网络的周期型容量数据预测方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112330003B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013055399A1 (en) * | 2011-10-12 | 2013-04-18 | Qualcomm Incorporated | Central processing unit monitoring and management based on a busy-idle histogram |
CN104125584A (zh) * | 2013-04-27 | 2014-10-29 | 中国移动通信集团福建有限公司 | 一种针对网络业务的业务指标实现预测的方法及装置 |
JP2019101792A (ja) * | 2017-12-04 | 2019-06-24 | 株式会社国際電気通信基礎技術研究所 | チャネル状態予測装置、無線通信装置、チャネル状態予測方法、および、プログラム |
CN110830303A (zh) * | 2019-11-13 | 2020-02-21 | 大连大学 | 一种基于双向长短期记忆循环神经网络的网络流量预测方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100341280C (zh) * | 2003-12-16 | 2007-10-03 | 华为技术有限公司 | 通信网络性能忙闲自动分析方法 |
CN104463351A (zh) * | 2014-11-15 | 2015-03-25 | 国家电网公司 | 基于电力业务需求的通信带宽预测方法及装置 |
CN108471353B (zh) * | 2018-01-22 | 2021-03-30 | 浙江鹏信信息科技股份有限公司 | 一种基于深度神经网络算法的网元容量分析与预测的方法 |
CN109462520B (zh) * | 2018-11-19 | 2021-12-10 | 电子科技大学 | 基于lstm模型的网络流量资源态势预测方法 |
CN111325310A (zh) * | 2018-12-13 | 2020-06-23 | 中国移动通信集团有限公司 | 一种数据预测方法、装置及存储介质 |
-
2020
- 2020-10-27 CN CN202011166750.8A patent/CN112330003B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013055399A1 (en) * | 2011-10-12 | 2013-04-18 | Qualcomm Incorporated | Central processing unit monitoring and management based on a busy-idle histogram |
CN104125584A (zh) * | 2013-04-27 | 2014-10-29 | 中国移动通信集团福建有限公司 | 一种针对网络业务的业务指标实现预测的方法及装置 |
JP2019101792A (ja) * | 2017-12-04 | 2019-06-24 | 株式会社国際電気通信基礎技術研究所 | チャネル状態予測装置、無線通信装置、チャネル状態予測方法、および、プログラム |
CN110830303A (zh) * | 2019-11-13 | 2020-02-21 | 大连大学 | 一种基于双向长短期记忆循环神经网络的网络流量预测方法 |
Non-Patent Citations (3)
Title |
---|
Discovering Periodic Patterns for Large Scale Mobile Traffic Data: Method and Applications;Hongzhi Shi 等;《IEEE Transactions on Mobile Computing》;20180130;第17卷(第10期);2266-2278 * |
基于时域卷积与双向GRU神经网络的时序预测模型;王振等;《软件导刊》;20200315;第19卷(第03期);48-52 * |
航空通信网络信道接入的统计预测机制;卓琨 等;《计算机工程与设计》;20150816;第36卷(第08期);2001-2006 * |
Also Published As
Publication number | Publication date |
---|---|
CN112330003A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022047658A1 (zh) | 日志异常检测系统 | |
CN111105104A (zh) | 一种基于相似日和rbf神经网络的短期电力负荷预测方法 | |
CN109376906B (zh) | 基于多维度轨迹的出行时间预测方法、系统及电子设备 | |
CN112363896B (zh) | 日志异常检测系统 | |
CN110533112A (zh) | 车联网大数据跨域分析融合方法 | |
CN103778474A (zh) | 资源负载量预测方法、分析预测系统及业务运营监控系统 | |
CN111028100A (zh) | 考虑气象因素的精细化短期负荷预测方法、装置及介质 | |
CN113420414A (zh) | 一种基于动态时空分析的短时交通流预测模型 | |
CN114565124A (zh) | 一种基于改进图卷积神经网络的船舶交通流预测方法 | |
WO2021103823A1 (zh) | 模型更新系统、模型更新方法及相关设备 | |
CN112116198A (zh) | 数据驱动的流程工业状态感知网络关键节点筛选方法 | |
CN117078048B (zh) | 基于数字孪生的智慧城市资源管理方法及系统 | |
CN114861788A (zh) | 一种基于dbscan聚类的负荷异常检测方法及系统 | |
CN111882157A (zh) | 一种基于深度时空神经网络的需求预测方法、系统及计算机可读存储介质 | |
CN114066073A (zh) | 电网负荷预测方法 | |
Wang et al. | Cloud workload analytics for real-time prediction of user request patterns | |
CN113762591B (zh) | 一种基于gru和多核svm对抗学习的短期电量预测方法及系统 | |
CN111984514B (zh) | 基于Prophet-bLSTM-DTW的日志异常检测方法 | |
CN112330003B (zh) | 基于双向循环神经网络的周期型容量数据预测方法、系统及存储介质 | |
CN116862132A (zh) | 基于大数据的资源调度方法 | |
CN115794405A (zh) | 一种基于SSA-XGboost算法的大数据处理框架的动态资源分配方法 | |
CN115619028A (zh) | 一种基于聚类算法融合的电力负荷精准预测方法 | |
CN115423146A (zh) | 一种基于多因子最近邻抽样回归和支持向量机的自适应径流预报方法 | |
CN114943328A (zh) | 基于bp神经网络非线性组合的sarima-gru时序预测模型 | |
CN115358515A (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 |