一种报警方法及装置与流程

文档序号:11732005阅读:171来源:国知局
一种报警方法及装置与流程

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



背景技术:

异常检测旨在检测出不符合期望行为的数据,因而适应于故障诊断、入侵和欺诈检测以及数据预处理等多个领域。时间序列是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列,时间序列在工业、金融业以及通信业等各个领域普遍存在,因此基于时间序列的异常检测有着非常重要的作用。

实际应用中,对每一个需要进行异常检测的对象进行监控时,对所监控到的时间序列进行曲线拟合处理,可以得到该对象对应的曲线。

以it运维为例,无论是网络流量的监控、磁盘容量的监控、还是响应时间的监控,时间序列异常检测均可以帮助用户及时发现服务运行中出现的问题,比如曲线出现突变、曲线中的某一点与历史数据不相符等等,发现异常时,通常还会对检测到的异常进行报警,以提醒用户对异常进行处理。目前,时间序列异常检测系统使用通用的异常检测算法来检测异常,并且对检测到的每个异常都会进行报警。

然而用户对于异常的报警需求是不尽相同的。以出现突变的异常为例,对于磁盘剩余容量的监控,用户只对磁盘剩余容量的突然减小感兴趣,因为此时他们需要增加硬盘或者删除文件,而磁盘剩余容量的突然增加并不会导致问题的出现,因此在磁盘剩余容量突然减小时应当报警、而突然增加的情况无需报警;进一步的,在磁盘剩余容量突然减小时,用户a认为在磁盘剩余容量减小到阈值t1时需要报警,而用户b认为在磁盘剩余容量减小到阈值t2时才需要报警。

从上述例子可以发现,相同类型的异常,有些情况需要报警而有些情况下不需要报警,即相同异常的报警规则是不一样的。目前,传统的异常检测系统对于相同异常只能提供一种统一的报警规则,导致报警的准确率不高。



技术实现要素:

本发明实施例的目的在于提供一种报警方法及装置,以提高报警的准确率。具体技术方案如下:

为达到上述目的,本发明实施例公开了一种报警方法,所述方法包括:

获得目标曲线中预设时长内的目标曲线段,其中,所述目标曲线段中包含目标异常点;

从所述目标曲线段中提取所述目标异常点对应的目标特征信息;

根据所述目标特征信息和预先构建的所述目标曲线对应的目标预测模型,预测所述目标异常点所对应的目标异常处理类别,其中,所述目标预测模型是基于标记样本以及所述标记样本对应的特征信息进行训练得到的,所述标记样本为所述目标曲线中标记有异常处理类别的异常点;

当所述目标异常处理类别为预设报警类别时,针对所述目标异常点进行报警。

可选的,按照以下方式训练所述目标预测模型:

获得所述目标曲线对应的标记样本;

提取所述标记样本对应的特征信息;

根据所述标记样本的特征信息和对应的异常处理类别,训练所述目标预测模型。

可选的,按照以下方式训练所述目标预测模型:

获得所述目标曲线对应的标记样本和非标记样本,其中,所述非标记样本为未标记异常处理类别的异常点;

分别提取所述标记样本和所述非标记样本对应的特征信息;

根据所述非标记样本的特征信息、所述标记样本的特征信息和对应的异常处理类别,训练所述目标预测模型。

可选的,在所述针对所述目标异常点进行报警之后,还包括:

在接收到用户对所述目标异常点标记的异常处理类别时,将所述目标异常点作为标记样本,对所述目标预测模型进行再次训练,得到新的目标预测模型。

可选的,所述目标预测模型为随机森林模型。

为达到上述目的,本发明实施例还公开了一种报警装置,所述装置包括:

获得模块,用于获得目标曲线中预设时长内的目标曲线段,其中,所述目标曲线段中包含目标异常点;

提取模块,用于从所述目标曲线段中提取所述目标异常点对应的目标特征信息;

预测模块,用于根据所述目标特征信息和预先构建的所述目标曲线对应的目标预测模型,预测所述目标异常点所对应的目标异常处理类别,其中,所述目标预测模型是基于标记样本以及所述标记样本对应的特征信息进行训练得到的,所述标记样本为所述目标曲线中标记有异常处理类别的异常点;

报警模块,用于当所述目标异常处理类别为预设报警类别时,针对所述目标异常点进行报警。

可选的,所述装置还包括:

第一训练模块,用于训练所述目标预测模型;

其中,所述第一训练模块,包括:

第一获得子模块,用于获得所述目标曲线对应的标记样本;

第一提取子模块,用于提取所述标记样本对应的特征信息;

第一训练子模块,用于根据所述标记样本的特征信息和对应的异常处理类别,训练所述目标预测模型。

可选的,所述装置还包括:

第二训练模块,用于训练所述目标预测模型;

其中,所述第二训练模块,包括:

第二获得子模块,用于获得所述目标曲线对应的标记样本和非标记样本,其中,所述非标记样本为未标记异常处理类别的异常点;

第二提取子模块,用于分别提取所述标记样本和所述非标记样本对应的特征信息;

第二训练子模块,用于根据所述非标记样本的特征信息、所述标记样本的特征信息和对应的异常处理类别,训练所述目标预测模型。

可选的,所述装置还包括:

第三训练模块,用于在所述报警模块针对所述目标异常点进行报警之后,在接收到用户对所述目标异常点标记的异常处理类别时,将所述目标异常点作为标记样本,对所述目标预测模型进行再次训练,得到新的目标预测模型。

可选的,所述目标预测模型为随机森林模型。

由以上可见,本发明实施例提供的报警方法及装置,对于目标曲线中的异常点,可以利用目标预测模型来预测该异常点的异常处理类别,当异常处理类别为预设报警类别时,会针对该异常点进行报警。目标预测模型是基于目标曲线中的标记样本以及标记样本对应的特征信息进行训练得到的,由于不同用户对同一曲线的异常点所标记的异常处理类别可能不同、同一用户对不同曲线的异常点所标记的异常处理类别也可能不同,因此对于不同的用户或不同的曲线,可以得到相应的预测模型,进而可以对不同的用户或不同的曲线,有针对性地进行报警,提高报警的准确率。

附图说明

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

图1为本发明实施例提供的一种报警方法的流程示意图;

图2为本发明实施例提供的一种报警装置的结构示意图。

具体实施方式

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

为解决现有技术问题,本发明实施例提供了一种报警方法及装置。下面首先对本发明实施例所提供的一种报警方法进行详细说明。

图1为本发明实施例提供的一种报警方法的流程示意图,如图1所示,该方法包括:

s101,获得目标曲线中预设时长内的目标曲线段,其中,目标曲线段中包含目标异常点。

可以理解的,在基于时间序列的异常检测中,每一个监控对象对应一个曲线,例如,如果同时监控一台服务器的网络流量、磁盘容量,则可以得到两条曲线,即该服务器的网络流量对应的曲线和磁盘容量对应的曲线,如果同时监控两台服务器的网络流量,则可以得到两条曲线,即每台服务器的网络流量对应的曲线。

实际应用中,目标曲线可以由异常检测系统在监控过程中根据检测到的时间序列生成的。进一步的,异常检测系统可以根据预设的判断标准,判断目标曲线中的每一个点是否是异常点,具体的,异常检测系统对于异常点的判断标准可以参考现有技术的方法,本实施例对此不做赘述。需要强调的是,本实施例并不对目标曲线的获得方式以及目标异常点的获得方式进行限定。

s102,从目标曲线段中提取目标异常点对应的目标特征信息。

可以理解的,目标曲线段所包含的点对应的数据可以理解为与目标异常点相应的历史数据,则目标曲线段的特征信息可以理解为对应目标异常点对应的目标特征信息。

实际应用中,曲线段中可以提取的特征信息包括:曲线周期性、趋势、季节性、自相关性、偏度、峰度、线性程度、自相似性、混沌系数、t时间内异常点个数,等等中的一个或多个,其中t可以取半小时。具体的,从曲线段中提取特征信息的方法为现有技术,在此不做赘述。

s103,根据目标特征信息和预先构建的目标曲线对应的目标预测模型,预测目标异常点所对应的目标异常处理类别。

其中,目标预测模型是基于标记样本以及标记样本对应的特征信息进行训练得到的,标记样本为目标曲线中标记有异常处理类别的异常点。

实际应用中,用户可以将异常处理类别划分为:需要报警、是异常但是不需要报警、不是异常等类别;也可以划分为:一类、二类、三类等类别,其中,一类可以表示需要报警、二类可以表示是异常但是不需要报警、三类可以表示不是异常。其中,根据用户的需要,需要报警的类别还可以进一步划分,例如,报警后需要立即处理、报警后不需要立即处理等类别。当然,还可以按照其它方式进行划分,本实施例对此不做限定。

在本实施例中,目标预测模型的输入为目标异常点对应的目标特征信息,输出为目标异常点所对应的目标异常处理类别。上述目标预测模型可以为随机森林模型,随机森林模型也称为协同森林模型,随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多决策树组成,每一棵决策树之间是没有关联的,在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类,然后看看哪一类被选择最多,就预测这个样本为那一类。

在一种实现方式中,可以按照以下方式训练目标预测模型:

获得目标曲线对应的标记样本;

提取标记样本对应的特征信息;

根据标记样本的特征信息和对应的异常处理类别,训练目标预测模型。

提取标记样本对应的特征信息,也就是从目标曲线中预设时长的曲线段中提取特征信息,该曲线段中包含标记样本。具体的,提取标记样本对应的特征信息的方式与上述提取目标异常点对应的目标特征信息的方式相同,在此不做赘述。

本领域技术人员可以理解的是,上述训练目标预测模型的方式为机器学习中的有监督式学习(supervisedlearning)算法。由于上述有监督学习的训练方式只能利用目标曲线中的标记有异常处理类别的异常点、无法利用未标记异常处理类别的异常点,因此需要较多的标记样本进行训练,以提高目标预测模型的预测精度。

而实际上,用户不一定对所有出现的异常点都进行标记,而是只对部分异常点标记了异常处理类别,因此并不是所有的异常点都是标记样本,即标记样本的数量有限,这样导致有监督式学习算法所训练出的预测模型的准确度不高。

那么在这种情况下,为了提高目标预测模型的预测精度,在一种较佳的实现方式中,可以利用机器学习算法中的无监督式学习(unsupervisedlearning)算法,同时利用标记样本和未标记样本进行训练得到预测模型。

具体的,可以按照以下方式训练目标预测模型:

获得目标曲线对应的标记样本和非标记样本,其中,非标记样本为未标记异常处理类别的异常点;

分别提取标记样本和非标记样本对应的特征信息;

根据非标记样本的特征信息、标记样本的特征信息和对应的异常处理类别,训练目标预测模型。

下面对上述“根据非标记样本的特征信息、标记样本的特征信息和对应的异常处理类别,训练目标预测模型”的步骤进行详细说明:

步骤1、只利用标记样本的集合l中的标记样本,训练出一个初始的随机森林,其中有n棵树,一种特征信息对应一棵树;

步骤2、对每棵树hi,从未标记样本的集合u中选择置信度最高的未标记样本,如果该未标记样本的置信度超过阈值p,则将其加入集合li,并将该未标记样本的异常处理类别标记为多数树的分类结果;

其中,该未标记样本的置信度为集合hi中的树对该未标记样本的分类结果的一致程度,集合hi是由除该树hi以外的其它树所组成的集合;如果集合hi中的树对该未标记样本的分类结果都相同,那么该未标记样本的置信度为1;

举例而言,如果n=8,则集合hi中包含7棵树,对于集合u中的每一个未标记样本u,根据该未标记样本u的的特征信息可以确定集合hi中的每一棵树对该未标记样本u的分类结果,如果有2棵树将该未标记样本u的异常处理类别归为一类、其它5棵树将该未标记样本u的异常处理类别归为二类,则该未标记样本u的置信度为5/7,如果5/7大于预设的阈值p,则表示该未标记样本u可以用来训练树hi,并且该未标记样本u的异常处理类别应当标记为二类;

步骤3、对每棵树hi,重新利用集合l∪li中的标记样本进行单棵树的训练;

步骤4、重复步骤2~步骤3,直至所有树的训练结果均不再变化。

需要说明的是,本领域技术人员可以理解的,本质上,这种协同训练方式的半监督式学习方法在训练预测模型时,用的也是有监督式学习算法,区别在于标记样本集合中标记样本数量可以不断增加,而增加的标记样本是由机器对未标记样本进行标记所获得的、不是用户标记的样本。利用有监督式学习算法训练出初始随机森林模型后,由于标记样本的数量比较少,初始随机森林模型不太可靠,为了增加可用的样本数,从未标记样本中选择一些置信度较高的加入标记样本集合。之后用新的标记样本集合进行训练,这其实也是有监督式学习,只是标记样本集合里面有一些样本的标记是由机器判断的。按照这种方法,不断重复来扩大标记样本集合,可以使得最终得到的随机森林模型更加准确、可靠。

s104,当目标异常处理类别为预设报警类别时,针对目标异常点进行报警。

实际应用中,可以预先设置一种或多种异常处理类别为报警类别,例如将需要报警或者一类异常处理类别设置为报警类别。当预测得到的目标异常处理类别为需要报警或者一类异常处理类别时,针对目标异常点进行报警,输出报警信息。在报警信息中还可以携带本次报警的标识信息和目标曲线的标识信息,以便于进行区分和管理,报警的标识信息可以理解为每条报警信息的id(identification,身份标识号),也称为报警id。

报警的方式可以为声、光及其组合的方式,也可以为其它的能够提醒或警示用户的方式,本实施例对此不做限定。进一步的,当设置了多种异常处理类别为报警类别时,还可以对不同的报警类别按照不同的方式进行报警,例如以不同颜色的光来区分不同的报警类别。

当然,当目标异常处理类别不是预设报警类别时,也可以输出该目标异常点的目标异常处理类别,以使用户可以了解和掌握所监控的对象的运行状况。

在一种实现方式中,在针对目标异常点进行报警之后,该方法还可以包括:

在接收到用户对目标异常点标记的异常处理类别时,将目标异常点作为标记样本,对目标预测模型进行再次训练,得到新的目标预测模型。

可以理解的,在针对目标异常点进行报警之后,用户可能对该目标异常点的异常处理类别重新进行了标记,例如,在预测得到目标异常点的目标异常处理类别为预设报警类别的情况下,用户经过分析发现该目标异常点并不需要报警,则用户可以重新标记该目标异常点的异常处理类别。

当接收到用户对目标异常点的标记信息后,表示目标预测模型的预测结果并不符合用户的需求,因此为了提高目标预测模型预测的准确性,可以将目标异常点作为标记样本,按照上述训练方法对目标预测模型进行再次训练,得到新的目标预测模型。

实际应用中,当用户所监控的对象较多时,为了便于管理,可以为每个检测的曲线赋予一个标识信息,如曲线id,与该曲线对应的预测模型、预测模型的训练、用户反馈的标记信息都可以通过该曲线id进行关联。

用户对于接收到的报警信息,可以标记所报警的异常点的异常处理类别,并通过报警id进行反馈,相当于用户帮助系统对所报警的异常点进行了样本标记。在接收到用户的反馈信息后,可以将该异常点的特征信息及所标记的异常处理类别存储到数据库中,如关系型数据库管理系统mysql,以便于后续利用该异常点对预测模型进行再次训练。

每条曲线对应的预测模型可以存储在数据库中,如mongodb(一个基于分布式文件存储的数据库,由c++语言编写),训练完成某条曲线对应的预测模型后,会将该预测模型存入数据库中,如果该曲线已有预测模型,则会覆盖已有的预测模型,这样在该曲线有新的异常点时可以直接使用新的预测模型。

需要强调的是,本实施例提供的方案利用机器学习训练预测模型,其中,基于半监督式学习算法,只需要用户对接收到的一部分异常点的报警信息进行简单的反馈,即可学习出用户的个性化报警需求,同时利用标记样本和未标记样本进行学习,输出与用户相关的预测模型,提高了报警的准确率,减少了用户人工配置报警规则的时间,而建立报警规则需要用户对所监控的服务以及使用的异常检测算法都有一定的了解,因此还可以降低用户的技能要求。本实施例提供的方案可以使用在各种流量、磁盘、qps(queriespersecond,每秒查询率)等时间序列的监控系统中,提供简单、准确、个性化的报警服务。

由以上可见,本实施例提供的报警方法,对于目标曲线中的异常点,可以利用目标预测模型来预测该异常点的异常处理类别,当异常处理类别为预设报警类别时,会针对该异常点进行报警。目标预测模型是基于目标曲线中的标记样本以及标记样本对应的特征信息进行训练得到的,由于不同用户对同一曲线的异常点所标记的异常处理类别可能不同、同一用户对不同曲线的异常点所标记的异常处理类别也可能不同,因此对于不同的用户或不同的曲线,可以得到相应的预测模型,进而可以对不同的用户或不同的曲线,有针对性地进行报警,提高报警的准确率。

与上述的报警方法相对应,本发明实施例还提供了一种报警装置。

与图1所示的方法实施例相对应,图2为本发明实施例提供的一种报警装置的结构示意图,该装置可以包括:

获得模块201,用于获得目标曲线中预设时长内的目标曲线段,其中,所述目标曲线段中包含目标异常点;

提取模块202,用于从所述目标曲线段中提取所述目标异常点对应的目标特征信息;

预测模块203,用于根据所述目标特征信息和预先构建的所述目标曲线对应的目标预测模型,预测所述目标异常点所对应的目标异常处理类别,其中,所述目标预测模型是基于标记样本以及所述标记样本对应的特征信息进行训练得到的,所述标记样本为所述目标曲线中标记有异常处理类别的异常点;

报警模块204,用于当所述目标异常处理类别为预设报警类别时,针对所述目标异常点进行报警。

由以上可见,本实施例提供的报警装置,对于目标曲线中的异常点,可以利用目标预测模型来预测该异常点的异常处理类别,当异常处理类别为预设报警类别时,会针对该异常点进行报警。目标预测模型是基于目标曲线中的标记样本以及标记样本对应的特征信息进行训练得到的,由于不同用户对同一曲线的异常点所标记的异常处理类别可能不同、同一用户对不同曲线的异常点所标记的异常处理类别也可能不同,因此对于不同的用户或不同的曲线,可以得到相应的预测模型,进而可以对不同的用户或不同的曲线,有针对性地进行报警,提高报警的准确率。

具体的,所述装置还可以包括:

第一训练模块(图中未示出),用于训练所述目标预测模型;

其中,所述第一训练模块,可以包括:

第一获得子模块(图中未示出),用于获得所述目标曲线对应的标记样本;

第一提取子模块(图中未示出),用于提取所述标记样本对应的特征信息;

第一训练子模块(图中未示出),用于根据所述标记样本的特征信息和对应的异常处理类别,训练所述目标预测模型。

具体的,所述装置还可以包括:

第二训练模块(图中未示出),用于训练所述目标预测模型;

其中,所述第二训练模块,可以包括:

第二获得子模块(图中未示出),用于获得所述目标曲线对应的标记样本和非标记样本,其中,所述非标记样本为未标记异常处理类别的异常点;

第二提取子模块(图中未示出),用于分别提取所述标记样本和所述非标记样本对应的特征信息;

第二训练子模块(图中未示出),用于根据所述非标记样本的特征信息、所述标记样本的特征信息和对应的异常处理类别,训练所述目标预测模型。

具体的,所述装置还可以包括:

第三训练模块(图中未示出),用于在所述报警模块针对所述目标异常点进行报警之后,在接收到用户对所述目标异常点标记的异常处理类别时,将所述目标异常点作为标记样本,对所述目标预测模型进行再次训练,得到新的目标预测模型。

具体的,所述目标预测模型可以为随机森林模型。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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