背景技术:
:在诸如包括许多机器(例如,计算机、存储设备、通信节点等)的网络环境或者其它类型环境的环境中能够产生或接收大量的数据。作为示例,数据能够由传感器所采集或者由应用所收集。其它类型的数据可以包括财务数据、健康相关数据、销售数据、人力资源数据等。附图说明关于以下附图对本公开的一些实施方式进行描述。图1是根据一些实施方式的示例过程的流程图。图2是图示根据一些实施方式的被执行以产生时间图的各种示例任务的示意图。图3描绘了根据一些实施方式的用于允许用户选择要分配给事件维度的权重的示例性视觉化屏幕。图4a和4b是图示根据一些实施方式的示例时间片段的示意图,其中每个时间片段包括相应事件集合。图5是描绘根据一些实施方式的示例时间图的图形视觉化,所述时间图包括位于根据一维(1d)多维定标(mds)值以及时间值的时间图中的数据点。图6a-6b是图示根据一些实施方式的表示事件的像素之间的互连线条的示例的图形。图7是根据一些实施方式的包括示例时间图和多样性矩阵的图形视觉化。图8是根据另外实施方式的包括示例时间图以及有关该时间图中所选择的事件的详细信息的视觉化屏幕。图9是根据一些实施方式的示例计算机系统的框图。具体实施方式在环境内发生的活动能够引起事件。环境可以包括机器和/或程序代码的集合,其中该机器可以包括计算机、存储设备、通信节点等。在网络环境内能够发生的事件包括数据分组的接收或者其它事件,上述数据分组包含相对应的地址和/或端口、具体操作的所监视测量(诸如有关处理资源、存储资源、通信资源等的使用的度量)。虽然在一些示例中参考了网络环境的活动,但是所要注意的是,根据本公开的技术或机制能够被应用于其它环境中的其它类型的事件,其中这样的事件可以涉及到财务事件、健康相关事件、人力资源事件、销售事件等。通常,事件能够响应于相应活动的发生而生成。事件能够被表示为数据点(也被称作数据记录)。每个数据点可以包括多个维度(也被称作属性),其中属性可以是指数据点所表示的事件的特征或特性。更具体地,每个数据点可以包括多个属性的相应值集合。在网络环境的背景下,事件的属性示例包括网络地址属性(例如,源网络地址和/或目的地网络地址)、网络子网属性(例如,子网的标识符)、端口属性(例如,源端口号和/或目的地端口号),等等。包括相对大量属性(维度)的数据点可以被认为是高维度数据集的部分。在存在很大量数据点时,可能难以在表示相应事件的数据点中找出模式(诸如有关故障或错误、未授权访问或其它问题的模式)。例如,一些模式可以指示黑客在网络环境上进行的攻击,或者可以指示其它安全问题。其它模式则可以指示可能必须要解决的其它问题。依据根据本公开的一些实施方式,执行基于事件相似性的模式探索。事件的基于相似性的探索允许用户搜索可能感兴趣(例如,可能与一个或多个问题相关)的事件子空间(或具体群组)。事件之间的相似性可以基于多个用户定义的维度,以及为相应维度所分配的权重(这也可以是用户指定的)。而且,能够沿多于一个维度找出模式。如图1所示,一种示例过程能够由计算机或者计算机的布置来执行,或者由处理器或处理器的布置来执行。该过程(在102)基于事件之间的二进制比较以及基于给事件的相应维度(或者更具体地,表示事件的数据点的维度)所分配的用户指定权重来计算事件之间的相似性。事件之间的相似性可以基于事件之间的二进制比较而不是事件之间的欧几里得距离的计算来进行计算。(表示事件的数据点中所包括的)分类数据并没有数值,而是具有不同类别的值。分类数据的示例可以包括位置数据,其中位置可以由不同城市名称(类别)来识别。因此,位置维度(这是一种分类维度)的分类数据可以包括losangeles、sanfrancisco、paloalto等。以下的表1图示了两个事件(或更具体地,表示两个事件的两个数据点)的二进制比较。注意到,数据点可以包括分类数据。表1维度1维度2维度3事件awxz事件bwyz距离:010在以上示例中,假设事件a和b中的每一个具有三个维度(维度1、维度2、维度3)。针对事件a,维度1、2和3的值分别是w、x和z。针对事件b,维度1、2和3的值分别是w、y和z。在事件a和b之间执行每个维度的字符串比较。针对维度1,事件a和b这二者共享相同值;作为结果,相似性为高,因此维度1的字符串比较输出二进制值0。对于维度3也同样如此,其中事件a和b这二者共享相同的值d。作为结果,事件a和b之间沿维度3的距离也被分配以二进制值0。然而,对于维度2而言,事件a和b并没有相同值,因此事件a和b之间沿维度2的距离被分配以二进制值1。以上沿相应维度的事件的比较被统称为二进制比较,这是因为比较所产生的输出包括指示沿相应的不同维度的相似性或差异性二进制值的集合。在其中使用不同比较技术的可替换示例中,能够利用二进制值1来表示高相似性,而利用二进制值0来表示低相似性(或差异性)。更具体地,为了计算两个事件a和b之间的相似性值,该计算迭代通过以i=1(第一维度)开始并且以维度数dim结束的所有维度。该计算随后能够使用iverson方括号(艾佛森方括号)[]来将事件a和b的第i个维度相互比较。iverson方括号[]是以上所讨论的字符串比较的示例。随后,结果0或1在位置i:w(i)处被乘以权重w(i)。为了构建平均值(即,事件a和b之间的加权距离),该计算对之前的加权值求和并且除以维度数(dim),如以下等式中所指定的:事件a和b之间的相似性被表示为以上的sim(a,b)。在102所计算的事件之间的相似性涉及到事件的分类数据的多对多比较,其中该多对多比较是指事件的个体维度的比较。该过程进一步计算(在104)多个时间片段中的每个时间片段内的事件的多维定标(mds)值。该mds值的计算使用在多对事件之间所计算的相似性值(如在102所计算的)。mds被用于对数据集的个体事件的相似性级别进行视觉化。mds技术能够把数据点布置(在一个或多个维度中)而使得数据点之间的距离得以被保留。在一些示例中,由于事件之间的距离沿一个方向被确定,所以所计算的mds值被认为是一维(1d)mds值。1dmds值的计算能够采用各种技术,包括在主要作者为bryanf.j.的“multivariatestatisticalmethods:aprimer,thirdedition(多变量统计方法:入门,第三版)”(crc出版社,2004,第163-172页)中所描述的那些技术。一对事件的mds值之间的差表明这对事件的相应相似性。在一些实施方式中,该时间片段是重叠的时间片段,其中与第二时间片段重叠的第一时间片段能够共享至少一个事件——换句话说,所共享的事件处于第一和第二时间片段二者之中。使用重叠的时间片段能够提高事件分享的稳定性。此外,如以下进一步讨论的,使用重叠的时间片段能够提供事件在不同时间片段中的时间关系的表示。该过程生成(在106)时间图的图形视觉化,其中该时间图的第一轴(例如,水平轴)表示时间,而该时间图的第二轴(例如,垂直轴)则表示mds值(或者更特别地,在一些示例中是1d的mds值)。该mds值指示事件之间的相似性。时间图的一个示例是图5中所示出的时间图502。该时间图中的图形元素(例如,以点或圈的形式)表示相应事件。在后续讨论中,在时间图中提供的图形元素被称作“像素”,其中每个像素表示相应的事件。表示相应事件的每个像素在时间图中的位置基于该相应事件的相应1dmds值以及相应时间值。该时间图表示重叠的时间片段,其中该时间图中的每个时间片段包含表示事件的相应子集的像素。图2图示了根据一些实施方式的对应于图1的过程的各种示例具体任务(1-5)。任务1构造出事件的输入数据表202,其中数据表202中的每一行对应于相应的不同事件(图2中所描绘的时间1、2、3),并且每一列则表示相应的不同维度(例如,图2中所描绘的a、b、c)。作为更为具体的示例,相应事件的维度可以包括时间、网际协议(ip)地址、端口、协议等。图2中的任务2包括向数据表202中的相应维度a、b和c分配权重(204)。每个权重能够由用户所指定。分配给相应维度的权重能够基于能够指定哪些维度对于用户感兴趣的具体问题(例如,网络环境的安全攻击)更加相关的领域专家的知识。任务3包括创建距离矩阵206,其中距离矩阵206包括对应于不同事件的多个行以及对应于不同事件的多个列。例如,行1对应于事件1(e1),行2对应于事件2(e2),等等。列1对应于事件1(e1),列2对应于事件2(e2),列3对应于事件3(e3),等等。距离矩阵206中的每个单元包括一对事件之间的相似性值(根据等式1所计算的加权距离)。更一般地,一对事件之间的每个相似性值的计算基于将给相应维度所分配的权重纳入考虑的二进制比较。任务4包括为事件的有序矩阵208定义时间片段210,事件在上述有序矩阵208中根据时间进行排序(例如,时间升序或时间降序)。如图2中所描绘的,每个事件片段210与至少一个其它时间片段210有所重叠。任务5包括产生包括时间图212的图形视觉化,上述时间图212包括表示事件的像素,其中每个像素在时间图212中的位置基于相应像素所表示的事件的相应1dmds值和时间值。由于时间图212相对于时间而绘制出了多个事件的1dmds值,所以时间图212可以被称作1dmds图。如图2所示,时间图212被划分为多个重叠的时间片段,它们被表示为214-1、214-2、214-3、214-4等。在任务5中生成的时间图212中的重叠时间片段对应于任务4中所定义的重叠时间片段210。每个时间片段214-i(i=1,2,...)包括表示相应时间片段中的事件的像素子集。由于事件片段214-1、214-2,...是重叠的时间片段,所以时间片段能够共享至少一个事件。例如,时间片段214-1和214-2能够共享至少一个处于时间片段214-1和214-2之内的事件。注意到,多于两个的时间片段能够共享一个事件。图3是允许用户为相应维度分配权重的示例图形用户界面(gui)屏幕的示意图。在其它示例中,可以提供其它类型的用户界面以允许用户给维度分配权重。在gui屏幕的维度加权区域302中列出了各种维度(例如,art、y、z、mrt等)。每个所列出的维度旁是相应的用户可启动控制按钮304,该按钮能够向左或向右横向移动从而调节相对应维度的权重。如维度加权区域302的列306中所示,控制按钮304的移动使得权重被调节为0和1之间的值(或者一些其它值范围)。列306中针对每个维度的值基于相应控制按钮304的位置。控制按钮304能够被用户调节从而向一些维度分配以较大权重而向其它维度分配以较低权重。图3的gui屏幕还包括数据预览区域308,该区域包括表示相应事件的条目310。每个条目310包括这些事件的各个维度的值。数据预览区域308中的每个条目310包括相应事件的相应维度的值。与较低权重相关联的某些维度(例如,y和z)可以与数据预览窗口308中的较低亮度相关联,如图3所示。图4a描绘了被划分到两个并不重叠的单独时间片段402-1和402-2之中的事件a、b、c、d、e和f,而使得时间片402-1包括事件a、b和c的第一子集,而时间片402-2则包括事件d、e和f的第二子集,其中该第一和第二子集并不相交(在第一和第二子集中没有共同的事件)。另一方面,图4b定义了事件a、b、c、d、e和f到重叠的时间片段404-1、404-2、404-3和404-4之中的划分。注意到,事件b和c由时间片段404-1和404-2所共享;换句话说,时间片段404-1和404-2中的每一个都包括事件b和c。注意到,事件c还由时间片段404-3所共享。事件c和d由时间片段404-2和404-3所共享。事件d和e由时间片段404-3和404-4所共享。图5示出了包括根据相应事件的1dmds值和时间值的事件的时间图502的示例图形视觉化,其中表示事件的像素位于时间图502中。沿时间轴的每个点表示相应的重叠时间片段。注意到,每个时间片段中的一对事件的1dmds值的差表示这两个事件的相似性。注意到,多个事件可能会共享共同的1dmds值和时间值对,因此该多个事件将会被映射至时间图502中的相同位置。注意到,这种到相同位置的映射能够取决于事件及其值的总体分布。后续时间片段中被重复使用的事件的位置存在偏差是可能的。在一些实施方式中,时间图502中的每个像素还能够具有与之相关联的亮度,其中像素的亮度表示与该像素相关联的事件密度。与像素相关联的事件密度指示该像素所表示的事件的数量(由于所述事件共享共同的1dmds值和时间值对而映射至时间图502中的相同位置)。时间图502中的虚圈表示相应的子空间或模式,其中每个子空间包括多个像素。作为示例,虚圈所指示的子空间能够对应于网络环境中所执行的端口扫描,其中每个子空间包括表示共享共同目的地ip地址但是不同端口的事件的像素。高亮的子空间允许便于检测用户可能感兴趣的具体模式。图6a示出了在时间图504中的像素之间所绘制的互连线条(例如,506和508)。每条互连线条表示事件在时间片段之间的“移动”,并且提供时间片段之间的时间关系的表示。如以上所提到的,多个时间片段能够共享给定事件,并且因此表示该给定事件的像素会出现在多个时间片段中。例如,如图4b所示,事件c出现在时间片段404-1、404-2和404-3中,因此将绘制出互连线条来将时间片段404-1、404-2和404-3中表示事件c的像素互相连接。将多个时间片段中的像素互相连接的互连线条因此指示该事件在多个时间片段中出现;这样的事件会看上去在多个时间片段之间“移动”。由于事件和表示这样的事件的像素相对高的密度,在图6a的时间图504中所绘制的互连线条能够(至少部分)相互重叠。图6b描绘了有关能够由图6a和6b中的互连线条所表示的问题的注释512、516和514。注释512指向互连线条的高度重叠,这意味着针对相应不同事件的互连线条在时间区域中几乎完全相互重叠。互连线条的高度重叠能够表明事件的一致性布局(这些相同的事件出现在相同的多个时间片段中)以及事件之间的高度相似性。注释514指向(由注释512所指示的)在互连线条的高度重叠的时间区域之后所散开的互连线条。与注释512相关联的高度重叠之后的与注释514相关联的分散线条能够表明在该分散线条存在于其中的另一个时间区域期间可能已经发生了问题。注释516指向互连线条的异常值集合,这可以指示另一个问题。为了提供对时间图(诸如以上所讨论的任意时间图)所表示的事件的进一步分析,能够执行事件多样性的计算。事件多样性可以以每个维度为基础来计算。在一些示例中,能够使用香农(shannon)熵技术来导出维度的多样性值。事件子集的给定维度的值的多样性按如下计算:h=-∑ipi·logb(pi),,(等式2)其中pi表示某个值i出现在事件子集的给定维度(例如,ip地址的某个值)内的概率。较高的多样性指示给定维度的值更加分散开,并且因此可能更被用户感兴趣。图7示出了包括时间图702和多样性矩阵704的示例图形视觉化。时间图702包括表示相应事件的像素(例如,点或圈)。多个时间片段706-1、706-2、706-3、706-4、706-5、706-5、706-6和706-7由时间图702所表示,其中每个时间片段包括表示相应事件子集的像素。在多样性矩阵704中,表示了六个维度d1、d2、d3、d4、d5和d6(708)。每个维度的值的多样性被计算并且利用多样性矩阵704中的相应图形元素来表示。例如,对于时间片段706-1中所表示的事件,根据等式2针对相应的六个维度d1、d2、d3、d4、d5和d6计算六个多样性值。这六个多样性值由多样性矩阵704中的相对应列(对应于时间片段706-1)中的相应图形元素710-1、710-2、710-3、710-4、710-5和710-6所表示。注意到,多样性矩阵704具有对应于时间图702中的七个时间片段的七个列。每一列包括表示相应时间片段中事件的相对应六个维度的多样性值的相应六个图形元素集。图形元素710-1表示时间片段706-1中事件的维度d1的值的多样性,图形元素710-2表示时间片段706-1中事件的维度d2的值的多样性,图形元素710-3表示时间片段706-1中事件的维度d3的值的多样性,等等。不同的多样性值由诸如范围712中所表示的那些的不同视觉指示符所表示。不同的视觉指示符可以是不同颜色、不同亮度、不同填充图案,或者所述前述的组合。例如,不同的多样性值能够由不同亮度的不同颜色来表示。因此,第一维度的较高多样性通过向多样性矩阵704中的第一图形元素分配以第一视觉指示符来表示,而第二维度的较低多样性则通过向多样性矩阵704中的第二图形元素分配以第二视觉指示符来表示。维度的多样性能够近似按照相应时间片段中事件的1dmds值的本征值排序,并且因此能够提供相应时间片段中事件的语义理解(semanticinsight)。感兴趣的区域能够在视觉上被绘制,诸如具有在多样性矩阵704中的图形元素所指示的高多样性值的这样的区域。在图7的图形视觉化中,能够应用涂刷和链接技术。涂刷是指选择事件的子集以便进行进一步分析,诸如时间图702所表示的事件的子集。该所选择的事件子集可以被链接至有关该子集的事件的进一步信息。例如,所选择的事件子集能够被链接至表示多样性矩阵704中的多样性值的相对应图形元素。注意到:所选择的事件子集能够小于给定时间片段中的所有事件,而使多样性值仅基于所选择事件子集来计算并视觉化。作为示例,(与网络环境的安全攻击相关联的)端口扫描能够在(多样性矩阵的图形元素的诸如明亮颜色的第一视觉指示符所表示的)端口维度上具有高的多样性,而在(多样性矩阵的图形元素的诸如暗淡颜色的第二视觉指示符所表示的)ip地址维度上具有低的多样性。图8示出了描绘时间图802的另一种示例图形视觉化,上述时间图802将事件的idmds值表示为时间的函数。在时间图802中,子空间804已经被识别(诸如,由用户利用诸如鼠标、键盘、触摸板、触摸屏等的输入设备所选择)。例如,图8提供了用户能够如何针对用户可能感兴趣的事件子空间执行搜索的示例。事件的子空间804可以包括彼此相似的事件。图8的图形视觉化还包括文本区域806,该文本区域806包括子空间804中所表示的事件的详细信息。该详细信息可以包括子空间804中所表示事件的维度的数值。使用根据一些实施方式的技术或机制,用户能够确定哪些事件随时间有所变化,并且还能够检测出事件行为随时间的复发模式或变化。在一些实施方式中,用户能够将光标在时间图的像素上进行移动(例如,通过使用鼠标设备或其它输入设备将鼠标在像素上移动)从而查看光标已经被移动于其上的像素所表示的事件的详细信息。用户能够复查事件的详细信息并且能够将该详细信息与另一个事件的详细信息进行比较。而且,用户能够以迭代方式向维度分配不同的权重,定义不同的时间片段,并且使得生成相对应的视觉化从而在搜索感兴趣的模式或观察时改善对事件的分析。图9是根据一些实施方式的示例计算机系统900的框图。计算机系统900包括物理或硬件处理器(或多个处理器)902。处理器能够包括微处理器、微控制器、可编程集成电路、可编程门阵列或者另一个物理处理设备。(多个)处理器902能够耦合至非瞬态机器可读或计算机可读存储介质(或多个存储介质)904。存储介质(多个存储介质)904能够存储各种机器可读指令,包括维度权重选择指令906(用于选择分配至维度的权重)、相似性计算指令908(用于诸如根据等式1来计算相似性)、重叠时间片段选择指令910(用于选择重叠的时间片段)、1dmds计算指令912(用于计算1dmds值)和视觉化指令914(用于生成诸如以上所讨论的那些的各种视觉化)。维度权重选择指令906能够基于用户所输入的权重(诸如图2中的204或者响应于图3中的用户可启动控制按钮304的启动)来分配权重。相似性计算指令908能够按照102(例如,根据等式1)所执行的那样来计算相似性。重叠时间片段选择指令910能够选择重叠的时间片段,诸如根据图2中的任务4那样进行,从而例如产生如图4b所示的重叠的时间片段。1dmds计算指令912能够诸如根据图1的任务104所执行的那样来计算1dmds值。视觉化指令914能够生成诸如图5-8中所示的那些视觉化。存储介质(或多个存储介质)904能够包括一种或多种不同形式的存储器,包括半导体存储器设备,诸如动态或静态随机访问存储器(dram或sram)、可擦除和可编程只读存储器(eprom)、电可擦除和可编程只读存储器(eeprom)和闪存;磁盘,诸如固定盘、软盘和可移除盘;包括磁带的其它磁性介质;诸如紧致盘(cd)或数字视频盘(dvd)的光学介质;或者其它类型的存储设备。注意到,以上所讨论的指令能够被提供在一个计算机可读或机器可读存储介质上,或者可替换地可以被提供在分布在具有多个节点的大型系统中的多个计算机可读或机器可读存储介质上。这样的一种或多种计算机可读或机器可读存储介质被认为是物品(或制造品)的一部分。物品或制造品可以是指任何所制造的单个组件或多个组件。一个或多个存储介质可以位于运行机器可读指令的机器之中,或者位于能够通过网络从其下载机器可读指令以便执行的远程站点。在以上描述中,给出了很多细节以提供对这里所公开主题的理解。然而,实施方式可以在没有这些细节的情况下被实践。其它实施方式可以包括对以上所讨论细节的修改和变化。所附权利要求意在覆盖这样的修改和变化。当前第1页12