CN111814423B - 一种日志的格式化方法、装置和存储介质 - Google Patents

一种日志的格式化方法、装置和存储介质 Download PDF

Info

Publication number
CN111814423B
CN111814423B CN202010932088.6A CN202010932088A CN111814423B CN 111814423 B CN111814423 B CN 111814423B CN 202010932088 A CN202010932088 A CN 202010932088A CN 111814423 B CN111814423 B CN 111814423B
Authority
CN
China
Prior art keywords
character string
word segmentation
segmentation mode
matched
similarity
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
Application number
CN202010932088.6A
Other languages
English (en)
Other versions
CN111814423A (zh
Inventor
宋贤飞
姜双林
周磊
饶志波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Andi Technology Co Ltd
Original Assignee
Beijing Andi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Andi Technology Co Ltd filed Critical Beijing Andi Technology Co Ltd
Priority to CN202010932088.6A priority Critical patent/CN111814423B/zh
Publication of CN111814423A publication Critical patent/CN111814423A/zh
Application granted granted Critical
Publication of CN111814423B publication Critical patent/CN111814423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种日志的格式化方法、装置和存储介质,该方法包括:设置至少一个标准字符串集合;获取日志数据;利用当前分词方式对日志数据进行分词处理,生成与当前分词方式对应的至少一个待匹配字符串;确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其中,待匹配字符串集合中保存有与当前分词方式对应的至少一个待匹配字符串;根据每种分词方式对应的集合相似度,确定与日志数据相匹配的目标分词方式;根据目标分词方式对应的目标标准字符串集合和目标分词方式对应的待匹配字符串集合,生成日志数据的格式化后的日志。本方案能够节省人力资源和时间资源。

Description

一种日志的格式化方法、装置和存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种日志的格式化方法、装置和存储介质。
背景技术
目前,在互联网极度发达的时代,各种***、安全设备和网络设备等都会产生海量的日志,而且当前的日志具有数据量大、类型丰富以及结构多变等特点,导致传统通过人力手动对每一种类别的日志进行处理和分析的难度越来越大,不仅不能及时有效的获取到日志中有价值的信息,同时也耗费了大量的人力资源和时间资源。
因此,需要提供一种日志处理方法来解决上述提到的现有技术中人力和时间成本高的问题。
发明内容
本发明要解决的技术问题在于随着日志数据的不断增加,在处理日志时需要耗费大量的人力资源和时间资源,针对现有技术中的缺陷,提供一种日志的格式化方法、装置和存储介质。
为了解决上述技术问题,本发明提供了一种日志的格式化方法,该方法包括:
设置至少一个标准字符串集合,每一个所述标准字符串集合对应一种分词方式,所述标准字符串集合中保存有至少一个标准字符串;
还包括:
获取日志数据;
针对每种所述分词方式,均执行:
利用当前分词方式对所述日志数据进行分词处理,生成与所述当前分词方式对应的至少一个待匹配字符串;
确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其中,所述待匹配字符串集合中保存有与当前分词方式对应的所述至少一个待匹配字符串;
根据每种所述分词方式对应的集合相似度,确定与所述日志数据相匹配的目标分词方式;
根据所述目标分词方式对应的目标标准字符串集合和所述目标分词方式对应的待匹配字符串集合,生成所述日志数据的格式化后的日志。
可选地,所述确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,包括:
针对当前分词方式对应的待匹配字符串集合和当前分词方式对应的标准字符串集合,根据如下公式计算所述集合相似度:
Figure 100002_DEST_PATH_IMAGE001
其中,所述SIM用于表征所述集合相似度,所述A ij用于表征当前分词方式对应的待匹配字符串集合中第j个字符串中的第i类字符出现的次数,所述B ij用于表征当前分词方式对应的标准字符串集合中第j个字符串中第i类字符出现的次数,所述m用于表征当前分词方式对应的标准字符串集合中所包括的标准字符串的数量,所述nj用于表征待匹配字符串集合和标准字符串集合中第j个字符串中所包括的字符种类的最大值。
可选地,所述根据每种所述分词方式对应的集合相似度,确定与所述日志数据相匹配的目标分词方式,包括:
确定大于或等于第一预设值的至少一个目标集合相似度;
将所述至少一个目标集合相似度按照从大到小的顺序进行排序;
将排序后位于首位的目标集合相似度对应的分词方式,确定为所述目标分词方式。
可选地,所述根据所述目标分词方式对应的目标标准字符串集合和所述目标分词方式对应的待匹配字符串集合,生成所述日志数据的格式化后的日志,包括:
针对所述目标分词方式对应的待匹配字符串集合中的每一个待匹配字符串,均执行:
根据字符串相似度公式,计算当前待匹配字符串与所述目标分词方式对应的标准字符串集合中的每一个标准字符串之间的字符串相似度,字符串相似度公式如下:
Figure 100002_DEST_PATH_IMAGE002
其中,所述sim用于表征所述字符串相似度,所述A i用于表征目标分词方式对应的待匹配字符串集合中待匹配字符串的第i类字符出现的次数,所述B i用于表征目标分词方式对应的标准字符串集合中标准字符串的第i类字符出现的次数,所述n用于表征待匹配字符串与标准字符串中包含的字符种类的最大值;
判断当前待匹配字符串对应的每个字符串相似度中是否存在大于或等于第二预设值的字符串相似度,如果是,将当前待匹配字符串作为一个固定字符串;
判断当前待匹配字符串对应的每个字符串相似度中是否存在属于预设范围的字符串相似度,如果是,则将当前待匹配字符串作为一个特征字符串,所述预设范围中的任一值均小于所述第二预设值;
将所述固定字符串和所述特征字符串组合,获得格式化后的日志。
可选地,当每个所述集合相似度均小于所述第一预设值时,执行:
根据所述日志数据确定分隔符;
利用所述分隔符将所述日志数据进行分词处理,获得待存储字符串集合,并将所述待存储字符串集合作为一个标准字符串集合进行存储。
本发明还提供了一种日志的格式化装置,包括:设置模块、获取模块、执行模块、第一确定模块和第二确定模块;
所述设置模块,用于设置至少一个标准字符串集合,每一个所述标准字符串集合对应一种分词方式,所述标准字符串集合中保存有至少一个标准字符串;
所述获取模块,用于获取日志数据;
所述执行模块,用于针对每种所述分词方式,均执行如下操作:
利用当前分词方式对所述日志数据进行分词处理,生成至少一个待匹配字符串;
确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其中,所述待匹配字符串集合中保存有与当前分词方式对应的所述至少一个待匹配字符串;
所述第一确定模块,用于根据所述执行模块获得的每种所述分词方式对应的集合相似度,确定与所述获取模块获取到的日志数据相匹配的目标分词方式;
所述第二确定模块,用于根据所述第一确定模块确定的所述目标分词方式对应的目标标准字符串集合和所述第一确定模块确定的所述目标分词方式对应的待匹配字符串集合,生成所述日志数据的格式化后的日志。
可选地,所述执行模块,用于针对当前分词方式对应的待匹配字符串集合和当前分词方式对应的标准字符串集合,根据如下公式计算所述集合相似度:
Figure 724403DEST_PATH_IMAGE001
其中,所述SIM用于表征所述集合相似度,所述A ij用于表征当前分词方式对应的待匹配字符串集合中第j个字符串中的第i类字符出现的次数,所述B ij用于表征当前分词方式对应的标准字符串集合中第j个字符串中第i类字符出现的次数,所述m用于表征当前分词方式对应的标准字符串集合中所包括的标准字符串的数量,所述nj用于表征待匹配字符串集合和标准字符串集合中第j个字符串中所包括的字符种类的最大值。
可选地,所述第一确定模块,用于执行如下操作:
确定大于或等于第一预设值的至少一个目标集合相似度;
将所述至少一个目标集合相似度按照从大到小的顺序进行排序;
将排序后位于首位的目标集合相似度对应的分词方式,确定为所述目标分词方式。
本发明实施例还提供了一种数据的处理装置,该装置包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述一种日志的格式化方法中的任一所述的方法。
本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述一种日志的格式化方法中的任一所述的方法。
实施本发明的一种日志的格式化方法、装置和存储介质,具有以下有益效果:
本方案通过设置标准字符串集合,在对日志进行处理时,采用每种标准字符串集合所对应的分词方式分别对该日志数据进行分词处理,并计算当前的分词方式对应的标准字符串集合与通过当前分词方式进行分词处理得到的待匹配字符串集合之间的集合相似度,根据集合相似度确定出对该日志数据对应的目标分词方式,从而可以根据待匹配字符串集合和标准字符串集合生成日志数据的格式化后的日志。由此可见,本方案通过计算集合相似度的方式确定目标分词方式,并根据该目标分词方式对应的标准字符串集合和目标分词方式对应的待匹配字符串集合生成日志数据的格式化后的日志,该过程不需要大量的人为参与,也不需要大量时间对日志数据进行管理,基于该日志的格式化方法,可利用算法实现对日志数据的标准化管理。因此,该方案可以节省大量的人力资源和时间资源。
附图说明
图1是本发明一个实施例提供的一种日志的格式化方法的流程图;
图2是本发明另一个实施例提供的一种日志的格式化方法的流程图;
图3是本发明一个实施例提供的一种日志的格式化装置所在设备的示意图;
图4是本发明一个实施例提供的一种日志的格式化装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种日志的格式化方法,该方法可以包括以下步骤:
步骤101:设置至少一个标准字符串集合,每一个所述标准字符串集合对应一种分词方式,所述标准字符串集合中保存有至少一个标准字符串;
步骤102:获取日志数据;
步骤103:针对每种所述分词方式,均执行:
利用当前分词方式对所述日志数据进行分词处理,生成至少一个待匹配字符串;
确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其中,所述待匹配字符串集合中保存有与当前分词方式对应的所述至少一个待匹配字符串;
步骤104:根据每种所述分词方式对应的集合相似度,确定与所述日志数据相匹配的目标分词方式;
步骤105:根据所述目标分词方式对应的目标标准字符串集合和所述目标分词方式对应的待匹配字符串集合,生成所述日志数据的格式化后的日志。
在本发明实施例中,对日志进行处理时,采用每种标准字符串集合所对应的分词方式分别对该日志数据进行分词处理,并计算当前的分词方式对应的标准字符串集合与通过当前分词方式进行分词处理得到的待匹配字符串集合之间的集合相似度,根据集合相似度确定出对该日志数据对应的目标分词方式,从而可以根据待匹配字符串集合和标准字符串集合生成日志数据的格式化后的日志。由此可见,本方案通过计算集合相似度的方式确定目标分词方式,并根据该目标分词方式对应的标准字符串集合和目标分词方式对应的待匹配字符串集合生成日志数据的格式化后的日志,该过程不需要大量的人为参与,也不需要大量时间对日志数据进行管理,基于该日志的格式化方法,可利用算法实现对日志数据的标准化管理。因此,该方案可以节省大量的人力资源和时间资源。
为了得到当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,在本发明另一个实施例中,可以针对当前分词方式对应的待匹配字符串集合和当前分词方式对应的标准字符串集合,根据如下公式计算所述集合相似度:
Figure 425512DEST_PATH_IMAGE001
其中,所述SIM用于表征所述集合相似度,所述A ij用于表征当前分词方式对应的待匹配字符串集合中第j个字符串中的第i类字符出现的次数,所述B ij用于表征当前分词方式对应的标准字符串集合中第j个字符串中第i类字符出现的次数,所述m用于表征当前分词方式对应的标准字符串集合中所包括的标准字符串的数量,所述nj用于表征待匹配字符串集合和标准字符串集合中第j个字符串中所包括的字符种类的最大值。
在本发明实施例中,通过该集合相似度公式计算两个字符串集合之间的集合相似度,该公式的基本原则是对比每个字符串中字符对应出现的次数,如此通过细化到对每一个字符的比较,这保证了计算得到的两个字符串集合之间的集合相似度的可靠性。
当通过集合相似度公式得到了每种分词方式所对应的集合相似度后,需要确定一种与日志数据相匹配的目标分词方式,该目标分词方式可以包括如下步骤:
确定大于或等于第一预设值的至少一个目标集合相似度;
将所述至少一个目标集合相似度按照从大到小的顺序进行排序;
将排序后位于首位的目标集合相似度对应的分词方式,确定为所述目标分词方式。
在本发明实施中,确定目标分词方式时,首先需要判断得到的各个集合相似度中大于或小于第一预设值的目标集合相似度,并将各个目标集合相似度中最大的集合相似度所对应的分词方式确定为目标分词方式。由此可见,通过设定第一预设值,首先保证了集合相似度只有达到该阈值,其对应的分词方式才有可能为目标分词方式,避免了所有的集合相似度都非常小,依然将其中最大的集合相似度所对应的分词方式作为了目标分词方式,显然当所有的集合相似度都非常小时,存储的分词方式中可能并不存在与日志数据相匹配的分词方式,因此通过该方式可以保证确定的目标分词方式的可靠性。进一步,通过在大于或等于第一预设值的集合相似度中,将最大集合相似度所对应的分词方式确定为目标分词方式,如此再次提升了确定目标分词方式的准确性。
在确定了目标分词方式之后,需要从目标分词方式对应的待匹配字符串集合中确定出固定字符串和特征字符串,该方法可以包括:
针对所述目标分词方式对应的待匹配字符串集合中的每一个待匹配字符串,均执行:
根据字符串相似度公式,计算当前待匹配字符串与所述目标分词方式对应的标准字符串集合中的每一个标准字符串之间的字符串相似度,字符串相似度公式如下:
Figure 351879DEST_PATH_IMAGE002
其中,所述sim用于表征所述字符串相似度,所述A i用于表征目标分词方式对应的待匹配字符串集合中待匹配字符串的第i类字符出现的次数,所述B i用于表征目标分词方式对应的标准字符串集合中标准字符串的第i类字符出现的次数,所述n用于表征待匹配字符串与标准字符串中包含的字符种类的最大值;
判断当前待匹配字符串对应的每个字符串相似度中是否存在大于或等于第二预设值的字符串相似度,如果是,将当前待匹配字符串作为一个所述固定字符串;
判断当前待匹配字符串对应的每个字符串相似度中是否存在属于预设范围的字符串相似度,如果是,则将当前待匹配字符串作为一个特征字符串,所述预设范围中的任一值均小于所述第二预设值;
将所述固定字符串和所述特征字符串组合,获得格式化后的日志。
在本发明实施例中,需要根据字符串相似度公式计算出每一个待匹配字符串集合中的待匹配字符串与标准字符串集合中的每一个标准字符串之间的字符串相似度,并将当前待匹配字符串对应的每个字符串相似度中大于或等于第二预设值的待匹配字符串确定为固定字符串,以及将字符串相似度位于预设范围内的待匹配字符串作为特征字符串,因此,通过字符串相似度公式为固定字符串和特征字符串的定义提供了一种方式,根据该字符串相似度公式编写程序,***可以便捷的确定出日志的固定字符串和特征字符串。
在确定与日志数据相匹配的目标分词方式时,当每个所述集合相似度均小于所述第一预设值时,执行:
根据所述日志数据确定分隔符;
利用所述分隔符将所述日志数据进行分词处理,获得待存储字符串集合,并将所述待存储字符串集合作为一个标准字符串集合进行存储。
在本发明实施例中,如果每个集合相似度均小于第一预设值,那也就是说,在已存储的目标分词方式中,并没有与日志数据相匹配的目标分词方式,因此根据该日志数据确定分隔符,将该日志数据进行分词处理后作为一种标准字符串集合进行存储,如此以自学习的方式,不仅可以实现日志数据的格式化,而且通过在分词库中不断累积分词方式,可以满足更多类型的日志数据的格式化操作。
如图2所示,本发明另一个实施例还提供了一种日志的格式化方法,该方法可以包括:
步骤201:设置至少一个标准字符串集合,每一个所述标准字符串集合对应一种分词方式,所述标准字符串集合中保存有至少一个标准字符串。
在本步骤中,首先需要在分词库中存储分词方式对应的标准字符串集合。例如,预先存储一类日志的标准字符串集合为:"Accepted" "password" "for" "root" "from" "192.168.1.1" "port" "23597" "ssh2"。
步骤202:获取日志数据。
在本步骤中,需要接收日志数据,例如,接收到的日志数据为:Aug 24 19:36:35localhost sshd[12609]: Accepted password for root from 192.168.1.1 port 23597ssh2。
步骤203:针对所述每种所述分词方式,均执行:
步骤203a:利用当前分词方式对所述日志数据进行分词处理,生成与所述当前分词方式对应的至少一个待匹配字符串;
步骤203b:根据集合相似度公式,确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其中,所述待匹配字符串集合中保存有与当前分词方式对应的所述至少一个待匹配字符串;
在本步骤中,需要针对分词库中的每一种分词方式对日志数据进行分词处理,并计算当前待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度。
例如,针对Accepted password for root from 192.168.1.1 port 23597 ssh2的日志数据,采用空格分隔符,将其分为"Accepted" "password" "for" "root" "from" "192.168.1.1" "port" "23597" "ssh2"的待匹配字符串集合。实际情况是,在分词库中存储有多种分词方式,比如以空格、逗号、分号等分隔符形成的分词方式,故而,可以得到多种分词结果。之后根据如下集合相似度的公式计算每组集合相似度:
Figure 838355DEST_PATH_IMAGE001
例如,根据分词后的字符串集合,得到了多组当前待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其分别为40%、10%、5%、95%、50%等。
步骤204:确定大于或等于第一预设值的至少一个目标集合相似度。
在本步骤中,需要与第一预设值比较大小确定出有可能为与日志数据相匹配的分词方式。例如,通过计算得到的A-F分词方式对应的集合相似度分别为:40%、10%、5%、95%、50%、90%,预先设定的第一预设值为88%,如此可以确定分词方式D和分词方式F对应的集合相似度大于第一预设值。
步骤205:将大于或等于第一预设值的集合相似度中最大的所对应的分词方式确定为目标分词方式。
在本步骤中,需要根据集合相似度的大小来确定目标分词方式,接上述例,分词方式D和F都满足其对应的集合相似度大于或等于第一预设值,但通过比较发现,D和F中,分词方式D所对应的集合相似度更大,因此,将分词方式D确定为目标分词方式。
步骤206:针对所述目标分词方式对应的待匹配字符串集合中的每一个待匹配字符串,均执行:
步骤206a:根据字符串相似度公式,计算当前待匹配字符串与所述目标分词方式对应的标准字符串集合中的每一个标准字符串之间的字符串相似度;
步骤206b:判断当前待匹配字符串对应的每个字符串相似度中是否存在大于或等于第二预设值的字符串相似度,如果是,将当前待匹配字符串作为一个所述固定字符串;
步骤206c:判断当前待匹配字符串对应的每个字符串相似度中是否存在属于预设范围的字符串相似度,如果是,则将当前待匹配字符串作为一个特征字符串,所述预设范围中的任一值均小于所述第二预设值;
在本步骤中,需要确定待匹配字符串集合中的固定字符串和特征字符串,该方式中,首先通过字符串相似度公式计算出待匹配字符串集合中的每个待匹配字符串与目标分词方式对应的标准字符串集合中的每一个标准字符串之间的字符串相似度,然后把字符串相似度中大于或等于第二预设值的字符串相似度所对应待匹配字符串确定为固定字符串,把字符串相似度位于预设范围内的待匹配字符串确定为特征字符串。字符串相似度公式如下所示:
Figure 818075DEST_PATH_IMAGE002
例如,通过字符串相似度计算,得到:"time"="Aug 24 19:36:35" 、"host"="localhost"、 "type"="sshd"、"user"="admin"和 "ip"="192.168.1.2"字符串的字符串相似度分别为90%、88%、94%、30%、60%、预先设定的第二预设值为80%,预设范围为20%-70%,因此,可以确定固定字符串为 "time"="Aug 24 19:36:35" 、"host"="localhost"和 "type"="sshd",而特征字符串为"user"="admin"和 "ip"="192.168.1.2"。
当然需要说明的是,确定固定字符串的方式也可以通过人为确定哪些字符串为固定字符串,本发明提供的通过字符串相似度确定固定字符串的方式只是其中一种实现方式。例如通过人为确定固定字符串方式中,对于一条日志:Aug 25 16:20:24 localhostsshd[16825]: Accepted password for admin from 192.168.1.2 port 40536 ssh2,可以通过人为的方式将固定字符串确定为:"time"="Aug 24 19:36:35" "host"="localhost" "type"="sshd",从而在进行分词处理时对 Accepted password for adminfrom 192.168.1.2 port 40536 ssh2内容进行分词处理。
步骤207:将固定字符串和特征字符串组合,获得格式化后的日志。
在本步骤中,需要将固定字符串和特征字符串进行组合获得格式化后的日志,如步骤206中的例子所述,特征字符串"user"="admin"和 "ip"="192.168.1.2"与固定字符串"time"="Aug 24 19:36:35" 、"host"="localhost"和 "type"="sshd",如此可以将固定字符串和特征字符串结合起来,作为该类型日志的格式化方式。
如图3和图4所示,本发明实施例提供了一种日志的格式化处理装置所在的设备和一种日志的格式化处理装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供了一种日志的格式化处理装置所在的设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。如图4所示,本发明实施例提供了一种日志的格式化处理装置,包括:设置模块401、获取模块402、执行模块403、第一确定模块404和第二确定模块405;
所述设置模块401,用于设置至少一个标准字符串集合,每一个所述标准字符串集合对应一种分词方式,所述标准字符串集合中保存有至少一个标准字符串;
所述获取模块402,用于获取日志数据;
所述执行模块403,用于针对所述设置模块401确定的每种所述分词方式,均执行如下操作:
利用当前分词方式对所述日志数据进行分词处理,生成至少一个待匹配字符串;
确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其中,所述待匹配字符串集合中保存有与当前分词方式对应的所述至少一个待匹配字符串;
所述第一确定模块404,用于根据所述执行模块403获得的每种所述分词方式对应的集合相似度,确定与所述获取模块402获取到的日志数据相匹配的目标分词方式;
所述第二确定模块405,用于根据所述第一确定模块404确定的所述目标分词方式对应的目标标准字符串集合和所述第一确定模块404确定的所述目标分词方式对应的待匹配字符串集合,生成所述日志数据的格式化后的日志。
在如图4所示的一种日志的格式化处理装置中,所述执行模块403,用于针对当前分词方式对应的待匹配字符串集合和当前分词方式对应的标准字符串集合,根据如下公式计算所述集合相似度:
Figure 616267DEST_PATH_IMAGE001
其中,所述SIM用于表征所述集合相似度,所述A ij用于表征当前分词方式对应的待匹配字符串集合中第j个字符串中的第i类字符出现的次数,所述B ij用于表征当前分词方式对应的标准字符串集合中第j个字符串中第i类字符出现的次数,所述m用于表征当前分词方式对应的标准字符串集合中所包括的标准字符串的数量,所述nj用于表征待匹配字符串集合和标准字符串集合中第j个字符串中所包括的字符种类的最大值。
在图4所示的一种日志的格式化处理装置中,所述第一确定模块404,用于执行如下操作:
确定大于或等于第一预设值的至少一个目标集合相似度;
将所述至少一个目标集合相似度按照从大到小的顺序进行排序;
将排序后位于首位的目标集合相似度对应的分词方式,确定为所述目标分词方式。
在图4所示的一种日志的格式化处理装置中,所述第二确定模块405,用于执行如下操作:
针对所述目标分词方式对应的待匹配字符串集合中的每一个待匹配字符串,均执行:
根据字符串相似度公式,计算当前待匹配字符串与所述目标分词方式对应的标准字符串集合中的每一个标准字符串之间的字符串相似度,字符串相似度公式如下:
Figure 487271DEST_PATH_IMAGE002
其中,所述sim用于表征所述字符串相似度,所述A i用于表征目标分词方式对应的待匹配字符串集合中待匹配字符串的第i类字符出现的次数,所述B i用于表征目标分词方式对应的标准字符串集合中标准字符串的第i类字符出现的次数,所述n用于表征待匹配字符串与标准字符串中包含的字符种类的最大值;
判断当前待匹配字符串对应的每个字符串相似度中是否存在大于或等于第二预设值的字符串相似度,如果是,将当前待匹配字符串作为一个所述固定字符串;
判断当前待匹配字符串对应的每个字符串相似度中是否存在属于预设范围的字符串相似度,如果是,则将当前待匹配字符串作为一个特征字符串,所述预设范围中的任一值均小于所述第二预设值;
将所述固定字符串和所述特征字符串组合,获得格式化后的日志。
在图4所示的一种日志的格式化处理装置中,所述第一确定模块404,还用于执行如下操作:
当每个所述集合相似度均小于所述第一预设值时,执行:
根据所述日志数据确定分隔符;
利用所述分隔符将所述日志数据进行分词处理,获得待存储字符串集合,并将所述待存储字符串集合作为一个标准字符串集合进行存储。
本发明实施例还提供了一种数据的处理装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明任一实施例中的日志的格式化方法。
本发明实施例还提供了一种存储介质,该存储介质存储有计算机指令,计算机指令在被处理器执行时,使处理器执行本发明任一实施例中的日志的格式化方法。具体地,可以提供配有存储介质的方法或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该方法或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作方法等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
需要说明的是,上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上所述,本发明各个实施例提供的一种日志的格式化方法、装置和存储介质,至少具有如下有益效果:
1、在本发明实施例中,对日志进行处理时,采用每种标准字符串集合所对应的分词方式分别对该日志数据进行分词处理,并计算当前的分词方式对应的分词库中的标准字符串集合与通过当前分词方式进行分词处理得到的待匹配字符串集合之间的集合相似度,根据集合相似度确定出对该日志数据对应的目标分词方式,从而可以根据待匹配字符串集合和标准字符串集合生成日志数据的格式化后的日志。由此可见,本方案通过计算集合相似度的方式确定目标分词方式,并根据该目标分词方式对应的标准字符串集合和目标分词方式对应的待匹配字符串集合生成日志数据的格式化后的日志,该过程不需要大量的人为参与,也不需要大量时间对日志数据进行管理,基于该日志的格式化方法,可利用算法实现对日志数据的标准化管理。因此,该方案可以节省大量的人力资源和时间资源。
2、在本发明实施例中,通过该集合相似度公式计算两个字符串集合之间的集合相似度,该公式的基本原则是对比每个字符串中字符对应出现的次数,如此通过细化到对每一个字符的比较,这保证了计算得到的两个字符串集合之间的集合相似度的可靠性。
3、在本发明实施中,确定目标分词方式时,首先需要判断得到的各个集合相似度中大于或小于第一预设值的目标集合相似度,并将各个目标集合相似度中最大的集合相似度所对应的分词方式确定为目标分词方式。由此可见,通过设定第一预设值,首先保证了集合相似度只有达到该阈值,其对应的分词方式才有可能为目标分词方式,避免了所有的集合相似度都非常小,依然将其中最大的集合相似度所对应的分词方式作为了目标分词方式,显然当所有的集合相似度都非常小时,存储的分词方式中可能并不存在与日志数据相匹配的分词方式,因此通过该方式可以保证确定的目标分词方式的可靠性。进一步,通过在大于或等于第一预设值的集合相似度中,将最大集合相似度所对应的分词方式确定为目标分词方式,如此再次提升了确定目标分词方式的准确性。
4、在本发明实施例中,需要根据字符串相似度公式计算出每一个待匹配字符串集合中的待匹配字符串与标准字符串集合中的每一个标准字符串之间的字符串相似度,并将当前待匹配字符串对应的每个字符串相似度中大于或等于第二预设值的待匹配字符串确定为固定字符串,以及将字符串相似度位于预设范围内的待匹配字符串作为特征字符串,因此,通过字符串相似度公式为固定字符串和特征字符串的定义提供了一种方式,根据该字符串相似度公式编写程序,***可以便捷的确定出日志的固定字符串和特征字符串。
5、在本发明实施例中,如果每个集合相似度均小于第一预设值,那也就是说,在已存储的目标分词方式中,并没有与日志数据相匹配的目标分词方式,因此根据该日志数据确定分隔符,将该日志数据进行分词处理后作为一种标准字符串集合进行存储,如此以自学习的方式,不仅可以实现日志数据的格式化,而且通过在分词库中不断累积分词方式,可以满足更多类型的日志数据的格式化操作。

Claims (5)

1.一种日志的格式化方法,其特征在于,
设置至少一个标准字符串集合,每一个所述标准字符串集合对应一种分词方式,所述标准字符串集合中保存有至少一个标准字符串;
还包括:
获取日志数据;
针对每种所述分词方式,均执行:
利用当前分词方式对所述日志数据进行分词处理,生成与所述当前分词方式对应的至少一个待匹配字符串;
确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其中,所述待匹配字符串集合中保存有与当前分词方式对应的所述至少一个待匹配字符串;
根据每种所述分词方式对应的集合相似度,确定与所述日志数据相匹配的目标分词方式;
根据所述目标分词方式对应的目标标准字符串集合和所述目标分词方式对应的待匹配字符串集合,生成所述日志数据的格式化后的日志;
所述确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,包括:
针对当前分词方式对应的待匹配字符串集合和当前分词方式对应的标准字符串集合,根据如下公式计算所述集合相似度:
Figure DEST_PATH_IMAGE001
其中,所述SIM用于表征所述集合相似度,所述A ij用于表征当前分词方式对应的待匹配字符串集合中第j个字符串中的第i类字符出现的次数,所述B ij用于表征当前分词方式对应的标准字符串集合中第j个字符串中第i类字符出现的次数,所述m用于表征当前分词方式对应的标准字符串集合中所包括的标准字符串的数量,所述nj用于表征待匹配字符串集合和标准字符串集合中第j个字符串中所包括的字符种类的最大值;所述根据每种所述分词方式对应的集合相似度,确定与所述日志数据相匹配的目标分词方式,包括:
确定大于或等于第一预设值的至少一个目标集合相似度;
将所述至少一个目标集合相似度按照从大到小的顺序进行排序;
将排序后位于首位的目标集合相似度对应的分词方式,确定为所述目标分词方式;
进一步包括:当每个所述集合相似度均小于所述第一预设值时,执行:
根据所述日志数据确定分隔符;
利用所述分隔符将所述日志数据进行分词处理,获得待存储字符串集合,并将所述待存储字符串集合作为一个标准字符串集合进行存储。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标分词方式对应的目标标准字符串集合和所述目标分词方式对应的待匹配字符串集合,生成所述日志数据的格式化后的日志,包括:
针对所述目标分词方式对应的待匹配字符串集合中的每一个待匹配字符串,均执行:
根据字符串相似度公式,计算当前待匹配字符串与所述目标分词方式对应的标准字符串集合中的每一个标准字符串之间的字符串相似度,字符串相似度公式如下:
Figure DEST_PATH_IMAGE002
其中,所述sim用于表征所述字符串相似度,所述A i用于表征目标分词方式对应的待匹配字符串集合中待匹配字符串的第i类字符出现的次数,所述B i用于表征目标分词方式对应的标准字符串集合中标准字符串的第i类字符出现的次数,所述n用于表征待匹配字符串与标准字符串中包含的字符种类的最大值;
判断当前待匹配字符串对应的每个字符串相似度中是否存在大于或等于第二预设值的字符串相似度,如果是,将当前待匹配字符串作为一个固定字符串;
判断当前待匹配字符串对应的每个字符串相似度中是否存在属于预设范围的字符串相似度,如果是,则将当前待匹配字符串作为一个特征字符串,所述预设范围中的任一值均小于所述第二预设值;
将所述固定字符串和所述特征字符串组合,获得格式化后的日志。
3.一种日志的格式化装置,其特征在于,包括:设置模块、获取模块、执行模块、第一确定模块和第二确定模块;
所述设置模块,用于设置至少一个标准字符串集合,每一个所述标准字符串集合对应一种分词方式,所述标准字符串集合中保存有至少一个标准字符串;
所述获取模块,用于获取日志数据;
所述执行模块,用于针对每种所述分词方式,均执行如下操作:
利用当前分词方式对所述日志数据进行分词处理,生成与所述当前分词方式对应的至少一个待匹配字符串;
确定当前分词方式对应的待匹配字符串集合与当前分词方式对应的标准字符串集合之间的集合相似度,其中,所述待匹配字符串集合中保存有与当前分词方式对应的所述至少一个待匹配字符串;
所述第一确定模块,用于根据所述执行模块获得的每种所述分词方式对应的集合相似度,确定与所述获取模块获取到的日志数据相匹配的目标分词方式;
所述第二确定模块,用于根据所述第一确定模块确定的所述目标分词方式对应的目标标准字符串集合和所述第一确定模块确定的所述目标分词方式对应的待匹配字符串集合,生成所述日志数据的格式化后的日志;
所述执行模块,用于针对当前分词方式对应的待匹配字符串集合和当前分词方式对应的标准字符串集合,根据如下公式计算所述集合相似度:
Figure 759701DEST_PATH_IMAGE001
其中,所述SIM用于表征所述集合相似度,所述A ij用于表征当前分词方式对应的待匹配字符串集合中第j个字符串中的第i类字符出现的次数,所述B ij用于表征当前分词方式对应的标准字符串集合中第j个字符串中第i类字符出现的次数,所述m用于表征当前分词方式对应的标准字符串集合中所包括的标准字符串的数量,所述nj用于表征待匹配字符串集合和标准字符串集合中第j个字符串中所包括的字符种类的最大值;
所述第一确定模块,用于执行如下操作:
确定大于或等于第一预设值的至少一个目标集合相似度;
将所述至少一个目标集合相似度按照从大到小的顺序进行排序;
将排序后位于首位的目标集合相似度对应的分词方式,确定为所述目标分词方式;
所述第一确定模块,还用于执行如下操作:
当每个所述集合相似度均小于所述第一预设值时,执行:
根据所述日志数据确定分隔符;
利用所述分隔符将所述日志数据进行分词处理,获得待存储字符串集合,并将所述待存储字符串集合作为一个标准字符串集合进行存储。
4.数据的处理装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至2中任一所述的方法。
5.一种计算机存储介质,其特征在于,
所述存储介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至2中任一所述的方法。
CN202010932088.6A 2020-09-08 2020-09-08 一种日志的格式化方法、装置和存储介质 Active CN111814423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010932088.6A CN111814423B (zh) 2020-09-08 2020-09-08 一种日志的格式化方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010932088.6A CN111814423B (zh) 2020-09-08 2020-09-08 一种日志的格式化方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN111814423A CN111814423A (zh) 2020-10-23
CN111814423B true CN111814423B (zh) 2020-12-22

Family

ID=72860031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010932088.6A Active CN111814423B (zh) 2020-09-08 2020-09-08 一种日志的格式化方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN111814423B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114090412B (zh) * 2022-01-20 2022-06-28 北京安帝科技有限公司 一种分布式告警处理方法及***

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455491B (zh) * 2012-05-29 2018-02-06 深圳市世纪光速信息技术有限公司 对查询词分类的方法及装置
CN102799647B (zh) * 2012-06-30 2015-01-21 华为技术有限公司 网页去重方法和设备
CN104794129B (zh) * 2014-01-20 2018-07-03 阿里巴巴集团控股有限公司 一种基于查询日志的数据处理方法和***
CN105574047A (zh) * 2014-10-17 2016-05-11 任子行网络技术股份有限公司 一种基于网站主页特征分析的中文网站分类方法和***
CN104391881B (zh) * 2014-10-30 2017-06-27 杭州安恒信息技术有限公司 一种基于分词算法的日志解析方法及***
CN104991920A (zh) * 2015-06-25 2015-10-21 走遍世界(北京)信息技术有限公司 标签的生成方法及装置
CN107590169B (zh) * 2017-04-14 2020-03-06 南方科技大学 一种运营商网关数据的预处理方法及***
CN108197315A (zh) * 2018-02-01 2018-06-22 中控技术(西安)有限公司 一种建立分词索引库的方法和装置
CN111435343B (zh) * 2019-01-15 2023-02-24 北京大学 计算机***日志模板的自动生成和在线更新方法与***

Also Published As

Publication number Publication date
CN111814423A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
EP3819785A1 (en) Feature word determining method, apparatus, and server
CN105893478A (zh) 一种标签提取方法及设备
WO2021174812A1 (zh) 用于画像的数据的清洗方法、装置、介质及电子设备
CN110768875A (zh) 一种基于dns学习的应用识别方法及***
CN109783805B (zh) 一种网络社区用户识别方法、装置和可读存储介质
CN106650446A (zh) 基于***调用的恶意程序行为识别方法和***
CN116841779A (zh) 异常日志检测方法、装置、电子设备和可读存储介质
CN111814423B (zh) 一种日志的格式化方法、装置和存储介质
CN112016317A (zh) 基于人工智能的敏感词识别方法、装置及计算机设备
US8650180B2 (en) Efficient optimization over uncertain data
CN110008701B (zh) 基于elf文件特征的静态检测规则提取方法及检测方法
CN115185998A (zh) 目标字段查找方法及装置、服务器、计算机可读存储介质
CN116029280A (zh) 一种文档关键信息抽取方法、装置、计算设备和存储介质
CN112579781B (zh) 文本归类方法、装置、电子设备及介质
US10559223B2 (en) Food description processing methods and apparatuses
CN113723542A (zh) 一种日志聚类处理方法及***
CN111581057B (zh) 一种通用日志解析方法、终端设备及存储介质
CN117312825A (zh) 一种目标行为检测方法、装置、电子设备及存储介质
CN112732655A (zh) 针对无格式日志的在线解析方法及***
US7209924B2 (en) System and method for handling a continuous attribute in decision trees
CN116578700A (zh) 日志分类方法、日志分类装置、设备及介质
CN115859932A (zh) 一种日志模板提取方法、装置、电子设备及存储介质
CN116010499A (zh) 一种确定解析规则的方法、装置及电子设备
CN115051859A (zh) 情报分析方法、情报分析装置、电子设备及介质
CN114065187A (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