一种异常检测方法和装置与流程

文档序号:11479526阅读:275来源:国知局
一种异常检测方法和装置与流程

本发明涉及异常检测技术领域,特别是涉及一种异常检测方法和一种异常检测装置。



背景技术:

随着异常检测技术的不断发展,系统运维技术也得到了普遍的应用。在系统运维中,通过检测监控的关键性能指标,及时发现其异常发送报警给系统运维人员,从而实现监控的性能指标的异常识别。

目前,性能指标监控中的异常检测主要是通过运维人员设置固定的报警阈值来实现的,当监控的性能指标超过该报警阈值时,则系统判断其为异常,并发送报警提醒。

在现有技术中,一方面,监控的性能指标时间序列具有周期性变化的规律;网站导流、推广、活动拉新及新产品上线等因素会导致流量激增,使得监控的性能指标时间序列不平稳,而使用固定的报警阈值不能够适用于上述情况,因此在进行异常检测时容易产生误报。另一方面,单纯地使用固定的报警阈值,当该报警阈值设得过低会容易产生误报,设得过高会容易产生漏报。



技术实现要素:

为了解决使用固定的报警阈值在进行异常检测时产生误报或漏报的问题,本发明实施例提供一种异常检测方法和装置。

依据本发明的一个方面,提供了一种异常检测方法,包括:

采集基线流量的当前时刻实际值;

采集目标流量的当前时刻实际值;

根据所述基线流量的上一时刻实际值、所述基线流量的当前时刻实际值及所述目标流量的上一时刻实际值,预测所述目标流量的当前时刻预测值;

根据所述目标流量的当前时刻实际值与所述当前时刻预测值,计算当前时刻预测误差值;

根据历史预测误差值,计算上下限阈值;所述历史预测误差值为当前时刻之前各时刻的预测误差值;

根据所述当前时刻预测误差值和所述上下限阈值,检测所述目标流量的当前时刻实际值是否为异常状态。

可选地,所述根据历史预测误差值,计算上下限阈值的步骤,包括:

获取所述历史预测误差值;所述历史预测误差值包括至少一个预测误差值;

采用高斯模型对所述历史预测误差值进行高斯分布曲线拟合;

确定所述高斯分布曲线的均值和方差;

根据所述均值和方差,确定所述上下限阈值。

可选地,所述根据所述当前时刻预测误差值和所述上下限阈值,检测所述目标流量的当前时刻实际值是否为异常状态的步骤,包括:

判断所述当前时刻预测误差值是否处于所述上下限阈值的范围之间;

如果所述当前时刻预测误差值不处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值为异常状态,发送报警信息;

如果所述当前时刻预测误差处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值不为异常状态,不发送报警信息。

可选地,所述根据所述基线流量的上一时刻实际值、所述基线流量的当前时刻实际值及所述目标流量的上一时刻实际值,预测所述目标流量的当前时刻预测值的步骤,包括:

利用所述基线流量的当前时刻实际值除以所述基线流量的上一时刻实际值,再乘以所述目标流量的当前时刻实际值,计算所述目标流量的当前时刻预测值。

根据本发明的另一方面,提供了一种异常检测装置,包括:

第一采集模块,用于采集基线流量的当前时刻实际值;

第二采集模块,用于采集目标流量的当前时刻实际值;

预测模块,用于根据所述基线流量的上一时刻实际值、所述基线流量的当前时刻实际值及所述目标流量的上一时刻实际值,预测所述目标流量的当前时刻预测值;

第一计算模块,用于根据所述目标流量的当前时刻值与所述预测值,计算当前时刻预测误差值;

第二计算模块,用于根据历史预测误差值,计算上下限阈值;所述历史预测误差值为当前时刻之前各时刻的预测误差值;

检测模块,用于根据所述当前时刻预测误差值和所述上下限阈值,检测所述目标流量的当前时刻实际值是否为异常状态。

可选地,所述第二计算模块,包括:

获取子模块,用于获取所述历史预测误差值;所述历史预测误差值包括至少一个预测误差值;

曲线拟合子模块,用于采用高斯模型对所述历史预测误差值进行高斯分布曲线拟合;

第一确定子模块,用于确定所述高斯分布曲线的均值和方差;

第二确定子模块,用于根据所述均值和方差,确定所述上下限阈值。

可选地,所述检测模块,包括:

判断子模块,用于判断所述当前时刻预测误差值是否处于所述上下限阈值的范围之间;

第三确定子模块,用于如果所述当前时刻预测误差值不处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值为异常状态,发送报警信息;

第四确定子模块,用于如果所述当前时刻预测误差处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值不为异常状态,不发送报警信息。

可选地,所述预测模块,用于:

利用所述基线流量的当前时刻值除以所述基线流量的上一时刻值,再乘以所述目标流量的当前时刻值,计算所述目标流量的当前时刻的预测值。

针对在先技术,本发明具备如下优点:

本发明提供了一种异常检测方法和装置,通过实时采集基线流量的当前时刻实际值和目标流量的当前时刻实际值,根据基线流量的上一时刻实际值、基线流量的当前时刻实际值和目标流量的上一时刻实际值,预测目标流量的当前时刻预测值,并利用目标流量的当前时刻实际值和当前时刻预测值,计算得到目标流量的当前时刻预测值,然后通过当前时刻预测值与上下限阈值,检测目标流量的当前时刻值是否为异常状态。本发明通过历史预测误差值实时计算用于监控目标流量的上下限阈值,并通过目标流量的当前时刻预测误差值与上下限阈值,检测目标流量的当前时刻实际值的异常状态,实现了根据动态的上下限阈值进行异常检测的目的,降低了进行异常检测时产生的误报率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一中的一种异常检测方法的步骤流程图;

图2是本发明实施例二中的一种异常检测方法的步骤流程图;

图3是本发明实施例提供的一种异常检测方法的总框图;

图4是本发明实施例三中的一种异常检测装置的结构示意图;

图5是本发明实施例四中的一种异常检测装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面通过列举几个具体的实施例详细介绍本发明提供的一种异常检测方法和装置。

实施例一

详细介绍本发明实施例提供的一种异常检测方法。

参照图1,示出了本发明实施例中一种异常检测方法的步骤流程图,具体可以包括如下步骤:

步骤101,采集基线流量的当前时刻实际值。

在系统运维中,通过检测系统所监控的目标流量的异常状态并发送报警给系统运维人员,来实现系统运维人员对系统的维护。

本发明实施例中,基线流量可以为反映真实用户行为的流量,真实用户行为指的是不能够使用计算机模拟用户的行为,该基线流量在采集过程中,不存在流量恶意伪造的情况。例如,该基线流量可以为鉴权流量、观影流量或者购物流量等,基线流量可以根据实际情况来确定,本发明实施例对其不加以限制。

步骤102,采集目标流量的当前时刻实际值。

本发明实施例中,目标流量为系统所要监控的目标流量,也即是需要对该目标流量的异常状态进行检测并发送报警信息给系统运维人员。监控的目标流量为反映非真实用户行为的流量,非真实用户行为指的是能够使用计算机来完全模拟用户的行为,该目标流量在采集过程中,存在流量恶意伪造的情况,例如,该目标流量可以为注册流量或登录流量等。

需要说明的是,基线流量可以作为衡量目标流量的基准。实际应用中,系统中存储有多种基线流量的各个时刻实际值,例如,以一个基线流量为例进行说明,首先选取一个时间区间,获取该时间区间中基线流量的每个时刻对应的实际值,对于系统所要监控的目标流量,选取同样的时间区间,获取该时间区间中目标流量的每个时刻对应的实际值,然后根据获取的这些实际值,计算该基线流量和该目标流量之间的相关系数。系统中每一个基线流量都可以采用同样的方法计算得到与系统所要监控的目标流量之间的相关系数。本发明实施例可以设置一个相关系数的阈值,将计算得到的每个相关系数与该阈值进行比较,如果存在相关系数大于该阈值,且该相关系数在计算得到的所有相关系数中最大,则可以确定该相关系数对应的基线流量作为衡量系统所要监控的目标流量的基准。

需要说明的是,相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度。本发明实施例中,相关系数的计算方法可以通过现有技术来实现,本发明实施例不对其进行详细描述。其中,相关系数的取值范围为0-1,本发明实施例设置的相关系数的阈值可以为0.7,该阈值的具体数值可以通过系统运维人员根据实际情况来设定,本发明实施例不对其加以限制。

步骤103,根据所述基线流量的上一时刻实际值、所述基线流量的当前时刻实际值及所述目标流量的上一时刻实际值,预测所述目标流量的当前时刻预测值。

本发明实施例可以通过获取基线流量的上一时刻实际值、基线流量的当前时刻实际值以及目标流量的上一时刻实际值,利用基线流量的当前时刻实际值除以基线流量的上一时刻实际值,再乘以目标流量的当前时刻实际值,计算的结果即为目标流量的当前时刻预测值。

步骤104,根据所述目标流量的当前时刻实际值与所述当前时刻预测值,计算当前时刻预测误差值。

本发明实施例可以通过将该目标流量的当前时刻实际值减去目标流量的当前时刻预测误差值,计算结果即为当前时刻预测误差值,该当前时刻预测误差值为目标流量的当前时刻预测误差值。

步骤105,根据历史预测误差值,计算上下限阈值。

其中,历史预测误差值为当前时刻之前各时刻的预测误差值,上下限阈值包括上限阈值和下限阈值,用于判断目标流量的当前时刻预测误差值是否在该上限阈值与下限阈值之间。

示例的,本发明实施例可以通过调用sparksql离线分析引擎执行高斯分布拟合的算法来得到上下限阈值。其中,sparksql是spark的一个组件,用于结构化数据的计算。

步骤106,根据所述当前时刻预测误差值和所述上下限阈值,检测所述目标流量的当前时刻实际值是否为异常状态。

本发明实施例可以利用上下限阈值检测当前时刻预测误差值的异常状态,从而检测目标流量的当前时刻实际值是否为异常状态。

综上所述,在本发明实施例中,通过实时采集基线流量的当前时刻实际值和目标流量的当前时刻实际值,根据基线流量的上一时刻实际值、基线流量的当前时刻实际值和目标流量的上一时刻实际值,预测目标流量的当前时刻预测值,并利用目标流量的当前时刻实际值和当前时刻预测值,计算得到目标流量的当前时刻预测值,然后通过当前时刻预测值与上下限阈值,检测目标流量的当前时刻值是否为异常状态。本发明通过历史预测误差值实时计算用于监控目标流量的上下限阈值,并通过目标流量的当前时刻预测误差值与上下限阈值,检测目标流量的当前时刻实际值的异常状态,实现了根据动态的上下限阈值进行异常检测的目的,降低了进行异常检测时产生的误报率。

实施例二

详细介绍本发明实施例提供的一种异常检测方法。

参照图2,示出了本发明实施例中一种异常检测方法的步骤流程图,具体可以包括如下步骤:

步骤201,采集基线流量的当前时刻实际值。

在系统运维中,通过检测系统所监控的目标流量的异常状态并发送报警给系统运维人员,来实现系统运维人员对系统的维护。

本发明实施例中,基线流量可以为反映真实用户行为的流量,真实用户行为指的是不能够使用计算机模拟用户的行为,该基线流量在采集过程中,不存在流量恶意伪造的情况。例如,该基线流量可以为鉴权流量、观影流量或者购物流量等,基线流量可以根据实际情况来确定,本发明实施例对其不加以限制。

实际应用中,本发明实施例可以通过采用智能报警装置去采集基线流量的当前时刻实际值,具体的,主要是采用火花流(英文:sparkstreaming)流式分析引擎来采集基线流量的当前时刻实际值,并将采集的基线流量的当前时刻实际值存储至该智能报警装置中的mysql数据库中。

其中,sparkstreaming是建立在spark上的实时计算框架,通过它提供的丰富的应用程序编程接口(英文:applicationprogramminginterface,简称:api)、基于内存的高速执行引擎,用户可以结合流式、批处理和交互查询应用,实现高吞吐量、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,从数据源获取数据之后,可以使用高级函数进行复杂算法的处理,并将处理结果存储到文件系统、数据库和现场仪表盘。mysql是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,具有体积小、速度快和成本低等特点。

步骤202,采集目标流量的当前时刻实际值。

本发明实施例中,目标流量为系统所要监控的目标流量,也即是需要对该目标流量的异常状态进行检测并发送报警信息给系统运维人员。监控的目标流量为反映非真实用户行为的流量,非真实用户行为指的是能够使用计算机来完全模拟用户的行为,该目标流量在采集过程中,存在流量恶意伪造的情况,例如,该目标流量可以为注册流量或登录流量等。

需要说明的是,基线流量可以作为衡量目标流量的基准。实际应用中,系统中存储有多种基线流量的各个时刻实际值,例如,以一个基线流量为例进行说明,首先选取一个时间区间,获取该时间区间中基线流量的每个时刻对应的实际值,对于系统所要监控的目标流量,选取同样的时间区间,获取该时间区间中目标流量的每个时刻对应的实际值,然后根据获取的这些实际值,计算该基线流量和该目标流量之间的相关系数。系统中每一个基线流量都可以采用同样的方法计算得到与系统所要监控的目标流量之间的相关系数。本发明实施例可以设置一个相关系数的阈值,将计算得到的每个相关系数与该阈值进行比较,如果存在相关系数大于该阈值,且该相关系数在计算得到的所有相关系数中最大,则可以确定该相关系数对应的基线流量作为衡量系统所要监控的目标流量的基准。

需要说明的是,相关系数是用以反映变量之间相关关系密切程度的统计指标。相关系数是按积差方法计算,同样以两变量与各自平均值的离差为基础,通过两个离差相乘来反映两变量之间相关程度。本发明实施例中,相关系数的计算方法可以通过现有技术来实现,本发明实施例不对其进行详细描述。其中,相关系数的取值范围为0-1,本发明实施例设置的相关系数的阈值可以为0.7,该阈值的具体数值可以通过系统运维人员根据实际情况来设定,本发明实施例不对其加以限制。

实际应用中,本发明实施例还可以同时通过智能报警装置中的去旁电路采集目标流量的的当前时刻实际值,具体的,主要是采用sparkstreaming流式分析引擎来采集目标流量的当前时刻实际值,并将采集的目标流量的当前时刻实际值存储至该智能报警装置中的mysql数据库中。其中,mysql是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,具有体积小、速度快和成本低等特点。

步骤203,根据所述基线流量的上一时刻实际值、所述基线流量的当前时刻实际值及所述目标流量的上一时刻实际值,预测所述目标流量的当前时刻预测值。

本发明实施例中,可以通过采用预测器预测目标流量的当前时刻预测值。具体的,首先获取基线流量的上一时刻实际值、基线流量的当前时刻实际值以及目标流量的上一时刻实际值,利用基线流量的当前时刻实际值除以基线流量的上一时刻实际值,再乘以目标流量的当前时刻实际值,计算的结果即为目标流量的当前时刻预测值。例如,基线流量的上一时刻实际值为x1,基线流量的当前时刻实际值为x2,目标流量的上一时刻实际值为y1,目标流量的当前时刻预测值为y2_estimate,可以根据公式y2_estimate=x2/x1*y1,计算得到的y2_estimate即为目标流量的当前时刻预测值。其中,该公式中的比例系数x2/x1是由基线流量的当前时刻实际值和基线流量的上一时刻实际值确定的,由于本发明实施例中系统监控的目标流量为与基线流量相关的流量,采集的基线流量的各个时刻实际值的变化趋势与采集的目标流量的各个时刻实际值的变化趋势基本一致,可以通过该比例系数x2/x1与目标流量的上一时刻实际值y1,预测出目标流量的当前时刻实际值。

示例的,本发明实施例可以通过对采集的基线流量的各个时刻实际值和采集的目标流量的各个时刻实际值进行统计分析,分别形成基线曲线和目标曲线,基线曲线和目标曲线上对应的各个时刻的数据即为采集的基线流量的各个时刻实际值和目标流量的各个时刻实际值。例如,本发明实施例设定的时间间隔为1秒,若当前时刻t1为十点三十六分六秒时,在基线曲线上对应的该时刻t1的基线流量的实际值为x2,在目标曲线上对应的该时刻t1的目标流量的实际值为y2;本发明实施例中,上一时刻即为当前时刻的前一时刻,则上一时刻t0为十点三十六分五秒时,在基线曲线上对应的该时刻t0的基线流量的实际值为x1,在目标曲线上对应的该时刻t0的目标流量的实际值为y1。然后可以根据公式y2_estimate=x2/x1*y1,计算得到的y2_estimate即为目标流量的当前时刻预测值。

需要说明的是,本发明实施例中提供的预测器是用来预测所要监控的目标流量的当前时刻预测值的一个功能模块,其原理即为利用上述提供的公式y2_estimate=x2/x1*y1,计算得到目标流量的当前时刻预测值。

需要说明的是,本发明实施例可以从mysql数据库中读取基线流量的上一时刻实际值和目标流量的上一时刻实际值,其中,mysql数据库用于存储采集的基线流量的各个时刻实际值和采集的目标流量得各个时刻实际值,各个时刻之间的间隔可以根据实际情况来设定,本发明实施例不对其加以限制。

步骤204,根据所述目标流量的当前时刻实际值与所述当前时刻预测值,计算当前时刻预测误差值。

本发明实施例中,从mysql数据库中读取采集的目标流量的当前时刻实际值,根据目标流量的当前时刻实际值与目标流量的当前时刻预测值,计算当前时刻预测误差值。也即是将该目标流量的当前时刻实际值减去目标流量的当前时刻预测误差值,计算结果即为当前时刻预测误差值,该当前时刻预测误差值为目标流量的当前时刻预测误差值。

示例的,当前时刻预测误差值为error,则根据步骤103所举示例,当前时刻预测误差值error即为目标流量的当前时刻实际值y2与当前时刻预测值y2_estimate的差值。也即是可以根据公式error=y2-y2_estimate,计算得到目标流量的当前时刻预测误差值。

步骤205,获取所述历史预测误差值。

本发明实施例中,从mysql数据库中获取历史预测误差值,其中,历史预测误差值包括至少一个预测误差值,历史预测误差值为当前时刻之前各时刻的预测误差值。

步骤206,采用高斯模型对所述历史预测误差值进行高斯分布曲线拟合。

实际应用中,高斯模型指的是用高斯概率密度函数精确地量化事物,将一个事物分解成若干的基于高斯概率密度函数形成的模型。高斯分布曲线也即是正态分布曲线。

步骤207,确定所述高斯分布曲线的均值和方差。

实际应用中,可以在拟合后的高斯分布曲线中确定均值和方差。

步骤208,根据所述均值和方差,确定所述上下限阈值。

本发明实施例中,可以根据确定的均值和方差,计算得到上下限阈值。其中,可以根据1倍方差、2倍方差和3倍方差等设定确定上下限阈值,选择方差的倍数可以根据实际情况来设定,本发明实施例不对其加以限制。

示例的,上下限阈值包括上限阈值和下限阈值,例如,本发明实施例以1倍方差为例进行说明,则上限阈值确定的方法为利用均值加上1倍的方差,结果即为上限阈值,下限阈值确定的方法为利用均值减去1倍的方差,结果即为下限阈值。例如,本发明实施例以2倍方差为例进行说明,则上限阈值确定的方法为利用均值加上2倍的方差,结果即为上限阈值,下限阈值确定的方法为利用均值减去2倍的方差,结果即为下限阈值。

步骤209,判断所述当前时刻预测误差值是否处于所述上下限阈值的范围之间。

步骤210,如果所述当前时刻预测误差值不处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值为异常状态,发送报警信息。

步骤211,如果所述当前时刻预测误差处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值不为异常状态,不发送报警信息。

本发明实施例可以利用上下限阈值检测当前时刻预测误差值的异常状态,从而检测目标流量的当前时刻实际值是否为异常状态。

具体的,判断当前时刻预测误差值是否处于上下限阈值的范围之间。如果当前时刻预测误差值不处于上下限阈值的范围之间,也即是,当前时刻预测误差值大于上限阈值,或者当前时刻预测误差值小于下限阈值,则确定目标流量的当前时刻实际值为异常状态,进而由智能报警装置向系统运维人员发送报警信息。如果当前时刻预测误差处于上下限阈值的范围之间,也即是,当前时刻预测误差值大于下限阈值且小于上限阈值,则确定目标流量的当前时刻实际值不为异常状态,则智能报警装置不发送报警信息。

示例的,本发明实施例可以对采集的目标流量的各个时刻实际值进行统计分析,形成目标曲线,可以通过该目标曲线的趋势体现目标流量的哪些时刻出现异常。例如,当当前时刻预测误差值大于上限阈值,则目标流量的当前时刻值出现异常状态,则该目标曲线出现激增趋势;当当前时刻预测误差值小于下限阈值,则目标流量的当前时刻值出现异常状态,则该目标曲线出现降低趋势。

需要说明的是,本发明实施例是通过采用sparkstreaming流式分析引擎来完成历史预测误差值及当前时刻预测误差值的计算,从而采用sparkstreaming流式分析引擎来完成异常检测并发送报警信息的功能。图3是本发明实施例提供的一种异常检测方法的总框图,如图3所示,网站服务器将用户请求通过kafka工具传输至本发明实施例中的报警服务器中,通过sparkstreaming流式分析引擎完成基线流量和目标流量的各个时刻实际值的监控,也即是图中的监控数据,并将该监控数据存储至mysql数据库中,其中,用户请求也即是kafka数据流。当对采集到的目标流量的当前时刻实际值进行异常检测时,从mysql数据库中获取基线流量的上一时刻实际值和当前时刻实际值,以及目标流量的上一时刻实际值和当前时刻实际值,采用预测器预测目标流量的当前时刻预测值,然后根据目标流量的当前时刻实际值和当前时刻预测值,计算出当前时刻预测误差值,并存储至mysql数据库中。然后从mysql数据库中获取历史预测误差值,根据历史预测误差值,采用预测误差模型训练调用sparksql离线分析引擎执行高斯分布拟合的算法得到上下限阈值,并将该上下限阈值存储至mysql数据库中,最后采用sparkstreaming流式分析引擎将当前时刻预测误差值与上下限阈值进行比较,当检测出当前时刻预测误差值不处于上下限阈值之间,则调用api接口向统一报警平台发送报警请求,本发明实施例可以以post访问方式发送报警请求。

其中,sparkstreaming是建立在spark上的实时计算框架,通过它提供的丰富的api、基于内存的高速执行引擎,用户可以结合流式、批处理和交互查询应用,实现高吞吐量、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,从数据源获取数据之后,可以使用高级函数进行复杂算法的处理。最后还可以将处理结果存储到文件系统,数据库和现场仪表盘。

综上所述,在本发明实施例中,可以获取所述历史预测误差值;所述历史预测误差值包括至少一个预测误差值;采用高斯模型对所述历史预测误差值进行高斯分布曲线拟合;确定所述高斯分布曲线的均值和方差;根据所述均值和方差,确定所述上下限阈值。从而可以进一步提高上下限阈值的准确性。

另外,在本发明实施例中,还可以判断所述当前时刻预测误差值是否处于所述上下限阈值的范围之间;如果所述当前时刻预测误差值不处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值为异常状态,发送报警信息;如果所述当前时刻预测误差处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值不为异常状态,不发送报警信息。从而可以进一步降低进行异常检测时产生的误报率。

实施例三

详细介绍本发明实施例提供的一种异常检测装置。

参照图4,示出了本发明实施例中一种异常检测装置的框图。

本发明实施例的异常检测装置400包括:

下面分别详细介绍各模块的功能以及各模块之间的交互关系。

第一采集模块401,用于采集基线流量的当前时刻实际值。

第二采集模块402,用于采集目标流量的当前时刻实际值。

预测模块403,用于根据所述基线流量的上一时刻实际值、所述基线流量的当前时刻实际值及所述目标流量的上一时刻实际值,预测所述目标流量的当前时刻预测值。

第一计算模块404,用于根据所述目标流量的当前时刻值与所述预测值,计算当前时刻预测误差值。

第二计算模块405,用于根据所述目标流量的当前时刻值与所述预测值,计算当前时刻预测误差值。

检测模块406,用于根据所述当前时刻预测误差值和所述上下限阈值,检测所述目标流量的当前时刻实际值是否为异常状态。

综上所述,在本发明实施例中,通过实时采集基线流量的当前时刻实际值和目标流量的当前时刻实际值,根据基线流量的上一时刻实际值、基线流量的当前时刻实际值和目标流量的上一时刻实际值,预测目标流量的当前时刻预测值,并利用目标流量的当前时刻实际值和当前时刻预测值,计算得到目标流量的当前时刻预测值,然后通过当前时刻预测值与上下限阈值,检测目标流量的当前时刻值是否为异常状态。本发明通过历史预测误差值实时计算用于监控目标流量的上下限阈值,并通过目标流量的当前时刻预测误差值与上下限阈值,检测目标流量的当前时刻实际值的异常状态,实现了根据动态的上下限阈值进行异常检测的目的,降低了进行异常检测时产生的误报率。

实施例四

详细介绍本发明实施例提供的一种异常检测装置。

参照图5,示出了本发明实施例中一种异常检测装置的框图。

本发明实施例的异常检测装置500包括:

下面分别详细介绍各模块的功能以及各模块之间的交互关系。

第一采集模块501,用于采集基线流量的当前时刻实际值。

第二采集模块502,用于采集目标流量的当前时刻实际值。

预测模块503,用于根据所述基线流量的上一时刻实际值、所述基线流量的当前时刻实际值及所述目标流量的上一时刻实际值,预测所述目标流量的当前时刻预测值。可选地,在本发明实施例中,上述预测模块403,用于:利用所述基线流量的当前时刻值除以所述基线流量的上一时刻值,再乘以所述目标流量的当前时刻值,计算所述目标流量的当前时刻的预测值。

第一计算模块504,用于根据所述目标流量的当前时刻值与所述预测值,计算当前时刻预测误差值。

第二计算模块505,用于根据所述目标流量的当前时刻值与所述预测值,计算当前时刻预测误差值。可选地,在本发明实施例中,上述第二计算模块505,进一步可以包括:获取子模块5051,用于获取所述历史预测误差值;所述历史预测误差值包括至少一个预测误差值。曲线拟合子模块5052,用于采用高斯模型对所述历史预测误差值进行高斯分布曲线拟合。第一确定子模块5053,用于确定所述高斯分布曲线的均值和方差。第二确定子模块5054,用于根据所述均值和方差,确定所述上下限阈值。

检测模块506,用于根据所述当前时刻预测误差值和所述上下限阈值,检测所述目标流量的当前时刻实际值是否为异常状态。可选地,在本发明实施例中,上述检测模块506,进一步可以包括:判断子模块5061,用于判断所述当前时刻预测误差值是否处于所述上下限阈值的范围之间。第三确定子模块5062,用于如果所述当前时刻预测误差值不处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值为异常状态,发送报警信息。第四确定子模块5063,用于如果所述当前时刻预测误差处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值不为异常状态,不发送报警信息。

综上所述,在本发明实施例中,可以获取所述历史预测误差值;所述历史预测误差值包括至少一个预测误差值;采用高斯模型对所述历史预测误差值进行高斯分布曲线拟合;确定所述高斯分布曲线的均值和方差;根据所述均值和方差,确定所述上下限阈值。从而可以进一步提高上下限阈值的准确性。

另外,在本发明实施例中,还可以判断所述当前时刻预测误差值是否处于所述上下限阈值的范围之间;如果所述当前时刻预测误差值不处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值为异常状态,发送报警信息;如果所述当前时刻预测误差处于所述上下限阈值的范围之间,则确定所述目标流量的当前时刻实际值不为异常状态,不发送报警信息。从而可以进一步降低进行异常检测时产生的误报率。

本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对在先技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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