日志的主干提取方法、分类方法、设备及存储介质与流程

文档序号:19634491发布日期:2020-01-07 11:51阅读:252来源:国知局
日志的主干提取方法、分类方法、设备及存储介质与流程

本发明涉及计算机技术领域,特别涉及一种日志的主干提取方法、分类方法、设备及存储介质。



背景技术:

现代计算机系统会生成大量的日志数据。这些日志数据记录了系统内部操作的状态,系统管理员或领域专家可以利用这些日志数据了解、优化系统的行为,并进行系统异常检测。如今,由于iaas/paas/saas平台日志数据量极大,仅依靠人工分析是远远不够的。如果可以自动地提取每条日志的主干、对海量日志进行有效的分类,则可以帮助管理员提高日志分析的效率。因此,如何快速准确地对日志进行分类,已经成为一个亟待解决的问题。

现有的日志分类方法大多是通过对日志文本进行统计规律上的分析进行分类。目前在进行日志分类时,一般采用直接对大量的原始日志进行聚类操作的方式,并没有提取出日志的主干,如果能提取出的较为完整的日志主干,将会为管理员后续进行日志系统的处理和异常模式识别等提供极大的便利。而现有的效果较好的主干提取算法大多仍然需要人为辅助的过程,不够自动化;同时,直接对大量的原始日志进行操作,而不对日志进行预处理,会导致占用系统资源多、处理速度慢。



技术实现要素:

有鉴于此,本发明目的在于提供一种日志文件分类方法、设备及计算机存储介质,以解决目前日志的分类中不够自动化的技术问题。

本发明实施例解决上述技术问题所采用的技术方案如下:

根据本发明的一个方面,提供一种日志的主干提取方法,该方法包括:

对日志数据进行预处理;

根据预设的初始聚类数目对预处理后的日志数据进行聚类;

根据预设的聚类接受条件,对当前聚类结果进行自适应优化;

从每个聚类中提取主干。

根据本发明的另一个方面,提供一种日志的分类方法,该方法包括:

接收到日志数据后,根据分类模板对日志数据进行分类;

当分类未成功时,对分类失败的日志数据进行主干提取,生成新的分类模板;并根据新的分类模板对失败的日志数据进行分类。

本发明实施例提供的日志的主干提取方法、分类方法、设备及存储介质,通过自适应查找聚类数目,把主干提取作为阶段性目标,进一步实现日志分类,能实现自动对日志进行主干提取与分类,不需要进行人工干预仍能获得较高的准确率,极大程度上提高了日志分类、异常模式识别的准确率和效率,提高了后续的日志处理效率。

附图说明

图1为本发明实施例一提供的一种日志的主干提取方法的流程图;

图2为本发明实施例一提供的一种日志数据预处理方法的流程图;

图3为本发明实施例一提供的一种初步聚类方法的流程图;

图4为本发明实施例一提供的一种聚类优化方法的流程图;

图5为本发明实施例二提供的一种日志的分类模板训练方法的流程图;

图6为本发明实施例三提供的一种日志的分类的流程图;

图7为本发明实施例三提供的一种利用分类模板对日志数据进行分类方法的流程图;

图8为本发明实施例三提供的一种生成日志向量的方法的流程图;

图9为本发明实施例三提供的一种日志向量与模板向量进行匹配出类别的方法的流程图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅以解释本发明,并不用于限定本发明。

实施例一

如图1所示,本发明实施例提供的一种日志的主干提取方法包括:

s11、对日志数据进行预处理。

为了减少由数据冗余带来的额外系统资源消耗,从而有效的加快运行速度。本步骤可以实现对日志数据进行压缩,删除冗余数据。

如图2所示,本步骤s11、具体可以采用以下方式实现:

s111、使用正则表达式去除日志中已知形式的参数。

s112、使用统计词频的方式构筑词典,根据词典对每条日志构筑一个n维向量。

具体的,可以采用利用词典使用1词袋模型对每条日志构筑一个n维1向量。短日志中的词也能分配到较大权重,从而在不同类型的日志数据集上都能取得良好的效果。

s113、对向量相同的日志进行删除,向量相同的日志只保留一条日志。

如此,进入主干提取的日志数量大大降低,使得在处理大规模日志数据时仍能保持较高的效率,并减少了系统资源的消耗。

s12、根据预设的初始聚类数目对预处理后的日志数据进行聚类。

如图3所示,本步骤s12可以采用以下方式实现:

s121、根据预设的初始聚类数目k,随机将每条日志分入k个类中的任意一类。

s122、对每条日志进行转移增益计算,将其分到增益值最大的聚类。

具体的,在聚类的最初,预设的初始聚类数目k,先随机将每条日志分入k个类中的任意一类。对每条日志进行一个转移增益函数计算,将其分到增益函数最大的聚类,当所有日志当前所属的聚类都为增益函数最大的聚类时,则可以认为聚类已经稳定。

s13、根据预设的聚类接受条件,对当前聚类结果进行自适应优化。

具体的,若聚类数目k满足需求,则聚类结束。若聚类数目过多或过少,则需进一步调整聚类数目k值,重新聚类。由于不同日志集合的聚类数目k是不同的甚至是差别非常大的,考虑到提取出的主干识别数量和聚类数目一定程度上的正相关关系,可以采用一种依据二分搜索自适应查找聚类数目的方式。

如图4所示,本步骤s13可以采用以下方式实现:

s131、当前聚类满足预设的聚类接受条件时,使用二分搜索法减小聚类数目,直到聚类数目最小且满足预设的聚类接受条件。

s132、当前聚类不满足预设的聚类接受条件时,使用二分搜索法增大聚类数目,直到聚类数目满足预设的聚类接受条件;

s133、根据聚类数目对当前聚类结果进行调整。

举例来说,本实施例预设的聚类接受条件(即认为主干提取成功的条件)为:

(1)该条日志中的参数数量小于x;

(2)该条日志中的参数所占比例小于r1,其中对于参数的判断条件为:某单词在聚类中少于比例r2的日志样本中出现,即认为是参数;

(3)主干提取成功的单条日志在总数中所占比例r高于r3。

在设定了这样的条件后,由于k值和r具有一定程度的相关性,使用二分搜索的方式可以自动地定位到k值。

为能够获得较为稳定的k值,本方法可以进行多次二分搜索,并对得到的结果取平均值作为最后的k值。这样,对于不同类型的日志集,都可以很好的得到聚类数目k,从而在分析不同类型的日志数据时都能获得较好的效果,泛化性能强。

s14、从每个聚类提取主干。

具体的,在聚类稳定后,对于每个日志聚类,判断其中的单词在聚类中的多少条日志当中出现过,当出现次数大于设定的阈值时,在最终的日志主干中保留该词,否则删除该单词。比如,单词在聚类中超过5%的日志中出现过,则保留所有属于主干的词,其余剔除或用<p>代替。

本发明实施例的方法,克服了相关技术中存在的需要人为辅助的缺陷,通过自适应查找聚类数目,实现自动对日志的主干进行精确的提取。此外,短日志中的词也能分配到较大权重,对于不同类型的日志集,都可以得到合适的聚类数目,从而在不同类型的日志数据集上都能取得良好的效果,泛化性能强,而且,通过在进行主干提取前先对日志数据进行压缩,删除冗余数据,减少了需要在非线性时间内处理的数据量,提高了提取的效率。

实施例二

如图5所示,本发明实施例提供一种日志的主干提取方法包括:

s51、对日志数据进行预处理;

s52、根据预设的初始聚类数目对预处理后的日志数据进行聚类;

s53、根据预设的聚类接受条件,对当前聚类结果进行自适应优化;

s54、从每个聚类中提取主干;

s55、根据提取的主干生成分类模板。

具体的,在日志进行主干提取之后,将提取的主干作为分类模板加入已有分类模板中。已有的分类模板可以表示为一个类别集合,类别中包含多条日志模板,表示和该日志模板相同的日志应属于这一类。

本实施例可以用于离线的日志分类模板训练,也可以应用于在线的日志分类。

实施例三

如图6所示,本发明实施例提供一种日志的分类方法包括:

s61、接收到日志数据后,根据分类模板对日志数据进行分类。

其中,日志数据包括但不限于日志文件或数据库中记录等形式。如图7所示,可以采用以下方法进行分类:

s611、提取模板关键词词典,根据模板关键词词典和分类模板生成模板向量。

对于分类模板来说,其模板关键词词典是确定的。故可以将单条日志分类模板做成一个m维向量,其中,m为模板关键词词典的单词数量,每一维向量代表模板关键词词典中的一个单词,初始值都设为false。对模板关键词词典的单词做统计,若某个单词在单条日志分类模板中出现过,则将该单词对应维度的值更新为true,得到分类模板向量。

s612、提取日志关键词词典,根据日志关键词词典和分类模板生成日志向量。

请参考图8,本步骤s612进一步包括:

s6121、对日志数据中各个单词在全体日志中出现的频数进行统计,当某个单词出现的频数大于预设的频数阈值,则将该单词加入初步关键词表。

具体的,在对单词在全体日志中出现的频数进行统计后,频数大于该阈值的单词被认为有可能是单词,预设的频数阈值可以根据不同的领域进行调整,取得一个认为对分类有意义的单词集合,构成初步关键词表。

s6122、根据预设的领域标准对初步关键词表进行筛选,将不属于预设的领域标准的单词剔除出初步关键词表,得到日志关键词词典。

具体的,在上步过程结束后,若想对关键词进行更精确提取,可以对初步关键词中的单词进行判断是否属于预设的领域标准,踢出有意义的单词。

具体来说,假设以下三个类别的单词为领域标准:

(1)符合英文基本语义的单词,如:applebanana

(2)计算机领域的专业词汇,如:dnsdhcp

(3)对于特定的日志集,常出现的的特殊表示,如:zte

若单词不属于以上三种类别中的任何一个,则剔除出关键词表。

s6123、将单条日志做成一个n维向量,其中,n为日志关键词词典的单词数量,每一维向量代表日志关键词词典中的一个单词,初始值都设为假值。

s6124、对日志关键词词典的单词做统计,若某个单词在单条日志中出现过,则将该单词对应维度的值更新为真值,得到日志向量。

s613、将日志向量与模板向量进行匹配出类别。

请参考图9,本步骤s613进一步包括:

s6131、分别对日志模板向量和日志向量进行相同的哈希操作,得到各自的哈希表;

s6132、日志向量的哈希值与某条模板向量的哈希值相同时,则将该日志分类到该条模板向量的哈希值对应的标签下。

具体的,通过hash值判断得到的向量vector_msg是否和某条已有分类的样本的向量相同:若相同则将该msg分类到其hash值对应的已有label下,分类成功;若无法匹配则将msg分类到[未识别]类中,分类不成功,继续进行主干提取算法。需要说明的是,本实施例的哈希运算只是举例说明,实际匹配方式包括但不限于采用哈希方式。

s62、判断分类是否成功,如果是,转至步骤步骤s65,否则执行步骤s63。

具体的,利用分类模板对日志进行分类时,对于在日志分类过程中不能与分类模板匹配的日志、划分到[未识别]类的日志(即分类失败的日志)中,后继进入聚类过程,对其进行主干提取处理,根据新提取的主干再对其进行分类。

s63、对分类失败的日志数据进行主干提取,生成新的分类模板。

需要说明的是,本步骤s63中的对分类失败的日志数据进行主干提取的方式可以采用上述实施例一的方法进行,这里不再重述。

在对分类失败的日志进行主干提取之后,将提取的新主干作为新分类模板加入已有分类模板中。已有的分类模板可以表示为一个类别集合,类别中包含多条日志模板,表示和该日志模板相同的日志应属于这一类。当且仅当新提取的主干同一个类别中的所有日志模板的最长公共子序列占原始日志比例大于设定的阈值rt时,将新主干加入分类模板中的该类别。

s64、根据新的分类模板对失败的日志数据进行分类。

本步骤s64的方法与上述步骤s61的方法相同,上述步骤s61的方法在本步骤中均能对应适用,不同的仅仅是使用的分类模板不一样,这里不再重述。

s65、结束流程。

本发明实施例中,利用分类模板对日志进行分类时,对分类未成功日志进行主干提取,生成新的分类模板,并使用新的分类模板再对分类失败的日志数据进行分类,整个过程无需人工参与,帮助相关领域的技术人员快速准确地将大量日志中同类型的日志归为一类,从而为日志的后续处理工作提供了方便。

此外,本发明实施例还提供了一种设备,该设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时,实现上述日志的主干提取方法的步骤。

此外,本发明实施例还提供了一种设备,该设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时,实现上述日志的分类方法的步骤。

另外,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现上述日志的主干提取方法的步骤,和/或实现上述日志的分类方法的步骤。

需要说明的是,上述设备和计算机可读存储介质,与日志文件分类方法实施例属于同一构思,其具体实现过程详细见方法实施例,且方法实施例中的技术特征在设备和计算机可读存储介质均对应适用,这里不再赘述。

本发明实施例提供的日志的主干提取方法、分类方法、设备及存储介质,克服了相关技术中存在的需要人为辅助的缺陷,通过自适应查找聚类数目,实现自动对日志进行主干提取与分类。并且,能使短日志中的词也能分配到较大权重,从而在不同类型的日志数据集上都能取得良好的效果;此外,还通过主干提取前先对日志数据进行压缩再处理,很大程度上减少了需要在非线性时间内处理的数据量,提高了分类的效率。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。

在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1