CN115221300A - 日志模式识别方法及装置、计算机可读存储介质、终端 - Google Patents
日志模式识别方法及装置、计算机可读存储介质、终端 Download PDFInfo
- Publication number
- CN115221300A CN115221300A CN202210821988.2A CN202210821988A CN115221300A CN 115221300 A CN115221300 A CN 115221300A CN 202210821988 A CN202210821988 A CN 202210821988A CN 115221300 A CN115221300 A CN 115221300A
- Authority
- CN
- China
- Prior art keywords
- log
- search
- word
- similarity
- stored
- 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
Images
Classifications
-
- 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/33—Querying
- G06F16/332—Query formulation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种日志模式识别方法及装置、计算机可读存储介质、终端,所述方法包括:对待识别日志进行分词处理以得到一个或多个单词;采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索;当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,分别计算所选择的预设数量的已存日志模式与所述各个搜索词之间的第二相似度;比较第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为待识别日志的模式。本发明有助于提高日志模式识别的准确性。
Description
技术领域
本发明实施例涉及日志识别技术领域,尤其涉及一种日志模式识别方法及装置、计算机可读存储介质、终端。
背景技术
随着信息化的不断发展,信息系统的复杂程度逐渐增加,其产生的日志数据异常庞大,人工查看日志进行信息系统的运维与问题定位变得不可能,因此需要一种自动化的手段来提取日志的信息。由于日志是一种半结构化的文本数据,遵循一定的模版,而模板本身就是某个节点或某个问题的固定表达,所以模板本身含有重要的信息,那么从海量日志中提取出一个或多个模板就非常必要,提取模板的过程就是识别出日志的模式的过程。
在现有技术中,往往基于日志长度不同则模式必然不同为假设条件,进行日志模式识别,例如当前使用的经典日志模式识别算法——Drain算法就是强制假设相同的模式其日志长度必然相同,单独采用字典树/前缀树而进行搜索建立内部节点从而实现日志模式识别的。但在实际情况中,两个相似度很高的日志并不一定就有相同的长度,因此依赖于“日志长度不同则模式必然不同”的假设进行日式模式识别会导致部分日志长度虽然不同,但是真实模式相同的日志不能被识别出来,从而导致日志模式识别结果的准确性不足。
发明内容
本发明实施例解决的技术问题是现有技术因依赖于“日志长度不同则模式必然不同”的假设进行日式模式识别导致日志模式识别结果的准确性不足。
为实现上述目的,本发明实施例提供一种日志模式识别方法,包括以下步骤:对待识别日志进行分词处理以得到一个或多个单词;采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索,其中,所述搜索树包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层;当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
可选的,所述方法还包括:当未能搜索到内部节点时,采用所述搜索词,以前一次搜索到的内部节点为父节点,逐层在所述搜索树中新增内部节点,直至到达所述叶子节点层;其中,所述单词的搜索词的次序与所述搜索树的内部节点层一一依序对应。
可选的,所述方法还包括:当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至该到达的叶子节点;或者,当未能搜索到内部节点时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至新增内部节点下的叶子节点。
可选的,对预设的搜索树进行逐层搜索之前,所述方法还包括:确定各个单词的类别;于每个单词,基于该单词的类别确定将该单词作为所述搜索词或者将该单词的属性作为所述搜索词。
可选的,所述单词的类别包含在预设常量集合中预存的英文单词,以及包含其他单词;基于该单词的类别确定将该单词作为所述搜索词或者将该单词的属性作为所述搜索词包括:于每个单词,如果该单词为在预设常量集合中预存的英文单词,则将该单词作为所述搜索词;如果该单词为所述其他单词,则将该单词的属性作为所述搜索词。
可选的,在所有已存日志模式中选择预设数量的已存日志模式之前,所述方法还包括:采用下述公式,确定到达的所述叶子节点中的已存日志模式与各个搜索词之间的第一相似度:
其中,sim1用于指示到达的所述叶子节点中的已存日志模式的各个模式词与各个搜索词之间的第一相似度,f()用于指示第一相似度计算函数,N用于指示到达的所述叶子节点中的已存日志模式的长度值或模式词数量,ai用于指示各个搜索词中依照分词次序确定的第i个搜索词,bi用于指示到达的所述叶子节点中的各个已存日志模式的第i个模式词。
可选的,在所有已存日志模式中选择预设数量的已存日志模式包括:分别计算各个已存日志模式的向量与各个搜索词的向量之间的距离;确定距离最近的预设数量的已存日志模式。
可选的,满足以下一项或多项:所述向量选自:哈希向量、词频与逆文本频率指数TFIDF向量、词Word2vec向量;所述距离选自:欧式距离、马氏距离、曼哈顿距离。
可选的,基于下述公式,采用选择的已存日志模式分别计算与各个搜索词之间的第二相似度:
其中,sim2用于指示选择的已存日志模式的各个模式词与各个搜索词之间的第二相似度,C()用于指示计算所述第二相似度的迭代函数,max()用于指示最大值计算函数,xi用于指示各个搜索词中依照分词次序确定的第i个搜索词,yj用于指示选择的各个已存日志模式中的第j个模式词;在迭代过程中,i,j的初始化值为分别lx和ly,lx用于指示各个搜索词的长度值或搜索词数量,ly用于指示选择的已存日志模式的长度值或模式词数量。
可选的,所述方法还包括:当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值大于等于所述第一阈值,则将所述第一相似度的最大值对应的已存日志模式与所述各个搜索词进行融合处理,以得到更新日志模式;采用所述更新日志模式替换到达的叶子节点中的所述第一相似度的最大值对应的已存日志模式;确定与被替换的已存日志模式对应的融合日志模式;在融合日志模式集合中更新对应的融合日志模式;其中,所述融合日志模式集合用于存储融合处理后的日志模式。
可选的,在所述融合日志模式集合中更新对应的融合日志模式包括:对所述对应的融合日志模式与更新日志模式进行融合处理;采用处理后的融合日志模式替代所述对应的融合日志模式。
可选的,将所述第一相似度的最大值对应的已存日志模式与所述各个搜索词进行融合处理,以得到更新日志模式包括:根据各个搜索词中的分词次序,判断各个搜索词是否与所述第一相似度的最大值对应的已存日志模式中处于相同次序的模式词相同;如果相同,则采用该搜索词作为所述更新日志模式中处于相同次序的模式词;如果不同,则采用通配符作为所述更新日志模式中处于相同次序的模式词。
可选的,所述第一阈值是至少基于所述搜索词中的数字数量和通配符数量确定的;其中,所述数字数量越大,第一阈值越小,所述通配符数量越大,第一阈值越小;其中,每个搜索词是根据单词确定的,且各个搜索词与对应的单词相同或不同。
可选的,基于所述搜索词中的数字数量和通配符数量确定所述第一阈值包括:基于所述搜索词中的数字数量和所述搜索词总数量之间的商确定第一中间系数,以及基于所述搜索词中的数字数量和所述搜索词中的通配符数量确定第二中间系数;采用预设的权重比例,基于对所述第一中间系数和所述第二中间系数的加权运算结果确定所述第一阈值。
可选的,采用下述公式,确定所述第一阈值:
st=min{1,stinit+0.5×logbase(η+1)};
base=max{2,digLen+1};
其中,st用于指示所述第一阈值,seqLen用于指示所述搜索词总数量,digLen用于指示各个搜索词中的数字数量,η用于指示各个搜索词中的通配符数量,min{}用于指示求最小值函数,max{}用于指示求最大值函数,st1为第一中间系数,st2为第二中间系数。
可选的,比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式包括:如果所述第二相似度的最大值对应的已存日志模式的各个模式词与各个搜索词之间的第二相似度小于所述第二阈值,则确定采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
可选的,对待识别日志进行分词处理以得到一个或多个单词包括:采用命名实体识别方法NER,对待识别日志进行分词处理以得到一个或多个单词。
本发明实施例还提供日志模式识别装置,其特征在于,包括:分词处理模块,用于对待识别日志进行分词处理以得到一个或多个单词;逐层搜索模块,用于采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索,其中,所述搜索树包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层;相似度计算模块,用于当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;日志模式确定模块,用于比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述日志模式识别方法的步骤。
本发明实施例还提供一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述日志模式识别方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
在本发明实施例中,对待识别日志进行分词处理以得到一个或多个单词;采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索,其中,所述搜索树包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层;当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。采用上述方案,相比于现有技术依赖于日志长度不同则模式必然不同的假设条件进行日志模式识别,识别结果的准确性可能不足,尤其是无法识别出日志长度不同但真实模式相同的日志;本发明的实施例将日志模式识别分为两个阶段,在第一阶段基于现有技术的假设,对预设的搜索树进行逐层搜索,以确定是否将各个搜索词形成的搜索序列作为初始别结果;在第二阶段在初识别结果的基础上,将各个搜索词与预设数量的已存日志模式的第二相似度与第二阈值作比较,并利用求最大公共子序列的方式确定最终识别结果,由于第二阶段计算所述第二相似度的过程中,采用了搜索树中其他不同搜索词数量节点层下的叶子节点存储的已存日志模式(模式词数量与搜索词数量不同),从而有助于实现长度不同但相似度高的日志模式合并为一个模式,可以在兼顾效率性的基础上提高识别准确性。此外,相比于传统的日志模式识别一般直接采用聚类方式,将所有待识别日志一次性加载到内存中,存储和计算开销很大,本发明实施例可以流式的对待识别日志进行处理,每次输入一条日志进行处理,降低了开销的同时效率也得以提升。
进一步,当未能搜索到内部节点时,采用所述搜索词,以前一次搜索到的内部节点为父节点,逐层在所述搜索树中新增内部节点,直至到达所述叶子节点层;其中,所述单词的搜索词的次序与所述搜索树的内部节点层一一依序对应。采用上述方案,在对预设的搜索树进行逐层搜索的过程中,还可以在搜索树的搜索词数量节点层新增搜索词数量节点并存储未能搜索到的单词数量值、在内部节点层新增内部节点并存储未能搜索到的搜索词、在叶子节点层新增叶子节点并存储未能搜索到的搜索词形成的搜索序列,从而在实际应用于对包含大量待识别日志的日志集合进行识别时,既可以高效、准确地确定识别结果,也可以对搜索树进行更新和完善。
进一步,当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至该到达的叶子节点;或者,当未能搜索到内部节点时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至新增内部节点下的叶子节点。在本发明实施例中,对预设的搜索树进行逐层搜索的过程中,还可以对到达的或新增的叶子节点中存储的已存日志模式进行更新,实现对搜索树中存储的历史记录的不断更新。
进一步,在所有已存日志模式中选择预设数量的已存日志模式包括:分别计算各个已存日志模式的向量与各个搜索词的向量之间的距离;确定距离最近的预设数量的已存日志模式。相比于直接采用遍历文本字符的方法计算各个日志模式之间的相似性程度并确定所述预设数量的已存日志模式,运算成本高、效率低下,本发明实施例采用先对各个日志模式进行向量化处理然后计算向量间距离的方法确定距离最近的预设数量的已存日志模式,有助于提高运算效率,进而提高日志模式识别效率。
进一步,所述第一阈值是至少基于所述搜索词中的数字数量和通配符数量确定的;其中,所述数字数量越大,第一阈值越小,所述通配符数量越大,第一阈值越小;其中,每个搜索词是根据单词确定的,且各个搜索词与对应的单词相同或不同。相较于现有的日志模式识别中设定一个固定的值作为相似度阈值,然而当日志长度固定而其中含有很多的已知变量(数字,IP地址等)时,可以认为常量的占比降低了,因此与之计算相似度,则较小的阈值更加合理,相反,当已知变量较少时,较大的阈值更加合理,但是现有技术并没有考虑这种情况,采用固定阈值可能导致准确性不足,本发明实施例采用自适应阈值的方式,基于已知变量的信息(也即与单词不一致的搜索词的数量)动态调整阈值,有助于提高识别结果的准确性。
进一步,对待识别日志进行分词处理以得到一个或多个单词包括:采用命名实体识别方法NER,对待识别日志进行分词处理以得到一个或多个单词。由于日志文本书写的随意性,简单的分割符并不能将日志很好的分词,因此本发明实施例采用基于命名实体识别的方式,可以准确地对待识别日志进行分词处理以确定各个单词(token),同时还可以准确确定各个单词的属性(tag),有助于提高后续搜索和相关运算的准确性。
附图说明
图1是本发明实施例中第一种日志模式识别方法的流程图;
图2是本发明实施例中第二种日志模式识别方法的部分流程图;
图3是本发明实施例中一种搜索树的具体结构示意图;
图4是本发明实施例中第三种日志模式识别方法的部分流程图;
图5是本发明实施例中一种日志模式识别装置的结构示意图。
具体实施方式
如前所述,随着信息化的不断发展,日志数据异常庞大,从海量日志中识别出日志模式极具必要性。
现有技术中往往基于日志长度不同则模式必然不同为假设条件,进行日志模式识别,例如当前使用的经典日志模式识别算法——Drain算法就是强制假设相同的模式其日志长度必然相同,单独采用字典树/前缀树而进行搜索建立内部节点从而实现日志模式识别的。
本发明的发明人经研究发现,在实际情况中,两个相似度很高的日志并不一定就有相同的长度,因此依赖于“日志长度不同则模式必然不同”的假设进行日式模式识别会导致部分日志长度虽然不同,但是真实模式相同的日志不能被识别出来,从而导致日志模式识别结果的准确性不足。
在本发明实施例中,对待识别日志进行分词处理以得到一个或多个单词;采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索,其中,所述搜索树包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层;当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式,相比于现有技术依赖于日志长度不同则模式必然不同的假设条件进行日志模式识别,识别结果的准确性可能不足,尤其是无法识别出日志长度不同但真实模式相同的日志;本发明的实施例将日志模式识别分为两个阶段,在第一阶段基于现有技术的假设,对预设的搜索树进行逐层搜索,以确定是否将各个搜索词形成的搜索序列作为初始别结果;在第二阶段在初识别结果的基础上,将各个搜索词与预设数量的已存日志模式的第二相似度与第二阈值作比较,并利用求最大公共子序列的方式确定最终识别结果,由于第二阶段计算所述第二相似度的过程中,采用了搜索树中其他不同搜索词数量节点层下的叶子节点存储的已存日志模式(模式词数量与搜索词数量不同),从而有助于实现长度不同但相似度高的日志模式合并为一个模式,可以在兼顾效率性的基础上提高识别准确性。此外,相比于传统的日志模式识别一般直接采用聚类方式,将所有待识别日志一次性加载到内存中,存储和计算开销很大,本发明实施例可以流式的对待识别日志进行处理,每次输入一条日志进行处理,降低了开销的同时效率也得以提升。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细说明。
参照图1,图1是本发明实施例中第一种日志模式识别方法的流程图。所述第一种日志模式识别方法可以包括步骤S11至步骤S14:
步骤S11:对待识别日志进行分词处理以得到一个或多个单词;
步骤S12:采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索,其中,所述搜索树包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层;
步骤S13:当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;
步骤S14:比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
在步骤S11的具体实施中,所述待识别日志可以是网络设备、系统及服务程序等在运作时产生的事件记录,每一条待识别日志可以记载网址、日期、时间、使用者及动作等相关操作的描述。网络操作系统往往设计有各种各样的日志文件,如应用程序日志,安全日志、系统日志、时间表(Scheduler)服务日志、FTP日志、WWW日志、DNS服务器日志、域名系统(Domain Name System,DNS)日志等等,这些日志可以根据系统开启的服务的不同而有所不同。例如,当用户对系统进行进程间通信(Inter-Process Communication,IPC)探测时,系统就会在安全日志里迅速地记下探测者探测时所用的网址IP、时间、用户名等,用文传协议(File Transfer Protocol,FTP)探测后,就会在FTP日志中记下IP、时间、探测所用的用户名等。
可以理解的是,每一条待识别日志包含一个或多个单词(也可以成为符号token),例如对于日志:Receive from node 001有四个token,分别为Receive,from,node,001。每个token具有各自的属性(在日志领域中,每个token的属性类别可以记为tag),包括但不限于如下的属性类别:<time>表示时间,<num>表示数字,<date>表示日期,<url>表示网址,<ip>表示IP地址,<file>表示文件名,<path>表示某文件在计算中的路径,<email>表示邮箱地址,<en>表示英文词汇,<cn>表示中文词汇,<*>表示通配符,通配符通常用于表示日志模式中的变量。
进一步,作为一个非限制性的实施例,可以采用命名实体识别方法NER,对待识别日志进行分词处理以得到一个或多个单词。
命名实体识别(Named Entity Recognition,NER,也可以称为实体识别、实体分块和实体提取)是信息提取的一个子任务,旨在将文本中的命名实体定位并分类为预先定义的类别,如人员、组织、位置、时间表达式、数量、货币值、百分比等。从模型的层面,可以分为基于规则的方法、无监督学习方法、有监督学习方法;从输入的层面,可以分为基于字(character-level)的方法、基于词(word-level)的方法以及前两者结合的方法。在具体实施中,还可以采用其他能够实现准确对所述待识别日志进行分词的方法,本发明实施例对此不做限制。
在本发明实施例中,由于日志文本书写的随意性,简单的分割符并不能将日志很好的分词,因此通过采用基于命名实体识别的方式,可以准确地对待识别日志进行分词处理以确定各个单词(token),同时还可以准确确定各个单词的属性(tag),有助于提高后续搜索和相关运算的准确性。
在步骤S12的具体实施中,所述搜索树是一种树形数据结构,可以包含有过去对一条或多条待识别日志进行识别过程中新增或更新的历史记录。在一些非限制性的实施例中,所述搜索树可以是字典树或前缀树或单词查找树,具体可以包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层。
其中,所述搜索树的每个叶子节点深度都相同,在构建所述搜索树时,搜索树的深度可以基于待识别日志的长度(单词数量)进行合理设置。在一些非限制性的实施例中,所述搜索树深度可以选自5~20中的合适数值。
其中,搜索词数量节点层可以位于搜索树的根节点(root节点)之下,作为搜索树的第一层,用于存储待识别日志的单词数量,从而可以基于待识别日志的单词数量快速确定后续搜索的父节点,有助于提高日志模式识别效率;一层或多层内部节点层可以位于所述搜索词数量节点层之下,用于存储各个单词的搜索词;叶子节点层可以位于最后一层内部节点层之下,用于存储各个搜索词形成在逐层搜索直至叶子节点层的过程中形成的搜索序列(对待识别日志进行分词的次序即为各个单词的次序,也即为所述搜索序列中搜索词次序)。
进一步,对预设的搜索树进行逐层搜索之前,所述方法还包括:确定各个单词的类别;对于每个单词,基于该单词的类别确定将该单词作为所述搜索词或者将该单词的属性作为所述搜索词。
更进一步地,作为一个非限制性的实施例,所述单词的类别包含在预设常量集合中预存的英文单词,以及包含其他单词;基于该单词的类别确定将该单词作为所述搜索词或者将该单词的属性作为所述搜索词包括:对于每个单词,如果该单词为在预设常量集合中预存的英文单词,则将该单词作为所述搜索词;如果该单词为所述其他单词,则将该单词的属性作为所述搜索词。
在具体实施中,所述预设的常量集合中的各个预存的英文单词可以通过长期的积累获取。在日志识别领域,常量的属性只有一种,即英文单词<en>,因此需要判定当前token是常量还是变量时,首先判断当前token的属性是否是<en>,如果是,则有可能是常量,否则,往往不是常量;所述其他单词可以包括时间<time>、数字<num>、日期<date>、网址<url>,IP地址<ip>等,但不限于此。
在步骤S13的具体实施中,对所述搜索树进行逐层搜索的过程中,如果能够经由已有的内部节点到达叶子节点层,即意味着在对所述搜索树进行逐层搜索过程中,所述搜索词数量节点层存在与所述单词的数量值相同的搜索词数量节点,并且每层内部节点层都存在与各个搜索词相同的内部节点,在此种情形下,计算各个搜索词(或称为各个搜索词形成的搜索序列)与到达的叶子节点中的已存日志模式之间的第一相似度,如果第一相似度的最大值小于第一阈值时,则意味着各个搜索词形成的搜索序列与到达的叶子节点中的已存日志模式之间的相似性较低,所述搜索序列可以被视为一条全新的日志模式,并可以作为初始别结果。
或者,对所述搜索树进行逐层搜索的过程中,如果未能搜索到内部节点(包含未能在搜所词数量节点层搜索到与所述单词的数量值相同的搜索词数量节点的情形),则所述搜索序列也可以被视为一条全新的日志模式,并可以作为初始别结果。
其中,所述搜索词形成的序列中的搜索词次序与待识别日志进行分词的次序相同。
进一步,在所有已存日志模式中选择预设数量的已存日志模式之前,所述方法还包括:
采用下述公式,确定到达的所述叶子节点中的已存日志模式与各个搜索词之间的第一相似度:
其中,sim1用于指示到达的所述叶子节点中的已存日志模式的各个模式词与各个搜索词之间的第一相似度,f()用于指示第一相似度计算函数,N用于指示到达的所述叶子节点中的已存日志模式的长度值或模式词数量,ai用于指示各个搜索词中依照分词次序确定的第i个搜索词,bi用于指示到达的所述叶子节点中的各个已存日志模式的第i个模式词。
可以理解的是,所述第一相似度越大,则意味着所述叶子节点中的已存日志模式与各个搜索词形成的搜索序列越有可能是相似或相同的日志模式。
进一步地,所述第一阈值是至少基于所述搜索词中的数字数量和通配符数量确定的;其中,所述数字数量越大,第一阈值越小,所述通配符数量越大,第一阈值越小;其中,每个搜索词是根据单词确定的,且各个搜索词与对应的单词相同或不同。
更进一步地,基于所述搜索词中的数字数量和通配符数量确定所述第一阈值包括:基于所述搜索词中的数字数量和所述搜索词总数量之间的商确定第一中间系数,以及基于所述搜索词中的数字数量和所述搜索词中的通配符数量确定第二中间系数;采用预设的权重比例,基于对所述第一中间系数和所述第二中间系数的加权运算结果确定所述第一阈值。
更进一步地,可以采用下述公式,确定所述第一阈值:
st=min{1,0.5×st1+0.5×st2};
st2=logmax{2,digLen+1}(η+1);
其中,st用于指示所述第一阈值,seqLen用于指示所述搜索词总数量,digLen用于指示各个搜索词中的数字数量,η用于指示各个搜索词中的通配符数量,min{}用于指示求最小值函数,max{}用于指示求最大值函数,st1为第一中间系数,st2为第二中间系数。
在具体实施中,所述预设的权重比例除了为1:1,即所述第一中间系数和所述第二中间系数的的权重值分别为0.5和0.5,还可以根据不同应用场景的需要合理设置其它的权重比例,本发明实施例对此不做限制。
在一些非限制性的实施例中,所述第一阈值可以在[0.4,0.85]之间确定合适的取值,例如可以为0.5或0.6。
在本发明实施例中,相较于现有的日志模式识别中设定一个固定的值作为相似度阈值,然而当日志长度固定而其中含有很多的已知变量(数字,IP地址等)时,可以认为常量的占比降低了,因此与之计算相似度,则较小的阈值更加合理,相反,当已知变量较少时,较大的阈值更加合理,但是现有技术并没有考虑这种情况,采用固定阈值可能导致准确性不足,本发明实施例采用自适应阈值的方式,基于已知变量的信息(也即与单词不一致的搜索词的数量)动态调整阈值,有助于提高识别结果的准确性。
进一步,在所有已存日志模式中选择预设数量的已存日志模式包括:分别计算各个已存日志模式的向量与各个搜索词的向量之间的距离;确定距离最近的预设数量的已存日志模式。
更进一步地,满足以下一项或多项:所述向量选自:哈希向量、词频与逆文本频率指数TFIDF向量、词Word2vec向量;所述距离选自:欧式距离、马氏距离、曼哈顿距离,但并不限于此。
例如,在具体实施中,可以利用在日志模式识别中日志的结构比语义更加重要的特点,先将各个已存日志模式的向量与各个搜索词(各个搜索词形成的搜索序列)进行哈希向量化处理,然后计算各个已存日志模式的哈希向量与各个搜索词的哈希向量之间的欧式距离,可以减少计算和存储成本且不影响识别结果准确性。
在本发明实施例中,相比于直接采用遍历文本字符的方法计算各个日志模式之间的相似性程度并确定所述预设数量的已存日志模式,运算成本高、效率低下,本发明实施例采用先对各个日志模式进行向量化处理然后计算向量间距离的方法确定距离最近的预设数量的已存日志模式,有助于提高运算效率,进而提高日志模式识别效率。
在步骤S14的具体实施中,比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式包括:如果所述第二相似度的最大值对应的已存日志模式的各个模式词与各个搜索词之间的第二相似度小于所述第二阈值,则确定采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
具体地,可以在确定所述第二相似度的最大值对应的已存日志模式后,对该已存日志模式与各个搜索词计算最长公共子序列,并以此作为待识别日志的模式。
在具体实施中,可以采用现有的常规方法计算所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列。
在一些非限制性的实施例中,所述第二阈值可以在[0.35,0.75]之间确定合适的取值,例如可以为0.4或0.5。
进一步,基于下述公式,采用选择的已存日志模式分别计算与各个搜索词之间的第二相似度:
其中,sim2用于指示选择的已存日志模式的各个模式词与各个搜索词之间的第二相似度,C()用于指示计算所述第二相似度的迭代函数,max()用于指示最大值计算函数,xi用于指示各个搜索词中依照分词次序确定的第i个搜索词,yj用于指示选择的各个已存日志模式中的第j个模式词;
其中,在迭代过程中,i,j的初始化值为分别lx和ly,lx用于指示各个搜索词的长度值或搜索词数量,ly用于指示选择的已存日志模式的长度值或模式词数量。
进一步,在确定所述待识别日志的模式之后,还包括:将所述待识别日志的模式存储至融合日志模式集合中。
在具体实施中,还可以可以设置一个或多个存储区,用于对各个处理阶段得到的日志模式进行存储,例如,可以包含对每条待识别日志的最终识别结果进行存储的融合日志模式集合,还可以对搜索树阶段确定的初始别结果(各个搜索词形成的序列)进行存储的集合,还可以包含用于存储其他相关中间结果或记录的集合,本发明实施例对此不做限制。
在具体实施中,计算第二相似度的过程中,可以在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;还可以直接利用融合日志模式集合中存储的最终识别结果,从中选择预设数量的日志模式分别计算与所述各个搜索词之间的第二相似度,从而可以降低计算量,提高运算效率。
相比于现有技术依赖于日志长度不同则模式必然不同的假设条件进行日志模式识别,例如,对于两条日志Receive from node 001和Receive from node 003 804,它们理应对应同一个模式Receive from node<*>,但采用现有技术的假设,并直接采用对搜索树搜索后确定的初始别结果作为所述待识别日志的最终识别结果,则最识别结果为:Receivefrom node 001和Receive from node 003 804,因此会导致识别结果的准确性不足,尤其是无法识别出日志长度不同但真实模式相同的日志;本发明的实施例将日志模式识别分为两个阶段,在第一阶段基于现有技术的假设,对预设的搜索树进行逐层搜索,以确定是否将各个搜索词形成的搜索序列作为初始别结果;在第二阶段在初识别结果的基础上,将各个搜索词与预设数量的已存日志模式的第二相似度与第二阈值作比较,并利用求最大公共子序列的方式确定最终识别结果,由于第二阶段计算所述第二相似度的过程中,采用了搜索树中其他不同搜索词数量节点层下的叶子节点存储的已存日志模式(模式词数量与搜索词数量不同),从而有助于实现长度不同但相似度高的日志模式合并为一个模式,可以在兼顾效率性的基础上提高识别准确性。此外,相比于传统的日志模式识别一般直接采用聚类方式,将所有待识别日志一次性加载到内存中,存储和计算开销很大,本发明实施例可以流式的对待识别日志进行处理,每次输入一条日志进行处理,降低了开销的同时效率也得以提升。
参照图2,图2是本发明实施例中第二种日志模式识别方法的部分流程图。所述第二种日志模式识别方法可以包括图1中示出的步骤S11至步骤S14,还可以包括步骤S21,还可以包括步骤S22,其中,步骤S21或步骤S22可以在步骤S12之后执行,步骤S21与步骤S22之间可以没有先后执行顺序之分,步骤S21或步骤S22可以在步骤S14之前执行,也可以在步骤S14之后执行,以下对与图1中的不同内容进行说明。
在步骤S21中,当未能搜索到内部节点时,采用所述搜索词,以前一次搜索到的内部节点为父节点,逐层在所述搜索树中新增内部节点,直至到达所述叶子节点层;其中,所述单词的搜索词的次序与所述搜索树的内部节点层一一依序对应。
在步骤S22中,当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至该到达的叶子节点;或者,当未能搜索到内部节点时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至新增内部节点下的新增叶子节点。
需要指出是,在具体实施中,当未能搜索到搜索词数量节点或者内部节点时,除了上述实时地新增节点方法(边搜索边逐层新增节点),还可以先将未能搜索到的单词数量值或者搜索词及对应的搜索记录保存起来,之后再进行定期或不定期地新增节点。
参照图3,图3是本发明实施例中一种搜索树的具体结构示意图。所述搜索树包含一个根节点、一层搜索词数量节点层、一层内部节点层以及一层叶子节点层,各个叶子节点中存储有一个或多个已存日志模式,如图3中示例性示出的已存日志模式1至已存日志模式6。
其中,已存日志模式1至已存日志模式3具有相同的长度值,已存日志模式4至已存日志模式6具有相同的长度值,但是两者的长度值不同。
作为一个非限制性的实施例,采用所述单词的数量以及各个单词的搜索词,对所述搜索树进行逐层搜索的详细过程具体可以描述如下:
(1)采用所述单词的数量(对应于待识别日志的长度值),对所述搜索树的搜索词数量节点层的各个节点进行搜索,如果不存在与所述单词的数量值/待识别日志的长度值相同的搜索词数量节点,则在所述搜索词数量节点层新增一个搜索词数量节点并赋值为所述长度值,并将新增的节点作为下一次搜索的父节点,如果存在与所述长度值相同的搜索词数量节点,则直接将该搜索词数量节点作为下一次搜索的父节点;
(2)采用所述单词的搜索词,逐层对所述搜索树的内部节点层进行搜索,在每一次搜索时,如果不存在与该搜索词相同的内部节点,则在搜索的内部节点层新增一个内部节点并赋值为该搜索词,作为下一次搜索的父节点;如果存在与该搜索词相同的内部节点,则直接将该内部节点作为下一次搜索的父节点,直至到达叶子节点时停止搜索。
(3)当能够经由已有的内部节点到达叶子节点层时,判断各个搜索词形成的搜索序列与到达的叶子节点中的已存日志模式之间的第一相似度的最大值是否小于等于第一阈值,如果是,则将各个搜索词形成的搜索序列作为新增的已存日志模式存储至该到达的叶子节点,如果否,则将所述第一相似度的最大值对应的已存日志模式与所述各个搜索词进行融合处理,以得到更新日志模式,然后可以采用所述更新日志模式替换到达的叶子节点中的所述第一相似度的最大值对应的已存日志模式;或者,当未能搜索到内部节点时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至新增内部节点下的新增叶子节点。
在具体实施中,在采用所述更新日志模式替换到达的叶子节点中的所述第一相似度的最大值对应的已存日志模式之后,还可以包括:确定与被替换的已存日志模式对应的融合日志模式;在融合日志模式集合中更新对应的融合日志模式;其中,所述融合日志模式集合用于存储融合处理后的日志模式。
在本发明实施例中,对预设的搜索树进行逐层搜索的过程中,还可以在搜索树的搜索词数量节点层新增搜索词数量节点并存储未能搜索到的单词数量值、在内部节点层新增内部节点并存储未能搜索到的搜索词、在叶子节点层新增叶子节点并存储未能搜索到的搜索词形成的搜索序列,并且,还可以对到达的或新增的叶子节点中存储的已存日志模式进行更新,从而在实际应用于对包含大量待识别日志的日志集合进行识别时,既可以高效、准确地确定识别结果,也可以对搜索树进行更新和完善。
在具体实施中,有关步骤S21至步骤S22的更多详细内容请参照前文以及图1中的步骤描述进行执行,此处不再赘述。
参照图4,图4是本发明实施例中第三种日志模式识别方法的部分流程图。所述第三种日志模式识别方法可以包括图1示出的步骤S11至步骤S14,还可以包括图2中示出的步骤S21至步骤S22,还可以包括步骤S41至步骤S44,其中,步骤S41可以在步骤S12之后执行,步骤S41与步骤S13、步骤S41与步骤S21、步骤S41与步骤S22之间可以没有先后执行顺序之分,以下对与图1、图2中的不同内容进行说明。
在步骤S41中,当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值大于等于所述第一阈值,则将所述第一相似度的最大值对应的已存日志模式与所述各个搜索词进行融合处理,以得到更新日志模式。
进一步,将所述第一相似度的最大值对应的已存日志模式与所述各个搜索词进行融合处理,以得到更新日志模式包括:根据各个搜索词中的分词次序,判断各个搜索词是否与所述第一相似度的最大值对应的已存日志模式中处于相同次序的模式词相同;如果相同,则采用该搜索词作为所述更新日志模式中处于相同次序的模式词;如果不同,则采用通配符作为所述更新日志模式中处于相同次序的模式词。
在步骤S42中,采用所述更新日志模式替换到达的叶子节点中的所述第一相似度的最大值对应的已存日志模式。
在步骤S43中,确定与被替换的已存日志模式对应的融合日志模式。
在步骤S44中,在融合日志模式集合中更新对应的融合日志模式。
其中,所述融合日志模式集合与步骤S14中描述的融合日志模式集合相同,所述融合日志模式集合可以用于存储融合处理后的日志模式(即步骤S14中确定的所述待识别日志的最终识别结果)。可以理解的是,所述搜索树的各个叶子节点存储的已存日志模式与所述融合日志模式集合中存储的融合日志模式(各条待识别日志最终识别结果)之间具有多对一的映射关系。
进一步,在所述融合日志模式集合中更新对应的融合日志模式包括:对所述对应的融合日志模式与更新日志模式进行融合处理;采用处理后的融合日志模式替代所述对应的融合日志模式。
在具体实施中,对所述对应的融合日志模式与更新日志模式进行融合处理的过程参见步骤S41中将所述第一相似度的最大值对应的已存日志模式与所述各个搜索词进行融合处理以得到更新日志模式的相关描述进行执行,此处不再赘述。
在具体实施中,有关步骤S41至步骤S44的更多相似内容请参照前文及图1至图3中的相关描述进行执行,此处不再赘述。
参照图5,图5是本发明实施例中一种日志模式识别装置的结构示意图。所述日志模式识别装置可以包括:
分词处理模块51,用于对待识别日志进行分词处理以得到一个或多个单词;
逐层搜索模块52,用于采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索,其中,所述搜索树包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层;
相似度计算模块53,用于当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;
日志模式确定模块54,用于比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
关于该日志模式识别装置的原理、具体实现和有益效果请参照前文及图1至图4示出的关于日志模式识别方法的相关描述,此处不再赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述日志模式识别方法的步骤。所述计算机可读存储介质可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器,还可以包括光盘、机械硬盘、固态硬盘等。
具体地,在本发明实施例中,所述处理器可以为中央处理单元(centralprocessing unit,简称CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(application specificintegrated circuit,简称ASIC)、现场可编程门阵列(field programmable gate array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称ROM)、可编程只读存储器(programmable ROM,简称PROM)、可擦除可编程只读存储器(erasable PROM,简称EPROM)、电可擦除可编程只读存储器(electricallyEPROM,简称EEPROM)或闪存。易失性存储器可以是随机存取存储器(random accessmemory,简称RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称RAM)可用,例如静态随机存取存储器(staticRAM,简称SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,简称SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,简称DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,简称ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,简称SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,简称DR RAM)。
本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述日志模式识别方法的步骤。所述终端可以包括但不限于手机、计算机、平板电脑等终端设备,还可以为服务器、云平台等。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (20)
1.一种日志模式识别方法,其特征在于,包括:
对待识别日志进行分词处理以得到一个或多个单词;
采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索,其中,所述搜索树包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层;
当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;
比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当未能搜索到内部节点时,采用所述搜索词,以前一次搜索到的内部节点为父节点,逐层在所述搜索树中新增内部节点,直至到达所述叶子节点层;其中,所述单词的搜索词的次序与所述搜索树的内部节点层一一依序对应。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至该到达的叶子节点;
或者,
当未能搜索到内部节点时,将各个搜索词形成的搜索序列作为新增的已存日志模式存储至新增内部节点下的新增叶子节点。
4.根据权利要求1所述的方法,其特征在于,对预设的搜索树进行逐层搜索之前,所述方法还包括:
确定各个单词的类别;
对于每个单词,基于该单词的类别确定将该单词作为所述搜索词或者将该单词的属性作为所述搜索词。
5.根据权利要求4所述的方法,其特征在于,所述单词的类别包含在预设常量集合中预存的英文单词,以及包含其他单词;
基于该单词的类别确定将该单词作为所述搜索词或者将该单词的属性作为所述搜索词包括:
对于每个单词,如果该单词为在预设常量集合中预存的英文单词,则将该单词作为所述搜索词;
如果该单词为所述其他单词,则将该单词的属性作为所述搜索词。
7.根据权利要求1所述的方法,其特征在于,在所有已存日志模式中选择预设数量的已存日志模式包括:
分别计算各个已存日志模式的向量与各个搜索词的向量之间的距离;
确定距离最近的预设数量的已存日志模式。
8.根据权利要求7所述的方法,其特征在于,满足以下一项或多项:
所述向量选自:哈希向量、词频与逆文本频率指数TFIDF向量、词Word2vec向量;
所述距离选自:欧式距离、马氏距离、曼哈顿距离。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值大于等于所述第一阈值,则将所述第一相似度的最大值对应的已存日志模式与所述各个搜索词进行融合处理,以得到更新日志模式;
采用所述更新日志模式替换到达的叶子节点中的所述第一相似度的最大值对应的已存日志模式;
确定与被替换的已存日志模式对应的融合日志模式;
在融合日志模式集合中更新对应的融合日志模式;
其中,所述融合日志模式集合用于存储融合处理后的日志模式。
11.根据权利要求10所述的方法,其特征在于,在所述融合日志模式集合中更新对应的融合日志模式包括:
对所述对应的融合日志模式与更新日志模式进行融合处理;
采用处理后的融合日志模式替代所述对应的融合日志模式。
12.根据权利要求10所述的方法,其特征在于,将所述第一相似度的最大值对应的已存日志模式与所述各个搜索词进行融合处理,以得到更新日志模式包括:
根据各个搜索词中的分词次序,判断各个搜索词是否与所述第一相似度的最大值对应的已存日志模式中处于相同次序的模式词相同;
如果相同,则采用该搜索词作为所述更新日志模式中处于相同次序的模式词;
如果不同,则采用通配符作为所述更新日志模式中处于相同次序的模式词。
13.根据权利要求1所述的方法,其特征在于,所述第一阈值是至少基于所述搜索词中的数字数量和通配符数量确定的;
其中,所述数字数量越大,所述第一阈值越小,所述通配符数量越大,所述第一阈值越小;
其中,每个搜索词是根据单词确定的,且各个搜索词与对应的单词相同或不同。
14.根据权利要求13所述的方法,其特征在于,采用如下方式基于所述搜索词中的数字数量和通配符数量确定所述第一阈值:
基于所述搜索词中的数字数量和所述搜索词总数量之间的商确定第一中间系数,以及基于所述搜索词中的数字数量和所述搜索词中的通配符数量确定第二中间系数;
采用预设的权重比例,基于对所述第一中间系数和所述第二中间系数的加权运算结果确定所述第一阈值。
16.根据权利要求1所述的方法,其特征在于,所述比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式包括:
如果所述第二相似度的最大值对应的已存日志模式的各个模式词与各个搜索词之间的第二相似度小于所述第二阈值,则确定采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
17.根据权利要求1所述的方法,其特征在于,所述对待识别日志进行分词处理以得到一个或多个单词包括:
采用命名实体识别方法NER,对待识别日志进行分词处理以得到一个或多个单词。
18.一种日志模式识别装置,其特征在于,包括:
分词处理模块,用于对待识别日志进行分词处理以得到一个或多个单词;逐层搜索模块,用于采用所述单词的数量以及各个单词的搜索词,对预设的搜索树进行逐层搜索,其中,所述搜索树包含搜索词数量节点层、一层或多层内部节点层、以及存储一个或多个已存日志模式的叶子节点层;
相似度计算模块,用于当能够经由已有的内部节点到达叶子节点层,并且各个搜索词与到达的叶子节点中的已存日志模式之间的第一相似度的最大值小于第一阈值时,或者,当未能搜索到内部节点时,在所有已存日志模式中选择预设数量的已存日志模式,并采用选择的已存日志模式分别计算与所述各个搜索词之间的第二相似度;
日志模式确定模块,用于比较所得到的各个第二相似度的最大值与第二阈值,以确定是否采用所述第二相似度的最大值对应的已存日志模式与各个搜索词之间的最长公共子序列作为所述待识别日志的模式。
19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至17任一项所述日志模式识别方法的步骤。
20.一种终端,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至17任一项所述日志模式识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210821988.2A CN115221300A (zh) | 2022-07-13 | 2022-07-13 | 日志模式识别方法及装置、计算机可读存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210821988.2A CN115221300A (zh) | 2022-07-13 | 2022-07-13 | 日志模式识别方法及装置、计算机可读存储介质、终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221300A true CN115221300A (zh) | 2022-10-21 |
Family
ID=83611962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210821988.2A Pending CN115221300A (zh) | 2022-07-13 | 2022-07-13 | 日志模式识别方法及装置、计算机可读存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115221300A (zh) |
-
2022
- 2022-07-13 CN CN202210821988.2A patent/CN115221300A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11017178B2 (en) | Methods, devices, and systems for constructing intelligent knowledge base | |
WO2019153551A1 (zh) | 文章分类方法、装置、计算机设备及存储介质 | |
CN108536800B (zh) | 文本分类方法、系统、计算机设备和存储介质 | |
WO2020077895A1 (zh) | 签约意向判断方法、装置、计算机设备和存储介质 | |
US10637826B1 (en) | Policy compliance verification using semantic distance and nearest neighbor search of labeled content | |
WO2020259260A1 (zh) | 一种结构化查询语言sql注入检测方法及装置 | |
CN108520041B (zh) | 文本的行业分类方法、系统、计算机设备和存储介质 | |
CN110458324B (zh) | 风险概率的计算方法、装置和计算机设备 | |
CN112699923A (zh) | 文档分类预测方法、装置、计算机设备及存储介质 | |
CN112559526A (zh) | 数据表导出方法、装置、计算机设备及存储介质 | |
CN114416998A (zh) | 文本标签的识别方法、装置、电子设备及存储介质 | |
CN113961768B (zh) | 敏感词检测方法、装置、计算机设备和存储介质 | |
CN113254649B (zh) | 敏感内容识别模型的训练方法、文本识别方法及相关装置 | |
CN115017441A (zh) | 一种资产分类方法、装置及电子设备和存储介质 | |
CN110888977B (zh) | 文本分类方法、装置、计算机设备和存储介质 | |
CN112765976A (zh) | 文本相似度计算方法、装置、设备及存储介质 | |
CN113821630A (zh) | 一种数据聚类的方法和装置 | |
CN114547257B (zh) | 类案匹配方法、装置、计算机设备及存储介质 | |
CN110781310A (zh) | 目标概念图谱的构建方法、装置、计算机设备和存储介质 | |
WO2020132933A1 (zh) | 短文本过滤方法、装置、介质及计算机设备 | |
CN114266255B (zh) | 基于聚类模型的语料分类方法、装置、设备及存储介质 | |
CN112087473A (zh) | 文档下载方法、装置、计算机可读存储介质和计算机设备 | |
CN110941713A (zh) | 基于主题模型的自优化金融资讯版块分类方法 | |
CN115221300A (zh) | 日志模式识别方法及装置、计算机可读存储介质、终端 | |
CN115269765A (zh) | 账号识别方法、装置、电子设备和存储介质 |
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 |