CN113742118B - 对数据管道中的异常进行检测的方法和系统 - Google Patents

对数据管道中的异常进行检测的方法和系统 Download PDF

Info

Publication number
CN113742118B
CN113742118B CN202110594159.0A CN202110594159A CN113742118B CN 113742118 B CN113742118 B CN 113742118B CN 202110594159 A CN202110594159 A CN 202110594159A CN 113742118 B CN113742118 B CN 113742118B
Authority
CN
China
Prior art keywords
sequence
data
time interval
count
regression
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
CN202110594159.0A
Other languages
English (en)
Other versions
CN113742118A (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.)
OVH SAS
Original Assignee
OVH SAS
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 OVH SAS filed Critical OVH SAS
Publication of CN113742118A publication Critical patent/CN113742118A/zh
Application granted granted Critical
Publication of CN113742118B publication Critical patent/CN113742118B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Computer Security & Cryptography (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

公开了一种用于对数据管道中的异常进行的方法和系统。数据表格是从数据管道中提取的。为每个数据表格计算最佳时间列。对表格行进行汇总以便建立每时间间隔的数据行的计数,并生成正在通过回归方法进行分析的相应的点的序列。当点的数据行的计数在此计数的期望值附近的置信区间之外时,引发异常。

Description

对数据管道中的异常进行检测的方法和系统
技术领域
本技术涉及数据处理,更具体地涉及一种用于对数据管道中的异常进行检测的方法和系统。
背景技术
为了向大量的客户提供相互托管的服务,数据中心和云基础设施通常包含大量许多不同的处理技术和具有多样性和异质性的组件(硬件、软件、网络等)。来自客户的服务需求通常会随着时间而变化,且有时可能会非常紧张。因此,对数据中心或云基础设施的运行状况进行监控,以优化其性能从而满足客户期望的服务质量。
本文限定的“数据管道”是例如在数据中心或云基础设施中运行的作业或程序的有向无环图。这些作业或程序接收可能已由其他作业或程序处理过的数据作为输入数据,处理这些数据,并输出又可用作其他作业或程序的输入的结果数据。因此,数据管道极其复杂,涉及例如集成在数据中心或云基础设施中的不同的计算技术和系统。监控系统数据中心的运行状况可以包括监控由此类计算技术和系统生成的(一个或更多个)数据管道。
监控每个此类计算技术或系统的运行状况可以被证明是近似于不可能的。通过以汇总水平的数据管道中的异常检测来监控系统数据中心的运行状况可能被证明是有用的,在一定程度上,它不允许单个计算技术或系统的故障在相当长的时间内不被察觉。因此,需要一种允许对数据管道中的异常进行及早且准确的(即:没有太多误报)检测的方法和系统。
一般而言,本技术旨在通过使用机器学习技术检查数据似乎可信来监控数据管道(即:不监控单个计算技术或系统)。
背景部分中讨论的主题不应仅仅由于在背景部分中提及而被认为是现有技术。类似地,在背景技术部分中提到的或与背景技术部分的主题有关的问题不应被认为是现有技术中先前已经认识到的。背景技术部分中的主题仅表示不同的方法。
发明内容
基于开发人员对与现有技术相关联的缺点的理解,已经开发了本技术的实施方式。具体地,此类缺点可能包括:
-在并非不具有对数据源的内容或特性的丰富了解的情况下,无法对由数据管道操纵的所有异构输入和输出数据源中的异常进行检测;
-涉及大量计算能力的要求;
-限定规则或阈值以限定什么构成数据异常的要求;以及
-无法准确捕获数据季节性和趋势。
在一个实施方式中,本技术的各种实现方式提供了一种用于对数据管道中的异常进行检测的方法和系统,其中,读取器从位于所述数据管道的节点处的源数据集提取数据表格,该方法包括以下步骤:
-通过表格分析器从所述读取器接收第一数据表格;
-通过所述表格分析器保留所述第一数据表格的具有时间维度的列作为候选时间列,并且形成点的第一序列,每个点具有作为一个维度的时间间隔以及作为另一维度的在所述第一数据表格中的每时间间隔的数据行的计数;
-通过所述表格分析器从紧接在最后的时间间隔之前的第一数量的时间间隔的第一序列预留点来形成第二M点序列;
-通过所述表格分析器将所述第二序列提供给断点查找器;
-通过所述断点查找器计算所述第二序列的第一回归,并由所述表格分析器接收所述第二序列的所述第一回归;
-通过所述表格分析器在所述预留点的时间间隔上应用所述第一回归,获得数据行的对应计数的第一预测值,并计算第一误差,所述第一误差表示用于所述预留点的时间间隔中的每个时间间隔的数据行的计数的第一预测值与实际值之间的差;
-通过所述表格分析器在所述第一数据表格中的具有时间维度的列上对保留、形成、提供、接收和应用进行重复,并将产生最小计算的第一误差的候选列保留为所述第一数据表格的最佳时间列;
-通过所述表格分析器将最佳时间列的第一序列储存数据表格中;
-通过表格汇总器从所述读取器接收以至少一个附加时间间隔更新的所述第一数据表格,以及数据行的相对应的计数;
-通过所述表格汇总器形成P个点的第三序列,每个点具有作为一个维度的时间间隔,以及作为另一维度的更新后的第一数据表格中的每时间间隔的数据行的计数;
-通过所述表格汇总器将所述第三序列储存在所述数据表格中,作为所述第一序列的替代;
-通过异常检测器为所述第三序列中的时间间隔的第一选择计算置信区间,所述置信区间的中心为通过从训练器接收的回归所预测的数据行的计数的值;以及
-如果所述第一选择的任何时间间隔的数据行的计数的实际值在置信区间之外,则通过所述异常检测器引发异常。
在另一实施方式中,本技术的各种实现方式提供了一种方法和系统,其中,通过所述异常检测器对第三序列中的时间间隔的第一选择的置信区间进行计算包括:
-从所述数据表格接收所述第三序列;
-将第三序列提供给训练器;
-从所述训练器接收所述第三序列的第二回归;
-在所述第三序列的所有时间间隔上应用所述第二回归,并获得所述第三序列中的所述第一选择的时间间隔的数据行的相对应的计数的第二预测值;
-计算第二误差,所述第二误差表示用于所述第一选择的时间间隔中的每个时间间隔的数据行的计数的第二预测值与实际值之间的差;以及
-为所述第三序列中的所述第一选择的每个时间间隔计算置信区间,所述置信区间的中心为第二预测值,并且所述置信区间以正负第一因子乘以第二误差为界。
在又一实施方式中,本技术的各种实现方式提供了一种方法和系统,其中,通过所述异常检测器计算第二误差包括:
-形成点的第四序列,每个点具有作为一个维度的时间间隔,以及作为另一维度的用于所述第一选择的时间间隔中的每个时间间隔的所述数据行的计数的第二预测值与实际值之间的差的绝对值;
-将所述第四顺序提供给所述训练器;
-从所述训练器接收用于所述第四序列的第三回归;
其中,对于在所述第三序列中的所述第一选择的每个时间间隔,所述第二误差是通过用于该时间间隔的第三回归所预测的值。
在又一实施方式中,本技术的各种实现方式提供了一种方法和系统,其中,通过断点查找器对用于M个点的第二序列的第一回归进行计算包括:
-在所述第二序列中保留所述点中的一个点的时间间隔M’i
-将所述第二序列提供给所述训练器且M’i作为假设的断点;
-通过所述训练器对用于所述第二序列的第四回归进行计算且M’i作为假设的断点,并且接收用于所述第二序列的第四回归;
-在紧接在所述第二序列中的点的最近的时间间隔之前的M”个时间间隔上应用所述第四回归,其中M”<(M-M’,获得所述数据行的相对应的计数的第四预测值,并计算第三误差,所述第三误差表示用于在所述第二序列中的点的M”个时间间隔中的每个时间间隔的数据行的计数的第四预测值与实际值之间的差;
-对所有时间间隔M’i的保留、提供、计算和应用进行重复,其中i∈[1,N],N<M,N为对所述第二序列中的点的选择;
-将最接近所述第二序列中的最近的时间间隔的时间间隔M’i保留为所述第二序列的最佳断点,并产生低于预定值L的计算出的第三误差,并且相对应的第四回归作为提供给所述表格分析器的用于所述第二序列的第一回归;以及
-将用于所述第一序列的最佳断点储存在断点表中。
在又一实施方式中,本技术的各种实现方式提供了一种方法和系统,所述方法和系统还包括通过断点查找器对用于更新后的第一数据表格的更新后的最佳断点进行计算,所述计算包括:
-从所述数据表格接收P个点的第三序列;
-将所述点中的一个点的时间间隔P’i保留在所述第三序列中;
-将所述第三序列提供给所述训练器且P'i作为假设的断点;
-通过所述训练器对用于所述第三序列的第五回归进行计算且P’i作为假设的断点,并且接收用于第三序列的第五回归;
-在紧接在所述第三序列中的点的最近的时间间隔之前的P”个时间间隔上应用所述第五回归,其中P”<(P-P’),获得所述数据行的对应的计数的第五预测值,并计算第四误差,所述第四误差表示用于在所述第三序列中的P”个时间间隔中的每个时间间隔的数据行的计数的第五预测值与实际值之间的差;
-对所有时间间隔P’i的保留、提供、计算和应用进行计算,其中i∈[1,Q],Q<P,Q为所述第三序列中的点的选择;
-将最接近所述第三序列中的最近的时间间隔的时间间隔P’i保留为用于所述第三序列的最佳断点,并产生低于预定值R的计算出的第四误差;以及
-在所述断点表中储存用于所述第三序列的最佳断点。
在又一实施方式中,本技术的各种实现方式提供了一种方法和系统,所述方法和系统还包括:在为所述第一数据表格保留最佳时间列之后,通过所述表格分析器执行:
-选择所述第一表格的除具有时间维度的列以外的列;
-针对所选择的列中的值中的每个值对每时间间隔的数据行进行计数;
-将以下值中的每一者保留为类别:对应于所述值,数据行的总计数超过预定数目S,并且对于所选择的列的时间间隔的至少预定百分比U而言,每时间间隔的数据行的计数超过预定数量T;
-为每个类别形成点的序列,每个点具有作为一个维度的时间间隔和作为另一维度的用于所述类别的值的每时间间隔的数据行的计数;以及
-将用于每个类别的所述序列储存在所述数据表格中。
在本说明书的上下文中,除非另有明确规定,否则计算机系统可以指代但不限于“电子设备”、“操作系统”、“计算系统”、“基于计算机的系统”、“控制器单元”、“监控设备”、“控制设备”和/或适用于当前相关任务的其任何组合。
在本说明书的上下文中,表述“FPGA”意欲包括在提交本专利申请时市场上可获得的现场可编程门阵列计算系统,诸如参考文献Xilinx VU9P或Intel Stratix V以及任何随后成为可获得的(无论其名称如何)组成可用软件编程的计算系统的硬件的等效技术。
在本说明书的上下文中,表述“处理器”旨在包括单个专用处理器、单个共享处理器或多个单独的处理器,其中的一些处理器可以共享。在本技术的一些方面中,处理器可以是例如通用处理器,诸如中央处理器(CPU);专用于特定目的的处理器;或者在FPGA中实现的处理器。也可以包括其他常规的和/或定制的硬件。
在本说明书的上下文中,可以通过使用专用硬件以及能够与适当的软件相关联地执行软件的硬件来提供附图中所示的功能步骤。
仍在本说明书的上下文中,“一种”计算机可读介质和“该”计算机可读介质不应被解释为是相同的计算机可读介质。相反,并且在适当的时候,“一种”计算机可读介质和“该”计算机可读介质也可以被解释为第一计算机可读介质和第二计算机可读介质。
在本说明书的上下文中,除非另有明确说明,否则词语“第一”、“第二”、“第三”等用作形容词,仅是为了能够区分它们相互修饰的名词的目的,而不是为了描述这些名词之间的特殊关系的目的。
本技术的实现方式均具有上述目的和/或方面中的至少一者,但不一定具有他们全部。应当理解,由于试图达到上述目的而导致的本技术的某些方面可能不满足该目的和/或可能满足本文未具体叙述的其他目的。
根据以下说明书、附图和所附权利要求,本技术的实现方式的附加和/或替代特征,方面和优点将变得显而易见。
附图说明
为了更好地理解本技术以及其他方面和其他特征,请参考以下用于与随附附图结合使用的描述,在附图中:
图1描绘了作为示例性环境的数据中心或云基础设施,在其中可以实现根据本技术的方法和系统;
图2描绘了可以部署根据本技术的方法和系统的数据管道;
图3a至图3b描绘了本技术的组件,以及它们在根据本技术的各种功能配置中的之间的交互;
图4示出了针对点的序列的最佳断点的选择;
图5示出了实际的点的序列;
图6a至图6b显示了图5的序列的放大图,以示出时间特征对预测数据与实际数据的影响的存在与否;
图7描绘了表格分析功能的一个实施方式中的方法步骤;
图8描绘了异常检测功能的一个实施方式中的方法步骤;以及
图9描绘了可以用于实施根据本技术的方法和过程的计算系统;
应注意,除非本文另有明确规定,否则附图未按比例绘制。此外,从一个附图到下一附图,相同的元件共享相同的附图标记。
具体实施方式
本文中列举的示例和条件语言主要旨在帮助读者理解本技术的原理,而不是将其范围限制于此类具体列举的示例和条件。应当理解,本领域技术人员可以设计各种布置,尽管这里没有明确描述或示出,但是它们体现了本技术的原理并包含在其精神和范围内。
此外,为了帮助理解,以下描述可以描述本技术的相对简化的实现方式。如本领域技术人员将理解的,本技术的各种实现方式可以具有更大的复杂性。
在某些情况下,也可以提出被认为是对本技术进行修改的有用示例。这样做仅是为了帮助理解,并且也不是为了限定本技术的范围或阐述本技术的范围。这些修改不是详尽的列表,并且本领域技术人员可以进行其他修改,而仍然保留在本技术的范围内。此外,在没有阐述修改示例的情况下,不应解释为没有修改是可行的和/或所描述的内容是实施本技术的该元素的唯一方式。
此外,本文中引用本技术的原理、方面和实现方式以及其特定示例的所有陈述旨在涵盖其结构和功能等同物,无论它们当前是已知的还是在将来开发的。因此,例如,本领域技术人员将理解,本文中的任何框图表示体现本技术原理的说明性电路的概念图。类似地,将认识到,任何流程图、流程附图、状态转变图、伪代码等代表可以实质上在非暂时性计算机的可读介质中表示并且因此由计算机或处理器执行的各种过程,无论是是否明显地示出了此类计算机或处理器。
在本文中,软件模块或暗示为软件的简单模块,可以表示为指示处理步骤和/或文本描述的执行的流程图元素或其他元素的任何组合。此类模块可以由明确或隐含示出的硬件执行。此外,应当理解,模块可以包括例如但不限于提供所需功能的计算机程序逻辑、计算机程序指令、软件、堆栈、固件、硬件电路或其组合。
有了这些基本原理,我们现在将考虑一些非限制性示例,以说明本技术的各方面的各种实现方式。
图1描绘了可以在实施本方法和系统的数据中心或云基础设施示例性环境。可以包括各种数据库101、102、103和104。数据库102可以是数据中心或云基础设施生产数据库101的复制。例如,这可以被实施为避免向包括在数据中心或云基础设施中的计算技术和系统增加计算压力。数据库101可以配备有关系数据库管理系统,诸如但不限于PostgreSQL、MySQL、MongoDB或OpenTSDB。数据库103可以是已经解析的数据库,并且有时可以是带有时间戳的数据,诸如用于数据中心或云基础设施的日志数据库。数据库104可以包括具有不同特征和/或体积的数据,该数据需要使用诸如Apache Flink和Apache Kafka之类的流处理框架工具来建立数据管道。具有仍不同的特征和/或体积的数据可由本技术处理,诸如以批处理、流式处理或交互式工作流的开放数据,并且本文教导的一般性不受仅构成可实现本方法和系统的可能的数据中心或云基础设施环境的说明的内容的影响。
在该环境中,块(bloc)105表示用于从数据库102至104收集的数据的数据转换和处理技术。可以使用例如与Apache Kafka或Apache Flume组合的Fog节点来累积此类数据。块106代表HDFS、HBase或Solr,其中,例如,Apache Flume代理可以编写从Apache Kafka读取的事件。
图2中详细示出了块106。使用例如Spark Streaming生成数据管道。通过其组合和跨越批处理、流式处理和交互式工作流之间的边界的能力,Spark流式处理能够以时间间隔从数据获取见解。管道的节点在其中表示为多个矩形201,作为源数据集。多个圆点202表示数据源读取器(以下称为“读取器”),其允许根据本技术以各种时间间隔分析特定的数据集。在这种环境下,可能会在由数据管道操纵的所有异构输入和输出数据源中检测到异常。
图3a至图3b描绘了本系统的各种组件,以及它们在根据本技术的各种功能配置中的之间的交互。仅是为了清楚起见,单独介绍了两种功能,分别是数据分析(图3a)和异常检测(图3b)。对于本领域技术人员将显而易见的是,不应从这种呈现方式来推断功能之间的任何时间关系,并且这两个功能可以并行和/或异步地操作。
图3a描绘了本技术的组件,以及它们在数据分析功能配置中的之间的交互。该组件如下:
读取器202:可以通过链接320连接到源数据集201(来自图2)。源数据集201可以由表组成,并且读取器202可以使用标准连接器(诸如csv,parquet,jdbc)连接到源数据集201。在源数据集201中给定表格位置和给定协议的情况下,读取器202可以从表格及其架构读取数据。在大多数情况下(parquet,jdbc等),该架构可用。否则,例如在csv或json文件的情况下,可能需要使用例如Apache Spark库来推断架构。读取器202可以呈现数据查询接口,该数据查询接口允许系统中的其他组件进行查询(诸如,用于时间间隔、类别或数据过滤的数据汇总),将此类查询传递给源数据集201,并将查询的结果返回给查询组件。对于表格分析器301,这是通过链接321完成的。
表格分析器301:可以通过链接321访问来自读取器202的呈每时间间隔汇总的数据或表格形式的数据。表格分析器301可以通过链接324将时间系列数据的序列储存在数据表格302中,并且通过链接322将关于此类序列的元数据储存在数据集信息表格306中。表格分析器301还可以通过链接323请求断点查找器304,以分析数据序列并计算可以通过链接323返回到表格分析器301的断点。
断点查找器304:可以通过链接326请求训练器303,以对数据的序列进行训练并通过链接326向其返回数据预测模型。断点查找器304还可以对关于数据序列的断点信息进行计算并通过链接327储存在表格305中。
训练器303:还可以通过链接325从数据表格302读取数据序列。另外,它可以通过链接328从特征表格307读取特征(诸如,关于具有或不具有季节性的特定事件)。
用户314:可以任选地分别通过链接330和链接329在数据集信息表格306和/或特征表格307中输入或覆盖值。
现在将提供上述组件及其相互作用的功能描述。当新表格周期性地(例如以给定的时间间隔的倍数)进入源数据集201时,和/或当表格的结构显著变化时,表格分析器301可以在源数据集201中可用的任何表格上运行。
表格分析器301可以通过选择此类表格中的“最佳”(从异常检测的角度来看)时间列来决定如何最好地对从读取器202接收到的表格中的异常进行检测。为此:
-在第一步骤中,表格分析器301可以为每个分析表格从器202请求提供表格架构(如果可用的话,否则如上解释地进行推断),并保留诸如在架构中标识的日期/时间类型(例如:2019-10-17 13:15:00)或时间戳(例如:unix timestamp)之类的列,即具有时间维度的列。任选地,表格分析器301可以将具有整数值的列解释为unix时间戳:从这样的列中,表格分析器301可以分别生成具有时间维度的不同列,假设整数值以秒、毫秒、纳秒等表示。然后这样生成的列可以作为时间列保留。对于每个此类保留的时间列,通过表格分析器301将点的序列储存在数据表格302中。这些点的维度中的一个维度可以是时间间隔,诸如离散时间值(例如,秒、小时、天、周、月等)。另一组件可以是每时间间隔汇总的表格中的数据行的计数。对于整个系统的实例,时间间隔值是相同的,类似于系统“时钟单元”,并且所有组件都使用相同的时间间隔值。例如,该序列可以以一天的时间间隔跨越两年的数据。
-在第二步骤中,表格分析器301可以遍历保留的时间列中的每个保留的时间列,以选择表格的“最佳”时间列。为此,表格分析器301可以为每个完整的点的序列预留多个最近时间间隔的点。例如,最后10个时间间隔。可以在确认对应的点的范围内的预定%不具有“0”的值之后,确定最近时间间隔的实际数量。例如,可以使用50%。序列的其余部分(此后称为“截断序列”)可以馈送到断点查找器304。断点查找器304随后可以在训练器303的协助下,如将在下面详细描述的那样,确定每个截断序列的预测模型,这包括如下文将详细描述的:计算截断序列的断点以及回归,例如线性回归,并通过链接323返回这种预测模型,同时通过链接327将断点储存在断点表格305中。表格分析器301随后可以针对若干最近时间间隔的预留点对预测模型进行测试,并将时间列保留为每表格一个“最佳”时间列,其产生预留点的实际值与预测值之间的最小差异。
任选地,用户314可以手动覆盖对“最佳”时间列所做的选择。这可以通过让用户314通过链接330将配置文件输入到数据集信息表格306中来实现。
上面的两步分析可以在最初投入系统生产时执行,然后在之后定期进行,例如,当正在监控数据管道的数据中心和云基础设施的操作活动较轻时。表格分析器301可以将数据序列储存在数据表格302中,并将相对应的元数据储存在数据集信息表格306中,其中序列本质上是临时的,并且可能不再需要在操作模式下使用。断点表格305中储存的断点信息具有相同的数据暂时性。
任选地,在对表格执行了上述两步分析之后,表格分析器301可以选择表格数据的一部分或“类别”,以便能够仅对整个表格的数据的子集进行监控。例如,假设表格表示对网站的访问,或对数据中心或云基础设施的服务器采取的操作,以及与来自给定国家的访问相关的数据,或者在网站的给定区域丢失:此数据可以作为记录特定服务器上的操作的失败的有用指示(即:与特定地理位置或网站上的活动紧密相关联),如果该异常的检测(即丢失数据)是在大得多的数据超集上执行的,而国家数据只是整个数据的小子集,那么该数据可能会被忽略。对于除时间列以外的每个表格列,可以计算该时间间隔中每时间间隔的每个离散值的出现次数。例如,可以在与地理位置有关的列中计算诸如“美国”、“法国”、“德国”之类的值的出现次数。为了有意义和进行选择,类别必须满足以下双重标准:最小的数据总数(绝对值或相对于数据表格或一列中的数据总数),以及在时间间隔内传播数据。例如,关于前一个标准,只有具有最小的相对出现次数的值(例如,列中所有值的计数的15%)可以保留为选择的类别,或者所需的最小数据总数可以是源数据集的大小的%,例如1%至5%,或者可能需要每时间间隔的数据点的最小平均值(例如30)。例如,关于后一个标准,每时间间隔(例如5)可能需要最小数量的数据点,或者可能要求最小95%的时间间隔具有非空数据或高于某个值的数据。在考虑对类别进行过滤之前,始终对表格进行整体分析。类别可以是来自表格的不同列的数据汇总的结果。
表格分析器301的输出可以是元组的列表,诸如:(数据集标识、时间间隔、行的计数)通过链接324储存在数据表格302中。例如,储存在数据表格302中的输出可以如表格1所示(假设113为当前时间):
表格1:数据表格302示出的内容
相反,表格分析器301可以通过链接322将元组的列表(诸如数据集标识、表格标识、时间列、类别列、类别)储存在数据集信息表格306中。例如,储存在数据集信息表格306中的输出可以如表格2所示:
数据集标识 表格标识 时间列 类别列 类别
0 0 创建日期 n/a n/a
1 0 创建日期 国家 US
2 0 创建日期 国家 FR
3 0 创建日期 国家 DE
4 0 创建日期 产品 服务器
5 0 创建日期 产品 AI
6 1 时间戳记 n/a n/a
表格2:数据集信息表格306示出的内容
在此示出的内容中,“类别列”中的“n/a”表示具有来自表的所有数据的数据集。否则类别指示(例如:“国家”)为针对来自该表的所有数据中的仅一部分的数据集,并指明了哪一部分(例如:数据中与“美国”相关的为“US”)。
断点查找器304通过链接327将元组的列表(诸如数据集标识、断点时间间隔)馈送到断点表格305中。例如,储存在断点表格305中的输出可以如表格3所示:
数据集标识 断点时间间隔
0 87
1 27
2 102
... ...
表格3:断点表格305示出的内容
现在,我们将详细说明当试图确定数据的表格中的最佳时间列时,断点查找器304可以如何在训练器303的帮助下,大致上分析点的序列,且具体地在表格分析器301的请求下分析截断序列,并确定该点的序列的预测模型,包括该序列的最佳断点。从断点的角度来看,“最佳”是通过训练器303返回的预测模型的序列中的时间间隔(将在下面详细描述),并且使用该时间间隔作为假设断点,返回特定预测值与实际数据值之间的最小差异。
在接收到M个点的序列后,断点查找器304可以在序列中的N(N<M)个时间间隔内进行迭代,并且对于N个时间间隔内的每个时间间隔J:(i)请求训练器303计算回归,例如线性回归(将在下面详细描述),使用时间间隔J作为假设断点,(ii)计算特定预测值与实际数据值之间的差异,即由序列中最后K个点的回归所产生的误差,其中K小于(M-J),因为断点之前的误差基本上是无关的,(iii)选择最接近序列末尾的时间间隔J,该时间间隔产生的误差在预定极限L内,以及(iv)将呈预测模型的形式的点的序列的结果返回给表格分析器301,并在断点表格305中返回该序列的“最佳”断点值。
更具体地:
-数字M必须足够大,以便序列可以跨越如下时间段,所述时间段至少包含预测模型旨在考虑未来的所有季节性事件。例如,在一天的时间间隔的情况下,上面举例说明的M=560点的序列能够解释上一年的夏季时段;
-数字N必须足够大,并且时间间隔J之间的粒度必须足够低,以便精炼对“最佳”断点的搜索。如已知的,N可以通过精度与大量计算所消耗的计算能力之间的权衡的目标来引导。在一种极端情况下,N可能等于M,即序列中的每个时间间隔J都被测试为潜在的“最佳”断点。在另一极端情况下,N可能等于M的分数。此外,N个时间间隔可以作为假设断点在整个序列上均匀地选取,例如,时间间隔J可以是整个序列的每五个时间间隔中的一个时间间隔。可替代地,可以仅在序列的一部分中选取N个时间间隔,例如,时间间隔J可以仅位于整个序列的最后一半(最近的时间段)中;
-K可以是有限(相对于序列中的点的总数)数量的最后的点,例如序列中的最后十个点(例如:如上所示,以每天560个点的序列进行10天)。
误差极限L可以如下确定。对于被测试为潜在的“最佳”断点的每个时间间隔J,可以在序列中的最后K个点中的每个点的预测数据与实际数据之间测量差异,并可以计算这些差异的平方和。这提供了对误差的正的和绝对的度量。如已知的,可以使用其他的误差测量手段。可以画出诸如图4所示的误差为被测试的时间间隔Ji的函数的曲线图。例如,该序列可以具有M=82个点,即时间间隔可以表示为从0到81的范围。从时间间隔2开始,每3个时间间隔可以将N=24个时间间隔J作为断点进行测试。序列中的K=8个最的后点可用于计算误差。误差极限L可以被选取为:表示在尽可能接近所有Ji的最小误差401的值处与在产生低于极限L的误差的最后的Ji尽可能接近时间间隔81(即尽可能最近)的值处与误差曲线相交之间的折衷。例如,L的值可以确定为最小误差401的最大%或更高。例如,在图4上,可以将J7视为产生“最佳”断点的时间间隔。
通过断点查找器304进行的最佳断点计算不仅可以在上述两个步骤分析期间执行以确定数据表格中的最佳时间列,而且可以在分析之后当数据表被更新时执行。
现在,我们将详细说明训练器303如何分析点的序列。训练器303可以被馈送此类序列和断点值(或者作为该序列的真实断点,或者作为假设的断点)。这些点的维度中的一个维度可以是时间间隔。另一维度可以是每时间间隔中表格中的数据行的计数。实际的点的序列如图5所示。实际的点501表示数据表格中的从0到540的时间间隔内的记录数。例如,以一天的时间间隔,点的序列因此跨越接近两年的数据。行502可以是时间间隔500处的序列的断点,且行503可以是截断的数据序列与完整的数据序列之间的界限。可以发现点值504中的特定下降:跨越近2个月,它被证明与夏季月份相关联,此时对于与在该时间季节期间减少的特定活动相关联的表格的数据行的计数显著降低。相对于(列1)时间间隔0至8和490至509,序列开头和断点502附件的离散点值可以如下表格4的第2列所示:
表格4
训练器303可以返回由点值的回归组成的序列的预测模型,其具有两个斜率:在断点值502之前的第一斜率,以及在断点值502之后的第二斜率。回归可以是简单的线性回归,也可以是其他已知的回归方法。可以仅在序列的点的样本上计算回归,以便如已知的那样限制训练器303所消耗的计算资源。此类回归可能会受到以下参数或系数的影响:
-可以通过训练器303基于从特征表格307收集的特征信息来生成时间特征,诸如在上面表格4的第7列至9中找到的那些特征。特征信息可能与特定事件相关,无论是季节性的(如节假日、一年四季、财政季度、其他常规事件等)还是异常的(诸如天气、影响公司的特定事件、数据中心故障和事件、断电等)。可以从网络或从私人公司来源收集已知的特征信息,或手动将其输入到特征表格307中。这些时间特征可以例如采取如上面的表格4中所示的形式,当特征信息为“真”时,为相对应的时间间隔设置“1”,否则为“0”。例如,在上面的表格4的第8列和第9列中,月份的第一天和周末的日子可能会标为“1”。这些二进制值可以替代地为整数或真实值。还可以由用户314通过链接329将特征输入到特征表格307中。例如,对于本质上不可预测的事件,诸如被监控的数据中心或云基础设施的元件(例如:服务器、网络设备等)的特定已知故障,或者确切日期可能是内幕信息(诸如,运营或使用被监控的数据中心或云基础设施的实体发起营销活动),可能是这种情况。
-可以由训练器303生成诸如在上面的表格4的第3列和第5列中找到的那些索引,以反映断点502之前或之后时间间隔的处理。例如,索引_1(第3列)的值可以从时间间隔0的“0”增加到时间间隔499的“499”,然后从断点502的时间间隔500开始设置为“0”。索引_2(第5列)的值可以设置为“0”直到时间间隔499,然后从时间间隔500的“0”增加到等于(时间间隔值–500)的值。
-可以由训练器303生成诸如在上面的表格4的第4列和第6列中找到的那些截拦,以进一步反映断点502之前或之后的时间间隔的处理。可以将截拦_1(第4列)设置为“1”直到时间间隔499,然后从从断点502的时间间隔500开始设置为“0”。截拦_2(第6列)的值可以设置为“0”直到时间间隔499,然后从断点502的时间间隔500开始设置为“1”。
可以使用时间特征索引_1、索引_2、截拦_1和截拦_2生成诸如线性回归之类的回归,该回归能够预测任何时间间隔的点值。如已知的,假设一般情况下具有Q个时间特征,则每个点作为时间间隔t的函数可以以向量的形式表示:
xt=(拦截1,t;索引1,t;拦截2,t;索引2,t;f1,t;f2,t...;fQ,t)
且此类线性回归可以表示为:
其中wi是各个权重且是在时间间隔t下的预测值。
如已知的,这仅是示例,并且可以选择其他参数或系数来进行回归,以及对执行训练的序列中的点的数量进行向下采样,这仍然在本公开的教导之内。
图6a至图6b示出了在时间间隔500至560附近,即在断点502之后的图5的序列的放大图。该视图说明了通过训练器303生成的时间特征对回归准确预测第503行之后的点值的能力的影响,作为截断的(计算线性回归)和完整的数据的序列(包括实际数据和线性回归所预测的数据)之间的界限。在图6a中,时间特征1(“夏季”)被省略,即,影响断点502之前的点值的季节效应(点值504的下降)不被断点之后的回归考虑,即使第二斜率(向下)是明显的。与实际数据501相比,预测数据601a明显偏离了很大的量。这是因为,在断点502之后不久,发生了夏季月份,而预测模型并未考虑这些月份。相反,在图6b中,包括了时间特征1(“夏季”)。预测数据601b更接近实际数据501。
图3b描绘了本技术的组件,以及它们在异常检测功能配置中的之间的交互。与图3a中的组件相同的组件具有相同的功能。其他组件如下:
表格汇总器315:可以通过链接331访问关于数据集信息表格306中序列的元数据,并使用它们对读取器202进行查询,并通过链接340访问由其提供的数据。然后,表格汇总器315可以通过链接332利用序列中的任何新数据来更新数据表格302。
当训练器303具有要分析的序列时,可以由断点表格305根据需要通过链接333向训练器303提供断点。
异常检测器311:可以通过链接334请求训练器303,以对数据的序列进行训练并通过链接334向其返回数据预测模型。它还可以通过链接335从数据表格302读取数据序列,并通过链接336从数据集信息表格306读取关于此类序列的元数据。它还可以通过链接337馈送预测表格312。
仪表板313:可以通过链接338从预测表格312获得预测。它还可以通过描绘为链接339的已知显示手段向用户314显示预测及其偏差。
用户314:仍可以输入或覆盖数据集信息表格306中的元数据和功能表格307中的数据,如图3a所示。尽管为方便起见用相同的方式表示,但在图3a和图3b之间可以是两个不同的用户。
断点查找器304:仍然可以计算和储存关于数据的序列的断点信息,如图3a中所示。
现在将提供上述组件及其相互作用的功能描述。异常检测器311可以运行以例如通过不断地监控其数据管道来永久地监控数据中心或云基础设施的运行状况。可替代地,异常检测器311可以“周期性地”(即,每隔很多时间间隔)或“按请求”运行。
数据表格302中的表格的更新可以涉及:至少一个时间间隔的增量与该时间间隔的表格中的数据行的相对应的计数,并且视情况而定,更新最后的时间间隔之前的时间间隔的数据行的计数。表格汇总器315可以从读取器202获得更新后的数据表格,形成基于其的点的序列,并将这些序列储存在数据表格302中,以代替从数据表格的先前版本形成的点的序列。如已知的,为了节省计算资源,“代替”可能仅涉及为新的时间间隔添加点,以及在直到最后的时间间隔之前的有限数量的时间间隔内更新数据行的经修改的计数。
在异常检测功能期间,作为系统中的后台任务,可以周期性地和/或不断地更新断点查找器304对最佳断点的计算,以处理更新后的数据表格。可以在所有表格中的所有数据集上或者仅在某些交替的数据集或表格上,在每个递增的时间间隔下或在隔开递增的时间间隔下执行计算。断点计算相对于表格的频率越高,系统越能够精确地考虑表格数据的趋势的变化。然而,运行断点计算的频率是与断点查找器304所需的计算能力与资源消耗对整个系统的负担的权衡。在每次断点计算之后,断点查找器304向断点表格305馈送所涉及的数据表格的更新后的断点信息。
当处于运行状态时,异常检测器311可以(i)从数据表格302收集点的第一序列,(ii)请求训练器303对第一序列进行训练,并返回其预测模型(即:第一回归,诸如线性回归),(iii)计算所有预测数据值与实际数据值之间的差异,即序列中的每个点的第一回归所产生的误差的绝对值,创建(预测的误差的)第二序列,(iv)请求训练器303对第二序列进行训练,并返回预测模型(即:第二回归,如线性回归),(v)计算具有中心为预测值(即:通过第一回归)的例如在紧接在第一序列中的最后的时间间隔之前的时间间隔的点的选择的置信区间,和由X乘以(+/-)该点处的预测误差的绝对值的因子确定的上下限(即:通过第二回归),以及(vi)当对于该选择中的任何点,实际值位于置信区间之外时,根据因子X发出警报。
更具体地:
-因子X例如可以是2、3或5。异常检测器311发出的警报的类型可以根据实际点值在置信区间之外的因子X的值而有所不同。例如,当实际值超出以因子X为5计算的置信区间时,可能会发出严重警报,而只有当实际值超出因数X为2计算的置信区间时,才发出警告。还可以在本公开的教导内采用其他因子值和警报水平。
-异常检测器311可以将元组列表(诸如:数据集标识、时间间隔、实际的行的计数、预测的行的计数、预测错误、异常类型)储存在预测表格312中。例如,储存在预测表格312中的输出可以如表格5所示:
表格5:预测表格312示出的内容
在表格5的示例中:如果实际的行计数与预测的行计数之间的差异超过可接受偏差的2倍,则可能引发警告(上升或下降);如果实际和预测行计数之间的差异超过可接受偏差的3倍,则可能引发异常_(上升或下降),且如果实际的行计数与预测的行计数之间的差异超过可接受偏差的5倍,则可能会引发临界值(上升或下降)。否则,差异标记为“OK”;
-可以以仪表板313的内容的形式将预测表格312中的数据呈现给用户314,如已知的,允许用户314方便地读取、解释和分析数据。
在本技术的一个方面,可以运行异常检测器311以分析过去最近的,例如数据管道中的点的序列中的最后几个时间间隔。例如,最近3个时间间隔,但是还可以在本公开的教导内采用其他持续时间。
不管持续时间如何,异常检测器311可以在每个新的时间间隔运行,例如,如果系统时间间隔是一天,则每天运行,或者作为操作根据本技术的系统所需的计算能力与根据被监控的数据中心或云基础设施的一部分快速引发监控警报的要求之间的权衡,运行频率更低。
对于本领域技术人员将显而易见的是,可以并行运行本技术的系统的不同实例,以便例如监控数据中心或云基础设施的不同部分,和/或(视情况而定)在不同时间或周期运行,和/或具有与系统“时钟单元”不同的时间间隔(例如,在一个实例中,数据集可以在一天的时间间隔内汇总,而在另一实例中,不同数据集的相同时间间隔可在一小时的时间间隔下汇总)。
对于本领域技术人员还将显而易见的是,尽管在上文中主要是关于监控数据中心或云基础设施的数据管道来呈现的,但是本文的教导可以应用于由其他系统产生的数据管道,以监测可能的异常。
图7描绘了表格分析功能的一个实施方式中的方法步骤。在步骤701,表格分析器(301)从读取器(202)接收在数据管道的节点处从源数据集(201)提取的第一数据表格。在步骤702,表格分析器(301)保留第一数据表格中的具有时间维度的列作为候选时间列,并且形成点的第一点,每个点作为一个维度具有时间间隔,并且作为另一维度具有第一数据表格中的每时间间隔的数据行的计数。在步骤703,通过表格分析器(301)从紧接在最后的时间间隔之前的第一数量的时间间隔的第一序列预留点来形成M个点的第二序列。在步骤704,表格分析器(301)将第二序列提供给断点查找器(304)。在步骤705,断点查找器(304)计算第二序列的第一回归,并且表格分析器(301)接收第二序列的第一回归。在步骤706,表格分析器(301)在预留点的时间间隔上应用第一回归,获得数据行的对应的计数的第一预测值,以及计算第一误差,该第一误差表示所述预留点的每时间间隔的数据行的计数的第一预测值与实际值之间的差。在步骤707,表格分析器(301)对第一数据表格中的具有时间维度的的列重复步骤702至步骤706,并且将产生最小的计算的第一误差的候选列保留为第一数据表格的最佳时间列。在步骤708,表格分析器(301)将最佳时间列的第一序列储存在数据表格(302)中。
图8描绘了异常检测功能的一个实施方式中的方法步骤。一旦已经为第一数据表格确定并储存了最佳时间列,则在步骤801,表格汇总器(315)从读取器(202)接收以至少一个附加时间间隔更新的第一数据表格以及相对应的数据行的计数。在步骤802,表格汇总器(315)形成P点的第三序列,每个点具有作为一个维度的时间间隔,以及作为另一维度的每时间间隔的更新后的第一数据表格中的数据行的计数。在步骤803,表格汇总器(315)将第三序列储存在数据表格(302)中,以代替第一序列。在步骤804,异常检测器(311)为第三序列中的时间间隔的第一选择计算置信区间,其中心为通过从训练器(303)接收到的回归预测的数据行的计数的值。在步骤805,如果用于第一选择的任何时间间隔的数据行的计数的实际值位于置信区间之外,则异常检测器(311)引发异常。
上面描述的方法和过程步骤可以在计算系统中实施,可以相对于图9找到其示例,但不限于此。如本领域技术人员将认识到的,此类计算系统可以用任何其他合适的硬件、软件和/或固件或其组合来实施,并且可以是单个物理实体,或者具有分布式功能的若干单独的物理实体。
在本技术的一些方面中,计算系统900可以包括各种硬件组件,该硬件组件包括由处理器901、固态驱动器902、存储器903和输入/输出接口904共同表示的一个或更多个单核或多核处理器。在这种情况下,处理器901可以包括或可以不包括在FPGA中。在一些其他方面,计算系统900可以是“现成的(off the shelf)”通用计算系统。在一些方面,计算系统900也可以分布在多个系统中。计算系统900也可以专门致力于本技术的实现方式。如本技术领域的技术人员可以理解的,可以设想关于如何实施计算系统900的多种变型而不背离本技术的范围。
计算系统900的各种组件之间的通信可以由一个或更多个内部和/或外部总线905(例如,PCI总线、通用串行总线、IEEE 1394“火线(Firewire)”总线、SCSI总线、串行ATA总线、ARINC总线等)来实现,各种硬件组件与这些总线电联接。
输入/输出接口904可以允许启用诸如有线或无线接入之类的联网能力。作为示例,输入/输出接口904可以包括网络接口,诸如但不限于网络端口、网络套接字(networksocket)、网络接口控制器等。如何能够实施网络接口的多个示例对于本技术领域的技术人员将变得显而易见。根据本技术的实现方式,固态驱动器902可以储存诸如适于被加载到存储器903中并由处理器901针对根据本技术的方法和处理步骤执行的例如库、应用程序等的那些部分之类的程序指令。
尽管已经参考以特定顺序执行的特定步骤描述和示出了上述实现方式,但是应当理解,在不脱离本公开的教导的情况下,可以对这些步骤进行组合、细分或重新排序。这些步骤中的至少一些步骤可以并行或串行地执行。因此,步骤的顺序和分组不是本技术的限制。还应该清楚地理解,并非在本技术的每个实施方式中必须享受本文提到的所有技术效果。
对本技术的上述实现方式的修改和改进对于本领域技术人员而言将变得显而易见。前述描述旨在是示例性的而不是限制性的。因此,本技术的范围旨在仅由所附权利要求的范围来限制。

Claims (12)

1.一种用于对数据管道中的异常进行检测的方法,其中,读取器(202)从所述数据管道的节点处的源数据集(201)提取数据表格,所述方法包括以下步骤:
-通过表格分析器(301)从所述读取器(202)接收第一数据表格;
-通过所述表格分析器(301)保留所述第一数据表格的具有时间维度的列作为候选时间列,并且形成点的第一序列,每个点具有作为一个维度的时间间隔以及作为另一维度的在所述第一数据表格中的每时间间隔的数据行的计数;
-通过所述表格分析器(301)从紧接在最近的时间间隔之前的第一数量的时间间隔的所述第一序列预留点来形成M个点的第二序列;
-通过所述表格分析器(301)将所述第二序列提供给断点查找器(304);
-通过所述断点查找器(304)对所述第二序列的第一回归进行计算,并且通过所述表格分析器(301)接收所述第二序列的所述第一回归;
-通过所述表格分析器(301)在所预留的点的时间间隔上应用所述第一回归,获得数据行的相对应的计数的第一预测值,并计算第一误差,所述第一误差表示用于所预留的点的时间间隔中的每个时间间隔的数据行的计数的所述第一预测值与实际值之间的差;
-通过所述表格分析器(301)在所述第一数据表格中的具有时间维度的列上对所述保留、所述形成、所述提供、所述接收和所述应用进行重复,并将产生最小计算的第一误差的候选列保留为所述第一数据表格的最佳时间列;
-通过所述表格分析器(301)将所述最佳时间列的所述第一序列储存在数据表格(302)中;
-通过表格汇总器(315)从所述读取器(202)接收以至少一个附加时间间隔更新的所述第一数据表格以及相对应的数据行的计数;
-通过所述表格汇总器(315)形成P个点的第三序列,每个点具有作为一个维度的所述时间间隔以及作为另一维度的在所更新的第一数据表格中的每时间间隔的数据行的计数;
-通过所述表格汇总器(315)将所述第三序列储存在所述数据表格(302)中,作为所述第一序列的替代;
-通过异常检测器(311)为所述第三序列中的时间间隔的第一选择计算置信区间,所述置信区间的中心是通过从训练器(303)接收的回归所预测的数据行的计数的值;以及
-如果所述第一选择的任何时间间隔的所述数据行的计数的实际值在所述置信区间之外,则通过所述异常检测器(311)引发异常。
2.根据权利要求1所述的方法,其中,通过所述异常检测器(311)对所述第三序列中的时间间隔的第一选择的置信区间进行计算包括:
-从所述数据表格(302)接收所述第三序列;
-将所述第三序列提供给训练器(303);
-从所述训练器(303)接收所述第三序列的第二回归;
-在所述第三序列中的所有时间间隔上应用所述第二回归,并且获得用于所述第三序列中的所述第一选择的时间间隔的相对应的数据行的计数的第二预测值;
-计算第二误差,所述第二误差表示用于所述第一选择的所述时间间隔中的每个时间间隔的数据行的计数的所述第二预测值与所述实际值之间的差;以及
-为所述第三序列中的所述第一选择的每个时间间隔计算置信区间,所述置信区间的中心为所述第二预测值,并且所述置信区间以正负第一因子乘以第二误差为界。
3.根据权利要求2所述的方法,其中,通过所述异常检测器(311)对所述第二误差进行计算包括:
-形成点的第四序列,每个点具有作为一个维度的时间间隔以及作为另一维度的用于所述第一选择的所述时间间隔中的每个时间间隔的所述数据行的计数的所述第二预测值与所述实际值之间的差的绝对值;
-将所述第四序列提供给所述训练器(303);
-从所述训练器(303)接收用于所述第四序列的第三回归;
其中,对于所述第三序列中的所述第一选择的每个时间间隔,所述第二误差是由用于该时间间隔的所述第三回归所预测的值。
4.根据权利要求1至3中的任一项所述的方法,其中,通过所述断点查找器(304)对用于M个点的所述第二序列的第一回归进行计算包括:
-在所述第二序列中保留所述点中的一个点的时间间隔M’i
-将所述第二序列提供给所述训练器(303)且M’i作为假设的断点;
-通过所述训练器(303)对用于所述第二序列的第四回归进行计算且M’i作为假设的断点,并且接收用于所述第二序列的所述第四回归;
-在紧接在所述第二序列中的点的最近的时间间隔之前的M”个时间间隔上应用所述第四回归,其中M”<(M-M’),获得所述数据行的相对应的计数的第四预测值,并计算第三误差,所述第三误差表示用于在所述第二序列中的点的M”个时间间隔中的每个时间间隔的数据行的计数的所述第四预测值与所述实际值之间的差;
-对所有时间间隔M’i的所述保留、所述提供、所述计算和所述应用进行重复,其中,i∈[1,N],N<M,N为对所述第二序列中的点的选择;
-将最接近所述第二序列中的最近的时间间隔的所述时间间隔M’i保留为所述第二序列的最佳断点,并产生低于预定值L的计算出的第三误差,并且所对应的第四回归作为提供给所述表格分析器(301)的用于所述第二序列的所述第一回归;以及
-将用于所述第一序列的最佳断点储存在断点表(305)中。
5.根据权利要求1至3中的任一项所述的方法,还包括:通过所述断点查找器(304)对用于所更新后的第一数据表格的更新后的最佳断点进行计算,所述计算包括:
-从所述数据表格(302)接收P个点的所述第三序列;
-将所述点中的一个点的时间间隔P’i保留在所述第三序列中;
-将所述第三序列提供给所述训练器(303)且P’i作为假设的断点;
-通过所述训练器(303)对用于所述第三序列的第五回归进行计算且P’i作为假设的断点,并且接收用于所述第三序列的所述第五回归;
-在紧接在所述第三序列中的点的最近的时间间隔之前的P”个时间间隔上应用所述第五回归,其中P”<(P-P’),获得相对应的所述数据行的计数的第五预测值,并计算第四误差,所述第四误差表示用于在所述第三序列中的P”个时间间隔中的每个时间间隔的数据行的计数的所述第五预测值与所述实际值之间的差;
-对所有时间间隔P’i的所述保留、所述提供、所述计算和所述应用进行重复,其中i∈[1,Q],Q<P,Q为所述第三序列中的点的选择;
-将最接近所述第三序列中的最近的时间间隔的所述时间间隔P’i保留为用于所述第三序列的最佳断点,并产生低于预定值R的计算出的第四误差;以及
-将用于所述第三序列的最佳断点储存在断点表(305)中。
6.根据权利要求1至3中的任一项所述的方法,还包括在为所述第一数据表格保留所述最佳时间列之后,通过所述表格分析器(301)执行:
-选择所述第一数据表格的除具有时间维度的列以外的列;
-针对所选择的列中的值中的每个值对每时间间隔的数据行进行计数;
-将以下值中的每一者保留为类别:对应于所述值,数据行的总计数超过预定数目S,并且对于所选择的列的时间间隔的至少预定百分比U而言,所述每时间间隔的数据行的计数超过预定数目T;
-为每个类别形成点的序列,每个点具有作为一个维度的所述时间间隔和作为另一维度的用于所述类别的值的每时间间隔的所述数据行的计数;以及
-将用于每个类别的所述序列储存在所述数据表格(302)中。
7.一种用于对数据管道中的异常进行检测的系统,所述系统包括:
-读取器(202),所述读取器被配置为从所述数据管道的节点处的源数据集(201)提取数据表格;
-表格分析器(301),所述表格分析器被配置为:
-从所述读取器(202)接收第一数据表格;
-保留所述第一数据表格中的具有时间维度的列作为候选时间列,并且形成点的第一序列,每个点具有作为一个维度的时间间隔以及作为另一维度的在所述第一数据表格中的每时间间隔的数据行的计数;
-通过从紧接在最近的时间间隔之前的第一数量的时间间隔的所述第一序列预留点来形成M个点的第二序列;
-将所述第二序列提供给被配置为对用于所述第二序列的第一回归进行计算的断点查找器(304);
-接收用于所述第二序列的所述第一回归;
-在所预留的点的时间间隔上应用所述第一回归,获得数据行的相对应的计数的第一预测值,并计算第一误差,所述第一误差表示用于所述预留的点的时间间隔中的每个时间间隔的数据行的计数的所述第一预测值与实际值之间的差;
-在所述第一数据表格中的具有时间维度的列上对所述保留、所述形成、所述提供、所述接收和所述应用进行重复,并将产生最小计算的第一误差的候选列保留为所述第一数据表格的最佳时间列;
-将所述最佳时间列的所述第一序列储存在数据表格(302)中;
-表格汇总器(315),所述表格汇总器被配置为:
-从所述读取器(202)接收以至少一个附加时间间隔更新的第一数据表格以及相应的数据行的计数;
-形成P个点的第三序列,每个点具有作为一个维度的所述时间间隔以及作为另一维度的所更新的所述第一数据表格中的每时间间隔的数据行的计数;
-将所述第三序列储存在所述数据表格(302)中,作为所述第一序列的替代;以及
-异常检测器(311),所述异常检测器被配置为:
-为所述第三序列中的时间间隔的第一选择计算置信区间,所述置信区间的中心是通过从训练器(303)接收的回归所预测的数据行的计数的值;并且
-如果所述第一选择的任何时间间隔的所述数据行的计数的实际值在所述置信区间之外,则引发异常。
8.根据权利要求7所述的系统,其中,所述异常检测器(311)还被配置为通过以下方式计算对所述第三序列中的时间间隔的第一选择的置信区间进行计算:
-从所述数据表格(302)接收所述第三序列;
-将所述第三序列提供给训练器(303);
-从所述训练器(303)接收所述第三序列的第二回归;
-在所述第三序列中的所有时间间隔上应用所述第二回归,并且获得用于所述第三序列中的所述第一选择的时间间隔的相对应的数据行的计数的第二预测值;
-计算第二误差,所述第二误差表示用于所述第一选择的所述时间间隔中的每个时间间隔的数据行的计数的所述第二预测值与所述实际值之间的差;以及
-为所述第三序列中的所述第一选择的每个时间间隔计算置信区间,所述置信区间的中心为所述第二预测值,并且所述置信区间以正负第一因子乘以第二误差为界。
9.根据权利要求8所述的系统,其中,所述异常检测器(311)还被配置为通过以下方式对所述第二误差进行计算:
-形成点的第四序列,每个点具有作为一个维度的时间间隔以及作为另一维度的用于所述第一选择的所述时间间隔中的每个时间间隔的所述数据行的计数的所述第二预测值与所述实际值之间的差的绝对值;
-将所述第四序列提供给所述训练器(303);
-从所述训练器(303)接收用于所述第四序列的第三回归;和
-对于所述第三序列中的所述第一选择的每个时间间隔,将由用于该时间间隔的所述第三回归所预测的值作为所述第二误差来采用。
10.根据权利要求7至9中的任一项所述的系统,其中,所述断点查找器(304)还被配置为通过以下方式来对用于M个点的所述第二序列的第一回归进行计算:
-在所述第二序列中保留所述点中的一个点的时间间隔M’i
-将所述第二序列提供给所述训练器(303)且M’i作为假设的断点;
-通过所述训练器(303)对用于所述第二序列的第四回归进行计算且M’i作为假设的断点,并且接收用于所述第二序列的所述第四回归;
-在紧接在对所述第二序列中的点的最近的时间间隔之前的M”个时间间隔上应用所述第四回归,其中M”<(M-M’),获得所述数据行的相对应的计数的第四预测值,并计算第三误差,所述第三误差表示用于在所述第二序列中的点的M”个时间间隔中的每个时间间隔的数据行的计数的所述第四预测值与所述实际值之间的差;
-对所有时间间隔M’i的所述保留、所述提供、所述计算和所述应用进行重复,其中,i∈[1,N],N<M,N为对所述第二序列中的点的选择;
-将最接近所述第二序列中的最近的时间间隔的所述时间间隔M’i保留为所述第二序列的最佳断点,并产生低于预定值L的计算出的第三误差,并且所对应的第四回归作为提供给所述表格分析器(301)的用于所述第二序列的所述第一回归;以及
-将用于所述第一序列的最佳断点储存在断点表(305)中。
11.根据权利要求7至9中的任一项所述的系统,其中,所述断点查找器(304)还被配置为通过以下方式对用于所更新后的所述第一数据表格的更新后的最佳断点进行计算:
-从所述数据表格(302)接收P个点的所述第三序列;
-将所述点中的一个点的时间间隔P’i保留在所述第三序列中;
-将所述第三序列提供给所述训练器(303)且P’i作为假设的断点;
-通过所述训练器(303)对用于所述第三序列的第五回归进行计算且P’i作为假设的断点,并且接收用于所述第三序列的所述第五回归;
-在紧接在所述第三序列中的点的最近的时间间隔之前的P”个时间间隔上应用所述第五回归,其中P”<(P-P’),获得相对应的所述数据行的计数的第五预测值,并计算第四误差,所述第四误差表示用于在所述第三序列中的点的P”个时间间隔中的每个时间间隔的数据行的计数的所述第五预测值与所述实际值之间的差;
-对所有时间间隔P’i的所述保留、所述提供、所述计算和所述应用进行重复,其中i∈[1,Q],Q<P,Q为所述第三序列中的点的选择;
-将最接近所述第三序列中的最近的时间间隔的所述时间间隔P’i保留为用于所述第三序列的最佳断点,并产生低于预定值R的计算出的第四误差;以及
-将用于所述第三序列的最佳断点储存在断点表(305)中。
12.根据权利要求7至9中的任一项所述的系统,其中,所述表格分析器(301)还被配置为在为所述第一数据表格保留所述最佳时间列之后执行:
-选择所述第一数据表格的除具有时间维度的列以外的列;
-针对所选择的列中的值中的每个值对每时间间隔的数据行进行计数;
-将以下值中的每一者保留为类别:对应于所述值,数据行的总计数超过预定数目S,并且对于所选择的列的时间间隔的至少预定百分比U而言,每时间间隔的数据行的计数超过预定数目T;
-为每个类别形成点的序列,每个点具有作为一个维度的所述时间间隔和作为另一维度的用于所述类别的值的每时间间隔的所述数据行的计数;以及
-将用于每个类别的所述序列储存在所述数据表格(302)中。
CN202110594159.0A 2020-05-29 2021-05-28 对数据管道中的异常进行检测的方法和系统 Active CN113742118B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20315288.9 2020-05-29
EP20315288.9A EP3916556B1 (en) 2020-05-29 2020-05-29 Method and system for detecting anomalies in a data pipeline

Publications (2)

Publication Number Publication Date
CN113742118A CN113742118A (zh) 2021-12-03
CN113742118B true CN113742118B (zh) 2024-04-26

Family

ID=71575319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110594159.0A Active CN113742118B (zh) 2020-05-29 2021-05-28 对数据管道中的异常进行检测的方法和系统

Country Status (6)

Country Link
US (1) US11288260B2 (zh)
EP (1) EP3916556B1 (zh)
CN (1) CN113742118B (zh)
CA (1) CA3117003A1 (zh)
DK (1) DK3916556T3 (zh)
PL (1) PL3916556T3 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626447B (zh) * 2021-10-12 2022-02-22 民航成都信息技术有限公司 一种民航数据管理平台及方法
CN117648232B (zh) * 2023-12-11 2024-05-24 武汉天宝莱信息技术有限公司 一种应用程序数据监控方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915846A (zh) * 2015-06-18 2015-09-16 北京京东尚科信息技术有限公司 一种电子商务时间序列数据的异常检测方法及系统
CN109711440A (zh) * 2018-12-13 2019-05-03 新奥数能科技有限公司 一种数据异常检测方法和装置
CN111080502A (zh) * 2019-12-17 2020-04-28 清华苏州环境创新研究院 一种区域企业数据异常行为的大数据识别方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6597907B1 (en) * 2000-05-05 2003-07-22 Ericsson Inc. Detection of a deadlocked resource condition in a pool of shared resources
AT10073U9 (de) * 2008-01-14 2009-02-15 Avl List Gmbh Verfahren und vorrichtung zur analyse und bewertung von messdaten eines messsystems
US8175843B2 (en) * 2008-11-14 2012-05-08 Boehringer Ingelheim Pharma Gmbh & Co. Kg Computer-implemented methods for evaluating, summarizing and presenting data on stability of drug substances and drug products and software-modified computers for such methods
US8370079B2 (en) * 2008-11-20 2013-02-05 Pacific Biosciences Of California, Inc. Algorithms for sequence determination
US9699205B2 (en) * 2015-08-31 2017-07-04 Splunk Inc. Network security system
US20170364818A1 (en) * 2016-06-17 2017-12-21 Business Objects Software Ltd. Automatic condition monitoring and anomaly detection for predictive maintenance
US10360214B2 (en) * 2017-10-19 2019-07-23 Pure Storage, Inc. Ensuring reproducibility in an artificial intelligence infrastructure
US11403647B2 (en) * 2018-05-10 2022-08-02 Case Western Reserve University Systems and methods for data analytics for virtual energy audits and value capture assessment of buildings
US11042145B2 (en) * 2018-06-13 2021-06-22 Hitachi, Ltd. Automatic health indicator learning using reinforcement learning for predictive maintenance
US11107113B2 (en) * 2018-09-12 2021-08-31 Brandfolder, Inc. Multitrack performance scoring for assets comprising digital media
US11567914B2 (en) * 2018-09-14 2023-01-31 Verint Americas Inc. Framework and method for the automated determination of classes and anomaly detection methods for time series
DE102018133196A1 (de) * 2018-12-20 2020-06-25 Carl Zeiss Microscopy Gmbh Bildbasierte wartungsvorhersage und detektion von fehlbedienungen
US11488010B2 (en) * 2018-12-29 2022-11-01 Northeastern University Intelligent analysis system using magnetic flux leakage data in pipeline inner inspection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915846A (zh) * 2015-06-18 2015-09-16 北京京东尚科信息技术有限公司 一种电子商务时间序列数据的异常检测方法及系统
CN109711440A (zh) * 2018-12-13 2019-05-03 新奥数能科技有限公司 一种数据异常检测方法和装置
CN111080502A (zh) * 2019-12-17 2020-04-28 清华苏州环境创新研究院 一种区域企业数据异常行为的大数据识别方法

Also Published As

Publication number Publication date
US11288260B2 (en) 2022-03-29
CA3117003A1 (en) 2021-11-29
US20210374123A1 (en) 2021-12-02
CN113742118A (zh) 2021-12-03
PL3916556T3 (pl) 2023-07-10
DK3916556T3 (da) 2023-05-30
EP3916556B1 (en) 2023-05-03
EP3916556A1 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
US20230177030A1 (en) Framework for the automated determination of classes and anomaly detection methods for time series
CN106991145B (zh) 一种监测数据的方法及装置
US11409628B2 (en) Systems and methods for robust anomaly detection
US11403164B2 (en) Method and device for determining a performance indicator value for predicting anomalies in a computing infrastructure from values of performance indicators
US10031829B2 (en) Method and system for it resources performance analysis
US11288577B2 (en) Deep long short term memory network for estimation of remaining useful life of the components
CN103390066B (zh) 一种数据库全局性自动化优化预警装置及其处理方法
CN111045894B (zh) 数据库异常检测方法、装置、计算机设备和存储介质
KR101611166B1 (ko) 빅데이터 분석 기반의 위크시그널 도출 시스템 및 그 방법
US9424288B2 (en) Analyzing database cluster behavior by transforming discrete time series measurements
US20110313844A1 (en) Real-time-ready behavioral targeting in a large-scale advertisement system
CN113742118B (zh) 对数据管道中的异常进行检测的方法和系统
EP1983437A1 (en) Determining of data quality in data streams
US11307916B2 (en) Method and device for determining an estimated time before a technical incident in a computing infrastructure from values of performance indicators
US20140365829A1 (en) Operation management apparatus, operation management method, and program
RU2716029C1 (ru) Система мониторинга качества и процессов на базе машинного обучения
US10409817B1 (en) Database system and methods for domain-tailored detection of outliers, patterns, and events in data streams
CN111309539A (zh) 一种异常监测方法、装置和电子设备
US11675643B2 (en) Method and device for determining a technical incident risk value in a computing infrastructure from performance indicator values
CN115659411A (zh) 数据分析的方法和装置
Herraiz et al. Impact of installation counts on perceived quality: A case study on debian
CN116149895A (zh) 大数据集群性能预测方法、装置和计算机设备
CN115858606A (zh) 时序数据的异常检测方法、装置、设备及存储介质
Goosen A system to quantify industrial data quality
Mendoza et al. Machine learning for anomaly detection on VM and host performance metrics

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