基于改进TFT的云服务器资源利用数量预测方法与流程

文档序号:29417857发布日期:2022-03-26 13:36阅读:238来源:国知局
基于改进TFT的云服务器资源利用数量预测方法与流程
基于改进tft的云服务器资源利用数量预测方法
技术领域
1.本发明属于通信技术领域,尤其是涉及一种基于改进tft(时序融合变压器模型)的云服务器资源利用数量预测方法。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.云服务平台是在一定的网络环境下,服务商为企业提供大规模计算的服务平台。当前一些传统的性能分析方法无法很好地解决云服务平台部署、资源利用、架构和技术等方面的挑战,通过对服务器资源利用数量的准确预测可以在一定程度上解决这些问题。对云平台服务器的资源利用数量进行预测,一方面,可以对未来可能面对的平台用户高峰期做出预判,提前进行部署从而防止服务器过载以及保证访问安全;另一方面,还可以在资源利用低迷期减少服务器的投入,从而降低资源的损耗。
4.然而,云平台后台产生的云服务器使用情况数据,其原始数据仅有一列与时间戳对应的变量数据,使得预测存在局限性,预测时无法精准提取特征,传统模型能学习到的东西少之又少,最后致使结果不准确。传统的单变量预测方法一般为应用前几步的数据来作为模型输入,后一步或后几步的数据作为模型标签进行训练,由于缺少特征变量而导致预测结果不够准确。当前,多变量的时间序列预测研究一直比较热门,但是无法用在云服务器资源利用数量的单变量数据中。一些传统预测模型,如:arma(自回归滑动平均模型)、arima(求和自回归滑动平均模型)、lstm(长短期记忆循环神经网络),是现在的数据分析者比较青睐的预测技术,但是这些技术仍然存在结构不完善、特征提取不准确、模型拟合慢、结果不准确、资源消耗大等不足,不能满足当前市场的需要。
5.如何使最新的多变量预测技术应用在云服务器资源利用数量预测领域,怎样提取特征和提升预测准确度以满足资源精确部署的需求,是当前研究的重点。


技术实现要素:

6.为解决以上问题,本发明提供了一种云服务器资源利用数量预测方法。本发明的实施例提供了如下技术方案:应用prophet的时间序列分解功能,对原始数据的时间戳和对应的值进行特征变量分解,获得整体趋势项等变量;手动增加年、月、周、日、节日、季节的时间项,用于扩充原始数据集作为模型输入数据;将数据划分为三种变量输入到tft模型的不同接口中,对其特征进一步计算分析;使用encoder(编码器)和decoder(解码器)对变量进行编码解码;改进注意力机制学习特征变量,最终输出预测结果。改进的tft模型大大提高了模型拟合速度和提升了服务器利用数量数据预测的准确性。
7.具体步骤包括:s1:获取一段时间内云服务器资源利用数量的数据进行特征变量提取和分解,通过基于时间序列分解的预测模型prophet,使两列原始数据(时间戳和实际变量值)的特征
变量扩增到多列。
8.s2:将所述prophet模型输出的值进行选择性提取,提取输入值对应的时间戳和实际值,并获取所述prophet模型计算的趋势项动态变量,得到新数据集。
9.s3:对新数据集进一步手动扩充时间序列变量,增加年、月、日、星期、周末、节日、季节项,最终使两列原始数据扩充为多列数据,形成多变量数据集作为模型输入。
10.s4:把所述多变量输入数据的特征变量划分为三类,分别为静态季节变量、过去观测变量、已知时间变量。
11.s5:设计并改进tft模型,改进变量选择模块中的glu(门控线性单元)层,实现增强对过去信息选择性获取和遗忘的功能,其计算公式为:公式一:其中所述w1,w2,w3为待训练的权重参数,所述b、c,d为待训练的偏置参数,gelu()为激活函数gelu,为矩阵乘法计算。
12.s6:改进tft模型中的注意力计算方式,使用双头注意力机制,q,k,v为输入的embedding分别乘上一个权重矩阵得到的query、key、value,首先对k进行采样,随机选择n个k,得到kn,对qi∈q关于kn求m值,公式如下:公式二:其中qi∈q,kj∈kn找到m中最大的n个qi,组成q
n ,关于kn求a(qn,kn,v),公式如下:公式三:其中qn为选中的n个qi组成的矩阵,没有选中的qi求a(q,k,v)后求均值初始化为原始qr矩阵,qn矩阵中非0值更新到qr矩阵中得到最终q矩阵;求双头注意力公式如下:公式四:公式五:注意力机制最后输出值。
13.s7:根据所述步骤s5和所述步骤s6中的改进建立新的tft预测模型。
14.s8:将所述步骤s4中划分的静态季节变量、过去观测变量、时间已知变量分别接入模型对应的静态协变量、动态时变特征变量、动态时不变特征的输入数据的接口,使模型对不同的变量进行不同的特征选择和计算。
15.s9:训练模型,设置epoch的数量为40,decoder预测时间步为165,进行模型训练和建立。
16.s10:从测试集上进行测试,验证建立模型的准确度。
17.进一步的技术方案,所述步骤s2中prophet模型只用于数据处理,使用prophet的
预测模型进行时间序列特征变量的分解操作,作为模型的输入,只保留原数据中的节点,对该模型的预测结果不做使用。
18.进一步的技术方案,所述步骤s3中的手动扩充时间特征变量可以根据数据的实际情况,增加相应的影响数据结果的某节日项。
19.进一步的技术方案,所述步骤s4中静态季节变量为当前所在时间点的季节特征项,过去观测变量为预测点之前的已知观测到的动态变量,已知时间变量为整个预测体系中都已知的时间变量如年、月、周、日等。
20.进一步的技术方案,所述步骤s5中是应用门控线性单元对数据特征进行选择性记忆和遗忘的计算方法。
21.更进一步的技术方案,所述步骤s6中的所有公式需配套使用,相互计算。
22.更进一步的技术方案,所述步骤s8中把季节变量作为静态协变量输入到模型中,使季节变量可以协调全局的特征。
23.本发明提供的一种云服务器资源利用数量的预测方法,满足了云服务平台要对未来进行服务器精准部署的需求,解决了特征分解的瓶颈问题,改进的tft(时序融合变压器)多步时间序列预测模型作为基础框架,改进其中的组件和计算方式,提高了云服务器资源利用数量预测的准确度。通过对服务器使用数量的预测,提高的云服务平台的运维效率,使平台维护者更准确地对各项资源进行调度。
附图说明
24.为了更清楚的说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例。
25.图1为本说明书实施例提供的一种云服务器资源利用数量预测方法的流程图。
26.图2为本说明书实施例数据扩充方法流程图。
27.图3为本说明书实施例数据分类流程图。
28.图4为本说明书实施例模型数据输入结构图。
29.图5为本说明书实施例使用tft模型内部结构图。
30.图6为本说明书实施例模型中门控残差网络结构图。
具体实施方式
31.下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述。此处所描述的具体实施例仅用以解释本发明的实施,不限定本发明。
32.图1示例性地展示了一种基于改进tft的云服务器资源利用数量预测的方法流程。
33.首先,对原始数据进行特征分解,包括时间分解和变量分解,增加数据的对应变量和整体趋势变量和年、月、周、日、节假日等时间特征项作为输入模型中的数据特征。
34.第二,进行数据预处理,对数据集进行标准化、归一化,生成训练集和测试集用于模型的训练和测试。
35.第三,对数据根据特征进行划分,根据tft模型中独特的数据输入机制,需要把数据划分为静态特征、动态时变特征、动态时不变特征。
36.第四,设计并改进tft模型,在原有模型架构的基础上,改变了多头注意力机制和门控线性单元的计算,提高了模型拟合速度和预测准确度。
37.第五,将划分好的数据特征分别接入对应的模型接口中。
38.第六,对模型进行训练。
39.第七,生成训练模型用于预测云服务器资源利用数量。
40.第八,在测试集中进行测试模型的预测准确度。
41.步骤一、数据集特征分解与预处理:云服务器资源利用数量的原始数据包括两列,包括每一天时间戳和变量数据值,该实施例原始数据使用的某平台连续近8年每天的云服务器资源利用情况的数据。
42.具体的,对原始数据进行数据特征的扩充,如图2所示,为本说明书实施例数据扩充方法流程图。将原始数据通过prophet(时间分解序列预测)模型,将prophet模型输出的值进行选择性提取,提取输入值对应的时间戳和变量数据值,并获取所述prophet计算的趋势项等变量,只保留原数据中的节点,对该模型的预测结果不做使用。prophet模型作为基于数理统计和机器学习的时间序列预测模型,该说明书实施例只利用它的特征分解能力作为本发明的数据处理的技术,对其做出的预测不做利用。本发明还在prophet模型进行特征提取的基础上,合理科学的进行手动增加,增加了年、月、周、日、节假日等时间项,生成扩充后的数据后,对其进行预处理,包括数据的标准化和归一化。
43.步骤二、划分训练集和测试集对预处理的数据进行划分训练集测试集,该实施例把数据集中最后一年的365个数据作为测试集,前几年的数据作为训练集。
44.步骤三、数据特征划分如图3所示,为本说明书实施例数据分类流程图,展示了对预处理后的数据进行数据分类,本发明根据实施例数据的独特性,把原模型中所需要的数据划分的静态特征、动态时变特征、动态时不变特征中,创新修改数据划分依据,把数据划分为了静态季节变量,过去观测变量,已知时间变量。静态季节变量为当前所在时间点的季节特征项,由于该项在一定的连续数据中保持不变并对全局有掌控作用,因此可作为静态协变量输入模型,过去观测变量为预测点之前的已知观测到的动态变量,已知时间变量为整个预测体系中都已知的时间变量如年、月、周、日等。
45.具体的,如图4所示,为本说明书实施例模型数据输入结构图,展示了分类后的数据如何在模型中发挥作用。对于模型进行时间序列预测,影响预测结果的因素不仅有过去的已知变量,还有相应预测时间点的已知时间变量和静态季节变量,当模型进行训练时,需要输入过去已知变量,如动态波动的服务器使用数量值和趋势项,对于未来的已知时间变量如周一、周二、一月、二月等年月日项作为辅助特征为预测提供相关依据,还有影响整体的季节因素,因为季节在一定的数据集中是不变化的,可以对每个季节内单独进行训练,所以本发明把季节作为静态变量输入进模型以影响全局。在已知t+h时刻的季节、年、月、日等时间项的前提下,模型最终输出t+h时刻的预测数据结果。
46.步骤四、设计并改进tft预测模型图5为本说明书实施例使用改进tft模型的内部结构设计图。静态季节变量通过特征选择模块后进入decoder(解码器)产生不同的数据向量,这些向量相应的进入模型中,已
知时间变量通过特征选择模块后进入encoder(编码器),已知动态变量进行特征选择之后分别进入encoder(编码器)和decoder(解码器)中,经过encoder和decoder的输出分别在通过glu(门控线性单元)和gru(门控残差网络)后进入注意力机制中。在这个过程中,静态季节变量会再次影响grn的计算,使静态特征增强。最后把注意力机制中的结果再次依次输入到glu、grn、glu中,通过一个全连接层输出预测值。
47.需要说明的是,该模型的glu是一种用于特征提取的结构,它结构的灵感来自于lstm(长短期记忆循环神经网络)的门控机制,可以起到对过去的有效信息进行记忆,对无效信息选择性遗忘的功能。原tft模型中glu的计算公式为:其中w1、w2为待训练权重参数,b,c为待训练权重参数,为激活函数sigmoid(x)。本发明改进为以下公式,提高了模型的计算能力和学习准确性:其中w1、w2、w3为待训练权重,b,c,d为待训练偏置参数,gelu为激活函数gelu(x)。
48.具体的,该模型的grn(门控残差网络)结构如图6所示,该结构组成特征选择模块,该模块通过计算特征权重实现特征选择的功能,具体计算方式为将grn模块单独应用于每个特征,之后所有特征进行串联应用在grn模块,得到权重后生成每个grn输出的加权总和,作为每个特征的权重。
49.需要说明的是,本发明改进了多头注意力机制的计算方式,原有transformer中的注意力参数的计算方式计算量过大,本发明在计算多头注意力时,首先改变单头的注意力计算方式,并用在双头注意力求解时,对两个头直接进行求平均值。具体实现如下:改进tft中的注意力计算方式,使用双头注意力机制,q,k,v为输入的embedding分别乘上一个权重矩阵得到的query、key、value,首先对k进行采样,随机选择n个k,得到kn,对qi∈q关于kn求m值,公式如下:其中qi∈q,kj∈kn。
50.找到m中最大的n个qi,组成q
n ,关于kn求a(qn,kn,v),公式如下:其中qn为选中的n个qi组成的矩阵,没有选中的qi求a(q,k,v)后求均值初始化为原始qr矩阵,qn矩阵中非0值更新到qr矩阵中得到最终q矩阵。
51.求双头注意力公式如下:求双头注意力公式如下:
注意力机制最后输出值。
52.步骤五、不同的数据特征进入相应的模型输入接口:模型创建完成,把预处理好的相关数据的训练集放入模型中,具体的,把步骤三种划分的数据分别输入到步骤四中建立的模型网络结构中。
53.步骤六、模型训练:设置epoch迭代次数,进行模型的训练。该实施例设置参数为epoch=40,预测的时间步为165,即预测未来165天的数据。
54.步骤七、生成目标预测模型:训练结束后保存生成的模型。
55.步骤八、模型测试:用训练好的模型在测试集上进行仿真预测。
56.本实施例共预测未来165天每天的服务器使用情况数据。
57.实验证明本发明提供的方法对于云服务器资源利用数量预测的精度具有显著提升。本发明提供的云服务器资源利用数量预测的方法,为云服务平台的运行维护提供了重要参考指标。利用当前后台产生的资源利用数据,对未来进行一定的精准数据预测,使平台可以根据未来资源利用的预测数据进行资源调度和安全部署,保证和促进了云服务平台的持续健康发展。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1