一种流处理应用延迟性能预测系统、方法及存储介质

未命名 08-29 阅读:93 评论:0


1.本发明涉及延迟预测技术领域,特别涉及一种流处理应用延迟性能预测系统、方法及存储介质。


背景技术:

2.物联网(iot)的普及使智能设备的数量和类型显著增加,导致流数据的数量和类型呈指数级增长。因此,许多领域都采用了流处理应用程序(stream processing application,spa)来处理实时应用场景。各个领域的从业者和科学家都依赖spa的延迟预测,这对于spa分析和主动性能优化至关重要。然而,由于spa类型的多样性及其内部的复杂性,预测spa延迟具有一定的挑战性。
3.目前,预测spa的延迟的方案主要包括:方案一,提出了一个预测框架,用于估计spa中特定算子的延迟(即流连接算子),其基于时间和记录将窗口中的两个流连接起来。然而,这种方案只关注单个算子,而不是整个spa。而spa通常由多个算子组成,以执行特定的任务。因此,预测整个spa的延迟比预测单个算子的延迟更具挑战性。方案二,提出了一个基于岭回归的模型来预测在twitter heron中的spa延迟。尽管该模型可以预测spa的延迟,但它只考虑了一般的系统特性,如cpu和内存使用情况,而没有考虑spa在运行时的动态特性。方案三,提出了一个基于spa中算子并行度的粗略延迟预测模型。但该模型的粒度较粗,仅考虑并行度,无法准确预测spa的延迟。方案四,结合平均等待时间和平均计算时间提出了一个延迟模型,其只考虑了这两个因素,并没有准确预测spa的具体延迟数值。方案五,提出了一个基于强化学习的模型来预测算子和spa延迟。尽管该模型同时考虑了算子和spa的延迟,但仍然没有预测spa的具体延迟数值。综上,针对流处理任务的延迟性能预测,现有的方案只考虑了部分或特定类型的特征,导致预测的准确性不能满足要求。
4.为此,需要一种能够提高预测准确性的流处理应用延迟性能预测系统、方法及存储介质。


技术实现要素:

5.本发明的目的之一在于,提供了一种流处理应用延迟性能预测方法,能够有效提高预测准确性。
6.为了解决上述技术问题,本技术提供如下技术方案:
7.一种流处理应用延迟性能预测方法,包括如下内容:
8.s1、抽取流处理应用的特征,特征包括应用类特征、数据类特征和系统类特征;
9.s2、对每个特征构建时间序列特征向量,以及当前时间点下的时间序列特征向量对应的下一时间点的延迟数值;
10.s3、构建attention-lstm模型,基于历史的时间序列特征向量和延迟数值分别构建训练数据集和验证数据集;基于训练数据集对attention-lstm模型进行训练,通过验证数据集验证训练后的attention-lstm模型,如果满足预设要求,训练完成;
11.s4、将时间序列特征向量输入至训练完成的attention-lstm模型,从attention-lstm模型得到流处理应用的具体延迟数值。
12.进一步,所述步骤s3中,attention-lstm模型包括输入层、长短期记忆循环神经网络层、注意力层、丢弃层、全连接层和输出层。
13.进一步,所述步骤s3中,训练过程具体包括:
14.s301、将训练样本集中的时间序列特征向量输入构建的attention-lstm模型的输入层;输入层将时间序列特征向量输出至长短期记忆循环神经网络层;
15.s302、长短期记忆循环神经网络层通过循环神经网络的前项传播算法抽取时间依赖特征,将时间依赖特征传递至注意力层;
16.s303、注意力层通过权重大小赋予不同时间依赖特征不同的重要程度,将赋予权重的时间依赖特征输出至丢弃层;
17.s304、丢弃层接收到注意力层的输出的时间依赖特征后,以固定比例的方式随机冻结部分神经元,使其无法输出或输出为零,将从未冻结神经元得到的深层时空特征输出至全连接层;
18.s305、全连接层将深层特征展平为特征向量,学习深层特征与延迟之间的关系;
19.s306、通过参数学习算法,输出层将最终的延迟数值输出。
20.s307、通过验证数据集验证训练后的attention-lstm模型,基于实际延迟数值和attention-lstm模型输出的延迟数值计算预测准确性,判断准确性是否满足预设要求,如果满足预设要求,训练完成,如果不满足预设要求,重复步骤s301-s306。
21.进一步,所述步骤s1中,应用类特征包括算子类型、算子并行度、算子时间窗口大小、输入流数量、输出流数量;
22.数据类特征包括数据到达速率、数据发送速率;
23.系统类特征包括cpu使用率、内存可用量、内存使用率、网络带宽利用率。
24.进一步,所述步骤s304中,每次训练时随机冻结神经元。
25.本发明的目的之二在于,提供一种流处理应用延迟性能预测系统,包括数据采集模块,模型创建模块,模型训练模块和预测模块;
26.数据采集模块用于从流处理应用中抽取特征,特征包括应用类特征、数据类特征和系统类特征;还用于对每个特征构建时间序列特征向量,以及当前时间点下的时间序列特征向量对应的下一时间点的延迟数值;还用于根据历史的时间序列特征向量和延迟数值分别构建训练数据集和验证数据集;
27.模型创建模块用于构建attention-lstm模型,基于训练数据集对attention-lstm模型进行训练,通过验证数据集验证训练后的attention-lstm模型,如果满足预设要求,保存训练完成的attention-lstm模型;
28.预测模块从数据采集模块获取时间序列特征向量,将时间序列特征向量输入至训练完成的attention-lstm模型,从attention-lstm模型得到流处理应用的具体延迟数值。
29.进一步,所述应用类特征包括算子类型、算子并行度、算子时间窗口大小、输入流数量、输出流数量;
30.数据类特征包括数据到达速率、数据发送速率;
31.系统类特征包括cpu使用率、内存可用量、内存使用率、网络带宽利用率。
32.进一步,所述attention-lstm模型包括输入层、长短期记忆循环神经网络层、注意力层、丢弃层、全连接层和输出层。
33.进一步,所述模型训练模块用于将训练样本集中的时间序列特征向量输入构建的attention-lstm模型的输入层;输入层将时间序列特征向量输出至长短期记忆循环神经网络层;长短期记忆循环神经网络层通过循环神经网络的前项传播算法抽取时间依赖特征,将时间依赖特征传递至注意力层;注意力层通过权重大小赋予不同时间依赖特征不同的重要程度,将赋予权重的时间依赖特征输出至丢弃层;丢弃层接收到注意力层的输出的时间依赖特征后,以固定比例的方式随机冻结部分神经元,使其无法输出或输出为零,将从未冻结神经元得到的深层时空特征输出至全连接层;全连接层将深层特征展平为特征向量,学习深层特征与延迟之间的关系;通过参数学习算法,输出层将最终的延迟数值输出。
34.还用于通过验证数据集验证训练后的attention-lstm模型,基于实际延迟数值和attention-lstm模型输出的延迟数值计算预测准确性,判断准确性是否满足预设要求,如果满足预设要求,保存完成训练的attention-lstm模型。
35.本发明的目的之三在于,提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
36.本方案的优势在于识别出了三类影响延迟的特征并将其进行融合,构建时间序列特征向量。attention-lstm模型通过长短期记忆循环神经网络层抽取时间序列特征向量的时间依赖特征,然后利用注意力层抽取重要特征,接着使用丢弃层在训练阶段冻结部分神经元以提升attention-lstm模型的泛化能力,最后利用全连接层学习深层时空特征与延迟之间的关系,以达到准确预测延迟数值的效果。综上所述,本方案采用更加全面的特征抽取,可解决spa延迟预测复杂性高的问题,使用多层神经网络的不同功能,可以有效提升spa延迟的预测精度。
附图说明
37.图1为实施例中attention-lstm模型的示意图;
38.图2为实施例流处理应用延迟性能预测方法中时间序列特征向量与延迟数值构建过程示意图;
39.图3为实施例attention-lstm模型训练过程的流程图。
具体实施方式
40.下面通过具体实施方式进一步详细说明:
41.实施例
42.本实施例中,开发者或者用户首先依据具体需求开发流处理应用,然后将开发好的流处理应用部署至流处理平台进行运行。
43.运行后,使用本实施例的一种流处理应用延迟性能预测方法,进行延迟性能预测,包括如下内容:
44.s1、在流处理应用运行时,开发者或用户借助第三方工具或者自己开发的程序实时抽取流处理应用的特征,特征包括应用类特征、数据类特征和系统类特征;其中,应用类特征包括算子类型、算子并行度、算子时间窗口大小、输入流数量、输出流数量;数据类特征
包括数据到达速率、数据发送速率;系统类特征包括cpu使用率、内存可用量、内存使用率、网络带宽利用率;数据类特征在流处理应用运行时随时间推移会造成流处理应用需要处理的数据产生变化,从而影响流处理应用的延迟。应用类特征中的算子类型、输入流数量、输出流数量均是从更加细粒度的流处理应用拓扑结构层面挖掘出的特征,本实施例的attention-lstm模型将该类特征进行充分利用,可以提升预测精度。
45.s2、对每个特征构建时间序列特征向量,以及当前时间点下的时间序列特征向量对应的下一时间点的延迟数值,其中时间序列特征向量的时间序列长度可以根据实际情况设置;
46.本实施例中,时间序列特征向量与延迟数值构建如图2所示,其中,分别代表第0个至第n个特征;而则代表第0个特征从t-k时刻至当前时刻t的特征序列;上述特征矩阵xi和x
t
是在时刻i和时刻t上的特征矩阵,用以预测在时刻i和时刻t对应的延迟数值y
i+1
和y
t+1

47.s3、如图1所示,构建attention-lstm模型,attention-lstm模型包括输入层、长短期记忆(long short-term memory,lstm)循环神经网络(recurrent neural network,rnn)层、注意力(attention)层、丢弃(dropout)层、全连接层和输出层;
48.基于历史的时间序列特征向量和延迟数值分别构建训练数据集和验证数据集;基于训练数据集对attention-lstm模型进行训练,通过验证数据集验证训练后的attention-lstm模型,如果满足预设要求,训练完成;
49.如图3所示,训练过程具体包括:
50.s301、将训练样本集中的时间序列特征向量输入构建的attention-lstm模型的输入层;输入层将时间序列特征向量输出至lstm层;
51.s302、lstm层通过循环神经网络的前项传播算法抽取时间依赖特征,将时间依赖特征传递至attention层;
52.s303、attention层接收来自lstm层的时间依赖特征,主要关注对延迟指标有重要影响的时间依赖特征,通过权重大小赋予不同时间依赖特征不同的重要程度,从而强化重要的时间依赖特征对流处理应用延迟的影响,最后将赋予权重的时间依赖特征输出至dropout层;
53.s304、dropout层接收到attention层的输出的时间依赖特征后,以固定比例的方式随机冻结部分神经元,使其无法输出或输出为零。经过多次的训练迭代,dropout层的随机冻结机制使整个attention-lstm模型的泛化能力增强,并将从未冻结神经元得到的深层时空特征输出至全连接层。本实施例中,每次训练时冻结的神经元均为随机。
54.s305、全连接层接收dropout层输出的深层特征,将其展平为特征向量,利用全连接层学习深层特征与预测目标,即流处理任务的延迟之间的关系。
55.s306、通过参数学习算法,输出层将最终的延迟数值输出。
56.s307、通过验证数据集验证训练后的attention-lstm模型,基于实际延迟数值和attention-lstm模型输出的延迟数值计算预测准确性,判断准确性是否满足预设要求,如果满足预设要求,训练完成;如果不满足预设要求,重复步骤s301-s306。
57.s4、将时间序列特征向量输入至训练完成的attention-lstm模型的输入层,从
attention-lstm模型的输出层得到流处理应用的具体延迟数值。
58.基于流处理应用延迟性能预测方法,本实施例还提供一种流处理应用延迟性能预测系统,包括数据采集模块,模型创建模块,模型训练模块和预测模块;
59.数据采集模块用于抽取流处理应用的特征,特征包括应用类特征、数据类特征和系统类特征;其中,应用类特征包括算子类型、算子并行度、算子时间窗口大小、输入流数量、输出流数量;数据类特征包括数据到达速率、数据发送速率;系统类特征包括cpu使用率、内存可用量、内存使用率、网络带宽利用率;
60.还用于对每个特征构建时间序列特征向量,以及当前时间点下的时间序列特征向量对应的下一时间点的延迟数值;
61.还用于根据历史的时间序列特征向量和延迟数值分别构建训练数据集和验证数据集;
62.模型创建模块用于构建attention-lstm模型,attention-lstm模型包括输入层、长短期记忆(long short-term memory,lstm)循环神经网络(recurrent neural network,rnn)层、注意力(attention)层、丢弃(dropout)层、全连接层和输出层。
63.模型训练模块用于将训练样本集中的时间序列特征向量输入构建的attention-lstm模型的输入层;输入层将时间序列特征向量输出至lstm层;lstm层通过循环神经网络的前项传播算法抽取时间依赖特征,将时间依赖特征传递至attention层;attention层接收来自lstm层的时间依赖特征,主要关注对延迟指标有重要影响的时间依赖特征,通过权重大小赋予不同时间依赖特征不同的重要程度,从而强化重要的时间依赖特征对流处理应用延迟的影响,最后将赋予权重的时间依赖特征输出至dropout层;dropout层接收到attention层的输出的时间依赖特征后,以固定比例的方式随机冻结部分神经元,使其无法输出或输出为零。经过多次的训练迭代,dropout层的随机冻结机制使整个attention-lstm模型的泛化能力增强,并将从未冻结神经元得到的深层时空特征输出至全连接层。本实施例中,每次训练时冻结的神经元均为随机。全连接层接收dropout层输出的深层特征,将其展平为特征向量,利用全连接层学习深层特征与预测目标,即流处理任务的延迟之间的关系。通过参数学习算法,输出层将最终的延迟数值输出。
64.模型训练模块还用于通过验证数据集验证训练后的attention-lstm模型,基于实际延迟数值和attention-lstm模型输出的延迟数值计算预测准确性,判断准确性是否满足预设要求,如果满足预设要求,完成attention-lstm模型训练。
65.预测模块从数据采集模块获取时间序列特征向量,将时间序列特征向量输入至训练完成的attention-lstm模型的输入层,从attention-lstm模型的输出层得到流处理应用的具体延迟数值。
66.上述流处理应用延迟性能预测方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一存储介质中,该计算机程序在被处理器执行时,可实现上述方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,
read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
67.相关延迟性能预测方案在三个基准测试上的平均准确率对比如表1所示;
68.表1
69.方案基准测试一(ad)基准测试二(fw)基准测试三(gp)方案一-0.84-方案二0.740.760.79本方案0.880.890.87
70.如表1所示,相比于现有的其它方案,本方案在上述基准测试上的平均准确率最高。
71.本实施例的方案识别出了三类影响延迟的特征并将其进行融合,构建时间序列特征向量。attention-lstm模型通过lstm层抽取时间序列特征向量的时间依赖特征,然后利用attention层抽取重要特征,接着使用dropout层在训练阶段冻结部分神经元以提升attention-lstm模型的泛化能力,最后利用全连接层学习深层时空特征与延迟之间的关系,以达到准确预测延迟数值的效果。综上所述,本方案采用更加全面的特征抽取,可解决spa延迟预测复杂性高的问题,使用多层神经网络的不同功能,可以有效提升spa延迟的预测精度。
72.以上的仅是本发明的实施例,该发明不限于此实施案例涉及的领域,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本技术给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本技术的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本技术要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

技术特征:
1.一种流处理应用延迟性能预测方法,其特征在于,包括如下内容:s1、抽取流处理应用的特征,特征包括应用类特征、数据类特征和系统类特征;s2、对每个特征构建时间序列特征向量,以及当前时间点下的时间序列特征向量对应的下一时间点的延迟数值;s3、构建attention-lstm模型,基于历史的时间序列特征向量和延迟数值分别构建训练数据集和验证数据集;基于训练数据集对attention-lstm模型进行训练,通过验证数据集验证训练后的attention-lstm模型,如果满足预设要求,训练完成;s4、将时间序列特征向量输入至训练完成的attention-lstm模型,从attention-lstm模型得到流处理应用的具体延迟数值。2.根据权利要求1所述的流处理应用延迟性能预测方法,其特征在于:所述步骤s3中,attention-lstm模型包括输入层、长短期记忆循环神经网络层、注意力层、丢弃层、全连接层和输出层。3.根据权利要求2所述的流处理应用延迟性能预测方法,其特征在于:所述步骤s3中,训练过程具体包括:s301、将训练样本集中的时间序列特征向量输入构建的attention-lstm模型的输入层;输入层将时间序列特征向量输出至长短期记忆循环神经网络层;s302、长短期记忆循环神经网络层通过循环神经网络的前项传播算法抽取时间依赖特征,将时间依赖特征传递至注意力层;s303、注意力层通过权重大小赋予不同时间依赖特征不同的重要程度,将赋予权重的时间依赖特征输出至丢弃层;s304、丢弃层接收到注意力层的输出的时间依赖特征后,以固定比例的方式随机冻结部分神经元,使其无法输出或输出为零,将从未冻结神经元得到的深层时空特征输出至全连接层;s305、全连接层将深层特征展平为特征向量,学习深层特征与延迟之间的关系;s306、通过参数学习算法,输出层将最终的延迟数值输出。4.根据权利要求1所述的流处理应用延迟性能预测方法,其特征在于:所述步骤s1中,应用类特征包括算子类型、算子并行度、算子时间窗口大小、输入流数量、输出流数量;数据类特征包括数据到达速率、数据发送速率;系统类特征包括cpu使用率、内存可用量、内存使用率、网络带宽利用率。5.根据权利要求3所述的流处理应用延迟性能预测方法,其特征在于:所述步骤s304中,每次训练时随机冻结神经元。6.一种流处理应用延迟性能预测系统,其特征在于,包括数据采集模块,模型创建模块,模型训练模块和预测模块;数据采集模块用于从流处理应用中抽取特征,特征包括应用类特征、数据类特征和系统类特征;还用于对每个特征构建时间序列特征向量,以及当前时间点下的时间序列特征向量对应的下一时间点的延迟数值;还用于根据历史的时间序列特征向量和延迟数值分别构建训练数据集和验证数据集;模型创建模块用于构建attention-lstm模型,基于训练数据集对attention-lstm模型进行训练,通过验证数据集验证训练后的attention-lstm模型,如果满足预设要求,保存训
练完成的attention-lstm模型;预测模块从数据采集模块获取时间序列特征向量,将时间序列特征向量输入至训练完成的attention-lstm模型,从attention-lstm模型得到流处理应用的具体延迟数值。7.根据权利要求6所述的流处理应用延迟性能预测系统,其特征在于:所述应用类特征包括算子类型、算子并行度、算子时间窗口大小、输入流数量、输出流数量;数据类特征包括数据到达速率、数据发送速率;系统类特征包括cpu使用率、内存可用量、内存使用率、网络带宽利用率。8.根据权利要求7所述的流处理应用延迟性能预测系统,其特征在于:所述attention-lstm模型包括输入层、长短期记忆循环神经网络层、注意力层、丢弃层、全连接层和输出层。9.根据权利要求8所述的流处理应用延迟性能预测系统,其特征在于:所述模型训练模块用于将训练样本集中的时间序列特征向量输入构建的attention-lstm模型的输入层;输入层将时间序列特征向量输出至长短期记忆循环神经网络层;长短期记忆循环神经网络层通过循环神经网络的前项传播算法抽取时间依赖特征,将时间依赖特征传递至注意力层;注意力层通过权重大小赋予不同时间依赖特征不同的重要程度,将赋予权重的时间依赖特征输出至丢弃层;丢弃层接收到注意力层的输出的时间依赖特征后,以固定比例的方式随机冻结部分神经元,使其无法输出或输出为零,将从未冻结神经元得到的深层时空特征输出至全连接层;全连接层将深层特征展平为特征向量,学习深层特征与延迟之间的关系;通过参数学习算法,输出层将最终的延迟数值输出。10.一种存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项所述方法的步骤。

技术总结
本发明涉及延迟预测技术领域,具体公开了一种流处理应用延迟性能预测系统、方法及存储介质,其中方法包括如下内容:S1、抽取流处理应用的特征,特征包括应用类特征、数据类特征和系统类特征;S2、对每个特征构建时间序列特征向量,以及当前时间点下的时间序列特征向量对应的下一时间点的延迟数值;S3、构建Attention-LSTM模型,基于历史的时间序列特征向量和延迟数值分别构建训练数据集和验证数据集;基于训练数据集对模型进行训练,通过验证数据集验证训练后的模型,如果满足预设要求,训练完成;S4、将时间序列特征向量输入至训练完成的模型,从模型得到流处理应用的具体延迟数值。采用本发明的技术方案能够有效提高流处理应用延迟性能预测的准确性。处理应用延迟性能预测的准确性。处理应用延迟性能预测的准确性。


技术研发人员:褚征 陈东文
受保护的技术使用者:浙大城市学院
技术研发日:2023.04.28
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐