CN107111625A - 实现数据的高效分类和探索的方法和系统 - Google Patents
实现数据的高效分类和探索的方法和系统 Download PDFInfo
- Publication number
- CN107111625A CN107111625A CN201580058106.XA CN201580058106A CN107111625A CN 107111625 A CN107111625 A CN 107111625A CN 201580058106 A CN201580058106 A CN 201580058106A CN 107111625 A CN107111625 A CN 107111625A
- Authority
- CN
- China
- Prior art keywords
- log
- group
- recordings
- mark
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000012545 processing Methods 0.000 claims description 85
- 230000015654 memory Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 abstract description 39
- 238000013480 data collection Methods 0.000 abstract description 6
- 238000004590 computer program Methods 0.000 abstract 1
- 230000009471 action Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 14
- 230000003068 static effect Effects 0.000 description 13
- 230000008901 benefit Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000012300 Sequence Analysis Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012800 visualization Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011031 large-scale manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 for performance assessment
- G06F11/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了一种用于以高效的方式分析数据集的系统、方法和计算机程序产品,使得可以对数据有效地执行分析。能够执行分类操作,以生成相似日志记录的组。这允许以聚合和信息性的方式对日志记录进行分类。
Description
背景技术
许多类型的计算系统和应用生成与那个计算系统或应用的操作相关或由其产生的大量数据。这大量的数据存储到收集的位置中,诸如日志文件/记录,如果需要分析系统或应用的行为或操作,这些日志文件/记录可以在稍后的时间段被审查。
服务器管理员和应用管理员可以通过学习和分析系统日志记录的内容来获益。但是,出于许多原因,从日志文件挖掘知识会是一项非常具有挑战性的任务。一个挑战是日志数据的尺寸可以非常大,从而使得为了具体感兴趣的信息项而分析大量记录效率低下并且困难。如果日志数据中感兴趣的条目在较大的数据集中相对稀疏(情况常常就是这样,因为严重的问题通常是罕见的),则情况尤其如此。但是,当出现这种问题时,他们往往需要立即采取行动,这强调了能够在整个大型日志数据集中高效识别罕见或稀疏的感兴趣记录的重要性。而且,感兴趣的趋势可以隐藏在事件的序列中。发现事件的这些具体序列的原始证据可以存在于日志文件中,但是将个体信息从大量日志数据集中组合起来以得出有意义的结论会是一个特别不平凡的任务。
上面提到的问题在大型复杂的生态系统(诸如复杂的企业级数据库管理系统)中变得更加显著。这种系统可以产生非常大量的存储在硬件日志、操作系统日志、应用日志、应用服务器日志、数据库服务器日志以及监视大型生产系统的行为的其它类型日志中的数据。此外,在云环境中也会存在类似的情况,其中多个客户以虚拟化方式共享相同的物理资源。从这种日志文件中挖掘知识可以相当于在干草堆中寻找针头。
因此,需要一种可用于分析大量数据(诸如由计算系统和应用生成的日志数据)的改进方法。
发明内容
本发明的实施例提供了一种用于以高效的方式分析数据集的方法,使得可以对数据有效地执行分析。在一些实施例中,执行分类操作,以生成相似日志记录的组。这允许以聚合和信息性的方式对日志记录进行分类。此外,可以对日志数据的组执行基于组的增量操作,以检测数据的不同组之间的差异和相似性。也可以在分组数据集中识别子序列。各种类型的分析可以应用到分类的数据。
本发明的实施例提供使分组处理自动化的功能,其中输入是消息列表和相似性阈值,并且操作的输出是组id的列表和组结构。
在一些实施例中执行数据子集化(subsetting),它将日志数据分解成多个子集进行处理。例如,日志数据可以基于每个个体日志记录中的记号的数量被分成子集。以这种方式,日志记录的具体子集内的每个日志记录将被知道具有确切相同数量的记号,并且因此允许依赖这个事实进行处理的分类算法。在一些实施例中,日志数据可以彼此独立地被处理,使得任何记录都被记号化,而不依赖任何其它日志记录的记号化的结果。对日志数据的每个子集执行处理。
在一些实施例中,执行分类,以将日志数据分组为具有足够相似性的日志数据的分组。这个处理被实现,以将日志记录分类到相同或不同的组中,例如,至少部分地基于相似性值是否满足指定的阈值水平。在一些实施例中,相似性值与一个或多个记录的两个集合之间的重叠程度对应。例如,在记号化的日志数据的上下文中,相似性值可以涉及依据“记号内容”和“记号位置”的两个日志记录之间的重叠程度。
在日志数据被分类成适当的组之后,可以对分组的数据执行数据后处理。例如,可以执行附加的处理,以进一步增强分组,使得当进一步实现或识别出适用的分组标准时可以将最初未分组的日志数据放到同一组中。然后可以执行分析,诸如异常检测、序列分析和预测。
在一些实施例中,可以并行地处理截然不同的数据集合,从而允许日志数据的更高效的并发处理。在一些实施例中,采用不同的处理实体对数据集进行记号化,其中第一处理实体对一个或多个记录的第一集合进行记号化,并且第二处理实体对一个或多个记录的第二集合进行记号化。在分类的上下文中,可以针对不同的日志数据集独立地执行基于相似性值对日志数据进行分组的处理,例如,其中第一处理实体执行计算,以分类第一日志记录,并且第二实体独立地执行计算,以分类第二日志记录。
根据一些实施例,本发明涉及一种方法,包括:从处理系统接收多个日志记录,所述多个日志记录包括一个或多个第一日志记录和一个或多个第二日志记录;将所述一个或多个第一日志记录与所述一个或多个第二日志记录进行比较,以确定所述一个或多个第一日志记录与所述一个或多个第二日志记录有多相似,所述一个或多个第一日志记录与所述一个或多个第二日志记录进行比较是通过将所述一个或多个第一日志记录独立地记号化为第一多个记号并将所述一个或多个第二日志记录独立地记号化为第二多个记号进行的,其中依照记号内容和位置两者生成与所述第一多个记号和所述第二多个记号之间的重叠程度对应的相似性值;以及至少部分地基于相似性值是否小于阈值水平而将所述一个或多个第一日志记录和所述一个或多个第二日志记录分类到相同或不同的组中。在一些实施例中,所述一个或多个第一日志记录和所述一个或多个第二日志记录被分类到一个组中,还包括:存储用于该组的签名,该签名包括:由所述一个或多个第一日志记录和所述一个或多个第二日志记录共享的一个或多个重叠部分,以及在所述一个或多个第一日志记录与所述一个或多个第二日志记录之间不同的一个或多个可变部分。在一些实施例中,该方法还包括:存储用于该组的组标识符;存储用于该组的样本日志记录;以及存储与该组关联的日志记录的计数、用于该组的组签名或用于该组的成员信息中的至少一个。在某些实施例中,相似性值被计算为Hamming距离的函数。该方法还可以包括:对所述一个或多个第一日志记录和所述一个或多个第二日志记录中的记号的数量进行计数;以及使用已经为所述一个或多个第一日志记录和所述一个或多个第二日志记录计数的记号的数量来识别子集,其中所述一个或多个第一日志记录与给定子集中的所述一个或多个第二日志记录进行比较。在一些实施例中,将所述一个或多个第一个日志记录和所述一个或多个第二个日志记录作为记录的批量组进行处理。所述一个或多个第一日志记录和所述一个或多个第二日志记录可以被分类到一个组中,并且来自处理系统的多个日志记录被在线处理,这种方法包括:接收个体日志记录;将该个体日志记录与组中的样本日志记录进行比较,以确定该个体日志记录与组中的样本日志记录之间的重叠程度;如果重叠程度小于阈值水平,则将该个体日志记录分类到新组中;而如果重叠程度大于阈值水平,则将该个体日志记录分类到该组中。多组日志记录可以组合在一起,其中与这多组日志记录关联的签名的可变部分被折叠,以识别等效的组签名。多个处理实体可以对所述一个或多个第一日志记录和所述一个或多个第二日志记录并行操作。多个处理实体可以对所述一个或多个第一日志记录和所述一个或多个第二日志记录并行地操作。所述多个处理实体可以执行并行地对所述一个或多个第一和第二记录进行记号化、并行地对所述一个或多个第一和第二记录进行分类或者并行地将多个组合并到一起当中的至少一个。该方法还可以包括识别来自处理系统的多个日志记录中的组的序列。上述的任意组合可以根据本发明的一些实施例来实现。一些实施例涉及其上存储有指令序列的计算机可读介质,所述指令序列在由处理器执行时,使得处理器执行任意前述组合。一些实施例涉及一种系统,包括:处理器和其上存储有指令序列的存储器,所述指令序列在由处理器执行时,使得处理器执行任意前述组合。
在详细描述、附图和权利要求中描述本发明的其它附加目的、特征和优点。
附图说明
下面参考附图描述各种实施例。应当指出,附图不是按比例绘制的,并且贯穿整个附图,具有相似结构或功能的元件由相同的标号表示。还应当指出,附图仅意在促进对实施例的描述。它们不意在作为本发明的详尽描述或作为对本发明的范围的限制。
图1示出了可以在本发明的一些实施例中被用来实现用于分析和分类数据集的方法的示例系统。
图2A示出了用于实现本发明一些实施例的处理的流程图。
图2B示出了根据本发明一些实施例的用于实现数据子集化的处理的流程图。
图2C示出了根据本发明一些实施例的用于执行这些分类和分组动作的处理的流程图。
图2D示出了对日志记录执行在线处理的方法的流程图。
图3A-N提供了对日志数据进行分组的处理的说明性示例。
图4示出了可以被采取以执行数据后处理的一种可能方法的流程图。
图5A-C示出了执行数据后处理的处理。
图6A示出了可以被采取以使为不同批次生成的不同分组同构(homegenous)的方法的流程图。
图6B示出了可以被采取以并行化日志记录的处理的方法的流程图。
图7A示出了可以被采取以识别(分组的)消息的频繁序列的方法的流程图。
图7B示出了消息的示例序列。
图8示出了其中输入包括大日志数据集的场景,该数据集可以在输出中显著减少。
图9A示出了其中输入包括大URL数据集的场景,该数据集可以在输出中显著减少。
图9B示出了对URL数据进行分类的方法的流程图。
图10A示出了其中输入包括大URL数据集的场景,其中输出包括与输入对应的自动生成的正则表达式。
图10B示出了利用自动生成的正则表达式对URL数据进行分类的方法的流程图。
图11A示出了对于踪迹识别出相似但不必相同的异常的场景。
图11B是生成图11A中所示的场景的方法的流程图。
图12示出了其中输入包括SQL代码集并且输出包括已经被分组在一起的SQL的经处理版本的应用。
图13示出了体现本发明的实施例对IT支持目的的应用的系统。
图14示出了可以利用其实现本发明的示例计算系统的体系架构。
具体实施方式
如上面所指出的,许多类型的计算系统和应用生成与那个计算系统或应用的操作相关或由其产生的大量数据。然后这大量的数据存储到收集的位置中,诸如日志文件/记录,如果需要分析系统或应用的行为或操作,这些日志文件/记录可以在稍后的时间段被审查。
本发明的实施例提供了一种用于以高效的方式分析数据集的方法,使得可以对数据有效地执行分析。在一些实施例中,执行分类操作,以生成相似日志记录的组。这允许以聚合和信息性的方式对日志记录进行分类。此外,可以对日志数据的组执行基于组的增量操作,以检测数据的不同组之间的差异和相似性。也可以在分组的数据集中识别子序列。各种类型的分析可以应用到分类的数据。
虽然下面的描述可以通过关于“日志”数据的说明来描述本发明,但是本发明的范围不限于对日志数据的分析,并且实际上可以应用到广泛的数据类型。因此,除非特别声明,否则本发明不仅限于其对日志数据的应用。此外,以下描述也可以可互换地将被处理的数据称为“记录”或“消息”,而不意在将本发明的范围限制到针对数据的任何特定格式。
一般而言,可以对日志数据执行分类操作,其理解是打印在日志文件中的日志消息通常不是任意文本。他们看起来不像电子邮件消息的正文或书中的段落。它们通常是机器生成的并遵循严格的格式。许多、大多数或所有这种消息通常包括框架/恒定部分和可变部分。以下是几个示例:
[M01]Created 1resources for pool sysman-opss-ds,out of which1areavailable and 0are unavailable
[M02]Created 1resources for pool emgc-sysman-pool,out of which 1areavailable and 0are unavailable
[M03]Connection for pool emgc-sysman-pool has been closed
[M04]33%of the total memory in the server is free
[M05]Connection for pool mds-owsm has been closed
[M06]deleting log file:diagnostic-144.log,size:10467701bytes
[M07]Connection for pool mds-sysman mds has been closed
[M08]deleting log file:diagnostic-201.log,size:2154623bytes
[M09]Created 1resources for pool mds-owsm,out of which 1are availableand 0are unavailable
[M10]45%of the total memory in the server is free
尽管它们有差异,但是有可能将先前示例中的消息分成四个组:
[G1]Created 1resources for pool...out of which 1are available and0are unavailable
[G2]Connection for pool...has been closed
[G3]...of the total memory in the server is free
[G4]deleting log file:...size:...bytes
M01、M02和M09直观地属于组G1。这些消息的恒定/构架部分保持原样,可变部分已被“...”代替。类似地,消息M03、M05和M07属于G2,M04和M10属于G3,而M06和M08属于G4。
本发明的实施例提供了使上面提到的分组处理自动化的功能。输入是消息的列表和相似性阈值(即,影响算法的灵敏度的实参)。在一些实施例中,操作(下文中称为“分类”操作)的输出是组id的列表和组结构。在上面的示例中,在一些实施例中的输出将如下所示:
组id:G1、G1、G2、G3、G2、G4、G2、G4、G1、G3
组(组id,签名,样本,计数):
<G1,“Created 1resources for pool...out of which 1are available and0are unavailable”,“Created 1resources for pool sysman-opss-ds,out of which1are available and 0are unavailable”,3>,
<G2,“Connection for pool...has been closed”,“Connection for poolemgc-sysman-pool has been closed”,3>,
<G3,“...of the total memory in the server is free”,“33%of the totalmemory in the server is free”,2>,
<G4,“deleting log file:...size:...bytes”,“deleting log file:EMGC_OMS1-diagnostic-144.log,size:10467701bytes”,2>
图1示出了可以在本发明一些实施例中被采取以实现用于分析和分类数据集的方法的示例系统100。系统100包括位于一个或多个用户站的一个或多个用户,这些用户使用系统100操作日志分析系统104并与其进行交互。用户站包括任何类型的可被用于操作系统100中的日志分析系统104或与其接口的计算站。这种用户站的示例包括例如工作站、个人计算机、移动设备或远程计算终端。用户站包括用于向位于用户站的用户显示用户界面的显示设备,诸如显示器监视器。用户站还包括让用户对系统100的活动提供操作控制的一个或多个输入设备,诸如鼠标或键盘,以在图形用户界面中操纵定点对象,以生成用户输入。
日志分析系统104包括位于用户站的用户可访问的功能,例如,其中日志分析系统104被实现为引擎或模块的集合,以执行分组或分析。分组引擎108执行分类操作,以对原始日志数据112进行分组。这种分组允许系统执行例如日志数据的去重复。分析引擎109可以被用于分析分组的日志数据。这种分析的示例包括异常检测、序列分析和预测。用户界面机构106生成UI,以显示分类和分析结果,并允许用户与日志分析系统进行交互。
由日志分析系统104处理的原始日志数据112可以源自任何日志产生源位置。例如,原始日志数据112可以源自数据库管理系统(DBMS)、数据库应用(DB App)、中间件或任何其它日志产生应用或系统。
日志分析系统104可以从位于用户站的用户接收操作该系统的指令或工作请求。例如,日志分析系统104可以从位于用户站的用户接收分析计算机可读存储设备110中的原始日志数据112的请求。计算机可读存储设备110包括允许对位于计算机可读存储设备110的数据的就绪访问的硬件和软件的任意组合。例如,计算机可读存储设备110可以被实现为由操作系统操作地管理的计算机存储器。计算机可读存储设备110中的数据也可以被实现为数据库对象、云对象和/或文件系统中的文件。
图2A示出了用于实现本发明一些实施例的处理的流程图。在202,接收日志数据进行处理。日志数据可以源自任何日志产生源位置,诸如数据库管理系统、数据库应用、中间件、硬件日志、操作系统日志、应用日志、应用服务器日志、数据库服务器日志以及监视系统或应用的行为的任何其它类型的日志。
在204,执行数据子集化。这个动作将日志数据分解成多个子集进行处理。子集化数据的一个原因是为了优化用于对日志数据进行分类的处理。例如,日志数据可以基于每个个体日志记录中的记号的数量被分成子集。以这种方式,日志记录的具体子集内的每个日志记录将被知道具有确切相同数量的记号,并且因此允许依赖这个事实进行处理的分类算法。
在一些实施例中,日志数据可以彼此独立地被处理,使得任何记录都被记号化,而不依赖任何其它日志记录的记号化的结果。例如,可以分开审查每个日志数据,以识别该记录中的记号的数量,而不需要知道记号化的结果和用于其它日志记录的记号计数。以这种方式,每个日志数据可以基于该具体日志数据中的记号的数量独立地被放到不同的“桶”中,其中每个桶与记号的具体数量关联。
虽然本所示示例示出了基于日志记录中记号的数量的子集化,但是也可以使用其它类型的子集化,例如,至少部分地基于产生记录的具体应用或服务器、记录的时间戳等等。当然,本领域技术人员还将认识到,本文公开的创造性概念不依赖数据子集化,并且实际上可以在各种实施例中执行,甚至不将日志数据分成不同的子集。
对于日志数据的每个子集,在206执行处理。特别地,在208,执行分类,以将日志数据分组成具有足够相似性的日志数据的分组。实现这个过程,以将日志记录分类到相同或不同的组中,例如,至少部分地基于“相似性值”是否满足指定的阈值水平。在一些实施例中,相似性值与一个或多个记录的两个集合之间的重叠程度对应。例如,在记号化的日志数据的上下文中,相似性值可以涉及依据“记号内容”和“记号位置”的两个日志记录之间的重叠程度。记号内容涉及各个记号的内容和/或多个记号的组合。记号位置涉及日志数据中特定记号的相对位置、存在和/或不存在。一般而言,当日志数据的两个集合对于记号内容、记号位置和/或记号内容和定位的组合具有较高水平的对应关系时,相似性值较高,而当日志数据的两个集合之间对于这些项存在较小的对应关系时,相似性值较低。
在日志数据被分类到适当的组中之后,然后可以在210对分组的数据执行数据后处理。例如,可以执行附加的处理,以进一步增强分组,使得当进一步实现或识别出适用的分组标准时可以将最初未分组的日志数据放到同一组中。可以在分组上执行任何合适类型的增强。例如,可以通过比较消息的子部分、语义地给数据加标签以理解踪迹文件的结构和/或相邻可变部分的折叠来实现增强(如下面更详细描述的)。
然后在212可以执行分析。这种分析的示例包括异常检测、序列分析和预测。作为可用于这种方法的异常检测类型的示例,考虑总是在数据的一致时间以一致的频率出现的某种类型的日志记录。如果这种类型的日志记录突然不以相同的频率或时间出现在日志数据中,则可以向管理员通知作为潜在问题的症状的可能值得注意的异常。相反的情况也可以构成可采取动作的异常,其中某种类型的日志记录完全不或者只很罕见地出现在日志数据中,但是突然和/或以大得多的频率和/或在一天中的错误时间出现在日志数据。这可以指向指示存在系统问题或安全漏洞的异常。序列分析可以被用于检查日志数据中预期和/或非预期的集合和记录序列的存在。当在日志数据中检测到某些日志类型、组或序列时,预测可以被用于预测可能的状态和情况。这可以被用于例如在检测到在过去已经与问题相关的已知序列时预测问题情况的存在。通过预测这些情况,管理员甚至可以在它们影响系统的操作或将它们表现为最终用户可见的症状或投诉之前抢先解决可能出现的问题。通过使用本文描述的分组方法,可以更高效地和/或有效地执行这些分析,因为(a)实现了减少复杂度的数据去重复,和(b)将文本数据(日志记录)变换为整数(组id),这更容易以更高效的方式处理。
上述处理的一个优点是可以并行地处理截然不同的数据集合,从而允许日志数据的更高效的并发处理。例如,关于子集化处理,这产生有可能被并行处理的截然不同的数据集,从而允许日志数据的更高效的并行处理。在一些实施例中,采用不同的处理实体对数据集进行记号化,其中第一处理实体对一个或多个记录的第一集合进行记号化,并且第二处理实体对一个或多个记录的第二集合进行记号化。在分类的上下文中,可以针对不同的日志数据集独立地执行基于相似性值对日志数据进行分组的处理,例如,其中第一处理实体执行计算,以分类第一日志记录,并且第二实体独立地执行计算,以分类第二日志记录。并行分类活动可以最终将日志记录分组到相同或不同的组中。如本文所使用的,术语“处理实体”包括可以被用于处理计算系统中的工作的任何类型的实体,诸如但不限于进程、线程、任务、服务器、节点或服务器进程。
如上面所指出的,在本发明的一些实施例中,对日志数据执行数据子集化。这种方法将所有输入消息拆分成记号或词(本文统称为“记号”)的向量。例如,消息M01
[M01]Created 1resources for pool sysman-opss-ds,out of which1areavailable and 0are unavailable.
将被拆分成<“Created”,“1”,“resources”,“for”,“pool”,“sysman-opss-ds”,“out”,“of”,“which”,“1”,“are”,“available”,“and”,“0”,”are“,“unavailable”>。
然后,向量按长度(或记号计数)进行子集化。理由是在一些情况下可以假设只有具有相同数量的记号的消息可以属于相同的组。
图2B示出了根据本发明一些实施例的用于实现数据子集化的处理的流程图,其中给定日志记录中的记号的数量被用于对数据进行子集化。在处理的220,识别要处理的日志记录。在一些实施例中,输入包括来自给定日志文件的日志记录的阵列。
在222,日志记录被记号化。在一些实施例中,记号化处理生成与日志记录中的记号等效的记号。任何合适的分隔符都可以被用于记号化日志记录。对于正常的文本数据,分隔符可以是例如空格或换行。其它类型的数据可以使用不同的分隔符。例如,基于URL的数据可以使用诸如“/”或“\”之类的符号作为分隔符。在某些记号化器中,可能决定不拆分引号内的记号,或者折叠多个空格并将其用作单个分隔符。应当指出,本文公开的创造性概念不依赖于在记号化器中拆分日志记录的任何具体方法。当然,分组结果的质量可以在某种程度上依赖于记号化器(例如,URL vs日志记录vs堆栈踪迹)。
在224,对日志记录中的记号的数量执行计数。在226,然后根据记录中记号的数量将该日志记录放入适当的子集中。
在230检查是否有更多记录要处理。如果有,则处理返回到220,以选择要处理的另一个记录。如果没有,则处理在232结束。
对于给定的子集S,在一些实施例中该方法通过找到尚未分类的第一消息向量V并创建新组G来执行分类/分组。
然后在V与S中的每个尚未分类的向量之间计算相似性值。可以采取任何合适的方法来实现与向量之间的重叠程度的测量对应、与向量之间的差异和/或相似水平对应的相似性值。例如,一些实施例使用“Hamming距离”作为相似性值,其中两个串之间的Hamming距离与对应符号不同的位置数对应。因此,Hamming距离测量将一个串改为另一个串所需的替换次数,并且对于二进制串a和b,可以通过确定对a和b执行XOR操作的数量/百分比来计算Hamming距离。在一些实施例中,采用基于记号的Hamming方法来计算Hamming距离。但是,应当指出,也可以使用其它类型的相似性值代替Hamming距离。例如,可以使用不依赖于记号排序或者对向量/串中的某些位置给予比其它位置更大权重(例如,在串的开始匹配/不匹配的记号被给予比串末尾处的记号更大的权重)的相似性值。
其相似性值/Hamming距离足够小(根据作为输入被传递的相似性阈值)的所有消息被分类到相同的组G中。在这个时候,为该组生成签名,签名可以是描述G中的所有消息的正则表达式的形式,并且对G中的消息的数量进行计数。如果在S中存在任何更多尚未分类的向量,则执行这些动作。当它们全部被处理后,另一个子集S'被选中,并执行相同的动作。当所有子集都被处理后,返回分类结果。
图2C示出了根据本发明一些实施例的用于执行这些分类和分组动作的处理的流程图。在240,识别子集中的日志记录进行处理。在242,为该日志记录创建新的组。对于这个新组G,将对应的消息设置为其样本消息。
对组中每个尚未分类的记录,执行244的处理动作。在246,在组中的样本日志记录与子集中的每个尚未分类的向量之间计算相似性值。如上面所指出的,采用基于记号的Hamming方法来计算相似性值。在248,确定相似性值是否表示满足最小相似性阈值的相似性测量。可以采取任何适当的方法将两个日志记录之间的Hamming距离变换成表示这两个日志记录的相似性测量的百分比。这种公式的示例可以是100*(n-h)/n,其中n表示每个日志记录中的记号的数量,h表示计算出的Hamming距离。例如,可以为该处理配置60%相似性的最小阈值。如果Hamming距离计算指示59%的相似性百分比,则该记录太不相似,以至于不能被放在同一个组中(252)。另一方面,如果Hamming距离计算指示61%的相似性百分比,则记录足够相似,可以放在同一个组中(250)。
在对子集中的每个记录都采取这些动作之后,在254进一步确定在子集中是否存在任何尚未分类的记录。如果存在,则处理返回到240,以选择另一个记录来创建新的组并重复上面的动作,以将记录分类到该组中(如果适当的话)。如果不存在,则选择下一个子集用于在256处理。
图3A-N提供了对日志数据进行分组的处理的说明性示例。图3A示出了原始日志数据的示例集合300。日志数据的这个集合300包括日志记录302a-f。
如图3B中所示,可以对日志数据的集合300执行数据子集化。特别地,每个日志记录302a-f被记号化,以识别记录中的记号的数量。在这里,具有五个记号的每个日志记录可以被放到子集304a中。这个子集包括日志记录302c和302d。具有四个记号的每个日志记录可以被放到子集304b中。该子集包括日志记录302a、302b、302e和302f。
然后,处理通过对具有4个记号的记录(包括日志记录302a、302b、302e和302f)的子集304b进行分类来继续进行。如图3C中所示,选择第一日志记录302a,以启动新的组(组ID为1)。该日志记录的内容被设置为这个新组的样本。
在这个时候,审查每个尚未分类的日志记录,以确定它们是否应当被分类到这个组1。图3D示出了对日志记录302b的分析。为这个日志记录302b生成Hamming距离,以查看它是否距离用于组1的样本的内容足够近。在这种情况下,当执行基于记号的Hamming时,可以看出,两个日志记录不足够相似,使得这两个记录中没有一个记号在任何位置匹配。因此,日志记录302b将不被分类到组1。
图3E示出了对日志记录302e的分析。为这个日志记录302e生成Hamming距离,以查看它是否距离用于组1的样本的内容足够近。在这里,可以看出,两个日志记录非常相似,记录的静态部分对于第一个记号“Server”、第三个记号“is”和第四个记号“down”完全相同。只有第二个记号在两个记录之间不同,样本记录具有“FOO”作为第二个记号,而被分析的记录302e具有“F002”作为第二个记号。如果系统使用60%的最小相似性阈值,则由于相似性百分比是75%(四个记号中的三个匹配),因此日志记录302e将被分类到组1。
图3F示出了对日志记录302f的分析。为这个日志记录302f生成Hamming距离,以查看它是否距离组1的样本的内容足够近。在这种情况下,可以看出,两个日志记录不足够相似,使得这两个记录中没有一个记号在任何位置匹配。因此,日志记录302f将不被分类到组1。
在这个时候,已经得出结论,记录302a和302e都应当是组1的一部分。图3G示出了表示组1的数据对象的内容,这两个记录都被分类到这个组。用于这个组的样本仍然是用于这个组的第一个记录302a的内容。此外,已经建立了签名,签名识别用于该组的记号的静态部分,连同用符号“...”表示的可变部分。这创建了表示组的所有成员的一种正则表达式。此外,对组中的记录的数量进行计数(表示记录302a和302e的计数2)。虽然没有在图中示出,但是为该组维护的信息还将包括属于它的成员的身份。在这个示例中,组1的成员是302a和302e。
现在子集304b中仍然存在至少一个尚未分类的记录。如图3H中所示,选择日志记录302b,以启动新的组(组ID为2)。该日志记录的内容被设置为这个新组的样本。
在这个时候,比较其余的未分类的日志记录中的每一个,以确定它们是否应当分类到这个组2。图3I示出了对日志记录302f的分析。为这个日志记录302f生成Hamming距离,以查看它是否距离组2的样本的内容足够近。在这里,可以看出,两个日志记录非常相似,记录的静态部分对于第一个记号“Network”、第二个记号“failure”和第三个记号“at”完全相同。只有第四个记号在两个记录之间不同,样本记录具有“15:04”作为第四个记号,而被分析的记录302f具有“21:00”作为第四个记号。如果系统使用60%的最小相似性阈值,则由于相似性百分比是75%(四个记号中的三个匹配),因此日志记录302f将被分类到组2。
到这个时候,已经得出结论,记录302b和302f都应当是组2的一部分。图3J示出了表示组2的数据对象的内容,这两个记录都被分类到这个组。用于这个组的样本仍然是用于这个组的第一个记录302b的内容。此外,已经建立了签名,签名识别用于该组的记号的静态部分,连同用符号“…”表示的可变部分。这创建了表示组的所有成员的一种正则表达式。此外,对组中的记录的数量进行计数(表示记录302b和302f的计数2)。为该组维护的信息还将包括属于它的成员的列表。在这个示例中,组2的成员是302b和302f。
由于子集304b中的所有记录现在都已被分类,因此将选择另一个子集进行处理。如图3K中所示,现在将选择子集304a进行处理。选择日志记录302c,以启动新的组(组ID为3)。该日志记录的内容被设置为这个新组的样本。
现在比较其余的尚未分类的日志记录中的每一个,以确定它们是否应当分类到这个组3。图3L示出了对日志记录302d的分析。为这个日志记录302d生成Hamming距离,以查看它距离组3的样本的内容是否足够近。在这里,可以看出,两个日志记录非常相似,记录的静态部分对于第一个记号“Server”、第四个记号“is”、第五个记号“down”完全相同。只有第二和第三个记号不同。如果系统使用60%的最小相似性阈值,则由于相似性百分比恰好为60%(五个记号中的三个匹配),因此日志记录302d将被分类到组3。
现在已经得出结论,记录302c和302d都应当是组3的一部分。图3M示出了表示组3的数据对象的内容,这两个记录都被分类到这个组。用于这个组的样本仍然是用于这个组的第一个记录302c的内容。此外,已经建立了签名,签名识别用于该组的记号的静态部分,连同用符号“…”表示的可变部分。这创建了表示组的所有成员的一种正则表达式。此外,对组中的记录的数量进行计数(表示记录302c和302d的计数2)。为该组维护的信息还将包括属于它的成员的身份。在这个示例中,组3的成员是302c和302d。
图3N示出了为日志记录确定的最终组。明显的是,这种方法提供了极其高效和快速的操作,因为它对简单且直接的向量化的操作进行操作。此外,这种方法沿着许多不同类型的分区边界(例如,子集边界或分类操作边界)可并行化。
在正常情况下,这种方法可以实现相当可观的信息减少。文本消息可以被变换成组ID(存储为整数)。截然不同的消息的数量通常比所发现的消息组的数量小几个数量级。而且,将文本变换成数值允许开发进一步的用于异常检测、序列分析、预测等的算法。这种算法对数字比对文本数据更快地操作。
本发明的实施例可以应用于应对在线和离线处理。对于离线处理,消息的语料库被收集在一起,然后作为记录的整个组以批量的形式进行处理。例如,可以应用上述处理来应对针对收集的记录语料库的离线处理。
图2D示出了可以被采取以实现消息的在线处理的方法的流程图。这种情况可以在例如分析系统被实现以应对传入的消息流时发生,因此每个记录/消息不间断地被个体地处理。该过程在262开始,其中接收要处理的个体记录。如前面所指出的,日志数据可以源自任何日志产生源位置,诸如数据库管理系统、数据库应用、中间件、硬件日志、操作系统日志、应用日志、应用服务器日志、数据库服务器日志以及监视系统或应用的行为的任何其它类型的日志。
对于这种类型的在线处理,可能已经为先前处理过的消息设置了一个或多个组,其中执行处理以检查新消息是否属于先前建立的组。因此,在264,为这种类型的检查最初选择现有组中的一个。在266,计算新消息与用于现有组的样本消息之间的相似性值。如前面所指出的,可以使用任何合适的相似性值。在一些实施例中,计算新消息与用于组的样本消息之间的Hamming距离。
在268确定相似性值是否满足指定的匹配阈值。如果满足,则在270,新消息被归类到现有的组中。如果不满足,则在272就是否有任何更多的现有组要处理做出另一个确定。如果有,则处理循环回到264,以选择该现有组并重复上面的步骤。
如果没有找到与现有组的匹配并且没有更多的组要处理,则在274,为新消息创建新组。该新组将包括该新消息作为消息样本。
在线处理方法的潜在问题是这种逐个对消息进行处理的类型可能消耗过多的不间断系统资源。另一方面,离线处理可能在消息的生成与对分类的消息执行分析的点之间招致太多的延迟。
因此,可以采取与在线和离线方法两者的各方面一起操作的混合方法。利用混合方法,单个消息不会逐个进行处理;也不会将消息的整体一起聚集成一个极其大的组进行批量处理。相反,可以收集传入的消息,直到阈值数量的消息(例如,大约一百个消息)被聚集在一起,然后作为组来处理。以这种方式,系统更高效地处理消息,因为它们作为组而不是逐个处理,同时,给定要处理的消息的组的相对较小的尺寸,仍然减少了延迟。
在替代实施例中,不是收集阈值数量的消息,而是可以建立阈值时间段,用于收集要作为组被处理的消息。
无论是执行在线、离线还是混合处理,都可以附加地对分组的数据执行数据后处理,以进一步增强分组结果。为了解释为什么这会是期望的,考虑图3N中所示的组。可以看出,用于组1的样本日志消息(“Server FOO is down”)与用于组3的样本日志消息(“ServerEAST COAST is down”)非常相似。在这种情况下,这两个组之间的唯一区别是组3的消息包括2记号的服务器名称,而组1的消息包括1记号的服务器名称。照此,将用于这两个组的消息包括在相同的整体组中是合理的。但是,基于消息中记号的数量执行数据子集化的算法将这些消息放到不同的子集中(并因此放到不同的组中)导致图3N中所示的组。
图4示出了可以被采取以执行数据后处理来解决这种情况的一种可能方法的流程图。在402,处理通过接收用于不同组的签名开始。签名包括静态记号部分以及零个或更多个可变记号部分。
接下来,在404,可变记号部分被折叠。折叠可变记号部分的一种可能方法是识别所有相邻的可变部分,然后将相邻的可变部分折叠成单个可变部分。
其后,在406,将折叠后的签名彼此进行比较。如果任何折叠后的签名匹配,则在408,匹配的签名的消息可以被合并在一起成为单个组。
图5A-C示出了这个处理。图5A再现了先前识别出的组1和组3。在这里,组1与签名“Server...is down”对应,组3与签名“Server......is down”对应。
如图5B中所示,下一个动作是折叠这些签名中的每一个。如前面所指出的,组1与签名“Server...is down”对应,该签名包括作为静态记号的第一个记号“Server”、作为静态记号的第三个记号“is”和作为静态记号的第四个记号“down”。符号“...”表示在第二个记号位置的单个可变记号。由于只有单个可变记号,因此在这个签名中确实没有要折叠的东西。其结果是,签名的折叠版本502与签名的原始版本确切相同。
组3与签名“Server......is down”对应,该签名包括作为静态记号的第一个记号“Server”、作为静态记号的第四个记号“is”和作为静态记号的第五个记号“down”。但是,表示可变记号的符号“...”在这个签名中出现两次(在第二个记号位置和第三个记号位置)。
在这种情况下,由于在相邻的记号位置中存在多个可变部分,因此用于组3的签名确实可以被折叠。因此,可以通过将两个可变记号部分组合成单个可变记号部分来折叠这个签名。这种方法将原始签名:“Server......is down”转换成折叠签名504:“Server...isdown”。
如图5C中所示,现在可以在用于组1的折叠签名502和用于组3的折叠签名504之间执行比较。在这里,因为用于这两个组的折叠签名确切地匹配,所以与这些匹配的签名关联的消息可以被合并在一起成为单个组。
对日志数据进行分组的上述操作可以对不同批次的日志记录执行。例如,不同批次的组可能已经在不同的时间点生成。能够比较来自不同批次的组以确定可能在不同批次之间改变的组内容的任何变化将是有意义的。
仅作为一个示例,假设管理员试图追踪某种类型的错误消息随时间推移的发生。在这种情况下,这可以通过为每个时间段识别与错误消息关联的组、然后为每个时间段检查该组的计数来实现。
问题在于,由于分组处理发生在不同的时间段内,而消息本身可能已经被适当地分组在一起,因此指派给组的具体组编号可以在不同时间段之间变化。如果组编号以非确定性的方式指派给组,则尤其如此。因此,确定在第一时间段内建立的组是否与在第二时间段内建立的另一个组匹配可能是一个重要的练习(exercise)。
应当指出,这个问题可以对对不同批次的日志消息执行分组的任何基础发生。这些批次可以基于某个时间约束、基于目标id(例如,基于具体的服务器名称)或者可用的任何其它过滤器来生成。
图6A示出了可以被采取以使为不同批次生成的不同组集合同构并且比较计数如何从一个批次到下一个批次变化的方法的流程图。
在602,对不同批次中的不同组集合执行比较。在604,然后识别不同批次之间匹配的组。这些动作可以例如通过使用用于每个组的样本文本来执行。利用样本,于是可以使用先前描述的计算相似性值/Hamming距离的处理来检查用于不同批次中的组的每个样本之间的相似性/差异的阈值水平。满足最小阈值相似性阈值的任何组将被分类为属于同一个组。实际上,为了使不同批次的组同构,这个操作调用上述分类功能并将所有组样本作为输入消息传递。分组在一起的样本与应当被合并到新的全局组中的来自不同批次的组对应。新的全局组的计数仅仅是已经合并的原始组合中的各个计数的总和。
在606,然后可以对不同批次中的组进行规格化,以记录它们与批次之间的共同组的关联。保存这种规格化的一种途径是利用用于属于同一组的记录的公共标识符来给每个记录加标签。此外,可以将共同的样本指派给应当彼此关联的所有组。
其后,在608,为用户执行并生成整体处理分类(下文中称为分类增量)。例如,批次可以根据时间或其它因素进行排序。全局计数的比较可以被用作异常检测的形式,因为它可以指示系统行为的变化。
当消息的语料库极其大时,这种方法对于并行化记录的处理也是有用的。在这种情况下,大的消息组可以被分解成小得多的记录子集进行处理。然后,可以在将结果合并到一起成为最终的组集合之前并行地处理每个子集。
图6B示出了执行这种类型的并行化的方法的流程图。在612,记录集被划分成多个记录子集。在614,每个子集由不同的处理实体单独处理,以对记录进行分组。这种处理实体可以包括例如并行进程、线程、任务、节点、处理器和/或能够执行工作的任何其它类型的实体。
然后可以将为不同子集识别出的组放在在一起。在616,对不同子集中的不同组集合进行比较。这可以例如通过为子集内的每个组的样本文本计算相似性值来执行。可以使用先前描述的计算相似性值/Hamming距离的处理来检查用于不同子集中的组的每个样本之间的相似性/差异的阈值水平。
在618,然后识别不同子集之间匹配的组。满足最小阈值相似性阈值的任何组将被分类为属于相同的整体组。
在620,在阈值相似性水平内匹配的子集内的每个组将被合并到一起成为全局组。新的全局组的计数仅仅是已经合并的原始组中的各个计数的总和。
本实施例还提供了可视化处理结果的改进方法。决定要聚焦消息的哪些组以及如何可视化结果会是有挑战性的。在一些实施例中,改进的可视化可以通过按照连续批次之间的绝对差异的最大值并通过显示最上面n个结果对组进行排序(sort)。然后可以使用任何合适的方法来显示结果,例如,通过使用斜率图或热图可视化结果。
到目前为止讨论的先前的操作提供了关于各个消息组的信息。本发明的实施例还可以被扩展为识别(分组的)消息的频繁序列(在本文中被称为“findSubsequences”)。可以被用于实现这个操作的示例函数原型如下:
findSubsequences(sequence,elements,before,after,top,min.freq)
“sequence”形参是表示由上述分类操作返回的组id的序列的输入向量。“elements”形参表示感兴趣的组id的输入向量。“before”和“after”形参分别表示相对于要分析的给定元素在之前和之后的组id的数量,以便发现频繁的子序列。“top”形参定义要在结果中示出的最频繁的子序列的数量。“min.freq”形参为这些子序列必须具有的最小频率设置过滤器。
图7A示出了可以被采取以实现这个操作的方法的流程图。在702,为操作接收或定义实参,例如,使用上面定义的形参。
接下来,在704,处理通过数据的滑动窗口。滑动窗口的尺寸为n,它等于尺寸为before+after+1的窗口。滑动窗口是通过查找原始序列中给定元素的所有位置并将滑动窗口迭代地在这些位置之上对齐来处理的(706)。
对于在滑动窗口时发现的长度为n的每个子序列,生成散列码。然后,对每个散列码的出现次数进行计数(708)。最后,按照频率对散列码进行排序,其中基于“top”输入形参选择top个散列码。可以应用过滤动作来过滤掉不符合最低频率标准的那些。在这个时候,与散列码对应的实际子序列可以被检索并和结果一起返回(710)。
以下是这个操作的示例:
>fmdSubsequences(some.sequence,elements=(1,68),before=2,after=3,top=5,min.freq=2)
这个示例寻找以“1”或“68”标识符为中心的所有子序列,在这些标识符前面有两个标识符,后面有三个标识符。该请求是针对要返回的按频率的前五个,最小频率为二。
图7B在用户界面中示出了可以为这个示例操作返回的结果的可能示例,其中部分712示出了与期望的模式匹配并且满足最低频率标准的各种子序列S1、S2、S3、S4和S5(例如,按照频率的前五个子序列)。例如,序列S1在位置3处具有“68”,在该位置之前具有两个标识符(即,“68”和“69”)以及之后具有三个标识符(即,“69”、“68”和“69”)。类似地,序列S2在位置3处具有“1”,在该位置之前具有两个标识符(即,“8”和“8”)以及之后具有三个标识符(即,“1”、“1”和“301”)。每个其它识别出的序列类似地在位置3处具有“1”或“68”,在该位置之前具有两个标识符,以及之后具有三个标识符。部分714可以被用于识别相应子序列的频率,例如,每个子序列在被分析的数据中出现多少次。
识别更大序列内的频繁子序列允许聚焦于某些日志消息(指定的元素)并且找出针对这些消息的上下文。然后可以进一步调查不同日志消息之间的相关性,并探索这些消息/序列中的趋势和模式。
本发明的实施例有众多可能的应用,其提供许多益处和优点。一个可能的应用是减少机器数据和日志数据的量。图8示出了其中输入802包括大日志数据集的场景,该数据集可以使用本发明的实施例在输出804中显著减少。这允许显著的日志减少和可能的无监督式去重复处理。
如果要执行URL的归类,则使用另一个场景。图9A示出了其中输入922包括大URL数据集的场景,该数据集可以使用本发明的实施例中将相似的URL分组在一起而在输出924中显著减少。这种方法是有用的,例如,对于执行自动Web日志分析。
图9B示出了实现这种类型的处理的方法的流程图。在902,接收要处理的数据记录。这些数据记录包括具有URL数据的条目,例如在图9A的输入922中所示出的。
在904,利用“/”字符作为记号化器分隔符来执行记号化。这与使用空格作为分隔符的方法(如对前面的示例所描述的)形成对比。通过使用“/”字符作为分隔符,这将典型的URL地址分解成其组成部分,从而允许检查不同URL数据输入的可变部分。这个动作使用“/”符号将URL数据分解成多个子集进行处理。
其后,在906,处理每个数据子集。在908,执行分类,以将日志数据分组成具有足够相似性的日志数据的分组。其后,在910,向系统用户提供后处理和结果的生成。
还有另一个可能的应用是引导正则表达式生成。图10A示出了其中输入1022包括大URL数据集并且其中输出1024包括与输入对应的自动生成的正则表达式的场景。这种方法是有用的,例如,对于允许人们从文本样本的语料库中学习。
图10B示出了执行这种类型的处理的方法的流程图。在1002,接收要处理的数据记录。这些数据记录包括具有URL数据的条目,诸如图10A的输入1022中所示出的。
在1004,执行数据子集化。如前所述,利用“/”字符作为记号化器分隔符执行记号化。通过使用“/”字符作为分隔符,这将典型的URL地址分解成其组成部分,从而允许检查不同URL数据输入的可变部分。
其后,在1006,处理每个数据子集。在1008,执行分类,以将日志数据分组成具有足够相似性的日志数据的分组。
与先前描述的方法不同,在这里,在1010,追踪组内的可变部分的不同值。通过追踪给定组中的可变部分的所有不同值,这识别出该可变部分的可能值的范围。然后,可以将这个值范围转化为与组签名内那个值范围对应的正则表达式。
在1012,然后可以为分类创建语法。用于分类的语法允许例如为给定的分类组生成任何附加的样本输出(例如,用于测试目的)。其后,在1014,向系统用户提供后处理和结果的生成。
另一个用例是匹配堆栈踪迹。图11A示出了其中输入1122包括踪迹并且输出1124识别相似但不必相同的Java异常的场景。
图11B示出了实现这种类型的处理的方法的流程图。在1102,接收要处理的数据记录。这些数据记录包括具有多行消息数据的条目,诸如图11A的输入1122中所示出的。
在1104,使用换行符作为记号化器分隔符来执行记号化。这是除之前描述的使用其它分隔符(诸如空格分隔符)的方法之外的另一种方法。因此,它创建了多个数据子集。
其后,在1106,处理每个数据子集。在1108,执行分类,以将日志数据分组成具有足够相似性的日志数据的分组。其后,在1110,向系统用户提供后处理和结果的生成。
本发明的实施例还可以被用于编目SQL工作并执行工作分类。图12示出了这个应用,其中输入1202包括SQL代码的集合,并且输出1204包括已经分组在一起的SQL的分类版本。
图13示出了体现本发明的实施例对IT支持目的的有利应用的系统1300。在这里,维护存储设备1310,以保持日志记录1312。还可以维护问题数据库1314,以保持关于先前的问题场景和关联的问题解决方案的历史信息。这个问题DB 1314可以包括例如消息签名和相关的注释、评论、先前的解决方案以及与问题解决方案相关的专家系统数据的集合。DB1314可以包括从任何合适的来源填充的信息。在一种情况下,当问题得以解决时,DB 1314被更新,并且与模式/消息签名关联,使得可以以相同的方式解决未来的发生。此外,产品的原始开发/测试团队可以是DB 1314中至少部分知识库的来源。
IT支持系统1304可以包括日志分组引擎1308,以对日志记录1312进行分组和分类。日志分组引擎1308实现上述功能,以对消息进行分类,以识别这些消息并将它们指派到适当的组中。
IT支持系统1304还可以包括IT支持分析引擎1309。这个支持引擎由IT支持人员用来解决由该支持人员管理/支持的系统中可能出现的问题。这个分析引擎通过识别日志记录1312中的模式、然后在问题DB 1314内匹配这些模式来发挥作用。就识别出的模式涉及可能的问题场景的程度而言,数据库1314然后可以提供关于如何解决和纠正可能的问题的建议。
例如,考虑当接收到指示在系统中存在操作或性能问题的用户投诉时的场景。支持人员将操作支持系统1304,以分析相关日志记录,以检查与已知问题相关联的模式的存在,然后使用可能与已知问题模式关联的知识库、专家系统或菜单/配方来解决问题。
作为另一个场景,支持系统可以被用于通过使用系统检查与将来可能发生的已知使用情况关联的模式来执行预测。在这种情况下,如果预测出的情况是问题情况,则支持人员可以在它造成任何中断或影响用户体验之前采取先发制人的动作来预期并可能纠正问题。
作为另一个示例情况,考虑系统被用于检查操作环境中的异常的情况。由系统审查日志记录,并检查是否存在任何非预期的日志消息或日志消息序列。这些检测到的异常可以指示存在应当由支持人员纠正的操作问题或安全漏洞。应当指出,该处理可以被自动化,在代替支持人员(人类)的意义上,可以实现自动化的系统,以提供这里讨论的功能。
关于可以结合本发明的实施例使用的示例性日志分析系统的进一步细节在于2015年4月3日提交的美国临时申请No.62/142,987中公开。
以上描述是在以批处理/离线模式执行动作的一种可能类型的处理的上下文中提供的。在这种模式下,所有的输入都在一批中提供,然后处理返回输出。
替代方法是在在线模式下执行处理。在这种新方法中,所有输入日志数据不必在一批中提供。相反,分组可以以递增方式执行,其中在日志记录到达系统时逐个提供日志记录。对于每个新的日志记录,系统发现它是否属于现有的组,或者是否需要创建新的组并使用这个记录作为样本。每次将新记录指派到现有的组中时,系统更新计数以及可以更新签名。在线方法有若干应用/优点。例如,可以使用它在日志记录进入系统时对日志记录进行分类。这与离线方法不同,其中分类任务可以根据请求运行。
根据一些实施例,本发明涉及一种方法,包括:从处理系统接收多个日志记录,所述多个日志记录包括一个或多个第一日志记录和一个或多个第二日志记录;将所述一个或多个第一日志记录与所述一个或多个第二日志记录进行比较,以确定所述一个或多个第一日志记录与所述一个或多个第二日志记录有多相似,所述一个或多个第一日志记录与所述一个或多个第二日志记录进行比较是通过将所述一个或多个第一日志记录独立地记号化为第一多个记号并将所述一个或多个第二日志记录独立地记号化为第二多个记号,其中依照记号内容和位置两者生成与所述第一多个记号和所述第二多个记号之间的重叠程度对应的相似性值;以及至少部分地基于相似性值是否小于阈值水平而将所述一个或多个第一日志记录和所述一个或多个第二日志记录分类到相同或不同的组中。在一些实施例中,所述一个或多个第一日志记录和所述一个或多个第二日志记录被分类到一个组中,还包括:存储用于该组的签名,该签名包括:由所述一个或多个第一日志记录和所述一个或多个第二日志记录共享的一个或多个重叠部分,以及在所述一个或多个第一日志记录与所述一个或多个第二日志记录之间不同的一个或多个可变部分。在一些实施例中,该方法还包括:存储用于该组的组标识符;存储用于该组的样本日志记录;以及存储与该组关联的日志记录的计数、用于该组的组签名或用于该组的成员信息中的至少一个。在某些实施例中,相似性值被计算为Hamming距离的函数。该方法还可以包括:对所述一个或多个第一日志记录和所述一个或多个第二日志记录中的记号的数量进行计数;以及使用已经为所述一个或多个第一日志记录和所述一个或多个第二日志记录计数的记号的数量来识别子集,其中所述一个或多个第一日志记录与给定子集中的所述一个或多个第二日志记录进行比较。在一些实施例中,将所述一个或多个第一个日志记录和所述一个或多个第二个日志记录作为记录的批量组进行处理。所述一个或多个第一日志记录和所述一个或多个第二日志记录可以被分类到一个组中,并且来自处理系统的多个日志记录被在线处理,这种方法包括:接收个体日志记录;将该个体日志记录与组中的样本日志记录进行比较,以确定该个体日志记录与组中的样本日志记录之间的重叠程度;如果重叠程度小于阈值水平,则将该个体日志记录分类到新组中;而如果重叠程度大于阈值水平,则将该个体日志记录分类到该组中。多组日志记录可以组合在一起,其中与这多组日志记录关联的签名的可变部分被折叠,以识别等效的组签名。多个处理实体可以对所述一个或多个第一日志记录和所述一个或多个第二日志记录并行操作。多个处理实体可以对所述一个或多个第一日志记录和所述一个或多个第二日志记录并行地操作。所述多个处理实体可以执行并行地对所述一个或多个第一和第二记录进行记号化、并行地对所述一个或多个第一和第二记录进行分类或者并行地将多个组合并到一起当中的至少一个。该方法还可以包括从处理系统识别多个日志记录中的组的序列。上述的任意组合可以根据本发明的一些实施例来实现。一些实施例涉及其上存储有指令序列的计算机可读介质,所述指令序列在由处理器执行时,使得处理器执行任意前述组合。一些实施例涉及一种系统,包括:处理器和其上存储有指令序列的存储器,所述指令序列在由处理器执行时,使得处理器执行任意前述组合。
因此,已经描述的是用于以高效的方式分析数据集的改进的系统、方法和计算机程序产品,使得可以对数据有效地执行分析。在一些实施例中,执行分类操作,以生成相似日志记录的组。这样以聚合和信息性的方式对日志记录进行分类。此外,可以对日志数据的组执行基于组的增量操作,以检测不同数据组之间的差异和相似性。也可以在分组的数据集中识别子序列。各种类型的分析可以应用到分类的数据。
系统体系架构概述
图14是适于实现本发明实施例的说明性计算系统1400的框图。计算机系统1400包括用于传送信息的总线1406或其它通信机制,它互连子系统和设备(诸如处理器1407、系统存储器1408(例如,RAM)、静态存储设备1409(例如,ROM)、磁盘驱动器1410(例如,磁性或光学)、通信接口1414(例如,调制解调器或以太网卡)、显示器1411(例如,CRT或LCD)、输入设备1412(例如,键盘)和光标控制。
根据本发明的一个实施例,计算机系统1400通过处理器1407执行系统存储器1408中包含的一条或多条指令的一个或多个序列来执行具体操作。这种指令可以从另一个计算机可读/可用介质(诸如静态存储设备1409或磁盘驱动器1410)读入系统存储器1408。在替代实施例中,可以使用硬连线的电路系统代替或与软件指令组合,以实现本发明。因此,本发明的实施例不限于硬件电路系统和/或软件的任意特定组合。在一个实施例中,术语“逻辑”是指用于实现本发明的全部或部分的软件或硬件的任意组合。
如本文所使用的,术语“计算机可读介质”或“计算机可用介质”是指参与向处理器1407提供指令以供执行的任何介质。这种介质可以采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质包括例如光盘或磁盘,诸如盘驱动器1410。易失性介质包括动态存储器,诸如系统存储器1408。
计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其它磁性介质,CD-ROM、任何其它光学介质,打孔卡、纸带、任何具有图案或孔的其它物理介质,RAM、PROM、EPROM、FLASH-EPROM、任何其它存储器芯片或盒式存储器、基于云的存储器或计算机可以从其读取的任何其它介质。
在本发明的实施例中,执行实践本发明的指令序列是由单个计算机系统1400执行的。根据本发明的其它实施例,通过通信链路1415耦合的两个或更多个计算机系统1400(例如,LAN、PTSN或无线网络)可以彼此协调地执行实践本发明所需的指令序列。
计算机系统1400可以通过通信链路1415和通信接口1414来发送和接收消息、数据和指令,包括程序,即,应用代码。接收到的程序代码可以在其被接收时由处理器1407执行,和/或存储在盘驱动器1410或其它非易失性存储器中以供稍后执行。可以从在存储设备1431中维护的数据库1432访问数据,数据库1432是使用数据接口1433来访问的。
在前面的说明书中,已经参照其具体实施例描述了本发明。但是,显而易见的是,在不背离本发明的更广泛的精神和范围的情况下,可以对其进行各种修改和改变。例如,上述处理流程是参考处理动作的特定次序来描述的。但是,所描述的处理动作中的许多的次序可以改变,而不会影响本发明的范围或操作。相应地,说明书和附图应当被认为是说明性而不是限制性的。此外,所示实施例不需要具有所示的所有方面或优点。结合特定实施例描述的方面或优点不一定限于那个实施例,并且可以在任何其它实施例中实践,即使没有如此示出。而且,贯穿本说明书,对“一些实施例”或“其它实施例”的引用意味着结合实施例描述的特定特征、结构、材料或特点包括在至少一个实施例中。因此,短语“在一些实施例中”或“在其它实施例中”贯穿本说明书的各个地方的出现不一定是指相同的实施例。
Claims (13)
1.一种方法,包括:
从处理系统接收多个日志记录,所述多个日志记录包括一个或多个第一日志记录和一个或多个第二日志记录;
将所述一个或多个第一日志记录与所述一个或多个第二日志记录进行比较,以确定所述一个或多个第一日志记录与所述一个或多个第二日志记录有多相似,所述一个或多个第一日志记录与所述一个或多个第二日志记录进行比较是通过将所述一个或多个第一日志记录独立地记号化为第一多个记号并将所述一个或多个第二日志记录独立地记号化为第二多个记号进行的,其中依照记号内容和位置两者生成与所述第一多个记号和所述第二多个记号之间的重叠程度对应的相似性值;及
至少部分地基于相似性值是否小于阈值水平而将所述一个或多个第一日志记录和所述一个或多个第二日志记录分类到相同或不同的组中。
2.如权利要求1所述的方法,其中所述一个或多个第一日志记录和所述一个或多个第二日志记录被分类到一个组中,所述方法还包括:
存储用于所述组的签名,所述签名包括:
由所述一个或多个第一日志记录和所述一个或多个第二日志记录共享的一个或多个重叠部分,及
在所述一个或多个第一日志记录与所述一个或多个第二日志记录之间不同的一个或多个可变部分。
3.如前述权利要求中任一项所述的方法,还包括:
存储用于所述组的组标识符;
存储用于所述组的样本日志记录;及
存储与所述组关联的日志记录的计数、用于所述组的组签名或用于所述组的成员信息中的至少一个。
4.如前述权利要求中任一项所述的方法,其中相似性值被计算为Hamming距离的函数。
5.如前述权利要求中任一项所述的方法,还包括:
对所述一个或多个第一日志记录和所述一个或多个第二日志记录中的记号的数量进行计数;及
使用已经对所述一个或多个第一日志记录和所述一个或多个第二日志记录计数的记号的数量来识别子集,其中所述一个或多个第一日志记录与给定子集中的所述一个或多个第二日志记录进行比较。
6.如前述权利要求中任一项所述的方法,其中所述一个或多个第一日志记录和所述一个或多个第二日志记录作为记录的批量组进行处理。
7.如前述权利要求中任一项所述的方法,其中所述一个或多个第一日志记录和所述一个或多个第二日志记录被分类到一个组中,并且来自处理系统的所述多个日志记录被在线处理,所述方法还包括:
接收个体日志记录;
将所述个体日志记录与所述组中的样本日志记录进行比较,以确定所述个体日志记录与所述组中的样本日志记录之间的重叠程度;
如果重叠程度小于阈值水平,则将所述个体日志记录分类到新组中;及
如果重叠程度大于阈值水平,则将所述个体日志记录分类到所述组中。
8.如前述权利要求中任一项所述的方法,还包括将多组日志记录组合在一起,其中与所述多组日志记录关联的签名的可变部分被折叠,以识别等效的组签名。
9.如前述权利要求中任一项所述的方法,其中多个处理实体对所述一个或多个第一日志记录和所述一个或多个第二日志记录并行操作。
10.如权利要求9所述的方法,其中所述多个处理实体执行以下当中的至少一个:并行地对所述一个或多个第一日志记录和所述一个或多个第二日志记录进行记号化、并行地对所述一个或多个第一日志记录和所述一个或多个第二日志记录进行分类或者并行地将多个组合并到一起。
11.如前述权利要求中任一项所述的方法,还包括识别来自所述处理系统的所述多个日志记录中的组的序列。
12.一种其上存储有指令序列的计算机可读介质,所述指令序列在由处理器执行时,使所述处理器执行如权利要求1-11中任一项所述的方法。
13.一种系统,包括:
处理器;
存储器,其上存储有指令序列,所述指令序列在由处理器执行时,使所述处理器执行如权利要求1-11中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462056073P | 2014-09-26 | 2014-09-26 | |
US62/056,073 | 2014-09-26 | ||
PCT/US2015/051927 WO2016049307A1 (en) | 2014-09-26 | 2015-09-24 | Method and system for implementing efficient classification and exploration of data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107111625A true CN107111625A (zh) | 2017-08-29 |
CN107111625B CN107111625B (zh) | 2021-03-12 |
Family
ID=57398594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580058106.XA Active CN107111625B (zh) | 2014-09-26 | 2015-09-24 | 实现数据的高效分类和探索的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9626271B2 (zh) |
EP (1) | EP3198478A1 (zh) |
CN (1) | CN107111625B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851292A (zh) * | 2019-10-12 | 2020-02-28 | 中国平安财产保险股份有限公司 | 操作错误智能预防的方法、装置及计算机可读存储介质 |
US20200092182A1 (en) * | 2018-09-14 | 2020-03-19 | Kabushiki Kaisha Yaskawa Denki | Resource monitoring system, resource monitoring method, and information storage medium |
CN111796758A (zh) * | 2019-04-02 | 2020-10-20 | 是德科技股份有限公司 | 数据记录与分析系统 |
CN112783754A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种对页面进行测试的方法和装置 |
CN113407656A (zh) * | 2021-06-24 | 2021-09-17 | 上海上讯信息技术股份有限公司 | 一种快速在线日志聚类的方法及设备 |
EP3748506A4 (en) * | 2018-02-01 | 2021-11-03 | Softgear Co.,Ltd. | INFORMATION PROCESSING PROGRAM, INFORMATION PROCESSING DEVICE AND DEBUG SYSTEM |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495570B2 (en) * | 2010-12-23 | 2013-07-23 | Microsoft Corporation | Resource deployment based on conditions |
EP2859439A4 (en) * | 2012-06-08 | 2016-03-30 | Hewlett Packard Development Co | CLOUD APPLICATION DEPLOYMENT |
US10469401B2 (en) | 2014-09-25 | 2019-11-05 | Oracle International Corporation | System and method for supporting lifecycle plugins in a multitenant application server environment |
WO2016049584A1 (en) | 2014-09-26 | 2016-03-31 | Oracle International Corporation | System and method for transaction recovery in a multitenant application server environment |
US10108448B2 (en) * | 2015-10-27 | 2018-10-23 | International Business Machines Corporation | Dynamic SMT |
US10839308B2 (en) * | 2015-12-28 | 2020-11-17 | International Business Machines Corporation | Categorizing log records at run-time |
US10558445B2 (en) | 2016-12-13 | 2020-02-11 | International Business Machines Corporation | Constructing and enhancing a deployment pattern |
US11075799B2 (en) | 2017-08-24 | 2021-07-27 | Oracle International Corporation | System and method for provisioning in a multi-tenant application server environment |
CN107908417B (zh) * | 2017-10-24 | 2021-06-29 | 北京臻迪科技股份有限公司 | 固件升级方法及电子设备 |
US11121952B2 (en) * | 2018-10-17 | 2021-09-14 | Cisco Technology, Inc. | Device health assessment data summarization using machine learning |
CN112667469A (zh) * | 2020-12-25 | 2021-04-16 | 通号智慧城市研究设计院有限公司 | 一种多元化大数据统计报告自动生成方法、系统及可读介质 |
US11567835B2 (en) * | 2021-04-25 | 2023-01-31 | Kyndryl, Inc. | Data protection and recovery |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070104369A1 (en) * | 2005-11-04 | 2007-05-10 | Eyetracking, Inc. | Characterizing dynamic regions of digital media data |
US20090261158A1 (en) * | 2006-02-06 | 2009-10-22 | Marcus Maxwell Lawson | Authentication of cheques and the like |
US20120317112A1 (en) * | 2011-06-08 | 2012-12-13 | Hitachi, Ltd. | Operation log management system and operation log management method |
US8396840B1 (en) * | 2010-09-22 | 2013-03-12 | Amazon Technologies, Inc. | System and method for targeted consistency improvement in a distributed storage system |
US8468134B1 (en) * | 2010-09-21 | 2013-06-18 | Amazon Technology, Inc. | System and method for measuring consistency within a distributed storage system |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698549B2 (en) * | 2003-08-15 | 2010-04-13 | Venafi, Inc. | Program product for unified certificate requests from certificate authorities |
US20060129992A1 (en) * | 2004-11-10 | 2006-06-15 | Oberholtzer Brian K | Software test and performance monitoring system |
CN101286131B (zh) * | 2007-04-09 | 2010-06-09 | 国际商业机器公司 | 服务测试方法和服务测试系统 |
US8468212B2 (en) * | 2007-08-08 | 2013-06-18 | Silicon Image, Inc. | Network repository for metadata |
US20100042659A1 (en) * | 2008-08-15 | 2010-02-18 | Electronic Data Systems Corporation | Deployment overview management system, apparatus, and method |
US8914783B2 (en) * | 2008-11-25 | 2014-12-16 | Fisher-Rosemount Systems, Inc. | Software deployment manager integration within a process control system |
US9727322B2 (en) * | 2010-06-01 | 2017-08-08 | Entit Software Llc | Methods, apparatus, and articles of manufacture to deploy software applications |
US20110314138A1 (en) * | 2010-06-21 | 2011-12-22 | Hitachi, Ltd. | Method and apparatus for cause analysis configuration change |
US20130066869A1 (en) * | 2011-09-13 | 2013-03-14 | Yusuke Kusaka | Computer system, method of managing a client computer, and storage medium |
US8719781B2 (en) * | 2011-12-01 | 2014-05-06 | Amer Agovic | Universal and adaptive software development platform for data-driven applications |
US8719225B1 (en) * | 2012-01-17 | 2014-05-06 | Amazon Technologies, Inc. | System and method for log conflict detection and resolution in a data store |
US9715519B2 (en) * | 2013-03-15 | 2017-07-25 | Sandisk Technologies Llc | Managing updates to multiple sets of metadata pertaining to a memory |
US9946527B2 (en) * | 2013-03-15 | 2018-04-17 | Bmc Software, Inc. | Service placement techniques for a cloud datacenter |
-
2015
- 2015-05-29 US US14/725,442 patent/US9626271B2/en active Active
- 2015-09-24 CN CN201580058106.XA patent/CN107111625B/zh active Active
- 2015-09-24 EP EP15775562.0A patent/EP3198478A1/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070104369A1 (en) * | 2005-11-04 | 2007-05-10 | Eyetracking, Inc. | Characterizing dynamic regions of digital media data |
US20090261158A1 (en) * | 2006-02-06 | 2009-10-22 | Marcus Maxwell Lawson | Authentication of cheques and the like |
US8468134B1 (en) * | 2010-09-21 | 2013-06-18 | Amazon Technology, Inc. | System and method for measuring consistency within a distributed storage system |
US8396840B1 (en) * | 2010-09-22 | 2013-03-12 | Amazon Technologies, Inc. | System and method for targeted consistency improvement in a distributed storage system |
US20120317112A1 (en) * | 2011-06-08 | 2012-12-13 | Hitachi, Ltd. | Operation log management system and operation log management method |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3748506A4 (en) * | 2018-02-01 | 2021-11-03 | Softgear Co.,Ltd. | INFORMATION PROCESSING PROGRAM, INFORMATION PROCESSING DEVICE AND DEBUG SYSTEM |
US20200092182A1 (en) * | 2018-09-14 | 2020-03-19 | Kabushiki Kaisha Yaskawa Denki | Resource monitoring system, resource monitoring method, and information storage medium |
US11516099B2 (en) * | 2018-09-14 | 2022-11-29 | Kabushiki Kaisha Yaskawa Denki | Resource monitoring system, resource monitoring method, and information storage medium |
CN111796758A (zh) * | 2019-04-02 | 2020-10-20 | 是德科技股份有限公司 | 数据记录与分析系统 |
CN110851292A (zh) * | 2019-10-12 | 2020-02-28 | 中国平安财产保险股份有限公司 | 操作错误智能预防的方法、装置及计算机可读存储介质 |
CN110851292B (zh) * | 2019-10-12 | 2024-04-02 | 中国平安财产保险股份有限公司 | 操作错误智能预防的方法、装置及计算机可读存储介质 |
CN112783754A (zh) * | 2019-11-07 | 2021-05-11 | 北京沃东天骏信息技术有限公司 | 一种对页面进行测试的方法和装置 |
CN113407656A (zh) * | 2021-06-24 | 2021-09-17 | 上海上讯信息技术股份有限公司 | 一种快速在线日志聚类的方法及设备 |
CN113407656B (zh) * | 2021-06-24 | 2023-03-07 | 上海上讯信息技术股份有限公司 | 一种快速在线日志聚类的方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20160350102A1 (en) | 2016-12-01 |
EP3198478A1 (en) | 2017-08-02 |
US9626271B2 (en) | 2017-04-18 |
CN107111625B (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107111625A (zh) | 实现数据的高效分类和探索的方法和系统 | |
US10977293B2 (en) | Technology incident management platform | |
US11734315B2 (en) | Method and system for implementing efficient classification and exploration of data | |
Diba et al. | Extraction, correlation, and abstraction of event data for process mining | |
CN113377850B (zh) | 认知物联网大数据技术平台 | |
US20170109657A1 (en) | Machine Learning-Based Model for Identifying Executions of a Business Process | |
US20170109676A1 (en) | Generation of Candidate Sequences Using Links Between Nonconsecutively Performed Steps of a Business Process | |
US20170109668A1 (en) | Model for Linking Between Nonconsecutively Performed Steps in a Business Process | |
US20170109667A1 (en) | Automaton-Based Identification of Executions of a Business Process | |
US20170109636A1 (en) | Crowd-Based Model for Identifying Executions of a Business Process | |
US20170109639A1 (en) | General Model for Linking Between Nonconsecutively Performed Steps in Business Processes | |
CN114726654B (zh) | 应对云计算网络攻击的数据分析方法及服务器 | |
CN106557558A (zh) | 一种数据分析方法及装置 | |
Li et al. | Data-driven techniques in computing system management | |
CN114419631A (zh) | 一种基于rpa的网管虚拟系统 | |
Lüders et al. | Automated detection of typed links in issue trackers | |
CN112631889A (zh) | 针对应用系统的画像方法、装置、设备及可读存储介质 | |
US20170109637A1 (en) | Crowd-Based Model for Identifying Nonconsecutive Executions of a Business Process | |
CN110147482A (zh) | 用于获取突发热点主题的方法和装置 | |
CN116302984A (zh) | 一种测试任务的根因分析方法、装置及相关设备 | |
Kohyarnejadfard et al. | Anomaly detection in microservice environments using distributed tracing data analysis and NLP | |
Korzeniowski et al. | Discovering interactions between applications with log analysis | |
CN115408236A (zh) | 一种日志数据审计系统、方法、设备及介质 | |
Prakashbhai et al. | Inference patterns from Big Data using aggregation, filtering and tagging-A survey | |
Krasic et al. | Big data and business intelligence: research and challenges in telecom industry |
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 |