一种基于时间序列的服务器多性能指标异常检测方法及装置转让专利

申请号 : CN202210897982.3

文献号 : CN115412455B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 燕雪峰张国华

申请人 : 南京航空航天大学

摘要 :

本发明公开了一种基于时间序列的服务器多性能指标异常检测方法及装置,所述方法实现过程如下:采集待检测的原始指标数据,提取有效的时域信号数据,变换得到有效的频域信号;建立基于卷积网络和长短时记忆网络的指标数据预测模型;将指标数据的有效时域信号和频域信号输入到训练好的预测模型,得到指标数据的预测结果;根据预测值和实际值计算指标数据的预测误差,通过指数加权移动平均对上述误差进行处理得到异常评分,根据POT算法确定异常阈值,若异常评分大于异常阈值,表明当前时刻的服务器存在异常状态。本发明能够有效提高在类不平衡情况下的异常数据的识别能力,从而提高整体异常检测精度,具有很好的应用价值。

权利要求 :

1.一种基于时间序列的服务器多性能指标异常检测方法,其特征在于,包括以下步骤:

(1)采集服务器性能指标的原始数据和待检测数据,对原始数据和待检测数据进行探索性分析,统计每个指标数据的均值、方差及分位数;然后分别对获取的数据进行预处理,包括数据清洗和归一化处理,得到指标数据的有效时域信号;再将有效时域信号进行离散小波变换得到有效频域信号;

(2)从步骤(1)处理后的原始数据中选取服务器正常运行状况下的产生的指标数据的有效时域信号和频域信号,截取定长的局部信号,将截取的时频域信号作为基于CNN‑LSTM的注意力预测模型的训练样本,通过无监督训练方式对预测模型进行训练得到指标数据的预测模型;

(3)从步骤(1)处理后的待检测数据中截取定长的时频域局部信号,将截取的信号作为测试样本输入至步骤(2)训练好的指标数据预测模型进行预测,得到待检测指标数据的预测结果;

(4)通过步骤(3)获得待检测数据在预测模型上的预测值,根据预测值和实际值计算预测误差;采用指数加权移动平均对预测误差进行优化处理,消除由于指标数据存在突变峰值导致预测误差较大产生的影响;对预测误差进行拟合计算得到异常阈值,若预测误差大于异常阈值则表明服务器指标数据存在异常的时间点数据。

2.根据权利要求1所述的一种基于时间序列的服务器多性能指标异常检测方法,其特征在于,所述步骤(1)实现过程如下:从原始标数据中确定包含的恒值特征数据,比较某条数据的最大值与最小值,若最大值与最小值相同则将其视为恒值特征去除;各指标数据值范围不同,对各指标数据分别使用min‑max标准化方法将数据映射到[0,1]范围内,得到指标数据的有效时域信号;

将所述服务器性能指标数据进行预处理之后得到的时域信号,通过离散小波变换得到指标时序数据的频域信号表示;离散小波变换通过高通滤波和低通滤波器得到的频域信号长度为原始信号长度的一半,通过二次样条插值重构将频域信号扩充至与原始信号长度相同。

3.根据权利要求1所述的一种基于时间序列的服务器多性能指标异常检测方法,其特征在于,步骤(2)所述基于CNN‑LSTM的注意力预测模型包括:时频域特征提取模块,包含两个由一维卷积网络组成的特征提取模块,分别对时频域信号进行卷积操作,提取时域信号的空间特征和频域信号的局部时序特征;

时频域特征融合模块,包含一个用于提取特征上下文关系的一维卷积网络和一个软选择操作对时频域特征进行自适应融合,具体过程为:T F T F

M(z ,z)=σ(Conv(GAP(z+z)))

其中,GAP为全局平均池化操作,Conv为卷积操作, 为张量点乘运算,σ表示激活函数,T Fz表示提取得到的时域特征,z表示提取得到的频域特征;采用sigmoid激活函数将数值映射到[0,1]范围内作为每个通道的权重,首先将时域特征和频域特征进行相加,经过全局平均池化层对全局信息进行整合,使用一维卷积网络学习通道特征的上下文关系,经过激活T F函数得到每个通道的权重,最后对z 和z做加权平均得到融合后的时频域特征z,各自权重T F T F分别为M(z ,z)和1‑M(z ,z);

时空注意力模块,包含一个时间注意力机制和一个空间注意力机制,分别提取服务器指标数据的长时依赖关系和空间依赖关系,具体过程为:首先,对融合后的时频域特征经由BiLSTM层提取其时序关系,接着对BiLSTM层的输出特征由时间注意力和TPA注意力机制并行提取其超长时依赖关系和空间依赖关系分别得到时间注意力向量和空间注意力向量,最后经由全连接层得到预测结果。

4.根据权利要求1所述的一种基于时间序列的服务器多性能指标异常检测方法,其特征在于,步骤(2)所述通过无监督训练方式对预测模型进行训练,具体方式为:通过滑动窗口方式从有效时域信号和频域信号中截取定长局部信号,滑动窗口大小根据数据的周期性进行分析得到,滑动步长设置为1,划分后的数据表示为W={w1,w2,...,wm},wi={x1,x2,...,xl},l为窗口长度;每次输入模型一个窗口大小的wi数据,根据历史l个数据预测未来某一时刻数据xl+Δ的值,其中Δ值设置为6;将均方根误差作为损失函数对预测模型进行训练,通过迭代训练直至模型收敛得到训练好的预测模型。

5.根据权利要求1所述的一种基于时间序列的服务器多性能指标异常检测方法,其特征在于,所述步骤(4)实现过程如下:根据预测模型对待检测的服务器性能指标数据进行预测,比较预测值与实际值得到预测误差:

其中, 表示第i个性能指标t时刻预测模型预测值, 表示第i个性能指标t时刻原始数据值;

对预测误差进行指数加权移动平均,计算方式为:

Vt=Vt‑1*α+et*(1‑α)

其中,Vt是t时刻平滑后的预测误差,et是t时刻的预测误差,α为权重,通过设置α可以控制结果的平稳性,减少突变峰值对最终检测效果的影响;

根据POT算法对平滑处理后的预测误差进行拟合得到异常阈值:

其中,f(x)为广义帕累托分布函数,通过最大似然估计得到辅助参数σ和极值指数γ,n为预测误差数据总数,q表示期望概率,Nt表示峰值数,最后通过设置q得到异常阈值th。

6.一种采用如权利要求1‑5任一所述方法的基于时间序列的服务器多性能指标异常检测装置,其特征在于,包括:数据采集模块,对服务器运行指标数据进行采集,包括数据初步分析子模块和指标数据标记子模块;所述数据初步分析子模块查看指定时间段内指标数据的均值、方差及分位数;所述指标数据标记子模块用于标记服务器不同运行状态下产生的指标数据;

数据预处理模块,在将数据输入至模型之前对数据进行预处理,得到对应的指标数据特征,包括数据清洗子模块,用于剔除无用的指标数据特征;归一化子模块,将各指标数据的数值范围映射至[0,1]范围内;

数据预测模块,包括模态转换子模块、窗口划分子模块和模型更新子模块;所述模态转换子模块,将指标数据的有效的时域信号转换为有效的频域信号;所述窗口划分子模块,用于截取定长的局部时频域信号;将截取的定长时频域数据输入至预测模型,得到相应的指标数据的预测值;所述模型更新子模块,当数据采集模块采集到的正常状态下的指标数据达到预设规模时,选取最新采集得到的数据对预测模型进行训练更新模型参数;

异常检测模块,比较数据预测模块输出的预测值与实际值进行异常检测,包括预测误差计算子模块和异常阈值计算子模块;所述预测误差计算子模块将指标数据的预测值与实际值比较得出预测误差,使用指数加权移动平均对预测误差进行平滑处理;所述异常阈值计算子模块根据POT算法对预测误差进行拟合确定异常阈值;若某时刻的预测误差大于异常阈值则将此时刻的状态标记为异常状态。

说明书 :

一种基于时间序列的服务器多性能指标异常检测方法及装置

技术领域

[0001] 本发明属于异常检测技术领域,具体涉及一种基于时间序列的服务器多性能指标异常检测方法及装置。

背景技术

[0002] 服务器运行过程中产生的诸如CPU负载、网络使用量、内存使用量等指标数据表示当前服务器的运行状态,其指标数据可以看成按时间顺序组成的时间序列。这些大量的时序数据中包含着不同的信息特征,数据中的异常数据所蕴含的信息通常比正常数据更为重要。网络使用量异常可能表面系统发生入侵,CPU负载异常异常可能表明设备发生故障。因此,对于异常数据的信息提取、分析具有重要意义。
[0003] 异常检测领域现有工作可以分为以下类别:基于分类的方法、基于聚类的方法、基于重构的方法和基于预测的方法。基于分类方法在标签数据充足的情况下,使用深度学习可以得到很好的准确率。但是在异常检测领域,异常数据相较于正常数据的比例非常小,同时对于数据的标注往往面临很多困难。基于聚类方法通过对数据样本进行聚类,将远离聚类中心的点视为异常数据点,由于基于聚类的模型的结构过于简单,无法处理复杂的数据,不能适应复杂数据的异常检测任务。基于重构的方法通过数据的低维表示对数据进行重构,将重构误差作为异常评分进行异常检测。由于基于编解码器结构的方法缺乏有效的正则化方法,可能造成模型的过拟合导致无法准确的进行异常检测。基于预测的方法根据模型的预测值与真实值之间的预测误差进行异常检测。已有的预测模型为时间序列的异常检测创造良好基础,但依旧是基于单模态而没有考虑数据在多模态空间的分布特征。

发明内容

[0004] 发明目的:本发明的目的在于提供一种基于时间序列的服务器多性能指标异常检测方法及装置,能够有效提高在类不平衡情况下的异常数据的识别能力,从而提高整体异常检测精度,具有很好的应用价值。
[0005] 技术方案:本发明提供了一种基于时间序列的服务器多性能指标异常检测方法,包括以下步骤:
[0006] (1)采集服务器性能指标的原始数据和待检测数据,对原始数据和待检测数据进行探索性分析,统计每个指标数据的均值、方差及分位数等属性特征;然后分别对获取的数据进行预处理,包括数据清洗和归一化处理,得到指标数据的有效时域信号;再将有效时域信号进行离散小波变换得到有效频域信号;
[0007] (2)从步骤(1)处理后的原始数据中选取服务器正常运行状况下的产生的指标数据的有效时域信号和频域信号,截取定长的局部信号,将截取的时频域信号作为基于CNN‑LSTM的注意力预测模型的训练样本,通过无监督训练方式对预测模型进行训练得到指标数据的预测模型;
[0008] (3)从步骤(1)处理后的待检测数据中截取定长的时频域局部信号,将截取的信号作为测试样本输入至步骤(2)训练好的指标数据预测模型进行预测,得到待检测指标数据的预测结果;
[0009] (4)通过步骤(3)获得待检测数据在预测模型上的预测值,根据预测值和实际值计算预测误差;采用指数加权移动平均对预测误差进行优化处理,消除由于指标数据存在突变峰值导致预测误差较大产生的影响;对预测误差进行拟合计算得到异常阈值,若预测误差大于异常阈值则表明服务器指标数据存在异常的时间点数据。
[0010] 进一步地,所述步骤(1)实现过程如下:
[0011] 从原始标数据中确定包含的恒值特征数据,比较某条数据的最大值与最小值,若最大值与最小值相同则将其视为恒值特征去除;各指标数据值范围不同,对各指标数据分别使用min‑max标准化方法将数据映射到[0,1]范围内,得到有效的指标数据时域信号;
[0012] 将所述服务器性能指标数据进行预处理之后得到的时域信号,通过离散小波变换得到指标时序数据的频域信号表示;离散小波变换通过高通滤波和低通滤波器得到的频域信号长度为原始信号长度的一半,通过二次样条插值重构将频域信号扩充至与原始信号长度相同。
[0013] 进一步地,步骤(2)所述基于CNN‑LSTM的注意力预测模型包括:
[0014] 时频域特征提取模块,包含两个由一维卷积网络组成的特征提取模块,分别对时频域信号进行卷积操作,提取其空间特征和局部时序特征;
[0015] 时频域特征融合模块,包含一个用于提取特征上下文关系的一维卷积网络和一个软选择操作对时频域特征进行自适应融合,具体过程为:
[0016] M(zT,zF)=σ(Conv(GAP(zT+zF)))
[0017]
[0018] 其中,GAP为全局平均池化操作,Conv为卷积操作, 为张量点乘运算,σ表示激活T F函数,z表示提取得到的时域特征,z表示提取得到的频域特征;采用sigmoid激活函数将数值映射到[0,1]范围内作为各模态特征的权重,首先将时域特征和频域特征进行相加,经过全局平均池化层对全局信息进行整合,使用一维卷积网络学习通道特征的上下文关系,经T F T F
过激活函数得到每个通道的权重,最后对z和z做加权平均,各自权重分别为M(z ,z)和1‑T F
M(z ,z);
[0019] 时空注意力模块,包含一个时间注意力机制和一个空间注意力机制,分别提取服务器指标数据的长时依赖关系和空间依赖关系,具体过程为:首先,对融合后的时频域特征经由BiLSTM层提取其时序关系,接着对BiLSTM层的输出特征由时间注意力和TPA注意力机制并行提取其超长时依赖关系和空间依赖关系分别得到时间注意力向量和空间注意力向量,最后经由全连接层得到预测结果。
[0020] 进一步地,步骤(2)所述通过无监督方式对预测模型进行训练,具体方式为:
[0021] 通过滑动窗口方式从有效时域信号和频域信号中截取定长局部信号,滑动窗口大小根据数据的周期性进行分析得到,滑动步长设置为1,划分后的数据表示为W={w1,w2,...,wm},wi={x1,x2,...,xl},l为窗口长度;每次输入模型一个窗口大小的wi数据,根据历史l个数据预测未来某一时刻数据xl+Δ的值,其中Δ值设置为6;将均方根误差作为损失函数对预测模型进行训练,通过迭代训练直至模型收敛得到训练好的预测模型。
[0022] 进一步地,所述步骤(4)实现过程如下:
[0023] 根据预测模型对待检测的服务器性能指标数据进行预测,比较预测值与实际值得到预测误差:
[0024]
[0025] 其中, 表示第i个性能指标t时刻预测模型预测值, 表示第i个性能指标t时刻原始数据值;
[0026] 对预测误差进行指数加权移动平均,计算方式为:
[0027] Vt=Vt‑1*α+et*(1‑α)
[0028] 其中,Vt是t时刻平滑后的预测误差,et是t时刻的预测误差,α为权重,通过设置α可以控制结果的平稳性,减少突变峰值对最终检测效果的影响;
[0029] 根据POT算法对平滑处理后的预测误差进行拟合得到异常阈值:
[0030]
[0031]
[0032] 其中,f(x)为广义帕累托分布,通过最大似然估计得到辅助参数σ和极值指数γ,n为数据总数,q表示期望概率,Nt表示峰值数,最后通过设置q得到异常阈值。
[0033] 基于相同的发明构思,本发明还提供一种基于时间序列的服务器多性能指标异常检测装置,包括:
[0034] 数据采集模块,对服务器运行指标数据进行采集,包括数据初步分析子模块和指标数据标记子模块;所述数据初步分析子模块查看指定时间段内指标数据的均值、方差及分位数等属性特征;所述指标数据标记子模块用于标记服务器不同运行状态下产生的指标数据;
[0035] 数据预处理模块,在将数据输入至模型之前对数据进行预处理,得到对应的指标数据特征,包括数据清洗子模块,用于剔除无用的指标数据特征;归一化子模块,将各指标数据的数值范围映射至[0,1]范围内;
[0036] 数据预测模块,包括模态转换子模块、窗口划分子模块和模型更新子模块;所述模态转换子模块,将指标数据的有效的时域信号转换为有效的频域信号;所述窗口划分子模块,用于截取定长的局部时频域信号;将截取的定长时频域数据输入至预测模型,得到相应的指标数据的预测值;所述模型更新子模块,当数据采集模块采集到的正常状态下的指标数据达到预设规模时,选取最新采集得到的数据对预测模型进行训练更新模型参数;
[0037] 异常检测模块,比较数据预测模块输出的预测值与实际值进行异常检测,包括预测误差计算子模块和异常阈值计算子模块;所述预测误差计算子模块将指标数据的预测值与实际值比较得出预测误差,使用指数加权移动平均对预测误差进行平滑处理;所述异常阈值计算子模块根据POT算法对预测误差进行拟合确定异常阈值;若某时刻的预测误差大于异常阈值则将此时刻的状态标记为异常状态。
[0038] 有益效果:与现有技术相比,本发明的有益效果:本发明提供的时频域特征融合模块相较于常用的相加和拼接融合操作,有以下优势:通过全局平均池化操作可以整合单个特征的跨时间步信息,通过一维卷积网络可以学习到特征的上下文依赖关系,加权平均采用软选择方式,可以通过网络训练确定各自权重;时空注意力机制能够捕捉时间序列的时空依赖关系,通过对正常数据样本学习能够对正常运行情况下的服务器指标数据进行准确预测,采用指数加权移动平均方法和极限值理论可以解决误报率过高以及手动设置阈值的局限性;本发明能够有效提高在类不平衡情况下的异常数据的识别能力,从而提高整体异常检测精度,具有更好的应用价值。

附图说明

[0039] 图1为基于时间序列的服务器多性能指标异常检测方法的流程图。

具体实施方式

[0040] 下面结合附图对本发明做进一步详细说明。
[0041] 本发明提供一种基于时间序列的服务器多性能指标异常检测方法,提出一种时频域特征融合模块,在提取时频域多模态特征上下文关系基础上使用软选择的方式对多模态特征进行自适应融合,软选择方式能够自适应的为不同模态特征分配不同权重,有效利用数据多模态特征;构建一种由时间注意力和空间注意力组成的时空注意力模块,同时提取时间序列多模态特征的时空依赖关系,在充分利用时间序列多模态特征的历史状态信息的同时学习各特征之间的空间依赖信息。
[0042] 如图1所示,具体包括以下步骤:
[0043] 步骤1:采集服务器性能指标的原始数据和待检测数据,对原始数据和待检测数据进行探索性分析,统计每个指标数据的均值、方差及分位数等属性特征;然后分别对获取的数据进行预处理,包括数据清洗和归一化处理,得到指标数据的有效时域信号;再将有效时域信号进行离散小波变换得到有效频域信号。
[0044] 数据清洗操作主要处理指标数据中包含的恒值特征数据,比较某条数据的最大值与最小值,若最大值与最小值相同则将其视为恒值特征去除;数据填充操作通过插值操作对时序数据中缺少的数据点进行填充;归一化处理,通过min‑max标准化方法将各指标数据值范围映射到[0,1]范围内。
[0045] 在进行数据划分之后和输入至预测模型之前需要进行模态转换和窗口划分;模态转换,将所述服务器性能指标数据进行预处理之后,通过离散小波变换得到指标时序数据的频域信号表示;得到的频域信号长度为原始信号长度的一半,通过二次样本插值重构将频域信号扩充至与原始信号长度相同。
[0046] 步骤1旨在收集服务器运行时每时每刻产生的性能指标数据,包括CPU负载、网络使用量、内存使用量等指标数据,对这些指标数据进行初步的探索分析,观察其中恒值特征、缺失值、异常值分布情况,以便后续使用。
[0047] 本实施方式中就服务器的多性能指标数据的异常检测展开具体研究,使用SMD数据集作为本发明的数据集,其包含对一个服务器集群中的28台机器为期五周的资源使用情况,每个机器的数据由38个指标数据组成,其存储形式按照其发生的时间顺序排列而成,表现形式为时间序列数据。对获取每个性能指标数据进行探索性分析,统计每个指标数据的属性特征,包括每个指标的均值、方差等统计特征;观察每个指标特征的缺失值、异常值情况;在此数据集中包含值恒为0的指标数据,且部分指标数据存在缺失情况,对数据进行预处理。对处理后的数据进行划分,按照6:2:2的比例划分训练集、验证集和测试集,其中训练集数据从服务器正常工作状态下产生的数据中选取,验证集和测试集数据既包含正常运行状态数据也包含异常状态下的数据。
[0048] 步骤2:从步骤1中处理后的原始数据中选取服务器正常运行状况下的产生的指标数据的有效时域信号和频域信号,截取定长的局部信号,将截取的时频域信号作为基于CNN‑LSTM的注意力预测模型的训练样本,通过无监督训练方式得到指标数据的预测模型。
[0049] 基于卷积神经网络和长短时记忆网络的注意力预测模型包括:
[0050] 时频域特征提取模块,包含两个由一维卷积网络组成的特征提取模块,分别对时频域信号进行卷积操作,提取其空间特征和局部时序特征。
[0051] 时频域特征融合模块,包含一个用于提取特征上下文关系的一维卷积网络和一个软选择操作对时频域特征进行自适应融合,具体过程为:
[0052] M(zT,zF)=σ(Conv(GAP(zT+zF)))
[0053]
[0054] 其中,GAP为全局平均池化操作,Conv为卷积操作, 为张量点乘运算,σ表示激活T F函数,z表示提取得到的时域特征,z表示提取得到的频域特征,采用sigmoid激活函数将数值映射到[0,1]范围内作为各模态特征的权重,首先将时域特征和频域特征进行相加,经过全局平均池化层对全局信息进行整合,使用一维卷积网络学习通道特征的上下文关系,经T F T F
过激活函数得到每个通道的权重,最后对z和z做加权平均,各自权重分别为M(z ,z)和1‑T F
M(z ,z)。
[0055] 时空注意力模块,包含一个时间注意力机制和一个空间注意力机制,分别提取服务器指标数据的长时依赖关系和空间依赖关系,具体过程为:首先,对融合后的时频域特征经由BiLSTM层提取其时序关系得到输出特征 接着对BiLSTM层的输出特征由时间注意力和TPA注意力机制并行提取其超长时依赖关系和空间依赖关系分别得到时间注意力向量和空间注意力向量,最后经由全连接层得到预测结果。
[0056] 通过无监督方式对预测模型进行训练,具体方式为:
[0057] 通过滑动窗口方式从有效时域信号和频域信号中截取定长局部信号,将通过离散小波变换得到的时域信号和频域信号以滑动窗口的方式进行划分,滑动窗口大小根据数据的周期性进行分析得到,划分后的数据表示为W={w1,w2,...,wn},wi={x1,x2,...,xl},l为窗口长度。每次输入模型一个窗口大小的数据,根据历史l个数据预测未来某一时刻数据xl+Δ的值,其中Δ值设置为6;将均方根误差作为损失函数对预测模型进行训练,通过迭代训练直至模型收敛得到训练好的预测模型。其中,离散小波变换公式如下:
[0058]
[0059]
[0060] 其中,Wφ和Wψ分别是近似系数和细节系数,φ(t)和ψ(t)分别为尺度函数和小波函数,通过构造正交函数将时间序列进行多分辨率分解,得到原始数据的低频和高频信号。近似系数得到的低频信号能够能够反映原始数据的趋势,细节系数得到的高频信号能够反映原始数据中的随机波动;得到的频域信号长度为原始信号长度的一半,通过二次样条插值将频域信号扩充至与原始信号长度相同。以滑动窗口的方式对进行模态转换后的数据进行划分,根据SMD数据进行周期性分析,滑动窗口大小设置为100,滑动步长设置为1。
[0061] 根据SMD数据搭建预测模型,时频域特征提取模块的一维卷积网络参数为,卷积核大小为6,输出特征大小为100;时频域特征融合模块的一维卷积网络参数为,卷积核大小为7,输入特征与输出特征大小为1;时空注意力模块:时间注意力机制采用点积缩放评分函数: 其中Q为 K为 空间注意力机制评分函
C
数为: 其中H 由对 进行卷积操作得
C n×k C
到,H∈R , 表示H的行向量,Wa为n×k的权重矩阵;
[0062] 使用均方根误差作为损失函数,计算公式为: 通过使用训练集数据对预测模型进行迭代训练,使得模型能够学习服务器正常运行状态下的指标数据分布特征,直至模型收敛得到训练好的预测模型。
[0063] 步骤3:从步骤1中处理后的待检测数据中截取定长的时频域局部信号,将截取的信号作为测试样本输入至步骤2训练好的指标数据预测模型进行预测,得到待检测指标数据的预测结果。
[0064] 步骤4:通过步骤3获得待检测数据在预测模型上的预测值,根据预测值和实际值计算预测误差;采用指数加权移动平均对预测误差进行优化处理,消除由于指标数据存在突变峰值导致预测误差较大产生的影响;对预测误差进行拟合计算得到异常阈值,若预测误差大于异常阈值则表明服务器指标数据存在异常的时间点数据。
[0065] 根据预测模型对待检测的服务器性能指标数据进行预测,比较预测值与实际值得到预测误差,预测误差的计算方式为:
[0066]
[0067] 其中, 表示第i个性能指标t时刻预测模型预测值, 表示第i个性能指标t时刻原始数据值。
[0068] 对预测误差进行指数加权移动平均,计算方式为:
[0069] Vt=Vt‑1*α+et*(1‑α)
[0070] 其中,Vt是t时刻平滑后的预测误差,et是t时刻的预测误差,α为权重,通过设置α可以控制结果的平稳性,减少突变峰值对最终检测效果的影响。
[0071] 根据POT算法对平滑处理后的预测误差进行拟合得到异常阈值,POT算法的计算方式为:
[0072]
[0073]
[0074] 其中,f(x)为广义帕累托分布,通过最大似然估计得到辅助参数σ和极值指数γ,n为数据总数,q表示期望概率,Nt表示峰值数,最后通过设置参数q得到异常阈值。
[0075] 考虑到不平衡问题,为了更全面的评价本发明方法的性能,采用精确率(Precision),召回率(Recall)和F1分数作为评价指标。F1指标常用于评价统计学中的二分类模型的效果,其可以看作为模型精确率和召回率的调和平均。
[0076] 基于相同的发明构思,本发明还提供了一种基于时间序列的服务器多性能指标异常检测装置,包括数据采集模块、数据预处理模块、数据预测模块和异常检测模块;其中:
[0077] 数据采集模块,对服务器运行指标数据进行采集,包括数据的初步分析子模块,即查看指定时间段内指标数据的均值、方差及分位数等属性特征;指标数据标记子模块,用于标记服务器不同运行状态下产生的指标数据。
[0078] 数据预处理模块,在将数据输入至模型之前对数据进行预处理,得到对应的指标数据特征,包括数据清洗子模块,用于剔除无用的指标数据特征;归一化子模块,将各指标数据的数值范围映射至[0,1]范围内。
[0079] 数据预测模块,通过数据采集模块采集未知状态下的服务器运行产生的指标数,经过数据预处理模块对采集到的数据进行预处理得到有效时域信号;模态转换子模块,将指标数据的有效的时域信号转换为有效的频域信号;窗口划分子模块,用于截取定长的局部时频域信号;将截取的定长时频域数据输入至预测模型,得到相应的指标数据的预测值;模型更新子模块,当数据采集模块采集到的正常状态下的指标数据达到预设规模时,选取最新采集得到的数据对预测模型进行训练更新模型参数。
[0080] 异常检测模块,比较数据预测模块输出的预测值与实际值进行异常检测,包括预测误差计算子模块和异常阈值计算子模块;预测误差计算子模块:将所述的指标数据的预测值与实际值比较得出预测误差,使用指数加权移动平均对预测误差进行平滑处理;异常阈值计算子模块:根据POT算法对预测误差进行拟合确定异常阈值;若某时刻的预测误差大于异常阈值则将此时刻的状态标记为异常状态。
[0081] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。