CN117972542A - 一种基于图神经网络的微应用系统异常检测方法及装置 - Google Patents
一种基于图神经网络的微应用系统异常检测方法及装置 Download PDFInfo
- Publication number
- CN117972542A CN117972542A CN202410131302.6A CN202410131302A CN117972542A CN 117972542 A CN117972542 A CN 117972542A CN 202410131302 A CN202410131302 A CN 202410131302A CN 117972542 A CN117972542 A CN 117972542A
- Authority
- CN
- China
- Prior art keywords
- event
- span
- log
- micro
- call
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 93
- 238000001514 detection method Methods 0.000 title claims abstract description 51
- 239000013598 vector Substances 0.000 claims abstract description 49
- 230000005856 abnormality Effects 0.000 claims abstract description 44
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000012549 training Methods 0.000 claims abstract description 29
- 238000004891 communication Methods 0.000 claims abstract description 5
- 230000001360 synchronised effect Effects 0.000 claims description 62
- 238000010586 diagram Methods 0.000 claims description 46
- 230000004044 response Effects 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 23
- 238000013145 classification model Methods 0.000 claims description 23
- 238000010276 construction Methods 0.000 claims description 17
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000011176 pooling Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000002679 ablation Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000529895 Stercorarius Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及网络通信安全技术领域,公开了一种基于图神经网络的微应用系统异常检测方法及装置,该方法包括:获取微应用系统的调用链以及日志数据,调用链包括跨度事件,日志数据包括日志事件;采用大语言模型对跨度事件及日志事件进行特征学习,得到跨度事件及日志事件对应的事件特征向量;基于事件特征向量、调用链以及日志数据构建异构事件图,异构事件图用于表示跨度事件及日志事件间的关系;利用构建的异构事件图训练图神经网络;使用训练后的图神经网络对微应用系统进行异常检测。本发明解决了相关技术中存在的微应用异常检测不够准确的问题。
Description
技术领域
本发明涉及网络通信安全技术领域,具体涉及一种基于图神经网络的微应用系统异常检测方法及装置。
背景技术
工业中的微应用系统通常为分布式系统,包括分布在多台机器上的众多服务,在动态和不可预测的环境中运行,这些系统可能发生配置错误、硬件故障等异常,为了使工程师能够及时响应潜在的故障,需要在微应用系统自动运行时检测异常。对于微应用系统,分布式跟踪在分析和监控执行中起着至关重要的作用,用户对实例化服务的请求会触发一系列服务调用,调用信息通常反映在调用链(Trace)和系统日志中,调用链包含了一系列的跨度(Span),每个跨度代表了一个组件的调用或操作。现有方法常将调用链看作是服务调用的序列或图对微应用异常进行检测,未能很好地将调用链与日志数据结合分析。因此,现有技术中存在微应用异常检测不够准确的问题。
发明内容
有鉴于此,本发明提供了一种基于图神经网络的微应用系统异常检测方法及装置,以解决微应用异常检测不够准确的问题。
第一方面,本发明提供了一种基于图神经网络的微应用系统异常检测方法,包括:获取微应用系统的调用链以及日志数据,调用链包括跨度事件,日志数据包括日志事件;采用大语言模型对跨度事件及日志事件进行特征学习,得到跨度事件及日志事件对应的事件特征向量;基于事件特征向量、调用链以及日志数据构建异构事件图,异构事件图用于表示跨度事件及日志事件间的关系;利用构建的异构事件图训练图神经网络;使用训练后的图神经网络对微应用系统进行异常检测。
在本发明实施例中,通过对调用链以及日志数据进行特征学习,构建包括跨度事件及日志事件间关系的异构事件图,利用该异构事件图训练图神经网络,由于异构事件图融合了调用链和日志数据的特征,因此,使用训练后的图神经网络对微应用系统进行异常检测,实现了提高微应用系统异常检测准确性的目的,解决了相关技术中存在的微应用异常检测不够准确的问题。
在一种可选的实施方式中,获取微应用系统的调用链以及日志数据,调用链包括跨度事件,日志数据包括日志事件,包括:获取微应用系统的调用链以及日志数据;提取日志数据中的标识符,标识符用于标识微应用跨越多个服务的请求和操作;对日志数据进行解析,结合标识符生成日志事件;根据预设调用类型将调用链中的跨度转换为跨度事件。
在本发明实施例中,通过提取标识符,与解析的日志数据共同生成日志事件,实现了对复杂调用结构和日志时间进行统一建模的目的。
在一种可选的实施方式中,预设调用类型包括同步调用以及异步调用,跨度事件包括请求事件、响应事件、消费者事件以及生产者事件,调用链中除根跨度外的任一跨度包括对应的父跨度,根据预设调用类型将调用链中的跨度转换为跨度事件,包括:若预设调用类型为同步调用,将任一跨度和任一跨度的父跨度转换为请求事件和响应事件;若预设调用类型为异步调用,将任一跨度和任一跨度的父跨度转换为消费者事件和生产者事件。
在本发明实施例中,考虑同步和异步调用引起的复杂调用关系,根据预设调用类型将跨度转换为对应的跨度事件,实现了有效学习事件特征的目的,达到了进一步提高微应用异常检测准确性的效果。
在一种可选的实施方式中,日志事件包括日志时间戳,跨度事件包括跨度时间戳,基于事件特征向量、调用链以及日志数据构建异构事件图,异构事件图用于表示跨度事件及日志事件间的关系,包括:根据日志时间戳及日志数据生成调用链中每个跨度的日志事件序列;根据跨度时间戳将每个跨度包括的跨度事件插入到日志事件序列中,得到跨度日志事件序列;根据预设调用类型以及跨度日志事件序列构建异构事件图。
在本发明实施例中,根据调用链的日志事件和跨度事件及其关系构建异构事件图,实现了将调用链和日志事件相结合,以图模型表征事件特征对微应用进行异常检测的目的,达到了提高微应用异常检测准确性和可靠性的效果。
在一种可选的实施方式中,请求事件和响应事件包括同步请求关系和同步响应关系,消费者事件和生产者事件包括异步请求关系,根据预设调用类型以及跨度日志事件序列构建异构事件图,包括:若预设调用类型为同步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照同步请求关系和同步响应关系连接;若预设调用类型为异步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照异步请求关系连接;得到异构事件图。
在本发明实施例中,将同步和异步调用的复杂调用关系以异构事件图中跨度间的连接关系表示,实现了提高事件特征表达能力的目的,达到了进一步提高微应用异常检测准确性的效果。
在一种可选的实施方式中,利用构建的异构事件图训练图神经网络,包括:使用异构图神经网络以及支持向量数据描述算法构建单分类模型;利用构建的异构事件图训练单分类模型。
在本发明实施例中,利用异构图神经网络和支持向量数据描述算法构建单分类模型,对异构事件图进行特征学习,实现了利用单分类模型对微应用系统进行异常检测的目的。
在一种可选的实施方式中,使用训练后的图神经网络对微应用系统进行异常检测,包括:获取待检测的调用链以及日志数据;使用训练后的图神经网络根据待检测的调用链以及日志数据确定微应用系统的异常值;根据异常值判断微应用系统是否存在异常。
在本发明实施例中,通过将待检测的调用链以及日志数据输入训练后的图神经网络计算异常值,实现了有效检测微应用系统异常并及时响应潜在故障的目的。
第二方面,本发明提供了一种基于图神经网络的微应用系统异常检测装置,包括:数据获取模块,用于获取微应用系统的调用链以及日志数据,调用链包括跨度事件,日志数据包括日志事件;特征学习模块,用于采用大语言模型对跨度事件及日志事件进行特征学习,得到跨度事件及日志事件对应的事件特征向量;异构事件图构建模块,用于基于事件特征向量、调用链以及日志数据构建异构事件图,异构事件图用于表示跨度事件及日志事件间的关系;神经网络训练模块,用于利用构建的异构事件图训练图神经网络;异常检测模块,用于使用训练后的图神经网络对微应用系统进行异常检测。
在一种可选的实施方式中,数据获取模块包括:获取单元,用于获取微应用系统的调用链以及日志数据;提取单元,用于提取日志数据中的标识符,标识符用于标识微应用跨越多个服务的请求和操作;解析单元,用于对日志数据进行解析,结合标识符生成日志事件;转换单元,用于根据预设调用类型将调用链中的跨度转换为跨度事件。
在一种可选的实施方式中,预设调用类型包括同步调用以及异步调用,跨度事件包括请求事件、响应事件、消费者事件以及生产者事件,调用链中除根跨度外的任一跨度包括对应的父跨度,转换单元包括:同步转换子单元,用于若预设调用类型为同步调用,将任一跨度和任一跨度的父跨度转换为请求事件和响应事件;异步转换子单元,用于若预设调用类型为异步调用,将任一跨度和任一跨度的父跨度转换为消费者事件和生产者事件。
在一种可选的实施方式中,日志事件包括日志时间戳,跨度事件包括跨度时间戳,异构事件图构建模块包括:序列生成单元,用于根据日志时间戳及日志数据生成调用链中每个跨度的日志事件序列;序列得到单元,用于根据跨度时间戳将每个跨度包括的跨度事件插入到日志事件序列中,得到跨度日志事件序列;异构事件图构建单元,用于根据预设调用类型以及跨度日志事件序列构建异构事件图。
在一种可选的实施方式中,请求事件和响应事件包括同步请求关系和同步响应关系,消费者事件和生产者事件包括异步请求关系,异构事件图构建单元包括:同步连接子单元,用于若预设调用类型为同步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照同步请求关系和同步响应关系连接;异步连接子单元,用于若预设调用类型为异步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照异步请求关系连接;得到子单元,用于得到异构事件图。
在一种可选的实施方式中,神经网络训练模块包括:单分类模型构建单元,用于使用异构图神经网络以及支持向量数据描述算法构建单分类模型;单分类模型训练单元,用于利用构建的异构事件图训练单分类模型。
在一种可选的实施方式中,异常检测模块包括:待检测数据获取单元,用于获取待检测的调用链以及日志数据;异常值确定单元,用于使用训练后的图神经网络根据待检测的调用链以及日志数据确定微应用系统的异常值;异常判断单元,用于根据异常值判断微应用系统是否存在异常。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的基于图神经网络的微应用系统异常检测方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的基于图神经网络的微应用系统异常检测方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的基于图神经网络的微应用系统异常检测方法的流程示意图;
图2是根据本发明实施例的另一基于图神经网络的微应用系统异常检测方法的流程示意图;
图3是相关技术中简化的Trace数据模型示意图;
图4是根据本发明实施例的Trace数据示意图;
图5是相关技术中基于Bert生成句子嵌入的SentenceBert的结构示意图;
图6是根据本发明实施例构建的异构事件图的示意图;
图7是根据本发明实施例的又一基于图神经网络的微应用系统异常检测方法的流程示意图;
图8是根据本发明实施例的与基线模型比较结果示意图;
图9是根据本发明实施例的消融实验结果示意图;
图10是根据本发明实施例的基于图神经网络的微应用系统异常检测装置的结构框图;
图11是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
另外,若本发明中出现“和/或”的含义,包括三个并列的方案,以“A和/或B”为例,包括A方案、或B方案、或A和B同时满足的方案。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
工业中的微应用系统通常包含广泛的分布式系统,包括分布在多台机器上的众多服务。在动态和不可预测的环境中运行,这些系统经常经历来自基础设施问题或应用程序故障,例如硬件故障和配置错误。为了使工程师能够及时响应潜在的故障,需要在微应用系统自动运行时检测异常。对于微应用系统,分布式跟踪在分析和监控执行中起着至关重要的作用,分布式跟踪包括商业系统和开源系统,如SkyWalking、Zipkin和Jaeger。其生成的调用链(Trace)通过服务实例描述请求的执行过程。同时,日志消息也可用来记录每个服务的行为以进行调试错误。随着深度学习在各个领域的巨大成功,现有的研究也将深度学习方法融入到微应用异常检测中。然而现有方法将Trace视为服务调用序列,忽略了同步和异步调用引起的复杂调用关系。或者,将Trace表示为图,忽略了系统内生成的重要日志信息。即现有技术未能将Trace和日志结合,没有关注Trace和日志之间的异构性质,未能有效地学习事件的特征,从而影响图表示。因此,现有技术中存在微应用异常检测不够准确的问题。
根据本发明实施例,提供了一种基于图神经网络的微应用系统异常检测方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的终端中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种基于图神经网络的微应用系统异常检测方法,可用于上述的终端,如中央处理单元、服务器等,图1是根据本发明实施例的基于图神经网络的微应用系统异常检测方法的流程示意图,如图1所示,该流程包括如下步骤:
步骤S101,获取微应用系统的调用链以及日志数据,调用链包括跨度事件,日志数据包括日志事件。可选地,分布式追踪(Distributed Tracing)是一种用于监测和分析分布式系统中请求的跟踪和性能的技术。在分布式系统中,Trace指一个请求或者一个操作从开始到结束的完整路径即调用链,它涵盖了分布式系统中所有相关组件的调用关系和性能信息。具体来说,Trace包含了一系列的跨度(Span),每个Span代表了一个组件的调用或操作。本步骤利用分布式追踪技术获取微应用系统的调用链(Trace)和日志(Log)数据,对Trace和Log数据进行解析可以得到跨度(Span)事件和日志事件。
步骤S102,采用大语言模型对跨度事件及日志事件进行特征学习,得到跨度事件及日志事件对应的事件特征向量。可选地,大语言模型是基于海量文本数据训练的深度学习模型,能够深入理解文本含义,如ERNIE、SentenceBert等模型。将步骤S101得到的跨度事件和日志事件输入大语言模型,进行特征学习,得到跨度事件和日志事件对应的事件特征向量。
步骤S103,基于事件特征向量、调用链以及日志数据构建异构事件图,异构事件图用于表示跨度事件及日志事件间的关系。可选地,根据调用链和日志数据中的跨度事件、日志事件以及跨度事件和日志事件对应的调用关系、调用顺序等构建异构事件图,其中跨度事件和日志事件可以使用步骤S102得到的事件特征向量表示。可以理解的是,微应用系统运行过程中会产生大量调用链以及日志数据,因此可以构建大量异构事件图。
步骤S104,利用构建的异构事件图训练图神经网络。可选地,使用步骤S103中构建的异构事件图训练图神经网络,如图卷积网络、异构图神经网络等。
步骤S105,使用训练后的图神经网络对微应用系统进行异常检测。具体地,使用微应用系统当前运行的数据,如等待进行异常检测的调用链和日志数据,利用步骤S104经异构事件图训练后的图神经网络根据上述数据对微应用系统进行异常检测。
在本发明实施例中,通过对调用链以及日志数据进行特征学习,构建包括跨度事件及日志事件间关系的异构事件图,利用该异构事件图训练图神经网络,由于异构事件图融合了调用链和日志数据的特征,因此,使用训练后的图神经网络对微应用系统进行异常检测,实现了提高微应用系统异常检测准确性的目的,解决了相关技术中存在的微应用异常检测不够准确的问题。
在本实施例中提供了一种基于图神经网络的微应用系统异常检测方法,可用于上述的终端,如中央处理单元、服务器等,图2是根据本发明实施例的另一基于图神经网络的微应用系统异常检测方法的流程示意图,如图2所示,该流程包括如下步骤:
步骤S201,获取微应用系统的调用链以及日志数据,调用链包括跨度事件,日志数据包括日志事件。具体地,步骤S201包括:
步骤a1,获取微应用系统的调用链以及日志数据。可选地,图3描述了Trace、Span和Log之间的关系,从用户请求到服务实例会触发一系列服务调用,这些调用由Trace表示,Trace中的每个服务调用称为Span,包括由布尔类型(bool)表示的服务调用执行结果(是否成功)以及由整数类型(int)表示的时间戳。由于同步和异步调用的存在,除了根之外的所有Span都有一个父Span。在服务调用期间,非结构化日志数据(Log)由日志系统生成,包括时间戳(int类型)、写入内容(str类型)等。示例性地,由三个Span组成的Trace示例如图4所示,横轴代表时间戳,同步调用Span A分别发起同步调用和对应于SpanB和SpanC的异步调用。因此,Span A是Span B和Span C的父级。SpanA的日志(数据)为:“Donotneedfoodfororder<*>”,Span C的日志(数据)为:“[AddFoodOrder]Delivery infoorderID is<*>and the foodname is<*>”,该日志数据是一个Log事件,orderId和foodname为两个参数。
步骤a2,提取日志数据中的标识符,标识符用于标识微应用跨越多个服务的请求和操作。可选地,Trace ID和Span ID是两个用于标识微应用跨越多个服务请求和操作的重要标识符,其中,Trace ID用于标识整个请求链路(调用链),当一个请求进入系统时,会生成一个Trace ID,并在整个请求链路中传递,每个服务都会将自己的Span ID添加到TraceID中,形成一个树状结构,用于表示整个请求链路。Span ID用于标识单个服务中的一个操作,当一个服务接收到一个请求时,会生成一个Span ID,并在处理请求的过程中不断更新。每个Span ID都包含一些元数据,如开始时间、结束时问、操作名称等,用于定位问题,通过Trace ID和Span ID,可以实现追踪整个请求链路以及定位问题的目的。
步骤a3,对日志数据进行解析,结合标识符生成日志事件。具体地,软件系统中的日志数据记录了系统运行期间的动态信息,包括系统状态和不同关键点的重要事件,可用于调试系统性能、分析问题和故障原因等。由于原始日志数据为非结构化形式,因此,为了利用日志数据进行异常检测,首先需要进行日志解析,即将自由格式文本的非结构化日志数据解析为结构化的日志事件。可选地,本实施例从每个日志条目中提取日志键即字符串模板,采用Drain算法以流式形式解析日志,具有较高的解析精度和效率。具体地,一条日志由固定的日志键和不定的参数值部分组成,比如原始日志“calculate time:0time:SatMay 04 07:00:00 CST 2013”中,包括一个固定部分“calculate<*>time:Sat May<*><*>CST<*>”和一个可变的参数值部分。日志解析的目标即提取原始日志消息中的固定部分并将其抽象为固定的日志模板,并使用通配符*代表可变的参数值部分。为了将日志信息和Trace结合,本实施例在日志解析之前分析日志消息中的SW_CTX部分,提取和记录日志消息中的标识符,如Trace ID和Span ID。在日志解析之后,将Trace ID和Span ID附加到每个提取的日志事件中,便于对Trace间复杂的调用结构和服务日志时间进行统一建模。
步骤a4,根据预设调用类型将调用链中的跨度转换为跨度事件。具体地,预设调用类型包括同步调用以及异步调用,跨度事件包括请求事件、响应事件、消费者事件以及生产者事件,调用链中除根跨度外的任一跨度包括对应的父跨度,上述步骤a4包括:
步骤a41,若预设调用类型为同步调用,将任一跨度和任一跨度的父跨度转换为请求事件和响应事件。
步骤a42,若预设调用类型为异步调用,将任一跨度和任一跨度的父跨度转换为消费者事件和生产者事件。
示例性地,服务实例的日志事件构成一个事件序列。为了结合Trace和Log进行异常检测,需要将Trace的Span转换为Span事件。Span事件是表示服务调用请求和响应的一类特殊事件,当与日志事件一起分析时,Span事件可以指示服务调用的开始和结束。对于一个Trace的每个Span,可以根据其类型(预设调用类型)将其转换为相关Span的多个Span事件。其中预设调用类型包括:同步调用,如Client(用户请求或响应类型)、Server(服务请求或响应类型)以及异步调用,如Producer(生产类型)、Consumer(消费类型)。若预设调用类型为同步调用即对于一个Client/Server类型的Span,则为当前Span(服务器)和其父Span(客户端)生成一个请求事件和一个响应事件。客户端(服务器)的请求事件和响应事件分别表示服务调用的发送(接收)和调用响应的接收(发送)。若预设调用类型为异步调用即对于一个Producer/Consumer类型的Span,为当前Span(消费者)生成一个消费者事件,为当前Span的父Span(生产者)生成一个生产者事件。其中,生产者事件和消费者事件分别表示消息的发送和接收。
步骤S202,采用大语言模型对跨度事件及日志事件进行特征学习,得到跨度事件及日志事件对应的事件特征向量。可选地,本实施例将Span事件和日志事件进行组合后一起进行微应用系统异常检测。因此,需要为日志事件和Span事件生成事件向量表示,即提取日志事件和Span事件的特征表示。
由于每个日志事件或者Span事件都是一系列英语单词,因此可以将其视为一个句子,将单词从高维稀疏的向量空间映射为低维稠密的向量表示形式,较为常用的方法如Word2Vec、Global Vectors等;在深度学习中,卷积神经网络、递归神经网络、长短期记忆网络等深度神经网络也可以辅助进行语义信息的编码和上下文信息的提取。但上述方法无法理解上下文语义,不同语境下的同一个词可能会被表示成同样的向量。优选地,本实施例采用SentenceBert对事件文本进行编码,不仅提供了丰富的语义,还确保了更大的通用性。图5展示了SentenceBert的结构,它可以通过使用连体或三元组结构和参数共享而不是从头开始微调BERT来直接生成给定句子的向量,如将句子A、句子B、句子C共同输入,模型输入向量会考虑句子间的语义关系,输出特征向量VA、VB、VC以及可用于多种任务的Token(如CLS、REG、TRI)。
步骤S203,基于事件特征向量、调用链以及日志数据构建异构事件图,异构事件图用于表示跨度事件及日志事件间的关系。可选地,日志事件包括日志时间戳,跨度事件包括跨度时间戳,异构事件图由Trace的日志事件和Span事件及其关系组成,异构事件图中的关系包括:序列关系,如表示同一Span的两个序列Span或日志事件之间的前件或后件关系;同步请求关系,表示从父Span到子Span的同步请求;同步响应关系,表示从Span到父Span的同步请求的响应;异步请求关系,表示从父Span到子Span的异步请求。具体地,步骤S203构建异构事件图包括:
步骤S2031,根据日志时间戳及日志数据生成调用链中每个跨度的日志事件序列。可选地,对于Trace的每个Span,获取属于该Span的所有日志事件,然后根据日志事件的时间戳(日志时间戳)对日志事件进行排序,并将每个日志事件的序列关系添加到其旁边的日志事件中,得到该跨度的日志事件序列。
步骤S2032,根据跨度时间戳将每个跨度包括的跨度事件插入到日志事件序列中,得到跨度日志事件序列。可选地,对于Trace的每个Span,获取属于该Span的所有Span事件。然后对于每个得到的Span事件,根据其时间戳(跨度时间戳)将其插入当前Span的日志事件序列即步骤S2031得到的该跨度的日志事件序列中,并在其与前继/后继Span事件之间添加序列关系,得到跨度日志事件序列。
步骤S2033,根据预设调用类型以及跨度日志事件序列构建异构事件图。具体地,请求事件和响应事件包括同步请求关系和同步响应关系,消费者事件和生产者事件包括异步请求关系,上述步骤S2033包括:
步骤b1,若预设调用类型为同步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照同步请求关系和同步响应关系连接;
步骤b2,若预设调用类型为异步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照异步请求关系连接;
步骤b3,得到异构事件图。
具体地,对于每个Span,将其与父Span按如下方式连接。如果当前Span为Client/Server类型的Span即同步调用类型,则添加从其父Span对应的Client请求事件到当前Span对应的Server请求事件的同步请求关系,以及从当前Span对应的Server响应事件到其父Span对应的Client响应事件的同步响应关系。如果Span为Producer/Consumer类型的Span即同步调用类型,则将其父Span对应的Producer事件中的异步请求关系添加到当前Span对应的Consumer事件中。可选地,表1展示了8种异构节点类型(Span节点类型),包括:用户请求、用户响应、服务请求、服务响应、生产、消费、日志以及数据库类型,其中,前4种异构节点类型属于同步调用,第5和第6种属于异步调用:
表1.异构事件图异构节点类型表
本实施例通过将Span间关系细化,构建包括8种节点关系的异构事件图,实现了细化事件特征,更准确和充分地传递Trace信息的目的,从而达到了提高微应用系统异常检测准确性的效果。
作为一种示例,图6是根据图4构建的异构事件图,如图6所示,首先收集与Span事件A相关的所有日志事件,然后根据日志时间戳按时间顺序排列这些日志事件,建立事件日志之间的顺序关系即日志事件序列。接下来,对于Trace中的每个Span,检索属于该特定Span的所有Span事件,根据跨度时间戳将每个获得的Span事件插入到日志事件序列中。根据Span事件的调用类型(预设调用类型)连接事件和排列类型。具体地,在同步调用的情况下,在当前Span的Client请求事件(即表1中类型①)和Server请求事件(类型③)之间创建一个请求关系。类似地,在当前Span的Server响应事件(类型④)和父Span的Client响应事件(类型②)之间建立响应关系。对于异步调用,请求关系从父Span的Producer事件(类型⑤)添加到当前Span的Consumer事件(类型⑥)中。对日志或数据库的调用也将生成一个日志事件(类型⑦)或数据库事件(类型⑧)。
步骤S204,利用构建的异构事件图训练图神经网络。可选地,步骤S204,包括:
步骤c1,使用异构图神经网络以及支持向量数据描述算法构建单分类模型。
步骤c2,利用构建的异构事件图训练单分类模型。
示例性地,使用异构图神经网络和支持向量数据描述算法学习每个异构事件图的潜在表示,得到异构事件图对应的异常分数值。
步骤S205,使用训练后的图神经网络对微应用系统进行异常检测。可选地,步骤S205包括:
步骤d1,获取待检测的调用链以及日志数据。
步骤d2,使用训练后的图神经网络根据待检测的调用链以及日志数据确定微应用系统的异常值。
步骤d3,根据异常值判断微应用系统是否存在异常。
示例性地,利用系统当前运行数据即待检测的调用链以及日志数据,使用训练后的图神经网络如步骤S204训练后的单分类模型,根据待检测的调用链以及日志数据计算当前微应用系统的异常分数值,从而判断当前Trace是否出现异常。
在一种可选的实施方式中,图7是根据本发明实施例的又一基于图神经网络的微应用系统异常检测方法的流程示意图,如图7所示,该流程包括如下步骤:
步骤S701,数据预处理,解析多维日志。详细请参见图2所示实施例的步骤S201,在此不再赘述。
步骤S702,事件特征学习。可选地,基于大型语言模型为Span事件和Log事件生成向量表示。具体地,首先去除Span事件和Log事件中非语言符号和停用词,将复合词拆分为单个词,即对Log事件和Span事件进行预处理。非语言符号包括非字符标记,如分隔符:'/'、','、IP地址;复合词:'validatecode'、'tripid'以及停用词:'a'、'the'、'is'等。然后使用预训练模型(如GloVe模型、MiniLM)为Log事件和Span事件中的每个单词生成一个向量表示。最后基于单词生成的向量表示为每个日志事件和Span事件生成事件特征向量。
步骤S703,异构事件图构建。可选地,为每一个Trace构建异构事件图(HTLG),每一个Trace包含若干Span事件和Log事件,异构事件图表示Span事件以及Log事件的各种关系,异构事件图中的异构节点用于区分不同的事件。异构事件图的构建详细请参见图2所示实施例的步骤S203,在此不再赘述。
步骤S704,单分类模型训练。可选地,使用异构图神经网络和支持向量数据描述算法学习每个异构事件图的潜在表示和一个包含异构事件图表示的最小化超球体。具体地,异构图神经网络将每个节点的特征按照其类型进行传播,最终得到所有节点的特征表示:
其中,表示来自大语言模型的初始事件嵌入即事件特征向量,d是向量维数,l是层数,/>是异构节点类型集合,/>代表异构节点i的a型邻居,Wr (l)和W0 (l)是可训练变量。异构事件图的图形表示使用下式计算:
其中,hg是图向量,代表软注意力机制,fi和fj为第一网络和第二网络,⊙代表元素乘法。单分类模型使用的损失函数表示为:
其中,c是超球体的中心,⊙是超球体的半径,超参数μ控制超球体体积和边界违反之间的权衡,是超参数λ关于异构事件图参数θ的权重衰减正则项。
步骤S705,异常检测。可选地,根据日志和Trace融合表示以及超球体中心计算异常分数值,从而判断当前Trace是否出现异常。具体地,异构事件图的异常分数值被定义为从潜在表示到学习到的超球体的距离,可使用以下方程计算异常分数值:
其中,是所学习的超球面的最终半径,c是超球体的中心,hg是图向量,如果异常分数大于预设阈值(可设置为0),则认为存在异常。
在一种可选的实施方式中,图8展示了本实施例与基线模型比较结果的示意图,本实施例模型(BertHTLG)在Precision、Recall、F1-Score三个指标上的结果都优于其他模型。其中,基于图神经网络的异常检测显著优于基于序列的方法,本实施例方法与相同的基于图神经网络的方法DeepTraLog相比,三个指标分别提高了5.5、1.4和3.4。可选地,图9展示了组件、池化策略和Num层数三个角度的消融实验结果。w/o代表without,具体地,本实施例研究了预训练模型的选择以及异构事件图和算法对异常检测结果的影响。通过比较两种组合:(1)预训练模型SBERT(SentenceBert)和DeepTraLog中使用的门控图神经网络算法的组合;(2)基于异构事件图(HTLG)和异构图算法(Relational Graph ConvolutionalNetwork,RGCN)的组合。实验结果表明,这两种组合都改善了结果。比较两种获取句子嵌入的池化策略:最大池化(Max pooling)计算输出向量的最大值和平均池化(Mean pooling)计算所有输出向量的平均值。同时,使用了cls池化方法即将与CLS-token对应的向量作为最终嵌入向量。实验结果表明,不同的池化策略也会影响结果,但总体而言,它们仍然可以提高原始模型的性能。Max pooling仅保留最大值会导致某些信息丢失,cls池化和Meanpooling都有显著的改进。本实施例还对Num层数做了消融实验,研究改变异构图算法RGCN中的层数对所得结果的影响。实验结果表明,随着层数的增加,结果的变化很小,但仍然优于DeepTraLog。此外,由于过度平滑问题导致表示变得更加相似,增加层数不一定会带来性能提升。
本实施例与现有技术相比,具有如下有益效果:分析数据时加入了Span数据作为输入,使得检测更加精准;提出了一种Trace和日志多维信息的融合方式;使用大语言模型对日志事件和Span事件等特征信息进行抽取和嵌入编码,从而达到了提高微应用系统异常检测准确性的目的。
在本实施例中还提供了一种基于图神经网络的微应用系统异常检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种基于图神经网络的微应用系统异常检测装置,如图10所示,包括:数据获取模块1001,用于获取微应用系统的调用链以及日志数据,调用链包括跨度事件,日志数据包括日志事件;特征学习模块1002,用于采用大语言模型对跨度事件及日志事件进行特征学习,得到跨度事件及日志事件对应的事件特征向量;异构事件图构建模块1003,用于基于事件特征向量、调用链以及日志数据构建异构事件图,异构事件图用于表示跨度事件及日志事件间的关系;神经网络训练模块1004,用于利用构建的异构事件图训练图神经网络;异常检测模块1005,用于使用训练后的图神经网络对微应用系统进行异常检测。
在一种可选的实施方式中,数据获取模块包括:获取单元,用于获取微应用系统的调用链以及日志数据;提取单元,用于提取日志数据中的标识符,标识符用于标识微应用跨越多个服务的请求和操作;解析单元,用于对日志数据进行解析,结合标识符生成日志事件;转换单元,用于根据预设调用类型将调用链中的跨度转换为跨度事件。
在一种可选的实施方式中,预设调用类型包括同步调用以及异步调用,跨度事件包括请求事件、响应事件、消费者事件以及生产者事件,调用链中除根跨度外的任一跨度包括对应的父跨度,转换单元包括:同步转换子单元,用于若预设调用类型为同步调用,将任一跨度和任一跨度的父跨度转换为请求事件和响应事件;异步转换子单元,用于若预设调用类型为异步调用,将任一跨度和任一跨度的父跨度转换为消费者事件和生产者事件。
在一种可选的实施方式中,日志事件包括日志时间戳,跨度事件包括跨度时间戳,异构事件图构建模块包括:序列生成单元,用于根据日志时间戳及日志数据生成调用链中每个跨度的日志事件序列;序列得到单元,用于根据跨度时间戳将每个跨度包括的跨度事件插入到日志事件序列中,得到跨度日志事件序列;异构事件图构建单元,用于根据预设调用类型以及跨度日志事件序列构建异构事件图。
在一种可选的实施方式中,请求事件和响应事件包括同步请求关系和同步响应关系,消费者事件和生产者事件包括异步请求关系,异构事件图构建单元包括:同步连接子单元,用于若预设调用类型为同步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照同步请求关系和同步响应关系连接;异步连接子单元,用于若预设调用类型为异步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照异步请求关系连接;得到子单元,用于得到异构事件图。
在一种可选的实施方式中,神经网络训练模块包括:单分类模型构建单元,用于使用异构图神经网络以及支持向量数据描述算法构建单分类模型;单分类模型训练单元,用于利用构建的异构事件图训练单分类模型。
在一种可选的实施方式中,异常检测模块包括:待检测数据获取单元,用于获取待检测的调用链以及日志数据;异常值确定单元,用于使用训练后的图神经网络根据待检测的调用链以及日志数据确定微应用系统的异常值;异常判断单元,用于根据异常值判断微应用系统是否存在异常。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的基于图神经网络的微应用系统异常检测装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图10所示的基于图神经网络的微应用系统异常检测装置。
请参阅图11,图11是本发明可选实施例提供的一种计算机设备的结构示意图,如图11所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图11中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (16)
1.一种基于图神经网络的微应用系统异常检测方法,其特征在于,所述方法包括:
获取微应用系统的调用链以及日志数据,所述调用链包括跨度事件,所述日志数据包括日志事件;
采用大语言模型对跨度事件及日志事件进行特征学习,得到跨度事件及日志事件对应的事件特征向量;
基于所述事件特征向量、调用链以及日志数据构建异构事件图,所述异构事件图用于表示跨度事件及日志事件间的关系;
利用构建的异构事件图训练图神经网络;
使用训练后的图神经网络对微应用系统进行异常检测。
2.根据权利要求1所述的基于图神经网络的微应用系统异常检测方法,其特征在于,所述获取微应用系统的调用链以及日志数据,所述调用链包括跨度事件,所述日志数据包括日志事件,包括:
获取微应用系统的调用链以及日志数据;
提取日志数据中的标识符,所述标识符用于标识微应用跨越多个服务的请求和操作;
对日志数据进行解析,结合所述标识符生成日志事件;
根据预设调用类型将调用链中的跨度转换为跨度事件。
3.根据权利要求2所述的基于图神经网络的微应用系统异常检测方法,其特征在于,所述预设调用类型包括同步调用以及异步调用,所述跨度事件包括请求事件、响应事件、消费者事件以及生产者事件,调用链中除根跨度外的任一跨度包括对应的父跨度,所述根据预设调用类型将调用链中的跨度转换为跨度事件,包括:
若预设调用类型为同步调用,将任一跨度和任一跨度的父跨度转换为请求事件和响应事件;
若预设调用类型为异步调用,将任一跨度和任一跨度的父跨度转换为消费者事件和生产者事件。
4.根据权利要求3所述的基于图神经网络的微应用系统异常检测方法,其特征在于,日志事件包括日志时间戳,跨度事件包括跨度时间戳,所述基于所述事件特征向量、调用链以及日志数据构建异构事件图,所述异构事件图用于表示跨度事件及日志事件间的关系,包括:
根据日志时间戳及日志数据生成调用链中每个跨度的日志事件序列;
根据跨度时间戳将每个跨度包括的跨度事件插入到所述日志事件序列中,得到跨度日志事件序列;
根据预设调用类型以及跨度日志事件序列构建异构事件图。
5.根据权利要求4所述的基于图神经网络的微应用系统异常检测方法,其特征在于,请求事件和响应事件包括同步请求关系和同步响应关系,消费者事件和生产者事件包括异步请求关系,所述根据预设调用类型以及跨度日志事件序列构建异构事件图,包括:
若预设调用类型为同步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照同步请求关系和同步响应关系连接;
若预设调用类型为异步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照异步请求关系连接;
得到异构事件图。
6.根据权利要求1所述的基于图神经网络的微应用系统异常检测方法,其特征在于,所述利用构建的异构事件图训练图神经网络,包括:
使用异构图神经网络以及支持向量数据描述算法构建单分类模型;
利用构建的异构事件图训练所述单分类模型。
7.根据权利要求1所述的基于图神经网络的微应用系统异常检测方法,其特征在于,所述使用训练后的图神经网络对微应用系统进行异常检测,包括:
获取待检测的调用链以及日志数据;
使用训练后的图神经网络根据所述待检测的调用链以及日志数据确定微应用系统的异常值;
根据所述异常值判断微应用系统是否存在异常。
8.一种基于图神经网络的微应用系统异常检测装置,其特征在于,所述装置包括:
数据获取模块,用于获取微应用系统的调用链以及日志数据,所述调用链包括跨度事件,所述日志数据包括日志事件;
特征学习模块,用于采用大语言模型对跨度事件及日志事件进行特征学习,得到跨度事件及日志事件对应的事件特征向量;
异构事件图构建模块,用于基于所述事件特征向量、调用链以及日志数据构建异构事件图,所述异构事件图用于表示跨度事件及日志事件间的关系;
神经网络训练模块,用于利用构建的异构事件图训练图神经网络;
异常检测模块,用于使用训练后的图神经网络对微应用系统进行异常检测。
9.根据权利要求8所述的基于图神经网络的微应用系统异常检测装置,其特征在于,所述数据获取模块包括:
获取单元,用于获取微应用系统的调用链以及日志数据;
提取单元,用于提取日志数据中的标识符,所述标识符用于标识微应用跨越多个服务的请求和操作;
解析单元,用于对日志数据进行解析,结合所述标识符生成日志事件;
转换单元,用于根据预设调用类型将调用链中的跨度转换为跨度事件。
10.根据权利要求9所述的基于图神经网络的微应用系统异常检测装置,其特征在于,所述预设调用类型包括同步调用以及异步调用,所述跨度事件包括请求事件、响应事件、消费者事件以及生产者事件,调用链中除根跨度外的任一跨度包括对应的父跨度,所述转换单元包括:
同步转换子单元,用于若预设调用类型为同步调用,将任一跨度和任一跨度的父跨度转换为请求事件和响应事件;
异步转换子单元,用于若预设调用类型为异步调用,将任一跨度和任一跨度的父跨度转换为消费者事件和生产者事件。
11.根据权利要求10所述的基于图神经网络的微应用系统异常检测装置,其特征在于,日志事件包括日志时间戳,跨度事件包括跨度时间戳,所述异构事件图构建模块包括:
序列生成单元,用于根据日志时间戳及日志数据生成调用链中每个跨度的日志事件序列;
序列得到单元,用于根据跨度时间戳将每个跨度包括的跨度事件插入到所述日志事件序列中,得到跨度日志事件序列;
异构事件图构建单元,用于根据预设调用类型以及跨度日志事件序列构建异构事件图。
12.根据权利要求11所述的基于图神经网络的微应用系统异常检测装置,其特征在于,请求事件和响应事件包括同步请求关系和同步响应关系,消费者事件和生产者事件包括异步请求关系,所述异构事件图构建单元包括:
同步连接子单元,用于若预设调用类型为同步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照同步请求关系和同步响应关系连接;
异步连接子单元,用于若预设调用类型为异步调用,将跨度日志事件序列中任一跨度和任一跨度的父跨度按照异步请求关系连接;
得到子单元,用于得到异构事件图。
13.根据权利要求8所述的基于图神经网络的微应用系统异常检测装置,其特征在于,所述神经网络训练模块包括:
单分类模型构建单元,用于使用异构图神经网络以及支持向量数据描述算法构建单分类模型;
单分类模型训练单元,用于利用构建的异构事件图训练所述单分类模型。
14.根据权利要求8所述的基于图神经网络的微应用系统异常检测装置,其特征在于,所述异常检测模块包括:
待检测数据获取单元,用于获取待检测的调用链以及日志数据;
异常值确定单元,用于使用训练后的图神经网络根据所述待检测的调用链以及日志数据确定微应用系统的异常值;
异常判断单元,用于根据所述异常值判断微应用系统是否存在异常。
15.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的基于图神经网络的微应用系统异常检测方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的基于图神经网络的微应用系统异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410131302.6A CN117972542A (zh) | 2024-01-30 | 2024-01-30 | 一种基于图神经网络的微应用系统异常检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410131302.6A CN117972542A (zh) | 2024-01-30 | 2024-01-30 | 一种基于图神经网络的微应用系统异常检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117972542A true CN117972542A (zh) | 2024-05-03 |
Family
ID=90865540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410131302.6A Pending CN117972542A (zh) | 2024-01-30 | 2024-01-30 | 一种基于图神经网络的微应用系统异常检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117972542A (zh) |
-
2024
- 2024-01-30 CN CN202410131302.6A patent/CN117972542A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631882B (zh) | 基于图挖掘技术的语义化业务生成系统和方法 | |
JP2010501096A (ja) | ラッパー生成およびテンプレート検出の協同最適化 | |
CN111625659A (zh) | 知识图谱处理方法、装置、服务器及存储介质 | |
CN109144964A (zh) | 基于机器学习的日志解析方法和装置 | |
CN114296975A (zh) | 一种分布式系统调用链和日志融合异常检测方法 | |
CN110011990A (zh) | 内网安全威胁智能分析方法 | |
CN113704420A (zh) | 文本中的角色识别方法、装置、电子设备及存储介质 | |
CN111190873B (zh) | 一种用于云原生系统日志训练的日志模式提取方法及系统 | |
CN116561748A (zh) | 一种组件子序列相关性感知的日志异常检测装置 | |
CN113806492B (zh) | 基于语义识别的记录生成方法、装置、设备及存储介质 | |
KR101532252B1 (ko) | 소셜 네트워크 정보 수집 및 분석 시스템 | |
Dutta et al. | Big data architecture for environmental analytics | |
CN112200465A (zh) | 基于多媒体信息智能分析的电力ai方法及系统 | |
CN117972542A (zh) | 一种基于图神经网络的微应用系统异常检测方法及装置 | |
CN114676047A (zh) | 一种基于故障模式库的无人机软件安全性质分析验证方法 | |
CN113887932A (zh) | 基于人工智能的运维管控方法、装置、计算机设备 | |
Sun et al. | Design and Development of a Log Management System Based on Cloud Native Architecture | |
CN116795663B (zh) | 一种跟踪分析trino引擎执行性能的方法 | |
CN111930547B (zh) | 一种故障定位方法、装置及存储介质 | |
CN116089289A (zh) | 一种基于多源异构数据的系统检测方法及装置 | |
Bhawsar et al. | Extraction of business rules from web logs to improve web usage mining | |
CN116070616A (zh) | 基于正则表达式的数据解析范化机制 | |
CN117763144A (zh) | 一种日志异常检测的方法与终端 | |
Zou et al. | Extracting business execution processes of api services for mashup creation | |
Zhu et al. | MN-GAT: Incorporating Metric Names into Metric Correlation Graphs for Anomaly Detection |
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 |