一种基于时间序列时频分析的微服务指标预测方法

文档序号:37860485发布日期:2024-05-07 19:36阅读:11来源:国知局
一种基于时间序列时频分析的微服务指标预测方法

本发明属于人工智能和微服务领域,涉及一种微服务系统中服务指标预测的算法,具体是一种基于时间序列时频分析的微服务指标预测方法。


背景技术:

1、随着互联网的飞速发展,业务的复杂性和软件系统架构的复杂性也在逐渐变大,微服务架构是一种新的软件系统架构,旨在解决传统软件系统架构的复杂性问题,主要致力于设计和开发高可维护性和高可扩展性的软件系统架构。

2、微服务架构为分布式应用系统的设计和实现提供了指导,遵循微服务架构的设计原则,业务中拆分的每一个微服务的功能都是具体的,且单个微服务的复杂度远小于整体的系统复杂度,所以开发人员可以快速开发或者更新某一个微服务。

3、相比较传统的单体服务,各个微服务之间是相互独立的。所以,各个微服务可以单独开发和交付。在云原生时代,微服务以容器的形式部署在机器上,所以独立的微服务也可以被独立的调度部署和扩缩容。

4、微服务架构有很多优秀的设计,但同时它也存在着一些问题。随着业务的发展和变化,微服务的数量也变得越来越多,为了能够及时对服务进行调度和调整,保证服务良好运行的同时确保服务质量,在服务调度过程中往往需要基于服务的指标情况确定调度策略,传统的调度方法一般基于历史数据或当前的服务指标进行调整,这种策略往往存在明显的滞后性。


技术实现思路

1、针对以上问题,本发明提出一种基于时间序列时频分析的微服务指标预测方法,实现了对微服务指标的快速准确预测,为服务调度提供了重要依据,也帮助运维人员及时了解服务的状态变化,对实现服务的快速调度和及时调整具有重要意义。

2、所述基于时间序列时频分析的微服务指标预测方法,具体步骤如下:

3、步骤一、针对部署在微服务平台上的工作节点和各个微服务,实时采集各工作节点和各微服务的指标数据;

4、工作节点的指标数据包括:cpu利用率、内存利用率等;

5、微服务的指标数据包括:各个微服务之间的请求调用响应时间以及请求次数等;

6、步骤二、对采集的微服务指标数据,根据pod维度进行聚合,并处理其中的缺失值;

7、缺失值处理的具体操作是:使用一阶移动平均法对缺失值进行填充,即取缺失值前后的两个正常数据的平均值代替缺失值。

8、性能指标对应的m个时间序列数据在pod维度聚合后由输入向量s表示:

9、s={s1,s2,...,si,…,sm}

10、其中第i个性能指标数据所对应的长度为n的特征向量si(1≤i≤m)表示为:

11、si={si1,si2,...,sin}

12、步骤三,根据采集的指标数据的时间戳构造时间特征并添加到指标数据中,根据不同服务对指标进行区分,构造包含多个服务的多指标的多维时间序列数据,使用滑动窗口处理指标数据,得到指标预测模型的输入数据;

13、时间特征为指标数据的时间戳提取后的结果,具体操作是:

14、首先,将指标数据所有的时间戳转化为标准格式的时间字符串“yyyy-mm-dd hh:mm:ss”,即年、月、日、时、分、秒。

15、然后,对具体的日期进行计算,得到如下七个特征,分别是:“年份year”、“月份month”、“当前时间是所在年份的第几天day_of_year”、“当前时间是所在月份的第几天day_of_month”、“当前时间是所在星期的第几天day_of_week”、“当前时间是所在天内的第几个小时hour_of_day”、“当前时间是否是休息日is_holiday”。

16、使用滑动窗口处理指标数据为:针对包含m个时间序列的性能指标数据s={s1,s2,...,sm},每个时间序列si的长度为n,使用长度为k的滑动窗口在这m个时间序列上得到n-k+1组数据;

17、步骤四,构建指标预测模型的时频特征提取模块,对输入数据进行时频分析,得到输入数据的主要频率特征和时频特征;

18、首先,对各数据序列si进行快速傅里叶变换,得到其频率信息freqsi=fft(si);

19、随后,从各频率信息中选取幅值最高的m个频率分量作为对应数据的主要频率,表示为freqsmain=[fsi1,fsi2,···,fsid];

20、最后,根据各个指标数据的主要频率设置对应的小波变换参数,并进行连续小波变化,从小波变换的结果中选取幅值最高的前n个频率,作为该序列的时频特征。

21、输入序列的每一维数据si的小波变换结果表示为cwt(si)=[wi1,wi2,···,wis]t,对于每个数据序列的小波变换结果按顺序进行拼接,得到输入序列的时频特征,表示为:timefreq(s)=(tf1,tf2,···,tfs)t。

22、步骤五,将时频分析结果添加到多维时间序列中,作为新的模型输入;

23、将指标数据、时间特征和时频特征通过线性变换转化为相同的维度,基于数据本身特征构造q,k,v矩阵;随后将时间特征与指标数据分别和时频特征相加,得到模型输入的时域数据和频域数据,分别表示为q_tf,k_tf矩阵。

24、步骤六,将新的模型输入作为指标预测模型的输入,对指标预测模型进行训练;

25、指标预测模型是基于transformer模型构造的,包括编码层和解码层;

26、指标预测模型的训练过程为:

27、步骤601、将数据输入到指标预测模型中,在位置编码层中为每个时间序列si(1≤i≤m)中的每一个时间戳对应的指标数据值sij(1≤i≤m,1≤j≤k)计算相应的位置向量pij,然后将位置向量pij加到sij上得到xij;

28、位置向量pij的计算公式如下:

29、

30、

31、其中pe代表位置嵌入操作,pos表示当前计算的位置编码数据在输入序列中沿时间维度上的位置。i对应列索引,dmodel为输出嵌入空间的维度。

32、步骤602、将添加了位置信息的输入数据xij输入到指标预测模型的编码器中的attention层中,在考虑整个时间序列si(1≤i≤m)的环境下计算xij的attention系数,然后将输出向量标准化后前向传播到解码器中。

33、在计算attention系数时,引入了注意力融合机制,通过融合时域和频域下的注意力系数,来刻画时间序列的内在关联关系。

34、时域和频域下的注意力系数分别为:

35、

36、

37、融合注意力系数为:

38、

39、基于时域和频域融合后的注意力系数,结合输入的values计算得到注意力模块的最终输出。

40、步骤603、解码器接收到编码器的输出结果后,计算解码器输入与编码器输出的交叉注意力系数,并基于该交叉注意力系数和解码层输入计算得到解码层输出,即为预测结果yij(1≤i≤m,2≤j≤k+1);

41、步骤604、将解码器的输出结果yij(j=k+1)与实际结果sij(j=k+1)对比,计算得到损失函数值,将该值从输出层向隐藏层反向传播到输入层,根据随机梯度下降函数按照梯度的负方向调整指标预测模型中的各个网络参数的值,重复上述训练过程,直至损失函数值最小,即得到训练好的指标预测模型。

42、损失函数值的计算公式为:

43、

44、步骤七、针对新的微服务指标数据,进行处理后输入训练好的指标预测模型,得到各微服务的实时指标预测结果并应用于微服务系统,服务于系统指标的异常检测及服务扩缩容和服务调度场景。

45、本发明的优点在于:

46、(1)本发明提出一种基于时间序列时频分析的微服务指标预测方法,通过信号处理中适用于非平稳序列分析的连续小波变换,实现对于非平稳序列的分析和特征提取,实现了对于非平稳序列的良好表达。

47、(2)本发明通过在模型层面的结构调整,包括对于模型输入和注意力计算方法的调整,提高了模型的预测效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1