CN115329748A - 一种日志解析方法、装置、设备及存储介质 - Google Patents
一种日志解析方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115329748A CN115329748A CN202211256411.8A CN202211256411A CN115329748A CN 115329748 A CN115329748 A CN 115329748A CN 202211256411 A CN202211256411 A CN 202211256411A CN 115329748 A CN115329748 A CN 115329748A
- Authority
- CN
- China
- Prior art keywords
- log
- mode
- original
- target
- list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- 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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种日志解析方法、装置、设备及存储介质。该方法包括:对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表;根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表。本发明实施例的技术方案,通过确定日志查找树的深度控制后续查找的首部个数,通过维护日志查找树加速日志的聚类过程,通过层次聚类对日志模式进行整合合并,进一步优化日志模式,从而达到提高日志的解析速度和日志模式的抽象精准度的效果。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种日志解析方法、装置、设备及存储介质。
背景技术
随着信息技术的飞速发展,人们在各种社会和经济活动中产生大量的数据,例如各种传感器、智能家电产生的数据,以及各种交易系统产生的交易数据等。但是这些数据由于并不一定遵循标准的数据结构,因此很难直接理解和利用,需要将这些非结构化数据转为结构化数据。
将非结构化数据转为结构化数据,需要通过对日志解析,将日志中的信息分类提取,并形成格式统一的日志模式。但是,现有的智能化日志解析方法都不能快速且有效的提取出日志模式。有的方法提取日志模式的效果较好,但是耗时比较长;有的方法则无法将两个相似但是长度不同的日志合并在一起,导致最终获得的日志解析结果存在很多相似模式,造成存储资源浪费。
发明内容
本发明实施例提供了一种日志解析方法、装置、设备及存储介质,以解决现有的日志解析方法不能快速且有效的提取出日志模式的问题。
根据本发明的一方面,提供了一种日志解析方法,包括:
对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;
根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表;
根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表。
可选的,所述日志查找树包括:长度层、首部层和模式层;
所述对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度,包括:
使用分词器对各原始日志进行分词,获取各原始日志的日志首部;
确定各日志首部的长度,并统计每种长度的日志首部的个数;
按照日志首部的长度降序的顺序,累加每种长度的日志首部的个数,直至累加值超过所述原始日志的数量的一半;
计算与所述累加值对应的日志首部长度的平均值,将平均值加2得到日志查找树的深度。
可选的,所述使用分词器对各原始日志进行分词,获取各原始日志的日志首部,包括:
使用分词器对各原始日志进行分词,并在各原始日志的分词结果中匹配特定词;
在各原始日志的分词结果中,从第一个出现的特定词开始,到第一个不是特定词的分词为止,将所有连续出现的特定词作为日志首部。
可选的,所述根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表,包括:
逐条获取原始日志作为目标日志,根据目标日志的日志长度以及日志首部,在所述日志查找树中查找匹配的目标日志模式列表;
计算所述目标日志与所述目标日志模式列表中各日志模式的相似度值,并根据所述相似度值确定相似模式;
按照预设合并规则,将所述目标日志与所述相似模式进行合并;
当所有原始日志都完成聚类处理后,将所述日志查找树的模式层中的所有日志模式列表作为第一日志模式列表。
可选的,所述根据目标日志的日志长度以及日志首部,在所述日志查找树中查找匹配的目标日志模式列表,包括:
根据目标日志的日志长度,在所述日志查找树的长度层中查找匹配的目标长度节点;
按照所述日志查找树的首部层的深度,将所述目标日志的日志首部逐层匹配所述目标长度节点下的首部节点,找到目标首部节点;
将所述目标首部节点在模式层中对应的日志模式列表,作为目标日志模式列表。
可选的,所述计算所述目标日志与所述目标日志模式列表中各日志模式的相似度值,包括:
对于所述目标日志模式列表中各日志模式,比较所述日志模式与所述目标日志在对应位置上的字段是否相同;
将相同字段的个数与所述日志模式中的字段总数的比值,作为所述目标日志与所述日志模式的相似度值。
可选的,所述根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表,包括:
对于各第一日志模式列表中的每个日志模式,根据当前相似度阈值,在键值对列表中确定与所述日志模式相似的键名项,并将所述日志模式加入到与所述键名项对应的键值项;
分别对所述键值对列表中的各个键值项进行日志模式合并处理,生成新的第一日志模式列表;
如果新的第一日志模式列表中的日志模式总数大于预期数量,则降低当前相似度阈值;
返回执行对于各第一日志模式列表中的每个日志模式,根据当前相似度阈值,在键值对列表中确定与所述日志模式相似的键名项的操作,直至日志模式总数小于或等于预期数量,或者当前相似度阈值小于或等于预设停止阈值。
根据本发明的另一方面,提供了一种日志解析装置,包括:
深度确定模块,用于对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;
树聚类模块,用于根据所述日志查找树对所述原始日志进行聚类,得到第一日志模式列表;
层次聚类模块,用于根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的日志解析方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的日志解析方法。
本发明实施例的技术方案,通过对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表;根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表,解决了现有的日志解析方法不能快速且有效的提取出日志模式的问题,通过确定日志查找树的深度控制后续查找的首部个数,通过维护日志查找树加速日志的聚类过程,通过层次聚类对日志模式进行整合合并,进一步优化日志模式,从而达到提高日志的解析速度和日志模式的抽象精准度的效果。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种日志解析方法的流程图;
图2是根据本发明实施例一提供的一种日志查找树的示意图;
图3是根据本发明实施例二提供的一种日志解析方法的流程图;
图4是根据本发明实施例三提供的一种日志解析装置的结构示意图;
图5是实现本发明实施例的日志解析方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1是根据本发明实施例一提供的一种日志解析方法的流程图,本实施例可适用于对一批待解析的日志进行日志解析,生成相应的日志模式的情况,该方法可以由日志解析装置来执行,该装置可以采用硬件和/或软件的形式实现,该装置可配置于电子设备中。如图1所示,该方法包括:
S110、对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度。
其中,原始日志是指将要进行日志解析的一批日志,原始日志以字段为数据单位。日志查找树用于对原始日志进行聚类处理生成日志模式,日志查找树是在对一条一条的原始日志进行聚类处理的过程中建立并维护的。如图2所示,日志查找树包括:长度层、首部层和模式层。其中,长度层用于根据日志长度对原始日志进行聚类;首部层用于基于日志长度的聚类结果,进一步根据日志首部对原始日志进行聚类;模式层用于记录经过日志长度聚类和日志首部聚类后,各类日志对应的日志模式列表。其中,日志首部是指一条日志中符合预设规则的固定词。
本实施例中,如图2所示,日志查找树的长度层和模式层固定只有一层,而首部层可以根据需要设置为一层或多层。考虑到当原始日志在日志查找树中查找匹配的日志模式时,需要遍历对应的日志模式列表中的所有日志模式。因此,在组成日志首部的固定词基本不变的情况下,如果首部层只有一层,则日志分类的数量会比较少,与每个分类对应的日志模式列表中的日志模式的数量会比较多,导致遍历一次日志模式列表要花费很长时间。因此,为了能细分日志模式列表,可以在对原始日志进行解析之前,先使用分词器对各条原始日志进行分词,进而根据分词结果计算出最合适的首部层的层数,通过增加首部个数,来有效减少模式层中各个日志模式列表中的日志模式个数,进而达到加速日志解析的效果。其中,日志查找树的深度等于长度层、首部层和模式层的层数之和。
S120、根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表。
本实施例中,在确定日志查找树的深度后,就可以确定日志查找树的结构,进而可以根据日志查找树对每一条原始日志进行聚类处理,确定每条原始日志对应的日志模式。
可选的,所述根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表,包括:逐条获取原始日志作为目标日志,根据目标日志的日志长度以及日志首部,在所述日志查找树中查找匹配的目标日志模式列表;计算所述目标日志与所述目标日志模式列表中各日志模式的相似度值,并根据所述相似度值确定相似模式;按照预设合并规则,将所述目标日志与所述相似模式进行合并;当所有原始日志都完成聚类处理后,将所述日志查找树的模式层中的所有日志模式列表作为第一日志模式列表。
本实施例中,在对原始日志进行分析时,可以逐条获取原始日志作为当前处理的目标日志,并获取目标日志的日志长度和日志首部。通过将日志长度和日志首部分别与日志查找树的长度层和首部层进行匹配,可以找到与目标日志对应的首部节点,进而找到与该首部节点对应的目标日志模式列表。计算目标日志与目标日志模式列表中的各个日志模式之间的相似度值,判断相似度最大值是否大于指定阈值,如果是,则相似度最大值对应的日志模式,即为与目标日志匹配的相似模式。如果相似度最大值小于或等于指定阈值,则说明目标日志模式列表中不存在与目标日志匹配的相似模式,此时,可以将目标日志作为新的日志模式添加到目标日志模式列表中,继续对下一条原始日志进行聚类处理。
当在目标日志模式列表中找到相似模式时,可以按照预设合并规则,例如,将相似模式中与目标日志在对应位置上不同的字段合并为*,对应位置上相同的字段保持不变,对目标日志与相似模式进行合并,更新该相似模式。示例性的,目标日志为I like a,相似模式为I like b,则相似日志中的I like保持不变,b变为*,相似模式更新为I like *,如图2所示。当所有原始日志都完成聚类处理后,则日志查找树的模式层中的所有日志模式列表就是第一日志模式列表。
可选的,所述根据目标日志的日志长度以及日志首部,在所述日志查找树中查找匹配的目标日志模式列表,包括:根据目标日志的日志长度,在所述日志查找树的长度层中查找匹配的目标长度节点;按照所述日志查找树的首部层的深度,将所述目标日志的日志首部逐层匹配所述目标长度节点下的首部节点,找到目标首部节点;将所述目标首部节点在模式层中对应的日志模式列表,作为目标日志模式列表。
本实施例中,在进行长度层和首部层匹配时,可以先在长度层查找是否存在与目标日志的日志长度相同的长度节点,如果存在,则该节点即为目标长度节点,如果不存在,则根据目标日志的日志长度在长度层建立一个新节点作为目标长度节点。然后按照日志查找树的首部层的层数,用目标日志的日志首部逐层匹配各层的首部节点,找到最后一层的目标首部节点。示例性的,假设目标日志的首部为I like,如果首部层的层数为1,则将首部层中值为I的节点作为目标首部节点;如果首部层的层数为2,则如图2所示,在首部层的第一层节点中找到值为I的节点,然后在I节点对应的第二层节点中查找值为like的节点,作为目标首部节点。如果在首部层的某一层中没有找到匹配的节点,例如在第二层没有找到匹配的首部节点,则在第一层的匹配节点I的下面,根据目标日志在第二层的日志首部词a,建立一个新的第二层首部节点。
可选的,所述计算所述目标日志与所述目标日志模式列表中各日志模式的相似度值,包括:对于所述目标日志模式列表中各日志模式,比较所述日志模式与所述目标日志在对应位置上的字段是否相同;将相同字段的个数与所述日志模式中的字段总数的比值,作为所述目标日志与所述日志模式的相似度值。
本实施例中,可以根据公式,计算目标日志与各日志模
式之间的相似度值。其中,表示目标日志,表示目标日志模式列表中的日志模式,表示目标日志的第i个字段,表示日志模式的第i个字段,当和相
同时,的值为1,当和不相同时,的值为0,
n表示日志模式中的字段总数,表示相似度值。
S130、根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表。
本实施例中,由于根据日志查找树对原始日志进行聚类处理时,是根据日志长度和日志首部对日志进行分组的,因此,即使两条原始日志在除了日志首部之外的其他部分也有相同内容,但是它们是不能被分到同一组中进行合并的,例如,I like a b c d和Helike a b c d这两条日志,但是实际上这些日志是需要对相同的部分进行合并的,因此,可以将对所有的第一日志模式列表中的日志模式进行层次聚类处理,即将不同的第一日志模式列表中的可以合并的日志模式进行合并,从而提高日志模式的抽象精准度,减少日志模式占用的存储资源。
可选的,所述根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表,包括:对于各第一日志模式列表中的每个日志模式,根据当前相似度阈值,在键值对列表中确定与所述日志模式相似的键名项,并将所述日志模式加入到与所述键名项对应的键值项;分别对所述键值对列表中的各个键值项进行日志模式合并处理,生成新的第一日志模式列表;如果新的第一日志模式列表中的日志模式总数大于预期数量,则降低当前相似度阈值;返回执行对于各第一日志模式列表中的每个日志模式,根据当前相似度阈值,在键值对列表中确定与所述日志模式相似的键名项的操作,直至日志模式总数小于或等于预期数量,或者当前相似度阈值小于或等于预设停止阈值。
本实施例中,可以使用键值对列表对所有的日志模式进行整合,其中,每一项键值对数据中的键名项key为日志模式,键值项value为与key相似的日志模式列表。在对第一日志模式列表中的各日志模式进行整合时,可以计算当前处理的日志模式与键值对列表中的每个key值的相似度值,并判断相似度最大值是否大于当前相似度阈值,如果是,则相似度最大值对应的key值与当前处理的日志模式相似,可以将当前处理的日志模式添加至该key对应的value中。如果不是,则键值对列表中不存在与当前处理的日志模式相似的key值,此时可以将当前处理的日志模式作为新的key值添加到键值对列表中。
当所有的日志模式都整合到键值对列表中后,可以对每个value中的日志模式列表进行合并处理,即将两个日志模式在对应位置上不同的字段合并为*,将对应位置上相同的字段保持不变,得到新的第一日志模式列表。统计新的第一日志模式列表中的日志模式总数,如果大于预期数量,则说明日志模式整合不到位,需要降低当前相似度阈值,对新的第一日志模式列表重新进行一轮整合合并,直至日志模式的总数小于或等于预期数量为止,或者直至当前相似度阈值小于或等于预设停止阈值为止。将此时的日志模式列表作为与这一批原始日志匹配的第二日志模式列表。
本发明实施例的技术方案,通过对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表;根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表,解决了现有的日志解析方法不能快速且有效的提取出日志模式的问题,通过确定日志查找树的深度控制后续查找的首部个数,通过维护日志查找树加速日志的聚类过程,通过层次聚类对日志模式进行整合合并,进一步优化日志模式,从而达到提高日志的解析速度和日志模式的抽象精准度的效果。
实施例二
图3为本发明实施例二提供的一种日志解析方法的流程图,本实施例在上述实施例的基础上,进一步解释了:对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度,包括:使用分词器对各原始日志进行分词,获取各原始日志的日志首部;确定各日志首部的长度,并统计每种长度的日志首部的个数;按照日志首部的长度降序的顺序,累加每种长度的日志首部的个数,直至累加值超过所述原始日志的数量的一半;计算与所述累加值对应的日志首部长度的平均值,将平均值加2得到日志查找树的深度。如图3所示,该方法包括:
S310、使用分词器对各原始日志进行分词,获取各原始日志的日志首部。
可选的,所述使用分词器对各原始日志进行分词,获取各原始日志的日志首部,包括:使用分词器对各原始日志进行分词,并在各原始日志的分词结果中匹配特定词;在各原始日志的分词结果中,从第一个出现的特定词开始,到第一个不是特定词的分词为止,将所有连续出现的特定词作为日志首部。
本实施例中,预先设置一些标点符号、指定词、时间、日期等作为特定词。在确定原始日志的日志首部时,先使用分词器对每条原始日志进行分词,然后在分词结果中匹配查找第一个出现的特定词,并确定在第一个出现的特定词之后的每个分词是否是特定词,直至找到第一个不是特定词的分词为止。此时,该第一个不是特定词的分词之前的所有特定词,组成了该条原始日志的日志首部。其中,当日志中没有特定词时,则该日志的日志首部为空。
S320、确定各日志首部的长度,并统计每种长度的日志首部的个数。
本实施例中,日志首部的长度即为日志首部中包括的分词个数。在获取各原始日志的日志首部之后,可以确定每个日志首部的长度,并按照长度对日志首部进行分组,统计每组中包括的日志首部的个数。例如,统计所有的原始日志的日志首部中,长度为3的日志首部的个数,长度为4的日志首部的个数等。其中,当日志首部为空时,其对应的日志首部长度为0。
S330、按照日志首部的长度降序的顺序,累加每种长度的日志首部的个数,直至累加值超过所述原始日志的数量的一半。
本实施例中,按照日志首部的长度降序的顺序,从最长的日志首部长度开始,不断累加各种日志首部长度所对应的日志首部个数,直到日志首部个数的累加值超过所有日志首部的总数的一半停止,此时认为与当前累加值对应的所有日志首部的长度,代表了这批原始日志的相同日志首部的长度。
S340、计算与所述累加值对应的日志首部长度的平均值,将平均值加2得到日志查找树的深度。
本实施例中,计算与当前累加值对应的所有的日志首部长度的平均值,如果该平均值大于0,则日志查找树中首部层的层数等于平均值;如果该平均值等于0,由于首部层最少为1层,因此,日志查找树的首部层的层数为1。因为日志查找树中的长度层和模式层固定为1层,因此,将该平均值加2即可确定日志查找树的深度。其中,可以采用向下取整的方式,计算日志首部长度平均值。
S350、根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表。
本实施例中,根据日志查找树的深度,可以确定日志查找树中的分层结构,主要是确定首部层的层数。进而根据每一条原始日志的日志长度和日志首部,在日志查找树中匹配或新建对应的日志模式列表,并将该日志添加到对应的日志模式列表中进行合并。当所有原始日志都完成聚类处理后,则日志查找树的模式层中的所有日志模式列表就是第一日志模式列表。
S360、根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表。
本实施例中,由于根据日志查找树对原始日志进行聚类处理时,是根据日志长度和日志首部对日志进行分组的,因此,即使两条原始日志在除了日志首部之外的其他部分也有相同内容,但是它们是不能被分到同一组中进行合并的,这导致不同的第一日志模式列表中可能存在可以合并的日志模式。为了弥补这个不足,可以使用键值对列表,将对所有的第一日志模式列表中的日志模式进行层次聚类处理,即根据当前相似度阈值,以及日志模式之间的相似度值,重新对于所有的日志模式进行分组,并对同一组中的日志模式进行合并得出新的日志模式,如果本次分组合并后日志模式的数量没有达到预期数量,则降低当前相似度阈值,再进行新一轮分组合并,直至日志模式数量达到预期数量为止。其中,层次聚类主要体现在每一轮分组合并对应的当前相似度阈值不同。
本发明实施例的技术方案,通过对待解析的原始日志进行分析,自动提供最优的日志查找树深度,控制用于查找的日志首部个数,加快对原始日志进行树聚类处理的速度。之后通过对根据日志查找树生成的第一日志模式列表进行不同相似度阈值的层次聚类,控制日志模式的抽象效果,提高日志模式的抽象精准度,减少日志模式占用的存储资源。
实施例三
图4是根据本发明实施例三提供的一种日志解析装置的结构示意图。如图4所示,该装置包括:
深度确定模块410,用于对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;
树聚类模块420,用于根据所述日志查找树对所述原始日志进行聚类,得到第一日志模式列表;
层次聚类模块430,用于根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表。
本发明实施例的技术方案,通过对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表;根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表,解决了现有的日志解析方法不能快速且有效的提取出日志模式的问题,通过确定日志查找树的深度控制后续查找的首部个数,通过维护日志查找树加速日志的聚类过程,通过层次聚类对日志模式进行整合合并,进一步优化日志模式,从而达到提高日志的解析速度和日志模式的抽象精准度的效果。
可选的,所述日志查找树包括:长度层、首部层和模式层;
深度确定模块410,包括:
分词单元,用于使用分词器对各原始日志进行分词,获取各原始日志的日志首部;
统计单元,用于确定各日志首部的长度,并统计每种长度的日志首部的个数;
累加单元,用于按照日志首部的长度降序的顺序,累加每种长度的日志首部的个数,直至累加值超过所述原始日志的数量的一半;
深度计算单元,用于计算与所述累加值对应的日志首部长度的平均值,将平均值加2得到日志查找树的深度。
可选的,分词单元,用于:使用分词器对各原始日志进行分词,并在各原始日志的分词结果中匹配特定词;在各原始日志的分词结果中,从第一个出现的特定词开始,到第一个不是特定词的分词为止,将所有连续出现的特定词作为日志首部。
可选的,树聚类模块420,包括:
查找单元,用于逐条获取原始日志作为目标日志,根据目标日志的日志长度以及日志首部,在所述日志查找树中查找匹配的目标日志模式列表;
相似度计算单元,用于计算所述目标日志与所述目标日志模式列表中各日志模式的相似度值,并根据所述相似度值确定相似模式;
模式合并单元,用于按照预设合并规则,将所述目标日志与所述相似模式进行合并;
确定单元,用于当所有原始日志都完成聚类处理后,将所述日志查找树的模式层中的所有日志模式列表作为第一日志模式列表。
可选的,查找单元,用于:根据目标日志的日志长度,在所述日志查找树的长度层中查找匹配的目标长度节点;按照所述日志查找树的首部层的深度,将所述目标日志的日志首部逐层匹配所述目标长度节点下的首部节点,找到目标首部节点;将所述目标首部节点在模式层中对应的日志模式列表,作为目标日志模式列表。
可选的,相似度计算单元,用于:对于所述目标日志模式列表中各日志模式,比较所述日志模式与所述目标日志在对应位置上的字段是否相同;将相同字段的个数与所述日志模式中的字段总数的比值,作为所述目标日志与所述日志模式的相似度值。
可选的,层次聚类模块430,用于:
对于各第一日志模式列表中的每个日志模式,根据当前相似度阈值,在键值对列表中确定与所述日志模式相似的键名项,并将所述日志模式加入到与所述键名项对应的键值项;
分别对所述键值对列表中的各个键值项进行日志模式合并处理,生成新的第一日志模式列表;
如果新的第一日志模式列表中的日志模式总数大于预期数量,则降低当前相似度阈值;
返回执行对于各第一日志模式列表中的每个日志模式,根据当前相似度阈值,在键值对列表中确定与所述日志模式相似的键名项的操作,直至日志模式总数小于或等于预期数量,或者当前相似度阈值小于或等于预设停止阈值。
本发明实施例所提供的日志解析装置可执行本发明任意实施例所提供的日志解析方法,具备执行方法相应的功能模块和有益效果。
实施例四
图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如日志解析方法。
在一些实施例中,日志解析方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的日志解析方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行日志解析方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种日志解析方法,其特征在于,包括:
对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;
根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表;
根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表。
2.根据权利要求1所述的方法,其特征在于,所述日志查找树包括:长度层、首部层和模式层;
所述对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度,包括:
使用分词器对各原始日志进行分词,获取各原始日志的日志首部;
确定各日志首部的长度,并统计每种长度的日志首部的个数;
按照日志首部的长度降序的顺序,累加每种长度的日志首部的个数,直至累加值超过所述原始日志的数量的一半;
计算与所述累加值对应的日志首部长度的平均值,将平均值加2得到日志查找树的深度。
3.根据权利要求2所述的方法,其特征在于,所述使用分词器对各原始日志进行分词,获取各原始日志的日志首部,包括:
使用分词器对各原始日志进行分词,并在各原始日志的分词结果中匹配特定词;
在各原始日志的分词结果中,从第一个出现的特定词开始,到第一个不是特定词的分词为止,将所有连续出现的特定词作为日志首部。
4.根据权利要求1所述的方法,其特征在于,所述根据所述日志查找树对所述原始日志进行聚类处理,得到第一日志模式列表,包括:
逐条获取原始日志作为目标日志,根据目标日志的日志长度以及日志首部,在所述日志查找树中查找匹配的目标日志模式列表;
计算所述目标日志与所述目标日志模式列表中各日志模式的相似度值,并根据所述相似度值确定相似模式;
按照预设合并规则,将所述目标日志与所述相似模式进行合并;
当所有原始日志都完成聚类处理后,将所述日志查找树的模式层中的所有日志模式列表作为第一日志模式列表。
5.根据权利要求4所述的方法,其特征在于,所述根据目标日志的日志长度以及日志首部,在所述日志查找树中查找匹配的目标日志模式列表,包括:
根据目标日志的日志长度,在所述日志查找树的长度层中查找匹配的目标长度节点;
按照所述日志查找树的首部层的深度,将所述目标日志的日志首部逐层匹配所述目标长度节点下的首部节点,找到目标首部节点;
将所述目标首部节点在模式层中对应的日志模式列表,作为目标日志模式列表。
6.根据权利要求4所述的方法,其特征在于,所述计算所述目标日志与所述目标日志模式列表中各日志模式的相似度值,包括:
对于所述目标日志模式列表中各日志模式,比较所述日志模式与所述目标日志在对应位置上的字段是否相同;
将相同字段的个数与所述日志模式中的字段总数的比值,作为所述目标日志与所述日志模式的相似度值。
7.根据权利要求1所述的方法,其特征在于,所述根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表,包括:
对于各第一日志模式列表中的每个日志模式,根据当前相似度阈值,在键值对列表中确定与所述日志模式相似的键名项,并将所述日志模式加入到与所述键名项对应的键值项;
分别对所述键值对列表中的各个键值项进行日志模式合并处理,生成新的第一日志模式列表;
如果新的第一日志模式列表中的日志模式总数大于预期数量,则降低当前相似度阈值;
返回执行对于各第一日志模式列表中的每个日志模式,根据当前相似度阈值,在键值对列表中确定与所述日志模式相似的键名项的操作,直至日志模式总数小于或等于预期数量,或者当前相似度阈值小于或等于预设停止阈值。
8.一种日志解析装置,其特征在于,包括:
深度确定模块,用于对待解析的原始日志进行分词,根据分词结果确定日志查找树的深度;
树聚类模块,用于根据所述日志查找树对所述原始日志进行聚类,得到第一日志模式列表;
层次聚类模块,用于根据各第一日志模式列表中的日志模式的相似度,对各第一日志模式列表进行整合合并,得到与所述原始日志匹配的第二日志模式列表。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的日志解析方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的日志解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211256411.8A CN115329748B (zh) | 2022-10-14 | 2022-10-14 | 一种日志解析方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211256411.8A CN115329748B (zh) | 2022-10-14 | 2022-10-14 | 一种日志解析方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115329748A true CN115329748A (zh) | 2022-11-11 |
CN115329748B CN115329748B (zh) | 2023-01-10 |
Family
ID=83914854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211256411.8A Active CN115329748B (zh) | 2022-10-14 | 2022-10-14 | 一种日志解析方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115329748B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118133207A (zh) * | 2024-04-30 | 2024-06-04 | 苏州元脑智能科技有限公司 | 跨领域日志异常检测模型构建方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055452A (zh) * | 2016-05-25 | 2016-10-26 | 北京百度网讯科技有限公司 | 创建交换机日志模板的方法和装置 |
CN111367874A (zh) * | 2020-02-28 | 2020-07-03 | 北京神州绿盟信息安全科技股份有限公司 | 一种日志处理方法、装置、介质和设备 |
CN111708860A (zh) * | 2020-06-15 | 2020-09-25 | 北京优特捷信息技术有限公司 | 信息提取方法、装置、设备及存储介质 |
CN111930701A (zh) * | 2020-08-13 | 2020-11-13 | 工银科技有限公司 | 日志结构化处理方法及装置 |
WO2021068547A1 (zh) * | 2019-10-12 | 2021-04-15 | 华为技术有限公司 | 日志模板提取方法及装置 |
CN112732655A (zh) * | 2021-01-13 | 2021-04-30 | 北京六方云信息技术有限公司 | 针对无格式日志的在线解析方法及系统 |
-
2022
- 2022-10-14 CN CN202211256411.8A patent/CN115329748B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055452A (zh) * | 2016-05-25 | 2016-10-26 | 北京百度网讯科技有限公司 | 创建交换机日志模板的方法和装置 |
WO2021068547A1 (zh) * | 2019-10-12 | 2021-04-15 | 华为技术有限公司 | 日志模板提取方法及装置 |
CN111367874A (zh) * | 2020-02-28 | 2020-07-03 | 北京神州绿盟信息安全科技股份有限公司 | 一种日志处理方法、装置、介质和设备 |
CN111708860A (zh) * | 2020-06-15 | 2020-09-25 | 北京优特捷信息技术有限公司 | 信息提取方法、装置、设备及存储介质 |
CN111930701A (zh) * | 2020-08-13 | 2020-11-13 | 工银科技有限公司 | 日志结构化处理方法及装置 |
CN112732655A (zh) * | 2021-01-13 | 2021-04-30 | 北京六方云信息技术有限公司 | 针对无格式日志的在线解析方法及系统 |
Non-Patent Citations (1)
Title |
---|
刘作国等: "面向文本聚类的实体―动作关联模型研究", 《中文信息学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118133207A (zh) * | 2024-04-30 | 2024-06-04 | 苏州元脑智能科技有限公司 | 跨领域日志异常检测模型构建方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115329748B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114444619B (zh) | 样本生成方法、训练方法、数据处理方法以及电子设备 | |
CN115329748B (zh) | 一种日志解析方法、装置、设备及存储介质 | |
CN112560461A (zh) | 新闻线索的生成方法、装置、电子设备及存储介质 | |
CN115145924A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113963197A (zh) | 图像识别方法、装置、电子设备和可读存储介质 | |
CN112699237A (zh) | 标签确定方法、设备和存储介质 | |
CN116668264A (zh) | 一种告警聚类的根因分析方法、装置、设备及存储介质 | |
CN114491232B (zh) | 信息查询方法、装置、电子设备和存储介质 | |
CN115664814A (zh) | 网络入侵检测方法、装置、电子设备及存储介质 | |
CN115665783A (zh) | 一种异常指标溯源方法、装置、电子设备及存储介质 | |
CN116309002A (zh) | 图数据存储、访问、处理方法、训练方法、设备及介质 | |
CN110781309A (zh) | 一种基于模式匹配的实体并列关系相似度计算方法 | |
CN115511014B (zh) | 信息匹配方法、装置、设备及存储介质 | |
CN114422584B (zh) | 资源的推送方法、设备和存储介质 | |
CN115795304A (zh) | 一种数据处理模型训练方法、系统、电子设备和存储介质 | |
CN116455999A (zh) | 一种应用状态管理方法、装置、电子设备及存储介质 | |
CN115392396A (zh) | 一种信息处理方法、装置、电子设备及可读存储介质 | |
CN116108062A (zh) | 数据检索匹配方法、装置、电子设备和存储介质 | |
CN117609498A (zh) | 一种文本信息处理方法、装置、电子设备及存储介质 | |
CN115098506A (zh) | 一种关联数据的存储方法、装置、设备及存储介质 | |
CN117216398A (zh) | 一种企业推荐方法、装置、设备及介质 | |
CN114036263A (zh) | 一种网站识别方法、装置及电子设备 | |
CN115660750A (zh) | 生成引导信息的方法、装置、电子设备及存储介质 | |
CN116777660A (zh) | 一种用户映射方法、装置、电子设备及存储介质 | |
CN118152519A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |