CN107203806B - 数据异常检测方法、装置、可读存储介质及电子设备 - Google Patents

数据异常检测方法、装置、可读存储介质及电子设备 Download PDF

Info

Publication number
CN107203806B
CN107203806B CN201710340508.XA CN201710340508A CN107203806B CN 107203806 B CN107203806 B CN 107203806B CN 201710340508 A CN201710340508 A CN 201710340508A CN 107203806 B CN107203806 B CN 107203806B
Authority
CN
China
Prior art keywords
memory
index data
neuron
neurons
time 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
CN201710340508.XA
Other languages
English (en)
Other versions
CN107203806A (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.)
Neusoft Corp
Original Assignee
Neusoft Corp
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 Neusoft Corp filed Critical Neusoft Corp
Priority to CN201710340508.XA priority Critical patent/CN107203806B/zh
Publication of CN107203806A publication Critical patent/CN107203806A/zh
Priority to US15/783,522 priority patent/US20180329769A1/en
Application granted granted Critical
Publication of CN107203806B publication Critical patent/CN107203806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/20ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for computer-aided diagnosis, e.g. based on medical expert systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/30ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for calculating health indices; for individual health risk assessment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Public Health (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Computer Security & Cryptography (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及一种数据异常检测方法、装置、可读存储介质及电子设备。方法包括:获取当前指标数据;获取与当前指标数据相对应的时间序列集合;针对时间序列集合中的每个时间序列,判断是否存在用于记录该时间序列的记忆神经元;当判定存在该记忆神经元时,激活该记忆神经元;当判定不存在该记忆神经元时,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元;至少根据被激活的记忆神经元确定当前指标数据是否异常。由此,该异常监控系统对不同类型指标数据和变化复杂的指标数据的适应性更强,且获取到的指标数据规模越大,其学习能力和判断能力就越强,异常检测的准确率也更高。

Description

数据异常检测方法、装置、可读存储介质及电子设备
技术领域
本公开涉及异常检测领域,具体地,涉及一种数据异常检测方法、装置、可读存储介质及电子设备。
背景技术
数据异常检测技术在各行各业中都发挥着极其重要的作用,例如,发现病人心跳、血压、呼吸等指标的微小变化,定位关键系统管理员的可疑操作行为,探查股票市场的异常股价变化,检测应用系统的CPU、内存、HTTP响应时间等关键指标的不稳定情况等等。这些功能的实现均离不开快速准确的数据异常检测方法。
但是,随着计算机软件技术的快速发展,监控系统,尤其是异常监控系统的实现难度变得越来越大。主要原因有如下几个方面:(1)由于被监控应用的规模越来越大,导致被纳入监控的指标越来越多;(2)监控系统的复杂性越来越高,指标变化的规律性也越来越难以发掘;(3)用于异常检测的传统时间序列分析模型对于高度复杂的指标变化的适应性越来越差,这样,不仅导致了计算复杂度增高,而且异常检测的效果也受到了一定影响。因此,找到一种能够适应海量规模且变化复杂的指标数据的异常检测方法对于提升数据异常检测的准确率具有重要的意义。
发明内容
本公开的目的是提供一种数据异常检测方法、装置、可读存储介质及电子设备,以有效提升数据异常检测的准确率。
为了实现上述目的,本公开提供一种数据异常检测方法,所述方法包括:
获取当前指标数据,所述当前指标数据与历史获取的同类型的指标数据形成目标时间序列;
获取与所述当前指标数据相对应的时间序列集合,所述时间序列集合包括根据所述目标时间序列中,从所述当前指标数据之前的第n个指标数据起到所述当前指标数据之间的连续指标数据所形成的时间序列,其中,n为自然数;
针对所述时间序列集合中的每个时间序列,判断是否存在用于记录该时间序列的记忆神经元;
当判定存在所述记忆神经元时,激活所述记忆神经元;
当判定不存在所述记忆神经元时,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元;
至少根据被激活的记忆神经元确定所述当前指标数据是否异常。
可选地,在所述获取与所述当前指标数据相对应的时间序列集合的步骤之前,所述方法还包括:
通过以下公式,确定与所述当前指标数据对应的压缩值:
Figure BDA0001295119690000021
其中,v’表示所述压缩值;v表示所述当前指标数据;vmin表示所述目标时间序列中的最小值;vmax表示所述目标时间序列中的最大值;M表示将所述最小值到所述最大值之间的数据区间进行等分的份数;
对所述压缩值进行编码,获得与所述当前指标数据相对应的编码数据;
所述时间序列集合中的每个时间序列为由形成该时间序列的各指标数据所对应的编码数据所组成的序列。
可选地,所述至少根据被激活的记忆神经元确定所述当前指标数据是否异常,包括:
根据新分配的记忆神经元的总数和被激活的记忆神经元的总数,确定异常得分;
在所述异常得分大于或等于预设的异常阈值时,确定所述当前指标数据异常。
可选地,所述根据新分配的记忆神经元的总数和被激活的记忆神经元的总数,确定异常得分,包括:
根据新分配的记忆神经元的总数和被激活的记忆神经元的总数,通过以下公式,确定异常得分:
Figure BDA0001295119690000031
其中,score表示所述异常得分;new表示所述新分配的记忆神经元的总数;active表示所述被激活的记忆神经元的总数。
可选地,所述方法还包括:
在确定所述当前指标数据异常时进行异常告警;
接收用户输入的针对所述异常告警的反馈信息;
根据所述反馈信息,调整所述异常阈值。
可选地,所述至少根据被激活的记忆神经元确定所述目标时间序列是否异常,包括:
当所述被激活的记忆神经元包括预设的记忆神经元时,确定所述当前指标数据异常。
可选地,所述当判定不存在所述记忆神经元时,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元,包括以下中的至少一者:
当判定不存在所述记忆神经元、且已激活的记忆神经元的总数小于预定数量时,为该时间序列分配一个新的记忆神经元来记录该时间序列,并激活所分配的新的记忆神经元;
当判定不存在所述记忆神经元、且已激活的记忆神经元的总数达到所述预定数量时,将所述已激活的记忆神经元中被激活次数最少的记忆神经元重新分配给该时间序列来记录该时间序列,并激活所分配的记忆神经元。
可选地,所述方法还包括:
在确定所述当前指标数据异常时进行异常告警。
本公开还提供一种数据异常检测装置,所述装置包括:
第一获取模块,用于获取当前指标数据,所述当前指标数据与历史获取的同类型的指标数据形成目标时间序列;
第二获取模块,用于获取与所述第一获取模块获取到的所述当前指标数据相对应的时间序列集合,所述时间序列集合包括根据所述目标时间序列中,从所述当前指标数据之前的第n个指标数据起到所述当前指标数据之间的连续指标数据所形成的时间序列,其中,n为自然数;
判断模块,用于针对所述第二获取模块获取到的所述时间序列集合中的每个时间序列,判断是否存在用于记录该时间序列的记忆神经元;
激活模块,用于当所述判断模块判定存在所述记忆神经元时,激活所述记忆神经元;
分配模块,用于当所述判断模块判定不存在所述记忆神经元时,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元;
异常确定模块,用于至少根据被激活的记忆神经元确定所述第一获取模块获取到的所述当前指标数据是否异常。
可选地,所述装置还包括:
压缩值确定模块,用于在所述第二获取模块获取与所述当前指标数据相对应的时间序列集合之前,通过以下公式,确定与所述当前指标数据对应的压缩值:
Figure BDA0001295119690000041
其中,v’表示所述压缩值;v表示所述当前指标数据;vmin表示所述目标时间序列中的最小值;vmax表示所述目标时间序列中的最大值;M表示将所述最小值到所述最大值之间的数据区间进行等分的份数;
编码模块,用于对所述压缩值确定模块确定出的所述压缩值进行编码,获得与所述第一获取模块获取到的所述当前指标数据相对应的编码数据;
所述时间序列集合中的每个时间序列为由形成该时间序列的各指标数据所对应的编码数据所组成的序列。
可选地,所述异常确定模块包括:
异常得分确定子模块,用于根据所述分配模块新分配的记忆神经元的总数和被激活的记忆神经元的总数,确定异常得分;
异常确定子模块,用于在所述异常得分确定子模块确定出的所述异常得分大于或等于预设的异常阈值时,确定所述当前指标数据异常。
可选地,所述异常得分确定子模块用于根据所述分配模块新分配的记忆神经元的总数和被激活的记忆神经元的总数,通过以下公式,确定异常得分:
Figure BDA0001295119690000051
其中,score表示所述异常得分;new表示所述新分配的记忆神经元的总数;active表示所述被激活的记忆神经元的总数。
可选地,所述装置还包括:
告警模块,用于在所述异常确定模块确定所述当前指标数据异常时进行异常告警;
接收模块,用于接收用户输入的针对所述告警模块发出的所述异常告警的反馈信息;
异常阈值调整模块,用于根据所述接收模块接收到的所述反馈信息,调整所述异常阈值。
可选地,所述异常确定模块用于当所述被激活的记忆神经元包括预设的记忆神经元时,确定所述第一获取模块获取到的所述当前指标数据异常。
可选地,所述分配模块包括以下中的至少一者:
第一分配子模块,用于当所述判断模块判定不存在所述记忆神经元、且已激活的记忆神经元的总数小于预定数量时,为该时间序列分配一个新的记忆神经元来记录该时间序列,并激活所分配的新的记忆神经元;
第二分配子模块,用于当所述判断模块判定不存在所述记忆神经元、且已激活的记忆神经元的总数达到所述预定数量时,将所述已激活的记忆神经元中被激活次数最少的记忆神经元重新分配给该时间序列来记录该时间序列,并激活所分配的记忆神经元。
可选地,所述装置还包括:
告警模块,用于在所述异常确定模块确定所述当前指标数据异常时进行异常告警。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的数据异常检测方法的步骤。
本公开还提供一种电子设备,包括:
根据本公开提供的所述计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
在上述技术方案中,异常监控系统通过记忆神经元对与当前指标数据相对应的时间序列集合中的每个时间序列进行记录,形成类似于大脑皮质层神经元的记忆神经元层,并通过该记忆神经元层对当前指标数据的异常情况进行异常检测。由于异常检测时采用的是时间序列记忆搜索的方式,而不需要用对指标数据进行数学拟合,因此,该异常监控系统支持时间序列无法预测的非连续型指标数据的异常检测,例如,它可以用于磁盘读写时的异常检测。由此,该异常监控系统对不同类型指标数据和变化复杂的指标数据的适应性更强。此外,由于该异常监控系统可以根据逐步获取到的指标数据来逐渐强化学习能力和判断能力,因而它不需要对大规模的历史数据进行事先学习,这样,可以解决冷启动的问题。并且,获取到的指标数据规模越大,该异常监控系统的学习能力和判断能力就越强,异常检测的准确率也就更高。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1A是根据一示例性实施例示出的一种数据异常检测方法的流程图。
图1B是根据另一示例性实施例示出的一种数据异常检测方法的流程图。
图1C是根据一示例性实施例示出的一种至少根据被激活的记忆神经元确定当前指标数据是否异常的步骤的流程图。
图1D是根据另一示例性实施例示出的一种数据异常检测方法的流程图。
图1E是根据另一示例性实施例示出的一种数据异常检测方法的流程图。
图2A是根据一示例性实施例示出的一种异常监控系统在预设时间段内获取到的指标数据的曲线图。
图2B和图2C是根据一示例性实施例示出的一种对压缩值进行编码以获得与当前指标数据相对应的编码数据的过程的示意图。
图3A和图3B是根据一示例性实施例示出的一种为时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元的过程的示意图。
图3C和图3D是根据一示例性实施例示出的一种激活用于记录时间序列的记忆神经元的过程的示意图。
图4是根据一示例性实施例示出的一种采用哈希存储的方式来记录时间序列的示意图。
图5是根据一示例性实施例示出的一种数据异常检测装置的框图。
图6是根据另一示例性实施例示出的一种数据异常检测装置的框图。
图7是根据另一示例性实施例示出的一种数据异常检测装置的框图。
图8A是根据另一示例性实施例示出的一种数据异常检测装置的框图。
图8B是根据另一示例性实施例示出的一种数据异常检测装置的框图。
图9是根据一示例性实施例示出的一种电子设备的框图。
图10是根据另一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1A是根据一示例性实施例示出的一种数据异常检测方法的流程图。如图1A所示,该方法可以包括以下步骤:
在步骤101中,获取当前指标数据。
在本公开中,该数据异常检测方法可以应用于异常监控系统。异常监控系统可以按照固定的周期获取该当前指标数据,也可以是在接收到系统管理员发出的获取当前指标数据的指令时获取该当前指标数据。
此外,该当前指标数据可以与异常监控系统历史获取到的同类型的一个或多个指标数据一起形成目标时间序列,其中,异常监控系统历史获取到的同类型的指标数据可以存储在该系统的数据库中,在异常监控系统获取到该当前指标数据后,将其数据库中存储的与该当前指标数据为同类型的历史指标数据取出,并将当前指标数据追加至该同类型的指标数据之后以形成目标时间序列。例如,当前指标数据为175,异常监控系统历史获取的同类型的指标数据为63、51、144,将当前指标数据175追加至同类型的指标数据之后,形成目标时间序列63→51→144→175。容易理解的是,目标时间序列中的每个指标数据按采集时间由早及晚的顺序排列。
在步骤102中,获取与当前指标数据相对应的时间序列集合。
在本公开中,该时间序列集合可以包括根据目标时间序列中,从当前指标数据之前的第n个指标数据起到该当前指标数据之间的连续指标数据所形成的时间序列,其中,n为自然数。示例地,n=2,则该时间序列集合可以包括根据目标时间序列中,从当前指标数据之前的第2个的指标数据起到该当前指标数据之间的连续指标数据所形成的时间序列。例如,当前指标数据为175,目标时间序列为63→51→144→175,当前指标数据175之前的第2个指标数据为51,由目标时间序列中、从当前指标数据之前的第2个指标数据51起到该当前指标数据之间的连续指标数据所形成的时间序列有:51→144→175、144→175,则与当前指标数据相对应的时间序列集合为{51→144→175,144→175}。
为了增强数据异常检测方法的鲁棒性,可以对时间序列集合中的各指标数据进行编码。这样,该时间序列集合中的每个时间序列为由形成该时间序列的各指标数据所对应的编码数据所组成的序列。如图1B所示,可以通过以下方式来获取各指标数据所对应的编码数据:
在步骤107中,确定与当前指标数据对应的压缩值。
示例地,可以通过以下等式(1)来确定与当前指标数据对应的压缩值:
Figure BDA0001295119690000081
其中,v’表示所述压缩值;v表示所述当前指标数据;vmin表示所述目标时间序列中的最小值;vmax表示所述目标时间序列中的最大值;M表示将所述最小值到所述最大值之间的数据区间进行等分的份数。
M的取值取决于噪音的分布、存储空间的大小、以及计算效率等。示例地,M=8,即将目标时间序列中的最大值和最小值之间的数据区间进行八等分,如图2A中所示的异常监控系统获取到的指标数据的曲线图(纵坐标表示指标数据的大小,横坐标表示所述指标数据对应的序号),并且根据最大值和最小值之间的数据区间等分为8份,其中,第0个等分区间为0~50,第1个等分区间为50~100,第2个等分区间为100~150,第3个等分区间为150~200,…,第7个等分区间为350~400。例如,当前指标数据为175,根据上述等式(1)可得压缩值为3,在图2A中,175位于第3个等分区间内。
在步骤108中,对压缩值进行编码,获得与当前指标数据相对应的编码数据。
在一种实施方式中,可以采用二进制对应神经元的方式对压缩值进行编码。具体来说,可以通过将压缩值转换成二进制形式,并把这个二进制形式的压缩值从低位到高位映射到对应的感知神经元的方式来获得与当前指标数据相对应的编码数据。
示例地,如图2B所示,在感知神经元层包括6个被映射的感知神经元,每2个感知神经元为一组。具体来说,感知神经元层包括0号感知神经元,1号感知神经元,2号感知神经元,3号感知神经元,4号感知神经元和5号感知神经元,其中,该6个感知神经元被等分为3组,即:0号感知神经元和1号感知神经元为一组,2号感知神经元和3号感知神经元为一组,4号感知神经元和5号感知神经元为一组。如果二进制数值为0,则映射到该组感知神经元中编号较小的感知神经元,反之,如果二进制数值为1,则映射到该组感知神经元中编号较大的感知神经元。例如,如图2B所示,当前指标数据175的压缩值3的二进制形式为0 1 1,从低位到高位依次为1、1、0,其中,第一位1映射到0号感知神经元和1号感知神经元中编号较大的感知神经元,即第一位1映射到1号感知神经元,同理,第二位1映射到3号感知神经元,第三位0映射到4号感知神经元,即,压缩值3从低位到高位分别映射到感知神经元1、3、4,即与当前指标数据175相对应的编码数据为134。
再例如,如图2C所示,当前指标数据144的压缩值2的二进制形式为0 1 0,从低位到高位依次为0、1、0,其中,第一位0映射到0号感知神经元和1号感知神经元中编号较小的感知神经元,即第一位0映射到0号感知神经元,同理,第二位1映射到3号感知神经元,第三位0映射到4号感知神经元,即,压缩值2从低位到高位分别映射到感知神经元0、3、4,即与当前指标数据144相对应的编码数据为034。
这样,时间序列集合中的每个时间序列为由形成该时间序列的各指标数据所对应的编码数据所组成的序列。示例地,51→144→175这一时间序列可以对应表示为124→034→134,144→175这一时间序列可以对应表示为034→134。
通过对时间序列集合中的各指标数据进行编码,可以将各指标数据映射到对应的感知神经元,使得各指标数据是相互独立的,并且每个感知神经元都有一定的物理感知范围。这样,即使当前指标数据丢失,也可将该当前指标数据锁定到一定的物理感知区域,增加了异常检测方法的鲁棒性。
在步骤103中,针对时间序列集合中的每个时间序列,判断是否存在用于记录该时间序列的记忆神经元。
在本公开中,异常监控系统可以包括记忆神经元层,该记忆神经元层包含有多个记忆神经元,用于记录时间序列。当异常监控系统获取到与当前指标数据相对应的时间序列集合后,针对该时间序列集合中的每个时间序列,可以通过搜索记忆神经元层的方式来确定当前的记忆神经元层是否存在用于记录该时间序列的记忆神经元。
在一种实施方式中,当判定当前的记忆神经元层不存在用于记录该时间序列的记忆神经元时,执行以下步骤104。
在步骤104中,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元。
示例地,如图3A所示,当前的记忆神经元层包括1个用于记录时间序列134→034的6号记忆神经元。例如,如图3B所示,当前指标数据的压缩值为5,与当前指标数据相对应的编码数据为125,则与当前指标数据相对应的时间序列集合为{134→034→125,034→125}。通过搜索当前的记忆神经元层可以确定当前的记忆神经元层并不存在用于记录时间序列134→034→125和用于记录时间序列034→125的记忆神经元,此时,异常监控系统可以为时间序列134→034→125和时间序列034→125分别分配一个记忆神经元来进行相应时间序列的记录,并激活这两个新分配的记忆神经元。在图3B中,新分配一个7号记忆神经元用于记录时间序列034→125,新分配一个8号记忆神经元用于记录时间序列134→034→125,并激活7号记忆神经元和8号记忆神经元。另外,由于6号记忆神经元记录的是时间序列134→034,因此时间序列134→034→125可以表示为(6)→125。
在另一种实施方式中,当确定当前的记忆神经元层存在用于记录该时间序列的记忆神经元时,执行以下步骤105。
在步骤105中,激活用于记录该时间序列的记忆神经元。
示例地,如图3B所示,当前的记忆神经元层包括3个被用于记录时间序列的记忆神经元,即6号记忆神经元、7号记忆神经元和8号记忆神经元。例如,如图3C所示,当前指标数据的压缩值为3,与当前指标数据相对应的编码数据为134,假设时间序列集合可包括根据目标时间序列中,从当前指标数据之前的第2个指标数据起到该当前指标数据之间的连续指标数据所形成的时间序列,则与当前指标数据相对应的时间序列集合中包括时间序列125→134和时间序列034→125→134。通过搜索当前的记忆神经元层可以确定当前的记忆神经元层并不存在用于记录时间序列125→134和用于记录时间序列034→125→134的记忆神经元,此时,异常监控系统为时间序列125→134和时间序列034→125→134分别分配一个记忆神经元来进行相应时间序列的记录,并激活这两个新分配的记忆神经元。在图3C中,新分配一个9号记忆神经元用于记录时间序列125→134,新分配一个10号记忆神经元用于记录时间序列034→125→134,并激活9号记忆神经元和10号记忆神经元。另外,由于7号记忆神经元记录的是时间序列034→125,因此时间序列034→125→134可以表示为(7)→134。
又示例地,当前的记忆神经元层如图3C所示,当前指标数据的压缩值为2,与当前指标数据相对应的编码数据为034,假设时间序列集合包括根据目标时间序列中,从当前指标数据之前的第2个指标数据起到该当前指标数据之间的连续指标数据所形成的时间序列,则与当前指标数据相对应的时间序列集合中包括时间序列134→034和时间序列125→134→034。通过搜索当前的记忆神经元层可以确定当前的记忆神经元层已经存在用于记录时间序列134→034的6号记忆神经元,此时,如图3D所示,异常监控系统激活用于记录该时间序列134→125的6号记忆神经元。另外,通过搜索当前的记忆神经元层还可以确定当前的记忆神经元层并不存在用于记录时间序列125→134→034的记忆神经元,此时,异常监控系统为时间序列125→134→034分配一个记忆神经元来进行记录,并激活这个新分配的记忆神经元。如图3D所示,新分配一个11号记忆神经元用于记录时间序列125→134→034,并激活11号记忆神经元。同样地,由于9号记忆神经元记录的是时间序列125→134,因此时间序列125→134→034可以表示为(9)→034。
此外,随着时间的推移,同类型指标数据的规模逐渐增大,记忆神经元层记录的时间序列也会越来越多。由于异常监控系统的存储能力是有限的,因此,在一个优选的实施方式中,可以设定一个遗忘机制来遗忘一些时间序列。示例地,可以通过限定已激活的记忆神经元的总数来遗忘一些时间序列。
在一种实施方式中,当判定不存在用于记录该时间序列的记忆神经元、且已激活的记忆神经元的总数小于预定数量时,为该时间序列分配一个新的记忆神经元来记录该时间序列,并激活所分配的新的记忆神经元。
在另一种实施方式中,当判定不存在记录该时间序列的记忆神经元、且已激活的记忆神经元的总数达到上述的预定数量时,将已激活的记忆神经元中被激活次数最少的记忆神经元重新分配给该时间序列来记录该时间序列,并激活所分配的记忆神经元。时间序列出现的次数越少,与该时间序列对应的指标数据出现的次数也就越少,指标数据异常的可能性也就越小,相应地,与该时间序列相对应的记忆神经元被激活次数就越少。因此,将该被激活次数最少的记忆神经元进行重新分配,对数据异常检测的准确率影响很小。
在又一种实施方式中,当判定不存在记录该时间序列的记忆神经元、且已激活的记忆神经元的总数达到上述的预定数量时,将已激活的记忆神经元中最早被激活的记忆神经元重新分配给该时间序列来记录该时间序列,并激活所分配的记忆神经元。这样,可以节省异常监控系统的存储空间。
其中,上述的预定数量由异常监控系统的存储能力决定,该预定数量可以为1000。它的取值越大,进行数据异常检测所需要的存储空间就越大,反之越小。它的取值越小,上异常监控系统对数据异常的检测越激进,反之越保守。
此外,可以采用哈希存储的方式来记录时间序列。示例地,针对上述的用于记录时间序列134→034的6号记忆神经元,可以将时间序列134→034中的编码数据134和编码数据034通过第一哈希函数生成哈希码,其中,该哈希码为时间序列134→034在散列表中的存储区域的地址,该存储区域包括多个存储位置。例如,第一哈希函数可以为:
h({a1,a2…,an}→{b1,b2…,bm})=a1·21+…+an·2n+b1·21+…+bm·2m
其中,{a1,a2…,an}分别表示所述时间序列中的第一个指标数据对应的编码数据的各数位的值(从左到右),{b1,b2…,bm}分别表示所述时间序列中的第二个的指标数据对应的编码数据的各数位的值(从左到右)。这样,时间序列134→034对应的哈希码为h(134→034)=(1*21+3*22+4*23)+(0*21+3*22+4*23)=90,也就是说,将134→034存储在散列表的存储区域90的相应存储位置中。
另外,还可以将6号记忆神经元的编号6通过第二哈希函数生成对应的哈希码,并将该编号6对应的哈希码和时间序列134→034一起存储在该时间序列在散列表中对应的存储区域90的相应存储位置中。示例地,该第二哈希函数可以为记忆神经元的编号与230的和,这样,该编号6对应的哈希码为6+230=6+1073741824=1073741830。在确定出编号6对应的哈希码后,可以将该编号6对应的哈希码和时间序列134→034一起存储在该时间序列在散列表中对应的存储区域90的相应存储位置中,即,将1073741830:134→034存储在散列表的存储区域90的相应存储位置中。
具体来说,如图4所示,异常监控系统获取到的第一个指标数据对应的编码数据为134,然后,获取同类型的第二个指标数据,该第二个指标数据对应的编码数据为034,与该第二个指标数据对应的时间序列集合包括时间序列134→034,用6号记忆神经元来记录时间序列134→034,对时间序列134→034以及与该时间序列对应的6号记忆神经元的编号6进行哈希存储,即,将1073741830:134→034存储到时间序列134→034在散列表中对应的存储区域90的相应存储位置中;之后,异常监控系统获取同类型的第三个指标数据,该第三个指标数据对应的编码数据为125,与该第三个指标数据对应的时间序列集合包括时间序列034→125和134→034→125(即(6)→125),用7号记忆神经元来记录时间序列034→125,用8号记忆神经元来记录时间序列(6)→125。在采用哈希存储的方式来记录时间序列时,可以对时间序列034→125以及与该时间序列对应的7号记忆神经元的编号7进行哈希存储,其中,时间序列034→125在散列表中对应的存储区域的地址为h(034→125)=(0*21+3*22+4*23)+(1*21+2*22+5*23)=94,编号7对应的哈希码为1073741831,即,将1073741831:034→125存储到散列表的存储区域94的相应存储位置中。同时,对时间序列134→034→125以及与该时间序列对应的8号记忆神经元的编号8进行哈希存储,其中,时间序列134→034→125(亦表示为,(6)→125)在散列表中对应的存储区域的地址为:
h((6)→125)=h(1073741830→125)=(1*21+7*23+3*24+7*25+4*26+1*27+8*28+3*29)+(1*21+2*22+5*23)=4348
编号8对应的哈希码为1073741832,即,将1073741832:(6)→125(亦表示为,1073741832:1073741830→125)存储到散列表的存储区域4348的相应存储位置中。
基于此,可以通过哈希搜索散列表的方式来确定当前的记忆神经元层是否存在用于记录时间序列的记忆神经元。例如,在哈希搜索记忆神经元层是否存在用于记录时间序列134→034的记忆神经元时,可以通过将时间序列134→034中的编码数据134和编码数据034通过第一哈希函数生成哈希码90,然后通过该哈希码90在散列表中查找到其对应的存储区域,接下来判定该存储区域中存储的内容是否包含时间序列134→034即可。也就是说,当时间序列134→034对应的哈希码90在散列表中对应的存储区域中存储的内容包含134→034时,可以确定当前的记忆神经元层存在用于记录时间序列134→034的记忆神经元,并且可以根据与该134→034对应的编码1073741830,通过第二哈希函数获取到对应的记忆神经元的编号,即编号6,然后激活该编号6对应的6号记忆神经元;当时间序列134→034对应的哈希码90在散列表中对应的存储区域中存储的内容不包含134→034时,可以确定当前的记忆神经元层不存在用于记录时间序列134→034的记忆神经元,此时,可以在该存储区域90中分配一个存储位置,同时在记忆神经元层分配一个记忆神经元来记录该时间序列,并将与该记忆神经元的编号对应的哈希码以及该时间序列一起存储在存储区域90中的新分配的存储位置中。
在步骤106中,至少根据被激活的记忆神经元确定当前指标数据是否异常。
由于新分配的记忆神经元越多,当前指标数据异常的可能性越大;被激活的记忆神经元越多,当前指标数据异常的可能性越小。因此,在一种实施方式中,可以根据新分配的记忆神经元的总数和被激活的记忆神经元的总数来确定当前指标数据是否异常。如图1C所示,上述步骤106可以包括以下步骤。
在步骤1061中,根据新分配的记忆神经元的总数和被激活的记忆神经元的总数,确定异常得分。
示例地,可以通过以下等式(2)来确定异常得分:
Figure BDA0001295119690000151
其中,score表示所述异常得分;new表示所述新分配的记忆神经元的总数;active表示所述被激活的记忆神经元的总数。
例如,根据上述图3C中所示的情形,新分配的记忆神经元为9号记忆神经元和10号记忆神经元,被激活的记忆神经元为9号记忆神经元和10号记忆神经元,即新分配的记忆神经元的总数new为2,被激活的记忆神经元的总数为2,这样,异常得分为1。
再例如,根据上述图3D中所示的情形,新分配的记忆神经元为11号记忆神经元,被激活的记忆神经元为6号记忆神经元和11号记忆神经元,即新分配的记忆神经元的总数new为1,被激活的记忆神经元的总数为2,这样,异常得分为0.5。
在步骤1062中,在异常得分大于或等于预设的异常阈值时,确定当前指标数据异常。
在本公开中,该异常阈值可以是用户设定的值,也可以是默认的经验值。
如果异常监控系统的管理员特别关注关于当前指标数据的一种或几种异常情况,可以用预设的记忆神经元来记录这一种或几种异常情况对应的时间序列。这样,当异常监控系统检测到被激活的记忆神经元包括上述预设的记忆神经元时,可以确定当前指标数据异常。
在上述技术方案中,异常监控系统通过记忆神经元对与当前指标数据相对应的时间序列集合中的每个时间序列进行记录,形成类似于大脑皮质层神经元的记忆神经元层,并通过该记忆神经元层对当前指标数据的异常情况进行异常检测。由于异常检测时采用的是时间序列记忆搜索的方式,而不需要用对指标数据进行数学拟合,因此,该异常监控系统支持时间序列无法预测的非连续型指标数据的异常检测,例如,它可以用于磁盘读写时的异常检测。由此,该异常监控系统对不同类型指标数据和变化复杂的指标数据的适应性更强。此外,由于该异常监控系统可以根据逐步获取到的指标数据来逐渐强化学习能力和判断能力,因而它不需要对大规模的历史数据进行事先学习,这样,可以解决冷启动的问题。并且,获取到的指标数据规模越大,该异常监控系统的学习能力和判断能力就越强,异常检测的准确率也就更高。
图1D是根据另一示例性实施例示出的一种数据异常检测方法的流程图。如图1D所示,上述方法还可以包括以下步骤。
在步骤109中,在确定当前指标数据异常时进行异常告警。
在本公开中,异常监控系统在确定当前指标数据异常时,可以通过以下方式中的至少一者来进行异常告警:显示异常信息、播放异常告警语音、使得与当前指标数据相对应的异常标记(例如,指示灯、图标等)闪烁、向该异常监控系统的管理员发送消息等等,从而使得异常监控系统的管理员能够及时发现该异常情况,并针对该异常情况采取相应的措施。另外,对于上述的系统管理员特别关注的异常情况,可以进行特殊异常告警,例如,通过播放特定的异常告警语音、加快与当前指标数据相对应的异常标记(例如,指示灯、图标等)的闪烁频率等方式来进行特殊异常告警。
图1E是根据另一示例性实施例示出的一种数据异常检测方法的流程图。如图1E所示,上述方法还可以包括以下步骤。
在步骤110中,接收用户输入的针对异常告警的反馈信息。
在步骤111中,根据反馈信息,调整异常阈值。
在本公开中,上述的异常阈值可以根据系统管理员对异常告警的反馈消息来进行调整。该反馈消息可以包括忽略或否定该异常告警以及处理该异常告警。当系统管理员对异常告警忽略或否定的次数超过预设的第一次数阈值时,表明系统管理员对该异常告警所对应的数据异常情况的关注度较低或该异常告警属于误报的情况,此时,可以增大该异常阈值以显著降低异常告警的误报率,增强数据异常检测方法的适用性;当系统管理员对异常告警进行处理的次数超过预设的第二次数阈值时,表明系统管理员对该异常告警所对应的数据异常情况的关注度较高,此时,可以减小该异常阈值以提升系统管理员对该异常情况的关注度,增强数据异常检测的灵敏度,进而提升异常监控系统的安全性。另外,需要说明的是,该第一次数阈值和第二次数阈值可以是系统管理员设定的值,默认的经验值,并且二者可以相等,也可以不相等,这里不作具体限定。
图5是根据一示例性实施例示出的一种数据异常检测装置的框图。参照图5,该装置500可以包括:第一获取模块501,用于获取当前指标数据,所述当前指标数据与历史获取的同类型的指标数据形成目标时间序列;第二获取模块502,用于获取与所述第一获取模块501获取到的所述当前指标数据相对应的时间序列集合,所述时间序列集合包括根据所述目标时间序列中,从所述当前指标数据之前的第n个指标数据起到所述当前指标数据之间的连续指标数据所形成的时间序列,其中,n为自然数;判断模块503,用于针对所述第二获取模块502获取到的所述时间序列集合中的每个时间序列,判断是否存在用于记录该时间序列的记忆神经元;分配模块504,用于当所述判断模块503判定不存在所述记忆神经元时,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元;激活模块505,用于当所述判断模块503判定存在所述记忆神经元时,激活所述记忆神经元;异常确定模块506,用于至少根据被激活的记忆神经元确定所述第一获取模块501获取到的所述当前指标数据是否异常。
图6是根据另一示例性实施例示出的一种数据异常检测装置的框图。参照图6,上述装置500还可以包括:压缩值确定模块507,用于在所述第二获取模块502获取与所述当前指标数据相对应的时间序列集合之前,通过上述的等式(1)来确定与所述当前指标数据对应的压缩值;编码模块508,用于对所述压缩值确定模块507确定出的所述压缩值进行编码,获得与所述第一获取模块获取到的所述当前指标数据相对应的编码数据;所述时间序列集合中的每个时间序列为由形成该时间序列的各指标数据所对应的编码数据所组成的序列。
图7是根据另一示例性实施例示出的一种数据异常检测装置的框图。参照图7,所述异常确定模块506可以包括:异常得分确定子模块5061,用于根据所述分配模块504新分配的记忆神经元的总数和被激活的记忆神经元的总数,确定异常得分;异常确定子模块5062,用于在所述异常得分确定子模块5061确定出的所述异常得分大于或等于预设的异常阈值时,确定所述当前指标数据异常。
可选地,所述异常得分确定子模块5061用于根据所述分配模块504新分配的记忆神经元的总数和被激活的记忆神经元的总数,通过上述的等式(2)来确定异常得分。
图8A是根据另一示例性实施例示出的一种数据异常检测装置的框图。参照图8A,上述装置500还可以包括:告警模块509,用于在所述异常确定模块506确定所述当前指标数据异常时进行异常告警。
图8B是根据另一示例性实施例示出的一种数据异常检测装置的框图。参照图8B,上述装置500还可以包括:接收模块510,用于接收用户输入的针对所述告警模块509发出的所述异常告警的反馈信息;异常阈值调整模块511,用于根据所述接收模块510接收到的所述反馈信息,调整所述异常阈值。
可选地,所述异常确定模块506用于当所述被激活的记忆神经元包括预设的记忆神经元时,确定所述第一获取模块501获取到的所述当前指标数据异常。
可选地,所述分配模块504包括以下中的至少一者:第一分配子模块,用于当所述判断模块503判定不存在所述记忆神经元、且已激活的记忆神经元的总数小于预定数量时,为该时间序列分配一个新的记忆神经元来记录该时间序列,并激活所分配的新的记忆神经元;第二分配子模块,用于当所述判断模块503判定不存在所述记忆神经元、且已激活的记忆神经元的总数达到所述预定数量时,将所述已激活的记忆神经元中被激活次数最少的记忆神经元重新分配给该时间序列来记录该时间序列,并激活所分配的记忆神经元。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图9是根据一示例性实施例示出的一种电子设备900的框图。如图9所示,该电子设备900可以包括:处理器901,存储器902,多媒体组件903,输入/输出(I/O)接口904,以及通信组件905。
其中,处理器901用于控制该电子设备900的整体操作,以完成上述的数据异常检测方法中的全部或部分步骤。存储器902用于存储各种类型的数据以支持在该电子设备900的操作,这些数据例如可以包括用于在该电子设备900上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器902可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件903可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器902或通过通信组件905发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口904为处理器901和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件905用于该电子设备900与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件905可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备900可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的数据异常检测方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器902,上述程序指令可由电子设备900的处理器901执行以完成上述的数据异常检测方法。
图10是根据另一示例性实施例示出的一种电子设备1000的框图。例如,电子设备1000可以被提供为一服务器。参照图10,电子设备1000包括处理器1022,其数量可以为一个或多个,以及存储器1032,用于存储可由处理器1022执行的计算机程序。存储器1032中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1022可以被配置为执行该计算机程序,以执行上述的数据异常检测方法。
另外,电子设备1000还可以包括电源组件1026和通信组件1050,该电源组件1026可以被配置为执行电子设备1000的电源管理,该通信组件1050可以被配置为实现电子设备1000的通信,例如,有线或无线通信。此外,该电子设备1000还可以包括输入/输出(I/O)接口1058。电子设备1000可以操作基于存储在存储器1032的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器1032,上述程序指令可由电子设备1000的处理器1022执行以完成上述的数据异常检测方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (10)

1.一种数据异常检测方法,其特征在于,所述方法包括:
获取当前指标数据,所述当前指标数据与历史获取的同类型的指标数据形成目标时间序列;
获取与所述当前指标数据相对应的时间序列集合,所述时间序列集合包括根据所述目标时间序列中,从所述当前指标数据之前的第n个指标数据起到所述当前指标数据之间的连续指标数据所形成的时间序列,其中,n为自然数;
针对所述时间序列集合中的每个时间序列,判断是否存在用于记录该时间序列的记忆神经元;
当判定存在所述记忆神经元时,激活所述记忆神经元;
当判定不存在所述记忆神经元时,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元;
至少根据被激活的记忆神经元确定所述当前指标数据是否异常;其中,
所述当判定不存在所述记忆神经元时,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元,包括以下中的至少一者:
当判定不存在所述记忆神经元、且已激活的记忆神经元的总数小于预定数量时,为该时间序列分配一个新的记忆神经元来记录该时间序列,并激活所分配的新的记忆神经元;
当判定不存在所述记忆神经元、且已激活的记忆神经元的总数达到所述预定数量时,将所述已激活的记忆神经元中被激活次数最少的记忆神经元重新分配给该时间序列来记录该时间序列,并激活所分配的记忆神经元。
2.根据权利要求1所述的方法,其特征在于,在所述获取与所述当前指标数据相对应的时间序列集合的步骤之前,所述方法还包括:
通过以下公式,确定与所述当前指标数据对应的压缩值:
Figure FDA0002194461150000021
其中,v’表示所述压缩值;v表示所述当前指标数据;vmin表示所述目标时间序列中的最小值;vmax表示所述目标时间序列中的最大值;M表示将所述最小值到所述最大值之间的数据区间进行等分的份数;
对所述压缩值进行编码,获得与所述当前指标数据相对应的编码数据;
所述时间序列集合中的每个时间序列为由形成该时间序列的各指标数据所对应的编码数据所组成的序列。
3.根据权利要求1所述的方法,其特征在于,所述至少根据被激活的记忆神经元确定所述当前指标数据是否异常,包括:
根据新分配的记忆神经元的总数和被激活的记忆神经元的总数,确定异常得分;
在所述异常得分大于或等于预设的异常阈值时,确定所述当前指标数据异常。
4.根据权利要求3所述的方法,其特征在于,所述根据新分配的记忆神经元的总数和被激活的记忆神经元的总数,确定异常得分,包括:
根据新分配的记忆神经元的总数和被激活的记忆神经元的总数,通过以下公式,确定异常得分:
Figure FDA0002194461150000022
其中,score表示所述异常得分;new表示所述新分配的记忆神经元的总数;active表示所述被激活的记忆神经元的总数。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
在确定所述当前指标数据异常时进行异常告警;
接收用户输入的针对所述异常告警的反馈信息;
根据所述反馈信息,调整所述异常阈值。
6.根据权利要求1所述的方法,其特征在于,所述至少根据被激活的记忆神经元确定所述目标时间序列是否异常,包括:
当所述被激活的记忆神经元包括预设的记忆神经元时,确定所述当前指标数据异常。
7.根据权利要求1-4、6中任一项所述的方法,其特征在于,所述方法还包括:在确定所述当前指标数据异常时进行异常告警。
8.一种数据异常检测装置,其特征在于,所述装置包括:
第一获取模块,用于获取当前指标数据,所述当前指标数据与历史获取的同类型的指标数据形成目标时间序列;
第二获取模块,用于获取与所述第一获取模块获取到的所述当前指标数据相对应的时间序列集合,所述时间序列集合包括根据所述目标时间序列中,从所述当前指标数据之前的第n个指标数据起到所述当前指标数据之间的连续指标数据所形成的时间序列,其中,n为自然数;
判断模块,用于针对所述第二获取模块获取到的所述时间序列集合中的每个时间序列,判断是否存在用于记录该时间序列的记忆神经元;
激活模块,用于当所述判断模块判定存在所述记忆神经元时,激活所述记忆神经元;
分配模块,用于当所述判断模块判定不存在所述记忆神经元时,为该时间序列分配一个记忆神经元来记录该时间序列,并激活所分配的记忆神经元;
异常确定模块,用于至少根据被激活的记忆神经元确定所述第一获取模块获取到的所述当前指标数据是否异常;其中,
所述分配模块包括以下中的至少一者:
第一分配子模块,用于当所述判断模块判定不存在所述记忆神经元、且已激活的记忆神经元的总数小于预定数量时,为该时间序列分配一个新的记忆神经元来记录该时间序列,并激活所分配的新的记忆神经元;
第二分配子模块,用于当所述判断模块判定不存在所述记忆神经元、且已激活的记忆神经元的总数达到所述预定数量时,将所述已激活的记忆神经元中被激活次数最少的记忆神经元重新分配给该时间序列来记录该时间序列,并激活所分配的记忆神经元。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-7中任一项所述的方法的步骤。
10.一种电子设备,其特征在于,包括:
权利要求9所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
CN201710340508.XA 2017-05-15 2017-05-15 数据异常检测方法、装置、可读存储介质及电子设备 Active CN107203806B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710340508.XA CN107203806B (zh) 2017-05-15 2017-05-15 数据异常检测方法、装置、可读存储介质及电子设备
US15/783,522 US20180329769A1 (en) 2017-05-15 2017-10-13 Method, computer readable storage medium and electronic device for detecting anomalies in time series

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710340508.XA CN107203806B (zh) 2017-05-15 2017-05-15 数据异常检测方法、装置、可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN107203806A CN107203806A (zh) 2017-09-26
CN107203806B true CN107203806B (zh) 2020-01-10

Family

ID=59905274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710340508.XA Active CN107203806B (zh) 2017-05-15 2017-05-15 数据异常检测方法、装置、可读存储介质及电子设备

Country Status (2)

Country Link
US (1) US20180329769A1 (zh)
CN (1) CN107203806B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3070076B1 (fr) * 2017-08-09 2019-08-09 Idemia Identity And Security Procede de protection d'un dispositif electronique contre des attaques par injection de faute
US10628252B2 (en) * 2017-11-17 2020-04-21 Google Llc Real-time anomaly detection and correlation of time-series data
CN108681542A (zh) * 2018-02-12 2018-10-19 阿里巴巴集团控股有限公司 一种异常检测的方法及装置
CN110874674B (zh) * 2018-08-29 2023-06-27 阿里巴巴集团控股有限公司 一种异常检测方法、装置及设备
CN109978379B (zh) * 2019-03-28 2021-08-24 北京百度网讯科技有限公司 时序数据异常检测方法、装置、计算机设备和存储介质
CN110362612B (zh) * 2019-07-19 2022-02-22 中国工商银行股份有限公司 由电子设备执行的异常数据检测方法、装置和电子设备
CN112311611B (zh) * 2019-07-29 2022-04-12 中国移动通信集团广东有限公司 数据异常的监测方法、装置和电子设备
US11256673B2 (en) 2019-09-11 2022-02-22 Commvault Systems, Inc. Anomaly detection in deduplication pruning operations
US11237935B2 (en) * 2019-09-11 2022-02-01 Commvault Systems, Inc. Anomaly detection in data protection operations
CN111966603B (zh) * 2020-09-04 2024-01-19 网易(杭州)网络有限公司 内存泄露的检测方法及装置、可读存储介质及电子设备
US20220335347A1 (en) * 2021-04-15 2022-10-20 Business Objects Software Ltd Time-series anomaly prediction and alert
CN114881167B (zh) * 2022-05-24 2023-06-20 北京百度网讯科技有限公司 异常检测方法、装置、电子设备和介质
CN115509794A (zh) * 2022-10-20 2022-12-23 北京和欣运达科技有限公司 一种嵌入式智能设备的故障追踪方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103236065A (zh) * 2013-05-09 2013-08-07 中南大学 基于主动轮廓模型和细胞神经网络的生物芯片分析方法
CN104598924A (zh) * 2015-01-14 2015-05-06 南京邮电大学 一种目标匹配检测方法
CN105279557A (zh) * 2015-11-13 2016-01-27 徐志强 基于人脑工作机制的记忆和思维模拟装置
CN105550943A (zh) * 2016-01-18 2016-05-04 重庆大学 一种基于模糊综合评判的风电机组状态参数异常辨识方法
CN106022244A (zh) * 2016-05-16 2016-10-12 广东工业大学 基于递归神经网络建模的无监督人群异常监测及定位方法
CN106156844A (zh) * 2015-03-23 2016-11-23 日本电气株式会社 用于构建时空神经网络和利用其进行预测的方法和设备
CN106357458A (zh) * 2016-10-31 2017-01-25 中国联合网络通信集团有限公司 网元异常检测方法及装置
CN106355035A (zh) * 2016-09-28 2017-01-25 湖南老码信息科技有限责任公司 一种基于增量式神经网络模型的肺炎预测方法和预测系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103236065A (zh) * 2013-05-09 2013-08-07 中南大学 基于主动轮廓模型和细胞神经网络的生物芯片分析方法
CN104598924A (zh) * 2015-01-14 2015-05-06 南京邮电大学 一种目标匹配检测方法
CN106156844A (zh) * 2015-03-23 2016-11-23 日本电气株式会社 用于构建时空神经网络和利用其进行预测的方法和设备
CN105279557A (zh) * 2015-11-13 2016-01-27 徐志强 基于人脑工作机制的记忆和思维模拟装置
CN105550943A (zh) * 2016-01-18 2016-05-04 重庆大学 一种基于模糊综合评判的风电机组状态参数异常辨识方法
CN106022244A (zh) * 2016-05-16 2016-10-12 广东工业大学 基于递归神经网络建模的无监督人群异常监测及定位方法
CN106355035A (zh) * 2016-09-28 2017-01-25 湖南老码信息科技有限责任公司 一种基于增量式神经网络模型的肺炎预测方法和预测系统
CN106357458A (zh) * 2016-10-31 2017-01-25 中国联合网络通信集团有限公司 网元异常检测方法及装置

Also Published As

Publication number Publication date
CN107203806A (zh) 2017-09-26
US20180329769A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
CN107203806B (zh) 数据异常检测方法、装置、可读存储介质及电子设备
KR101682080B1 (ko) 컴퓨팅 디바이스의 무선 재연결 시간 감소
US10276027B2 (en) Mobile device loss prevention
WO2022257723A1 (zh) 风险防控的方法、装置及设备
US10497475B2 (en) Contextually grouping sensor channels for healthcare monitoring
CN108255673B (zh) 应用程序占用资源的检测方法、装置和存储介质
US10984110B2 (en) Evaluation of security of firmware
CN107203313B (zh) 调整桌面显示对象方法、移动终端及计算机可读存储介质
CN110825818B (zh) 多维特征构建方法、装置、电子设备及存储介质
US20160269418A1 (en) Method, system, and apparatus for managing and storing data based on information sensitivity
CN107045599B (zh) 一种数据查询方法及电子设备
CN112099979B (zh) 一种访问控制方法、装置、计算机设备和存储介质
KR20220025052A (ko) 이미지 처리 방법 및 장치, 전자 기기 및 기억 매체
US10659680B2 (en) Method of processing object in image and apparatus for same
KR102177203B1 (ko) 악성 코드 탐지 방법 및 컴퓨터 판독 가능한 저장매체
CN113132906B (zh) 虚拟定位识别方法、装置、存储介质及电子设备
CN110019374B (zh) 基于特征的数据项处理方法、装置、存储介质及计算机设备
CN107727420B (zh) 设备检测方法及相关产品
CN115934002A (zh) 固态硬盘的访问方法、固态硬盘、存储系统及云服务器
US10701099B2 (en) Providing efficient information tracking with dynamically selected precision
CN113253691B (zh) 设备管理方法和装置
US10484868B2 (en) Configuring privacy policies by formulating questions and evaluating responses
US10275494B2 (en) Electronic device and method for providing data
US20200227164A1 (en) Entity condition analysis based on preloaded data
US10416958B2 (en) Hierarchical clustering

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
GR01 Patent grant
GR01 Patent grant