利用自动阈值设置在多时间序列数据中实时地检测异常的制作方法

文档序号:6534062阅读:470来源:国知局
利用自动阈值设置在多时间序列数据中实时地检测异常的制作方法
【专利摘要】提供了一种用于在处理环境中检测异常的方法。所述方法包括利用处理器获得在处理环境的处理器的处理间隔中采集的值的序列。所述处理器正规化值的这一第一序列以获得正规化的值的第一序列。通过向所述正规化的值的第一序列应用预测滤波器来产生正规化的值的第二序列。通过将所述正规化的值的第一序列与所述正规化的值的第二序列相比较来从正规化的值产生比较分值。所述方法然后确定所述比较分值相对于从在所述处理间隔中采集的值导出的至少一个其它比较分值是否代表异常。
【专利说明】利用自动阔值设置在多时间序列数据中实时地检测异常
[0001] 相关申请的交叉引用
[0002] 本申请要求2012年6月28日提交的美国专利申请序列号13/535,743 W及2012 年7月26日提交的美国专利申请序列号为13/558,727的权益,其每一个的全部内容通过 引用结合于此。

【技术领域】
[0003] 本技术的一个方面涉及在处理环境中检测异常。

【背景技术】
[0004] 大规模主机基础设施和平台形成很多处理环境,包括用于云计算和企业数据中也 的计算机系统。该些计算机系统的大小、所述系统执行的事务的数量W及处理的大量数据 致使该些系统容易出现异常。异常是在进入的数据中的不期望的改变或进入的数据中的偏 离所期望的行为的模式(pattern)。异常由例如瓶颈、内存泄露、硬件故障等引起。
[0005] 在复杂计算机系统上监视数据W发现异常并且实时地识别异常避免了该样的异 常累积和影响系统的效率W及在最差的情况中导致系统或系统的一部分发生故障。


【发明内容】

[0006] 通过提供用于在处理环境中检测异常的计算机程序产品,克服了现有技术的缺点 并且提供了额外的优点。计算机程序产品例如包括能够由处理电路读取并且存储用于由处 理电路执行W执行下述方法的指令的计算机可读存储介质,所述方法包括;由处理器获取 在处理环境的处理器的处理间隔中采集的值的序列;由处理器正规化所述值的序列W获得 正规化的值的第一序列;通过向所述正规化的值的第一序列应用预测滤波器来产生正规化 的值的第二序列;通过将所述正规化的值的第一序列与所述正规化的值的第二序列相比较 来产生比较分值;W及确定所述比较分值相对于从在所述处理间隔中采集的值中导出的至 少一个其它比较分值是否代表异常。
[0007] 还描述并且在该里可W要求保护涉及本技术的一个或多个方面的计算机系统和 方法。此外,还描述了并且在该里可W要求保护涉及本技术的一个或多个方面的服务。
[0008] 额外的特征通过本发明的技术实现。该里详细描述了本发明的其它实施例和各个 方面,并且本发明的其它实施例和各个方面被视为所要求保护的发明的一部分。

【专利附图】

【附图说明】
[0009] 在说明书末尾处的权利要求中,本发明的一个或多个方面被具体指出并且作为示 例而被明确要求保护。前述W及本发明的一个或多个方面的目标、特征和优点从下述结合 附图进行的详细描述中变得清晰,其中:
[0010] 图1描述了用于执行本发明实施例的一个或多个方面的计算环境的一个示例;
[0011] 图2描述了用于执行包括本发明实施例的一个或多个方面的过程的逻辑的一个 实施例;
[0012] 图3描述了示出了用于确定比较分值是否代表异常的计算的正常值范围的曲线 图;
[0013] 图4描述了根据本发明的一个或多个方面的用于在处理环境中检测异常的方法 的一个实施例的工作流程;
[0014] 图5描述了包含并且使用本发明的一个或多个方面的单处理器计算环境的一个 实施例;W及
[0015] 图6描述了包含本发明的一个或多个方面的计算机程序产品的一个实施例。

【具体实施方式】
[0016] 本技术代表了对先前的用于异常检测的系统和方法的改进,因为本技术实时地检 测异常并且不使用诸如预先建立的预测模型和/或训练数据的基础数据。目前的异常检测 解决方案在它们能够检测出异常之前需要基础数据。一些检测解决方案需要在该计算机系 统内实现定义什么构成异常的模型。其它检测解决方案需要"训练数据,"即教导系统数据 中的什么特性构成异常的数据。本发明的方面的自适应特性允许其开始实时地检测异常而 不需要基础数据。
[0017] 图1描述了本技术的实施例的技术架构100。在该实施例中,计算机系统110(可 W包括云和/或企业系统)正在被通过网络连接131连接到计算机系统110的服务器120 监控。该网络连接131包括但不限于无线和/或有线连接。异常检测软件正在被服务器 120上的一个或多个处理器(未画出)执行。在本技术的进一步实施例中,该异常检测软件 在计算机系统110自身的资源上被执行。在本技术的进一步实施例中,该软件的执行分布 在计算机系统110外部和/或内部的更多资源之一上。在该实施例中,服务器中的至少一 个传感器130接收来自计算机系统110中的资源的时间序列中的数据。在计算机系统110 是云或企业计算系统的实施例中,至少一个传感器130接收多个时间序列数据,因为该数 据是从多于一个资源接收的。在进一步的实施例中,一个或多个传感器130位于计算机系 统110内部和/或外部。
[0018] 参考图2,提供了本技术的异常检测系统的实施例的模块的图200。在该实施例 中,采用一系列模块W在处理环境中确定是否存在异常。本技术评估在计算机系统中的时 间序列中的给定数据是否包含异常。该模块包括但不限于;1)正规化(normalization)模 块210 ;2)周期性(seasonal)调节模块220 ;3)多变量变换模块230 ;4)自适应预测滤波 器240 ;5)分值计算模块250 ;6)分布间隔模块260 ; W及7)分类模块270。该些模块一起 执行自适应逻辑W判定在序列(时间序列)中的数据是否包含异常。通过在时间序列中建 立和调整关键性能指标(KPI),本技术最终确定在时间序列中的数据是否表示系统异常。
[0019] 本技术最终评估比较分值,即代表在给定时刻处的期望数据值和实际数据值之间 的差的分值。通过将该比较分值与在相似的时间段期间在计算机系统中计算出的比较分值 比较,本技术确定在该比较分值代表的时间期间是否出现系统异常。
[0020] 将单独的任务分到图2的实施例中的模块中是过程分布的非限制性示例,并且不 表示计算机程序代码的结构或者该代码在哪里执行。本领域的技术人员会认识到,计算机 程序代码的功能可W在一个或多个物理模块中实施并且在一个或多个处理器上、在一个或 多个计算资源中执行。为说明的目的提供图2 W指明本方法中的由特别配置的计算机执行 的和/或在计算机程序产品中实施的不同活动。
[0021] 参考图2,正规化模块210被用于逐步地正规化在预定量的时间内或连续地W时 间序列从计算机系统110中的多个源提供的事务数据。时间序列是通常在W均匀的时间间 隔隔开的连续的时刻处测量出的数据点的序列。
[0022] 正规化模块210实时地监控由计算机系统处理的时间序列中的数据W建立平均 值W及相对于平均值的标准差,即,关键性能指标(KPI)D每个KPI代表在给定时刻(t)的 时间序列中的数据的特性。正规化模块210激活的时间越长,平均值和标准差就变得越准 确。
[0023] 根据本发明的方面,不使用训练数据或数据模型来识别异常。替代地,正规化模 块210 W及该系统的其它模块是自适应的,自适应是指该些模块根据可用的资源改变它们 的行为。因此,当接收到的数据中的模式(pattern)改变时,正规化模块210自适应。当数 据随着时间积累时,系统的准确性提高。具体地,当程序启动时被初始地视为异常的内容将 在之后被显示为不是异常的偏差。正规化模块210的输出是正规化的KPI。每个正规化的 KPI代表与在给定时刻(t)由传感器130接收到的时间序列中的数据有关的值。
[0024] 在图1的实施例中,一旦数据变得可W从至少一个传感器130获得,正规化处理就 在计算机系统110中开始。时间序列由Xt= (Xt(I)... Xt (n))表示,其中t随时间不确定 地增加;n的大小表示在给定时刻被监控的时间(time)的总数。当每个传感器从系统的各 种部分采集各种数据时,X的分量是不相同的。在本技术的实施例中,数据的时间序列利用 下述等式1被正规化为KPI。每个进入样本Xt被实时地正规化如下:
[0025] Zt =公(Xt-似 (1)
[0026] 在时刻t的平均值Ut和协方差矩阵E t (假设是对角的)也被逐步地估计为:
[0027] A=A-I + 义' :、 (2 )
[0028] 及=古L-I +。峡'(r'-户'')产-心(3)
[0029] 其中"Diag"指的是对角算符(提取矩阵对角线的算符)并且T是转置算符。在 本技术的实施例中,所期望的是,停止在某个指定的时间段的平均值和协方差的逐步估计 W避免在异常区域中的正规化。
[0030] 返回图2,描述了周期性调节模块220。周期性调节模块220当与在不同时刻接收 到的时间序列相比时周期性数据模式(pattern)影响所述时间序列中的数据的时候,帮助 异常检测。在一些实施例中,用户将周期性的数据模式输入进系统中,使得可W从时间序列 数据和KPI提取可归因于该些模式的数据中的任何异常。在周期性因素不影响数据的本技 术的实施例中,该模块被排除和/或绕过。
[0031] 将周期性的数据模式输入进系统中潜在地消除了一些假异常结果。例如,尽管在 给定系统中的100个事务在星期日的上午两点可能是正常的,但是该个低的数量可能在星 期一的下午两点指示问题。如果被输入,代表该种情况的周期性数据会消除当在星期日早 上处理的事务的数量例如远少于星期一下午的预期时的假异常结果。因此,在时间序列数 据根据周期性使用模式大幅度变化的计算机系统中,周期性调节模块220是有用的,因为 在给定时刻可能被识别为异常数据模式的内容可能由于周期性因素而对于该时刻实际上 是正常的。因此,通过包含该模块减少了假异常结果。消除周期性的影响提高了数据的准 确性。
[0032] 连同周期性因素一起,另一个能够影响KPI值的因素是产生了所述时间序列数 据的计算机系统110中的资源。KPI的实际值可能是令人误解的,因为计算资源的能力 (power)和特征在诸如云或者企业计算环境的计算机系统110上变化。因此,为消除该些外 部因素的影响,进一步通过图2的多变量变换模块230中的多变量变换调节KPI。
[0033] 多变量变换模块2 30通过应用变换如下所示地将每个KPI转换为多变量 KPI (mKPI)。该变换将由正规化模块210计算的每个KPI移动到更能够进行异常追踪的新 的空间。多变量变换模块230通过对于时间序列中的每个时刻将原来的度量(metric)变 换为mKPI来减小KPI的实际维度(dimension)。
[0034] 因此,代替使用作为对在从中产生所述时间序列数据的资源的空间中的该时间序 列数据的观察(view)的KPI,一旦KPI被转换为mKPI,则该时间序列数据在作为整体的计 算机系统110的上下文中被观察和理解。在该空间中,来自给定时间序列的数据的移动和 模式更加容易明确,而无论该数据源自的计算机系统110中的资源是什么。
[00巧]在资源之间没有规格(specification)矛盾的计算机系统中,该模块所寻求消除 的外部因素不太可能出现。因此,不具有该模块的本技术的实施例可W在处理环境中用信 号通知异常。
[003引从KPI导出mKPI的技术包括但不限于离散余弦变换值讯、离散小波变换(DWT)、 多维到多维映射和/或诸如主分量分析(PCA)的统计估计变换。类似于KPI,mKPI也代表 在给定时刻(t)处的时间序列中的数据的特性。
[0037] 在多变量变换模块230使用DCT W在时间序列中的每个时刻导出mKPI值的本技 术的实施例中,该变换产生W下的值。在该示例中,Zt是从等式1导出的正规化的值,yt代 表变换后的值。
[003引 Yt = DCT (Zt) (4)
[0039] 在图2的实施例中,一旦导出mKPI,该多变量变换就被传递给自适应预测滤波器 模块240。该模块使用预测滤波器,该预测滤波器也被称为自适应预测滤波器,因为当该滤 波器评估来自给定的计算机系统的更多的数据时,智能提高。
[0040] 通过向mKPI应用逻辑推导,自适应预测滤波器模块240取得给定时刻的mKPI,并 且预测时间序列中的下一个时刻处的下一个mKPI。给定第一个时刻(t)的第一个mKPI,自 适应预测滤波器模块240预测第二个时刻(例如,t巧分钟)处的mKPI。在第二个时刻处 的预测的mKPI与从多变量变换模块230接收的在该第二时刻处的实际mKPI相比较晚。对 于每个t和相应的mKPI,自适应预测滤波器模块240计算在下一个时刻(t+x)处的预测的 mKPI。如果在给定的时间序列中有十个时刻,并且因此有10个mKPI值,自适应预测滤波器 模块240对于该10个mKPI值的每一个预测下一个值。在本技术的一些实施例中,预测滤 波器模块240还估计每个预测的值周围的方差。
[0041] 对于输入到自适应预测滤波器的每个数据点,滤波器可W预测在较晚的时间点处 的数据。例如,如果十个值从上午10 :〇〇起被输入进预测滤波器,将产生十个结果,即用于 较晚的时刻(例如上午10 ;〇5)的十个预测的值。
[0042] 在本技术的各种实施例中的自适应预测滤波器模块240中所使用的滤波器包括 但不限于卡尔曼滤波器、衰减多项式存储滤波器(Faded-Polynomial memoir filter)、和/ 或自回归滤波器(AR)、向前一步预测器(one-step址ead predictor)及其变形。滤波器是 递归的并且不在批量模式化atch mode)下操作。替代地,每个滤波器使用来自先前预测的 mKPI的结果W及新的mKPI预测下一个mKPI。与正规化模块210 -样,自适应预测滤波器 模块240的预测随着提供更多数据而改善。
[0043] 本技术的实施例在自适应预测滤波器模块240中使用衰减存储多项式滤波器 (Fading-Memory Polynomial Filter)(FMP)。
[0044] 等式I和4中导出的变量在下述等式中重复。在该实施例中,在FMP中,来自等式 4的变换后的值yt代表在时刻t处的多变量向量yt的分量之一,并且G t是对分量yt在时 刻t处测量的预测误差的估计值。
[0045] f?,-1 =_),,-1-义_1 5 }
[004引其中欠_1是在观察数据直到时刻t - 2之后,在时刻t - 1处的预测的样本。变量 少',表示夫的估计的一阶导数并且0是有效定义FMP滤波器的时间常数的参数。在时刻t-1 处的期望的样本乂估计如下: -A] 「1 1]「夫「2(1-所1
[0047] 。'二 n 1+ "化,€(-1 ( 6 ) U」L〇 L(i-巧」
[0048] 该滤波器产生期望值A的估计值W及在该期望值附近的方差爷的估计值。
[0049] 在图2的实施例中,一旦对于具有给定数量的时刻的时间序列了解了在每个时刻 (t)处的预测的mKPI与在该t处的实际mKPI之间的方差,就通过分值计算模块250计算出 比较分值。该比较分值(也被称为检测分值)是由分值计算模块250根据余差计算的,所 述余差是从来自自适应预测滤波器模块240的预测的值和实际的值之间的差在每个mKPI 的基础上导出的。本技术的各种实施例利用各种方法计算该些分值,所述方法包括但不限 于求余差的平均值、找出余差的中位数、求出余差的几何平均和/或计算任何或所有该些 列举的方法的加权值。
[0050] 本技术的分值计算模块250的实施例使用下述计算来计算比较分值。通常根据X2 统计值(statistics)产生比较分值,该X2统计值定义为:
[0051] -2 = 11,謙 (7)
[0052] 上述等式中的变量从等式1-6中导出和参考(reference)。在本技术的进一步实 施例中,使用捕捉在各种维度上的时间序列的行为的变化的计算来计算该比较分值。下面 是使得能够捕捉在各种维度上的行为的变化的维度鲁棒统计:
[0053] 2_厶。飾) (O) -IL'.
[0054] (9) 打(打+ .1) 一'-I 巧(/)
[0055] 时间序列中的给定时刻处的mKPI的比较分值并不单独地指示相应数据是否代表 系统异常。返回图2,在比较分值被计算后,该比较分值被解释W确定该个定量的分值在给 定计算机系统110中是否代表数据异常。为辅助该解释,图2的实施例采用分布间隔模块 260。所述分布间隔模块260在一时间段上累积比较分值,并且确定什么范围的值构成用于 在预定的时间段中产生的比较分值的正常值区域,即,代表正常处理活动的值范围。
[0056] 在本技术的实施例中,在被分配后,分布间隔模块260将分值分区段存储 化ucket)在分布间隔模块260可访问的存储资源中。在相同的区段中组合的分值是在预定 时间间隔上被采集的分值。在本技术的实施例中,该区段的大小,或者更确切地说,所述区 段将采集比较分值的时间间隔是可W由用户配置的。在本技术的另一个实施例中,区段大 小基于该计算机系统的错误容限。
[0057] 该分布间隔模块260的区段在预定时间间隔的期间上采集分值。例如,在本技术 的实施例中,每个区段构成计算机系统启动并运行的半个小时的时间。在预定的时间间隔 上采集分值之后,分布间隔模块260实时地计算所述分值的第一四分位数、第二四分位数、 第H四分位数和中位数,从而通过随时间的数据采集而在分值中从而在时间序列数据中确 定什么是"正常的"和什么是"异常的"。但是,因为计算是实时发生的,所W永远也没有正 常值范围不存在的时刻,该范围只是随着更多的数据在预定时间区段期间累积而改变和自 适应。当数据进入时,该模块连续地计算第一上异常值(outlier)、下异常值、和四分位数间 间隔、四分位数间范围(IQR)、第一和第H四分位数之间的距离。在本技术的实施例中,正常 值范围是在最高异常值减去与平均值的标准差和最低异常值加上与平均值的标准差之间 的区域。
[0058] 在本技术的实施例中,当进入的样本落在正常值范围之外时,分类模块270返回 指示发生异常的结果,所述正常值范围由在分布间隔模块260中计算的异常值定义。该范 围的界限可W被称为阔值。例如,当比较分值落在最高第一异常值之上、最低第一异常值之 下、和/或该分值与平均值的距离高于标准差的一点五(1. 5)倍时,比较分值可W被标记为 指示异常。利用分布间隔模块260建立的该些阔值,分类模块270确定是否存在异常。
[0059] 图3是在给定间隔中绘制并且与确定的正常值范围的上阔值比较的比较分值的 图形表示。如图3所表示,绘制的比较分值是通过将序列中的每个时刻位置处的实际mKPI 与在序列中的相同位置处的预测的mKPI比较而导出的。当超过正常值范围的阔值时,对应 于该比较分值的序列中的点处的数据构成异常。
[0060] 返回图2,在本技术的实施例中,分类模块270返回值"1" W代表在数据中发现的 异常W及返回值"0" W代表在数据中没有发现异常。
[0061] 图4是本技术的实施例的工作流程400。该工作流程400包括从数据中移除周期 性因素W及使用多变量变换,如之前所述的,移除周期性因素W及使用多变量变换是取决 于所监控的处理环境的特性而使用的。
[0062] 包括了工作流程400 W强调包括数据的变换W及对于特定数据是否构成异常的 确定的活动并不限制于特定模块。图2是可能的程序模型的示例。工作流程400描述了在 非模块化的模型中的本技术的方面的逻辑的实施例。
[0063] 参考图4,首先,一个或多个传感器130接收时间序列数据(S410)。正规化该数据 W对于所述序列中的给定时间点处的数据建立单独的KPI (S420)。将周期性模式从KPI中 移除(S430)。一旦移除周期性数据,KPI经历多变量变换,使得数据能够在作为整体的系统 的上下文中被看到,而不是在产生所述数据的计算机系统110的单独元件的上下文中被看 至IJ。为了将KPI移动到新的空间,将KPI转换为mKPI (S440)。
[0064] 利用自适应预测滤波器对给定时刻处的mKPI滤波W预测时间序列中的下一个时 刻处的mKPI (S450)。自适应滤波器用于对于每个数据点预测下一个mKPI。将用于一时刻的 实际mKPI与自适应滤波器对于相同的时刻预测的时刻比较W确定比较分值(S460)。在预 定义的时间段上累积比较分值并且在该累积期间,所述分值被分类为属于第一四分位数、 第二四分位数和第H四分位数。计算中位数、第一上异常值、下异常值、和四分位数间的间 隔(S470)。定义正常区域的条件(S480)。当分值累积进行时,随着所述时间段的过去而利 用更多数据建立所述区域的边界和界限。
[0065] 当分值被累积并且用于建立阔值时,进入的比较分值被分类为正常或者异常。系 统的准确性随着累积更多mKPI而提高,但是实时地做出所述确定(determination)。将每 个比较分值与正常区域比较(S490)并且如有所述分值落入该区域中,代表该数据为正常 的结果被返回。如果所述分值落在该区域之外,代表该数据包含异常的结果被返回。
[0066] 图5描述了作为本技术的某些实施例的技术架构的一部分的计算机系统110和/ 或服务器120中的资源500的框图。资源500可W包括电路502,所述电路502在某些实 施例中可W包括微处理器504。计算机系统500还可W包括存储器506 (如,易失性存储设 备)和胆存器508。胆存器508可W包括非易失性存储设备(如,EEPR0M、ROM、PROM、RAM、 DRAM、SRAM、闪存、固件、可编程逻辑等)、磁盘驱动器、光盘驱动器、磁带驱动器等。胆存器 508可W包括内部胆存设备、附加的胆存设备和/或网络可访问的胆存设备。系统500可W 包括包含代码512的程序逻辑510,所述代码512可W被加载进存储器506并由微处理器 504或电路502执行。
[0067] 在某些实施例中,程序逻辑510包括可W被存储在胆存器508或存储器506中的 代码512。在某些其它实施例中,程序逻辑510可W在电路502中实现。因此,虽然图5将 程序逻辑510与其它元件相分离地示出,程序逻辑510可W在存储器506和/或电路502 中实现。
[0068] 使用资源500的处理资源执行软件、计算机可读的代码或指令并不限制该代码可 被存储的位置。参考图6,在一个示例中,计算机程序产品600包括例如一个或多个非瞬时 计算机可读存储介质602, W在其上存储计算机可读的程序代码部件或逻辑604 W提供和 促进本技术的一个或多个方面。
[0069] 所属【技术领域】的技术人员知道,本发明的各个方面可W实现为系统、方法或计算 机程序产品。因此,本发明的各个方面可W具体实现为W下形式,即;完全的硬件实施方式、 完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方 式,该里可W统称为"电路"、"模块"或"系统"。此外,在一些实施例中,本发明的各个方面 还可W实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介 质中包含计算机可读的程序代码。
[0070] 可W采用一个或多个计算机可读介质的任意组合。计算机可读介质可W是计算机 可读信号介质或者计算机可读存储介质。计算机可读的信号介质可W包括在基带中或者作 为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。该种传播的数据信号 可W采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计 算机可读的信号介质还可W是计算机可读存储介质W外的任何计算机可读介质,该计算机 可读介质可W发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合 使用的程序。
[0071] 计算机可读存储介质例如可W是一但不限于一电、磁、光、电磁、红外线、或半 导体的系统、装置或器件,或者任意W上的组合。计算机可读存储介质的更具体的例子(非 穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储 器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器巧PROM或闪存)、光纤、便携式紧凑 盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件 中,计算机可读存储介质可W是任何包含或存储程序的有形介质,该程序可W被指令执行 系统、装置或者器件使用或者与其结合使用。
[0072] 可W采用一个或多个计算机可读介质的任意组合。计算机可读介质可W是计算机 可读信号介质或者计算机可读存储介质。计算机可读的信号介质可W包括在基带中或者作 为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。该种传播的数据信号 可W采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计 算机可读的信号介质还可W是计算机可读存储介质W外的任何计算机可读介质,该计算机 可读介质可W发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合 使用的程序。
[0073] 计算机可读存储介质例如可W是一但不限于一电、磁、光、电磁、红外线、或半 导体的系统、装置或器件,或者任意W上的组合。计算机可读存储介质的更具体的例子(非 穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储 器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器巧PROM或闪存)、光纤、便携式紧凑 盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件 中,计算机可读存储介质可W是任何包含或存储程序的有形介质,该程序可W被指令执行 系统、装置或者器件使用或者与其结合使用。
[0074] 计算机可读介质上包含的程序代码可W用任何适当的介质传输,包括一但不限 于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0075] 可W W-种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算 机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如化va、Smallta化、C++ 等,还包括常规的过程式程序设计语言一诸如"C"语言、汇编语言或类似的程序设计语言。 程序代码可W完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的 软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服 务器上执行。在涉及远程计算机的情形中,远程计算机可W通过任意种类的网络一包括 局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可W连接到外部计算机(例如利 用因特网服务提供商来通过因特网连接)。
[0076] 下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图 和/或框图描述本发明。应当理解,流程图和/或框图的每个方框W及流程图和/或框图 中各方框的组合,都可W由计算机程序指令实现。该些计算机程序指令可W提供给通用计 算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得该些计 算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程 图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0077] 也可W把该些计算机程序指令存储在计算机可读介质中,该些指令使得计算机、 其它可编程数据处理装置、或其他设备W特定方式工作,从而,存储在计算机可读介质中的 指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令 的制造品(article of manufacture)。
[0078] 也可W把计算机程序指令加载到计算机、其它可编程数据处理装置或其它设备 上,W使得在计算机、其它可编程装置或其它设备上实行一系列操作步骤W产生计算机实 现的处理,使得在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图 的一个或多个块中指明的功能/动作的处理。
[0079] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在该点上,流程图或框图中的每个方框可W 代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个 用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所 标注的功能也可W W不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可W 基本并行地执行,它们有时也可W按相反的顺序执行,该依所涉及的功能而定。也要注意的 是,框图和/或流程图中的每个方框、W及框图和/或流程图中的方框的组合,可W用执行 规定的功能或动作的专用的基于硬件的系统来实现,或者可W用专用硬件与计算机指令的 组合来实现。
[0080] 除了上述内容之外,本技术的一个或多个方面可W由供应客户环境管理的服务提 供商提供、供应、部署、管理、服务等。例如,服务提供商可W为一个或多个客户创建、维护、 支持等执行本技术的一个或多个方面的计算机代码和/或计算机基础设施。作为回报,例 女口,服务提供商可W在订购和/或费用约定下收到来自客户的报酬。附加地或者可替代地, 服务提供商可W收到来自向一个或多个第H方的广告内容销售的报酬。
[0081] 在本技术的一个方面中,可W部署用于执行本技术的一个或多个方面的应用。作 为一个示例,应用的部署包括提供可操作W执行本技术的一个或多个方面的计算机基础设 施。
[0082] 作为本技术的另一方面,可W部署计算基础设施,包括将计算机可读代码集成进 计算系统中,其中与计算系统结合的该代码能够执行本技术的一个或多个方面。
[0083] 作为本技术的再一方面,可W提供用于集成计算基础设施的处理,包括将计算机 可读代码集成进计算机系统。计算机系统包括计算机可读介质,其中该计算机介质包括本 技术的一个或多个方面。与计算机系统结合的该代码能够执行本技术的一个或多个方面。
[0084] 此外,其它类型的计算环境可W从本技术的一个或多个方面受益。作为示例,环境 可W包括仿真器(如,软件或者其它仿真机构),其中(例如在具有处理器和存储器的原生 计算机系统上)仿真特定的架构(包括例如指令执行、架构化功能(诸如地址转换)和架构 化寄存器)或者其子集。在该样的环境中,仿真器的一个或多个仿真功能可W实现本技术 的一个或多个方面,即使执行该仿真器的计算机可能具有与所仿真的能力不同的架构。作 为一个示例,在仿真模式中,正在被仿真的特定的指令或操作被解码,并且建立适当的仿真 功能W实现该单独的指令或操作。
[0085] 在仿真环境中,主计算机包括例如;存储指令和数据的存储器;从存储器读取指 令并且可选地为读取的指令提供本地缓冲的指令读取单元;接收读取的指令并确定已经读 取的指令的类型的指令解码单元;W及执行指令的指令执行单元。执行可W包括将数据从 存储器加载进寄存器中;将数据从寄存器存储回存储器;或者执行解码单元确定的某种类 型的算术或逻辑运算。在一个示例中,每个单元用软件实现。比如,由单元执行的操作被实 现为仿真软件中的一个或多个子例程。
[0086] 此外,适用于存储和/或执行程序代码的数据处理系统是可用的,所述数据处理 系统包括直接或通过系统总线间接禪合到存储器元件的至少一个处理器。存储器元件包括 例如在实际执行程序代码时所采用的本地存储器、大容量胆存器化Ulk storage) W及提供 至少某个程序代码的临时胆存W便减少在执行期间必须从大容量胆存器取回代码的次数 的高速缓冲存储器(cache memoir)。
[0087] 输入/输出或者I/O设备(包括但不限于键盘、显示器、指示设备、DASD、磁带、CD、 DVD、拇指驱动器和其它存储介质等)可W直接或者通过中间的I/O控制器禪合到系统。网 络适配器也可W禪合到系统W使得数据处理系统能够变为通过中间的私有或公共网络禪 合到其它数据处理系统或远程的打印机或胆存设备。调制解调器、电缆调制解调器和W太 网卡仅是可用的类型的网络适配器的几种。
[0088] 该里所用的术语仅是为了描述特定的实施例的目的并且不意欲限制本发明。如该 里所用的,除非上下文中明确地指出其它形式,否则单数形式的"一(a)"、" 一个(an)"和 "该(the)"意欲也包括复数形式。还应理解的是,术语"包括"和/或"包含"当在本说明书 中使用时指明所述的特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或多个 其它特征、整数、步骤、操作、元件、部件和/或它们的组的存在或增加。
[0089] 所附权利要求中的所有部件或步骤加功能的元素(如果有的话)的对应结构、材 料、动作和等同物意欲包括用于与明确要求保护的其他要求保护的元素相结合而执行所述 功能的任何结构、材料或动作。为了说明和描述的目的呈现了对本技术的描述,但是对本技 术的描述无意是穷举性的或限于所公开的形式的发明。对于本领域普通技术人员来说,在 不背离本发明的范围和精神的情况下,很多修改和变化都将是显而易见的。选择和描述所 述实施例,W便最好地解释本发明的原理和实际应用,并且使得其他本领域普通技术人员 能够对于具有适合于所想到的特定用途的各种修改的各种实施例理解本发明。
【权利要求】
1. 一种计算机程序产品,用于在处理环境中检测异常,该计算机程序产品包括: 计算机可读存储介质,可由处理电路读取并且存储用于由处理电路执行以执行方法的 指令,所述方法包括: 由处理器获得在处理环境的处理器的处理间隔中采集的值的序列; 由处理器正规化所述值的序列以获得正规化的值的第一序列; 通过向所述正规化的值的第一序列应用预测滤波器来产生正规化的值的第二序列; 通过将所述正规化的值的第一序列与所述正规化的值的第二序列相比较来产生比较 分值;以及 确定所述比较分值相对于从在所述处理间隔中采集的值导出的至少一个其它比较分 值是否代表异常。
2. 根据权利要求1所述的计算机程序产品,其中所述正规化的值的第一序列和所述正 规化的值的第二序列是按时间排序的,并且在所述正规化的值的第二序列中的第一位置具 有与在所述正规化的值的第一序列中的第二位置相同的时刻,并且所述第一位置领先所述 第二位置一个位置,并且其中所述产生比较分值包括: 将来自所述正规化的值的第一序列的具有给定时刻位置的至少一个值与来自所述正 规化的值的第二序列的具有给定时间位置的至少一个其它值相比较。
3. 根据权利要求1所述的计算机程序产品,其中所述确定还包括: 将四分位数间估计器应用到所述比较分值以及所述至少一个其它比较分值;以及 使用来自四分位数间估计器的结果,建立代表正常处理活动的值范围,其中,所述至少 一个其它比较分值位于该值范围内。
4. 根据权利要求1所述的计算机程序产品,其中所述比较分值包括以下之一: 所述第一正规化序列和所述第二正规化序列之间的差的平均值、所述第一正规化序列 和所述第二正规化序列之间的差的中位数、所述第一正规化序列和所述第二正规化序列之 间的几何平均值、所述第一正规化序列和所述第二正规化序列之间的加权平均值。
5. 根据权利要求1、2、3或4所述的计算机程序产品,其中所述方法还包括: 将多变量变换应用到所述正规化的值的第一序列以移除特定于所述处理环境的不需 要的特性,其中所述应用将所述正规化的值的第一序列标准化以应用所述预测滤波器。
6. 根据权利要求5所述的计算机程序产品,其中所述多变量变换利用以下之一: 离散余弦变换、离散小波变换、主分量分析的统计估计变换、多维到多维映射。
7. 根据权利要求1、2、3或4所述的计算机程序产品,其中所述预测滤波器包括以下之 卡尔曼滤波器、衰减多项式存储滤波器、自回归滤波器、向前一步预测器。
8. 根据权利要求1、2、3或4所述的计算机程序产品,其中所述处理间隔是可配置的。
9. 一种用于在处理环境中检测异常的计算机系统,所述计算机系统包括: 存储器;以及 与存储器通信的处理器,其中所述计算机系统被配置为执行方法,所述方法包括: 由处理器获得在处理环境的处理器的处理间隔中采集的值的序列; 由处理器正规化所述值的序列以获得正规化的值的第一序列; 通过向所述正规化的值的第一序列应用预测滤波器来产生正规化的值的第二序列; 通过将所述正规化的值的第一序列与所述正规化的值的第二序列相比较来产生比较 分值;以及 确定所述比较分值相对于从在所述处理间隔中采集的值导出的至少一个其它比较分 值是否代表异常。
10. 根据权利要求9所述的计算机系统,其中所述正规化的值的第一序列和所述正规 化的值的第二序列是按时间排序的,并且在所述正规化的值的第二序列中的第一位置具有 与在所述正规化的值的第一序列中的第二位置相同的时刻,并且所述第一位置领先所述第 二位置一个位置,并且其中所述产生比较分值包括: 将来自所述正规化的值的第一序列的具有给定时刻位置的至少一个值与来自所述正 规化的值的第二序列的具有给定时间位置的至少一个其它值相比较。
11. 根据权利要求9所述的计算机系统,其中所述确定还包括: 将四分位数间估计器应用到所述比较分值以及所述至少一个其它比较分值;以及 使用来自四分位数间估计器的结果,建立代表正常处理活动的值范围,其中,所述至少 一个其它比较分值位于该值范围内。
12. 根据权利要求9所述的计算机系统,其中所述比较分值包括以下之一: 所述第一正规化序列和所述第二正规化序列之间的差的平均值、所述第一正规化序列 和所述第二正规化序列之间的差的中位数、所述第一正规化序列和所述第二正规化序列之 间的几何平均值、所述第一正规化序列和所述第二正规化序列之间的加权平均值。
13. 根据权利要求9、10、11或12所述的计算机系统,其中所述方法还包括: 将多变量变换应用到所述正规化的值的第一序列以移除特定于所述处理环境的不需 要的特性,其中所述应用将所述正规化的值的第一序列标准化以应用所述预测滤波器。
14. 根据权利要求9、10、11或12所述的计算机系统,其中所述预测滤波器包括以下之 卡尔曼滤波器、衰减多项式存储滤波器、自回归滤波器、向前一步预测器。
15. 根据权利要求9、10、11或12所述的计算机系统,其中所述处理间隔是可配置的。
16. 根据权利要求13所述的计算机系统,其中所述多变量变换利用以下之一: 离散余弦变换、离散小波变换、主分量分析的统计估计变换、多维到多维映射。
【文档编号】G06F11/00GK104350471SQ201380027836
【公开日】2015年2月11日 申请日期:2013年6月11日 优先权日:2012年6月28日
【发明者】A.E.比姆 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1