本公开涉及云计算数据,尤其涉及一种工作负载生成的方法及装置、电子设备和存储介质。
背景技术:
1、工作负载可以认为是云计算环境下的虚拟机或是容器,每个工作负载有以下三个基本属性:工作负载请求到达时间,指的是用户发起工作负载创建的时间;工作负载的规格,用于描述工作负载的资源属性,如虚拟中央处理器(virtual central processingunit,vcpu)数量、内存大小;工作负载存活时间,指的工作负载从创建到消亡的时间。
2、现有技术中的工作负载生成方法,通常使用回归模型对工作负载请求到达时间内的到达批次大小进行建模,并基于循环神经网络(recurrent neural networks,rnn)模型预测工作负载的规格和存活时间,导致生成和预测的批次大小与真实的场景存在误差,且对长时间工作负载序列的预测与生成效果较差,精度较低。
技术实现思路
1、本公开提供了一种工作负载生成的方法及装置、电子设备和存储介质。其主要目的在于解决现有技术中的工作负载生成方法,通常使用回归模型对工作负载请求到达时间内的到达批次大小进行建模,并基于循环神经网络(recurrent neural networks,rnn)模型预测工作负载的规格和存活时间,导致生成和预测的批次大小与真实的场景存在误差,且对长时间工作负载序列的预测与生成效果较差,精度较低的问题。
2、根据本公开的第一方面,提供了一种工作负载生成的方法,其中,包括:
3、将获取的时间信息通过第一预设预处理规则进行预处理,得到第一向量维度的第一时间向量,所述时间信息为生成工作负载的时间,所述第一时间向量通过对生成所述工作负载的时间段信息进行编码得到,所述工作负载的时间段信息根据所述时间信息确定;
4、将所述第一时间向量与第二向量维度的随机向量进行合并处理,得到输入向量,并将所述输入向量输入至预设批次模型,得到所述时间段信息对应的负载数量,所述随机向量为随机生成的任一向量;
5、将获取的第一预设数量的历史负载数据通过第二预设处理规则进行预处理,得到负载输入数据,所述历史负载数据为在所述时间段信息之前的连续相邻时间段内生成的连续工作负载;
6、基于所述负载数量,将所述负载输入数据输入至预设预测模型,生成数量与所述负载数量一致的工作负载。
7、可选的,所述将获取的时间信息通过第一预设预处理规则进行预处理,得到第一向量维度的第一时间向量包括:
8、对所述时间信息按照预设时间段进行归一化处理,得到对应的时间编码;
9、根据所述第一向量维度对所述时间编码进行转化,得到所述第一向量维度的所述第一时间向量。
10、可选的,所述基于所述负载数量,将预设数量的历史负载数据输入至预设预测模型,生成数量与所述负载数量一致的工作负载包括:
11、将所述负载输入数据输入至所述预设预测模型,生成对应的第一工作负载;
12、将所述负载输入数据中,生成时间最早的一个历史负载数据对应的负载输入数据进行删除,得到删除后的负载输入数据;
13、将所述删除后的负载输入数据与所述第一工作负载进行合并处理,得到更新负载数据;
14、将所述更新负载数据输入至所述预设预测模型,生成对应的第二工作负载,直至生成数量与所述负载数量一致的工作负载。
15、可选的,所述将获取的第一预设数量的历史负载数据通过第二预设处理规则进行预处理,得到负载输入数据包括:
16、获取所述时间段信息之前的连续相邻时间段内,生成的连续工作负载,得到所述历史负载数据,所述历史负载数据至少包含负载规格以及负载存活时间;
17、将所述负载规格通过预设编码方式进行编码,以及将所述负载存活时间进行去均值与方差归一化处理,得到所述负载输入数据。
18、可选的,所述预设批次模型的训练方法包括:
19、获取第二预设数量的训练用负载数据,所述训练用负载数据至少包含负载创建时间段以及对应的训练用负载数量,所述负载创建时间段的时长与所述时间段信息内的时间段时长相同;
20、将所述负载创建时间段通过线性层进行嵌入处理,得到对应的第三向量维度的第二时间向量,并将所述第二时间向量与第四向量维度的训练用随机向量进行合并处理,得到第一训练用输入向量,所述训练用随机向量为随机生成的任一向量;
21、将所述第一训练用输入向量输入至预设生成器模型中,得到所述负载创建时间段对应的新生成负载数量,并将所述第二时间向量与所述新生成负载数量进行向量化处理,得到第二训练用输入向量;
22、将所述第二时间向量与所述训练用负载数量进行向量化处理,得到对比用输入向量,并将所述对比用输入向量以及所述第二训练用输入向量输入至预设判别器模型中,得到所述新生成负载数量与所述训练用负载数量之间的差异值;
23、直至所述差异值小于等于预设差异阈值,得到训练好的生成器模型以及训练好的判别器模型,并将所述训练好的生成器模型作为训练好的预设批次模型。
24、可选的,所述预设预测模型的训练方法包括:
25、获取第三预设数量的连续相邻时间段内生成的连续工作负载,得到历史负载数据集;
26、将所述历史负载数据集通过预设切分方法进行切分,得到对应的训练用历史负载数据以及验证用历史负载数据,所述训练用历史负载数据至少包含训练用负载规格以及训练用负载存活时间;
27、将所述训练用负载规格通过预设编码方式进行编码,以及将所述训练用负载存活时间进行去均值与方差归一化处理,得到训练用负载输入数据;
28、将所述训练用负载输入数据输入至所述预设预测模型,生成数量与所述验证用历史负载数据的数量一致的训练用工作负载;
29、将所述训练用工作负载与所述验证用历史负载数据进行对比,得到负载重复率,直至所述负载重复率大于等于预设概率阈值,得到训练好的预设预测模型。
30、可选的,所述将所述训练用负载输入数据输入至所述预设预测模型,生成数量与所述验证用历史负载数据的数量一致的训练用工作负载包括:
31、将所述训练用负载输入数据输入至所述预设预测模型,生成对应的训练用第一工作负载;
32、将所述训练用负载输入数据中,生成时间最早的一个训练用历史负载数据对应的训练用负载输入数据进行删除,得到删除后的训练用负载输入数据;
33、将所述删除后的训练用负载输入数据与所述训练用第一工作负载进行合并处理,得到训练用更新负载数据;
34、将所述训练用更新负载数据输入至所述预设预测模型,生成对应的训练用第二工作负载,直至生成数量与所述验证用历史负载数据的数量一致的训练用工作负载。
35、根据本公开的第二方面,提供了一种工作负载生成的装置,包括:
36、第一处理单元,用于将获取的时间信息通过第一预设预处理规则进行预处理,得到第一向量维度的第一时间向量,所述时间信息为生成工作负载的时间,所述第一时间向量通过对生成所述工作负载的时间段信息进行编码得到,所述工作负载的时间段信息根据所述时间信息确定;
37、合并单元,用于将所述第一时间向量与第二向量维度的随机向量进行合并处理,得到输入向量;
38、第一输入单元,用于将所述输入向量输入至预设批次模型,得到所述时间段信息对应的负载数量,所述随机向量为随机生成的任一向量;
39、第二处理单元,用于将获取的第一预设数量的历史负载数据通过第二预设处理规则进行预处理,得到负载输入数据,所述历史负载数据为在所述时间段信息之前的连续相邻时间段内生成的连续工作负载;
40、第二输入单元,用于基于所述负载数量,将所述负载输入数据输入至预设预测模型,生成数量与所述负载数量一致的工作负载。
41、可选的,所述第一处理单元包括:
42、处理模块,用于对所述时间信息按照预设时间段进行归一化处理,得到对应的时间编码;
43、转化模块,用于根据所述第一向量维度对所述时间编码进行转化,得到所述第一向量维度的所述第一时间向量。
44、可选的,所述第二输入单元包括:
45、输入模块,用于将所述负载输入数据输入至所述预设预测模型,生成对应的第一工作负载;
46、删除模块,用于将所述负载输入数据中,生成时间最早的一个历史负载数据对应的负载输入数据进行删除,得到删除后的负载输入数据;
47、合并模块,用于将所述删除后的负载输入数据与所述第一工作负载进行合并处理,得到更新负载数据;
48、生成模块,用于将所述更新负载数据输入至所述预设预测模型,生成对应的第二工作负载,直至生成数量与所述负载数量一致的工作负载。
49、可选的,所述第二处理单元包括:
50、获取模块,用于获取所述时间段信息之前的连续相邻时间段内,生成的连续工作负载,得到所述历史负载数据,所述历史负载数据至少包含负载规格以及负载存活时间;
51、处理模块,用于将所述负载规格通过预设编码方式进行编码,以及将所述负载存活时间进行去均值与方差归一化处理,得到所述负载输入数据。
52、可选的,所述装置还包括:
53、第一获取单元,用于获取第二预设数量的训练用负载数据,所述训练用负载数据至少包含负载创建时间段以及对应的训练用负载数量,所述负载创建时间段的时长与所述时间段信息内的时间段时长相同;
54、第三处理单元,用于将所述负载创建时间段通过线性层进行嵌入处理,得到对应的第三向量维度的第二时间向量,并将所述第二时间向量与第四向量维度的训练用随机向量进行合并处理,得到第一训练用输入向量,所述训练用随机向量为随机生成的任一向量;
55、第三输入单元,用于将所述第一训练用输入向量输入至预设生成器模型中,得到所述负载创建时间段对应的新生成负载数量;
56、所述第三处理单元还用于,将所述第二时间向量与所述新生成负载数量进行向量化处理,得到第二训练用输入向量;
57、所述第三处理单元还用于,将所述第二时间向量与所述训练用负载数量进行向量化处理,得到对比用输入向量;
58、所述第三输入单元还用于,将所述对比用输入向量以及所述第二训练用输入向量输入至预设判别器模型中,得到所述新生成负载数量与所述训练用负载数量之间的差异值;
59、训练单元,用于直至所述差异值小于等于预设差异阈值,得到训练好的生成器模型以及训练好的判别器模型,并将所述训练好的生成器模型作为训练好的预设批次模型。
60、可选的,所述装置还包括:
61、第二获取单元,用于获取第三预设数量的连续相邻时间段内生成的连续工作负载,得到历史负载数据集;
62、切分单元,用于将所述历史负载数据集通过预设切分方法进行切分,得到对应的训练用历史负载数据以及验证用历史负载数据,所述训练用历史负载数据至少包含训练用负载规格以及训练用负载存活时间;
63、第四输入单元,用于将所述训练用负载输入数据输入至所述预设预测模型,生成数量与所述验证用历史负载数据的数量一致的训练用工作负载;
64、对比单元,用于将所述训练用工作负载与所述验证用历史负载数据进行对比,得到负载重复率,直至所述负载重复率大于等于预设概率阈值,得到训练好的预设预测模型。
65、可选的,所述第四输入单元包括:
66、输入模块,用于将所述训练用负载输入数据输入至所述预设预测模型,生成对应的训练用第一工作负载;
67、删除模块,用于将所述训练用负载输入数据中,生成时间最早的一个训练用历史负载数据对应的训练用负载输入数据进行删除,得到删除后的训练用负载输入数据;
68、合并模块,用于将所述删除后的训练用负载输入数据与所述训练用第一工作负载进行合并处理,得到训练用更新负载数据;
69、生成模块,用于将所述训练用更新负载数据输入至所述预设预测模型,生成对应的训练用第二工作负载,直至生成数量与所述验证用历史负载数据的数量一致的训练用工作负载。
70、根据本公开的第三方面,提供了一种电子设备,包括:
71、至少一个处理器;以及
72、与所述至少一个处理器通信连接的存储器;其中,
73、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面所述的方法。
74、根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述第一方面所述的方法。
75、根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如前述第一方面所述的方法。
76、本公开提供的工作负载生成的方法及装置、电子设备和存储介质,将获取的时间信息通过第一预设预处理规则进行预处理,得到第一向量维度的第一时间向量,所述时间信息为生成工作负载的时间,所述第一时间向量通过对生成所述工作负载的时间段信息进行编码得到,所述工作负载的时间段信息根据所述时间信息确定;将所述第一时间向量与第二向量维度的随机向量进行合并处理,得到输入向量,并将所述输入向量输入至预设批次模型,得到所述时间段信息对应的负载数量,所述随机向量为随机生成的任一向量;将获取的第一预设数量的历史负载数据通过第二预设处理规则进行预处理,得到负载输入数据,所述历史负载数据为在所述时间段信息之前的连续相邻时间段内生成的连续工作负载;基于所述负载数量,将所述负载输入数据输入至预设预测模型,生成数量与所述负载数量一致的工作负载。与相关技术相比,本公开实施例中的预设批次模型可以拟合任意的真实分布,预设预测模型能够较好的学习工作负载序列的时序属性,通过预设批次模型以及预设预测模型生成和预测的批次大小(负载数量)较符合真实的场景,且对长时间工作负载序列的预测与生成效果较好,精度较高。
77、应当理解,本部分所描述的内容并非旨在标识本技术的实施例的关键或重要特征,也不用于限制本技术的范围。本技术的其它特征将通过以下的说明书而变得容易理解。