用于云监控的异常检测转让专利

申请号 : CN201280075098.6

文献号 : CN104520806B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : H·梁S·陈

申请人 : 英派尔科技开发有限公司

摘要 :

提供了利用稀疏度量在云环境中进行异常检测的技术。在一些示例中,云计量数据可被采集且处理到词典库中。然后,利用l1范数最小化根据词典库来计算测试样本的线性变换系数。随后可以通过线性变换系数来计算稀疏度量。如果稀疏度量不超过预定阈值,则可将测试样本判定为异常。

权利要求 :

1.一种用于在云监控中检测异常的方法,所述方法包括:从与基于云的实体的操作相关联的多个计量采集训练样本;

由所述训练样本来形成词典;

利用所述词典来确定对于测试样本的线性变换系数;

确定对于所述测试样本的所述线性变换系数的稀疏度量;以及响应于确定所述稀疏度量在预定阈值以下,将所述测试样本分类为异常。

2.如权利要求1所述的方法,还包括:响应于确定所述稀疏度量在所述预定阈值以上,将所述测试样本分类为正常模式。

3.如权利要求1所述的方法,还包括:基于最小化所述测试样本与所述词典之间的欧几里得距离以及同时最小化所述线性变换系数的l1范数来确定所述线性变换系数。

4.如权利要求1所述的方法,还包括:在计算所述线性变换系数之前,预处理所述测试样本。

5.如权利要求4所述的方法,其中所述预处理包括:通过使样本值除以当前时间点的同一类型的值的均值来规范化所述样本值;

通过将规范化的样本值散列于多个箱中的一个之中来进行数据分箱;以及基于分箱后的样本值来构建计量直方图。

6.如权利要求5所述的方法,其中所述线性变换系数是根据所述计量直方图来计算的。

7.如权利要求6所述的方法,其中数据分箱包括:预先定义值范围[0,r];

将所述值范围划分成索引为从0到B-2的B-1个相等大小的箱;以及定义用于捕获比r大的值的索引为B-1的附加箱,其中B和r是用统计法预先定义的、可配置参数。

8.如权利要求7所述的方法,其中所述计量直方图的x轴表示箱索引,所述计量直方图的y轴表示单个箱索引的总样本值的百分比。

9.如权利要求8所述的方法,其中每个计量直方图是一个向量,其分量是每个箱索引处的百分比值。

10.如权利要求9所述的方法,还包括:通过堆叠多个计量直方图向量来形成所述词典。

11.一种配置为在云监控中检测异常的基于云的数据中心,所述基于云的数据中心包括:多个虚拟机,其可操作以便在一个或多个物理机上执行;以及数据中心控制器,其配置为:

从与所述数据中心的操作相关联的多个计量来采集训练样本;

由所述训练样本来形成词典;

利用所述词典来确定对于测试样本的线性变换系数;

确定对于所述测试样本的所述线性变换系数的稀疏度量;以及响应于确定所述稀疏度量在预定阈值以下,将所述测试样本分类为异常;以及响应于确定所述稀疏度量在所述预定阈值以上,将所述测试样本分类为正常模式。

12.根据权利要求11所述的数据中心,其中所述数据中心控制器还配置为:采用缓冲器来维护所述词典。

13.根据权利要求12所述的数据中心,其中在监控过程中所述缓冲器逐一滑动计量直方图。

14.根据权利要求11所述的数据中心,其中所述数据中心控制器还配置为:通过计算稀疏集中索引(SCI)来评估所述线性变换系数的稀疏度量如下:其中δi(A)返回与第i个词典元素对应的ai=[ai,1,ai,2,…ai,N]内的非零系数的数目,δ(A)返回所述测试样本的线性变换系数向量A内的非零系数的总数。

15.根据权利要求14所述的数据中心,其中所述数据中心控制器还配置为:将所述SCI与所述预定阈值进行比较。

16.根据权利要求15所述的数据中心,其中所述预定阈值是针对具体应用的和用户定义的之一。

17.根据权利要求11所述的数据中心,其中所述词典是过完备词典。

18.根据权利要求11所述的数据中心,其中所述多个计量包括操作系统计量、应用计量和平台计量中的一个或多个。

19.根据权利要求11所述的数据中心,其中所述数据中心控制器还配置为:根据正常模式的训练样本来全局地计算系数以利用所述正常模式的联合分布来验证所述测试样本是否正常。

20.一种用于在云监控中检测异常装置,包括:从与基于云的实体的操作相关联的多个计量来采集训练样本的装置;

由所述训练样本形成词典的装置;

利用所述词典来确定对于测试样本的线性变换系数的装置;

确定对于所述测试样本的所述线性变换系数的稀疏度量的装置;

响应于确定所述稀疏度量在预定阈值以下,将所述测试样本分类为异常的装置;以及响应于确定所述稀疏度量在所述预定阈值以上,将所述测试样本分类为正常模式的装置。

21.如权利要求20所述的装置,还包括:在计算所述线性变换系数之前预处理所述测试样本的装置,预处理所述测试样本的所述装置包括:通过使样本值除以当前时间点的同一类型的值的均值来规范化所述样本值的装置,通过将规范化的样本值散列于多个箱中的一个之中来进行数据分箱的装置,以及基于分箱后的样本值来构建计量直方图的装置。

说明书 :

用于云监控的异常检测

背景技术

[0001] 除非在此处进行说明,否则该部分所描述的材料不是本申请权利要求的现有技术并且不因包含在该部分中而承认是现有技术。
[0002] 由于操作员差错、硬件/软件故障、资源过/欠供应及类似原因引起的异常系统行为的在线检测是大规模数据中心和设施云中一项非常重要的操作要素。当前在工业中使用的常规检测方法通常基于设定阈值。阈值可来自于预先限定的性能知识或约束(例如,服务等级目标(SLO))或者来自于基于长期历史数据分析的预测。每当任一计量观测违反阈值限制,就触发异常报警。虽然该方法实现简单且易于进行可视呈现,对于设施云(utility cloud)需求可能不具有足够的稳健性和可缩放性。
[0003] 因此,随着基于云的软件、硬件和工作负荷模式的规模和复杂度增长,用于云监控的异常检测方法应当在运行时自动操作,而无需关于正常行为或异常行为的先验知识。这些异常检测方法还应当充分通用,从而应用于多种抽象级和子系统以及用于大规模系统中使用的不同计量。另外,状态数据的采集不能总是成功和及时。因此,异常检测应当足够稳健(rubust)以达到高的检测率,同时在例如噪声干扰或不完全数据采集的各种情形下保持低的误报率。
[0004] 发明概述
[0005] 本公开总地描述了用于为云监控提供可缩放的、稳健的异常检测的技术。
[0006] 根据一些示例性实施例,用于在云监控中检测异常的方法可以包括:从与基于云的实体的操作相关联的多个计量来采集训练样本;由训练样本形成词典;利用词典来确定测试样本的线性变换系数;确定测试样本的线性变换系数的稀疏度量;以及如果稀疏度量在预定阈值以下,则将测试样本分类为异常。
[0007] 根据其他的示例性实施例,配置为在云监控中检测异常的基于云的数据中心可以包括多个虚拟机和数据中心控制器,多个虚拟机可操作以在一个或多个物理机上执行。数据中心控制器可配置为:从与数据中心的操作相关联的多个计量采集训练样本;由训练样本形成词典;利用词典来确定测试样本的线性变换系数;确定测试样本的线性变换系数的稀疏度量;以及如果稀疏度量在预定阈值以下,则将测试样本分类为异常。
[0008] 根据另外的示例性实施例,计算机可读存储介质中可存储有用于在云监控中检测异常的指令。所述指令可以包括:从与基于云的实体的操作相关联的多个计量来采集训练样本;由所述训练样本形成词典;利用词典来确定测试样本的线性变换系数;确定测试样本的线性变换系数的稀疏度量;以及如果稀疏度量在预定阈值以下,则将所述测试样本分类为异常。
[0009] 前面的概述仅仅是示例性的,而不意在以任何方式进行限制。通过参考附图以及下面的详细说明,除了上文所描述的示例性的方案、实施例和特征之外,另外的方案、实施例和特征将变得清晰可见。

附图说明

[0010] 通过下面结合附图给出的详细说明和随附的权利要求,本公开的前述特征以及其它特征将变得更加清晰。应理解的是,这些附图仅描绘了依照本公开的多个实施例,因此,不应视为对本发明范围的限制,将通过利用附图结合附加的具体描述和细节对本公开进行说明,在附图中:
[0011] 图1示出了示例性的系统,其中可以实现用于云监控的可缩放的和稳健的异常检测;
[0012] 图2是示出基于直方图的异常检测中的示例性动作的流程图;
[0013] 图3示出了在云监控中检测异常的系统的示例性框图;
[0014] 图4示出了在云监控中检测异常的系统的示例性的直方图生成的操作;
[0015] 图5示出了可用于来实现云监控中的可缩放异常检测的通用计算设备;
[0016] 图6是示出可通过诸如图5的设备的计算设备执行的示例性方法的流程图;以及[0017] 图7示出了示例性的计算机程序产品的框图;
[0018] 上述均是根据本文所描述的至少一些实施例来布置。
[0019] 发明详述
[0020] 在下面的详细说明中,将参考附图,附图构成了详细说明的一部分。在附图中,除非上下文指出,否则相似的符号通常表示相似的部件。在详细说明、附图和权利要求中所描述的示例性实施例不意在限制。可以使用其它实施例,并且可以做出其它改变,而不偏离本文呈现的主题的精神或范围。将易于理解的是,如本文大致描述且如图中所图示的,本公开的方案能够以各种不同配置来布置、替代、组合、分离和设计,所有这些都在本文中明确地构思出。
[0021] 本公开大体尤其涉及与云监控中的稳健的、可缩放的异常检测有关的方法、装置、系统、设备和/或计算机程序产品。
[0022] 简言之,提供了利用基于直方图分析中的稀疏度在云环境中进行异常检测的技术。在一些示例中,可采集云计量数据并将其处理成词典库。然后,利用l1范数最小化,根据词典库来计算测试样本的线性变换系数。然后,根据线性变换系数来计算稀疏度量。如果稀疏度量不超过预定阈值,则将测试样本判定为异常。
[0023] 图1示出了依照本文所描述的至少一些实施例布置的示例系统,其中可以实现用于云监控的可缩放的、稳健的异常检测。
[0024] 如图100所示,物理数据中心102可以包括一个或多个物理服务器110、111和113,每个物理服务器都配置为提供一个或多个虚拟机104。例如,物理服务器111和113可配置为分别提供四个虚拟机和两个虚拟机。为简化起见,在图1中显示了三个物理服务器,本领域技术人员将理解的是,物理数据中心102可以包括不同数量的物理服务器。在一些实施例中,一个或多个虚拟机可以组合成一个或多个虚拟数据中心。例如,服务器111提供的四个虚拟机可以组合成虚拟数据中心112。虚拟机104和/或虚拟数据中心112可配置为经由云106来向诸如个人用户或企业客户等一组客户108提供云相关的数据/计算服务,诸如各种应用、数据存储、数据处理或类似服务。
[0025] 如上所述,对于云环境,例如如上图1所述的物理数据中心102和/或云106,基于阈值的异常检测方法不具有足够的稳健性和可缩放性。为了解决这些问题,可以采用利用计量分布的统计方法来通过在负责监控操作的一个或多个服务器如服务器115上执行的管理应用来检测例如数据中心102的数据中心的操作中的异常。为简化起见,在图1中示出了服务器115,本领域技术人员将理解的是,物理数据中心102可以包括不同数量的监控服务器,或者在一些情况下,可以在诸如管理服务器的其他服务器之中分配监控任务。例如,熵的度量可用来比较异常行为和正常行为的特征分布之间的差别。基于熵的参数可使概率分布能压缩成单个值,然后可以使用该值来比较概率分布的某些定性差别,从而检测异常。例如,一些攻击引起概率分布的集中或分散。基于熵的参数可以反映出概率分布的集中或分散的这些变化,因此可适合于识别这些偏移。然而,由于两个完全不同的分布可能具有相同的熵值,所以在一些情形下基于熵的参数不能识别出两个分布之间的显著差别。基于直方图的方法可以提供克服该缺陷的方式。
[0026] 图2是示出依照本文所描述的至少一些实施例布置的基于直方图的异常检测中的示例性的动作的流程图。
[0027] 如图200所示,基于直方图的异常检测过程可开始于操作220,其中选择为进行异常检测而要分析的一个或多个特征。在一些实施例中,特征可以包括CPU负荷/使用率、存储器使用率、网络通信量、或任何其他适合的参数。在一些实施例中,特征可以包括与物理或虚拟数据中心(例如,图1中的物理数据中心102或虚拟数据中心112)、物理服务器(例如,图1中的服务器110、111和113)、和/或虚拟机(例如,图1中的虚拟机104)相关联的一个或多个特征。
[0028] 随后,在操作222中,构建在操作220中选择的特征的一个或多个直方图。在一些实施例中,可以基于数据的均值、数据的范围或数据的任何其他适合的统计度量,在直方图中对与每个所选特征相关联的数据进行分析和分箱(bin)。
[0029] 在操作226中,在操作222中构建的对应于正常情况(即,非异常情况)的直方图可以用来建模或者训练正常情况的模式。在一些实施例中,可以利用主成分分析、k均值聚类或任何适合的方法,根据训练直方图对该模式进行建模。
[0030] 在操作224中,然后,评估测试直方图(即,待用于异常测试的直方图)与在操作226中建模的正常模式的相似度以提供测试结果228。例如,可以计算测试直方图距正常模式的欧几里德距离。如果计算出的欧几里德距离落在特定阈值以下,则可视为测试直方图类似于正常模式,因此不是异常的。另一方面,如果计算出的欧几里德距离落在该阈值以上,则测试直方图不类似于正常模式,因此代表了异常情况。可以通过在诸如图1的服务器115的监控服务器上执行的管理应用来执行操作220、222、224和226。在其他示例中,可以通过在与数据中心相关联的相同服务器或不同服务器上执行的不同的模块或应用来实施一个或多个操作。
[0031] 图3示出了依照本文所描述的至少一些实施例布置的用于在云监控中检测异常的系统的示例框图。与许多基于直方图的异常检测方法相比,图3所描述的系统利用来自正常模式的训练样本来构建过完备词典。为了判定测试样本是否异常,可以根据过完备词典通过l1范数最小化来计算其线性变换系数。最后,通过检查线性变换系数的稀疏度来实施异常检测。在一些示例中,可以通过在诸如图1的服务器115的监控服务器上执行的管理应用来获得训练样本,计算线性变换系数,以及检测异常。在其他示例中,可以通过在与数据中心相关联的相同服务器或不同服务器上执行的不同的模块或应用来实施一个或多个操作。此外,词典可以存储在数据中心内(或数据中心外)的数据仓库中。在一些实施例中,来自全部正常模式的全部训练样本可用来构建过完备词典。
[0032] 使用过完备词典意味着根据正常模式的训练样本全局地计算系数。这提供了在异常检测方法中利用正常模式的联合分布来验证测试样本是否正常的能力。同时,使用l1范数最小化减轻了可能由于使用过完备词典而发生的过拟合问题(该问题会导致低的异常检测率),因为l1范数最小化对于具有大范数的线性变换系数不利。结果,训练样本在正常模式上的实际(可能是多模态的和非线性的)分布可用来辅助异常检测。
[0033] 该方法也轻易可缩放。云的每个层级可以由较低级计量直方图生成较高级计量直方图,从而随着计量数据量增长而减小监控数据的量。而且,由于线性变换系数向量计算的计算复杂度仅随词典大小线性地增大,所以该方法易于随数据集大小而缩放。
[0034] 而且,该异常检测系统无需关于典型故障模型的硬件/软件的先验知识。结果,可以检测到不易理解(即,无先验模型)或者之前尚未经历过的异常,系统可以在现代系统中现存的一个抽象级上或跨越多个抽象级运行,所涉及范围从管理程序到OS核心,到中间件,到应用。
[0035] 如图300所示,该系统可以通过采集特定时间实例(time instance)内的可用计量330而开始。可用计量330可以包括操作系统(OS)计量332、应用计量334、和/或平台计量
336,其可以与物理或虚拟数据中心(例如,图1中的物理数据中心102或虚拟数据中心112)、物理服务器(例如,图1中的服务器110、111和113)、和/或虚拟机(例如,图1中的虚拟机104)相关联。然后,通过预处理框338来对可用计量330进行预处理,从而生成一个或多个计量直方图340、342和/或344。在一些实施例中,预处理框338可以生成计量直方图。计量直方图
340、342和/或344中的每一个可以对应于特定的时间点。例如,计量直方图340可以表征时点k时的计量,计量直方图342可以表征时点k+N-1的计量,计量直方图344可以表征时点k+N的计量。虽然仅给出了三个计量直方图,可以通过预处理框338生成更多或更少的计量直方图。例如,可以通过预处理框338来生成表征时点k+1、k+2、k+N-3、k+N-2或任何其他适合的时间点的计量的计量直方图。
[0036] 预处理框338生成的每个计量直方图可以包括具有与每个箱索引处的计量百分比值对应的分量的向量。在框346中,随后可以由预处理框338生成的一个或多个计量直方图来形成词典库(base)。在一些实施例中,特定关注时点的词典库可以由与该关注时点之前的时间点相关联的计量直方图来形成。例如,假设特定的关注时点是k+N。进一步假设对于时间点k至k+N-1预处理框338生成的计量直方图由xk,xk+1,…,xk+N-1表示。在一些实施例中,框346可以通过堆叠xk,xk+1,…,xk+N-1来形成词典库X(即,X=[xk,xk+1,…,xk+N-1]’)。可以通过缓冲器来维护词典库,在一些实施例中,缓冲器可以按先入先出(FIFO)来运行。例如,如果关注时点是k+N,则词典库可以包括计量直方图xk,xk+1,…,xk+N-1,而如果关注时点是k+N+1,则词典库可以包括计量直方图xk,xk+1,…,xk+N。因此,FIFO缓冲器可以在异常监控过程中逐一滑动计量直方图。这是有利的,因为:(a)对于大数据集维护历史数据可能是不实际的,(b)工作模式的偏移会使得旧的历史数据产生误导或者甚至是无用,以及(c)这样的缓冲器可以在高速RAM中实现,这可以提高异常检测性能。
[0037] 在框348中,在框346中形成的词典库可以用来计算由预处理框338生成的计量直方图344的线性变换系数。计量直方图344与时间点k+N相关联,在该特定示例中时间点k+N是关注时间点,其可以是当前的时间点。在其他实施例中,计量直方图344可以与其他时间点相关联,这依次会影响用来计算线性变换系数的词典库。
[0038] 计量直方图344可以表示为yk+N,可以是在框346中形成的词典库的元素的线性组合,由如下等式表示:
[0039] [2]  yk+N=AX,
[0040] 其中X是如上定义的词典库,A表示线性变换系数。如果yk+N落入词典中的第i个计量直方图模式(即,第i个词典元素),则预期其线性变换系数具有如下形式:
[0041] [3]  A=[0,…,0,ai,1,ai,2,…,ai,L,0,…,0]’,
[0042] 其中除了那些与第i个词典元素相关联的条目(entry)之外,A中的大部分登录项为零。换言之,仅仅那些类似于yk+N的词典元素使其关联的系数为非零,而其他词典元素使其关联的系数为零或接近于零。
[0043] 在框350中,可以对来自框348的线性变换系数计算稀疏集中索引(SCI)。一般地,如果测试样本落入正常模式之一,则在框348中计算的测试样本的线性变换系数(对应于计量直方图344)应当为稀疏。例如,如果在框346中形成的词典库包括10,000个模式,则测试样本中大约0.0001%的登录项可以为非零,因为测试样本可以落入10,000中的一个模式中。然而,如果测试样本不类似于正常模式或者正常模式的组合,则其线性变换系数可以是不稀疏的。因此,可以通过评估特定测试样本的线性变换系数的稀疏度,而不是仅评估欧几里德距离来进行异常检测。在一些实施例中,在框350中计算的SCI可以定义为
[0044]
[0045] 其中δi(A)返回对应于第i个词典元素的ai=[ai,1,ai,2,…,ai,L]内的非零系数的数量,δ(A)返回A中的非零系数的总数。SCI(A)的值可以在0和1之间变化。如果SCI(A)等于1,则测试样本可完全由词典库元素(即历史中的单个计量直方图)来表征。另一方面,如果SCI(A)等于0,则测试样本的非零系数均匀地散布在词典库元素中。
[0046] 随后,在框350中计算的测试样本SCI可以在决策框352中与阈值进行比较。阈值可以预先限定,并且可以是针对具体应用的和/或用户定义的。如果测试样本SCI超过阈值,则在框354中测试样本可被视为正常模式。如果测试样本SCI不超过阈值,则在框356中测试样本被视为异常。
[0047] 图4示出了依照本文所描述的至少一些实施例布置的用于在云监控中检测异常的系统的示例性的直方图生成的操作。
[0048] 如图400所示,可在进行异常检测准备时生成可用云计量的一个或多个直方图。首先,可以从诸如图1的物理服务器110、111和113的各种源来收集云计量样本值460。在一些实施例中,云计量样本值460可以包括CPU负荷/使用率、存储器使用率、或任何其他相关的参数或计量。在一些实施例中,云计量样本值460可以包括与物理或虚拟数据中心(例如,图1中的物理数据中心102或虚拟数据中心112)、物理服务器(例如,图1中的服务器110、111和
113)和/或虚拟机(例如,图1中的虚拟机104)相关联的一个或多个参数。在操作462中,可以首先将云计量样本值460规范化。例如,每个样本值可除以既定的时间点的同一类型的值的均值。这可得到规范化的云计量样本值464。在一些实施例中,每个样本值可以除以既定时间点的同一类型的所有值的均值。
[0049] 在操作466中,可以对规范化的云计量样本值464进行分箱以形成分箱后的云计量样本值468,其中每个规范化的样本值散列(hash)成数据箱。在一些实施例中,这可以通过首先基于值范围和数据箱尺寸形成一系列数据箱且然后将每个规范化的样本值分配给适当的箱来进行。例如,可以首先限定值范围(例如,从0至r)和数据箱尺寸B。值范围可以分割成索引为从0到B-2的B-1个相等大小的箱,小于r的规范化后的样本值分配给适当的箱。大于r的规范化后的样本值可以分配给索引为B-1的另一箱。值r和B可以通过统计方法预先确定和/或可以进行配置。
[0050] 在操作470中,一个或多个计量直方图472可以由分箱后的云计量样本464构建而成。在一些实施例中,特定的计量直方图可以表征特定时间点处的特定计量。计量直方图472可以具有表示箱索引的x轴和表示对于单个箱索引的总样本值的百分比。图400中的一个或多个操作可以通过在诸如图1的服务器115的监控服务器上执行的管理应用来实施。可以通过在与数据中心相关联的相同服务器或不同服务器上执行的不同的模块或应用来实施操作。
[0051] 如上所述,基于直方图的方法可用来检测云环境中的异常。特别地,近似度评估可以在基于直方图的异常检测方法中起到重要作用。一些方法可以通过计算由如下等式表达的欧几里德距离(或规范化后的欧几里德距离)来评估相似度:
[0052] [1]  d(y,xi)=||y-Aixi||2,
[0053] 其中y是测试样本,xi是来自第i个模式的训练样本。如果d(y,xi)小于预先限定的阈值,则可以判定出y类似于训练样本xi。否则,不认为y类似于xi。如果y不类似于任何现有的正常情况的模式,则可判定y异常。
[0054] 然而,存在许多与该方法关联的缺陷。首先,在一些实施例中,xi可以是来自第i个模式的单个训练样本或多个训练样本。当xi为单个训练样本时,使用欧几里德距离来评估相似度可以得到相对高的错误报警率,因为甚至是距xi的微小偏差会导致d(y,xi)超过阈值。换言之,xi的噪声干扰版本可被错误地判定为异常。当xi包括多个训练样本时,使d(y,xi)小于阈值更加容易,因为d(y,xi)通常是通过搜索能够最小化d(y,xi)的Ai来获得的。一般地,使用更多的训练样本可意味着,d(y,xi)更可能小于阈值。因此,使用多个训练样本构建xi会导致将异常错误地判定为正常的情形。
[0055] 其次,无论xi是单个训练样本还是多个训练样本,在许多基于直方图的异常检测方法中,这些样本通常仅来自于一个单一的正常模式。在这些情况下,欧几里德距离实际上是在没有任何其他正常模式的知识情况下而计算出的。由于测试样本可以表征多个模式间的一定相似度,所以许多基于直方图的方法不能判定测试样本属于哪个正常模式,很可能会将测试样本处理为异常,因为d(y,xi)的值不足够小以至于小于阈值。这样也会增大错误报警率。因此,需要开发一种在保持极低的错误报警率的同时具有高的检测率的更有鉴别能力的检测器。
[0056] 图5示出了依照本文所描述的至少一些实施例布置的可用来在云监控中实现可缩放的异常检测的通用计算设备500。例如,计算设备500可以用来利用如本文所描述的稀疏度提供云环境中的异常检测。在示例性的基础配置502中,计算设备500可以包括一个或多个处理器504和系统存储器506。存储器总线508可以用于处理器504与系统存储器506之间的通信。基础配置502通过内虚线内的那些组件示于图5中。
[0057] 根据所期望的配置,处理器504可以为任意类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器504可以包括诸如级别超高速缓存存储器512的一级或多级超高速缓存、处理器核514和寄存器516。示例的处理器核514可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP Core)或其任意组合。示例的存储器控制器518还可与处理器504一起使用,或者在一些实施方式中,存储器控制器518可以是处理器504的内部部件。
[0058] 根据所期望的配置,系统存储器506可以是任意类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或其任意组合。系统存储器506可以包括操作系统520、一个或多个管理应用522以及程序数据524。管理应用522可以包括在如上所述的基于直方图的分析中利用稀疏度来进行异常检测的监控模块526。程序数据524在其他数据中可以包括管理事件数据528或类似数据,如本文中所述。
[0059] 计算设备500可具有附加的特征或功能,以及附加的接口以便于基础配置502与任何所需的设备和接口之间的通信。例如,总线/接口控制器530可用于便于基础配置502与一个或多个数据存储设备532之间经由存储接口总线534的通信。数据存储设备532可以是一个或多个可移除存储设备536、非可移除存储设备538或者其组合。可移除存储设备和非可移除存储设备的示例包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备、诸如压缩盘(CD)驱动器或数字多功能盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器,仅列举了几个。示例的计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性的介质以及可移除和非可移除的介质。
[0060] 系统存储器506、可移除存储设备536和非可移除存储设备538是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存(flash memory)或其它存储器技术、CD-ROM、数字多功能盘(DVD)、固态驱动器或其它光学存储设备、磁盒、磁带、磁盘存储设备或其它磁存储设备、或者可用于存储所需信息并且可由计算设备500访问的任何其它介质。任意这样的计算机存储介质可以是计算设备500的部件。
[0061] 计算设备500还可以包括接口总线540,该接口总线用于方便从各接口设备(例如,一个或多个输出设备542、一个或多个外围设备接口550和一个或多个通信设备560)经由总线/接口控制器530到基础配置502的通信。一些示例的输出设备542包括图形处理单元544和音频处理单元546,其可配置为经由一个或多个A/V端口548与诸如显示器或扬声器的各外部设备通信。一个或多个示例的外围设备接口550包括串行接口控制器554或并行接口控制器556,其可配置为经由一个或多个I/O端口558与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其它外围设备(例如,打印机、扫描仪等)的外部设备通信。示例的通信设备560包括网络控制器562,其可布置成便于经由一个或多个通信端口564通过网络通信链路与一个或多个计算设备566的通信。一个或多个其他的计算设备566可以包括数据中心、顾客的装备和类似设备处的服务器。
[0062] 网络通信链路可以是通信介质的一个示例。通信介质通常可通过计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据来具体化,并且可以包括任何信息输送介质。“调制数据信号”可以是使得其特性中的一个或多个以将信号中的信息编码的方式设定或改变的信号。通过举例而不是限制的方式,通信介质可以包括诸如有线网络或直接线连接的有线介质,以及诸如声波、射频(RF)、微波、红外(IR)和其它无线介质的无线介质。如本文所使用的术语计算机可读介质可以包括存储介质和通信介质两者。
[0063] 计算设备500可实现为通用或专用型的服务器、主机或包括上述任意功能的类似计算机的部件。计算设备500还可以实现为包括膝上型计算机配置和非膝上型计算机配置的个人计算机。
[0064] 示例性的实施例还可以包括用于云监控中的可缩放且稳健的异常检测的方法。这些方法能够通过包括本文所描述的结构的多种方式来实现。一种这样的方式可以通过本公开所描述的类型的设备的机器操作。另一可选方法可以是,方法的各操作中的一个或多个与执行一些操作的一个或多个人类操作员相结合地执行,而其他操作可通过机器来执行。这些人类操作员无需彼此配合,而是各自仅有执行程序的一部分的机器。在其他示例中,例如通过机器自动化的预选标准,能够使得人类交互自动化。
[0065] 图6是示出依照本文所描述的至少一些实施例布置的可通过诸如图5的计算设备500的计算设备执行的提供用于云监控的可缩放的、稳健的异常检测的示例性的方法的流程图。示例性的方法可以包括一个或多个操作、功能或动作,如一个或多个框622、624、626、
628和/或630所示,在一些实施例中通过诸如图5的设备500的计算设备来执行。在框622-
630中所描述的操作还可以存储为诸如计算设备610的计算机可读介质620的计算机可读介质中的计算机可执行指令。
[0066] 用于为云监控提供可缩放的和稳健的异常检测的示例性的过程可以开始于框622,“从多个计量采集训练样本”,其中可以从各种源采集云计量样本值。样本可以包括OS计量(例如,图4中的OS计量432)、应用计量(例如,图4中的应用计量434)、和/或平台计量(例如图4中的平台计量436)。在一些实施例中,计量可以包括CPU负荷/使用率、存储器使用率、网络通信量、或任何其他相关的参数或计量。在一些实施例中,所采集的训练样本可用来生成计量直方图,如上文结合图3所描述的。
[0067] 框622随后是框624,“由训练样本形成词典”,其中在框622中采集的训练样本用来形成词典库(例如,如图4中的框446中所描述)。例如,可以堆叠训练样本直方图以形成词典库。
[0068] 框624随后可以是框626,“利用词典来确定测试样本的线性变换系数”,其中可以基于框624中形成的词典库(例如,如图4中的框448所描述)来确定测试样本直方图的线性变换系数。
[0069] 框626随后可以是框628,“确定测试样本的线性变换系数的稀疏度”,其中对于在框626中确定的测试样本线性变换系数来确定稀疏度量。例如,可以对测试样本线性变换系数来计算稀疏集中索引(SCI),如上文在图4的框450中所描述的。
[0070] 最后,框628随后是框630,“将稀疏度与预定阈值进行比较以将测试样本分类为异常或正常模式”,其中将在框628中确定的稀疏度量与预定阈值进行比较。例如,如图4的框452中所描述,如果稀疏度量超过阈值,则测试样本可以被分类为正常模式,如果稀疏度量不超过阈值,则测试样本可被分类为异常。
[0071] 图7示出了依照本文所描述的至少一些实施例布置的示例性的计算机程序产品的框图。
[0072] 在一些示例中,如图7所示,计算机程序产品700可以包括信号承载介质702,信号承载介质702还可以包括一个或多个机器可读指令704,当通过例如处理器执行时,机器可读指令可以提供本文所描述的功能。因此,例如,参考图5中的处理器504,管理应用522可以响应于通过介质702传送到处理器504的指令704而承担图7所示的一项或多项任务,从而实施与提供如本文所述的用于云监控的可缩放的和稳健的异常检测相关联的动作。根据本文所描述的一些实施例,那些指令中的一些指令可以包括例如:从多个计量采集训练样本;由训练样本形成词典;利用词典来确定测试样本的线性变换系数;确定测试样本的线性变换系数的稀疏度;以及将稀疏度与预定阈值进行比较以将测试样本分类为异常或正常模式。
[0073] 在一些实现方式中,图7所示的信号承载介质702可以包含计算机可读介质706,诸如但不限于硬盘驱动器、固态驱动器、光盘(CD)、数字多功能盘(DVD)、数字带、存储器等。在一些实施方式中,信号承载介质702可以包含可记录介质708,诸如但不限于存储器、读/写(R/W)CD、R/W DVD等。在一些实施方式中,信号承载介质702可以包含通信介质710,诸如但不限于数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。因此,例如,程序产品700可通过RF信号承载介质传送到处理器504的一个或多个模块,其中通过无线通信介质710(例如,符合IEEE 802.11标准的无线通信介质)传送信号承载介质
702。
[0074] 根据一些示例,用于在云监控中检测异常的方法可以包括:从与基于云的实体的操作相关联的多个计量采集训练样本;由训练样本形成词典;利用词典来确定测试样本的线性变换系数;确定测试样本的线性变换系数的稀疏度量;以及如果稀疏度量在预定阈值以下,则将测试样本分类为异常。
[0075] 根据一些实施例,该方法还可以包括:如果稀疏度量在预定阈值以上,则将所述测试样本分类为正常模式;基于最小化测试样本与词典之间的欧几里德距离来确定线性变换系数;最小化线性变换系数的l1范数;和/或在计算线性变换系数之前,预处理测试样本。
[0076] 根据其他实施例,预处理可以包括:通过使样本值除以当前时间点同一类型的值的均值来规范化样本值;通过将规范化后的样本值散列于多个箱中的一个箱中来进行数据分箱;以及基于分箱后的值样本来构建计量直方图。可以根据计量直方图来计算线性变换系数。数据分箱可以包括:预定义值范围[0,r];将值范围划分成索引为从0到B-2的B-1个基本相等尺寸的箱;以及限定用于捕获比r大的值的索引为B-1的附加箱,其中B和r是通过统计方法预先定义的、可配置参数。计量直方图的x轴可以表示箱索引,计量直方图的y轴可以表示对于单个箱索引的总样本值的百分比。每个计量直方图可以是一个向量,其分量是每个箱索引处的百分比值。该方法还可以包括:通过堆叠多个计量直方图向量来形成词典。
[0077] 根据另外的实施例,该方法还可以包括采用缓冲器来维护词典。该缓冲器可以在监控过程中逐一滑动计量直方图。该方法还可以包括:通过如下计算稀疏集中索引(SCI)来评估线性变换系数的稀疏度量: 其中δi(A)返回对应于第i个词典元素的ai=[ai,1,ai,2,…ai,N]内的非零系数的数量,δ(A)返回测试样本的A线性变换系数向量内的非零系数的总数。该方法还可包括:将SCI与预定阈值进行比较;以及预定阈值可以是针对具体应用或者用户定义的。
[0078] 根据另外的实施例,词典可以是过完备词典。多个计量可以包括操作系计量、应用计量和/或平台计量。该方法还可以包括:根据正常模式的训练样本来全局地计算系数以利用正常模式的联合分布来验证测试样本是否正常。基于云的实体可以是数据中心。
[0079] 根据其他的示例,配置为在云监控中检测异常的基于云的数据中心可以包括多个虚拟机和数据中心控制器,虚拟机可操作以在一个或多个物理机上执行。数据中心控制器可以配置为:从与数据中心的操作相关联的多个计量采集训练样本;由训练样本形成词典;利用词典来确定测试样本的线性变换系数;确定测试样本的线性变换系数的稀疏度量;以及如果稀疏度量在预定阈值以下,则将测试样本分类为异常。
[0080] 根据一些实施例,数据中心控制器可进一步配置为:如果稀疏度量在预定阈值以上,则将测试样本分类为正常模式;基于最小化测试样本与词典之间的欧几里德距离来确定线性变换系数;最小化线性变换系数的l1范数;和/或在计算线性变换系数之前对测试样本进行预处理。
[0081] 根据其他实施例,数据中心控制器可配置为通过如下过程来进行预处理:通过使样本值除以当前时间点同一类型的值的均值来规范化样本值;通过将规范化后的样本值散列于多个箱中的一个箱中,来进行数据分箱;以及基于分箱后的值样本来构建计量直方图。可以根据计量直方图来计算线性变换系数。数据分箱可以包括:预先定义值范围[0,r];将值范围划分成索引为从0到B-2的B-1个基本相等尺寸的箱;以及限定用于捕获比r大的值的索引为B-1的附加箱,其中B和r是通过统计方法预先定义的、可配置参数。计量直方图的x轴可以表示箱索引,计量直方图的y轴可以表示对于单个箱索引的总样本值的百分比。每个计量直方图可以是一个向量,其分量是每个箱索引处的百分比值。数据中心控制器可进一步配置为通过堆叠多个计量直方图向量来形成词典。
[0082] 根据另外的实施例,数据中心控制器可进一步配置为采用缓冲器来维护词典。缓冲器可以在监控过程中逐一滑动计量直方图。数据中心控制器可进一步配置为通过计算稀疏 集 中 索 引 ( S C I ) 来 评 估 线 性 变 换 系 数 的 稀 疏 度 量 如 下 :其中δi(A)返回对应于第i个词典元素的ai=[ai,1,
ai,2,…ai,N]内的非零系数的数量,以及δ(A)返回测试样本的A线性变换系数向量内的非零系数的总数。数据中心控制器可进一步配置为将SCI与预定阈值进行比较,预定阈值可以是针对具体应用的或用户定义的。
[0083] 根据其他的实施例,词典可以是过完备词典。多个计量可以包括操作系统计量、应用计量和/或平台计量。数据中心控制器可进一步配置为根据正常模式的训练样本来全局地计算系数以利用正常模式的联合分布来验证测试样本是否正常。
[0084] 根据其他的示例,计算机可读存储介质可以存储用于在云监控中检测异常的指令。所述指令可以包括:从与基于云的实体的操作相关联的多个计量来采集训练样本;由训练样本来形成词典;利用词典来确定测试样本的线性变换系数;确定测试样本的线性变换系数的稀疏度量;如果稀疏度量在预定阈值以下,则将测试样本分类为异常。
[0085] 根据一些实施例,所述指令还可以包括:如果稀疏度量在预定阈值以上,则将测试样本分类为正常模式;基于最小化测试样本和词典之间的欧几里德距离来确定线性变换系数;最小化线性变换系数的l1范数;和/或在计算线性变换系数之前,对测试样本进行预处理。
[0086] 根据其他的实施例,预处理可以包括:通过使样本值除以当前时间点同一类型的值的均值来规范化样本值;通过将规范化后的样本值散列于多个箱中的一个箱中来进行数据分箱;以及基于分箱后的值样本来构建计量直方图。可以根据计量直方图来计算线性变换系数。数据分箱可以包括:预先定义值范围[0,r];将值范围划分成索引为从0到B-2的B-1个基本相等大小的箱;以及限定用于捕获比r大的值的索引为B-1的附加箱,其中B和r是通过统计方法预先定义的、可配置参数。计量直方图的x轴可以表示箱索引,计量直方图的y轴可以表示单个箱索引而言总样本值的百分比。每个计量直方图可以是一个向量,其分量是每个箱索引处的百分比值。指令还可以包括:通过堆叠多个计量直方图向量来形成词典。
[0087] 根据另外的实施例,指令还可以包括采用缓冲器来维护词典。缓冲器可以在监控过程中逐一滑动计量直方图。指令还可以包括通过计算稀疏集中索引(SCI)来如下评估线性变换系数的稀疏度量: 其中δi(A)返回对应于第i个词典元素的ai=[ai,1,ai,2,…ai,N]内的非零系数的数量,以及δ(A)返回测试样本的A线性变换系数向量内的非零系数的总数。数据中心控制器可进一步配置为将SCI与预定阈值进行比较,预定阈值可以是针对具体应用的或用户定义的。
[0088] 根据其他的实施例,词典可以是过完备词典。多个计量可以包括操作系统计量、应用计量和/或平台计量。所述指令还可以包括:根据正常模式的训练样本来全局地计算系数以利用正常模式的联合分布来验证测试样本是否正常。基于云的实体可以是数据中心。
[0089] 在系统方案的硬件实现和软件实现之间保留了极小的区别;硬件或软件的使用通常是(但并不总是,因为在一些背景下硬件和软件之间的选择会变得重要)表示成本相对于效率权衡的设计选择。存在各种可以实现(例如,硬件、软件和/或固件)本文所描述的过程和/或系统和/或其它技术的媒介物,并且优选的媒介物将随着部署过程和/或系统和/或其它技术的背景而变化。例如,如果实施者判定速度和精度重要,则实施者可以选择主硬件和/或固件媒介物;如果灵活性重要,则实施者可以选择主软件实现;或者,另外可选地,实施者可以选择硬件、软件和/或固件的一些组合。
[0090] 前面的详细说明已经通过框图、流程图和/或示例阐述了设备和/或过程的各个实施例。在这些框图、流程图和/或示例包含一项或多项功能和/或操作的程度上,本领域技术人员将理解的是可以通过各种各样的硬件、软件、固件或几乎其任意组合来单独地和/或统一地实现这些框图、流程图或示例内的每项功能和/或操作。在一个实施例中,本文所描述的主题的多个部分可经由专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)或其它集成格式来实现。然而,本领域技术人员将理解的是,在本文公开的实施例的一些方案可以整体地或部分地等同地实现为集成电路、在一个或多个计算机上运行的一个或多个计算机程序(例如,实现为在一个或多个计算机系统上运行的一个或多个程序)、在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序)、固件、或几乎任何组合,并且根据本公开的内容,设计电路和/或编写用于软件和/或固件的代码将在本领域技术人员的技能范围内。
[0091] 本公开不受在本申请中所描述的特定实施例限制,这些特定实施例意在为各个方案的示例。本领域技术人员显而易见的是,能够进行各种改进和变型,而不偏离其精神和范围。根据前面的说明,除了本文列举的那些之外,在本公开范围内的功能上等同的方法和装置对于本领域技术人员而言将是显而易见的。旨在这些改进方案和变型例落在随附权利要求书的范围内。连同这些权利要求书所给予权利的等同方案的整个范围内,本公开仅由随附权利要求书来限定。将理解的是,本公开不限于特定的方法、试剂、化合物组成或生物系统,当然这些可以变化。还应理解的是,本文所使用的术语仅是为了描述特定实施例的目的,而不意在限制。
[0092] 另外,本领域技术人员将理解的是,本文所描述的主题的机制能够以各种形式分布为程序产品,并且本文所描述的主题的示例性实施例适用,无论实际上用于实施分布的特定类型的信号承载介质如何。信号承载介质的示例包括但不限于以下:可记录型介质,诸如软盘、硬盘驱动器、压缩盘(CD)、数字多功能盘(DVD)、数字带、计算机存储器等;以及传输型介质,诸如数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。
[0093] 本领域技术人员将理解的是,在本领域内常见的是以本文阐述的方式来描述设备和/或过程,此后利用工程实践将这些所描述的设备和/或过程集成到数据处理系统中。也即,本文所描述的设备和/或过程的至少一部分可以通过合理量的实验集成到数据处理系统中。本领域技术人员将理解的是,典型的数据处理系统通常包括如下中的一种或多种:系统单元壳体、视频显示设备、诸如易失性和非易失性存储器的存储器、诸如微处理器和数字信号处理器的处理器、诸如操作系统的计算实体、驱动器、图形用户接口、和应用程序、诸如触摸板或触摸屏的一个或多个交互设备、和/或包括反馈环和控制电动机(例如,用于感测门架系统的位置和/或速度的反馈;用于移动和/或调整部件和/或量的控制电动机)的控制系统。
[0094] 典型的数据处理系统可利用任何适合的商业上提供的部件来实现,诸如在数据计算/通信和/或网络计算/通信系统中常见的部件。本文所描述的主题有时说明了包含在不同的其它部件内的不同部件或与不同的其它部件连接的不同部件。应理解的是,这些所描绘的体系结构仅是示例性的,并且实际上可以实施实现相同功能的许多其它体系结构。在概念意义上,实现相同功能的任何部件的布置有效地“关联”,使得实现期望功能。因此,在此处组合以实现特定功能的任何两个部件可视为彼此“关联”,使得实现期望功能,无论体系结构或中间部件如何。同样,任意两个如此关联的部件还可视为彼此“可操作地连接”、或“可操作地耦合”以实现期望的功能,并且能够如此关联的任意两个部件还可视为彼此“能够可操作地耦合”以实现期望功能。能够可操作耦合的具体示例包括但不限于能够物理上连接和/或物理交互的部件和/或能够无线交互和/或无线交互的部件和/或逻辑上交互和/或能够逻辑上交互的部件。
[0095] 关于本文中基本上任何复数和/或单数术语的使用,本领域技术人员能够根据上下文和/或应用适当地从复数变换成单数和/或从单数变换成复数。为了清晰的目的,本文中明确地阐明了各单数/复数的置换。
[0096] 本领域技术人员将理解,一般地,本文所使用的术语,尤其是随附权利要求(例如,随附权利要求的主体)中所使用的术语,通常意在为“开放式”术语(例如,术语“包括”应当解释为“包括但不限于”,术语“具有”应解释为“至少具有”,术语“包括”应解释为“包括但不限于”,等等)。本领域技术人员还理解,如果意图表达引导性权利要求记述项的具体数量,该意图将明确地记述在权利要求中,并且在不存在这种记述的情况下,不存在这样的意图。例如,为辅助理解,下面的随附权利要求可能包含了引导性短语“至少一个”和“一个或多个”的使用以引导权利要求记述项。然而,这种短语的使用不应解释为暗指不定冠词“一”或“一个”引导权利要求记述项将包含该所引导的权利要求记述项的任何特定权利要求局限于仅包含一个该记述项的实施例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及诸如不定冠词“一”或“一个”的(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引导权利要求记述项的定冠词的使用。另外,即使明确地记述了被引导的权利要求记述项的具体数量,本领域技术人员将理解到这些记述项应当解释为至少表示所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或两个以上的记述项)。
[0097] 此外,在使用类似于“A、B和C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。本领域技术人员将进一步理解,呈现两个以上可选项的几乎任何分离词和/或短语,无论是在说明书、权利要求或附图中,都应理解为设想包括一项、任一项或两项的可能性。例如,术语“A或B”将理解为包括“A”或“B”或“A和B”的可能性。
[0098] 另外,在根据马库什组(Markush group)描述本公开的特征或方案的情况下,本领域技术人员将理解的是本公开也因此以马库什组的任何独立成员或成员的子组来描述。
[0099] 本领域技术人员将理解的是,为了任何以及全部的目的,诸如在提供所撰写的说明书方面,本文所公开的全部范围也涵盖了任何和全部的可能的子范围及其子范围的组合。能够容易地认识到任何所列范围都充分地描述了同一范围并且使同一范围分解成至少均等的一半、三分之一、四分之一、五分之一、十分之一等等。作为非限制示例,本文所论述的每个范围能够容易地分解成下三分之一、中三分之一和上三分之一,等等。本领域技术人员还将理解的是,诸如“多达”、“至少”、“大于”、“小于”等所有的语言包括所记述的数量并且是指如上文所论述的随后能够分解成子范围的范围。最后,本领域技术人员将理解的是,范围包括每个独立的成员。因此,例如,具有1-3个单元的组是指具有1个、2个或3个单元的组。类似地,具有1-5个单元的组是指具有1个、2个、3个、4个、或5个单元的组,等等。
[0100] 虽然本文公开了各个方案和实施例,但是其它的方案和实施例对于本领域技术人员而言将是显而易见的。因此,本文所公开的各个方案和实施例是为了示例的目的而不意在限制,真正的范围和精神是通过随附的权利要求表示的。