CN113672600A - 一种异常检测方法及系统 - Google Patents
一种异常检测方法及系统 Download PDFInfo
- Publication number
- CN113672600A CN113672600A CN202110817408.8A CN202110817408A CN113672600A CN 113672600 A CN113672600 A CN 113672600A CN 202110817408 A CN202110817408 A CN 202110817408A CN 113672600 A CN113672600 A CN 113672600A
- Authority
- CN
- China
- Prior art keywords
- time sequence
- index
- time
- data
- alarm
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种异常检测方法及系统,包括:获取待检测平台上当前时间之前的预设周期内各指标的时序数据,进行预处理得到该指标的真实值时间序列;针对每种指标,分别使用不少于两种机器学习模型对该指标的真实值时间序列进行预测,得到该预设周期内该指标的各机器学习模型相应的预测值时间序列,将与真实值时间序列最接近的作为该指标的预测值时间序列;针对每种指标将预测值时间序列与其真实值时间序列进行比对,得到误差值时间序列;根据误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点;针对异常点进行报警。通过机器学习模型计算预测值时间序列,计算量减少、计算时间少。
Description
技术领域
本发明涉及智能检测领域,具体涉及一种异常检测方法及系统。
背景技术
目前开源的基于时间序列的异常检测系统主要采用ARIMA,但是ARIMA基于训练出的模型对时间序列进行检测,其优点是检测准确度高,缺点是检测速度慢,不适用于企业级数十万甚至数百万的时间序列的检测,且随着周期越长,检测速度越慢,甚至几个小时都计算不出来结果。
发明内容
本发明实施例提供一种异常检测方法及系统,无需拟合出复杂的模型,只需使用的机器学习模型即可计算出预测值时间序列,计算量大大减少,能够有效降低预测模型的计算时间。
为达上述目的,一方面,本发明实施例提供一种异常检测方法,包括:
获取待检测平台上当前时间之前的预设周期内各指标的时序数据,并针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,将格式相同的时序数据作为该指标的真实值时间序列;其中,时序数据是指将同一指标的数值按其发生时间的先后排列而成的数列;
针对每种指标的真实值时间序列,分别使用不少于两种机器学习模型对该指标的真实值时间序列进行预测,得到该预设周期内该指标的各机器学习模型相应的预测值时间序列,并将与真实值时间序列最接近的预测值时间序列作为该预设周期内该指标的预测值时间序列;
针对每种指标,将该指标的预测值时间序列与其真实值时间序列进行比对计算,得到该指标的误差值时间序列;根据该指标的误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点;
当误差值所对应的时间点为异常点时,针对异常点进行报警。
另一方面,本发明实施例提供一种异常检测系统,包括:
数据接入单元,用于获取待检测平台上当前时间之前的预设周期内各指标的时序数据,并针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,将格式相同的时序数据作为该指标的真实值时间序列;其中,时序数据是指将同一指标的数值按其发生时间的先后排列而成的数列;
时序预测单元,用于针对每种指标的真实值时间序列,分别使用不少于两种机器学习模型对该指标的真实值时间序列进行预测,得到该预设周期内该指标的各机器学习模型相应的预测值时间序列,并将与真实值时间序列最接近的预测值时间序列作为该预设周期内该指标的预测值时间序列;
异常检测单元,用于针对每种指标,将该指标的预测值时间序列与其真实值时间序列进行比对计算,得到该指标的误差值时间序列;根据该指标的误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点;
异常报警单元,用于当误差值所对应的时间点为异常点时,针对异常点进行报警。
上述技术方案具有如下有益效果:无需拟合出复杂的模型,只需使用的机器学习模型即可计算出预测值时间序列,计算量大大减少,能够有效降低预测模型的计算时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种异常检测方法的流程图;
图2是本发明实施例的一种异常检测系统的结构图;
图3是本发明实施例的一种异常检测系统的原理图;
图4是本发明实施例的时序预测单元的流程图;
图5是本发明实施例的异常预测单元的流程图;
图6是本发明实施例的可视化效果图展示图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,结合本发明的实施例,提供一种异常检测方法,包括:
S101:获取待检测平台上当前时间之前的预设周期内各指标的时序数据,并针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,将格式相同的时序数据作为该指标的真实值时间序列;其中,时序数据是指将同一指标的数值按其发生时间的先后排列而成的数列;
S102:针对每种指标的真实值时间序列,分别使用不少于两种机器学习模型对该指标的真实值时间序列进行预测,得到该预设周期内该指标的各机器学习模型相应的预测值时间序列,并将与真实值时间序列最接近的预测值时间序列作为该预设周期内该指标的预测值时间序列;
S103:针对每种指标,将该指标的预测值时间序列与其真实值时间序列进行比对计算,得到该指标的误差值时间序列;根据该指标的误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点;
S104:当误差值所对应的时间点为异常点时,针对异常点进行报警。
优选地,在步骤101中,所述针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,具体包括:
S1011:去除该指标的时序数据内的脏数据形成净化时序数据,按照预定数据格式对净化时序数据填充空值,并根据数值特征统一对填充空值后的时序数据进行值扩大或者值缩小,使得该指标的时序数据形成格式相同的时序数据。
优选地,在步骤103中,所述根据该指标的误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点,具体包括:
S1031:针对每种指标,应用不少于两种机器学习算法对该指标的误差值时间序列进行计算,得到该指标的误差值时间序列在各机器学习算法下相应的阈值;
S1032:针对每种指标,将该指标在指定时间段内的误差值时间序列分别与各机器学习算法下相应的阈值进行比对;当误差值时间序列中存在超过任一机器学习算法下相应的阈值的误差值,判定该超过任一机器学习算法下相应的阈值的误差值所对应的时间点为候选异常点;
S1033:通过多个判定算法使用投票机制对每个候选异常点进行投票,当该候选异常点获得投票的数量在判定算法数量的占比超过预设比例时,判定该候选异常点所对应的时间点为异常点;否则,判定该候选异常点所对应的时间点为非异常点。
优选地,步骤104,具体包括:
S1041:所述针对异常点进行报警之前,对异常点进行策略处理,所述策略处理是指对生成报警的信息进行至少如下之一处理:配置报警优先级、报警收敛、报警静默;其中,配置报警优先级是指按照指标的重要等级为各指标配置相应重要等级的报警形式;报警收敛是指设置针对同一指标的报警次数超过预设次数时,报警次数随时间增加而减少;报警静默是指在指定时间不发送报警。
优选地,所述时序数据的数据源存储在不同类型的数据库;
在步骤101中,所述获取待检测平台上当前时间之前的预设周期内指标的时序数据,具体包括:
自时序数据的数据源所存储的不同类型的数据库内分别获取当前时间之前的预设周期内各指标的时序数据。
优选地,所述异常检测方法,还包括:
将真实值时间序列、预测值时间序列、异常点存入数据库;以及
使用真实值时间序列制作真实值时间序列曲线并展示,使用预测值时间序列制作预测值时间序列曲线并展示;在预测值时间序列曲线标识异常点。
如图2所示,本发明还提供一种异常检测系统,包括:
数据接入单元21,用于获取待检测平台上当前时间之前的预设周期内各指标的时序数据,并针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,将格式相同的时序数据作为该指标的真实值时间序列;其中,时序数据是指将同一指标的数值按其发生时间的先后排列而成的数列;
时序预测单元22,用于针对每种指标的真实值时间序列,分别使用不少于两种机器学习模型对该指标的真实值时间序列进行预测,得到该预设周期内该指标的各机器学习模型相应的预测值时间序列,并将与真实值时间序列最接近的预测值时间序列作为该预设周期内该指标的预测值时间序列;
异常检测单元23,用于针对每种指标,将该指标的预测值时间序列与其真实值时间序列进行比对计算,得到该指标的误差值时间序列;根据该指标的误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点;
异常报警单元24,用于当误差值所对应的时间点为异常点时,针对异常点进行报警。
优选地,所述数据接入单元21包括:
数据预处理子单元211,用于去除该指标的时序数据内的脏数据形成净化时序数据,按照预定数据格式对净化时序数据填充空值,并根据数值特征统一对填充空值后的时序数据进行值扩大或者值缩小,使得该指标的时序数据形成格式相同的时序数据。
优选地,所述异常检测单元23包括:
阈值确定子单元231,用于针对每种指标,应用不少于两种机器学习算法对该指标的误差值时间序列进行计算,得到该指标的误差值时间序列在各机器学习算法下相应的阈值;
异常候选初始子单元232,用于针对每种指标,将该指标在指定时间段内的误差值时间序列分别与各机器学习算法下相应的阈值进行比对;当误差值时间序列中存在超过任一机器学习算法下相应的阈值的误差值,判定该超过任一机器学习算法下相应的阈值的误差值所对应的时间点为候选异常点;
异常确定子单元233,用于通过多个判定算法使用投票机制对每个候选异常点进行投票,当该候选异常点获得投票的数量在判定算法数量的占比超过预设比例时,判定该候选异常点所对应的时间点为异常点;否则,判定该候选异常点所对应的时间点为非异常点。
优选地,所述异常报警单元24具体用于:
对各异常点报警之前对异常点进行策略处理,所述策略处理是指对生成报警的信息进行至少如下之一处理:配置报警优先级、报警收敛、报警静默;其中,配置报警优先级是指按照指标的重要等级为各指标配置相应重要等级的报警形式;报警收敛是指设置针对同一指标的报警次数超过预设次数时,报警次数随时间增加而减少;报警静默是指在指定时间不发送报警。
优选地,所述数据接入单元,具体用于:
自时序数据的数据源所存储的不同类型的数据库内分别获取当前时间之前的预设周期内各指标的时序数据。
优选地,所述异常检测系统,还包括:
数据库,用于存储将真实值时间序列、预测值时间序列、异常点;
展示单元,用于使用真实值时间序列制作真实值时间序列曲线并展示,使用预测值时间序列制作预测值时间序列曲线,在预测值时间序列曲线标识异常点;展示表示有异常点的预测值时间序列曲线。
本发明所取得的有益效果为:
本发明相对于业界现有的开源方案,创新性地提出了一整套的智能异常检测系统的技术方案。可通过分布式的部署来检测数每秒数百万指标,适用于企业级大规模的周期性时序数据的异常检测。
本技术的时间序列预测模块无需拟合出复杂的模型,只需使用的机器学习算法即可计算出预测值序列,计算量大大减少,能够有效降低预测模型的计算时间。且在多种机器学习算法中挑选一个精度最高的预测序列,能够大大提高预测准确率。
本发明的异常检测模块,无需为每个时间序列配置异常阈值,可使用多种异常检测算法进行检测,自动计算出异常阈值,选择出投票最高的数据点作为异常点。极大地提高了检测的准确性。
下面结合具体的应用实例对本发明实施例上述技术方案进行详细说明,实施过程中没有介绍到的技术细节,可以参考前文的相关描述。
本发明涉及的缩略语和关键术语定义如下:
周期:时间序列的一组数据按照相同的规律重复出现,把这一组数据的时间间隔,称为周期。
指标:表示某一类别的统计量,这里包括系统指标和业务指标,例如:系统指标包含服务器CPU使用率、内存使用量等,业务指标包括视频卡顿率、接口的慢速比等。
时间序列:是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列。时间序列分析的主要目的是根据已有的历史数据对未来进行预测。根据观察时间的不同,时间序列中的时间可以是年份、季度、月份、周、或其他任何时间形式。
异常检测:对时间序列数据中不匹配预期模式的观测值的识别。异常也被称为离群值、噪声和例外。
微服务:是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常有自己的堆栈,包括数据库和数据模型;通过RESTAPI,事件流和消息代理的组合相互通信;和它们是按业务能力组织的,分隔服务的线通常称为有界上下文。
本发明为一种应用于时间序列数据的智能异常检测系统,旨在实现一套企业级的智能异常检测系统,可以大规模地检测系统指标和业务指标中的异常,降低检测时间的同时,提高检测准确率。
本发明技术方案的原理图如图3所示,本异常检测系统包含的处理模块主要有:数据接入模块、时序预测模块、异常检测模块、异常数据存储与可视化模块、异常报警模块。
1、数据接入模块:
获取待检测平台上当前时间之前的预设周期内各指标的时序数据,并针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,将格式相同的时序数据作为该指标的真实值时间序列;其中,时序数据是指将同一指标的数值按其发生时间的先后排列而成的数列。具体地,支持接入单维的时序数据,时序数据的数据源可以灵活地存储在多种不同类型的数据库,如:MySQL、ES、InfluxDB等;数据接入后,会对数据做预处理,如:填充空值、根据数值特征统一对填充空值后的时序数据进行值扩大或者值缩小、去除脏数据;通过对该指标的时序数据预处理得到格式相同的时序数据,将格式相同的时序数据作为该指标的真实值时间序列。其中,关于根据数值特征统一对填充空值后的时序数据进行值扩大或者值缩小的举例为:保证异常检测可靠性,观测值最小值需大于1。也就是说,如果真实值是小数的,需要扩大若干倍。比如,之前的真实值是0.001,那么至少需要扩大1000倍才可以。因为计算机存储小数会有很大的误差,计算出的预测值也会不准确。
随后进入作业调度阶段,作业调度负责定时从数据源获取时序数据,并对每个时序数据做后续的时序预测、异常检测、异常数据存储等处理。每种时序数据的时间粒度不同,因此会对应不同的调度时间间隔(获取时序数据的周期不同)。
2、时序预测模块:
该模块支持接收网络数据源,一项指标对应了一个时间序列,针对每种指标的真实值时间序列,通过对时序数据应用多种机器学习模型(如:指数平滑、移动平均、回归、贝叶斯预测等模型)对每个时序数据分别进行处理预测,得到该预设周期内该指标的各机器学习模型相应的预测值,并从多个预测值序列中选择一个跟真实值序列最接近的一个作为预测值时间序列。处理流程如图4所示。其中,预测值时间序列的时间范围与真实值时间序列一致;测值时间序列会选取前两个周期的真实值时间序列作为训练集训练各种机器学习模型。
3、异常检测模块:针对每种指标,根据从网络数据源获取真实值时间序列和预测值时间序列,得到误差值时间序列。对误差值时间序列应用多种机器学习算法,如:聚类、正态分布、简单阈值等算法,然后每种机器学习算法会得到一个误差值时间序列相应的阈值。针对每种指标,若误差值时间序列中有超过任一阈值的误差值,那么判定该误差值对应的时间点为候选异常点。
并使用投票机制对候选异常点进行投票,获得票数超过一定阈值的被判定为异常点。处理流程图如图5所示。通过多个判定算法使用投票机制对每个候选异常点进行投票,当该候选异常点获得投票的数量在判定算法数量的占比超过预设比例时,判定该候选异常点所对应的时间点为异常点;否则,判定该候选异常点所对应的时间点为非异常点。也就是投票是动态的,判定算法个数不是固定的,可以随意添加和减少,通过设定一个比例,例如超过50%的算法认为是异常,那么最终判定为异常。
4、异常数据存储与可视化模块:将真实值时间序列、预测值时间序列、异常时间点(异常点)存入数据库,并做可视化展示,通过真实值序列曲线和预测值序列曲线可以直观判断时序预测模块是否准确,通过标注的异常点能更直观的看出异常点的异常程度。可视化效果图展示如图6所示。
5、报警模块:把采集到的异常点,使用策略的方式报警,例如:配置报警优先级、报警收敛、报警静默等策略。配置报警优先级是指对指标的重要性进行分类,按照指标的重要等级为各指标配置相应重要等级的报警形式,例如:对重要指标可以采用邮件、微博私信、短信报警,对普通重要的指标,可采用邮件、微博私信报警,对于不重要的指标,只发送邮件报警即可。报警收敛是指设置针对同一指标的报警次数超过预设次数时,报警次数随时间增加而减少;也就是对于频繁发送的报警,可以随时间增加,减少报警次数,例如:报警的前5分钟(从第一个异常点写入异常点存储数据库开始计算),每分钟发送一次报警,超过5分钟不足30分钟的,每5分钟发送一次报警,超过30分钟的每10分钟发送一次报警。静默策略是指在指定时间不发送报警,例如:可以定义某些应用在每天0点到6点,不发送报警。能有效降低报警对人的干扰程度,防止人被繁多的报警淹没,而忽略掉重要报警的场景。
其中,时序预测模块(时序预测单元)和异常检测模块(异常检测单元),封装为RESTful风格的微服务(分布式部署),可以实现横向扩展,通过分布式部署的方式来检测每秒数百万指标。
综上,本发明的应用于时序数据的智能异常检测系统,将智能预测时序数据、自动化设置异常点阈值、智能筛选异常点运用到系统中,减少了人工配置每个时序数据阈值的操作,帮助用户迅速的接入数据,并快速地返回准确的且便于观察的异常检测结果,本系统在异常检测领域具有独创性。
本发明所取得的有益效果为:
本发明相对于业界现有的开源方案,创新性地提出了一整套的智能异常检测系统的技术方案。可通过分布式的部署来检测数每秒数百万指标,适用于企业级大规模的周期性时序数据的异常检测。
本技术的时间序列预测模块无需拟合出复杂的模型,只需使用的机器学习算法即可计算出预测值序列,计算量大大减少,能够有效降低预测模型的计算时间。且在多种机器学习算法中挑选一个精度最高的预测序列,能够大大提高预测准确率。
本技术的异常检测模块,无需为每个时间序列配置异常阈值(图中为:根据异常检测算法计算出误差值序列的阈值,当误差值序列中超过阈值,则判定该误差值对应的时间点位异常点),可使用多种异常检测算法进行检测,自动计算出异常阈值,选择出投票最高的数据点作为异常点。极大地提高了检测的准确性。
解决了现有技术中的“异常检测系统Skyline,在基于统计的方法对时间序列进行检测时,其优点是检测速度快,适用于检测突增和突降的时间序列,缺点是检测准确度低,尤其是对于周期过长的时间序列检测效果差”的缺点。也“避免了目前业界的开源系统都是仅提供读取本地数据的异常检测方法,这样将限制数据源只能从本地磁盘读取,导致企业无法大规模地应用,来检测系统指标和业务指标中的异常”的缺点。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种异常检测方法,其特征在于,包括:
获取待检测平台上当前时间之前的预设周期内各指标的时序数据,并针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,将格式相同的时序数据作为该指标的真实值时间序列;其中,时序数据是指将同一指标的数值按其发生时间的先后排列而成的数列;
针对每种指标的真实值时间序列,分别使用不少于两种机器学习模型对该指标的真实值时间序列进行预测,得到该预设周期内该指标的各机器学习模型相应的预测值时间序列,并将与真实值时间序列最接近的预测值时间序列作为该预设周期内该指标的预测值时间序列;
针对每种指标,将该指标的预测值时间序列与其真实值时间序列进行比对计算,得到该指标的误差值时间序列;根据该指标的误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点;
当误差值所对应的时间点为异常点时,针对异常点进行报警。
2.根据权利要求1所述的异常检测方法,其特征在于,所述针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,具体包括:
去除该指标的时序数据内的脏数据形成净化时序数据,按照预定数据格式对净化时序数据填充空值,并根据数值特征统一对填充空值后的时序数据进行值扩大或者值缩小,使得该指标的时序数据形成格式相同的时序数据。
3.根据权利要求1所述的异常检测方法,其特征在于,所述根据该指标的误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点,具体包括:
针对每种指标,应用不少于两种机器学习算法对该指标的误差值时间序列进行计算,得到该指标的误差值时间序列在各机器学习算法下相应的阈值;
针对每种指标,将该指标在指定时间段内的误差值时间序列分别与各机器学习算法下相应的阈值进行比对;当误差值时间序列中存在超过任一机器学习算法下相应的阈值的误差值,判定该超过任一机器学习算法下相应的阈值的误差值所对应的时间点为候选异常点;
通过多个判定算法使用投票机制对每个候选异常点进行投票,当该候选异常点获得投票的数量在判定算法数量的占比超过预设比例时,判定该候选异常点所对应的时间点为异常点;否则,判定该候选异常点所对应的时间点为非异常点。
4.根据权利要求1所述的异常检测方法,其特征在于,在所述针对异常点进行报警之前,还包括:
对异常点进行策略处理,所述策略处理是指对生成报警的信息进行至少如下之一处理:配置报警优先级、报警收敛、报警静默;其中,配置报警优先级是指按照指标的重要等级为各指标配置相应重要等级的报警形式;报警收敛是指设置针对同一指标的报警次数超过预设次数时,报警次数随时间增加而减少;报警静默是指在指定时间不发送报警。
5.根据权利要求1所述的异常检测方法,其特征在于,所述时序数据的数据源存储在不同类型的数据库;
所述获取待检测平台上当前时间之前的预设周期内指标的时序数据,具体包括:
自时序数据的数据源所存储的不同类型的数据库内分别获取当前时间之前的预设周期内各指标的时序数据。
6.一种异常检测系统,其特征在于,包括:
数据接入单元,用于获取待检测平台上当前时间之前的预设周期内各指标的时序数据,并针对每种指标的时序数据进行预处理,通过对该指标的时序数据预处理得到格式相同的时序数据,将格式相同的时序数据作为该指标的真实值时间序列;其中,时序数据是指将同一指标的数值按其发生时间的先后排列而成的数列;
时序预测单元,用于针对每种指标的真实值时间序列,分别使用不少于两种机器学习模型对该指标的真实值时间序列进行预测,得到该预设周期内该指标的各机器学习模型相应的预测值时间序列,并将与真实值时间序列最接近的预测值时间序列作为该预设周期内该指标的预测值时间序列;
异常检测单元,用于针对每种指标,将该指标的预测值时间序列与其真实值时间序列进行比对计算,得到该指标的误差值时间序列;根据该指标的误差值时间序列在指定时间段内每个误差值进行判断,判断各误差值所对应的时间点是否为异常点;
异常报警单元,用于当误差值所对应的时间点为异常点时,针对异常点进行报警。
7.根据权利要求6所述的异常检测系统,其特征在于,所述数据接入单元包括:
数据预处理子单元,用于去除该指标的时序数据内的脏数据形成净化时序数据,按照预定数据格式对净化时序数据填充空值,并根据数值特征统一对填充空值后的时序数据进行值扩大或者值缩小,使得该指标的时序数据形成格式相同的时序数据。
8.根据权利要求6所述的异常检测系统,其特征在于,所述异常检测单元包括:
阈值确定子单元,用于针对每种指标,应用不少于两种机器学习算法对该指标的误差值时间序列进行计算,得到该指标的误差值时间序列在各机器学习算法下相应的阈值;
异常候选初始子单元,用于针对每种指标,将该指标在指定时间段内的误差值时间序列分别与各机器学习算法下相应的阈值进行比对;当误差值时间序列中存在超过任一机器学习算法下相应的阈值的误差值,判定该超过任一机器学习算法下相应的阈值的误差值所对应的时间点为候选异常点;
异常确定子单元,用于通过多个判定算法使用投票机制对每个候选异常点进行投票,当该候选异常点获得投票的数量在判定算法数量的占比超过预设比例时,判定该候选异常点所对应的时间点为异常点;否则,判定该候选异常点所对应的时间点为非异常点。
9.根据权利要求6所述的异常检测系统,其特征在于,所述异常报警单元,具体用于:
对各异常点报警之前对异常点进行策略处理,所述策略处理是指对生成报警的信息进行至少如下之一处理:配置报警优先级、报警收敛、报警静默;其中,配置报警优先级是指按照指标的重要等级为各指标配置相应重要等级的报警形式;报警收敛是指设置针对同一指标的报警次数超过预设次数时,报警次数随时间增加而减少;报警静默是指在指定时间不发送报警。
10.根据权利要求6所述的异常检测系统,其特征在于,所述数据接入单元,具体用于:
自时序数据的数据源所存储的不同类型的数据库内分别获取当前时间之前的预设周期内各指标的时序数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110817408.8A CN113672600A (zh) | 2021-07-20 | 2021-07-20 | 一种异常检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110817408.8A CN113672600A (zh) | 2021-07-20 | 2021-07-20 | 一种异常检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672600A true CN113672600A (zh) | 2021-11-19 |
Family
ID=78539873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110817408.8A Pending CN113672600A (zh) | 2021-07-20 | 2021-07-20 | 一种异常检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672600A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840482A (zh) * | 2022-04-18 | 2022-08-02 | 杭州似然数据有限公司 | 时序数据的有损压缩方法、解压方法、设备和存储介质 |
CN115235676A (zh) * | 2022-09-26 | 2022-10-25 | 山东济矿鲁能煤电股份有限公司阳城煤矿 | 一种矿井液压支架压力异常自动报警方法 |
CN115454778A (zh) * | 2022-09-27 | 2022-12-09 | 浙江大学 | 大规模云网络环境下的时序指标异常智能监控系统 |
-
2021
- 2021-07-20 CN CN202110817408.8A patent/CN113672600A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114840482A (zh) * | 2022-04-18 | 2022-08-02 | 杭州似然数据有限公司 | 时序数据的有损压缩方法、解压方法、设备和存储介质 |
CN115235676A (zh) * | 2022-09-26 | 2022-10-25 | 山东济矿鲁能煤电股份有限公司阳城煤矿 | 一种矿井液压支架压力异常自动报警方法 |
CN115235676B (zh) * | 2022-09-26 | 2022-12-09 | 山东济矿鲁能煤电股份有限公司阳城煤矿 | 一种矿井液压支架压力异常自动报警方法 |
CN115454778A (zh) * | 2022-09-27 | 2022-12-09 | 浙江大学 | 大规模云网络环境下的时序指标异常智能监控系统 |
CN115454778B (zh) * | 2022-09-27 | 2023-08-08 | 浙江大学 | 大规模云网络环境下的时序指标异常智能监控系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113672600A (zh) | 一种异常检测方法及系统 | |
CN111459778B (zh) | 运维系统异常指标检测模型优化方法、装置及存储介质 | |
CN110865929B (zh) | 异常检测预警方法及系统 | |
CN107608862B (zh) | 监控告警方法、监控告警装置及计算机可读存储介质 | |
CN111143102B (zh) | 异常数据检测方法、装置、存储介质及电子设备 | |
CN112712113A (zh) | 一种基于指标的告警方法、装置及计算机系统 | |
US11675643B2 (en) | Method and device for determining a technical incident risk value in a computing infrastructure from performance indicator values | |
CN110008247B (zh) | 异常来源确定方法、装置、设备及计算机可读存储介质 | |
CN112148561B (zh) | 业务系统的运行状态预测方法、装置及服务器 | |
CN115514619B (zh) | 告警收敛方法及系统 | |
CN115280337A (zh) | 基于机器学习的数据监控 | |
WO2021002780A1 (ru) | Система мониторинга качества и процессов на базе машинного обучения | |
CN111813644B (zh) | 系统性能的评价方法、装置、电子设备和计算机可读介质 | |
CN114356734A (zh) | 服务异常检测方法和装置、设备、存储介质 | |
CN110795324B (zh) | 一种数据处理方法及装置 | |
CN113590429A (zh) | 一种服务器故障诊断方法、装置及电子设备 | |
KR101960755B1 (ko) | 미취득 전력 데이터 생성 방법 및 장치 | |
CN113342939B (zh) | 数据质量监控方法、装置及相关设备 | |
CN114066089A (zh) | 批量作业运行耗时区间确定方法及装置 | |
TW202311961A (zh) | 應用程式異常偵測方法及其系統 | |
CN117149565A (zh) | 云平台关键性能指标的状态检测方法、装置、设备及介质 | |
CN111783883A (zh) | 一种异常数据的检测方法及装置 | |
CN113468014A (zh) | 一种运维数据的异常检测方法及装置 | |
CN115494431A (zh) | 一种变压器故障告警方法、终端设备和计算机可读存储介质 | |
CN114443407A (zh) | 一种服务器的检测方法、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |