CN115442211B - 基于孪生神经网络和固定解析树的网络日志解析方法及装置 - Google Patents
基于孪生神经网络和固定解析树的网络日志解析方法及装置 Download PDFInfo
- Publication number
- CN115442211B CN115442211B CN202210999336.8A CN202210999336A CN115442211B CN 115442211 B CN115442211 B CN 115442211B CN 202210999336 A CN202210999336 A CN 202210999336A CN 115442211 B CN115442211 B CN 115442211B
- Authority
- CN
- China
- Prior art keywords
- log
- message
- neural network
- log message
- twin neural
- 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.)
- Active
Links
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/06—Management of faults, events, alarms or notifications
- H04L41/069—Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于孪生神经网络和固定解析树的网络日志解析方法及装置,方法包括:首先将通过基于领域知识的简单正则表达式对其进行预处理;按照编码在树内部节点中通过孪生神经网络确定合适的日志事件列表(即树的叶子节点);如果找到合适的日志事件,则该日志消息将与存储在该日志事件列表中的日志事件相匹配;否则,将根据该日志消息创建一个新的日志事件并添加到日志事件列表中;当所有日志消息匹配完成,最后根据日志事件情况合并相似日志事件;本发明中的解析方法能够准确提取网络日志中的日志事件,在精确性、实时性要求较高的日志解析任务中具有良好的实用性。
Description
技术领域
本发明涉及基于孪生神经网络和固定解析树的网络日志解析方法及装置,属于自然语言处理与人工智能技术领域。
背景技术
现代软硬件***通常会在日志中记录有价值的运行时信息(例如,重要事件和相关变量),同时也包含了诊断网络或***异常的一些最重要的信息。当网络或***发生异常,日志消息通常用于更复杂的向下钻取的过程,在这些过程中,运维人员会检查问题的根本原因,并决定他们应该做些什么来从故障中恢复。因此,日志对于从业者在理解软件***的运行时行为和诊断***故障方面起着重要的作用。然而,由于日志的大小通常非常大(例如,数十或数百gb),之前的研究已经提出了自动分析日志的方法,这些自动化的方法帮助从业人员进行各种软件维护和操作活动,如调试,异常检测,故障检测,故障预测,***理解,性能诊断和改进。
日志是通过在源代码中的日志记录语句生成的(例如,log.info()语句)。日志记录语句由日志级别(例如,info、error等)、静态文本(例如“Received block”和“of size”等)和动态变量(如“$blockId”和IP等)组成。在***运行期间,日志语句将生成原始日志消息,这是一行非结构化文本,其中包含静态文本和日志语句中指定的动态变量(例如“blk_7526945448667194862”)的值。日志消息还包含诸如事件发生时间(例如,“081109210637”)等信息。换句话说,日志记录语句为在运行时生成的日志消息定义了日志事件(有些研究称为日志模板)。日志解析的目标是将静态日志事件、动态变量和头信息(即时间戳、日志级别和日志器名称)从原始日志消息提取为结构化格式,尽管存在先前的日志解析器能够一定程度解析日志,但随着日志大小的快速增长,仍然有许多挑战:
1)严重依赖于专门设计的正则表达式。在实践中,实践者通常编写特别的日志解析脚本,这些脚本严重依赖于专门设计的正则表达式作为现代软件***通常包含大量不断发展的日志事件,从业者需要投入大量的精力来开发和维护这样的正则表达式。
2)忽视日志消息的语义信息。以前的一些解析日志的方法采用某些特殊的设计规则,这些规则依赖于领域知识,设计复杂的算法和数据结构来解析日志,但往往没有考虑日志文本的语义信息,使得日志解析完全依赖于算法模型、日志种类和结构,使得日志解析方法鲁棒性不高。
3)日志数据非常复杂。日志消息由供应商在源代码中的日志记录语句生成的非结构化文本消息组成。尤其在复杂分布式***中由多供应商元素组成,并且多供应商通过在源代码中的日志记录语句无序输出,因此日志的格式高度多样化,这大大提高了日志解析的难度。
发明内容
本发明的目的在于克服现有技术中的不足,提供基于孪生神经网络和固定解析树的网络日志解析方法,在固定深度解析树基础上融合孪生神经网络,利用孪生神经网络来学习日志消息间的相关性,孪生神经网络能够学习日志语义,无需任何领域知识定义不同的规则,具有良好的通用性,对准确率、实时性要求较高的日志解析***中具有良好的实用性。为达到上述目的,本发明是采用下述技术方案实现的:
第一方面,本发明提供了一种基于孪生神经网络和固定解析树的网络日志解析方法,包括:
获取原始日志消息;
对原始日志消息通过简单正则表达式进行预处理,得到预处理后的日志消息及对应的日志消息长度:
根据日志消息长度来将原始日志消息划分日志组,其中每个日志组存储的日志消息长度相同;
对于当前日志消息,基于划分的日志组选择到第二层节点的路径,搜寻中间节点最终搜索到最相似叶子节点;
基于搜索到的最相似叶子节点,采用训练好的孪生神经网络模型确定当前日志消息与这个叶子节点最相似日志消息的相似度,得到日志消息相似度结果;
根据日志消息相似度结果,通过固定深度解析树来更新日志消息模板情况;
当所有日志消息解析完成,得到解析树。
在一些实施例中,根据日志消息长度来将原始日志消息划分日志组,包括:基于具有相同日志事件的日志消息具有相同的日志消息长度的假设,根据预处理过后日志消息的长度不同将原始日志分为不同的日志组,每个日志组存储的日志消息长度相同,其中日志消息长度定义为日志消息中令牌的数量。
在一些实施例中,基于划分的日志组选择到第二层节点的路径,搜寻中间节点最终搜索到最相似叶子节点,包括:
从解析树的根开始向下搜索,当达到解析树中表示日志消息长度的层次,即第二层,继续向下搜索,通过日志消息开始位置的标记选择下一个内部节点;根据预设的解析树的深度参数,搜寻到固定深度的叶子节点,其中叶子节点包含日志事件组列表。
在一些实施例中,采用训练好的孪生神经网络模型确定当前日志消息与这个叶子节点最相似日志消息的相似度,包括:
所述孪生神经网络包括两个孪生神经网络LSTMa和LSTMb,每个网络处理给定的一对句子;
一个LSTM从可变长度的二维向量序列空间学习映射到每个日志消息表示为一个令牌序列x1,...,xt,被传递给LSTM,对于每个t∈{1,...,T},一个LSTM更新过程通过权重矩阵Wi,Wf,Wc,Wo,Ui,Uf,Uc,Uo和偏移量bi,bf,bc,bo来参数化:
it=sigmoid(Wixt+Uiht-1+bi)
ft=sigmoid(Wfxt+Ufht-1+bf)
ot=sigmoid(Woxt+Uoht-1+bo)
ht=ot⊙tanh(ct)
其中Wi,Ui对应输入门的两个权重矩阵,Wf,Uf对应遗忘门的两个权重矩阵,Wc,Uc对应候选细胞的两个权重矩阵,Wo,Uo对应输出门的两个权重矩阵,而bi,bf,bc,bo分别对应输入门,遗忘门,候选细胞和输入门的偏移量;ht-1为t-1时序的隐藏信息,it为t时序的输入信息,ft为t时序的遗忘信息,ot为t时序的输出信息,为t时序的候选细胞信息,ct为t时序的细胞信息,ct-1为t-1时序的细胞信息,ht为t时序的隐藏信息,sigmoid和tanh为激活函数,⊙为Hadamard乘积;
通过上述方程更新其在每个序列索引上的隐藏状态;日志消息的最后表示由模型的最后一个隐藏状态编码;对于给定的一对日志消息,将预定义的相似度函数g:/>应用于它们的LSTM表示;表示空间中的相似性随后被用来推断句子的潜在语义相似性;
在训练过程中反向传播的唯一错误信号来自于日志消息表示之间的相似性,将限制在简单的相似性函数/>其中分别表示日志消息a和日志消息b在时序T的隐藏信息,||||1为曼哈顿距离,exp为指数函数。
在一些实施例中,根据日志消息相似度结果,通过固定深度解析树来更新日志消息模板情况,包括:
如果在最相似叶子节点的日志事件组中搜寻到相似的日志事件,把当前日志消息的日志ID添加到相似日志组中的Log IDs中,其中Log IDs只包含日志消息的ID,而日志事件正是日志消息;此外,还将更新返回的日志组中的日志事件;
如果在最相似叶子节点的日志事件组中无法找到相似的日志事件,根据当前日志消息创建一个新的日志事件添加到这个叶子节点的日志事件组列表中,用新的日志事件更新解析树。
在一些实施例中,所述的基于孪生神经网络和固定解析树的网络日志解析方法,还包括合并解析树叶子节点中相似的日志事件。
进一步地,合并解析树叶子节点中相似的日志事件,包括:在同一个长度划分的子树的所有叶子节点里,对于出现次数较少的日志事件,如果存在日志事件的相似度大于设定的阈值,其中相似度计算采用孪生神经网络模型,按照更新解析树中的步骤合并更新日志事件。
第二方面,本发明提供了一种在线日志解析方法,包括:
获取在线的日志消息序列并预处理为过滤后的日志序列;
根据日志序列长度划分为不同的日志组,不同日志组中的日志消息长度是不同的;
将过滤后的日志输入到固定深度解析树,在到达叶子节点时,获取该条日志消息和日志事件的相似度,其中,相似度由孪生神经网络给出,然后更新解析树,最终合并相似事件,所述在线日志解析方法采用第一方面任一项所述方法生成的。
第三方面,本发明提供了一种基于孪生神经网络和固定解析树的网络日志解析装置,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据第一方面所述方法的步骤。
第四方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述方法的步骤。
与现有技术相比,本发明实施例所提供的基于孪生神经网络和固定解析树的网络日志解析方法所达到的有益效果包括:
本发明基于孪生神经网络和固定解析树的网络日志解析方法包括:当一个新的原始日志消息到达时,首先将通过基于领域知识的简单正则表达式对其进行预处理。然后,按照编码在树内部节点中通过孪生神经网络确定合适的日志事件列表(即树的叶子节点),如果找到合适的日志事件,则该日志消息将与存储在该日志事件列表中的日志事件相匹配;否则,将根据该日志消息创建一个新的日志事件并添加到日志事件列表中。当所有日志消息匹配完成,最后根据日志事件情况合并相似日志事件;本发明与其他发明相比,既结合了规则模型,又能学习日志消息的语义信息,使得日志消息的解析更加鲁棒;在基于日志解析的公开数据集上都取得优异的效果,利用孪生神经网络来学习日志消息间的相关性,孪生神经网络能够学习日志语义,无需任何领域知识定义不同的规则,具有良好的通用性,对准确率、实时性要求较高的日志解析***中具有良好的实用性。
附图说明
图1是本发明提供的基于孪生神经网络和固定解析树的网络日志解析方法的流程图;
图2是本发明提供的基于孪生神经网络和固定解析树的网络日志解析方法中固定深度解析树的结构图;
图3是本发明提供的基于孪生神经网络和固定解析树的网络日志解析方法中孪生LSTM神经网络示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例一:
本实施例提供了一种基于孪生神经网络和固定解析树的网络日志解析方法,包括:
获取原始日志消息;
对原始日志消息通过简单正则表达式进行预处理,得到预处理后的日志消息及对应的日志消息长度:
根据日志消息长度来将原始日志消息划分日志组,其中每个日志组存储的日志消息长度相同;
对于当前日志消息,基于划分的日志组选择到第二层节点的路径,搜寻中间节点最终搜索到最相似叶子节点;
基于搜索到的最相似叶子节点,采用训练好的孪生神经网络模型确定当前日志消息与这个叶子节点最相似日志消息的相似度,得到日志消息相似度结果;
根据日志消息相似度结果,通过固定深度解析树来更新日志消息模板情况;
当所有日志消息解析完成,得到解析树。
在一些实施例中,还包括合并解析树叶子节点中相似的日志事件。
在一些实施例中,如图1所示,一种基于孪生神经网络和固定解析树的网络日志解析方法,包括:对到达的日志消息通过正则表达式进行简单的预处理;
根据日志消息长度来划分日志组,将不同长度日志消息导向不同的日志组中;
经过日志消息长度不同的日志组,再搜寻中间节点最终搜索到最相似叶子节点;
日志消息相似度是基于孪生神经网络来确定的;
通过固定深度解析树来更新日志消息模板情况;
最后合并解析树叶子节点中相似的日志事件。
具体步骤如下:
步骤1:获取***的原始日志消息并通过简单正则表达式来过滤日志消息。
允许日志解析器用户提供基于表示常用变量的领域知识的简单正则表达式,如IP地址和块ID;
将替换由这些正则表达式从原始日志消息中匹配的令牌,例如,块id将被“blk[0-9]+”匹配并替换为<*>(即,动态变量)。使用的正则表达式通常非常简单,它们用于匹配令牌,而不是匹配日志消息。
步骤2:根据日志消息长度来划分日志组,将不同长度日志消息导向不同的日志组中。
根据预处理过后日志的长度不同将原始日志分为不同的日志组(每个日志组存储的日志消息长度相同);
日志消息长度定义为日志消息中令牌的数量,根据预处理的日志消息的日志消息长度选择到第二层节点的路径;
这是基于具有相同日志事件的日志消息可能具有相同的日志消息长度的假设。
步骤3:经过日志消息长度不同的日志组,再搜寻中间节点最终搜索到最相似叶子节点。
当达到表示日志消息长度的层次(即第二层),继续向下搜索,基于日志消息开始位置中的标记更有可能是常量的假设;
具体来说,通过日志消息开始位置的标记选择下一个内部节点。,如图2,对于日志消息“Received block blk_7526945448667194862 of size 67108864 from/10.251.203.80”,从第二层节点“Length:8”指向到第三层节点“received”(日志消息所有令牌都已经统一小写),因为在日志消息的第一个位置的标记是“received”;
将遍历到与内部节点“received”链接的叶子节点。当树的层次设置为5时,继续搜寻日志消息第二个位置标记;
为了避免解析树的分支***,定义了一个参数MaxChild,它限制了内部节点最大分支数。如果一个节点分支达到上限,那么任何不匹配的标记都将搜寻到该节点的一个特殊内部节点“<*>”。此外,如果一个令牌包含数字,那么它也将匹配到上述的特殊内部节点“<*>”。虽然日志消息的真实日志事件的非数字变量也可能在日志的开始位置,从而导致解析误把非数字令牌错当作常量,但它仍可以通过后处理来解决。
步骤4:基于孪生神经网络来确定日志消息相似度。
两个网络LSTMa和LSTMb,每个网络处理给定的一对句子,但只关注权重绑定的孪生架构,如在孪生神经网络中的LSTMa=LSTMb;
如图3,一个LSTM从可变长度的二维向量序列空间学习映射到每个日志消息(表示为一个令牌序列)x1,...,xt被传递给LSTM,对于每个t∈{1,...,T},一个LSTM更新过程通过权重矩阵Wi,Wf,Wc,Wo,Ui,Uf,Uc,Uo和偏移量bi,bf,bc,bo来参数化;
it=sigmoid(Wixt+Uiht-1+bi) (1)
ft=sigmoid(Wfxt+Ufht-1+bf) (2)
ot=sigmoid(Woxt+Uoht-1+bo) (3)
ht=ot⊙tanh(ct) (6)
其中Wi,Ui对应输入门的两个权重矩阵,Wf,Uf对应遗忘门的两个权重矩阵,Wc,Uc对应候选细胞的两个权重矩阵,Wo,Uo对应输出门的两个权重矩阵,而bi,bf,bc,bo分别对应输入门,遗忘门,候选细胞和输入门的偏移量;ht-1为t-1时序的隐藏信息,it为t时序的输入信息,ft为t时序的遗忘信息,ot为t时序的输出信息,为t时序的候选细胞信息,ct为t时序的细胞信息,ht为t时序的隐藏信息,sigmoid和tanh为激活函数,⊙为Hadamard乘积;
通过方程(1)-(6)更新其在每个序列索引上的隐藏状态;日志消息的最后表示由模型的最后一个隐藏状态编码;对于给定的一对日志消息,我们的方法将预定义的相似度函数g:/>应用于它们的LSTM表示。表示空间中的相似性随后被用来推断句子的潜在语义相似性。在训练过程中反向传播的唯一错误信号来自于日志消息表示/>之间的相似性。我们将限制在简单的相似性函数其中/>分别表示为两日志消息时序T的隐藏信息,||||1为曼哈顿距离,exp为指数函数。
步骤5:通过固定深度解析树来更新日志消息模板情况。
如果在日志事件组中搜寻到相似的日志事件,把当前日志消息的日志ID添加到相似日志组中的Log IDs中,其中Log IDs只包含日志消息的ID,而日志事件正是日志消息;
将更新返回的日志组中的日志事件。详细来说,扫描位于日志消息和日志事件相同位置的令牌。如果两个令牌相同,不修改该位置的令牌。否则,我们在日志事件中通过通配符(即<*>)更新该令牌;
如果无法找到相似的日志事件,则会根据当前日志消息创建一个新的日志事件添加到日志事件组中,然后用新的日志事件更新解析树。
步骤6:最后合并解析树叶子节点中相似的日志事件。
根据日志消息长度将日志分为不同的日志组,基于日志消息开始位置中的标记更有可能是常量的假设,从日志消息开始的令牌继续向后搜索。然而,日志消息开始位置中的非数字标记也有可能是动态变量,即当动态变量在日志消息靠前的位置,并且参数非数字时,就很容易出现下面这种情况:靠前的非数字变量被误认为是解析树的内部节点(即常量),从而导致解析出错;
结合解析树的特点,所有日志消息解析完毕后,进行如下后处理:在同一个长度划分的子树的所有叶子节点里,对于出现次数较少的日志事件,如果存在日志事件的相似度(相似度计算采用孪生神经网络模型)大于设定的阈值,则按照更新解析树中的步骤合并更新日志事件。这样可使得分错为两个日志事件的日志重新合并为同一日志事件。
本发明既结合了固定深度解析树的规则模型,又能利用孪生神经网络学习日志消息的语义信息并给出相似度,突出了本发明对日志消息的解析更具有鲁棒性。
实施例二:
本发明实施例提供了一种在线日志消息解析方法,包括:
获取在线的日志消息序列并预处理为过滤后的日志序列;
根据日志序列长度划分为不同的日志组,不同日志组中的日志消息长度是不同的;
将过滤后的日志输入到固定深度解析树,在到达叶子节点时,获取该条日志消息和日志事件的相似度,其中,相似度由孪生神经网络给出,然后更新解析树,最终合并相似事件,所述在线日志解析方法采用第一方面任一项所述方法生成的。
具体包括:
步骤1:获取在线的日志消息序列并预处理为过滤后的日志序列。
允许日志解析器用户提供基于表示常用变量的领域知识的简单正则表达式,如IP地址和块ID;
将替换由这些正则表达式从原始日志消息中匹配的令牌,例如,块id将被“blk[0-9]+”匹配并替换为<*>(即,动态变量)。使用的正则表达式通常非常简单,它们用于匹配令牌,而不是匹配日志消息。
具体的,在线的日志消息序列为:
“Received block blk_7526945448667194862 of size 67108864 from/10.251.203.80”
得到的过滤后日志消息如下:
Date:081109 Time:210637 Pid:1283
Level:INFO Component:dfs.DataNode$PacketResponder
Log Event:received block<*>of size<*>from/<*>
Dynamic variable(s):blk_7526945448667194862,67108864,/10.251.203.80
步骤2:根据日志序列长度划分为不同的日志组,不同日志组中的日志消息长度是不同的。
如图2,步骤1中过滤后的日志消息被划分到日志组中:
“Length:8”
步骤3:将过滤后的日志输入到固定深度解析树,在到达叶子节点时,获取该条日志消息和日志事件的相似度,其中,相似度由孪生神经网络给出,然后更新解析树,最终合并相似事件。
本发明结合了规则模型,又能学习日志消息的语义信息,使得日志消息的解析更加鲁棒;在基于日志解析的公开数据集上都取得优异的效果,利用孪生神经网络来学习日志消息间的相关性,孪生神经网络能够学习日志语义,无需任何领域知识定义不同的规则,具有良好的通用性,对准确率、实时性要求较高的日志解析***中具有良好的实用性。
实施例三:
第三方面,本实施例提供了一种基于孪生神经网络和固定解析树的网络日志解析装置,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据实施例1所述方法的步骤。
实施例四:
第四方面,本实施例提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1所述方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (9)
1.基于孪生神经网络和固定解析树的网络日志解析方法,其特征在于,包括:
获取原始日志消息;
对原始日志消息通过简单正则表达式进行预处理,得到预处理后的日志消息及对应的日志消息长度:
根据日志消息长度来将原始日志消息划分日志组,其中每个日志组存储的日志消息长度相同;
对于当前日志消息,基于划分的日志组选择到第二层节点的路径,搜寻中间节点最终搜索到最相似叶子节点;
基于搜索到的最相似叶子节点,采用训练好的孪生神经网络模型确定当前日志消息与这个叶子节点最相似日志消息的相似度,得到日志消息相似度结果;
根据日志消息相似度结果,通过固定深度解析树来更新日志消息模板情况;
当所有日志消息解析完成,得到解析树。
2.根据权利要求1所述的基于孪生神经网络和固定解析树的网络日志解析方法,其特征在于,根据日志消息长度来将原始日志消息划分日志组,包括:基于具有相同日志事件的日志消息具有相同的日志消息长度的假设,根据预处理过后日志消息的长度不同将原始日志分为不同的日志组,每个日志组存储的日志消息长度相同,其中日志消息长度定义为日志消息中令牌的数量。
3.根据权利要求1所述的基于孪生神经网络和固定解析树的网络日志解析方法,其特征在于,基于划分的日志组选择到第二层节点的路径,搜寻中间节点最终搜索到最相似叶子节点,包括:
从解析树的根开始向下搜索,当达到解析树中表示日志消息长度的层次,即第二层,继续向下搜索,通过日志消息开始位置的标记选择下一个内部节点;根据预设的解析树的深度参数,搜寻到固定深度的叶子节点,其中叶子节点包含日志事件组列表。
4.根据权利要求1所述的基于孪生神经网络和固定解析树的网络日志解析方法,其特征在于,采用训练好的孪生神经网络模型确定当前日志消息与这个叶子节点最相似日志消息的相似度,包括:
所述孪生神经网络包括两个孪生神经网络LSTMa和LSTMb,每个网络处理给定的一对句子;
一个LSTM从可变长度的二维向量序列空间学习映射到每个日志消息表示为一个令牌序列x1,...,xt,被传递给LSTM,对于每个t∈{1,...,T},一个LSTM更新过程通过权重矩阵Wi,Wf,Wc,Wo,Ui,Uf,Uc,Uo和偏移量bi,bf,bc,bo来参数化:
it=sigmoid(Wixt+Uiht-1+bi)
ft=sigmoid(Wfxt+Ufht-1+bf)
ot=sigmoid(Woxt+Uoht-1+bo)
ht=ot⊙tanh(ct)
其中Wi,Ui对应输入门的两个权重矩阵,Wf,Uf对应遗忘门的两个权重矩阵,Wc,Uc对应候选细胞的两个权重矩阵,Wo,Uo对应输出门的两个权重矩阵,而bi,bf,bc,bo分别对应输入门,遗忘门,候选细胞和输入门的偏移量;ht-1为t-1时序的隐藏信息,it为t时序的输入信息,ft为t时序的遗忘信息,ot为t时序的输出信息,为t时序的候选细胞信息,ct为t时序的细胞信息,ct-1为t-1时序的细胞信息,ht为t时序的隐藏信息,sigmoid和tanh为激活函数,⊙为Hadamard乘积;
通过上述方程更新在每个序列索引上的隐藏状态;日志消息的最后表示由模型的最后一个隐藏状态编码;对于给定的一对日志消息,将预定义的相似度函数应用于它们的LSTM表示;表示空间中的相似性随后被用来推断句子的潜在语义相似性;
在训练过程中反向传播的唯一错误信号来自于日志消息表示之间的相似性,将限制在简单的相似性函数/>其中/>分别表示日志消息a和日志消息b在时序T的隐藏信息,|| ||1为曼哈顿距离,exp为指数函数。
5.根据权利要求1所述的基于孪生神经网络和固定解析树的网络日志解析方法,其特征在于,根据日志消息相似度结果,通过固定深度解析树来更新日志消息模板情况,包括:
如果在最相似叶子节点的日志事件组中搜寻到相似的日志事件,把当前日志消息的日志ID添加到相似日志组中的Log IDs中,其中Log IDs只包含日志消息的ID,而日志事件正是日志消息;此外,还将更新返回的日志组中的日志事件;
如果在最相似叶子节点的日志事件组中无法找到相似的日志事件,根据当前日志消息创建一个新的日志事件添加到这个叶子节点的日志事件组列表中,用新的日志事件更新解析树。
6.根据权利要求1所述的基于孪生神经网络和固定解析树的网络日志解析方法,其特征在于,还包括合并解析树叶子节点中相似的日志事件。
7.根据权利要求6所述的基于孪生神经网络和固定解析树的网络日志解析方法,其特征在于,合并解析树叶子节点中相似的日志事件,包括:在同一个长度划分的子树的所有叶子节点里,对于出现次数较少的日志事件,如果存在日志事件的相似度大于设定的阈值,其中相似度计算采用孪生神经网络模型,按照更新解析树中的步骤合并更新日志事件。
8.一种基于孪生神经网络和固定解析树的网络日志解析装置,其特征在于,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据权利要求1至7任一项所述方法的步骤。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210999336.8A CN115442211B (zh) | 2022-08-19 | 2022-08-19 | 基于孪生神经网络和固定解析树的网络日志解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210999336.8A CN115442211B (zh) | 2022-08-19 | 2022-08-19 | 基于孪生神经网络和固定解析树的网络日志解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115442211A CN115442211A (zh) | 2022-12-06 |
CN115442211B true CN115442211B (zh) | 2023-08-04 |
Family
ID=84243060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210999336.8A Active CN115442211B (zh) | 2022-08-19 | 2022-08-19 | 基于孪生神经网络和固定解析树的网络日志解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115442211B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519890A (zh) * | 2018-04-08 | 2018-09-11 | 武汉大学 | 一种基于自注意力机制的鲁棒性代码摘要生成方法 |
CN111930592A (zh) * | 2020-07-20 | 2020-11-13 | 国网浙江省电力有限公司嘉兴供电公司 | 一种实时检测日志序列异常的方法和*** |
CN113626400A (zh) * | 2021-07-11 | 2021-11-09 | 南京理工大学 | 基于日志树和解析树的日志事件提取方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11218500B2 (en) * | 2019-07-31 | 2022-01-04 | Secureworks Corp. | Methods and systems for automated parsing and identification of textual data |
-
2022
- 2022-08-19 CN CN202210999336.8A patent/CN115442211B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519890A (zh) * | 2018-04-08 | 2018-09-11 | 武汉大学 | 一种基于自注意力机制的鲁棒性代码摘要生成方法 |
CN111930592A (zh) * | 2020-07-20 | 2020-11-13 | 国网浙江省电力有限公司嘉兴供电公司 | 一种实时检测日志序列异常的方法和*** |
CN113626400A (zh) * | 2021-07-11 | 2021-11-09 | 南京理工大学 | 基于日志树和解析树的日志事件提取方法及*** |
Non-Patent Citations (1)
Title |
---|
基于机器学习的日志解析***设计与实现;钟雅;郭渊博;;计算机应用(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115442211A (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
El-Masri et al. | A systematic literature review on automated log abstraction techniques | |
CN109697162B (zh) | 一种基于开源代码库的软件缺陷自动检测方法 | |
CN108446540B (zh) | 基于源代码多标签图神经网络的程序代码抄袭类型检测方法与*** | |
Wang et al. | Learning semantic program embeddings with graph interval neural network | |
US20200097389A1 (en) | Error recovery | |
Stevenson et al. | A survey of grammatical inference in software engineering | |
Jin et al. | Improving embedded knowledge graph multi-hop question answering by introducing relational chain reasoning | |
CN115794480A (zh) | 一种基于日志语义编码器的***异常日志检测方法及*** | |
Huo et al. | Semparser: A semantic parser for log analytics | |
CN113158194B (zh) | 一种基于多关系图网络的漏洞模型的构建方法及检测方法 | |
JP5682448B2 (ja) | 因果単語対抽出装置、因果単語対抽出方法および因果単語対抽出用プログラム | |
Wang et al. | Learning blended, precise semantic program embeddings | |
Yu et al. | Self-supervised log parsing using semantic contribution difference | |
Bertolotti et al. | Fold2Vec: Towards a statement-based representation of code for code comprehension | |
Kaur et al. | A systematic literature review on the use of machine learning in code clone research | |
Dai et al. | REVAL: Recommend Which Variables to Log With Pretrained Model and Graph Neural Network | |
CN117251581A (zh) | 一种基于文本分析的设备故障信息诊断方法 | |
CN115442211B (zh) | 基于孪生神经网络和固定解析树的网络日志解析方法及装置 | |
Sakkas et al. | Seq2Parse: neurosymbolic parse error repair | |
Weis | A case based reasoning approach for answer reranking in question answering | |
CN114969334B (zh) | 异常日志检测方法、装置、电子设备及可读存储介质 | |
Huang et al. | LogQA: Question answering in unstructured logs | |
Farghaly et al. | Investigating the challenges and prospects of construction models for dynamic knowledge graphs | |
Zhou et al. | Auglog: System log anomaly detection based on contrastive learning and data augmentation | |
Zhang et al. | Research on Defect Location Method of C Language Code Based on Deep Learning |
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 |