掌桥专利:专业的专利平台
掌桥专利
首页

状态检测方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:54:45


状态检测方法、装置、电子设备及存储介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种状态检测方法、装置、电子设备及存储介质。

背景技术

网络流量异常是指网络流量行为偏离其正常行为的情形。随着网络规模的不断扩大,复杂性不断增加,网络流量异常对网络性能的影响越来越大。准确、快速地检测出网络异常流量,以得到对应的响应,是保证网络正常运行的前提条件。

目前,在进行网络流量状态的检测时,一般是根据历史检测到的流量数据,进行模型训练,得到训练模型,然后根据训练模型输出预测流量数据,然后通过预测流量数据和当前检测到的流量数据进行比对,得到检测结果。

然而,在进行流量状态的检测时,存在检测结果不准确的问题。

发明内容

本申请提供一种状态检测方法、装置、电子设备及存储介质,用以解决检测结果不准确的问题。

第一方面,本申请提供一种状态检测方法,方法包括:

获取初始样本数据集,初始样本数据集包括在多个历史时间点检测的历史流量数据;

根据流量数据分布范围,确定初始样本数据集中的第一异常值,其中,流量数据分布范围为根据初始样本数据集中历史流量数据的数据分布情况得到;

根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,其中,修正值根据初始样本数据集得到;

根据目标样本数据集,得到预测流量数据;

根据预测流量数据,确定待测流量数据的状态。

在本申请中,获取初始样本数据集,包括:

确定历史时间段,以及历史时间段内的获取频率;

根据获取频率和历史时间段,确定历史时间点;

根据历史时间点,获取历史流量数据;

根据历史流量数据,得到初始样本数据集。

在本申请中,根据历史流量数据,得到初始样本数据集,包括:

确定历史流量数据中的第二异常值,以及第二异常值的数量;

若第二异常值的数量符合预设数量的要求,则得到初始样本数据集。

在本申请中,若第二异常值的数量符合预设数量的要求,则得到初始样本数据集,包括:

若第二异常值的数量符合预设数量的要求,则确定与第二异常值对应的异常时间点;

根据异常时间点,确定异常时间点的相邻时间点,以及与相邻时间点对应的相邻历史流量数据;

根据相邻历史流量数据,对历史流量数据中的第二异常值进行替换,得到初始样本数据集。

在本申请中,根据流量数据分布范围,确定初始样本数据集中的第一异常值,包括:

确定历史流量数据中的第一阈值、第二阈值和中位数;

根据第一阈值、第二阈值和中位数,确定流量数据分布范围;

根据流量数据分布范围,确定初始样本数据集中的第一异常值。

在本申请中,根据第一阈值、第二阈值和中位数,确定流量数据分布范围,包括:

根据第一阈值和中位数,确定第一中位阈值范围;

根据第二阈值和中位数,确定第二中位阈值范围;

根据第一中位阈值范围和第二中位阈值范围,得到流量数据分布范围。

在本申请中,根据流量数据分布范围,确定初始样本数据集中的第一异常值,包括:

根据流量数据分布范围,确定历史流量数据中处于流量数据分布范围外的目标历史流量数据;

根据目标历史流量数据,得到第一异常值。

在本申请中,根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,包括:

确定初始样本数据集中历史流量数据的中位数;

根据中位数,得到修正值;

根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集。

在本申请中,根据目标样本数据集,得到预测流量数据,包括:

根据目标样本数据集,对初始时间序列预测模型进行训练,得到目标时间序列预测模型;

根据目标时间序列预测模型,得到预测流量数据。

在本申请中,根据预测流量数据,确定被测流量数据的状态,包括:

获取被测流量数据,以及被测流量数据的被测时间点;

根据被测流量数据、预测流量数据和被测时间点,确定被测流量数据的状态。

在本申请中,根据被测流量数据、预测流量数据和被测时间点,确定被测流量数据的状态,包括:

根据被测时间点,从预测流量数据中确定与被测时间点对应的目标预测流量数据;

比对目标预测流量数据和被测流量数据;

若目标预测流量数据和被测流量数据的差异度超过预设差异度,则确定被测时间点的相邻时间点,以及与相邻时间点对应的相邻被测流量数据和相邻预测流量数据;

若相邻被测流量数据和相邻预测流量数据之间的差异度超过预设差异度,则确定被测流量数据的状态为异常。

在本申请中,在确定被测时间点的相邻时间点,以及与相邻时间点对应的相邻被测流量数据和相邻预测流量数据之后,方法还包括:

若相邻被测流量数据和相邻预测流量数据之间的差异度未超过预设差异度,则确定被测流量数据的状态为正常。

第二方面,本申请提供一种状态检测装置,装置包括:

获取模块,用于获取初始样本数据集,初始样本数据集包括在多个历史时间点检测的历史流量数据;

第一确定模块,用于根据流量数据分布范围,确定初始样本数据集中的第一异常值,其中,流量数据分布范围为根据初始样本数据集中历史流量数据的数据分布情况得到;

数据清洗处理模块,用于根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,其中,修正值根据初始样本数据集得到;

得到模块,用于根据目标样本数据集,得到预测流量数据;

第二确定模块,用于根据预测流量数据,确定待测流量数据的状态。

第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;

存储器存储计算机执行指令;

处理器执行存储器存储的计算机执行指令,以实现本申请的状态检测方法。

第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本申请的状态检测方法。

本申请提供的状态检测方法、装置、电子设备及存储介质,通过获取初始样本数据集,初始样本数据集包括在多个历史时间点检测的历史流量数据;根据流量数据分布范围,确定初始样本数据集中的第一异常值,其中,流量数据分布范围为根据初始样本数据集中历史流量数据的数据分布情况得到;根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,其中,修正值根据初始样本数据集得到;根据目标样本数据集,得到预测流量数据;根据预测流量数据,确定待测流量数据的状态的手段,通过确定初始样本数据集中的第一异常值,并根据修正值对第一异常值进行流量数据清洗处理,使得得到的目标样本数据集可以避免异常值的干扰,从而能根据目标样本数据集更准确的得到预测流量数据,并根据预测流量数据得到检测结果,由此,实现了提高检测结果准确性的效果。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例提供的状态检测方法的流程示意图;

图2为本申请实施例提供的另一种状态检测方法的流程示意图;

图3为本申请实施例提供的状态检测装置的结构示意图;

图4为为本申请实施例提供的电子设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

现有技术中,在进行网络流量的状态检测时,一般是根据历史检测到的流量数据,进行模型训练,得到训练模型,然后根据训练模型输出预测流量数据,然后通过预测流量数据和当前检测到的流量数据进行比对,得到检测结果。其中,在获取到历史检测的流量数据后,历史检测的流量数据中由于异常值的存在,使得在进行模型训练时,异常值对训练模型的参数影响较大,进而导致通过训练模型得到的检测结果出现不准确的问题。

为了解决上述问题,本申请实施例通过获取初始样本数据集,然后根据流量数据分布范围,确定初始样本数据集中的第一异常值,再然后通过修正值,对初始样本数据集中的第一异常值进行数据清洗处理,得到目标样本数据集;最后根据目标样本数据集,得到预测流量数据并确定待测流量数据的状态。由此,实现了提高检测结果准确性的效果。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

本申请实施例提供的状态检测方法的执行主体可以是服务器。其中,服务器可以为手机、平板、电脑等设备。本实施例对执行主体的实现方式不做特别限制,只要该执行主体能够获取初始样本数据集,初始样本数据集包括在多个历史时间点检测的历史流量数据;根据流量数据分布范围,确定初始样本数据集中的第一异常值,其中,流量数据分布范围为根据初始样本数据集中历史流量数据的数据分布情况得到;根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,其中,修正值根据初始样本数据集得到;根据目标样本数据集,得到预测流量数据;根据预测流量数据,确定待测流量数据的状态即可。

图1为本申请实施例提供的状态检测方法的流程示意图。该方法的执行主体可以为服务器或其它服务器,本实施例此处不做特别限制,如图1所示,该方法可以包括:

S101、获取初始样本数据集,初始样本数据集包括在多个历史时间点检测的历史流量数据。

其中,初始样本数据集可以指在多个历史时间点所获取的检测到的历史流量数据,在本申请实施例中,初始样本数据集内可以包括多个历史流量数据以及与多个历史流量数据对应的多个历史时间点。

流量数据可以为被检测的用户实际使用的流量的数据,在一些实施例中,流量数据可以持续被检测。

时间点可以为获取检测流量数据时的时间,在一些实施例中,时间点可以为预先设置的时间点,比如,以天为周期,每天以每五分钟为一个时间点,获取检测到的流量数据。

历史流量数据可以为用户实际已使用的流量的数据。历史流量数据可以为在多个不同的历史时间点所获取的检测到的流量数据。比如,历史时间点可以包括获取当前时间的前七天的所有时间点,其中,每天的时间点可以为以每五分钟为一个时间点进行设置,由此,所得到的初始样本数据集可以包括七天内每隔5分钟所获取检测到的共2016个历史时间点的历史流量数据。

其中,在本申请实施例中,获取初始样本数据集的方法可以包括:

确定历史时间段,以及历史时间段内的获取频率;

根据获取频率和历史时间段,确定历史时间点;

根据历史时间点,获取历史流量数据;

根据历史流量数据,得到初始样本数据集。

其中,历史时间段可以为选取的已获取流量数据的时间段,在本申请实施例中,历史时间段可以为预先设置的时间段,比如,历史时间段可以设置为7天。

获取频率可以为在历史时间段所获取的流量数据的频率,在本申请实施例中,流量数据可以为实时检测的数据,通过获取频率可以确定流量数据的获取时间点,并通过该时间点确定对应的流量数据,比如,获取频率可以为每五分钟获取检测的流量数据,当历史时间段为7天时,则每天从0点开始,每隔五分钟获取一次检测到的流量数据。

在本申请实施例,在确定历史时间段和获取频率后,可以在预设的数据流量信息存储库中提取对应的历史流量数据,从而得到初始样本数据集。其中,数据流量信息为实时检测数据流量的信息存储库。

其中,在本申请实施例中,根据历史流量数据,得到初始样本数据集的方法可以包括:

确定历史流量数据中的第二异常值,以及第二异常值的数量;

若第二异常值的数量符合预设数量的要求,则得到初始样本数据集。

其中,第二异常值可以表征不符合要求的流量数据,其中,不符合要求可以指流量数据无法使用、不能表征实际使用情况的数据,比如,在一些实施例中,第二异常值可以为空值,即在时间点内,获取到的检测的流量数据不存在。

第二异常值的数量可以指第二异常值的个数。在本申请实施例中,当第二异常值过多时,则表征所获取到的数据存在问题,无法进行后续的使用。

预设数量的要求可以为对第二异常值的数量要求,比如,要求第二异常值的数量少于预设数量才表征所获取到的数据没有问题,可以后续使用。其中,预设数量可以为预先设置的。比如,当初始样本数据集中的历史流量数据有2016个时,预设数量可以为1008个,预设数量的要求可以为第二异常值少于预设数量1008个,当第二异常值的数量为1000个时,则表征所获取到的2016个历史流量数据可以进行后续步骤的使用,当第二异常值的数量为1020个时,则表征所获取到的2016个历史流量数据无法进行后续步骤的使用。

其中,在本申请实施例中,若第二异常值的数量符合预设数量的要求,则得到初始样本数据集的方法可以包括:

若第二异常值的数量符合预设数量的要求,则确定与第二异常值对应的异常时间点;

根据异常时间点,确定异常时间点的相邻时间点,以及与相邻时间点对应的相邻历史流量数据;

根据相邻历史流量数据,对历史流量数据中的第二异常值进行替换,得到初始样本数据集。

其中,异常时间点可以为与检测获取与第二异常值对应的历史流量数据的时间点。

相邻时间点可以为与异常时间点的上一时间点或下一时间点,其中,上一时间点和下一时间点所对应的历史流量数据为相邻历史流量数据,相邻历史流量数据为非异常状态下的流量数据。

在得到相邻历史流量数据后,可以将历史流量数据中的第二异常值进行替换为相邻历史流量数据,从而得到初始样本数据集。

S102、根据流量数据分布范围,确定初始样本数据集中的第一异常值,其中,流量数据分布范围为根据初始样本数据集中历史流量数据的数据分布情况得到。

其中,流量数据分布范围可以表征初始样本数据集中各个历史流量数据的数据分布情况,比如,各个历史流量数据的离散程度、最大值、最小值等。通过流量数据分布范围可以确定历史流量数据中离散程度较高的数据和离散程度较低的数据,从而可以确定出初始样本数据集中的第一异常值。

第一异常值可以为初始样本数据集数据明显偏大或偏小的历史流量数据。其中,在本申请实施例中,根据流量数据分布范围,确定初始样本数据集中的第一异常值的方法可以包括:

确定历史流量数据中的第一阈值、第二阈值和中位数;

根据第一阈值、第二阈值和中位数,确定流量数据分布范围;

根据流量数据分布范围,确定初始样本数据集中的第一异常值。

其中,第一阈值可以表征初始样本数据集中历史流量数据的最大值,即表征流量使用最多的数据。

第二阈值可以表征初始样本数据集中历史流量数据的最小值,即表征流量使用最少的数据。

中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。在本申请实施例中,中位数表征多个历史流量数据的中值。

通过第一阈值、第二阈值和中位数,可以对流量数据分布范围进行划定,从而确定出远离中位值、靠近第一阈值和第二阈值的第一异常值。

其中,在本申请实施例中,根据第一阈值、第二阈值和中位数,确定流量数据分布范围的方法可以包括:

根据第一阈值和中位数,确定第一中位阈值范围;

根据第二阈值和中位数,确定第二中位阈值范围;

根据第一中位阈值范围和第二中位阈值范围,得到流量数据分布范围。

其中,第一中位阈值范围可以表征大于中位数、且靠近中位数的范围。比如,第一中位阈值范围可以包括中位数到第一阈值间四分之三数值的范围。其中,该范围可以为任意设置的范围。

第二中位阈值范围可以表征小于中位数、且靠近中位数的范围。比如,第二中位阈值范围可以包括中位数到第二阈值间四分之三数值的范围。其中,该范围可以为任意设置的范围。

在本申请实施例中,在确定第一中位阈值范围和第二中位阈值范围后,可以得到流量数据分布范围。

其中,在本申请实施例中,根据流量数据分布范围,确定初始样本数据集中的第一异常值的方法可以包括:

根据流量数据分布范围,确定历史流量数据中处于流量数据分布范围外的目标历史流量数据;

根据目标历史流量数据,得到第一异常值。

其中,目标历史流量数据为处于流量数据分布范围外的流量数据。目标历史流量数据为第一异常值。

S103、根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,其中,修正值根据初始样本数据集得到。

其中,修正值可以用于对第一异常值进行修正替换的清洗处理,使得整个初始样本数据中错误的异常值替换为正常的数据,以可以进行后续的模型训练的使用。

其中,在本申请实施例中,根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集的方法可以包括:

确定初始样本数据集中历史流量数据的中位数;

根据中位数,得到修正值;

根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集。

其中,修正值可以为初始样本数据集中历史流量数据的中位数。通过将初始样本数据集中的第一异常值替换为修正值,从而可以得到目标样本数据集。

S104、根据目标样本数据集,得到预测流量数据。

其中,预测流量数据可以为根据目标样本数据集预测的流量数据,比如,目标样本数据集为前七天的实际的流量数据,预测流量数据可以为预测到的后一天的流量数据。其中,预测流量数据可以有多个,且当历史流量数据为每5分钟获取的数据时,预测流量数据也为每5分钟获取的数据,且获取的时间与历史流量数据的历史时间点对应。

其中,预测流量数据可以通过将目标样本数据集输入到预设模型中进行模型训练得到。在本申请实施例中,根据目标样本数据集,得到预测流量数据的方法可以包括:

根据目标样本数据集,对初始时间序列预测模型进行训练,得到目标时间序列预测模型;

根据目标时间序列预测模型,得到预测流量数据。

其中,时间序列预测模型可以指利用获得的数据按时间顺序排成序列,分析其变化方向和程度,从而对未来若干时期可能达到的水平进行推测的模型。

初始时间序列预测模型可以指未进行输入目标样本数据集训练的时间序列预测模型。

目标时间序列预测模型可以指输入目标样本数据集进行训练后的时间序列预测模型。

在确定目标时间序列预测模型后,通过对目标时间序列预测模型的时间变量进行调整,从而可以得到预测流量数据。

y(t)=g(t)+s(t)+h(t)+ε(t);

其中,g(t)可以表示趋势项,g(t)表征时间序列在非周期上面的变化趋势是基于分段线性函数的。在本申请实施例中,g(t)的公式为:

g(t)=(k+a(t)

k表示增长率;δ表示增长率的变化量;a(t)∈{0,1};m表示偏移量;γ表示偏移量变化量。

其中,s(t)可以表示周期项,或者称为季节项,可以以天、周、月、年为单位。在本申请实施例中,s(t)的公式可以为:

使用傅立叶级数来模拟时间序列的周期性,P表示时间序列的周期,在本申请实施例中,P=7表示以周为周期;N表示周期的个数;a

其中,h(t)可以表示节假日项,表示时间序列中那些潜在的具有非固定周期的节假日对预测流量数据造成的影响。在本申请实施例中,h(t)的公式可以为:

i表示第i个节假日;L表示节假日总数;k~Normal(0,v

其中,ε(t)可以为误差项或者剩余项,表示模型未预测到的波动,服从高斯分布。

S105、根据预测流量数据,确定待测流量数据的状态。

其中,待测流量数据可以为当前实时检测到的流量数据。

状态可以指待测流量数据正常或异常的状态。通过比对预测流量数据和待测流量数据,可以确定待测流量数据的状态。

其中,在本申请实施例中,根据预测流量数据,确定被测流量数据的状态的方法可以包括:

获取被测流量数据,以及被测流量数据的被测时间点;

根据被测流量数据、预测流量数据和被测时间点,确定被测流量数据的状态。

其中,被测时间点可以为获取被测流量数据的时间点。在确定被测时间点之后,可以根据被测时间点,确定与被测时间点对应的目标预测流量数据,由此,可以确定对应的目标预测流量数据和被测流量数据,并通过比对目标预测流量数据和被测流量数据,确定被测流量数据的状态。

其中,在本申请实施例中,根据被测流量数据、预测流量数据和被测时间点,确定被测流量数据的状态的方法可以包括:

根据被测时间点,从预测流量数据中确定与被测时间点对应的目标预测流量数据;

比对目标预测流量数据和被测流量数据;

若目标预测流量数据和被测流量数据的差异度超过预设差异度,则确定被测时间点的相邻时间点,以及与相邻时间点对应的相邻被测流量数据和相邻预测流量数据;

若相邻被测流量数据和相邻预测流量数据之间的差异度超过预设差异度,则确定被测流量数据的状态为异常。

其中,目标预测流量数据可以为与被测时间点对应时间点的被测流量数据,比如,当被测时间点为1点05分时,目标预测流量数据可以为预测流量数据中的1点05分的数据。

比对目标预测流量数据和被测流量数据可以指判断被测流量数据是否处于目标预测流量数据的数值范围之外。当被测流量数据处于目标预测流量数据的数值范围之外时,则表征目标预测流量数据和被测流量数据的差异度较大,即差异度超过预设差异度,表征被测流量数据的状态为异常;当被测流量数据处于目标预测流量数据的数值范围之内时,则表征目标预测流量数据和被测流量数据的差异度较小,即差异度未超过预设差异度,表征被测流量数据的状态为正常。

其中,目标预测流量数据的数值范围可以根据目标预测流量数据预先确定。

其中,在本申请实施例中,在确定被测时间点的相邻时间点,以及与相邻时间点对应的相邻被测流量数据和相邻预测流量数据之后的方法还可以包括:

若相邻被测流量数据和相邻预测流量数据之间的差异度未超过预设差异度,则确定被测流量数据的状态为正常。

本申请实施例提供的状态检测方法,可以通过获取初始样本数据集,初始样本数据集包括在多个历史时间点检测的历史流量数据;根据流量数据分布范围,确定初始样本数据集中的第一异常值,其中,流量数据分布范围为根据初始样本数据集中历史流量数据的数据分布情况得到;根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,其中,修正值根据初始样本数据集得到;根据目标样本数据集,得到预测流量数据;根据预测流量数据,确定待测流量数据的状态,从而可以通过确定初始样本数据集中的第一异常值,并根据修正值对第一异常值进行流量数据清洗处理,使得得到的目标样本数据集能避免异常值的干扰,从而能根据目标样本数据集更准确的得到预测流量数据,并根据预测流量数据得到检测结果,由此,实现了提高检测结果准确性的效果。

图2为本申请实施例提供的另一种状态检测方法的流程示意图,如图2所示,该方法可以包括:

S201、获取历史流量数据。

其中,可以通过Kafka(Apache Kafka,开源流处理平台)的Exporter获取历史流量数据。其中,历史流量数据以每5分钟作为时间点,一共获取7天2016个时间点处的流量数据。

S202、确定历史流量数据中的缺失数据。

其中,缺失数据为历史流量数据中的空值流量数据。

S203、若缺失数据超过预设数量,则将历史流量数据作为丢失数据进行丢失,并重复步骤S201。

其中,当历史流量数据中的流量数据有2016个、预设数量为1008个、缺失数据为1014时,则缺失数据超过预设数量历史流量数据作为丢失数据进行丢失,需要重新获取历史流量数据。

S204、若缺失数据未超过预设数量,则根据缺失数据所在的上一时间点的正常数据进行填补,得到初始历史流量数据。

其中,上一时间点的正常数据可以为上一时间点的不为空值的数据。

S205、基于Boxplot算法,确定初始历史流量数据中的异常数据。

其中,Boxplot算法原理可以为通过确定初始历史流量数据的箱线图来明确的展示离群点的信息。其中,箱线图上的数值点包括最小值,第一四分位数(Q1),中位数,第三四分位数(Q3)和最大值,其中,四分位数(interquartile range,IQR)可以是描述统计学中的一种方法,以确定第三四分位数和第一四分位数的区别。与方差、标准差一样,表示统计资料中各变量分散情形。IQR=Q3-Q1。在本申请实施例中,异常值可以为小于Q1-1.5IQR的值或大于Q3+1.5IQR的值。

S206、根据中位数,对初始历史流量数据中的异常数据进行替换,得到目标历史流量数据,其中,中位数为初始历史流量数据中所有流量数据的中位数;

S207、根据目标历史流量数据,对时间序列预测模型进行训练,得到目标时间序列预测模型;

S208、根据目标时间序列预测模型,获取目标时间段内的预测流量数据。

其中,时间序列预测模型可以为基于Prophet算法的模型。在本申请实施例中,由于Prophet算法采用分段线性函数,故往往对新的拐点的出现会有一定时间的迟缓,本申请实施例可以对Prophet算法进行优化,通过将模型训练后的预测值整体进行了一个时间的推移,从而解决对新拐点出现缓慢,就会导致数据的波峰和波谷在时间维度上出现延迟的问题。其中,在本申请实施例中,推移的时间可以为30分钟。

S209、根据预测流量数据,确定目标时间段内的待测流量数据的状态。

其中,由于时间序列预测模型模型是以5分钟为粒度,预测当天每个时刻的预测值,然后通过判断实际获取的实际值是否在预测值范围内,如果连续四个点超出预测范围则判断为异常。

本申请实施例提出的基于Boxplot模型算法和Prophet算法的状态检测方法,在实际的kafka流量异常波动检测系统中的检测时可以大幅提高检测结果的准确率,该方法建模简单、执行效率高,能非常好的适应异常情况的数据,并且可以准确的抽取出kafka数据中的周期性和趋势性。其中,在实际应用中,首先可以通过已有的kafka的exporter应用http(超文本传输协议)请求获取以5分钟为粒度的7天历史数据,该历史数据可以包括每个话单的历史话单流量,然后将所有在用话单存在csv文件(Comma-Separated Values,逗号分隔值)中,然后做数据预处理,包括在用话单筛选、缺失值填充、0值填充、异常值处理等,然后用prophet算法做训练,得到预测值和预测值范围,然后以每5分钟粒度去进行实时的预测异常波动,并封装为Exporter提供服务,因服务器没有相应的python环境,在本地服务器上搭建Docker(开源的应用容器引擎),并镜像相应的python环境和依赖包到内网服务器,然后将程序部署到Docker内。用crontab(程序指令)进行定时设置每天凌晨12点进行新模型训练,1点进行新模型的替换预测。最后应用普罗米修斯发送检测结果给用户进行处理。

图3为本申请实施例提供的状态检测装置的结构示意图。如图3所示,该状态检测装置30包括:获取模块301、第一确定模块302、数据清洗处理模块303、得到模块304以及第二确定模块305。其中:

获取模块301,用于获取初始样本数据集,初始样本数据集包括在多个历史时间点检测的历史流量数据;

第一确定模块302,用于根据流量数据分布范围,确定初始样本数据集中的第一异常值,其中,流量数据分布范围为根据初始样本数据集中历史流量数据的数据分布情况得到;

数据清洗处理模块303,用于根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,其中,修正值根据初始样本数据集得到;

得到模块304,用于根据目标样本数据集,得到预测流量数据;

第二确定模块305,用于根据预测流量数据,确定待测流量数据的状态。

在本申请实施例中,获取模块301还可以具体用于:

确定历史时间段,以及历史时间段内的获取频率;

根据获取频率和历史时间段,确定历史时间点;

根据历史时间点,获取历史流量数据;

根据历史流量数据,得到初始样本数据集

在本申请实施例中,获取模块301还可以具体用于:

确定历史流量数据中的第二异常值,以及第二异常值的数量;

若第二异常值的数量符合预设数量的要求,则得到初始样本数据集。

在本申请实施例中,获取模块301还可以具体用于:

若第二异常值的数量符合预设数量的要求,则确定与第二异常值对应的异常时间点;

根据异常时间点,确定异常时间点的相邻时间点,以及与相邻时间点对应的相邻历史流量数据;

根据相邻历史流量数据,对历史流量数据中的第二异常值进行替换,得到初始样本数据集。

在本申请实施例中,第一确定模块302还可以具体用于:

确定历史流量数据中的第一阈值、第二阈值和中位数;

根据第一阈值、第二阈值和中位数,确定流量数据分布范围;

根据流量数据分布范围,确定初始样本数据集中的第一异常值。

在本申请实施例中,第一确定模块302还可以具体用于:

根据第一阈值和中位数,确定第一中位阈值范围;

根据第二阈值和中位数,确定第二中位阈值范围;

根据第一中位阈值范围和第二中位阈值范围,得到流量数据分布范围。

在本申请实施例中,第一确定模块302还可以具体用于:

根据流量数据分布范围,确定历史流量数据中处于流量数据分布范围外的目标历史流量数据;

根据目标历史流量数据,得到第一异常值。

在本申请实施例中,数据清洗处理模块303还可以具体用于:

确定初始样本数据集中历史流量数据的中位数;

根据中位数,得到修正值;

根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集。

在本申请实施例中,得到模块304还可以具体用于:

根据目标样本数据集,对初始时间序列预测模型进行训练,得到目标时间序列预测模型;

根据目标时间序列预测模型,得到预测流量数据。

在本申请实施例中,第二确定模块305还可以具体用于:

获取被测流量数据,以及被测流量数据的被测时间点;

根据被测流量数据、预测流量数据和被测时间点,确定被测流量数据的状态。

在本申请实施例中,第二确定模块305还可以具体用于:

根据被测时间点,从预测流量数据中确定与被测时间点对应的目标预测流量数据;

比对目标预测流量数据和被测流量数据;

若目标预测流量数据和被测流量数据的差异度超过预设差异度,则确定被测时间点的相邻时间点,以及与相邻时间点对应的相邻被测流量数据和相邻预测流量数据;

若相邻被测流量数据和相邻预测流量数据之间的差异度超过预设差异度,则确定被测流量数据的状态为异常。

在本申请实施例中,第二确定模块305还可以具体用于:

若相邻被测流量数据和相邻预测流量数据之间的差异度未超过预设差异度,则确定被测流量数据的状态为正常。

由上可知,本实施例的状态检测装置获取模块301,用于获取初始样本数据集,初始样本数据集包括在多个历史时间点检测的历史流量数据;第一确定模块302,用于根据流量数据分布范围,确定初始样本数据集中的第一异常值,其中,流量数据分布范围为根据初始样本数据集中历史流量数据的数据分布情况得到;数据清洗处理模块303,用于根据第一异常值和修正值,对初始样本数据集进行数据清洗处理,得到目标样本数据集,其中,修正值根据初始样本数据集得到;得到模块304,用于根据目标样本数据集,得到预测流量数据;第二确定模块305,用于根据预测流量数据,确定待测流量数据的状态。由此,实现了提高检测结果准确性的效果。

图4为本申请实施例提供的电子设备的结构示意图。如图4所示,该电子设备40包括:

该电子设备40可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、通信部件403等部件。其中,处理器401、存储器402以及通信部件403通过总线404连接。

在具体实现过程中,至少一个处理器401执行存储器402存储的计算机执行指令,使得至少一个处理器401执行如上的状态检测方法。

处理器401的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

在上述的图4所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

在一些实施例中,还提出一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述任一种状态检测方法中的步骤。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种状态检测方法中的步骤。

其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。

根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。

由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种状态检测方法中的步骤,因此,可以实现本申请实施例所提供的任一种状态检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

相关技术
  • 具有物理不可克隆功能的器件及其制造方法、芯片
  • 用于物理不可克隆功能安全的OTP存储器单元
  • 物理不可克隆功能电路、系统及具有此功能的集成电路
  • 物理不可克隆功能电路、系统及具有此功能的集成电路
技术分类

06120116380388