当前位置: 首页 > 专利查询>湖南大学专利>正文

一种基于令牌转换的多序列日志解析方法和系统技术方案

技术编号:37082716 阅读:34 留言:0更新日期:2023-03-29 19:58
本发明专利技术公开了一种基于令牌转换的多序列日志解析方法,包括:获取多条日志数据,对所有日志数据进行预处理,以得到日志令牌消息,对所有日志令牌消息按长度分为多个日志组,针对每一个日志组中的每条日志令牌消息而言,对该日志令牌消息包含的每个令牌进行令牌转换操作,从而得到更新后的日志组,使用多序列公共子序列算法对每一个更新后的日志组进行模板提取,以得到该日志组对应的日志模板,针对所有日志组而言,对所有日志组对应的所有日志模板中任意两个相邻的日志模板进行相似性计算,将相似性计算结果中小于或等于预设阈值的两个日志模板进行合并,相似性计算结果大于预设阈值的日志模板不进行合并,以得到最终的日志模板。模板。模板。

【技术实现步骤摘要】
一种基于令牌转换的多序列日志解析方法和系统


[0001]本专利技术属于计算机日志分析
,更具体地,涉及一种基于令牌转换的多序列日志解析方法和系统。

技术介绍

[0002]如今,自动日志分析已经得到了广泛的应用,包括异常检测、故障诊断、程序分析验证、调查取证、性能诊断等。自动日志分析的工作原理是将日志信息解析为结构化数据,生成特征矩阵,最后利用数据挖掘技术(如PCA、LSTM等)进行日志分析。
[0003]日志解析是自动日志分析的第一步,它将半结构化消息(即日志消息内容)转换为结构化数据(即日志模板和参数),这些数据用作后续日志分析任务的输入。在日志解析过程中,首先需要根据分隔符(如空格)将日志内容拆分为令牌(其中令牌有两种类型:1)常量令牌,即日志消息的固定部分,即源代码输出语句的静态部分;2)变量令牌,即代码中的参数),然后使用通配符

<*>

替换变量令牌以生成日志模板。
[0004]现有的自动日志解析方法主要有以下四类:基于规则的解析方法、基于聚类的解析方法、基于频繁模式挖掘的解析方法、以及基于启发式规则的解析方法;基于规则的方法是最早的日志解析方法,它依赖于正则表达式,该方法使用正则表达式来分隔每个日志消息,然后使用预定义的规则匹配解析日志,以获得准确的日志模板;基于聚类的解析方法通过计算日志消息之间的相似度,将相似度高的日志消息聚集到同一个日志集群中,对每一个日志集群,识别出集群中所有日志消息的公共令牌作为该集群日志模板的常量令牌;基于频繁模式挖掘的解析方法统计令牌在日志数据集中的出现次数,并构建频繁项集,根据构建的频繁项集,生成日志模板的常量令牌;基于启发式规则的解析方法根据日志消息的特征长度、位置等对日志信息进行分组,然后对每一组日志消息,提取公共令牌生成日志模板。
[0005]然而,上述几种现有的日志解析方法均存在一些不可忽略的缺陷:第一、这些解析方法通常是将结构化变量令牌视为一个整体,并将这些令牌错误地识别为常量令牌,这会导致生成大量的日志模板,同时影响解析精度;第二、这些解析方法都需要对日志消息进行两两比较,这对于大量日志消息来说非常耗时。

技术实现思路

[0006]针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于令牌转换的多序列日志解析方法和系统,其目的在于,解决现有日志解析方法往往生成大量的日志模板、同时解析精度低的技术问题,以及由于需要对日志消息进行两两比较,导致对于大量日志消息来说非常耗时的技术问题。
[0007]为实现上述目的,按照本专利技术的一个方面,提供了一种基于令牌转换的多序列日志解析方法,包括如下步骤:
[0008](1)获取多条日志数据,对所有日志数据进行预处理,以得到日志令牌消息;
[0009](2)对步骤(1)得到的所有日志令牌消息按长度分为多个日志组;
[0010](3)针对步骤(2)得到的每一个日志组中的每条日志令牌消息而言,对该日志令牌消息包含的每个令牌进行令牌转换操作,从而得到更新后的日志组;
[0011](4)使用多序列公共子序列算法对步骤(3)每一个更新后的日志组进行模板提取,以得到该日志组对应的日志模板。
[0012](5)针对步骤(4)得到的所有日志组而言,对所有日志组对应的所有日志模板中任意两个相邻的日志模板进行相似性计算,将相似性计算结果中小于或等于预设阈值的两个日志模板进行合并,相似性计算结果大于预设阈值的日志模板不进行合并,以得到最终的日志模板。
[0013]优选地,步骤(1)包括以下子步骤:
[0014](1

1)将每条日志数据中的头部信息删除,以得到更新后的日志消息,所有更新后的日志消息构成日志消息集合;
[0015](1

2)使用空格作为分隔符对步骤(1

1)得到的日志消息集合进行分割,以得到多条日志令牌消息,并为每条日志令牌消息加上序号。
[0016]优选地,步骤(3)中对每个令牌进行令牌转换操作这一过程包括以下子步骤:
[0017](3

1)设置计数器i=1;
[0018](3

2)设置计数器j=0;
[0019](3

3)判断i是否大于令牌中的字符总数,如果是则过程结束,否则进入步骤(3

4);
[0020](3

4)获取令牌中的第i个字符的ASCII码值cascii
i

[0021](3

5)判断cascii
i
是否等于47,如果是则进入步骤(3

8),否则进入步骤(3

6);
[0022](3

6)判断cascii
i
是否大于等于65并且小于等于90,或者大于等于97并且小于等于122,如果是则进入步骤(3

9),否则进入步骤(3

7);
[0023](3

7)判断cascii
i
是否大于等于48并且小于等于57,如果是则进入步骤(3

14),否则进入步骤(3

15);
[0024](3

8)把令牌替换成

/<*>

,过程结束;
[0025](3

9)判断j是否大于0,如果是则进入步骤(3

10),否则进入步骤(3

15);
[0026](3

10)判断i是否大于等于1,如果是则进入步骤(3

11),否则进入步骤(3

12);
[0027](3

11)判断令牌中的第i

1个字符是否等于

<*>

,如果是则进入步骤(3

12),否则进入步骤(3

13);
[0028](3

12)把令牌中的第i个字符删除,并返回步骤(3

3);
[0029](3

13)把令牌中的第i个字符替换换成通配符

<*>

,并进入步骤(3

15);
[0030](3

14)设置j=j+1,并进入步骤(3

10);
[0031](3

15)设置i=i+1,并返回步骤(3

3);
[0032]优选地,步骤(4本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于令牌转换的多序列日志解析方法,其特征在于,包括如下步骤:(1)获取多条日志数据,对所有日志数据进行预处理,以得到日志令牌消息;(2)对步骤(1)得到的所有日志令牌消息按长度分为多个日志组;(3)针对步骤(2)得到的每一个日志组中的每条日志令牌消息而言,对该日志令牌消息包含的每个令牌进行令牌转换操作,从而得到更新后的日志组;(4)使用多序列公共子序列算法对步骤(3)每一个更新后的日志组进行模板提取,以得到该日志组对应的日志模板。(5)针对步骤(4)得到的所有日志组而言,对所有日志组对应的所有日志模板中任意两个相邻的日志模板进行相似性计算,将相似性计算结果中小于或等于预设阈值的两个日志模板进行合并,相似性计算结果大于预设阈值的日志模板不进行合并,以得到最终的日志模板。2.根据权利要求1所述的基于令牌转换的多序列日志解析方法,其特征在于,步骤(1)包括以下子步骤:(1

1)将每条日志数据中的头部信息删除,以得到更新后的日志消息,所有更新后的日志消息构成日志消息集合;(1

2)使用空格作为分隔符对步骤(1

1)得到的日志消息集合进行分割,以得到多条日志令牌消息,并为每条日志令牌消息加上序号。3.根据权利要求1或2所述的基于令牌转换的多序列日志解析方法,其特征在于,步骤(3)中对每个令牌进行令牌转换操作这一过程包括以下子步骤:(3

1)设置计数器i=1;(3

2)设置计数器j=0;(3

3)判断i是否大于令牌中的字符总数,如果是则过程结束,否则进入步骤(3

4);(3

4)获取令牌中的第i个字符的ASCII码值cascii
i
;(3

5)判断cascii
i
是否等于47,如果是则进入步骤(3

8),否则进入步骤(3

6);(3

6)判断cascii
i
是否大于等于65并且小于等于90,或者大于等于97并且小于等于122,如果是则进入步骤(3

9),否则进入步骤(3

7);(3

7)判断cascii
i
是否大于等于48并且小于等于57,如果是则进入步骤(3

14),否则进入步骤(3

15);(3

8)把令牌替换成

/<*>

,过程结束;(3

9)判断j是否大于0,如果是则进入步骤(3

10),否则进入步骤(3

15);(3

10)判断i是否大于等于1,如果是则进入步骤(3

11),否则进入步骤(3

12);(3

11)判断令牌中的第i

1个字符是否等于

<*>

,如果是则进入步骤(3

12),否则进入步骤(3

13);(3

12)把令牌中的第i个字符删除,并返回步骤(3

3);(3

13)把令牌中的第i个字符替换换成通配符

<*>

,并进入步骤(3

15);(3

14)设置j=j+1,并进入步骤(3

10);(3

15)设置i=i+1,并返回步骤(3

3)。4.根据权利要求1至3中任意一项所述的基于令牌转换的多序列日志解析方法,其特征在于,步骤(4)包括以下子步骤:
(4

1)对每个更新后的日志组按列进行操作,以生成多个独立点IP;(4

2)针对每个日志组而言,根据步骤(4

1)得到的独立点构建有向关系图。(4

3)针对每个日志组而言,根据步骤(4

2)得到的有向关系图生成该日志组对应的日志模板。5.根据权利要求4所述的基于令牌转换的多序列日志解析方法,其特征在于,步骤(4

1)具体为,首先获取日志组中所有日志令牌消息中的第一列令牌,将该列令牌中相同的令牌形成令牌集合,并记录该令牌集合对应的独立点(m1,m2,

,mn),其中m1表示令牌集合中的第一个令牌所在日志令牌消息的序号,m2表示令牌集合中的第二个令牌所在日志令牌消息的序号,

,以此类推,n表示该令牌集合中令牌的总数,然后,针对日志组中所有日志令...

【专利技术属性】
技术研发人员:韦鸣宽谢鲲何施茗文吉刚
申请(专利权)人:湖南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1