CN105718715B - 异常检测方法和设备 - Google Patents

异常检测方法和设备 Download PDF

Info

Publication number
CN105718715B
CN105718715B CN201510979846.9A CN201510979846A CN105718715B CN 105718715 B CN105718715 B CN 105718715B CN 201510979846 A CN201510979846 A CN 201510979846A CN 105718715 B CN105718715 B CN 105718715B
Authority
CN
China
Prior art keywords
current detection
detection point
decision value
data sequence
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510979846.9A
Other languages
English (en)
Other versions
CN105718715A (zh
Inventor
唐昌令
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510979846.9A priority Critical patent/CN105718715B/zh
Publication of CN105718715A publication Critical patent/CN105718715A/zh
Application granted granted Critical
Publication of CN105718715B publication Critical patent/CN105718715B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例提供一种异常检测方法和设备,通过获取待检测设备的性能参数的历史数据序列和近期趋势数据序列,根据历史数据序列计算得到当前检测点的观测值的第一动态阈值范围,以及根据近期趋势数据序列计算得到当前检测点的观测值的第二动态阈值范围,然后根据第一动态阈值范围、第二动态阈值范围和动态阈值选择策略确定当前检测点的动态阈值范围,最后判断当前检测点的观测值是否属于当前检测点的动态阈值范围。所述方法中,能够综合性能参数的历史数据和近期趋势的变化来确定当前检测点的动态阈值范围,并能够根据不同性能参数设置不同的动态阈值选择策略,避免待检测设备的性能参数异常的误判、漏报和虚警。

Description

异常检测方法和设备
技术领域
本发明实施例涉及通信技术,尤其涉及一种异常检测方法和设备。
背景技术
随着云计算虚拟化技术的日益普及,基础虚拟化设施的管理与监控变得越来越重要。通过对虚拟化设施的各种性能指标进行实时监控,可以及时发现异常情况,并发出报警通知,以提醒运维人员采取措施保持虚拟化设施的正常运行。
现有的异常检测是通过各性能参数的历史数据计算动态阈值范围和当前检测点的判异决策值,然后判断当前检测点决策值是否属于动态阈值范围,如果当前检测点的决策值属于动态阈值范围,则存储当前检测点的观测值作为历史数据,如果当前检测点的决策值不属于动态阈值范围,则计算多点异常统计量,将当前检测点的观测值从历史数据中删除,并判断多点异常统计量是否大于报警阈值,如果多点异常统计量大于报警阈值,则报告异常发生,如果多点异常统计量小于报警阈值,则更新单点异常阈值,继续检测。
现有的方法,对于所有的性能参数都采用统一的处理方式判定是否出现异常,导致出现大量的虚警和漏判,例如,对于一些对参数波动不敏感的性能参数来说会产生大量的虚警,对于一些对参数波动敏感的性能参数来说会产生漏报。
发明内容
本发明实施例提供一种异常检测方法和设备,避免待检测设备的性能参数异常的误判、漏报和虚警。
本发明第一方面提供一种异常检测方法,异常检测设备通过获取待检测设备的性能参数的历史数据序列和近期趋势数据序列,根据历史数据序列计算得到当前检测点的第一动态阈值范围,以及根据近期趋势数据序列计算得到当前检测点的第二动态阈值范围,然后根据第一动态阈值范围、第二动态阈值范围和动态阈值选择策略确定当前检测点的动态阈值范围,当当前检测点的观测值属于当前检测点的动态阈值范围时,将当前检测点的观测值作为历史数据,继续检测下一个检查点,当当前检测点的观测值不属于当前检测点的动态阈值范围时,将当前检测点的观测值作为历史数据,并进行异常告警处理。其中,历史数据序列包括当前检测点的观测值和当前检测点所属的当前检测周期之前的N个检测周期内的同一检测点的观测值,近期趋势数据序列包括当前检测点的观测值和当前检测点前的N个检测点的观测值。所述方法中,能够综合性能参数的历史数据和近期趋势的变化来确定当前检测点的动态阈值范围,并能够根据不同性能参数设置不同的动态阈值选择策略,避免待检测设备的性能参数异常的误判、漏报和虚警。
在本发明第一方面的基础上,在一种可能的实现方式中,异常检测设备可以采用以下方法计算当前检测点的第一动态阈值范围和第二动态阈值范围:首先根据历史数据序列计算得到第一判异决策值序列,根据近期趋势数据序列计算得到第二判异决策值序列,然后,根据历史数据序列和第一判异决策值序列计算得到历史数据序列的阈值动态范围,根据近期趋势数据序列和第二判异决策值序列计算得到近期趋势数据序列的阈值动态范围,最后根据当前检测点的观测值和当前检测点的第一判异决策值的关系以及历史数据序列的阈值动态范围,确定当前检测点的观测值的第一动态阈值范围,根据当前检测点的观测值和当前检测点的第二判异决策值的关系以及近期趋势数据序列的阈值动态范围,确定当前检测点的观测值的第二动态阈值范围。
异常检测设备在确定当前检测点的观测值的第一动态阈值范围时,先根据当前检测点的观测值和当前检测点的第一判异决策值的关系,用当前检测点的观测值表示当前检测点的第一判异决策值,得到当前检测点的第一判异决策值的第一表达式,将第一表达式带入历史数据序列的阈值动态范围得到第一不等式,对第一不等式进行等价变换,得到第一阈值动态范围。用同样的方法可以计算得到第二阈值动态范围。
在计算第一判异决策值序列和第二判异决策值序列时,先建立预测模型,对历史数据序列和近期趋势数据序列分别进行零均值化处理,然后根据零均值化后的历史数据序列确定预测模型的第一系数,根据预测模型的第一系数,计算历史数据序列中每个检测点零均值化后的预测值,计算历史数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第一残差序列,计算所述第一残差序列的标准差,根据所述第一残差序列与所述第一残差序列的标准差的比值,得到第一判异决策值序列。同理根据零均值化后的近期趋势数据序列得到第二判异决策值序列。
在计算历史数据序列的阈值动态范围时,先计算历史数据序列的前N个观测值的均方差,获取历史数据序列的前N个观测值的波动周期的正比例函数,根据历史数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第一波动系数,同时计算第一判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差,根据第一判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及第一波动系统,得到历史数据序列的阈值动态范围:其中,表示第一判异决策值序列中负决策值的平均值,表示第一判异决策值序列中正决策值的平均值,κ1表示第一波动系数,σ1 -表示第一判异决策值序列中负决策值的标准差,σ1 +表示第二判异决策值序列中正决策值的标准差。用同样的方法计算得到近期趋势数据序列的阈值动态范围:其中,表示第二判异决策值序列中负决策值的平均值,表示第二判异决策值序列中正决策值的平均值,κ2表示第二波动系数,σ2 -表示第二判异决策值序列中负决策值的标准差,σ2 +表示第二判异决策值序列中正决策值的标准差。
在本发明第一方面的基础上,在一种可能的实现方式中,在计算第一动态阈值范围和第二动态阈值范围之前,还可以通过最小二乘法去除历史数据序列和近期趋势数据序列中的异常数据,以提升动态阈值范围的准确性。
在本发明第一方面的基础上,在一种可能的实现方式中,异常告警处理流程如下:先根据当前检测点的观测值和当前检测点的动态阈值范围确定单点异常量,单点异常量为当前检测点的观测值超出当前检测点的动态阈值范围的值,然后根据单点异常量和前一时刻的告警统计量确定当前检测点的告警统计量,并根据当前检测点的动态阈值范围和异常发生的点数计算当前检测点的告警统计量的阈值范围,其次判断当前检测点的告警统计量是否属于当前检测点的告警统计量的阈值范围,如果当前检测点的告警统计量不属于当前检测点的告警统计量的阈值范围,则判断告警标识是否为真,如果告警标识不为真,则触发告警,记录告警时间起点,将告警标识设置为真,继续检测下一个检测点,如果告警标识为真,则继续检测下一个检测点。如果当前检测点的告警统计量属于当前检测点的告警统计量的阈值范围,则判断告警标识是否为真,如果告警标识为真,则结束告警,记录告警事件终点,将告警标识设置为否,继续检测下一个检测点,如果告警标识不为真,则继续检测下一个检测点。该告警处理流程并不是在某个检查点出现异常之后,立即就进行告警,而是当连续多点发生异常时,告警统计量迅速以指数增长,这样告警统计量很快就会超过线性增长的告警阈值范围,才会进行告警,从而可以避免虚警产生,
本发明第二方面提供一种异常检测设备,该异常检测设备包括:获取模块、计算模块、第一确定模块、判断模块、第二确定模块和告警模块16。其中,获取模块用于获取待检测设备的性能参数的历史数据序列和近期趋势数据序列,计算模块用于根据历史数据序列计算得到当前检测点的第一动态阈值范围,以及根据近期趋势数据序列计算得到当前检测点的第二动态阈值范围,第一确定模块用于根据第一动态阈值范围、第二动态阈值范围和动态阈值选择策略确定当前检测点的动态阈值范围,判断模块用于判断当前检测点的观测值是否属于当前检测点的动态阈值范围,第二确定模块,用于当当前检测点的观测值属于当前检测点的动态阈值范围时,将当前检测点的观测值作为历史数据,第二确定模块还用于当当前检测点的观测值不属于当前检测点的动态阈值范围时,将当前检测点的观测值作为历史数据,并触发告警模块进行异常告警处理。
在本发明第一方面的基础上,在一种可能的实现方式中,计算模块包括:第一计算子模块、第二计算子模块和第三计算子模块。第一计算子模块用于根据历史数据序列计算得到第一判异决策值序列,根据近期趋势数据序列计算得到第二判异决策值序列,第二计算子模块用于根据历史数据序列和第一判异决策值序列计算得到历史数据序列的阈值动态范围,以及根据近期趋势数据序列和第二判异决策值序列计算得到近期趋势数据序列的阈值动态范围,第三计算子模块用于根据当前检测点的观测值和当前检测点的第一判异决策值的关系以及历史数据序列的阈值动态范围,确定当前检测点的观测值的第一动态阈值范围,以及根据当前检测点的观测值和当前检测点的第二判异决策值的关系以及近期趋势数据序列的阈值动态范围,确定当前检测点的观测值的第二动态阈值范围。
在一种可能的实现方式中,第一计算子模块具体用于:对历史数据序列和近期趋势数据序列分别进行零均值化处理,根据零均值化后的历史数据序列确定预测模型的第一系数,根据预测模型的第一系数,计算历史数据序列中每个检测点零均值化后的预测值,计算历史数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第一残差序列,计算第一残差序列的标准差,根据第一残差序列与第一残差序列的标准差的比值,得到第一判异决策值序列。第一计算子模块用同样的方法根据零均值化后的近期趋势数据序列计算得到第二判异决策值序列。
在一种可能的实现方式中,第二计算子模块具体用于:计算历史数据序列的前N个观测值的均方差,获取历史数据序列的前N个观测值的波动周期的正比例函数,根据历史数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第一波动系数,同时计算第一判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差,根据第一判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及第一波动系统,得到历史数据序列的阈值动态范围:其中,表示第一判异决策值序列中负决策值的平均值,表示第一判异决策值序列中正决策值的平均值,κ1表示第一波动系数,σ1 -表示第一判异决策值序列中负决策值的标准差,σ1 +表示第二判异决策值序列中正决策值的标准差。第二计算子模块采用同样的方法计算得到近期趋势数据序列的阈值动态范围:
在一种可能的实现方式中,第三计算子模块具体用于:根据当前检测点的观测值和当前检测点的第一判异决策值的关系,用当前检测点的观测值表示所述当前检测点的第一判异决策值,得到所述当前检测点的第一判异决策值的第一表达式,将第一表达式带入历史数据序列的阈值动态范围得到第一不等式,对第一不等式进行等价变换,得到第一阈值动态范围。第三计算子模块用同样方法计算得到第二阈值动态范围。
在本发明第二方面的基础上,在一种可能的实现方式中,异常检测设备还包括预处理模块,预处理模块用于通过最小二乘法去除历史数据序列和近期趋势数据序列中的异常数据,以提升动态阈值范围的准确性。
在本发明第二方面的基础上,在一种可能的实现方式中,告警模块具体用于:根据当前检测点的观测值和当前检测点的动态阈值范围确定单点异常量,单点异常量为当前检测点的观测值超出当前检测点的动态阈值范围的值,然后根据单点异常量和前一时刻的告警统计量确定当前检测点的告警统计量,根据当前检测点的动态阈值范围和异常发生的点数计算当前检测点的告警统计量的阈值范围,判断当前检测点的告警统计量是否属于当前检测点的告警统计量的阈值范围,如果当前检测点的告警统计量不属于当前检测点的告警统计量的阈值范围,则判断告警标识是否为真,如果告警标识不为真,则触发告警,记录告警时间起点,将告警标识设置为真,继续检测下一个检测点,如果告警标识为真,则继续检测下一个检测点。如果当前检测点的告警统计量属于当前检测点的告警统计量的阈值范围,则判断告警标识是否为真,如果告警标识为真,则结束告警,记录告警事件终点,将告警标识设置为否,继续检测下一个检测点,如果告警标识不为真,则继续检测下一个检测点。
在本发明第一方面和第二方面的基础上,该动态阈值选取策略包括以下策略中的任意一个:
策略一:当前检测点的动态阈值范围的上限为Min(HDT_Upper,RDT_Upper),当前检测点的动态阈值范围的下限为Max(HDT_Lower,RDT_Lower)。策略二:当前检测点的动态阈值范围的上限为Max(HDT_Upper,RDT_Upper),当前检测点的动态阈值范围的下限为Min(HDT_Lower,RDT_Lower)。
策略三:当前检测点的动态阈值范围的上限为Hweight*HDT_Upper+Rweight*RDT_Upper,当前检测点的阈值范围的下限为Hweight*HDT_Lower+Rweight*RDT_Lower。
其中,HDT_Upper为第一动态阈值范围的上限,RDT_Upper为第二动态阈值范围的上限,HDT_Lower为第一动态阈值范围的下限,RDT_Lower为第二动态阈值范围的下限,Hweight表示第一动态阈值范围的权重,Rweight表示第二动态阈值范围的权重。
本发明实施例的方法设置上述三种动态阈值选取策略供用户选择,用户可以根据性能参数的特性选择适合的策略,其中,策略一适合观测值比较稳定的性能参数,一旦观测值异常波动意味着出现异常。策略二中观测值的轻微波动对待检测设备没有影响,因此适合一些非关键的性能参数。策略三采取了一种均衡方式,适合运维管理员熟悉的性能参数,从而根据性能参数设置合适的权重。
本发明实施例提供的异常检测方法和设备,通过获取待检测设备的性能参数的历史数据序列和近期趋势数据序列,根据历史数据序列计算得到当前检测点的观测值的第一动态阈值范围,以及根据近期趋势数据序列计算得到当前检测点的观测值的第二动态阈值范围,然后根据第一动态阈值范围、第二动态阈值范围和动态阈值选择策略确定当前检测点的动态阈值范围,最后判断当前检测点的观测值是否属于当前检测点的动态阈值范围。所述方法中,能够综合性能参数的历史数据和近期趋势的变化来确定当前检测点的动态阈值范围,并能够根据不同性能参数设置不同的动态阈值选择策略,避免待检测设备的性能参数异常的误判、漏报和虚警。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例适用的性能参数的监控系统的示意图;
图2为本发明实施例一提供的异常检测方法的流程图;
图3为曲线拟合的结果示意图;
图4为本发明实施例二提供的检测点的动态阈值范围的计算方法的流程图;
图5描绘了异常检测的动态阈值范围效果;
图6为本发明实施例三提供的异常告警处理方法的流程图;
图7为本发明实施例四提供的异常检查设备的结构示意图;
图8为本发明实施例五提供的异常检查设备的结构示意图;
图9为本发明实施例六提供的异常检测设备的结构示意图;
图10为本发明实施例七提供的异常检测设备的实体结构的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的方法可以主要应用在云计算虚拟化场景中,在云计算虚拟化场景中需要对虚拟化设备进行监控和管理,例如,对虚拟化设备进行异常检测,异常检测即对虚拟化设备进行各种性能指标的实时监控,及时发现虚拟化设备的异常情况。图1为本发明实施例适用的性能参数的监控系统的示意图,如图1所示,监控系统包括异常检测设备、数据采集引擎、数据库、待检测设备和性能定位设备。其中,数据采集引擎用于采集获取待检测设备的各性能参数的观测值,异常检测设备用于根据数据采集引擎用于采集到的性能参数的观测值进行异常检测分析,确定待检测设备是否发生异常,如果发生异常,则异常检测设备向运维管理人员发出告警,并且把异常事件持久化到数据库中,以便于后续性能定位模块根据数据库中存储的数据进行性能定位的关联分析。
图2为本发明实施例一提供的异常检测方法的流程图,该方法可以由异常检测设备执行,如图2所示,本实施例的方法可以包括以下步骤:
步骤101、获取待检测设备的性能参数的历史数据序列和近期趋势数据序列。
待检测设备可以是虚拟化设备,也可以是实体物理设备,性能参数例如是CPU利用率、内存利用率等。
该性能参数的历史数据序列包括当前检测点的观测值和当前检测点所属的当前检测周期之前的N个检测周期内的同一检测点的观测值,即历史数据序列中包括N+1个检测点的观测值,当前检测周期之前的N个检测周期为与当前检测周期在时间上相邻,且在时间上超前当前检测周期的N个周期。历史数据序列是基于性能参数的周期性和相似性得到的,异常检测设备可以按照指定的时间粒度,统计过去一段时间同一时刻的观测值,该时间粒度即一个检测点,例如,以小时为粒度,周期为一周,异常检测设备统计过去三个月内每个星期一早上八点服务器的CPU利用率,将统计结果作为历史数据序列。
该性能参数的近期趋势数据序列包括当前检测点的观测值和当前检测点之前的N个检测点的观测值,即异常数据序列中包括N+1个检测点的观测值,当前检测点之前的N个检测点为与当前检测点在时间上相邻,且在时间上超前当前检测点的N个检测点。近期趋势数据序列是基于性能参数的突发性和可变性得到的,异常检测设备可以按照相同的时间粒度,统计最近一段时间的观测值。例如,仍然以小时为粒度,获取当前时刻之前的10小时内的CPU利用率作为近期趋势数据序列。本实施例中,历史数据序列中包括的当前检测点的观测值和近期数据序列包括的当前检测点的观测值相同,这个由于历史数据序列和近期数据序列都是以当前检测点为基准点确定的。
步骤102、根据历史数据序列计算得到当前检测点的第一动态阈值范围,以及根据近期趋势数据序列计算得到当前检测点的第二动态阈值范围。
可以采用现有的方法或者本发明下述实施例二中提到的方法计算当前检测点的第一动态阈值范围和第二动态阈值范围。
可选的,在步骤102之前还可以通过最小二乘法去除历史数据序列和近期趋势数据序列中的异常数据。历史数据序列如果存在异常点,在计算过程中构建的自回归模型就会因为异常点而存在偏差。因此异常点的准确剔除能够提升动态阈值范围的准确性。为了简化去噪复杂度,本发明采取最简单的一元线性回归拟合直线,通过误差线范围剔除粗大误差。
最小二乘法的原理是:若能找到一条最佳的拟合曲线,那么各测量值与这条拟合曲线上的对应点之差(即偏差)的平方和最小。
首先假设拟合的直线方程为:y=b0+b1x,然后根据历史数据序列建立多元方程,从而可推导出拟合曲线的两个参数:
目标是
因此,直线方程的两个参数值分别为:
粗大误差判定的基本原则为:若测量点距拟合直线上的对应点之差为上述所有点的均方差的3倍以上,则该点为误差点。图3为曲线拟合的结果示意图,如图3所示,曲线表示待判定的历史数据序列,三条平行线中的中线为基于最小二乘法计算得到的拟合直线,其余两条边线表示误差线范围,若历史数据序列明显超出边线则意味着是无差点。
步骤103、根据第一动态阈值范围、第二动态阈值范围和动态阈值选择策略确定当前检测点的动态阈值范围。
动态阈值选取策略包括以下策略中的任意一个:
策略一:当前检测点的动态阈值范围的上限为Min(HDT_Upper,RDT_Upper),当前检测点的动态阈值范围的下限为Max(HDT_Lower,RDT_Lower),其中,HDT_Upper为第一动态阈值范围的上限,RDT_Upper为第二动态阈值范围的上限,HDT_Lower为第一动态阈值范围的下限,RDT_Lower为第二动态阈值范围的下限;
策略二:当前检测点的动态阈值范围的上限为Max(HDT_Upper,RDT_Upper),当前检测点的动态阈值范围的下限为Min(HDT_Lower,RDT_Lower);
策略三:当前检测点的动态阈值范围的上限为Hweight*HDT_Upper+Rweight*RDT_Upper,当前检测点的阈值范围的下限为Hweight*HDT_Lower+Rweight*RDT_Lower,其中,Hweight表示第一动态阈值范围的权重,Rweight表示第二动态阈值范围的权重。
通过上述三种策略对比可知,策略一适合观测值比较稳定的性能参数,一旦观测值异常波动意味着出现异常。策略二中观测值的轻微波动对待检测设备没有影响,因此适合一些非关键的性能参数。策略三采取了一种均衡方式,适合运维管理员熟悉的性能参数,从而根据性能参数设置合适的权重。
步骤104、判断当前检测点的观测值是否属于当前检测点的动态阈值范围。
如果当前检测点的观测值属于当前检测点的动态阈值范围,则执行步骤107,如果当前检测点的观测值不属于当前检测点的动态阈值范围,则执行步骤108
步骤105、将当前检测点的观测值作为历史数据,继续检测下一个检查点。
步骤106、将当前检测点的观测值作为历史数据,并进行告警处理。
本实施例的方法,通过获取待检测设备的性能参数的历史数据序列和近期趋势数据序列,根据历史数据序列计算得到当前检测点的观测值的第一动态阈值范围,以及根据近期趋势数据序列计算得到当前检测点的观测值的第二动态阈值范围,然后根据第一动态阈值范围、第二动态阈值范围和动态阈值选择策略确定当前检测点的动态阈值范围,最后判断当前检测点的观测值是否属于当前检测点的动态阈值范围。所述方法中,能够综合性能参数的历史数据和近期趋势的变化来确定当前检测点的动态阈值范围,并能够根据不同性能参数设置不同的动态阈值选择策略,避免待检测设备的性能参数异常的误判、漏报和虚警。
在上述实施例一的基础上,本发明实施例二提供一种检测点的动态阈值范围的计算方法,图4为本发明实施例二提供的检测点的动态阈值范围的计算方法的流程图,如图4所示,本实施例的方法可以包括以下步骤:
步骤201、根据历史数据序列计算得到第一判异决策值序列,根据近期趋势数据序列计算得到第二判异决策值序列。
本步骤具体可以包括以下子步骤:
(1)对历史数据序列和近期趋势数据序列分别进行零均值化处理。
以历史数据序列为例,该历史数据序列中共包括N+1观测值,取前N个观测值建立自回归模型,自回归模型(auto regressive model,简称AR)的形式如公式(1-1):
χt=βt-1χt-1t-2χt-2+…+βt-pχt-pt (1-1)
其中,χt为模型变量,βt-1为模型的回归系数,εt为模型的随机误差;p为模型的阶数。
假设前N个观测值为y1,y2,…,yN,模型阶数p=2,则历史数据序列的平均值为:
那么χ12,…,χNN+1就是零均值化后的序列。
(2)根据零均值化后的历史数据序列确定预测模型的第一系数,根据零均值化后的近期趋势数据序列确定预测模型的第二系数。
以零均值化后的历史数据序列为例说明,由上述的自回归模型,可以得出AR(2)模型:
AR(2)模型按照矩阵表达式如下:
假设
则Y=XP,通过矩阵变换可得(XTX)P=XTY,从而有P=(XTX)-1XTY,因为X和Y都是由观测值组成的矩阵,根据矩阵运算可以得出矩阵P的近似值,从而根据公式(1-4)得到
其中:是AR(2)的系数,et是白噪声,它是独立同分布的高斯随机变量,均值为零,方差为σ2。由最小二乘法,可以计算出AR(2)系数的估计值 就为预测模型的第一系数,同理根据零均值化后的近期趋势数据序列得到预测模型的第二系数
(3)根据预测模型的第一系数,计算历史数据序列中每个检测点零均值化后的预测值,根据预测模型的第二系数,计算近期趋势数据序列中每个检测点零均值化后的预测值。
在计算计算出AR(2)的第一系数之后,根据公式(1-3)可以得到历史数据序列的每个检测点零均值化后的预测值,同理根据第二系数计算得到近期趋势数据序列的每个检测点零均值化后的预测值。
(4)计算历史数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第一残差序列,计算近期趋势数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第二残差序列。
可以根据公式(1-5)计算得到第一残差序列和第二残差序列。
(5)计算第一残差序列的标准差,根据第一残差序列与第一残差序列的标准差的比值,得到第一判异决策值序列,计算第二残差序列的标准差,根据第二残差序列与第二残差序列的标准差的比值,得到第二判异决策值序列。
具体根据公式(1-6)计算得到第一残差序列的标准差和第二残差序列的标准差。
作为判异决策函数,t=1,2,…,N,N+1,λi就是性能参数的是否异常的量化值,根据判异决策函数得到第一判异决策值序列和第二判异决策值序列。
步骤202、根据历史数据序列和第一判异决策值序列计算得到历史数据序列的阈值动态范围,以及根据近期趋势数据序列和第二判异决策值序列计算得到近期趋势数据序列的阈值动态范围。
本步骤具体可以包括以下子步骤:
(1)计算历史数据序列的前N个观测值的均方差,以及计算近期趋势数据序列的前N个观测值的均方差。
(2)获取所述历史数据序列的前N个观测值的波动周期的正比例函数,以及获取所述近期趋势数据序列的前N个观测值的波动周期的正比例函数。
(3)根据历史数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第一波动系数,根据近期趋势数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第二波动系数。
具体可以根据公式(1-7)计算第一波动系数和第二波动系数。
其中,σo表示前N个观测值的均方差,a表示前N个观测值的波动周期的正比例函数,由对数函数的基础理论知,κ的取值范围是[2,3),并且根据原始数据波动越剧烈(即均方差越大,周期越小),κ值以越快的速度趋向于图5。图5描绘了异常检测的动态阈值范围效果,在性能参数的观测值波动越剧烈的地方,阈值范围变得越宽,反之则阈值范围变得越窄。
(4)计算第一判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差,计算第二判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差。
令{λi +}和{λi -}分别表示判异决策值序列{λi}中正决策值和负决策值组成的序列,不妨设其个数分别为m和n,标准差分别为σ+和σ-,则有
根据公式(1-8)计算得到第一判异决策值序列中正决策值和负决策值的平均值,以及第二判异决策值序列中正决策值和负决策值的平均值。根据公式(1-9)计算得到第一判异决策值序列和第二判异决策值序列中正决策值标准差,根据公式(1-10)计算得到第一判异决策值序列和第二判异决策值序列中负决策值标准差。
(5)根据第一判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及第一波动系数,得到历史数据序列的阈值动态范围。
历史数据序列的阈值动态范围为:
其中,表示第一判异决策值序列中负决策值的平均值,表示第一判异决策值序列中正决策值的平均值,κ1表示第一波动系数,σ1 -表示第一判异决策值序列中负决策值的标准差,σ1 +表示第二判异决策值序列中正决策值的标准差。
(6)根据第二判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及第二波动系数,得到近期趋势数据序列的阈值动态范围。
近期趋势数据序列的阈值动态范围为:
其中,表示第二判异决策值序列中负决策值的平均值,表示第二判异决策值序列中正决策值的平均值,κ2表示第二波动系数,σ2 -表示第二判异决策值序列中负决策值的标准差,σ2 +表示第二判异决策值序列中正决策值的标准差。
步骤203、根据当前检测点的观测值和当前检测点的第一判异决策值的关系以及历史数据序列的阈值动态范围,确定当前检测点的观测值的第一动态阈值范围,根据当前检测点的观测值和当前检测点的第二判异决策值的关系以及近期趋势数据序列的阈值动态范围,确定当前检测点的观测值的第二动态阈值范围。
一种实现方式中,首先从历史数据序列中读取当前检测点的观测值,从第一判异决策值序列中读取当前检测点的第一判异决策值,根据当前检测点的观测值和当前检测点的第一判异决策值的关系,用当前检测点的观测值表示当前检测点的第一判异决策值,得到当前检测点的第一判异决策值的第一表达式。以及根据当前检测点的观测值和当前检测点的第二判异决策值的关系,用当前检测点的第二判异决策值表示当前检测点的观测值,得到当前检测点的观测值的第二表达式。然后将第一表达式带入历史数据序列的阈值动态范围得到第一不等式,对第一不等式进行等价变换,得到第一阈值动态范围,以及将所述第二表达式带入所述近期趋势数据序列的阈值动态范围得到第二不等式,对所述第二不等式进行等价变换,得到所述第三阈值动态范围。
以第一表达式为例,假设当前检测点的第一判异决策值为λ:
其中,yN+1表示当前检测点的观测值,表示历史数据序列的均值,xN+1表示零均值化处理后的当前检测点的观测值,表示零均值化处理后的历史数据序列的均值,σe表示历史数据序列的标准差,公式1即第一表达式,同理可以得到第二表达式。
假设历史数据序列的动态阈值范围为如果则说明当前检测点的第一判异决策值在合理的动态阈值范围内,系统没有异常。将λ带入得到第一不等式:
对不等式两边进行等价变换,得到第一阈值动态范围为:同理可以得到第二阈值动态范围。
在上述实施例一和实施例二的基础上,本发明实施例三对异常告警处理流程进行详细说明,图6为本发明实施例三提供的异常告警处理方法的流程图,如图6所示,实施例的方法包括以下步骤:
步骤301、根据当前检测点的观测值和当前检测点的动态阈值范围确定单点异常量。
在当前检测点的观测值超出当前检测点的动态阈值范围时,执行本实施例的方法,单点异常量为当前检测点的观测值超出当前检测点的动态阈值范围的值,单点异常量δt可以通过公式(1-13)计算得到:
其中,λ表示当前检测点的观测值,表示当前检测点的动态阈值范围的上限,表示当前检测点的动态阈值范围的下限。
步骤302、根据单点异常量和前一时刻的告警统计量确定当前检测点的告警统计量。
告警统计量φt为前一时刻的告警统计量φt-1的某倍数再加上当前检测点的单点异常量δt。具体可以根据公式(1-14)计算当前检测点的告警统计量φt
其中,b是时间距离函数,例如为|t-(t-1)|。
步骤303、根据当前检测点的动态阈值范围和异常发生的点数计算当前检测点的告警统计量的阈值范围。
告警统计量的阈值范围Halarm可以通过计算公式(1-15)计算:
其中,d为异常发生的点数。
步骤304、判断当前检测点的告警统计量是否属于当前检测点的告警统计量的阈值范围。
如果当前检测点的告警统计量不属于当前检测点的告警统计量的阈值范围,则执行步骤305,如果当前检测点的告警统计量属于当前检测点的告警统计量的阈值范围,则执行步骤306。
步骤305、判断告警标识是否为真。
如果告警标识不为真,则执行步骤307,如果告警表示不为真,则执行步骤308。
步骤306、判断告警标识是否为真。
如果告警表示为真,则执行步骤309,如果告警表示不为真,则执行步骤308。
步骤307、触发告警,记录告警时间起点,将告警标识设置为真。
在步骤307之后执行步骤308。
步骤308、检测下一个检测点。
步骤309、结束告警,记录告警事件终点,将所述告警标识设置为否。
在步骤309之后执行步骤308。
本实施例提供的异常告警处理方法,并不是在某个检查点出现异常之后,立即就进行告警,而是当连续多点发生异常时,告警统计量迅速以指数增长,这样告警统计量很快就会超过线性增长的告警阈值范围,才会进行告警。所述方法可以避免虚警产生,例如当瞬时冲高场景下,只要后续没有异常点的发生,告警统计量很快就以指数形式衰减至0,从而避免了虚警的产生。
图7为本发明实施例四提供的异常检查设备的结构示意图,如图7所示,本实施例提供的异常检查设备包括:获取模块11、计算模块12、第一确定模块13、判断模块14、第二确定模块15和告警模块16。
获取模块11,用于获取待检测设备的性能参数的历史数据序列和近期趋势数据序列,所述历史数据序列包括当前检测点的观测值和所述当前检测点所属的当前检测周期之前的N个检测周期内的同一检测点的观测值,所述近期趋势数据序列包括所述当前检测点的观测值和所述当前检测点之前的N个检测点的观测值;
计算模块12,用于根据所述历史数据序列计算得到所述当前检测点的第一动态阈值范围,以及根据所述近期趋势数据序列计算得到所述当前检测点的第二动态阈值范围;
第一确定模块13,用于根据所述第一动态阈值范围、所述第二动态阈值范围和动态阈值选择策略确定所述当前检测点的动态阈值范围;
判断模块14,用于判断所述当前检测点的观测值是否属于所述当前检测点的动态阈值范围;
第二确定模块15,用于当所述当前检测点的观测值属于所述当前检测点的动态阈值范围时,将所述当前检测点的观测值作为历史数据;
所述第二确定模块15,还用于当所述当前检测点的观测值不属于所述当前检测点的动态阈值范围时,将所述当前检测点的观测值作为历史数据;
告警模块16,用于当所述当前检测点的观测值不属于所述当前检测点的动态阈值范围时,进行异常告警处理。
其中,所述动态阈值选取策略包括以下策略中的任意一个:
策略一:所述当前检测点的动态阈值范围的上限为Min(HDT_Upper,RDT_Upper),所述当前检测点的动态阈值范围的下限为Max(HDT_Lower,RDT_Lower),其中,HDT_Upper为所述第一动态阈值范围的上限,RDT_Upper为所述第二动态阈值范围的上限,HDT_Lower为所述第一动态阈值范围的下限,RDT_Lower为所述第二动态阈值范围的下限;
策略二:所述当前检测点的动态阈值范围的上限为Max(HDT_Upper,RDT_Upper),所述当前检测点的动态阈值范围的下限为Min(HDT_Lower,RDT_Lower);
策略三:所述当前检测点的动态阈值范围的上限为Hweight*HDT_Upper+Rweight*RDT_Upper,所述当前检测点的阈值范围的下限为Hweight*HDT_Lower+Rweight*RDT_Lower,其中,Hweight表示所述第一动态阈值范围的权重,Rweight表示所述第二动态阈值范围的权重。
本实施例的异常检查设备,可用于执行实施例一的方法,具体实现方式和技术效果类似,这里不再赘述。
图8为本发明实施例五提供的异常检查设备的结构示意图,如图8所示,在图7所示异常检查设备的基础上,本实施例中所述计算模块12包括:
第一计算子模块121,用于根据所述历史数据序列计算得到第一判异决策值序列,根据所述近期趋势数据序列计算得到第二判异决策值序列;
第二计算子模块122,用于根据所述历史数据序列和所述第一判异决策值序列计算得到所述历史数据序列的阈值动态范围,以及根据所述近期趋势数据序列和所述第二判异决策值序列计算得到所述近期趋势数据序列的阈值动态范围;
第三计算子模块123,用于根据所述当前检测点的观测值和所述当前检测点的第一判异决策值的关系以及所述历史数据序列的阈值动态范围,确定所述当前检测点的观测值的第一动态阈值范围,根据所述当前检测点的观测值和所述当前检测点的第二判异决策值的关系以及所述近期趋势数据序列的阈值动态范围,确定所述当前检测点的观测值的第二动态阈值范围。
可选的,所述第一计算子模块121具体用于:
对所述历史数据序列和所述近期趋势数据序列分别进行零均值化处理;
根据零均值化后的历史数据序列确定预测模型的第一系数,根据零均值化后的近期趋势数据序列确定所述预测模型的第二系数;
根据所述预测模型的第一系数,计算所述历史数据序列中每个检测点零均值化后的预测值,根据所述预测模型的第二系数,计算所述近期趋势数据序列中每个检测点零均值化后的预测值;
计算所述历史数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第一残差序列,计算所述近期趋势数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第二残差序列;
计算所述第一残差序列的标准差,根据所述第一残差序列与所述第一残差序列的标准差的比值,得到所述第一判异决策值序列,计算所述第二残差序列的标准差,根据所述第二残差序列与所述第二残差序列的标准差的比值,得到所述第二判异决策值序列。
可选的,所述第二计算子模块122具体用于:
计算所述历史数据序列的前N个观测值的均方差,以及计算所述近期趋势数据序列的前N个观测值的均方差;
获取所述历史数据序列的前N个观测值的波动周期的正比例函数,以及获取所述近期趋势数据序列的前N个观测值的波动周期的正比例函数;
根据所述历史数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第一波动系数,根据所述近期趋势数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第二波动系数;
计算所述第一判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差,计算所述第二判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差;
根据所述第一判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及所述第一波动系统,得到所述历史数据序列的阈值动态范围:其中,表示所述第一判异决策值序列中负决策值的平均值,表示所述第一判异决策值序列中正决策值的平均值,κ1表示所述第一波动系数,σ1 -表示所述第一判异决策值序列中负决策值的标准差,σ1 +表示所述第二判异决策值序列中正决策值的标准差;
根据所述第二判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及所述第二波动系数,得到所述近期趋势数据序列的阈值动态范围:其中,表示所述第二判异决策值序列中负决策值的平均值,表示所述第二判异决策值序列中正决策值的平均值,κ2表示所述第二波动系数,σ2 -表示所述第二判异决策值序列中负决策值的标准差,σ2 +表示所述第二判异决策值序列中正决策值的标准差。
可选的,所述第三计算子模块123具体用于:
根据所述当前检测点的观测值和所述当前检测点的第一判异决策值的关系,用所述当前检测点的观测值表示所述当前检测点的第一判异决策值,得到所述当前检测点的第一判异决策值的第一表达式;
根据所述当前检测点的观测值和所述当前检测点的第二判异决策值的关系,用所述当前检测点的观测值表示所述当前检测点的第二判异决策值,得到所述当前检测点的第二判异决策值的第二表达式;
将所述第一表达式带入所述历史数据序列的阈值动态范围得到第一不等式,对所述第一不等式进行等价变换,得到所述第一阈值动态范围;
将所述第二表达式带入所述近期趋势数据序列的阈值动态范围得到第二不等式,对所述第二不等式进行等价变换,得到所述第二阈值动态范围。
本实施例的异常检测设备,可用于执行实施例二的方法,具体实现方式和技术效果类似,这里不再赘述。
图9为本发明实施例六提供的异常检测设备的结构示意图,如图9所示,本实施例的异常检查设备在图8所示异常检测设备的基础上还包括:
预处理模块17,用于通过最小二乘法去除所述历史数据序列和所述近期趋势数据序列中的异常数据。
本实施例中,所述告警模块16具体用于:
根据所述当前检测点的观测值和所述当前检测点的动态阈值范围确定单点异常量,所述单点异常量为所述当前检测点的观测值超出所述当前检测点的动态阈值范围的值;
根据所述单点异常量和前一时刻的告警统计量确定所述当前检测点的告警统计量;
根据所述当前检测点的动态阈值范围和异常发生的点数计算所述当前检测点的告警统计量的阈值范围;
判断所述当前检测点的告警统计量是否属于所述当前检测点的告警统计量的阈值范围;
如果所述当前检测点的告警统计量不属于所述当前检测点的告警统计量的阈值范围,则判断告警标识是否为真,如果所述告警标识不为真,则触发告警,记录告警时间起点,将所述告警标识设置为真,继续检测下一个检测点,如果所述告警标识为真,则继续检测下一个检测点;
如果所述当前检测点的告警统计量属于所述当前检测点的告警统计量的阈值范围,则判断所述告警标识是否为真,如果所述告警标识为真,则结束告警,记录告警事件终点,将所述告警标识设置为否,继续检测下一个检测点,如果所述告警标识不为真,则继续检测下一个检测点。
本实施例的异常检测设备,具体用于执行实施例一的方法,具体实现方式和技术效果类似,这里不再赘述。
图10为本发明实施例七提供的异常检测设备的实体结构的示意图,如图10所示,异常检测设备200包括通信接口21、处理器22、存储器23和总线24,其中,通信接口21、处理器22、存储器23通过总线24相互连接。总线24可以是外设部件互连标准(peripheralcomponent interconnect,简称PCI)总线或扩展工业标准结构(extended industrystandard architecture,简称EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口21用于实现数据库读写装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器23可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器22执行存储器23所存放的程序代码,实现实施例一至实施例三的异常检测方法。
上述的处理器22可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (16)

1.一种异常检测方法,其特征在于,包括:
获取待检测设备的性能参数的历史数据序列和近期趋势数据序列,所述历史数据序列包括当前检测点的观测值和所述当前检测点所属的当前检测周期之前的N个检测周期内的同一检测点的观测值,所述近期趋势数据序列包括所述当前检测点的观测值和所述当前检测点之前的N个检测点的观测值;
根据所述历史数据序列计算得到所述当前检测点的第一动态阈值范围,以及根据所述近期趋势数据序列计算得到所述当前检测点的第二动态阈值范围;
根据所述第一动态阈值范围、所述第二动态阈值范围和动态阈值选择策略确定所述当前检测点的动态阈值范围;
判断所述当前检测点的观测值是否属于所述当前检测点的动态阈值范围;
如果所述当前检测点的观测值属于所述当前检测点的动态阈值范围,则将所述当前检测点的观测值作为历史数据,继续检测下一个检测点;
如果所述当前检测点的观测值不属于所述当前检测点的动态阈值范围,则将所述当前检测点的观测值作为历史数据,并进行异常告警处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述历史数据序列计算得到所述当前检测点的第一动态阈值范围,以及根据所述近期趋势数据序列计算得到所述当前检测点的第二动态阈值范围,包括:
根据所述历史数据序列计算得到第一判异决策值序列,根据所述近期趋势数据序列计算得到第二判异决策值序列;
根据所述历史数据序列和所述第一判异决策值序列计算得到所述历史数据序列的阈值动态范围,以及根据所述近期趋势数据序列和所述第二判异决策值序列计算得到所述近期趋势数据序列的阈值动态范围;
根据所述当前检测点的观测值和所述当前检测点的第一判异决策值的关系以及所述历史数据序列的阈值动态范围,确定所述当前检测点的观测值的第一动态阈值范围,根据所述当前检测点的观测值和所述当前检测点的第二判异决策值的关系以及所述近期趋势数据序列的阈值动态范围,确定所述当前检测点的观测值的第二动态阈值范围。
3.根据权利要求2所述的方法,其特征在于,所述根据所述当前检测点的观测值和所述当前检测点的第一判异决策值的关系以及所述历史数据序列的阈值动态范围,确定所述当前检测点的观测值的第一动态阈值范围,根据所述当前检测点的观测值和所述当前检测点的第二判异决策值的关系以及所述近期趋势数据序列的阈值动态范围,确定所述当前检测点的观测值的第二动态阈值范围,包括:
根据所述当前检测点的观测值和所述当前检测点的第一判异决策值的关系,用所述当前检测点的观测值表示所述当前检测点的第一判异决策值,得到所述当前检测点的第一判异决策值的第一表达式;
根据所述当前检测点的观测值和所述当前检测点的第二判异决策值的关系,用所述当前检测点的观测值表示所述当前检测点的第二判异决策值,得到所述当前检测点的第二判异决策值的第二表达式;
将所述第一表达式代入所述历史数据序列的阈值动态范围得到第一不等式,对所述第一不等式进行等价变换,得到所述第一动态阈值范围;
将所述第二表达式代入所述近期趋势数据序列的阈值动态范围得到第二不等式,对所述第二不等式进行等价变换,得到所述第二动态阈值范围。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述动态阈值选取策略包括以下策略中的任意一个:
策略一:所述当前检测点的动态阈值范围的上限为Min(HDT_Upper,RDT_Upper),所述当前检测点的动态阈值范围的下限为Max(HDT_Lower,RDT_Lower),其中,HDT_Upper为所述第一动态阈值范围的上限,RDT_Upper为所述第二动态阈值范围的上限,HDT_Lower为所述第一动态阈值范围的下限,RDT_Lower为所述第二动态阈值范围的下限;
策略二:所述当前检测点的动态阈值范围的上限为Max(HDT_Upper,RDT_Upper),所述当前检测点的动态阈值范围的下限为Min(HDT_Lower,RDT_Lower);
策略三:所述当前检测点的动态阈值范围的上限为Hweight*HDT_Upper+Rweight*RDT_Upper,所述当前检测点的阈值范围的下限为Hweight*HDT_Lower+Rweight*RDT_Lower,其中,Hweight表示所述第一动态阈值范围的权重,Rweight表示所述第二动态阈值范围的权重。
5.根据权利要求1所述的方法,其特征在于,所述根据所述历史数据序列计算得到所述当前检测点的第一动态阈值范围,以及根据所述近期趋势数据序列计算得到所述当前检测点的第二动态阈值范围之前,所述方法还包括:
通过最小二乘法去除所述历史数据序列和所述近期趋势数据序列中的异常数据。
6.根据权利要求2所述的方法,其特征在于,所述根据所述历史数据序列计算得到第一判异决策值序列,根据所述近期趋势数据序列计算得到第二判异决策值序列,包括:
对所述历史数据序列和所述近期趋势数据序列分别进行零均值化处理;
根据零均值化后的历史数据序列确定预测模型的第一系数,根据零均值化后的近期趋势数据序列确定所述预测模型的第二系数;
根据所述预测模型的第一系数,计算所述历史数据序列中每个检测点零均值化后的预测值,根据所述预测模型的第二系数,计算所述近期趋势数据序列中每个检测点零均值化后的预测值;
计算所述历史数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第一残差序列,计算所述近期趋势数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第二残差序列;
计算所述第一残差序列的标准差,根据所述第一残差序列与所述第一残差序列的标准差的比值,得到所述第一判异决策值序列,计算所述第二残差序列的标准差,根据所述第二残差序列与所述第二残差序列的标准差的比值,得到所述第二判异决策值序列。
7.根据权利要求6所述的方法,其特征在于,所述根据所述历史数据序列和所述第一判异决策值序列计算得到所述历史数据序列的阈值动态范围,以及根据所述近期趋势数据序列和所述第二判异决策值序列计算得到所述近期趋势数据序列的阈值动态范围,包括:
计算所述历史数据序列的前N个观测值的均方差,以及计算所述近期趋势数据序列的前N个观测值的均方差;
获取所述历史数据序列的前N个观测值的波动周期的正比例函数,以及获取所述近期趋势数据序列的前N个观测值的波动周期的正比例函数;
根据所述历史数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第一波动系数,根据所述近期趋势数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第二波动系数;
计算所述第一判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差,计算所述第二判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差;
根据所述第一判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及所述第一波动系数,得到所述历史数据序列的阈值动态范围:其中,表示所述第一判异决策值序列中负决策值的平均值,表示所述第一判异决策值序列中正决策值的平均值,κ1表示所述第一波动系数,σ1 -表示所述第一判异决策值序列中负决策值的标准差,σ1 +表示所述第一判异决策值序列中正决策值的标准差;
根据所述第二判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及所述第二波动系数,得到所述近期趋势数据序列的阈值动态范围:其中,表示所述第二判异决策值序列中负决策值的平均值,表示所述第二判异决策值序列中正决策值的平均值,κ2表示所述第二波动系数,σ2 -表示所述第二判异决策值序列中负决策值的标准差,σ2 +表示所述第二判异决策值序列中正决策值的标准差。
8.根据权利要求1所述的方法,其特征在于,所述进行异常告警处理,包括:
根据所述当前检测点的观测值和所述当前检测点的动态阈值范围确定单点异常量,所述单点异常量为所述当前检测点的观测值超出所述当前检测点的动态阈值范围的值;
根据所述单点异常量和前一时刻的告警统计量确定所述当前检测点的告警统计量;
根据所述当前检测点的动态阈值范围和异常发生的点数计算所述当前检测点的告警统计量的阈值范围;
判断所述当前检测点的告警统计量是否属于所述当前检测点的告警统计量的阈值范围;
如果所述当前检测点的告警统计量不属于所述当前检测点的告警统计量的阈值范围,则判断告警标识是否为真,如果所述告警标识不为真,则触发告警,记录告警时间起点,将所述告警标识设置为真,继续检测下一个检测点,如果所述告警标识为真,则继续检测下一个检测点;
如果所述当前检测点的告警统计量属于所述当前检测点的告警统计量的阈值范围,则判断所述告警标识是否为真,如果所述告警标识为真,则结束告警,记录告警事件终点,将所述告警标识设置为否,继续检测下一个检测点,如果所述告警标识不为真,则继续检测下一个检测点。
9.一种异常检测设备,其特征在于,包括:
获取模块,用于获取待检测设备的性能参数的历史数据序列和近期趋势数据序列,所述历史数据序列包括当前检测点的观测值和所述当前检测点所属的当前检测周期之前的N个检测周期内的同一检测点的观测值,所述近期趋势数据序列包括所述当前检测点的观测值和所述当前检测点之前的N个检测点的观测值;
计算模块,用于根据所述历史数据序列计算得到所述当前检测点的第一动态阈值范围,以及根据所述近期趋势数据序列计算得到所述当前检测点的第二动态阈值范围;
第一确定模块,用于根据所述第一动态阈值范围、所述第二动态阈值范围和动态阈值选择策略确定所述当前检测点的动态阈值范围;
判断模块,用于判断所述当前检测点的观测值是否属于所述当前检测点的动态阈值范围;
第二确定模块,用于当所述当前检测点的观测值属于所述当前检测点的动态阈值范围时,将所述当前检测点的观测值作为历史数据;
所述第二确定模块,还用于当所述当前检测点的观测值不属于所述当前检测点的动态阈值范围时,将所述当前检测点的观测值作为历史数据;
告警模块,用于当所述当前检测点的观测值不属于所述当前检测点的动态阈值范围时,进行异常告警处理。
10.根据权利要求9所述的设备,其特征在于,所述计算模块包括:
第一计算子模块,用于根据所述历史数据序列计算得到第一判异决策值序列,根据所述近期趋势数据序列计算得到第二判异决策值序列;
第二计算子模块,用于根据所述历史数据序列和所述第一判异决策值序列计算得到所述历史数据序列的阈值动态范围,以及根据所述近期趋势数据序列和所述第二判异决策值序列计算得到所述近期趋势数据序列的阈值动态范围;
第三计算子模块,用于根据所述当前检测点的观测值和所述当前检测点的第一判异决策值的关系以及所述历史数据序列的阈值动态范围,确定所述当前检测点的观测值的第一动态阈值范围,根据所述当前检测点的观测值和所述当前检测点的第二判异决策值的关系以及所述近期趋势数据序列的阈值动态范围,确定所述当前检测点的观测值的第二动态阈值范围。
11.根据权利要求10所述的设备,其特征在于,所述第三计算子模块具体用于:
根据所述当前检测点的观测值和所述当前检测点的第一判异决策值的关系,用所述当前检测点的观测值表示所述当前检测点的第一判异决策值,得到所述当前检测点的第一判异决策值的第一表达式;
根据所述当前检测点的观测值和所述当前检测点的第二判异决策值的关系,用所述当前检测点的观测值表示所述当前检测点的第二判异决策值,得到所述当前检测点的第二判异决策值的第二表达式;
将所述第一表达式代入所述历史数据序列的阈值动态范围得到第一不等式,对所述第一不等式进行等价变换,得到所述第一动态阈值范围;
将所述第二表达式代入所述近期趋势数据序列的阈值动态范围得到第二不等式,对所述第二不等式进行等价变换,得到所述第二动态阈值范围。
12.根据权利要求9-11中任一项所述的设备,其特征在于,所述动态阈值选取策略包括以下策略中的任意一个:
策略一:所述当前检测点的动态阈值范围的上限为Min(HDT_Upper,RDT_Upper),所述当前检测点的动态阈值范围的下限为Max(HDT_Lower,RDT_Lower),其中,HDT_Upper为所述第一动态阈值范围的上限,RDT_Upper为所述第二动态阈值范围的上限,HDT_Lower为所述第一动态阈值范围的下限,RDT_Lower为所述第二动态阈值范围的下限;
策略二:所述当前检测点的动态阈值范围的上限为Max(HDT_Upper,RDT_Upper),所述当前检测点的动态阈值范围的下限为Min(HDT_Lower,RDT_Lower);
策略三:所述当前检测点的动态阈值范围的上限为Hweight*HDT_Upper+Rweight*RDT_Upper,所述当前检测点的阈值范围的下限为Hweight*HDT_Lower+Rweight*RDT_Lower,其中,Hweight表示所述第一动态阈值范围的权重,Rweight表示所述第二动态阈值范围的权重。
13.根据权利要求9所述的设备,其特征在于,还包括:
预处理模块,用于通过最小二乘法去除所述历史数据序列和所述近期趋势数据序列中的异常数据。
14.根据权利要求10所述的设备,其特征在于,所述第一计算子模块具体用于:
对所述历史数据序列和所述近期趋势数据序列分别进行零均值化处理;
根据零均值化后的历史数据序列确定预测模型的第一系数,根据零均值化后的近期趋势数据序列确定所述预测模型的第二系数;
根据所述预测模型的第一系数,计算所述历史数据序列中每个检测点零均值化后的预测值,根据所述预测模型的第二系数,计算所述近期趋势数据序列中每个检测点零均值化后的预测值;
计算所述历史数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第一残差序列,计算所述近期趋势数据序列中每个检测点零均值化后的观测值和预测值的残差,得到第二残差序列;
计算所述第一残差序列的标准差,根据所述第一残差序列与所述第一残差序列的标准差的比值,得到所述第一判异决策值序列,计算所述第二残差序列的标准差,根据所述第二残差序列与所述第二残差序列的标准差的比值,得到所述第二判异决策值序列。
15.根据权利要求10所述的设备,其特征在于,所述第二计算子模块具体用于:
计算所述历史数据序列的前N个观测值的均方差,以及计算所述近期趋势数据序列的前N个观测值的均方差;
获取所述历史数据序列的前N个观测值的波动周期的正比例函数,以及获取所述近期趋势数据序列的前N个观测值的波动周期的正比例函数;
根据所述历史数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第一波动系数,根据所述近期趋势数据序列的前N个观测值的均方差和波动周期的正比例函数,计算第二波动系数;
计算所述第一判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差,计算所述第二判异决策值序列中正决策值的平均值和标准差,以及负决策值的平均值和标准差;
根据所述第一判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及所述第一波动系数,得到所述历史数据序列的阈值动态范围:其中,表示所述第一判异决策值序列中负决策值的平均值,表示所述第一判异决策值序列中正决策值的平均值,κ1表示所述第一波动系数,σ1 -表示所述第一判异决策值序列中负决策值的标准差,σ1 +表示所述第一判异决策值序列中正决策值的标准差;
根据所述第二判异决策值序列中正决策值的平均值和标准差、负决策值的平均值和标准差以及所述第二波动系数,得到所述近期趋势数据序列的阈值动态范围:其中,表示所述第二判异决策值序列中负决策值的平均值,表示所述第二判异决策值序列中正决策值的平均值,κ2表示所述第二波动系数,σ2 -表示所述第二判异决策值序列中负决策值的标准差,σ2 +表示所述第二判异决策值序列中正决策值的标准差。
16.根据权利要求9所述的设备,其特征在于,所述告警模块具体用于:
根据所述当前检测点的观测值和所述当前检测点的动态阈值范围确定单点异常量,所述单点异常量为所述当前检测点的观测值超出所述当前检测点的动态阈值范围的值;
根据所述单点异常量和前一时刻的告警统计量确定所述当前检测点的告警统计量;
根据所述当前检测点的动态阈值范围和异常发生的点数计算所述当前检测点的告警统计量的阈值范围;
判断所述当前检测点的告警统计量是否属于所述当前检测点的告警统计量的阈值范围;
如果所述当前检测点的告警统计量不属于所述当前检测点的告警统计量的阈值范围,则判断告警标识是否为真,如果所述告警标识不为真,则触发告警,记录告警时间起点,将所述告警标识设置为真,继续检测下一个检测点,如果所述告警标识为真,则继续检测下一个检测点;
如果所述当前检测点的告警统计量属于所述当前检测点的告警统计量的阈值范围,则判断所述告警标识是否为真,如果所述告警标识为真,则结束告警,记录告警事件终点,将所述告警标识设置为否,继续检测下一个检测点,如果所述告警标识不为真,则继续检测下一个检测点。
CN201510979846.9A 2015-12-23 2015-12-23 异常检测方法和设备 Active CN105718715B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510979846.9A CN105718715B (zh) 2015-12-23 2015-12-23 异常检测方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510979846.9A CN105718715B (zh) 2015-12-23 2015-12-23 异常检测方法和设备

Publications (2)

Publication Number Publication Date
CN105718715A CN105718715A (zh) 2016-06-29
CN105718715B true CN105718715B (zh) 2018-10-30

Family

ID=56147030

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510979846.9A Active CN105718715B (zh) 2015-12-23 2015-12-23 异常检测方法和设备

Country Status (1)

Country Link
CN (1) CN105718715B (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106405280B (zh) * 2016-08-29 2018-11-09 许继集团有限公司 一种智能变电站在线监测参数趋势预警方法
CN107871190B (zh) * 2016-09-23 2021-12-14 阿里巴巴集团控股有限公司 一种业务指标监控方法及装置
DE102017201548A1 (de) 2017-01-31 2018-08-02 Siemens Aktiengesellschaft Verfahren zum Bereitstellen von Messwerten einer technischen Anlage, technisches System und Verfahren zum Betreiben des technischen Systems
CN107086944B (zh) * 2017-06-22 2020-04-21 北京奇艺世纪科技有限公司 一种异常检测方法和装置
CN108269189B (zh) * 2017-07-05 2020-09-08 中国中投证券有限责任公司 指标数据监控方法、装置、存储介质和计算机设备
CN108197011B (zh) * 2018-01-29 2021-06-01 上海洞识信息科技有限公司 一种基于人工智能大数据平台的单指标预测和预警方法
CN108964976A (zh) * 2018-05-31 2018-12-07 华为技术有限公司 一种基于光模块的告警提示方法及告警提示装置
CN110764975B (zh) * 2018-07-27 2021-10-22 华为技术有限公司 设备性能的预警方法、装置及监控设备
CN109327334A (zh) * 2018-09-30 2019-02-12 山东中创软件商用中间件股份有限公司 一种针对于设备性能的告警方法、装置及设备
CN110399400B (zh) * 2018-10-31 2023-08-15 腾讯科技(深圳)有限公司 检测异常数据的方法、装置、设备以及介质
CN111695083A (zh) * 2019-03-15 2020-09-22 北京京东尚科信息技术有限公司 一种检测方法和检测设备
WO2020227985A1 (en) * 2019-05-15 2020-11-19 Alibaba Group Holding Limited Real-time fault detection on network devices and circuits based on traffic volume statistics
CN112149860A (zh) * 2019-06-28 2020-12-29 中国电力科学研究院有限公司 一种自动异常检测方法和系统
CN110635947A (zh) * 2019-09-20 2019-12-31 曹严清 异常访问监测方法及装置
WO2021056435A1 (zh) * 2019-09-27 2021-04-01 华为技术有限公司 用于异常检测的方法和装置
CN110890998B (zh) * 2019-11-06 2021-08-27 厦门网宿有限公司 一种确定阈值的方法及装置
CN112825164A (zh) * 2019-11-20 2021-05-21 顺丰科技有限公司 一种预测数据异常检测方法、装置、设备及存储介质
CN111176931A (zh) * 2019-12-11 2020-05-19 深圳智链物联科技有限公司 一种运营监控方法、装置、服务器及存储介质
CN111191881B (zh) * 2019-12-13 2024-05-14 大唐东北电力试验研究院有限公司 一种基于大数据的火电机组工业设备状态监测方法
CN113530528A (zh) * 2020-04-13 2021-10-22 中国石油化工股份有限公司 基于随钻电成像图像的异常数据检测和修复方法及系统
CN111178645B (zh) * 2020-04-14 2020-12-08 深圳市朝阳辉电气设备有限公司 电力设备异常检测方法、装置、控制设备及存储介质
CN111611517B (zh) * 2020-05-13 2023-07-21 咪咕文化科技有限公司 指标监控方法、装置、电子设备及存储介质
CN111931860B (zh) * 2020-09-01 2021-02-09 腾讯科技(深圳)有限公司 异常数据检测方法、装置、设备及存储介质
CN112162878B (zh) * 2020-09-30 2021-09-28 深圳前海微众银行股份有限公司 数据库故障发现方法、装置、电子设备及存储介质
CN112433919B (zh) * 2020-11-25 2023-01-24 深圳前海微众银行股份有限公司 一种信息告警方法、设备及存储介质
CN115114139A (zh) * 2021-03-17 2022-09-27 华为技术有限公司 异常检测方法及装置
CN113920679A (zh) * 2021-10-29 2022-01-11 苏州和歌信息科技有限公司 城市远距离火灾监测方法、装置、计算机设备及存储介质
CN114035466B (zh) * 2021-11-05 2022-05-31 肇庆高峰机械科技有限公司 一种双工位磁片排列机的控制系统
WO2023155107A1 (zh) * 2022-02-17 2023-08-24 西门子股份公司 预告警方法、装置、包括其的过程仪表以及计算设备
CN115357840B (zh) * 2022-10-24 2023-01-24 中国水利水电第七工程局有限公司 基于Python语言的设备计算公式的计算方法、装置及电子设备
TWI831466B (zh) * 2022-11-11 2024-02-01 耀登科技股份有限公司 航向姿態的校正方法及航向姿態校正系統
CN116582134B (zh) * 2023-07-11 2023-10-13 江苏盖亚环境科技股份有限公司 一种钻测一体化装备数据处理方法
CN116992390B (zh) * 2023-09-26 2023-12-05 北京联创高科信息技术有限公司 一种异常数据的配置及展示方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854277B (zh) * 2010-06-12 2012-04-25 河北全通通信有限公司 一种移动通信经营分析系统的监控方法
KR20120075657A (ko) * 2010-12-29 2012-07-09 재단법인 포항산업과학연구원 계측기의 이상여부 판단방법
CN104679970B (zh) * 2013-11-29 2018-11-09 高德软件有限公司 一种数据检测方法及装置
CN105023044B (zh) * 2015-07-21 2017-10-24 清华大学 基于大量时间序列的交通流因果关系挖掘方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"一种基于自回归模型的网络异常检测方法";余朝华等;《计算机应用》;20120710;第32卷(第S1期);第5-7页 *
"基于AR模型的网络异常检测";邹柏贤等;《微电子学与计算机》;20021231(第12期);第1-6页 *
"基于动态阈值的网络流量异常检测方法研究与实现";李中魁;《中国优秀硕士学位论文全文数据库信息科技辑》;20110315;第2011年卷(第3期);第I139-134页 *
"基于自适应阈值的网络流量异常检测算法";曹敏等;《计算机工程》;20091031;第35卷(第19期);第164-166、177页 *
"网络流量异常检测与预测方法研究";邹柏贤;《中国博士学位论文全文数据库 信息科技辑》;20070215;第2007年卷(第2期);第I139-31页 *
"网络监测及异常流量分析";吕兆峰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111215;第2011年卷(第S1期);第I139-61页 *

Also Published As

Publication number Publication date
CN105718715A (zh) 2016-06-29

Similar Documents

Publication Publication Date Title
CN105718715B (zh) 异常检测方法和设备
CN107086944B (zh) 一种异常检测方法和装置
CN108052528B (zh) 一种存储设备时序分类预警方法
US11048729B2 (en) Cluster evaluation in unsupervised learning of continuous data
CN105893231B (zh) 一种基于smart的预测硬盘亚健康指标的方法及装置
CN108829535A (zh) 数据处理方法、终端及计算机可读存储介质
CN110601900B (zh) 一种网络故障预警方法及装置
CN111045894B (zh) 数据库异常检测方法、装置、计算机设备和存储介质
CN107528722A (zh) 一种时间序列中异常点检测方法及装置
CN104778111A (zh) 一种进行报警的方法和装置
US11657121B2 (en) Abnormality detection device, abnormality detection method and computer readable medium
CN111104736B (zh) 基于时间序列的异常数据检测方法、装置、介质和设备
CN109597746A (zh) 故障分析方法及装置
CN114365094A (zh) 使用倒排索引的时序异常检测
CN112884199A (zh) 水电站设备故障预测方法、装置、计算机设备和存储介质
CN110795324B (zh) 一种数据处理方法及装置
CN106652393B (zh) 假警报确定方法及装置
CN112380073B (zh) 一种故障位置的检测方法、装置及可读存储介质
CN109976986B (zh) 异常设备的检测方法及装置
CN104598361A (zh) 一种性能监控方法和装置
CN116663747A (zh) 一种基于数据中心基础设施的智能预警方法及系统
Al-Dahidi et al. Quantification of signal reconstruction uncertainty in fault detection systems
CN111176931A (zh) 一种运营监控方法、装置、服务器及存储介质
CN117093433B (zh) 故障检测方法、装置、电子设备及存储介质
CN117527611A (zh) 一种基于高斯分布的故障动态预测方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant