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

一种基于向量化的日志模板提取方法和系统技术方案

技术编号:21971286 阅读:12 留言:0更新日期:2019-08-28 01:26
本发明专利技术公开了一种基于向量化的日志模板提取方法,其结合了离线日志模板提取和在线日志模板提取两个过程,离线日志模板提取先将所有的日志记录向量化后映射到一个高维向量空间,然后对所有向量进行聚类以实现对日志记录的分类,最后从每个类中提取出其中所有日志记录的最长公共单词子序列并用通配符替代不同的部分以作为该类的模板,在线日志模板提取基于离线提取的结果,对随着时间推移新产生的日志记录逐条进行处理,计算其向量化后的结果与已知各模板向量化后的结果的距离。本发明专利技术能够解决现有日志模板提取方法存在的不适合处理大量日志、普适性差、复杂性比较高的技术问题。

A Log Template Extraction Method and System Based on Vectorization

【技术实现步骤摘要】
一种基于向量化的日志模板提取方法和系统
本专利技术属于计算机数据挖掘领域,具体地说,涉及一种基于向量化的日志模板提取方法和系统。
技术介绍
计算机系统在运行过程中产生的各种日志是获取计算机系统健康和操作状态的重要信息来源,计算机系统的管理员和安全分析员在计算机系统出现故障和安全事件时都非常依赖日志信息,日志为计算机系统异常和故障的诊断甚至预测提供了重要的信息支撑。然而,随着计算机系统规模的不断增长,其产生的日志的规模也在不断增长,这使得人工查看日志变得非常繁琐,而且容易出错。因此,自动日志分析成为一个非常重要的研究课题,受到了大量研究人员的关注。其中,如何提取日志模板是一个重要的研究点。现有的日志模板提取方法主要是无监督类型的方法,常用的有:(1)基于频繁项集挖掘的方法,这类方法通过挖掘日志文件中的频繁项集(频繁出现的单词的集合)并结合聚类以生成日志模板;然而,这类方法中的集合管理代价即使在日志模板数量较少的情况下也比较高昂,因此不适合处理大量的日志;(2)迭代分割日志挖掘方法(见MakanjuA,Zincir-HeywoodAN,MiliosEE.Clusteringeventlogsusingiterativepartitioning[C].AcmSigkddInternationalConferenceonKnowledgeDiscovery&DataMining.DBLP,2009),该方法先对日志记录集合进行三步划分(第一步按日志记录包含的符号的数量进行划分,第二步按符号的位置进行划分,第三步按两个符号之间的双射关系进行划分)以形成不同的日志记录簇,然后从每一个日志记录簇提取一个日志模板;但该方法同样存在问题,其以假设对应同一日志模板的所有日志记录具有相同的符号长度为先决条件,因此不具有普适性;(3)从源代码中提取日志打印格式作为日志模板的方法,该方法直接对相关系统的源代码进行分析,根据日志打印语句生成日志模板;但由于并不是所有的系统都允许访问源代码,因此该方法也不具有普适性;(4)在线日志模板提取方法,这类方法支持动态日志模板生成,克服了离线日志模板提取方法所存在的不能及时对日志记录进行分析以及模板更新代价高昂的缺陷,但是现有的该类方法以纯粹字符串的方式对日志记录进行处理,因而复杂性比较高。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种基于向量化的日志模板提取方法和系统,其目的在于,引入向量化的方式对日志记录进行处理,并结合离线日志模板提取和在线日志模板提取两个过程,解决现有日志模板提取方法存在的不适合处理大量日志、普适性差、复杂性比较高的技术问题。为实现上述目的,按照本专利技术的一个方面,提供了一种基于向量化的日志模板提取方法,包括:一、离线日志模板提取过程,包括步骤:(1)从预先收集的日志文件中获取所有日志记录,对其进行预处理,以得到预处理后的所有日志记录。(2)对预处理后的所有日志记录进行向量化处理,以得到向量集合,并对得到的向量集合进行聚类,从而将该向量集合划分成多个向量簇C1,C2,…,Cm,其中m表示聚类操作所得到的簇的总个数。(3)对步骤(2)中得到的每个向量簇Ci,找出与其中的每个向量对应的、预处理后的日志记录所构成的日志记录集合Li,提取出其中所有日志记录的最长公共单词子序列,并用通配符替代每条日志记录中不在最长公共单词子序列中出现的部分,从而得到该日志记录集合Li的模板ti,其中i∈[1,m]。(4)对步骤(3)得到的每个日志模板ti进行向量化处理,将向量化后的结果tvi称为模板向量,然后计算对应的向量簇Ci中的各个向量与该模板向量tvi的距离并找出最大距离d_maxi。二、在线日志模板提取过程,包括步骤:(5)从日志文件中实时获取新产生的一条日志记录,并对其进行预处理,以得到预处理后的日志记录;然后对预处理后的日志记录进行向量化处理,以得到向量。(6)采用步骤(2)中的聚类算法所使用的距离度量方法计算步骤(5)得到的向量与步骤(4)得到的各个模板向量tvi的距离。(7)从步骤(6)得到的所有距离中找出最小距离,并判断该最小距离是否大于预定的阈值τd,如果是则进入步骤(8),否则进入步骤(9)。(8)将该日志记录本身作为一个新的模板,并对该模板执行与步骤(4)中相同的处理,过程结束。(9)找出步骤(7)中得到的最小距离所对应的模板向量tvclosest,再找出该模板向量tvclosest所对应的模板tclosest,然后计算步骤(5)中预处理后的日志记录与该模板tclosest之间的相似度s,并判断s是否大于预定的阈值τs,如果是,则tclosest就是该日志记录的模板,过程结束,否则进入步骤(10)。(10)用通配符替代步骤(9)中得到的日志模板tclosest与步骤(5)中预处理后的日志记录之间的不同部分,从而得到更新后的日志模板,再对更新后的日志模板进行向量化处理,以得到更新的模板向量,然后用该更新的模板向量替换原始的模板向量tvclosest并重新计算对应的向量簇Cclosest中的各个向量与更新的模板向量之间的距离并找出最大距离d_maxclosest。优选地,步骤(1)中的预处理过程包括去掉时间戳和剔除重复的日志记录,步骤(5)中的预处理过程仅包括去掉时间戳。优选地,步骤(2)和(5)中向量化处理过程完全相同,步骤(4)和(10)中向量化处理过程完全相同,日志模板中的通配符不作为单词参与向量化处理。优选地,步骤(6)中,当前述的向量化处理过程使用的是词袋模型时,在计算距离之前先通过在tvi后面补0的方式使各个模板向量tvi的维度与新单词表的长度相等。优选地,步骤(7)中的预定阈值τd的取值为步骤(4)中得到的所有d_maxi中的最大值乘以系数λ,其中λ∈[1,1.5]。优选地,步骤(9)中,相似度s是步骤(5)中预处理后的日志记录与模板tclosest的最长公共单词子序列所包含的单词数与预处理后的日志记录所包含的单词数的比值,预定的阈值τs的取值在0.4到0.8之间。按照本专利技术的另一方面,提供了一种基于向量化的日志模板提取系统,包括:第一模块,用于从预先收集的日志文件中获取所有日志记录,对其进行预处理,以得到预处理后的所有日志记录。第二模块,用于对预处理后的所有日志记录进行向量化处理,以得到向量集合,并对得到的向量集合进行聚类,从而将该向量集合划分成多个向量簇C1,C2,…,Cm,其中m表示聚类操作所得到的簇的总个数。第三模块,用于对第二模块得到的每个向量簇Ci,找出与其中的每个向量对应的、预处理后的日志记录所构成的日志记录集合Li,提取出其中所有日志记录的最长公共单词子序列,并用通配符替代每条日志记录中不在最长公共单词子序列中出现的部分,从而得到该日志记录集合Li的模板ti,其中i∈[1,m]。第四模块,用于对第三模块得到的每个日志模板ti进行向量化处理,将向量化后的结果tvi称为模板向量,然后计算对应的向量簇Ci中的各个向量与该模板向量tvi的距离并找出最大距离d_maxi。第五模块,用于从日志文件中实时获取新产生的一条日志记录,并对其进行预处理,以得到预处理后的日志记录;然后对预处理后的日志记录进行向量化处理,以得到向量。本文档来自技高网
...

【技术保护点】
1.一种基于向量化的日志模板提取方法,其特征在于,包括:一、离线日志模板提取过程,包括步骤:(1)从预先收集的日志文件中获取所有日志记录,对其进行预处理,以得到预处理后的所有日志记录。(2)对预处理后的所有日志记录进行向量化处理,以得到向量集合,并对得到的向量集合进行聚类,从而将该向量集合划分成多个向量簇C1,C2,…,Cm,其中m表示聚类操作所得到的簇的总个数。(3)对步骤(2)中得到的每个向量簇Ci,找出与其中的每个向量对应的、预处理后的日志记录所构成的日志记录集合Li,提取出其中所有日志记录的最长公共单词子序列,并用通配符替代每条日志记录中不在最长公共单词子序列中出现的部分,从而得到该日志记录集合Li的模板ti,其中i∈[1,m]。(4)对步骤(3)得到的每个日志模板ti进行向量化处理,将向量化后的结果tvi称为模板向量,然后计算对应的向量簇Ci中的各个向量与该模板向量tvi的距离并找出最大距离d_maxi。二、在线日志模板提取过程,包括步骤:(5)从日志文件中实时获取新产生的一条日志记录,并对其进行预处理,以得到预处理后的日志记录;然后对预处理后的日志记录进行向量化处理,以得到向量。(6)采用步骤(2)中的聚类算法所使用的距离度量方法计算步骤(5)得到的向量与步骤(4)得到的各个模板向量tvi的距离。(7)从步骤(6)得到的所有距离中找出最小距离,并判断该最小距离是否大于预定的阈值τd,如果是则进入步骤(8),否则进入步骤(9)。(8)将该日志记录本身作为一个新的模板,并对该模板执行与步骤(4)中相同的处理,过程结束。(9)找出步骤(7)中得到的最小距离所对应的模板向量tvclosest,再找出该模板向量tvclosest所对应的模板tclosest,然后计算步骤(5)中预处理后的日志记录与该模板tclosest之间的相似度s,并判断s是否大于预定的阈值τs,如果是,则tclosest就是该日志记录的模板,过程结束,否则进入步骤(10)。(10)用通配符替代步骤(9)中得到的日志模板tclosest与步骤(5)中预处理后的日志记录之间的不同部分,从而得到更新后的日志模板,再对更新后的日志模板进行向量化处理,以得到更新的模板向量,然后用该更新的模板向量替换原始的模板向量tvclosest并重新计算对应的向量簇Cclosest中的各个向量与更新的模板向量之间的距离并找出最大距离d_maxclosest。...

【技术特征摘要】
1.一种基于向量化的日志模板提取方法,其特征在于,包括:一、离线日志模板提取过程,包括步骤:(1)从预先收集的日志文件中获取所有日志记录,对其进行预处理,以得到预处理后的所有日志记录。(2)对预处理后的所有日志记录进行向量化处理,以得到向量集合,并对得到的向量集合进行聚类,从而将该向量集合划分成多个向量簇C1,C2,…,Cm,其中m表示聚类操作所得到的簇的总个数。(3)对步骤(2)中得到的每个向量簇Ci,找出与其中的每个向量对应的、预处理后的日志记录所构成的日志记录集合Li,提取出其中所有日志记录的最长公共单词子序列,并用通配符替代每条日志记录中不在最长公共单词子序列中出现的部分,从而得到该日志记录集合Li的模板ti,其中i∈[1,m]。(4)对步骤(3)得到的每个日志模板ti进行向量化处理,将向量化后的结果tvi称为模板向量,然后计算对应的向量簇Ci中的各个向量与该模板向量tvi的距离并找出最大距离d_maxi。二、在线日志模板提取过程,包括步骤:(5)从日志文件中实时获取新产生的一条日志记录,并对其进行预处理,以得到预处理后的日志记录;然后对预处理后的日志记录进行向量化处理,以得到向量。(6)采用步骤(2)中的聚类算法所使用的距离度量方法计算步骤(5)得到的向量与步骤(4)得到的各个模板向量tvi的距离。(7)从步骤(6)得到的所有距离中找出最小距离,并判断该最小距离是否大于预定的阈值τd,如果是则进入步骤(8),否则进入步骤(9)。(8)将该日志记录本身作为一个新的模板,并对该模板执行与步骤(4)中相同的处理,过程结束。(9)找出步骤(7)中得到的最小距离所对应的模板向量tvclosest,再找出该模板向量tvclosest所对应的模板tclosest,然后计算步骤(5)中预处理后的日志记录与该模板tclosest之间的相似度s,并判断s是否大于预定的阈值τs,如果是,则tclosest就是该日志记录的模板,过程结束,否则进入步骤(10)。(10)用通配符替代步骤(9)中得到的日志模板tclosest与步骤(5)中预处理后的日志记录之间的不同部分,从而得到更新后的日志模板,再对更新后的日志模板进行向量化处理,以得到更新的模板向量,然后用该更新的模板向量替换原始的模板向量tvclosest并重新计算对应的向量簇Cclosest中的各个向量与更新的模板向量之间的距离并找出最大距离d_maxclosest。2.根据权利要求1所述的日志模板提取方法,其特征在于,步骤(1)中的预处理过程包括去掉时间戳和剔除重复的日志记录;步骤(5)中的预处理过程仅包括去掉时间戳。3.根据权利要求1所述的日志模板提取方法,其特征在于,步骤(2)和(5)中向量化处理过程完全相同;步骤(4)和(10)中向量化处理过程完全相同,其中日志模板中的通配符不作为单词参与向量化处理。4.根据权利要求1所述的日志模板提取方法,其特征在于,步骤(6)中,当前述的向量化处理过程使用的是词袋模型时,在计...

【专利技术属性】
技术研发人员:全哲肖桐周旭唐卓陈建国姜文君李肯立李克勤
申请(专利权)人:湖南大学
类型:发明
国别省市:湖南,43

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

1