数据中心的负荷预测方法、装置、设备和存储介质

文档序号:32988348发布日期:2023-01-17 23:05阅读:21来源:国知局
数据中心的负荷预测方法、装置、设备和存储介质

1.本发明涉及数据中心技术领域,尤其涉及一种数据中心的负荷预测方法、装置、设备和存储介质。


背景技术:

2.随着云计算应用和需求的不断增加,数据中心的数量与日俱增,由于数据中心耗能巨大,给经济和环境带来极大压力。为了制定更加高效的数据中心能量调控策略参与需求响应,从而实现电网和数据中心的双赢,对数据中心进行精准的负荷预测具有重要的意义。
3.相关技术中,仅仅通过历史数据进行未来时刻数据中心负荷的预测,即只是通过历史时刻的冷却系统、it设备、天气等数据进行未来时刻数据中心负荷的预测,使得数据中心的负荷预测结果准确性较低。


技术实现要素:

4.针对现有技术中的问题,本发明实施例提供一种数据中心的负荷预测方法、装置、设备和存储介质。
5.具体地,本发明实施例提供了以下技术方案:
6.第一方面,本发明实施例提供了一种数据中心的负荷预测方法,包括:
7.获取多个历史时刻的目标数据;所述目标数据包括数据中心的负荷数据及多个类型的与所述负荷数据相关的特征数据;
8.将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与所述负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果;所述模型用于基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测;所述负荷预测模型是基于第一时刻的目标数据、第二时刻的目标数据和预测出的第二时刻的目标数据训练得到的。
9.进一步地,所述将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与所述负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果,包括:
10.将历史时刻的所述数据中心的负荷数据及多个类型的与所述负荷数据相关的特征数据输入负荷预测模型的未来时刻特征数据探索层,得到预测出的未来时刻的特征数据;
11.将历史时刻的所述数据中心的负荷数据及多个类型的与所述负荷数据相关的特征数据输入负荷预测模型的历史时刻特征数据嵌入层,得到历史时刻的目标数据向量;
12.将所述历史时刻的目标数据向量和所述预测出的未来时刻的特征数据输入负荷预测模型的负荷预测层,得到数据中心的负荷预测结果。
13.进一步地,所述将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与
所述负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果之前,还包括:
14.将第一时刻的目标数据输入负荷预测模型,得到预测出的第二时刻的数据中心的负荷数据及多个类型的与所述负荷数据相关的特征数据;
15.根据获取到的第二时刻的目标数据和所述预测出的第二时刻的数据中心的负荷数据及多个类型的与所述负荷数据相关的特征数据,对所述负荷预测模型进行训练,得到训练后的负荷预测模型。
16.进一步地,所述根据获取到的第二时刻的目标数据和所述预测出的第二时刻的数据中心的负荷数据及多个类型的与所述负荷数据相关的特征数据,对所述负荷预测模型进行训练,得到训练后的负荷预测模型,包括:
17.利用如下损失函数对所述负荷预测模型进行训练:
[0018][0019]
所述n表示n个数据中心的目标数据样本;所述k表示目标数据维数;所述表示t+1时刻第j个目标数据样本中的第i个类型的特征数据的预测值,表示t+1时刻第j个目标数据样本中的第i个类型的特征数据的真实值。
[0020]
进一步地,所述负荷预测模型的未来时刻特征数据探索层基于多任务学习网络架构和长短期记忆网络构建;所述负荷预测模型的历史时刻特征数据嵌入层基于长短期记忆网络构建;所述预测模型的负荷预测层基于全自注意力网络和多层感知机构建。
[0021]
进一步地,所述将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与所述负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果之前,还包括:
[0022]
对所述特征数据进行预处理;所述预处理包括:确定各个类型的特征数据与所述数据中心的负荷数据之间的各个最大互信息系数,将最大互信系数小于阈值的特征数据删除。
[0023]
第二方面,本发明实施例还提供了一种数据中心的负荷预测装置,包括:
[0024]
获取模块,用于获取多个历史时刻的目标数据;所述目标数据包括数据中心的负荷数据及多个类型的与所述负荷数据相关的特征数据;
[0025]
预测模块,用于将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与所述负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果;所述模型用于基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测;所述负荷预测模型是基于第一时刻的目标数据、第二时刻的目标数据和预测出的第二时刻的目标数据训练得到的。
[0026]
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述数据中心的负荷预测方法。
[0027]
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有
计算机程序,所述计算机程序被处理器执行时实现如第一方面所述数据中心的负荷预测方法。
[0028]
第五方面,本发明实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述数据中心的负荷预测方法。
[0029]
本发明实施例提供的数据中心的负荷预测方法、装置、设备和存储介质,通过获取多个历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据,并将其输入至负荷预测模型进行数据中心负荷的预测,实现了基于历史时刻的目标数据和预测得到的未来时刻的特征数据进行数据中心负荷的预测,也就是在预测数据中心负荷的过程中不仅学习历史特征数据之间的关联性,还充分挖掘出未来时刻的有价值的特征数据进行数据中心负荷的预测,使得负荷预测结果更加准确。
附图说明
[0030]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]
图1是本发明实施例提供的数据中心的负荷预测方法的流程示意图;
[0032]
图2是本发明实施例提供的数据中心的负荷预测方法的示意图;
[0033]
图3是本发明实施例提供的数据中心负荷预测模型;
[0034]
图4是本发明实施例提供的数据中心的负荷预测装置的结构示意图;
[0035]
图5是本发明实施例提供的电子设备的结构示意图。
具体实施方式
[0036]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037]
本发明实施例的方法可以应用于数据中心场景中,实现数据中心的负荷预测。
[0038]
相关技术中,仅仅通过历史数据进行未来时刻数据中心负荷的预测,即只是通过历史时刻的冷却系统数据、it设备、天气等数据进行未来时刻数据中心负荷的预测,使得数据中心的负荷预测结果准确性较低。
[0039]
本发明实施例的数据中心的负荷预测方法,通过获取多个历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据,并将其输入至负荷预测模型进行数据中心负荷的预测,实现了基于历史时刻的目标数据和预测得到的未来时刻的特征数据进行数据中心负荷的预测,也就是在预测数据中心负荷的过程中不仅学习历史特征数据之间的关联性,还充分挖掘出未来时刻的有价值的特征数据进行数据中心负荷的预测,使得负荷预测结果更加准确。
[0040]
下面结合图1-图5以具体的实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘
述。
[0041]
图1是本发明实施例提供的数据中心的负荷预测方法一实施例的流程示意图。如图1所示,本实施例提供的方法,包括:
[0042]
步骤101、获取多个历史时刻的目标数据;目标数据包括数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;
[0043]
具体地,相关技术中,通过历史数据进行未来时刻数据中心负荷的预测,即只是通过历史时刻的冷却系统、it设备、天气等特征数据进行未来时刻数据中心负荷的预测,缺乏对预测时刻与负荷相关的特征数据的充分利用,使得数据中心的负荷预测结果准确性较低。
[0044]
为了解决上述问题,本发明实施例首先获取多个历史时刻的负荷数据及多个类型的与负荷数据相关的特征数据,其中,与负荷数据相关的特征数据为影响数据中心负荷的因素,如数据中心的进气口温度、冷却塔排水量等。
[0045]
步骤102、将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果;模型用于基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测;负荷预测模型是基于第一时刻的目标数据、第二时刻的目标数据和预测出的第二时刻的目标数据训练得到的
[0046]
具体地,在获取到待预测时刻之前多个历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据后,本发明实施例中通过将多个历史时刻的负荷数据及特征数据输入训练后的负荷预测模型,得到数据中心的负荷预测结果;其中,负荷预测模型用于基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测,也就是在对未来时刻的数据中心的负荷进行预测的过程中,不仅仅只是基于历史时刻的目标数据进行数据中心负荷的预测,而是基于历史时刻的目标数据和预测得到的未来时刻特征数据进行数据中心负荷的预测,也就是在预测数据中心负荷的过程中不仅学习历史特征数据之间的关联性,还充分挖掘出未来时刻的有价值的特征数据进行数据中心负荷的预测,使得负荷预测结果更加准确。
[0047]
例如,通过预测未来时刻的一些因素,如未来时刻的冷却塔排水量等,其中,预测得到的未来时刻的冷却塔排水量对于未来时刻的冷却系统的负荷具有很强的相关性,通过预测提前得到这类特征数据将会对数据中心整体负荷预测产生极大的帮助,提高数据中心负荷预测的准确性。如图2所示,相关技术中,未来时刻有价值的特征数据x
t+1
无法被提前获取到,且现有预测模型仅学习历史特征x1至x
t
之间的关联性而没有充分挖掘出未来时刻的有用的特征数据x
t+1
,从而导致模型性能受限。本发明实施例中的负荷预测模型模型能够从众多历史时刻的特征数之间捕捉动态依赖关系从而探索出有价值的未来时刻的特征数据,并根据探索出的未来时刻的特征数据指导负荷进行更加精准的预测,提升了数据中心负荷预测的准确性。
[0048]
上述实施例的方法,通过获取多个历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据,并将其输入至负荷预测模型进行数据中心负荷的预测,实现了基于历史时刻的目标数据和预测得到的未来时刻的特征数据进行数据中心负荷的预测,也就是在预测数据中心负荷的过程中不仅学习历史特征数据之间的关联性,还充分挖掘出
未来时刻的有价值的特征数据进行数据中心负荷的预测,使得负荷预测结果更加准确。
[0049]
在一实施例中,将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果,包括:
[0050]
将历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据输入负荷预测模型的未来时刻特征数据探索层,得到预测出的未来时刻的特征数据;
[0051]
将历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据输入负荷预测模型的历史时刻特征数据嵌入层,得到历史时刻的目标数据向量;
[0052]
将历史时刻的目标数据向量和预测出的未来时刻的特征数据输入负荷预测模型的负荷预测层,得到数据中心的负荷预测结果。
[0053]
具体地,本发明实施例将历史时刻的负荷数据和特征数据输入负荷预测模型的未来时刻特征数据探索层,得到预测出的未来时刻的特征数据,从而也就可以基于历史时刻的目标数据和预测得到的未来时刻的特征数据进行数据中心负荷的预测,有效提升负荷预测的精准度。
[0054]
例如,将多个历史时刻的目标数据x={y1,y2,...,y
t
}输入负荷预测模型的未来时刻特征数据探索层,得到预测出的未来时刻的特征数据,其中,其中其中m表示输入的目标数据中的元素的数量,如目标数据中特征数据的数量为10,再加上目标数据中数据中心负荷数据的数量为1,则m为11;t表示输入序列时间步长,也就是多个时刻的目标数据。
[0055]
为了基于输入的历史时刻的目标数据准确的预测未来时刻的特征数据,可选地,通过多任务学习网络架构和长短期记忆网络构建负荷预测模型的未来时刻特征数据探索层,即使用多任务学习构建的预测模型的未来时刻特征数据探索层,准确的预测未来时刻的特征数据,其中,基于长短期记忆网络的多任务学习可以利用历史数据中的有用信息来帮助分析多种类型的未来数据,可选地,利用t个历史时刻的目标数据预测未来时刻的特征数据,即利用前t个时间步长的m维时间序列数据x={y1,y2,...,y
t
}预测下一个时间步长t+1时刻的特征数据k表示输出的目标数据中的元素的数量,如输出目标数据中特征数据的数量为5,再加上目标数据中数据中心负荷数据的数量为1,则k为6;也就是基于影响数据中心负荷的各个因素的时序性特点,建模多元时间序列之间的交互关系,从众多历史特征数据之间捕捉动态依赖关系探索出有价值的未来时刻的特征数据,进而基于探索出的未来时刻的特征数据就可以对数据中心的负荷进行更加准确的预测。
[0056]
上述实施例的方法,通过将历史时刻的负荷数据和特征数据输入预测模型的未来时刻特征数据探索层,得到预测出的未来时刻的特征数据,进而就可以基于历史时刻的目标数据和预测得到的未来时刻的特征数据进行数据中心负荷的预测,有效提升负荷预测的精准度。
[0057]
在一实施例中,将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果之
前,还包括:
[0058]
将第一时刻的目标数据输入负荷预测模型,得到预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;
[0059]
根据获取到的第二时刻的目标数据和预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据,对负荷预测模型进行训练,得到训练后的负荷预测模型。
[0060]
具体地,为了使得负荷预测模型可以准确的进行未来时刻特征数据的预测,并基于历史时刻的目标数据和预测出的未来时刻的特征数据准确地进行数据中心负荷的预测,本发明实施例基于第一时刻的目标数据、第二时刻的目标数据和预测出的第二时刻的目标数据对负荷预测模型进行训练,可选地,将第一时刻的目标数据输入负荷预测模型,得到预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;根据获取到的第二时刻的目标数据和预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据,对负荷预测模型进行训练,得到训练后的负荷预测模型;其中,第一时刻的目标数据可以为多个历史时刻的目标数据;可选地,在获取到的真实的第二时刻的目标数据与预测出的第二时刻的目标数据之间的差距大于预设值的情况下,表明预测出的第二时刻的特征数据和预测出的第二时刻的数据中心的负荷与真实的第二时刻的特征数据和数据中心的负荷相差较大,需要继续对负荷预测模型进行训练;可选地,在获取到的真实的第二时刻的目标数据与预测出的第二时刻的目标数据之间的差距小于或等于预设值的情况下,表明预测出的第二时刻的特征数据和预测出的第二时刻的数据中心的负荷与真实的第二时刻的特征数据和数据中心的负荷一致,则训练后的负荷预测模型可以准确进行未来时刻的特征数据的预测,并可以基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行准确的预测。
[0061]
例如,获取多个历史时刻的目标数据,包括数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;然后对获取的历史时刻的目标数据进行预处理,得到训练数据集,进而将训练数据集输入到构建的基于多任务学习与长短期记忆网络的模型中训练,得到负荷预测模型;从而利用负荷预测模型就可以基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测;可选地,对获取的历史时刻的目标数据进行预处理,得到训练数据集,包括:确定各个类型的特征数据与所述数据中心的负荷数据之间的各个最大互信息系数,将最大互信系数小于阈值的特征数据删除;将目标数据进行归一化;将归一化数据的序列转化为根据前若干个时间点预测下一个时间点的值;将数据集按比例划分为训练集、验证集和测试集。
[0062]
上述实施例的方法,通过将第一时刻的目标数据输入负荷预测模型,得到预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;根据获取到的第二时刻的目标数据和预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据,对负荷预测模型进行训练,使得训练后的负荷预测模型可以准确的进行未来时刻的特征数据的预测,并基于历史时刻的目标数据和预测出的未来时刻的特征数据准确地进行数据中心负荷的预测,提升了数据中心负荷预测的准确性。
[0063]
在一实施例中,根据获取到的第二时刻的目标数据和预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据,对负荷预测模型进行训练,得到
训练后的负荷预测模型,包括:
[0064]
利用如下损失函数对负荷预测模型进行训练:
[0065][0066]
n表示n个数据中心的目标数据样本;k表示目标数据维数;表示t+1时刻第j个目标数据样本中的第i个类型的特征数据的预测值,表示t+1时刻第j个目标数据样本中的第i个类型的特征数据的真实值。
[0067]
具体地,本发明实施例中通过损失函数对负荷预测模型进行训练,即通过损失函数对负荷模型预测出的未来时刻的数据特征和数据中心负荷的准确性进行评估;可选地,在获取到的真实的第二时刻的目标数据与预测出的第二时刻的目标数据之间的差距大于预设值的情况下,也就是t+1时刻第j个目标数据样本中的第i个类型的特征数据的预测值与t+1时时刻第j个目标数据样本中的第i个类型的特征数据的真实值之间的差距大于预设值的情况下,表明预测出的第二时刻的特征数据和预测出的第二时刻的数据中心的负荷与真实的第二时刻的特征数据和数据中心的负荷相差较大,需要继续对负荷预测模型进行训练;可选地,在获取到的真实的第二时刻的目标数据与预测出的第二时刻的目标数据的差距小于或等于预设值的情况下,也就是t+1t+1时刻第j个目标数据样本中的第i个类型的特征数据的预测值与t+1时刻第j个目标数据样本中的第i个类型的特征数据的真实值之间的差距小于或等于预设值的情况下,表明预测出的第二时刻的特征数据和预测出的第二时刻的数据中心的负荷与真实的第二时刻的特征数据和数据中心的负荷一致,则基于损失函数训练后的负荷预测模型可以准确地进行未来时刻的特征数据的预测,并可以基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行准确的预测。
[0068]
上述实施例的方法,通过损失函数对负荷模型预测出的未来时刻的特征数据和数据中心负荷的准确性进行评估,并根据评估结果对负荷预测模型进行训练,使得训练后的负荷预测模型可以准确的进行未来时刻的特征数据的预测及数据中心负荷的预测,提升了数据中心负荷预测的准确性。
[0069]
在一实施例中,负荷预测模型的未来时刻特征数据探索层基于多任务学习网络架构和长短期记忆网络构建;负荷预测模型的历史时刻特征数据嵌入层基于长短期记忆网络构建;预测模型的负荷预测层基于全自注意力网络和多层感知机构建。
[0070]
具体地,为了基于输入的历史时刻的目标数据准确的预测未来时刻的特征数据,可选地,负荷预测模型的未来时刻特征数据探索层基于多任务学习网络架构和长短期记忆网络层构建,即使用基于长短期记忆网络的多任务学习架构构建的预测模型的未来时刻特征数据探索层,从而准确的预测出未来时刻的特征数据,其中,多任务学习可以利用历史数据中的有用信息来帮助学习多个类型的未来数据。可选地,将多个历史时刻的目标数据x={y1,y2,...,y
t
}作为输入,采用基于shared-bottom的多任务学习模型学习多个输入历史特
征到多个未来特征之间的非线性映射关系,模型中存在多个预测子任务,每个子任务进行不同影响因素的预测从而探索出有价值的未来时刻的特征数据,即不同子任务用来预测不同类型的特征数据,一个子任务预测一个类型的特征数据。可选地,由长短期记忆网络构成模型共享层,进行特征交互耦合并挖掘出多个因素之间的共享时序特征,具体计算公式如下所示:
[0071]ft
=σ(wf·
[h
t-1
,x
t
]+bf);
[0072][0073][0074]it
=σ(wi·
[h
t-1
,x
t
]+bi);
[0075]ot
=σ(wo·
[h
t-1
,x
t
]+bo);
[0076]ht
=o
t
·
tanh(c
t
);
[0077]
可选地,不同子任务用来预测不同类型的特征数据,不同子任务采用不同的全连接层实现对共享特征的差异化选择,并通过调整全连接层的神经元个数适用于不同复杂程度的预测任务,提高模型对不同子任务的泛化能力,输出k-1维向量的特征数据表示探索出的k-1个未来时刻特征数据,也就是得到预测出的未来时刻的与负荷相关的特征数据具体如下公式:
[0078][0079][0080]
可选地,负荷预测模型的历史时刻特征数据嵌入层基于长短期记忆网络构建,即将历史时刻的特征数据及负荷序列作为输入,利用具有时间序列记忆特性的长短期记忆网络结构的循环层建模历史特征数据之间的复杂关联性,并利用学习到的最后一个时间步长的隐藏状态h
t
作为历史特征的低维向量表示,得到历史时刻的目标数据向量。
[0081]
可选地,预测模型的负荷预测层基于全自注意力网络transformer block和多层感知机构建,可选地,将预测出的未来时刻的特征数据和嵌入的历史特征数据h
t
作为输入,采用多任务自适应组合策略通过transformer block和多层感知机自发地从多个子任务中关注并组合关键信息,从而外推并预测出未来时刻的数据中心的负荷
[0082]
可选地,本发明实施例中利用相比有残差结构和卷积结构的深度学习模型网络结构更加简单、训练和推理速度更快的transformer block来并行计算并提取输入多个任务中的关键信息。其中,多头注意力机制(multi-head attention)是h组不同的查询(query)、键值(key)和值(value)矩阵被分别计算放缩点积注意力(scaled dot-product attention)后,再通过矩阵拼接和线性变换的一种映射函数,每一组矩阵所关注的特征均有所不同,通过多次的注意力处理,能够实现准确的特征组合。可选地,将多个子任务预测出的未来时刻的特征数据转化为key和value矩阵,将历史时刻的目标数据,即嵌入的
历史特征h
t
转化为query矩阵进行缩放点积注意力,从而自适应筛选未来特征中所需要的关键信息,并抑制其它无用的信息。
[0083][0084]
第i个缩放点积注意力头的计算公式如上所示,其中qi、ki和vi分别表示第i个注意力头的query矩阵、key矩阵和value矩阵,d
ki
表示qi与ki的维度。由多个缩放点积注意力头组成的多头注意力计算公式如下所示。其中,w0代表线性变换系数矩阵。
[0085]
multiheadattention(q,k,v)=concat(head1,

,headh)
·
w0[0086]
将得到的多头注意力输出和输入特征h
t
经过残差连接再经过层归一化得到z1,将z1通过两层全连接层和残差连接再经过层归一化得到transformer block结构的输出z2,其中,w1、w2、b2和b2代表transformer block中全连接层的权重和偏置。
[0087][0088]
z2=layernorm(z1+relu(z1w1+b1)w2+b2)
[0089]
之后,再通过多层感知机将z2进行维度转换得到预测的负荷特征其中,w3、w4、b3和b4代表多层感知机中全连接层的权重和偏置。
[0090][0091]
从而也就实现了基于历史时刻的目标数据和预测出的未来时刻的特征数据进行数据中心负荷的预测,提升了数据中心负荷预测的准确性。
[0092]
示例性的,如图3所示的数据中心负荷预测模型,模型结构分为三个模块:未来特征探索模块、历史特征嵌入模块和负荷预测模块,其中,未来特征探索模块对应负荷预测模型的未来时刻特征数据探索层;历史特征嵌入模块对应负荷预测模型的历史时刻特征数据嵌入层,负荷预测模块对应负荷预测模型的负荷预测层;可选地,未来特征探索模块和历史特征嵌入模块可以同时对历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据进行处理,以提高数据中心负荷预测的效率。
[0093]
未来特征探索模块从历史影响因素(历史时刻的特征数据)中探索出有价值的未来时刻的特征数据,负荷预测模块利用探索出的未来特征数据与嵌入的历史时刻的特征数据进行多任务自适应组合与非线性变换预测出未来时刻数据中心的负荷。
[0094]
上述实施例的方法,通过多任务学习构建负荷预测模型的未来时刻特征数据探索层,通过长短期记忆网络构建预测模型的历史时刻特征数据嵌入层,通过transformer block网络和多层感知机构建预测模型的负荷预测层,使得构建出的预测模型可以从众多历史影响因素之间的复杂交互关系从而探索出有价值的未来特征;并利用探索出的特征帮助历史影响因素有效地指导负荷预测,实现了基于历史时刻的目标数据和预测出的未来时刻的特征数据进行数据中心负荷的预测,提升了数据中心负荷预测的准确性。
[0095]
在一实施例中,将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果之前,还包括:
[0096]
对特征数据进行预处理;预处理包括:确定各个类型的特征数据与数据中心的负
荷数据之间的各个最大互信息系数,将最大互信系数小于阈值的特征数据删除。
[0097]
具体地,由于影响数据中心负荷的影响因素较多,即与数据中心负荷数据相关的特征数据较多,且特征数据分布不同、特征数据之间相关程度也不同,将所有因素(特征数据)都作为预测子任务进行未来时刻特征数据的预测会导致负荷预测模型泛化能力和训练效率低下,因此,本发明实施例中选取与负荷数据高度相关的k-1个因素(特征数据)进行预测从而快速提升负荷的预测精度。
[0098]
可选地,为了进一步分析数据、降低庞大的特征信息可能引发的复杂性,本发明对获取到的历史时刻的目标数据进行预处理。可选地,首先进行历史时刻的目标数据进行清洗,并对清洗后的历史时刻的目标数据利用最大互信息系数(maximal information coefficient,mic)进行特征选择,选择mic值大于等于0.6的与数据中心负荷数据具有相关性的特征数据作为输入进行负荷预测模型的训练;同时,选择mic值大于等于0.9的与负荷强相关的特征数据作为子任务进行预测,防止子任务数量过多导致模型泛化能力和训练速度欠佳的问题。
[0099]
上述实施例的方法,通过对获取到的历史时刻的特征数据进行预处理,即通过将最大互信系数小于阈值的特征数据删除,降低庞大的特征信息可能引发的复杂性,从而提升负荷预测模型的泛化能力和训练效率。
[0100]
示例性的,为了验证本发明提供的数据中心负荷预测方法的有效性,采用energyplus能耗模拟平台对数据中心场景进行建模,模拟出一个557平米的数据中心区域,并基于真实的天气数据收集数据中心一年每小时的负荷及其相关数据,总计8567条数据样本,每条数据样本包含73个负荷特征,具体特征描述如表1所示。
[0101]
表1
[0102][0103]
为了进一步分析数据、降低庞大的特征信息可能引发的复杂性,需要进行数据预处理。首先,进行数据清洗,并对清洗后的数据利用最大互信息系数(maximal information coefficient,mic)进行特征选择,选择mic值大于等于0.6的40个与数据中心负荷具有相关性的特征作为输入进行模型的训练。同时,选择与负荷强相关的15个特征作为子任务进行预测(mic值大于等于0.9),防止子任务数量过多导致模型泛化能力和训练速度欠佳的问题,模型最终预测出的特征数据如表2所示。其次,将数据归一化为0到1之间的值。然后,将归一化数据的序列转化为根据前24个时间点预测下一个时间点的值。最后,将预处理后的数据集分为训练集(80%)、验证集(10%)和测试集(10%)。在本实施例中,样本数量n为8567,模型输入时间序列长度t选取24,模型输入维度m选取41,模型输出维度k选取16。
[0104]
表2
[0105][0106]
接下来,为了验证所提方法的有效性和普适性,本发明选择了六种常见的负荷预测模型(aru、varm、lstmu、lstmm、bi-lstmm、transformerm)与所提模型(feature exploration and multi-task adaptive combination,fe-mtacm)相比较,更全面地验证所提的数据中心负荷预测方法能够有效的降低预测误差。
[0107]
aru:输入一维时间序列的自回归模型(autoregression,ar),输入数据仅为历史负荷序列。
[0108]
varm:输入多元时间序列的向量自回归模型(vector autoregressive,var),输入数据包括历史负荷及相关因素序列。
[0109]
lstmu:输入一维时间序列的lstm模型,输入数据仅为历史负荷序列。
[0110]
lstmm:输入多元时间序列的lstm模型,输入数据包括历史负荷及相关因素序列。
[0111]
bi-lstmm:输入多元时间序列的bi-lstm模型,输入数据包括历史负荷及相关因素序列。
[0112]
transformerm:输入多元时间序列的transformer模型,输入数据包括历史负荷及相关因素序列。
[0113]
此外,本发明采用三种常见预测评价指标对模型性能进行评估。其中mae和rmse可以用来定量衡量预测误差,mape用来量化预测值相对于真实值的百分比误差,它们的表达
式如下:
[0114]
平均绝对误差(mean absolute error,mae):
[0115][0116]
均方根误差(root mean square error,rmse):
[0117][0118]
平均绝对百分比误差(mean absolute percentage error,mape):
[0119][0120]
其中yi表示第i个样本的真实值,表示第i个样本的预测值。
[0121]
在本实施例中,仿真实验是在4核、1.8ghz、16g的设备上进行的,并且使用pytorch1.10.2的深度学习框架构建神经网络。将本发明提出的fe-mtacm模型和六种基准模型进行对比实验,具体实验结果如表3所示。
[0122]
表3
[0123][0124]
由aru和varm、lstmu和lstmm模型的实验结果表明,加入数据中心负荷相关特征有助于提升负荷预测精度,varm模型的rmse相比aru降低了6.74%、lstmm模型的rmse相比lstmu降低了5.48%。同时,在上述多元时序预测实验中本发明提出的fe-mtacm模型效果最
好,相比lstmm和transformerm的rmse分别降低了5.17%和5.01%。由此可见,本实施例通过探索负荷相关的未来特征并指导历史特征进行负荷预测,突破了传统模型对数据的挖掘能力,明显提升了模型的预测准确度。
[0125]
下面对本发明提供的数据中心的负荷预测装置进行描述,下文描述的数据中心的负荷预测装置与上文描述的数据中心的负荷预测方法可相互对应参照。
[0126]
图4是本发明提供的数据中心的负荷预测装置的结构示意图。本实施例提供数据中心的负荷预测装置,包括:
[0127]
获取模块710,用于获取多个历史时刻的目标数据;目标数据包括数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;
[0128]
预测模块720,用于将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果;模型用于基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测;负荷预测模型是基于第一时刻的目标数据、第二时刻的目标数据和预测出的第二时刻的目标数据训练得到的。
[0129]
可选地,所述预测模块720,具体用于:将历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据输入负荷预测模型的未来时刻特征数据探索层,得到预测出的未来时刻的特征数据;
[0130]
将历史时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据输入负荷预测模型的历史时刻特征数据嵌入层,得到历史时刻的目标数据向量;
[0131]
将历史时刻的目标数据向量和预测出的未来时刻的特征数据输入负荷预测模型的负荷预测层,得到数据中心的负荷预测结果。
[0132]
可选地,所述预测模块720,具体用于:将第一时刻的目标数据输入负荷预测模型,得到预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;
[0133]
根据获取到的第二时刻的目标数据和预测出的第二时刻的数据中心的负荷数据及多个类型的与负荷数据相关的特征数据,对负荷预测模型进行训练,得到训练后的负荷预测模型。
[0134]
可选地,所述预测模块720,具体用于:利用如下损失函数对负荷预测模型进行训练:
[0135][0136]
n表示n个数据中心的目标数据样本;k表示目标数据维数;表示t+1时刻第j个目标数据样本中的第i个类型的特征数据的预测值,表示t+1时刻第j个目标数据样本中的第i个类型的特征数据的真实值。
[0137]
可选地,负荷预测模型的未来时刻特征数据探索层基于多任务学习网络架构和长短期记忆网络构建;负荷预测模型的历史时刻特征数据嵌入层基于长短期记忆网络构建;预测模型的负荷预测层基于transformer block网络和多层感知机构建。
[0138]
本发明实施例的装置,其用于执行前述任一方法实施例中的方法,其实现原理和
技术效果类似,此次不再赘述。
[0139]
图5示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)810、通信接口(communications interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行数据中心的负荷预测方法,该方法包括:获取多个历史时刻的目标数据;目标数据包括数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果;模型用于基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测;负荷预测模型是基于第一时刻的目标数据、第二时刻的目标数据和预测出的第二时刻的目标数据训练得到的。
[0140]
此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0141]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的数据中心的负荷预测方法,该方法包括:获取多个历史时刻的目标数据;目标数据包括数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果;模型用于基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测;负荷预测模型是基于第一时刻的目标数据、第二时刻的目标数据和预测出的第二时刻的目标数据训练得到的。
[0142]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的数据中心的负荷预测方法,该方法包括:获取多个历史时刻的目标数据;目标数据包括数据中心的负荷数据及多个类型的与负荷数据相关的特征数据;将待预测时刻之前多个历史时刻的数据中心负荷及多个类型的与负荷数据相关的特征数据输入到训练后的负荷预测模型,得到数据中心负荷预测结果;模型用于基于历史时刻的目标数据和预测出的未来时刻的特征数据,对未来时刻的数据中心的负荷进行预测;负荷预测模型是基于第一时刻的目标数据、第二时刻的目标数据和预测出的第二时刻的目标数据训练得到的。
[0143]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0144]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0145]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1