CN116349211A - 基于自注意力的深度学习的分布式轨迹异常检测 - Google Patents
基于自注意力的深度学习的分布式轨迹异常检测 Download PDFInfo
- Publication number
- CN116349211A CN116349211A CN202080105186.0A CN202080105186A CN116349211A CN 116349211 A CN116349211 A CN 116349211A CN 202080105186 A CN202080105186 A CN 202080105186A CN 116349211 A CN116349211 A CN 116349211A
- Authority
- CN
- China
- Prior art keywords
- distributed
- track
- span
- anomalies
- function
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 51
- 238000013135 deep learning Methods 0.000 title claims abstract description 40
- 230000006870 function Effects 0.000 claims abstract description 147
- 238000000034 method Methods 0.000 claims abstract description 119
- 238000012544 monitoring process Methods 0.000 claims abstract description 109
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims abstract description 16
- 238000011156 evaluation Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 21
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 230000002547 anomalous effect Effects 0.000 claims description 13
- 230000015654 memory Effects 0.000 abstract description 22
- 238000004458 analytical method Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 22
- 230000007246 mechanism Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 19
- 239000013598 vector Substances 0.000 description 17
- 238000012549 training Methods 0.000 description 15
- 230000006399 behavior Effects 0.000 description 13
- 230000008901 benefit Effects 0.000 description 10
- 230000000873 masking effect Effects 0.000 description 10
- 235000019800 disodium phosphate Nutrition 0.000 description 6
- 206010000117 Abnormal behaviour Diseases 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 102100027480 DNA-directed RNA polymerase III subunit RPC3 Human genes 0.000 description 1
- 102100039886 DNA-directed RNA polymerase III subunit RPC4 Human genes 0.000 description 1
- 101000848675 Homo sapiens DNA-directed RNA polymerase III subunit RPC2 Proteins 0.000 description 1
- 101000650556 Homo sapiens DNA-directed RNA polymerase III subunit RPC3 Proteins 0.000 description 1
- 101000669237 Homo sapiens DNA-directed RNA polymerase III subunit RPC4 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 102100027566 RNA 3'-terminal phosphate cyclase-like protein Human genes 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000012633 leachable Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了用于通过分布式跟踪数据和基于自注意力的深度学习检测分布式系统中异常的设备、方法和计算机程序。从监控分布式系统中函数的执行的监控实体接收分布式轨迹。分析所述分布式轨迹以进行异常检测。将异常检测的结果提供给控制实体以进行评估。所述异常检测是通过应用基于自注意力的深度学习过程以判断所述分布式轨迹是否涉及异常来进行的。由于基于自注意力的深度学习仅使用来自系统监控的轨迹的信息,因此通过它能够进行无监督的异常检测。由于基于自注意力的深度学习具有对整个轨迹的记忆,因此通过它还能够进行端到端的轨迹分析。
Description
技术领域
本公开涉及分布式系统领域,尤其涉及通过分布式跟踪数据和基于自注意力的深度学习检测分布式系统中异常的相关设备、方法和计算机程序。
背景技术
分布式系统包括多个通过网络进行通信的子系统,因此,往往规模巨大且十分复杂。任何子系统或网络都可能发生故障。
可靠性是大规模分布式系统中经常出现的重要方面。云平台等信息技术平台必须能够应对可扩展性、瞬时故障、需求高峰、升级、租户之间的干扰等。给定符号序列作为参考(表示轨迹),实现可靠性的有效通用框架通常包括检测异常或检测不规则符号序列(表示事件或跨度)的机制。
例如,如果分布式系统通过生成事件/符号序列S1=[A,B,C,X,E]来处理用户请求,则可以将此序列与一组表示分布式系统有效行为的已知序列Si进行比较。如果Si不包括序列S1,则可以假设用户请求处理期间发生了故障或异常。另一方面,如果Si包括序列S1,则可以假设请求处理成功。在分布式系统中,事件/符号序列通常称为轨迹。
复杂的大规模分布式系统通常会生成非常长的轨迹,这些轨迹包含高水平的噪声。因此,要建模的状态空间非常大,这导致很难对该状态空间进行表示和处理。
例如,在一些现有技术的解决方案中,使用有限状态机(finite state machine,FSM)对分布式系统的正确行为进行建模。当轨迹不包含噪声时,这些现有技术的解决方案可以起到很好的作用。由于复杂的系统依赖于缓存和负载平衡等软件模式来提高效率和可靠性,因此会产生噪声。噪声的存在是轨迹异常检测的重要问题,因为它需要将以前从未见过的轨迹都归为正常。这是不符合直觉的。例如,由于在缓存结果时没有执行某些指令,因此使用缓存会抑制轨迹中的符号。例如,系统的行为模型可能包含以下观察到的轨迹:[A,B,C,D]、[A,C,D]和[A,B,D]。当需要测试新的轨迹[A,D]时,因为以前从未见过,所以直觉上觉得这个轨迹是异常的。尽管如此,如果假设分析的系统可以生成包含噪声的轨迹,那么[A,D]可以是无效轨迹,也可以是包含噪声的有效轨迹。使用基于FSM的方法对噪声进行建模是不可行的,因为它只能对已经观察到的噪声进行建模。
另一挑战与轨迹的长度有关。例如,在一些依赖于长短期存储器(long short-term memory,LSTM)的现有技术的解决方案中,只能处理一定长度k的轨迹。这些方法称为自回归,因为它们使用轨迹之前的符号来预测后续符号。例如,在这种技术中,可以根据行为模型[A,B,C,D,E]预测哪个符号在C之后,从而测试轨迹[A,B,C,D,E,F]。如果预测正确(即D),则将该轨迹归为正常。否则,该轨迹是异常的。然而,这里的问题是,随着轨迹变长,LSTM无法建立头符号(A,B)与尾符号(E,F)之间的相关性。行为模型中轨迹的第一符号会被遗忘。这意味着预测符号并不依赖于自己之前的的所有符号。
发明内容
本发明内容简单介绍了一些概念,在具体实施方式中会进一步描述这些概念。本发明内容并非旨在确定请求保护的主题的关键特征或必要特征,也并非旨在用于限制请求保护的主题的范围。
本公开的目的是允许使用分布式跟踪数据和基于自注意力的深度学习检测分布式系统中的异常。上述和其它目的通过独立权利要求的特征来实现。其它实现形式在从属权利要求、说明书和附图中显而易见。
根据本公开的第一方面,提供了一种用于评估源自分布式系统的分布式轨迹的设备。用于评估所述分布式轨迹的所述设备用于从监控所述分布式系统中函数的执行的监控实体接收监控数据。所述监控数据包括分布式轨迹,所述分布式轨迹包括正在执行的函数的跨度记录序列。用于评估所述分布式轨迹的所述设备还用于分析所述接收到的监控数据,以检测所述分布式轨迹中的一个或多个异常。所述一个或多个异常是指与所述正在执行的函数的异常执行相关联的模式。用于评估所述分布式轨迹的所述设备还用于向控制实体提供检测所述一个或多个异常的一个或多个结果以进行评估。所述检测所述一个或多个异常是通过应用基于自注意力的深度学习过程以判断所述分布式轨迹是否涉及异常来进行的。本公开允许使用分布式跟踪数据和基于自注意力的深度学习检测分布式系统中的异常。本公开还允许利用轨迹的完整信息,这又允许保留轨迹的全局属性,例如轨迹的长度。基于自注意力的深度学习的使用允许无监督的异常检测,因为基于自注意力的深度学习仅使用系统监控的轨迹中的信息。不需要标签来将轨迹标记为正常或异常,用标签将轨迹标记为正常或异常通常是非常昂贵的任务。可以直接从正在观察的运行系统中收集轨迹。基于自注意力的深度学习的使用进一步允许端到端轨迹分析,因为根据本公开的实现具有对整个轨迹的记忆。因此,可以对序列中远距离位置之间的任意关系进行建模。
在第一方面的实现形式中,在分析之前,用于评估所述分布式轨迹的所述设备还用于通过将所述分布式轨迹编码为跨度特定的多组序列来预处理所述分布式轨迹。每个多组包括跨度的时间戳、跨度所属轨迹的标识以及跨度的函数描述。预处理所述分布式轨迹允许将所述跨度推断为一组精确的动作,这些动作不会引入额外的噪声,也不需要访问大量的学习数据。
在第一方面的实现形式中,所述分布式轨迹的所述预处理还包括使用Drain方法基于所述跨度的函数描述对所述分布式轨迹的所述跨度进行分组。此实现形式允许根据跨度函数对跨度进行分组,以便表示相同函数的跨度分组在相同的组中。这又允许对分布式轨迹进行简明的表示。
在第一方面的实现形式中,所述分布式轨迹的所述预处理还包括在所述分布式轨迹的开始处添加起始跨度和在所述分布式轨迹的结束处添加停止跨度,以指示所述分布式轨迹的长度。此实现形式允许基于自注意力的深度学习保留跨度的全局属性(例如轨迹长度)。
在第一方面的实现形式中,所述分布式轨迹的所述预处理还包括用屏蔽跨度替换所述分布式轨迹中随机选择的跨度。此实现形式允许创建学习样本以用于异常检测的屏蔽跨度预测。
在第一方面的实现形式中,所述分布式轨迹的所述预处理还包括用一个或多个填充跨度将所述分布式轨迹填充至预定义的最大跨度数。此实现形式允许通过将每个轨迹填充至最大跨度数来使它们具有均匀的大小,从而促进它们在基于自注意力的深度学习中的使用。
在第一方面的实现形式中,用于评估所述分布式轨迹的所述设备还用于通过应用所述基于自注意力的深度学习过程来生成模型,所述模型利用所有其它跨度作为上下文指示最可能出现在轨迹内的位置上的跨度。利用的自注意力机制允许利用单个模型对多个工作负载进行有效建模。这又允许学习轨迹中的任意依赖关系。这又允许关注跨度的正常位置,这些位置对于正在建模的工作负载来说是独特且特有的。此外,与对每个工作负载使用多个模型相比,对大量工作负载使用单个模型提供了更小的开销。
在第一方面的实现形式中,用于评估所述分布式轨迹的所述设备还用于通过应用所述基于自注意力的深度学习过程来生成所述分布式轨迹的异常评分,指示所述分布式轨迹被正确分类为异常的置信度。此实现形式允许通过使用误差裕度从噪声轨迹中进行异常检测。此裕度可用作在宣布序列为异常之前对跨度序列的预测中允许的误差量(即异常评分)的指示符。
在第一方面的实现形式中,用于评估所述分布式轨迹的所述设备还用于响应于所述异常评分超过评分阈值,确定所述分布式轨迹涉及异常。此实现形式允许量化,因为可以量化所做判定的不确定性。
根据本公开的第二方面,提供了一种用于评估源自分布式系统的分布式轨迹的方法。用于评估所述分布式轨迹的所述方法包括:用于评估所述分布式轨迹的设备从监控分布式系统中函数的执行的监控实体接收监控数据。所述监控数据包括分布式轨迹,所述分布式轨迹包括正在执行的函数的跨度记录序列。用于评估所述分布式轨迹的所述方法还包括:所述设备分析所述接收到的监控数据,以检测所述分布式轨迹中的一个或多个异常。所述一个或多个异常是指与所述正在执行的函数的异常执行相关联的模式。用于评估所述分布式轨迹的所述方法还包括所述设备向控制实体提供检测所述一个或多个异常的一个或多个结果以进行评估。所述检测所述一个或多个异常是通过应用基于自注意力的深度学习过程以判断所述分布式轨迹是否涉及异常来进行的。本公开允许使用分布式跟踪数据和基于自注意力的深度学习检测分布式系统中的异常。本公开还允许利用轨迹的完整信息,这又允许保留轨迹的全局属性,例如轨迹的长度。基于自注意力的深度学习的使用允许无监督的异常检测,因为基于自注意力的深度学习仅使用系统监控的轨迹中的信息。不需要标签来将轨迹标记为正常或异常,用标签将轨迹标记为正常或异常通常是非常昂贵的任务。可以直接从正在观察的运行系统中收集轨迹。基于自注意力的深度学习的使用进一步允许端到端轨迹分析,因为根据本公开的实现具有对整个轨迹的记忆。因此,可以对序列中远距离位置之间的任意关系进行建模。
在第二方面的实现形式中,在分析之前,用于评估所述分布式轨迹的所述方法还包括:所述设备通过将所述分布式轨迹编码为跨度特定的多组序列来预处理所述分布式轨迹。每个多组包括跨度的时间戳、跨度所属轨迹的标识以及跨度的函数描述。预处理所述分布式轨迹允许将所述跨度推断为一组精确的动作,这些动作不会引入额外的噪声,也不需要访问大量的学习数据。
在第二方面的实现形式中,所述分布式轨迹的所述预处理还包括:所述设备使用Drain方法基于所述跨度的函数描述对所述分布式轨迹的所述跨度进行分组。此实现形式允许根据跨度函数对跨度进行分组,以便表示相同函数的跨度分组在相同的组中。这又允许对分布式轨迹进行简明的表示。
在第二方面的实现形式中,所述分布式轨迹的所述预处理还包括:所述设备在所述分布式轨迹的开始处添加起始跨度和在所述分布式轨迹的结束处添加停止跨度,以指示所述分布式轨迹的长度。此实现形式允许基于自注意力的深度学习保留跨度的全局属性(例如轨迹长度)。
在第二方面的实现形式中,所述分布式轨迹的所述预处理还包括所述设备用屏蔽跨度替换所述分布式轨迹中随机选择的跨度。此实现形式允许创建学习样本以用于异常检测的屏蔽跨度预测。
在第二方面的实现形式中,所述分布式轨迹的所述预处理还包括所述设备用一个或多个填充跨度将所述分布式轨迹填充至预定义的最大跨度数。此实现形式允许通过将每个轨迹填充至最大跨度数来使它们具有均匀的大小,从而促进它们在基于自注意力的深度学习中的使用。
在第二方面的实现形式中,用于评估所述分布式轨迹的所述方法还包括:所述设备应用所述基于自注意力的深度学习过程来生成模型,所述模型利用所有其它跨度作为上下文指示最可能出现在轨迹内的位置上的跨度。利用的自注意力机制允许利用单个模型对多个工作负载进行有效建模。这又允许学习轨迹中的任意依赖关系。这又允许关注跨度的正常位置,这些位置对于正在建模的工作负载来说是独特且特有的。此外,与对每个工作负载使用多个模型相比,对大量工作负载使用单个模型提供了更小的开销。
在第二方面的实现形式中,用于评估所述分布式轨迹的所述方法还包括:所述设备应用所述基于自注意力的深度学习过程来生成所述分布式轨迹的异常评分,指示所述分布式轨迹被正确分类为异常的置信度。此实现形式允许通过使用误差裕度从噪声轨迹中进行异常检测。此裕度可用作在宣布序列为异常之前对跨度序列的预测中允许的误差量(即异常评分)的指示符。
在第二方面的实现形式中,用于评估所述分布式轨迹的所述方法还包括:所述设备响应于所述异常评分超过评分阈值,确定所述分布式轨迹涉及异常。此实现形式允许量化,因为可以量化所做判定的不确定性。
根据本公开的第三方面,提供了一种计算机程序产品。所述计算机程序产品包括程序代码,当所述程序代码在计算机上执行时,所述程序代码用于执行根据第二方面的方法。本公开允许使用分布式跟踪数据和基于自注意力的深度学习检测分布式系统中的异常。本公开还允许利用轨迹的完整信息,这又允许保留轨迹的全局属性,例如轨迹的长度。基于自注意力的深度学习的使用允许无监督的异常检测,因为基于自注意力的深度学习仅使用系统监控的轨迹中的信息。不需要标签来将轨迹标记为正常或异常,用标签将轨迹标记为正常或异常通常是非常昂贵的任务。可以直接从正在观察的运行系统中收集轨迹。基于自注意力的深度学习的使用进一步允许端到端轨迹分析,因为根据本公开的实现具有对整个轨迹的记忆。因此,可以对序列中远距离位置之间的任意关系进行建模。
根据本公开的第四方面,提供了一种用于监控分布式系统中函数的执行的监控实体。所述监控实体用于响应于从所述分布式系统接收到监控请求,记录与所述分布式系统中所述函数的所述执行相关的监控数据。所述监控数据包括分布式轨迹,所述分布式轨迹包括正在执行的函数的跨度记录序列。所述监控实体还用于向设备提供记录的监控数据用于评估所述分布式轨迹以进行异常检测。此方面允许响应于用户请求记录轨迹中的事件并向第一方面的设备提供记录的监控数据的机制。
在第四方面的实现形式中,所述监控数据还包括以下中的至少一个:用于所述正在执行的函数的一个或多个日志,或用于所述正在执行的函数的一个或多个度量。此实现形式允许监控实体向第一方面的设备提供呈日志、轨迹和/或度量形式的监控数据。
根据本公开的第五方面,提供了一种用于监控分布式系统中函数的执行的方法。用于监控所述函数的所述执行的所述方法包括:响应于从所述分布式系统接收到监控请求,监控实体记录与所述分布式系统中所述函数的所述执行相关的监控数据。所述监控数据包括分布式轨迹,所述分布式轨迹包括正在执行的函数的跨度记录序列。用于监控所述函数的所述执行的所述方法还包括:所述监控实体向设备提供记录的监控数据用于评估分布式轨迹以进行异常检测。本方面允许响应于用户请求记录轨迹中的事件并向第一方面的设备提供记录的监控数据的方法。
在第五方面的实现形式中,所述监控数据还包括以下中的至少一个:用于所述正在执行的函数的一个或多个日志,或用于所述正在执行的函数的一个或多个度量。此实现形式允许监控方法向第一方面的设备提供呈日志、轨迹和/或度量形式的监控数据。
根据本公开的第六方面,提供了一种计算机程序产品。所述计算机程序产品包括程序代码,当所述程序代码在计算机上执行时,所述程序代码用于执行根据第五方面的方法。此方面允许响应于用户请求记录轨迹中的事件并向第一方面的设备提供记录的监控数据的机制。
根据本公开的第七方面,提供了一种用于评估异常检测结果的控制实体。所述控制实体用于从用于评估源自分布式系统的分布式轨迹的设备接收检测所述分布式轨迹中的一个或多个异常的一个或多个结果。所述一个或多个异常是指与所述分布式系统中正在执行的函数的异常执行相关联的模式。所述控制实体还用于评估检测所述分布式轨迹中的所述一个或多个异常的接收到的一个或多个结果。此方面通过允许扫描异常检测结果以检测潜在的有害行为,提高了分布式系统的整体可靠性。
在第七方面的实现形式中,评估检测所述接收到的所述分布式轨迹中的所述一个或多个异常的一个或多个结果包括:对所述接收到的检测所述分布式轨迹中的所述一个或多个异常的一个或多个结果进行分类。对所述异常检测结果的所述评估通过允许检测潜在的有害行为,提高了分布式系统的整体可靠性。
在第七方面的实现形式中,所述控制实体还用于基于检测所述分布式轨迹中的所述一个或多个异常的评估的一个或多个结果,向所述分布式系统提供一个或多个控制动作。此实现形式允许判定对应控制动作作为对异常行为类型的响应。
根据本公开的第八方面,提供了一种用于评估异常检测结果的方法。用于评估所述异常检测结果的所述方法包括控制实体从用于评估源自分布式系统的分布式轨迹的设备接收检测所述分布式轨迹中的一个或多个异常的一个或多个结果。所述一个或多个异常是指与所述分布式系统中正在执行的函数的异常执行相关联的模式。用于评估所述异常检测结果的所述方法还包括所述控制实体评估检测所述分布式轨迹中的所述一个或多个异常的接收到的一个或多个结果。此方面通过允许扫描异常检测结果以检测潜在的有害行为,提高了分布式系统的整体可靠性。
在第八方面的实现形式中,评估所述接收到的检测所述分布式轨迹中的所述一个或多个异常的一个或多个结果包括:所述控制实体对所述接收到的检测所述分布式轨迹中的所述一个或多个异常的一个或多个结果进行分类。对所述异常检测结果的所述评估通过允许检测潜在的有害行为,提高了分布式系统的整体可靠性。
在第八方面的实现形式中,用于评估所述异常检测结果的所述方法还包括:所述控制实体基于检测所述分布式轨迹中的所述一个或多个异常的评估的一个或多个结果,向所述分布式系统提供一个或多个控制动作。此实现形式允许判定对应控制动作作为对异常行为类型的响应。
根据本公开的第九方面,提供了一种计算机程序产品。所述计算机程序产品包括程序代码,当所述程序代码在计算机上执行时,所述程序代码用于执行根据第八方面的方法。此方面通过允许扫描异常检测结果以检测潜在的有害行为,提高了分布式系统的整体可靠性。
由于通过参考结合附图考虑的以下详细描述会更好理解许多特征,因此将更容易了解这些特征。
附图说明
在下文中,参考所附附图更加详细地描述示例实施例,其中:
图1是示出根据本公开的实施例的系统架构的概述的图;
图2A是示出根据本公开的实施例的用于评估源自分布式系统的分布式轨迹的设备的框图;
图2B是示出根据本公开的实施例的监控实体的框图;
图2C是示出根据本公开的实施例的控制实体的框图;
图2D是示出根据本公开的实施例的跨度分组和轨迹预处理工作流程的图;
图3是示出根据本公开的实施例的轨迹的示例的图;
图4是示出根据本公开的实施例的增强、解析、屏蔽和填充轨迹的示例的图;
图5是示出根据本公开的实施例的作为具有偏置对准的池化层的自注意力机制的示例的图;
图6是示出根据本公开的实施例的自注意力机制架构实现的示例的图;
图7是示出根据本公开的实施例的使用屏蔽跨度预测的轨迹预测的示例的图;
图8是示出本公开的实施例的示例概述的图;
图9是示出根据本公开的实施例的方法的流程图;
图10是示出根据本公开的实施例的另一方法的流程图;
图11是示出根据本公开的实施例的又一方法的流程图。
在下文中,相同的附图标记是指相同或至少在功能上等效的特征。
具体实施方式
以下结合附图进行描述,附图构成本公开的一部分,并通过图解说明的方式示出本公开的具体方面。应理解,在不脱离本公开范围的情况下,可以利用其它方面,并可以进行结构或逻辑更改。因此,以下详细描述不应以限制性的意义来理解,因为本公开的范围由所附权利要求书界定。
例如,应当理解的是,与描述的方法有关的公开内容对于用于执行所述方法的对应设备或系统也同样适用,反之亦然。例如,如果描述了一个具体的方法步骤,则对应的设备可以包括用于执行所描述的方法步骤的单元,即使此类单元未在图中详细阐述或说明。另一方面,例如,如果根据功能单元描述了具体的装置或设备,则对应方法可以包括执行所描述功能的步骤,即使此步骤未在图中明确描述或说明。此外,应当理解的是,除非另外明确说明,否则本文中描述的各个示例方面的特征可以相互组合。
如下面将更详细地讨论的,本公开提供了一种使用分布式跟踪数据检测分布式系统架构(例如微服务分布式系统架构)中异常的技术。更具体地说,设备接收分布式跟踪信息,该信息响应于用户请求监控工作负载的执行。分布式轨迹包括正在执行的函数的事件记录序列。设备分析分布式轨迹,以检测与工作负载的异常执行相关联的模式。设备利用自注意力机制,允许利用单个模型对多个工作负载进行有效建模。使用此架构的优点是,它允许学习轨迹中的任意依赖关系。这允许关注跨度的正常位置,这些位置对于正在建模的工作负载来说是独特且特有的。异常的确定是基于对自注意力机制产生的每个轨迹的误差率设置裕度来完成的。
换句话说,本公开允许解决来自分布式跟踪的异常检测问题。本公开允许有效地利用可从跟踪数据获得的总体丰富信息,同时通过对大量工作负载使用单个模型而不是对每个工作负载使用多个模型,仍然提供了小的开销。
本公开通过利用误差裕度来解决噪声轨迹的问题。此误差裕度用作在宣布序列为异常之前允许的跨度序列预测中的误差量的指示符。在简化的示例中,序列[A,B,C,E,D]表示一个轨迹。由于例如由负载平衡器或缓存引起的噪声,观察到正常序列[A,B,D]。如果误差裕度阈值为0.5并且[A,B,D]预测正确,则即使C和E缺失,也将轨迹视为正常。在这种情况下,误差量为0.4,低于误差裕度阈值0.5。因此,此特征允许处理带有噪声的轨迹。
利用轨迹的完整信息允许保留轨迹的全局属性,例如轨迹的长度。这是很有利的,因为在轨迹内的任何跨度之间建立了对应关系。例如,给定序列[A,B,C,D,E],本公开建立了跨度[A,B]和[D,E]的长期依赖(在相关的情况下)。为此,它使用了编码器-解码器结构,该结构具有新的自适应和可学习的神经网络架构,实现了自注意力机制。这特别适合分析复杂的分布式系统,因为它们会生成长轨迹。误差量还可以作为异常评分,允许将本公开集成到全尺寸通用模块中,以确保系统的更高水平的可靠性。
本公开的至少一些实施例可以使用编码器-解码器结构作为构建块。编码器是一种自注意力机制,一种属于深度学习方法家族的可学习平均技术。这种类型的编码器提供了例如以下优点:
-不需要监督:自注意力机制是自监督的技术,因为它只使用来自系统监控的轨迹的信息。不需要标签就可以将轨迹标记为正常或异常,这通常是非常昂贵的任务。可以直接从正在观察的运行系统中收集轨迹;
-端到端轨迹分析:它具有对整个轨迹的记忆。因此,这种编码器可以对序列内远距离位置之间的任意关系进行建模。这是很有利的,因为正常轨迹内的全局跨度分布在不同的执行之间可能不同。将关注设置在较少数量的跨度上,会使过程对轨迹中的小局部更改不敏感。
为了检测异常,可以将后处理过程应用于解码器做出的预测。此过程对沿轨迹的编码器-解码器网络中的错误预测进行计数。使用轨迹的长度缩放此数字,可以为给定的输入轨迹定义有界的异常评分。这个值表示了对向外界公布的信息进行判断的过程的置信度。如果异常评分大于固定阈值,则可以通过适当的轨迹标记来完成异常检测,阈值是过程中的参数。例如,该过程提供以下优点:
-可量化性:由于异常检测系统通常可能与其它故障排除系统合作,此过程提供了一种对所做判断的不确定性进行量化的机制。
图1是示出根据本公开的实施例的系统架构100的概述的图。图1中示出了分布式系统(例如,基于微服务的分布式系统)110、监控系统或实体220、控制系统或实体230,以及用于评估分布式轨迹的异常检测系统或设备210。虽然实施例可以根据基于微服务的分布式系统来描述,但它是作为示例而不是限制。
基于微服务的分布式系统110是复杂的分布式系统,当用户(或图1中的“客户端”)例如通过应用程序编程接口API网关请求操作时,观察系统的行为。请求触发多个微服务(图1示例中的MS 11、MS 12、MS 21、MS 22、MS 3)的执行和交互。每个微服务可以实现特定的一组软件功能,并利用例如远程过程调用(图1的示例中的RPC1、RPC2、RPC3、RPC4)和/或数据库(DB)调用。
基于微服务的分布式系统110可以与(但不限于)例如医疗保健和/或健康、通信和/或网络安全、交通和/或智能移动、数字工业、工业4.0、物联网、云连续体等相关或相关联。
本公开可应用于例如调试、部署分析、故障关联和分析、延迟分析和关联、资源监控、根本原因分析、安全审计等。然而,本公开并不限于这些示例。
监控系统或实体220监控分布式系统110。它提供了一种响应于用户请求记录轨迹中的事件的机制。结果,监控系统或实体220生成监控数据,包括轨迹2201以及可选的日志2202和/或度量2203。
图3是示出根据本公开的实施例的轨迹的示例的图300。更具体地说,图300是用于从OpenStack创建和删除网络工作负载的轨迹的示例。图3的轨迹包括多个跨度301-305,从而构建工作负载作为对用户请求的应答。跨度301-305中的每一个记录信息,例如正在执行的操作(在图3中示出为超文本传输协议(hypertext transfer protocol,HTTP)操作“GET”、“POST”、“DELETE”)、微服务的名称和IP、跨度的端点、响应时间等。
控制系统或实体230允许保证整个微服务系统110的可靠性。为此,控制系统或实体230接收异常检测系统或设备210生成的数据作为输入。控制系统或实体230包括两个功能:异常分类2302和控制动作判定2301。异常分类2302扫描监控数据以检测潜在的有害行为,而控制动作判定2301判定对应控制动作作为对异常行为类型的响应。
异常检测系统或设备210从监控系统或实体220接收和处理呈日志、轨迹和/或度量形式的监控数据。异常检测系统或设备210的目的是检测由于特定异常而导致的潜在不稳定的系统行为。为此,异常检测系统或设备210可以首先例如通过功能跨度分组2101和/或轨迹预处理2102将原始轨迹处理成合适的形式。然后,可以构建基于一组输入轨迹的对应模型(例如,通过功能屏蔽跨度模型训练2103),该模型例如以输入处的新呈现的轨迹应用于异常检测。作为输出,异常检测系统或设备210可以针对轨迹判断轨迹是否异常,以及可用作进行判断的置信度的相应置信度评分。输出可以转发到控制系统或实体230,然后控制系统或实体可以评估异常类型和对应控制动作。
接下来,基于图2A描述用于评估源自分布式系统110的分布式轨迹的设备210的示例实施例。所描述的设备的一些特征是提供更多优点的可选特征。
图2A是示出根据本公开的实施例的设备210的框图。在实施例中,设备210可以包括合适的计算设备,例如服务器设备等。在本公开的至少一些实施例中,设备210可以与监控实体220和/或控制实体230集成。
设备210可以包括至少一个处理器或处理单元212以及耦合到至少一个处理器212的至少一个存储器214,这可以用于实现后面更详细地描述的功能。
至少一个处理器212可以包括,例如各种处理设备中的一个或多个,例如协处理器、微处理器、控制器、数字信号处理器(digital signal processor,DSP)、包括或不包括DSP的处理电路,或者包括集成电路的各种其它处理设备,集成电路包括专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、微控制器单元(microcontroller unit,MCU)、硬件加速器、专用计算机芯片,等等。
存储器214可用于存储例如计算机程序等。存储器可以包括一个或多个易失性存储器设备、一个或多个非易失性存储器设备和/或一个或多个易失性存储器设备和非易失性存储器设备的组合。例如,存储器可以实施为磁存储设备(例如硬盘驱动器、软盘、磁带等)、光磁存储设备和半导体存储器(例如掩模ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、闪存ROM、随机存取存储器(random access memory,RAM)等)。
用于评估分布式轨迹的设备210用于从监控分布式系统110中函数的执行的监控实体220接收监控数据。监控数据包括分布式轨迹(例如轨迹2201),该分布式轨迹包括用于正在执行的函数的跨度记录序列。监控数据还可以包括用于正在执行的函数的一个或多个日志(例如日志2202),和/或用于正在执行的函数的一个或多个度量(例如度量2203)。本文中,术语“跨度”和“事件”可互换使用。此外,术语“轨迹”表示事件/跨度的序列。事件/跨度可以用符号表示。
在分析之前,设备210还可以用于预处理分布式轨迹。
换句话说,作为异常检测的一部分,可以提供跨度的适当表示作为轨迹的一部分。通过设计,跨度表示在分布式系统110内执行期间实例化的有限抽象的一组动作。由于操作的实例正在由监控实体220记录,因此即使对于相同的操作,也可能产生许多不同的外观相似的轨迹。为了减轻这种情况,可以首先将跨度推导为一组精确的动作,这些动作不会引入额外噪声,不需要访问大量的学习数据。这可以例如通过图2D的跨度分组2011功能来实现。
图2D是示出根据本公开的实施例的跨度分组2011和轨迹预处理2102功能的图。跨度分组2011功能可以包括跨度编码功能21011和/或跨度聚类21012功能。轨迹预处理2102功能可以包括轨迹增强功能21021、屏蔽功能21022和/或填充功能21023。额外功能可以包括屏蔽跨度模型训练2103和/或屏蔽跨度预测2104。这些功能将在下文更详细地描述。
在实施例中,分布式轨迹的预处理可以包括将分布式轨迹编码为跨度特定的多组序列。例如,多组中的至少一些可以是三元组。每个多组可以包括跨度的时间戳、跨度所属轨迹的标识以及跨度的函数描述。
换句话说,分布式轨迹的预处理可以包括跨度编码功能21011。在示例中,分布式系统110生成的跨度可以是结构化格式。对于轨迹的表示,可以选择例如三元组(时间戳、traceID和跨度函数)。具有traceID的轨迹序列的三元组跨度表示的示例如下表1所示。
表1
三元组中的第一元素用于访问轨迹中跨度的顺序。三元组中的第二元素标识跨度所属的轨迹。三元组中的第三元素表示跨度之间的功能差异。由于轨迹表示以特定函数为特征的事件序列,因此跨度函数用于提供与跨度相关的函数类型的信息。信息可能有文本格式。http操作可以使用http方法和http路径作为跨度函数的指示符。http方法可以是http协议定义的操作(例如GET、POST、DELETE、PUT),而http路径可以是系统可以通过http协议访问的组件的统一资源定位器(URL)。对于RPC调用,函数描述符可以用于表示跨度函数。这些函数可以是分布式系统110内的组件访问的不同远程过程调用。从数据库查询的每个跨度都可以用此过程表示。
分布式轨迹的预处理还可以包括使用Drain方法基于跨度的函数描述对分布式轨迹的跨度进行分组。Drain方法是一种可以以流式和及时的方式解析日志的日志解析方法。为了加快解析过程,Drain使用固定深度解析树,此树编码专门设计的解析规则。Drain方法在以下内容中有更详细的描述,例如Pinjia He、Jieming Zhu、Zibin Zheng和MichaelR.Lyu的《Drain:具有固定深度树的在线日志解析方法(Drain:An Online Log ParsingApproach with Fixed Depth Tree)》,IEEE网络服务国际会议(ICWS),2017年。
换句话说,分布式轨迹的预处理可以包括跨度聚类21012功能。至少在一些实施例中,由监控实体220生成的轨迹的表示可能缺乏简洁的表示。更具体地说,作为跨度描述符的许多跨度函数可以具有可变部分或可变参数。例如,GET/v3/schema/d303dd45-66ab-4d18-bea1-2d5e4b76e0cc/images/和GET/v3/schema/cfe7b11c884c455cbe2df3ec43521be/images/都表示GET/v3/schema/*/images/的相同结构,其中*表示更改的部分。换句话说,跨度表示可能表示相同的动作,即使它们的结构部分不同。
因此,至少在一些实施例中,可能需要基于其跨度函数对跨度进行分组,使得表示相同函数的跨度分组在相同的组中。这些组的索引可以例如表示为SpanClusterID(X),并且它们形成跨度组的数据库。为了按跨度的函数对其进行分组,例如,由于Drain方法在大量日志解析问题上的一致高性能,可以应用Drain方法。Drain方法根据出现在文本中位置上的单词的频率计数构造树。由轨迹增强功能21021生成的输出通过Drain馈送。Drain生成跨度组集合作为输出,这些跨度组形成跨度数据库。此集合中的每个元素都可以用SpanClusterID(X)表示,SpanClusterID(X)具有到自然数的内射映射。
生成的跨度模板的数量通常较少,因为在执行一个特定工作负载期间,不会发生太多不同的动作。以此方式轨迹表示为整数值序列(表示SpanClusterID),这是学习方法通常接受的形式。作为最后一步,为了正式表示轨迹,可以创建字典。字典的密钥可以是traceID。这些值表示组成轨迹的序列SpanClusterID。
如上所述,图2D示出了轨迹预处理2102功能,轨迹预处理功能可以包括轨迹增强功能21021、屏蔽功能21022和/或填充功能21023。这些功能的目标是从轨迹中提取信息,用于异常检测。分布式系统110生成的跨度存储在跨度的数据库中。首先,执行对分布式系统110响应于特定工作负载生成的一组跨度的查询。此功能的输出可能是正常跟踪和异常数据的字典对象。字典的密钥可以是轨迹的唯一标识符(traceID)。字典元素的值可以是整数序列,其中每个整数可以是从原始跨度的数据库中提取的跨度模板(SpanClusterID)的唯一数值表示。
轨迹预处理2102功能可以接收到一组观察到的轨迹作为输入,直到特定时段。轨迹可以由跨度组成。由于可能有许多独特的跨度反映了执行不同参数的有限的一组动作,因此对跨度进行分组可能有助于推断它们的数量。为此,可以基于例如跨度表示的静态部分(例如,在RPC调用或http方法的情况下的函数名称以及称为端点的对应http URL)对它们进行分组。这样的跨度的数量可以在例如20-10000之间的范围内。跨度数据库可以进一步增强具有例如屏蔽、开始、结束和/或专门的附录之类的专用目的的跨度。
轨迹预处理2102功能还可以执行屏蔽功能21022。给定具有特定ID的轨迹,屏蔽功能21022可以用称为<MASK>的特定跨度替换轨迹内的每个跨度。还可以存储替换的原始跨度。该替换的原始跨度为用于异常检测的屏蔽跨度预测(MSP)2104功能创建学习样本。可以首先通过轨迹预处理2102功能来增强、处理和屏蔽实时到来的轨迹。为了使每个轨迹的大小均匀,它们可以用专门的附录跨度填充至最大填充长度。
图4是示出了根据本公开的实施例的在图3上示出的轨迹作为轨迹预处理2102功能的输入给出之后在轨迹预处理2102功能的输出处给出的屏蔽(用<MASK>跨度350)轨迹的示例的图400。每个轨迹可以以稍微修改的形式重新引入多次,其中用屏蔽令牌替换每个跨度。也可以存储替换的跨度。轨迹预处理2102功能的输出可以是适合于下文进一步描述的学习过程的一组转换和屏蔽轨迹。
分布式轨迹的预处理还可以包括在分布式轨迹的开始处添加起始跨度和在分布式轨迹的结束处添加停止跨度,以指示分布式轨迹的长度。
换句话说,分布式轨迹的预处理可以包括轨迹增强功能21021。至少在一些实施例中,可以使用跨度的traceID和时间戳将其分组为按时间排序的序列。轨迹可以通过例如两个特殊跨度来增强:<START>和<STOP>。这些人工跨度可用于使基于注意力的算法能够保留跨度的全局属性(例如轨迹的长度)。它们也可以表示为三元组。<START>跨度可能与轨迹的第一跨度具有相同的时间戳。可以继承traceID。对于跨度函数,可以使用令牌START。类似地,<STOP>跨度可能与上一跨度具有相同的时间戳。也可以继承traceID。跨度函数可能具有令牌STOP。轨迹增强功能21021的输出可以是具有例如以下三列的表格:跨度时间戳、跨度所属的traceID和表示跨度特定信息的跨度函数。
分布式轨迹的预处理还可以包括用屏蔽跨度替换分布式轨迹中随机选择的跨度。
换句话说,分布式轨迹的预处理可以包括屏蔽功能21022。至少在一些实施例中,掩蔽可以为MSP任务准备输入。为此,屏蔽功能21022可以将增强的轨迹作为输入,其中每个轨迹可以表示为序列SpanClusterID。屏蔽功能21022可以用例如标记为<MASK>的特殊跨度替换轨迹中随机选择的跨度。随机跨度可以用作MSP任务中的目标。以此方式,可以多次重新引入前一步骤中的每个增强和处理的轨迹,每次都用<MASK>跨度替换不同的跨度。屏蔽功能21022的输出可以是例如以下两个值的|T|元组的集合:1)屏蔽的轨迹和2)替换的单个跨度,其中|T|表示轨迹的长度。每个处理过的输出轨迹可以共享相同的traceID,因为它们是从作为输入给出的原始轨迹导出的。
分布式轨迹的预处理还可以包括用一个或多个填充跨度将分布式轨迹填充至预定义的最大跨度数。
换句话说,分布式轨迹的预处理可以包括填充功能21023。至少在一些实施例中,在屏蔽完成之后执行填充。虽然轨迹是由相同的工作负载生成的,但它们的长度可能不同。然而,学习机制可能需要所有轨迹的固定数量的跨度。为了解决这个问题,可以例如从右侧(最后一个跨度之后)填充每个轨迹,直到用户定义的最大跨度数。大于最大数量的轨迹可以在最大位置处切割。对于填充,可以使用例如特殊的<SPEC>跨度。此跨度(与所有其它跨度一样)可能具有它所属的唯一SpanClusterID。输出可以是一组表示为整数序列的处理过的、屏蔽的和填充的轨迹。
设备210还用于分析所述接收到的监控数据以检测分布式轨迹中的一个或多个异常。所述一个或多个异常是指与所述正在执行的函数的异常执行相关联的模式。所述检测所述一个或多个异常是通过应用基于自注意力的深度学习过程以判断所述分布式轨迹是否涉及异常来进行的。
例如,设备210还可以用于应用基于自注意力的深度学习过程来生成模型,所述模型利用所有其它跨度作为上下文指示最可能出现在轨迹内的位置上的跨度。
换句话说,设备210的功能可以包括屏蔽跨度模型训练2103功能。至少在一些实施例中,屏蔽跨度模型训练2103功能可以包括实现自注意力机器学习方法的深度学习编码器-解码器架构。屏蔽跨度模型训练2103功能可用于解决用于异常检测的屏蔽跨度预测伪任务。此任务的目标是利用轨迹的所有其它非屏蔽跨度作为输入,生成最可能出现在轨迹内的屏蔽位置上的跨度。输入的非屏蔽部分称为屏蔽跨度的上下文。作为输出,屏蔽跨度模型训练2103功能可以生成可以调用的学习模型,例如基于来自实时运行的分布式系统110的新呈现的监控数据。
屏蔽跨度模型训练2103功能可以作为输入,例如图4所示的轨迹。屏蔽跨度模型训练2103功能预测[MASK]位置上的跨度。由于在此示例中,这些轨迹是从图3所示的轨迹导出的,因此[MASK]位置的真值是已知的。因此,可以评估预测的准确性。对于屏蔽轨迹,此计算会产生二进制值,如果预测跨度等于真跨度,则值为真,否则值为假。
图5是示出根据本公开的实施例的作为具有偏置对准的池化层的自注意力机制的示例的图500。在图5的示例中,假设输入5011、5012、5013中的每一个最初用随机矢量值(在学习阶段隐式学习)表示。对于每个输入元素5011、5012、5013,可以有三个实数矢量:查询5023、5033、5043、密钥5021、5031、5041和值5022、5032、5042。密钥5021、5031、5041可以用作序列中令牌的唯一标识符。查询5023、5033、5043可用于允许其它令牌访问序列中的特定令牌。值矢量5022、5032、5042可以作为由每个密钥-查询对的归一化点积计算的相对贡献加权的序列中每个令牌的线性组合获得。输出矢量505可以根据每个跨度的值构造为线性组合。为了提供更强大的表示,可以堆叠多个自注意力机制,每个机制都用不同的数据随机投影馈送。这种堆叠形成了称为多头注意的结构,而单个的自注意力机制称为头。多头机制中的每个头可以用输入矢量5011、5012、5013的不同部分馈送。输出505可以通过堆叠来自头的所有输出来获得。
图6是示出根据本公开的实施例的自注意力机制架构实现的示例的图600。图6的示例包括两部分:位置编码器610和使用自注意力机制作为构建块的编码器-解码器结构621、622。
模型的所有元素都需要数值输入。为了表示这一点,跨度的整数表示可以最初转换为随机初始化的数值矢量x∈Rd。本文中,这些矢量嵌入称为跨度矢量嵌入,或简称为跨度嵌入。以此方式,每个跨度可以映射到在学习过程期间更新的随机矢量。更新的目的是学习给定跨度上下文的唯一d维跨度矢量表示。选择的矢量空间的维数d是学习方法的参数。它固定为例如256。此长度可能会根据可用跨度的数量和轨迹的复杂性而有所不同。
可以将跨度嵌入传递到输入轨迹601提供的位置编码块610。位置编码块610可用于保留轨迹中跨度的位置。这可以通过下面公式1中给出的周期函数来完成。此块根据正弦和余弦函数计算表示跨度的相对位置的矢量p∈Rd。
此处,k={0,1…,d-1}是p中每个元素的索引,j={0,1…,max-1}是轨迹中每个跨度的位置索引。参数k描述值在矢量p中的位置。正弦和余弦函数可互换应用,以允许在p的特定跨度矢量中区分相应的值。作为输出,位置编码块或层610产生表示跨度及其位置编码的原始矢量的和x′=x+p。
编码器-解码器包括两部分:编码器621和解码器622。所有层都可以是前馈神经网络。
编码器或编码器层621包括两个元件:多头自注意力元件6211和前馈元件6212。编码器621从多头注意力元件6211开始。多头注意力元件6211中的头的数量可以设置为例如8,但它可以进行优化。每个头可以包括四个层,表示查询5023、5033、5043、密钥5021、5031、5041、值5022、5032、5042和输出505。这些矢量的大小可以确定为模型大小和头数量的分数。所有令牌嵌入矢量都可以总结为矩阵X′的行。为了有效计算,所有查询5023、5033、5043、密钥5021、5031、5041和值5022、5032、5042都可以分别组织在标记为Q,K和V的矩阵中。这样的结构组织允许架构的以下数学公式:
其中H是头的数量。接下来,可以应用softmax函数626,并且结果可以用于缩放跨度的每个值。跨度值可以级联以形成矩阵X″作为多头元件6211的输出。
剩余连接6231、6232提供了一种组合原始信息和多头注意力元件6211处理的信息的方法。该方法解决了训练时可能出现的小梯度问题。它计算X′+X″。
层归一化层6241、6242可用于解决在训练期间可能发生的协变量移位问题。它可以使用对应输入norm(X′+X″)的平均值和标准偏差应用简单的列式归一化。在每个层结束后,可以应用正则化技术,旨在提高学习方法的性能。
前馈元件或层6212是编码器621的最后一个元件,并且可以包括两个前馈线性层,中间具有ReLU激活。它可以单独应用于前一步输入的每个行。还可以应用剩余连接6231、6232和归一化6241、6242层。
解码器元件或层622可以是简单的前馈线性层。作为输入大小,它可以采取来自编码器层621的输出的大小。线性层622的输出可以对应于输入上存在的唯一跨度的数量。解码器元件或层622可以生成跨度出现在输入中给定的轨迹的屏蔽位置上的可能性的评分估计。
此任务的合适成本函数可以是分类交叉熵损失。它可以例如在625处生成的屏蔽跨度的输出627与发生在此位置上的真实跨度之间计算。考虑到跨度的上下文,此目标可以最大限度地提高最可能出现在屏蔽位置上的跨度的概率。为了优化此目标,可以使用Adam(自适应矩估计)解算器或优化器,学习率的常用值为0.0001,β1和β2的值分别设置为0.90和0.98。Adam是一种优化算法,可以代替经典的随机梯度下降过程来使用以更新基于训练数据迭代的网络权重。
设备210还可以用于应用基于自注意力的深度学习过程来生成分布式轨迹的异常评分,指示分布式轨迹被正确分类为异常的置信度。设备210还可以用于响应于异常评分超过评分阈值,确定分布式轨迹涉及异常。
换句话说,设备210的功能可以包括屏蔽跨度预测2104功能。至少在一些实施例中,屏蔽跨度预测2104功能可用于判定输入轨迹是否异常。
图7是示出根据本公开的实施例的使用屏蔽跨度预测的轨迹预测的示例的流程图700。流程图700从操作701开始,该操作向屏蔽跨度预测2104功能的输入提供具有相同traceID的所有增强、屏蔽和填充轨迹。在操作702,对于屏蔽轨迹中的每一个,屏蔽跨度预测2104功能生成将出现在每个轨迹内的屏蔽位置上的最相关跨度的排序列表。在操作703,参数top_k用于判定对增强、屏蔽和填充轨迹的预测是否正确。如果屏蔽跨度预测2104功能的预测在第一top_k内,则将其视为正确的预测。否则,将其视为错误的预测。此参数的值可以在跨度组数据库中的跨度总数的5-10%之间。
对于具有traceID的轨迹,例如,可以通过使用以下步骤检测异常。首先,所有具有与原始轨迹相同的traceID的处理、增强和屏蔽轨迹可以作为屏蔽跨度预测2104功能的输入呈现。其次,可以对屏蔽轨迹做出的错误预测的数量进行计数。最后,每个(原始)轨迹的误差率可以计算为错误预测的数量与总轨迹长度之间的比率。
误差率可以用作异常评分,以表示预测的置信度。评分越高,轨迹被正确分类为异常的置信度越高。异常的最终判定可以使用例如评分阈值来完成。评分阈值可以是外部参数,可以将其定界在例如0与1之间的范围内。较小的阈值指示屏蔽跨度预测2104功能已经很好地了解到轨迹的正常执行,并可以用作质量指示符。这允许为预测提供置信度评分估计,因此可以向对应实体通知关于判定的可靠性。
设备210还用于向控制实体230提供检测一个或多个异常的一个或多个结果以进行评估。
图8是示出本公开的实施例的工作流的示例概述的图800。工作流从操作801开始。在操作802,输入是用跨度和阈值参数表示的输入轨迹。训练过程期间的轨迹可用于学习模型的参数。在预测阶段810期间,可以生成对轨迹状态的预测。作为输出,轨迹(受预测影响)的判断812、813可以与适当的置信度评分811一起报告。
轨迹可以首先通过轨迹预处理803。轨迹预处理803增强、屏蔽轨迹并将填充添加到轨迹。如果需要再训练,则一组可用轨迹(操作805)可用于在操作806执行训练,并诱导在操作807存储在存储器中的模型。对于初始训练,假设存在描述可用工作负载的一组可用轨迹。如果人们对特定轨迹的预测感兴趣,则指示训练时段(操作804)的对应标志可以设置为假。预测部分的第一阶段检查是否在操作808加载最新训练的模型。如果加载了,模型将它用于预处理的测试轨迹。否则,模型在操作809从存储器加载,然后继续进行评估。
然后,输入阈值参数应用于加载模型的预测生成的置信度评分。如果在操作811置信度评分超过阈值,则在操作812将轨迹宣布为异常,否则在操作813将轨迹宣布为正常。在获得预测后,工作流可以通过扫描输入以获得新的轨迹来继续。
是否进行再训练可由操作员确定。一段时间后,由于各种原因(例如系统的更新),可能需要进行再训练。这可能解释了潜在的新跨度和新的轨迹,这可能会防止产生错误警报。
产生的预测可以进一步进行到以后的步骤(例如在自主可靠性控制系统中)或报告给操作员(例如在半自主可靠性控制系统中),以便可以选择适当的控制动作。这可以确保满足适当级别的微服务系统可靠性要求。
接下来,基于图2B描述用于监控分布式系统110中函数的执行的监控实体220的示例实施例。所描述的设备的一些特征是提供更多优点的可选特征。
图2B是示出根据本公开的实施例的监控实体220的框图。在实施例中,监控实体220可以包括合适的计算设备,例如服务器设备等。在本公开的至少一些实施例中,监控实体220可以与设备210和/或控制实体230集成。
如上文结合图1所讨论的,监控实体220监控分布式系统110,并提供响应于用户请求在轨迹内记录事件的机制。
监控实体220可以包括至少一个处理器或处理单元222,以及耦合到至少一个处理器222的至少一个存储器224,这可以用于实现后面更详细地描述的功能。
至少一个处理器222可以包括,例如各种处理设备中的一个或多个,例如协处理器、微处理器、控制器、数字信号处理器(digital signal processor,DSP)、包括或不包括DSP的处理电路,或者包括集成电路的各种其它处理设备,集成电路包括专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、微控制器单元(microcontroller unit,MCU)、硬件加速器、专用计算机芯片,等等。
存储器224可用于存储例如计算机程序等。存储器可以包括一个或多个易失性存储器设备、一个或多个非易失性存储器设备和/或一个或多个易失性存储器设备和非易失性存储器设备的组合。例如,存储器可以实施为磁存储设备(例如硬盘驱动器、软盘、磁带等)、光磁存储设备和半导体存储器(例如掩模ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、闪存ROM、随机存取存储器(random access memory,RAM)等)。
监控实体220用于响应于从分布式系统110接收到监控请求,记录与分布式系统110中函数的执行相关的监控数据。监控数据包括分布式轨迹(例如轨迹2201),所述分布式轨迹包括用于正在执行的函数的跨度记录序列。监控数据还可以包括用于正在执行的函数的一个或多个日志(例如日志2202),和/或用于正在执行的函数的一个或多个度量(例如度量2203)。监控实体220还可以用于向设备210提供记录的监控数据用于评估分布式轨迹以进行异常检测。
接下来,基于图2C描述用于评估异常检测结果的控制实体230的示例实施例。所描述的设备的一些特征是提供更多优点的可选特征。
图2C是示出根据本公开的实施例的控制实体230的框图。在实施例中,控制实体230可以包括合适的计算设备,例如服务器设备等。在本公开的至少一些实施例中,控制实体230可以与设备210和/或监控实体220集成。
控制实体230可以包括至少一个处理器或处理单元232以及耦合到至少一个处理器232的至少一个存储器234,这可以用于实现后面更详细地描述的功能。
至少一个处理器232可以包括,例如各种处理设备中的一个或多个,例如协处理器、微处理器、控制器、数字信号处理器(digital signal processor,DSP)、包括或不包括DSP的处理电路,或者包括集成电路的各种其它处理设备,集成电路包括专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、微控制器单元(microcontroller unit,MCU)、硬件加速器、专用计算机芯片,等等。
存储器234可用于存储例如计算机程序等。存储器可以包括一个或多个易失性存储器设备、一个或多个非易失性存储器设备和/或一个或多个易失性存储器设备和非易失性存储器设备的组合。例如,存储器可以实施为磁存储设备(例如硬盘驱动器、软盘、磁带等)、光磁存储设备和半导体存储器(例如掩模ROM、可编程ROM(programmable ROM,PROM)、可擦除PROM(erasable PROM,EPROM)、闪存ROM、随机存取存储器(random access memory,RAM)等)。
控制实体230用于从用于评估源自分布式系统110的分布式轨迹的设备210接收检测分布式轨迹中的一个或多个异常的一个或多个结果。一个或多个异常是指与分布式系统中110正在执行的函数的异常执行相关联的模式。换句话说,控制实体230可以接收设备210生成的数据作为输入。
控制实体230还用于评估检测分布式轨迹中的一个或多个异常的接收到的一个或多个结果。对检测分布式轨迹中的一个或多个异常的接收到的一个或多个结果的评估可包括对检测分布式轨迹中的一个或多个异常的接收到的一个或多个结果进行分类。换句话说,控制实体230可以包括异常分类2302功能,该功能扫描监控数据以检测潜在的有害行为。
控制实体230还可以用于基于检测分布式轨迹中的一个或多个异常的评估的一个或多个结果,向分布式系统110提供一个或多个控制动作。换句话说,控制实体230可以包括控制动作判定2301功能,该功能判定对应控制动作作为对异常行为类型的响应。
图9是根据本公开的实施例的用于评估源自分布式系统的分布式轨迹的方法900的流程图。
在操作901,用于评估分布式轨迹的设备从监控分布式系统中函数的执行的监控实体接收监控数据。所述监控数据包括分布式轨迹,所述分布式轨迹包括正在执行的函数的跨度记录序列。
在可选的操作902,设备可以通过将分布式轨迹编码为跨度特定的多组序列来预处理分布式轨迹。每个多组包括跨度的时间戳、跨度所属轨迹的标识以及跨度的函数描述。
在可选的操作903,设备可以使用Drain方法基于跨度的函数描述对分布式轨迹的跨度进行分组。
在可选的操作904,设备可以在分布式轨迹的开始处添加起始跨度,并且设备可以在分布式轨迹的结束处添加停止跨度,以指示分布式轨迹的长度。
在可选的操作905,设备可以用屏蔽跨度替换分布式轨迹中随机选择的跨度
在可选的操作906,设备可以用一个或多个填充跨度将分布式轨迹填充至预定义的最大跨度数。
在操作907,设备分析所述接收到的监控数据以检测分布式轨迹中的一个或多个异常。所述一个或多个异常是指与所述正在执行的函数的异常执行相关联的模式。所述检测所述一个或多个异常是通过应用基于自注意力的深度学习过程以判断所述分布式轨迹是否涉及异常来进行的。
在操作908处,设备向控制实体提供检测一个或多个异常的一个或多个结果给以进行评估。
方法900可以由设备210执行,以用于评估源自分布式系统110的分布式轨迹。例如,操作901-908可以由至少一个处理器212和存储器214执行。方法900的其它特征直接来自设备210的功能和参数,因此这里不再重复。方法900可以由计算机程序执行。
图10是根据本公开的实施例的用于监控分布式系统中函数的执行的方法1000的流程图。
在操作1001,监控实体从分布式系统接收监控请求。
在操作1002,作为响应,监控实体记录与分布式系统中函数的执行有关的监控数据。所述监控数据包括分布式轨迹,所述分布式轨迹包括正在执行的函数的跨度记录序列。
在操作1003,监控实体向设备提供记录的监控数据用于评估分布式轨迹以进行异常检测。
所述方法1000可以由监控实体220执行。例如,操作1001-1003可以由至少一个处理器222和存储器224执行。方法1000的其它特征直接来自监控实体220的功能和参数,因此这里不再重复。方法1000可以由计算机程序执行。
图11是示出根据本公开的实施例的用于评估异常检测结果的方法1100的流程图。
在操作1101,控制实体从用于评估源自分布式系统的分布式轨迹的设备接收检测分布式轨迹中的一个或多个异常的一个或多个结果。所述一个或多个异常是指与所述分布式系统中正在执行的函数的异常执行相关联的模式。
在操作1102,控制实体评估检测分布式轨迹中的一个或多个异常的接收到的一个或多个结果。对检测分布式轨迹中的一个或多个异常的接收到的一个或多个结果的评估可包括控制实体对检测分布式轨迹中的一个或多个异常的接收到的一个或多个结果进行分类。
在可选的操作1103,控制实体可以基于检测分布式轨迹中的一个或多个异常的评估的一个或多个结果,向分布式系统提供一个或多个控制动作。
方法1100可以由控制实体230执行。操作1101-1103例如可以由至少一个处理器232和存储器234执行。方法1100的其它特征直接来自控制实体230的功能和参数,因此这里不再重复。方法1100可以由计算机程序执行。
本文描述的功能可以至少部分地由一个或多个计算机程序产品组件(例如软件组件)来执行。可替换地,或者另外,本文中描述的功能可以至少部分地由一个或多个硬件逻辑组件执行。例如,在不限于此情况下,可以使用的硬件逻辑组件的示例性类型包括现场可编程门阵列(field-programmable gate array,FPGA)、特定程序集成电路(program-specific integrated circuit,ASIC)、特定程序标准产品(program-specific standardproduct,ASSP)、片上系统(system-on-a-chip,SOC)、复杂可编程逻辑设备(complexprogrammable logic device,CPLD)和图形处理单元(graphics processing unit,GPU)。
本文给出的任何范围或设备值均可以扩展或更改,但不会丢失所寻求的效果。此外,任何实施例都可以与另一实施例结合,除非明确不允许。
尽管已经以结构特征和/或动作特定的语言描述了主题,但是应该理解的是,所附权利要求书定义的主题不必局限于上面描述的具体特征或动作。相反,上文描述的具体特性和动作作为实施权利要求书的示例进行公开,并且其它等效特征和动作旨在包含于权利要求书的范围内。
应该理解的是,上面描述的优点和优势可以涉及一个实施例,或者可以涉及多个实施例。实施例不限于解决任意或全部所述问题,也不限于具有任意或全部所述优点和优势的实施例。还应该理解的是,提及‘一个’项目时可以指这些项目中的一个或多个项目。
本文描述的方法的步骤可以以任何合适的顺序执行,或在适当时同时执行。此外,可以从任意所述方法中删除单独的方框,而不脱离本文描述的主题的精神和范围。上面描述的任意实施例的方面可以与所描述的任何其它实施例的方面组合以形成更多实施例,而不影响所要达到的效果。
本文中所用的术语‘包括’意在包括相关的方法、方框或元素,但是此类方框或元素不包括排他性列表,并且方法或装置可包含额外的方框或元素。
应该理解的是,以上描述仅作为示例提供,并且本领域技术人员可以进行各种修改。以上说明书、示例和数据完整描述了示例性实施例的结构和使用。虽然上文相对详细地或结合一个或多个单独实施例描述了各种实施例,本领域技术人员可以对所公开的实施例进行各种变更,而不脱离本说明书的范围。
Claims (18)
1.一种用于评估源自分布式系统(110)的分布式轨迹的设备(210),其特征在于,用于:
从监控所述分布式系统(110)中函数的执行的监控实体(220)接收监控数据,所述监控数据包括所述分布式轨迹,所述分布式轨迹包括用于所述正在执行的函数的跨度记录序列;
分析所述接收到的监控数据以检测所述分布式轨迹中的一个或多个异常,所述一个或多个异常涉及与所述正在执行的函数的异常执行相关联的模式;
向控制实体(230)提供检测所述一个或多个异常的一个或多个结果以进行评估,其中
所述检测所述一个或多个异常是通过应用基于自注意力的深度学习过程以判断所述分布式轨迹是否涉及异常来进行的。
2.根据权利要求1所述的设备(210),其特征在于,在所述分析之前,所述设备(210)还用于通过将所述分布式轨迹编码为跨度特定的多组序列来预处理所述分布式轨迹,每个多组包括跨度的时间戳、所述跨度所属轨迹的标识以及所述跨度的函数描述。
3.根据权利要求2所述的设备(210),其特征在于,所述分布式轨迹的所述预处理还包括使用Drain方法基于所述跨度的函数描述对所述分布式轨迹的所述跨度进行分组。
4.根据权利要求2或3所述的设备(210),其特征在于,所述分布式轨迹的所述预处理还包括在所述分布式轨迹的开始处添加起始跨度和在所述分布式轨迹的结束处添加停止跨度,以指示所述分布式轨迹的长度。
5.根据权利要求2至4中任一项所述的设备(210),其特征在于,所述分布式轨迹的所述预处理还包括用屏蔽跨度替换所述分布式轨迹中随机选择的跨度。
6.根据权利要求2至5中任一项所述的设备(210),其特征在于,所述分布式轨迹的所述预处理还包括用一个或多个填充跨度将所述分布式轨迹填充至预定义的最大跨度数。
7.根据权利要求1至6中任一项所述的设备(210),其特征在于,还用于通过应用所述基于自注意力的深度学习过程来生成模型,所述模型利用所有其它跨度作为上下文指示最可能出现在轨迹内位置上的跨度。
8.根据权利要求1至7中任一项所述的设备(210),其特征在于,还用于通过应用所述基于自注意力的深度学习过程来生成所述分布式轨迹的异常评分,指示所述分布式轨迹被正确分类为异常的置信度。
9.根据权利要求8所述的设备(210),其特征在于,还用于响应于所述异常评分超过评分阈值,确定所述分布式轨迹涉及异常。
10.一种用于评估源自分布式系统的分布式轨迹的方法(900),其特征在于,所述方法(900)包括:
用于评估所述分布式轨迹的设备从监控分布式系统中函数的执行的监控实体接收(901)监控数据,所述监控数据包括所述分布式轨迹,所述分布式轨迹包括用于所述正在执行的函数的跨度记录序列;
所述设备分析(907)所述接收到的监控数据以检测所述分布式轨迹中的一个或多个异常,所述一个或多个异常涉及与所述正在执行的函数的异常执行相关联的模式;
所述设备向控制实体提供(908)检测所述一个或多个异常的一个或多个结果以进行评估,其中
所述检测所述一个或多个异常是通过应用基于自注意力的深度学习过程以判断所述分布式轨迹是否涉及异常来进行的。
11.一种计算机程序产品,其特征在于,包括程序代码,当所述程序代码在计算机上执行时,所述程序代码用于执行根据权利要求10所述的方法。
12.一种用于监控分布式系统(110)中函数的执行的监控实体(220),其特征在于,用于:
响应于从所述分布式系统(110)接收到监控请求,记录与所述分布式系统(110)中所述函数的所述执行有关的监控数据,所述监控数据包括分布式轨迹,所述分布式轨迹包括用于所述正在执行的函数的跨度记录序列;
向设备(210)提供所述记录的监控数据以评估所述分布式轨迹,从而进行异常检测。
13.根据权利要求12所述的监控实体(220),其特征在于,所述监控数据还包括以下至少一个:一个或多个用于所述正在执行的函数的日志,或一个或多个用于所述正在执行的函数的度量。
14.一种用于监控分布式系统中函数的执行的方法(1000),其特征在于,所述方法(1000)包括:
响应于从所述分布式系统接收到(1001)监控请求,监控实体记录(1002)与所述分布式系统中所述函数的所述执行有关的监控数据,所述监控数据包括分布式轨迹,所述分布式轨迹包括用于所述正在执行的函数的跨度记录序列;
所述监控实体向设备提供(1003)所述记录的监控数据以评估所述分布式轨迹,从而进行异常检测。
15.一种用于评估异常检测结果的控制实体(230),其特征在于,用于:
从用于评估源自分布式系统(110)的分布式轨迹的设备(210)接收检测所述分布式轨迹中的一个或多个异常的一个或多个结果,所述一个或多个异常涉及与所述分布式系统(110)中正在执行的函数的异常执行相关联的模式;
评估所述接收到的检测所述分布式轨迹中的所述一个或多个异常的一个或多个结果。
16.根据权利要求15所述的控制实体(230),其特征在于,评估所述接收到的检测所述分布式轨迹中的所述一个或多个异常的一个或多个结果包括:对所述接收到的检测所述分布式轨迹中的所述一个或多个异常的一个或多个结果进行分类。
17.根据权利要求15或16所述的控制实体(230),其特征在于,还用于基于检测所述分布式轨迹中的所述一个或多个异常的评估的一个或多个结果,向所述分布式系统(110)提供一个或多个控制动作。
18.一种用于评估异常检测结果的方法(1100),其特征在于,所述方法(1100)包括:
控制实体从用于评估源自分布式系统的分布式轨迹的设备接收(1101)检测所述分布式轨迹中的一个或多个异常的一个或多个结果,所述一个或多个异常涉及与所述分布式系统中正在执行的函数的异常执行相关联的模式;
所述控制实体评估(1102)所述接收到的检测所述分布式轨迹中的所述一个或多个异常的一个或多个结果。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2020/075647 WO2022053163A1 (en) | 2020-09-14 | 2020-09-14 | Distributed trace anomaly detection with self-attention based deep learning |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116349211A true CN116349211A (zh) | 2023-06-27 |
Family
ID=72474335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080105186.0A Pending CN116349211A (zh) | 2020-09-14 | 2020-09-14 | 基于自注意力的深度学习的分布式轨迹异常检测 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116349211A (zh) |
WO (1) | WO2022053163A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116956098A (zh) * | 2023-09-21 | 2023-10-27 | 四川吉利学院 | 一种基于感知分布式对比学习框架的长尾轨迹预测方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12124325B2 (en) * | 2020-02-27 | 2024-10-22 | Siemens Healthcare Diagnostics Inc. | Automatic sensor trace validation using machine learning |
CN115913989B (zh) * | 2022-11-08 | 2023-09-19 | 广州鲁邦通物联网科技股份有限公司 | 一种云管理平台的资源保护方法 |
CN117130870B (zh) * | 2023-10-26 | 2024-01-26 | 成都乐超人科技有限公司 | 面向Java架构微服务系统的透明请求追踪及采样方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058987A (zh) * | 2018-01-18 | 2019-07-26 | 伊姆西Ip控股有限责任公司 | 用于对计算系统进行追踪的方法、设备和计算机可读介质 |
CN111209168A (zh) * | 2020-01-14 | 2020-05-29 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于nLSTM-self attention的日志序列异常检测框架 |
WO2020108332A1 (zh) * | 2018-11-30 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 一种序列模型的处理方法和装置 |
WO2020177854A1 (en) * | 2019-03-04 | 2020-09-10 | Huawei Technologies Co., Ltd. | Automated root-cause analysis for distributed systems using tracing-data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3871120B1 (en) * | 2018-12-17 | 2024-08-14 | Huawei Cloud Computing Technologies Co., Ltd. | Apparatus and method for detecting an anomaly among successive events and computer program product therefor |
-
2020
- 2020-09-14 CN CN202080105186.0A patent/CN116349211A/zh active Pending
- 2020-09-14 WO PCT/EP2020/075647 patent/WO2022053163A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110058987A (zh) * | 2018-01-18 | 2019-07-26 | 伊姆西Ip控股有限责任公司 | 用于对计算系统进行追踪的方法、设备和计算机可读介质 |
WO2020108332A1 (zh) * | 2018-11-30 | 2020-06-04 | 腾讯科技(深圳)有限公司 | 一种序列模型的处理方法和装置 |
WO2020177854A1 (en) * | 2019-03-04 | 2020-09-10 | Huawei Technologies Co., Ltd. | Automated root-cause analysis for distributed systems using tracing-data |
CN111209168A (zh) * | 2020-01-14 | 2020-05-29 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于nLSTM-self attention的日志序列异常检测框架 |
Non-Patent Citations (2)
Title |
---|
RUIPENG YANG: "nLSALog: An Anomaly Detection Framework for Log Sequence in Security Management", 《IEEE ACCESS》, vol. 7, 18 November 2019 (2019-11-18), pages 118152 - 181164 * |
SASHO NEDELKOSKI: "Anomaly Detection and Classification using Distributed Tracing and Deep Learning", 《2019 19TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND GRID COMPUTING (CCGRID)》, 8 July 2019 (2019-07-08), pages 241 - 250 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116956098A (zh) * | 2023-09-21 | 2023-10-27 | 四川吉利学院 | 一种基于感知分布式对比学习框架的长尾轨迹预测方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022053163A1 (en) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Hitanomaly: Hierarchical transformers for anomaly detection in system log | |
CN116349211A (zh) | 基于自注意力的深度学习的分布式轨迹异常检测 | |
Wang et al. | Anomaly detection for industrial control system based on autoencoder neural network | |
Nedelkoski et al. | Self-supervised log parsing | |
WO2022111108A1 (en) | Learning from distributed traces for anomaly detection and root cause analysis | |
KR102522005B1 (ko) | 가상 네트워크 관리를 위한 머신 러닝 기반 vnf 이상 탐지 시스템 및 방법 | |
US11190562B2 (en) | Generic event stream processing for machine learning | |
CN106547470B (zh) | 日志存储优化方法和设备 | |
CN113312447B (zh) | 基于概率标签估计的半监督日志异常检测方法 | |
CN111600919B (zh) | 智能网络应用防护系统模型的构建方法和装置 | |
Grossniklaus et al. | Frames: data-driven windows | |
Dai et al. | Transformer-xl: Language modeling with longer-term dependency | |
CN114564726B (zh) | 一种基于大数据办公的软件漏洞分析方法及系统 | |
CN116684491A (zh) | 一种基于深度学习的动态缓存方法、装置、设备和介质 | |
Bogatinovski et al. | Multi-source anomaly detection in distributed it systems | |
Chen et al. | TraceGra: A trace-based anomaly detection for microservice using graph deep learning | |
CN110011990A (zh) | 内网安全威胁智能分析方法 | |
KR101985850B1 (ko) | 이상 로그 탐지를 위한 탐지 장치 및 이의 동작 방법과 트레이닝 장치 및 이의 동작 방법 | |
Saluja et al. | Optimized approach for antipattern detection in service computing architecture | |
Mayer et al. | Streamlearner: Distributed incremental machine learning on event streams: Grand challenge | |
WO2024148880A1 (zh) | 一种基于多源异构数据的系统检测方法及装置 | |
Xiao et al. | Detecting anomalies in cluster system using hybrid deep learning model | |
KR20200071646A (ko) | 이상 로그 탐지를 위한 탐지 장치 및 이의 동작 방법과 트레이닝 장치 및 이의 동작 방법 | |
US20230222099A1 (en) | Policy driven event transformation | |
Kimball et al. | Finding performance patterns from logs with high confidence |
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 |