用于对日志进行分类的方法及装置与流程

文档序号:18030130发布日期:2019-06-28 22:34阅读:213来源:国知局
用于对日志进行分类的方法及装置与流程

本申请涉及数据分类领域,具体涉及一种用于对日志进行分类的方法及装置。



背景技术:

随着云计算、大数据时代的到来,各式各样的日志(例如访问日志、系统日志、程序日志)的种类和规模大大增加。而这些日志是安全防御、入侵检查、系统分析、程序异常检查等各个领域所依赖的基础。日志量的增大也随之增加各种检测的难度,特别是部分需要人机交互的分析和检查。

在大量的日志中,往往有很多日志是非常相似的,相似度比较高的日志可以归为一类,从而将整体的日志划分成多个有代表性的日志pattern(日志模式)。现有技术下,通用的聚类算法中的划分法,在一定程度上,也可以对日志进行聚类,将相似度比较高的日志聚类在一起,比如k-means算法。

k-means算法接受数据输入量k,将确定的n个数据对象划分成k类,同一个聚类中的相似度比较高(在日志场景中,就是同一类日志比较相似)。其基本工作过程如下:

1.从n个对象中随意选取k个(日志)作为初始聚类中心,而对剩余的日志分别计算和这k个聚类中的距离(日志的相似度),将这些对象(日志)归类到距离最近的中心。

2.计算出每个聚类中新的聚类中心,该聚类中心为所有对象的均值。

3.不断重复这一个过程,直到标准测试函数收敛为止。

k-means算法存在以下缺陷:

1.k-means算法的划分法,首先需要确定全体数据集n,和需要划分的k个分类。在对日志场景中,这个条件往往不能确定,日志内容是实时产生的,同时在进行划分之前,也不能确定到底会有多少个合适的分类k;由于此算法不支持增量更新,初始的全体数据集n必须提前确定,导致了计算的结果是静态的,当有新的日志产生时,不能随着输入的逐步增加变化而动态计算、修正结果。因此此算法并不适合日志增量更新的场景。

2.使用k-means算法进行分类,复杂度高,不适合日志规模比较大的场景。

综上所述,现有技术对日志进行分类的方法存在不适合日志规模比较大的场景以及不适合日志增量更新的场景的缺陷。



技术实现要素:

本申请提供一种用于对日志进行分类的方法,以解决现有技术对日志进行分类的方法存在不适合日志规模比较大的场景以及不适合日志增量更新的场景的问题。本申请另外提供一种用于对日志进行分类的装置。

本发明提供的一种用于对日志进行分类的方法,其包括:

获取日志;

将所述日志对应的日志模式归入日志模式集合中;

确定所述日志模式集合中日志模式数量超过设定阈值时,对日志模式集合中日志模式根据相似度进行分类,形成更新的日志模式集合。

可选的,所述获取日志包括:

逐一获取日志;或者

连续获取设定数目的日志。

可选的,所述将所述日志对应的日志模式归入日志模式集合中包括:

获取所述日志的日志模式;

将所述日志对应的日志模式放入日志模式集合中。

可选的,所述将所述日志对应的日志模式归入日志模式集合中,包括:

判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式;

若匹配,将所述日志归约到匹配成功的已有日志模式中;

若不匹配,将所述日志对应的日志模式放入日志模式集合中。

可选的,所述满足归约条件的已有日志模式,包括:

所述已有日志模式包含的词的数量满足预设词数量;以及

所述已有日志模式对应的日志条数超过预设日志条数。

可选的,所述判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式,包括:

对日志模式集合中的已有日志模式按照日志模式包含词的数量进行排序;

将所述日志依次与排好序的日志模式进行匹配,若匹配成功,则判断为所述日志匹配日志模式集合中的满足归约条件的已有日志模式。

可选的,所述对日志模式集合中的已有日志模式按照日志模式包含词的数量进行排序,包括:

对日志模式集合中的已有日志模式按照日志模式包含词的数量进行由多到少进行排序;

或者

对日志模式集合中的已有日志模式按照日志模式包含词的数量进行由少到多进行排序。

可选的,所述判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式,包括:

将日志模式与日志模式集合中已有日志模式逐一进行匹配;若存在匹配成功日志模式,则判断为日志的日志模式是否匹配日志模式集合中的满足归约条件的已有日志模式。

可选的,,判断匹配是否成功,包括:

将日志模式中的词与所述日志的词进行顺序匹配查询,如果日志模式所有的词都能按顺序在所述日志中查询成功,则判断为匹配成功。

可选的,所述对日志模式集合中日志根据相似度进行分类,形成更新的日志模式集合,包括:

根据日志模式集合中的日志模式相似度是否大于或等于预设相似度阈值对日志模式进行分类;

针对每个分出的类,执行如下操作:

从该类所有的日志模式中提取出相同的部分作为所述类的日志模式;

将所述类的日志模式存入日志模式集合中,形成更新的日志模式集合。

可选的,所述根据日志模式集合中的日志模式相似度是否大于或等于预设相似度阈值对日志模式进行分类,包括:

根据所述日志模式集合中的日志模式的哈希码,将所述日志模式集合中的日志模式相似度大于或等于预设相似度阈值的日志模式分为一类。

可选的,所述预设相似度阈值,包括:两个日志模式的哈希码相同或者相差的bit位不超过预设值。

可选的,所述根据所述日志模式集合中的日志模式的哈希码,将所述日志模式集合中的日志模式相似度大于或等于预设相似度阈值的日志模式分为一类,包括:

计算所述日志模式集合中的每个日志模式对应的哈希码;

将所对应的哈希码相同或者相差的bit位不超过预设值的日志模式划分成一类。

可选的,所述计算所述日志模式集合中的每个日志模式的哈希码,包括:

统计所述日志模式集合中的日志模式中每个词出现的次数;

根据每个词出现的次数为所述词设置权重;

根据每个词的权重计算日志模式的哈希码。

可选的,所述从该类所有的日志模式中提取出相同的部分作为该类的日志模式,包括:

从该类所有的日志模式中提取出最长公共子串,将未划入公共子串的词用预设符号代替,作为该类的日志模式。

可选的,还包括:

在满足设定的时间条件时,对所述日志模式集合或更新的日志模式集合中的日志模式进行再分类。

可选的,所述再分类的分类方法与所述形成更新的日志模式集合的根据相似度进行分类的方法相同。

此外,本申请还提供一种用于对日志进行分类的装置,其包括:

获取单元,用于获取日志;

归入单元,用于将所述获取的日志对应的日志模式归入日志模式集合中;

分类单元,用于确定所述日志模式集合中日志模式数量超过设定阈值时,对日志模式集合中日志模式根据相似度进行分类,形成更新的日志模式集合。

与现有技术相比,本申请的其中一个方面具有以下优点:

本申请提供的一种用于对日志进行分类的方法,包括:获取日志;将所述日志对应的日志模式归入日志模式集合中;判断所述日志模式集合中的日志模式数量超过设定阈值时,对日志模式集合中日志模式根据相似度进行分类,形成更新的日志模式集合。本申请提供的用于对日志进行分类的方法,不需要提前知道日志的全体数据集n和和需要划分的k个分类,本方案中更新的日志模式集合中的k个分类,是在根据相似度进行分类后获得的,因此本方案不仅可以对存量日志进行分类,也能对实时产生的增量日志进行分类,适应场景更广泛;另外,采用本方案对日志进行分类,与k-means算法相比,复杂度也显著降低。优选方案中,通过将日志归约到已经存在的日志模式中,可提高分类的效率。

附图说明

图1是本申请第一实施例提供的一种用于对日志进行分类的方法的流程图。

图2是本申请的第一实施例提供的将所述日志对应的日志模式归入日志模式集合中的流程图。

图3是本申请的第一实施例提供的对日志模式集合中所有日志模式根据相似度进行分类,形成更新的日志模式集合的流程图。

图4是本申请的第一实施例提供的根据所述日志模式集合中的日志模式的哈希码,将所述日志模式集合中的日志模式相似度大于或等于预设相似度阈值的日志模式分为一类的流程图。

图5是本申请第二实施例提供的一种用于对日志进行分类的装置的示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。

本申请第一实施例提供了一种用于对日志进行分类的方法。请参考图1,其示出了根据本申请的实施例提供的一种用于对日志进行分类的方法的流程图。以下结合图1进行详细说明。

步骤s101,获取日志。

本步骤提供分类日志的来源,是对日志进行分类的基础。

所述日志,通常指在机器或者各种设备上产生的表示某一事件发生的记录文字,包括访问日志、系统日志、程序日志等。例如“useralogininsuccess”。

所述日志,包括存量日志,例如已经生成的日志文件。也包括增量日志,通常指在程序运行中实时产生的日志。

获取日志包括:逐一获取日志;或者连续获取设定数目的日志。

逐一获取日志,通常用于增量日志的获取,如果日志为实时产生的,可以在日志产生时实时获取日志。

连续获取设定数目的日志,通常用于获取存在于日志文件的存量日志,可以通过连续读取日志文件设定数目的日志来获取。其中,设定数目可以由程序员根据实际情况来确定,例如,将设定数目设为1000,则连续获取1000条的日志。

在获取日志后,执行步骤s102。

步骤s102,将所述日志对应的日志模式归入日志模式集合中。

所述日志模式,通常指能够标识同一类事件的特征,由原始日志中最重要的词(term)和次要词(以*号代替)按照一定的顺序构成。

所述日志模式集合,通常包括本次归入的日志对应的日志模式和上次分类后更新的日志模式集合包含的日志模式。其中,所述更新的日志模式集合,可以指对日志模式集合中的所有日志模式分类后形成的新的日志模式组成的日志模式集合。

所述将所述日志对应的日志模式归入日志模式集合中可以采取如下方式:

获取所述日志的日志模式;

将所述日志对应的日志模式放入日志模式集合中。

此种方式将获取的每个日志所对应的日志模式都放入日志模式集合中参与分类,会降低分类的效率。

由于在很多情况下,获取的日志中存在相当数量的日志,都可以归约到日志模式集合中的已有日志模式中,如果将能够归约的日志先归约到已有日志模式,会极大提高分类的效率。因此,本实施例中提供了一种优选方案,将能够归约的日志先归约到已有日志模式,不能进行归约的日志再将所述日志对应的日志模式归入日志模式集合中。

将所述日志对应的日志模式归入日志模式集合中,包括:

判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式;

若匹配,将所述日志归约到匹配成功的已有日志模式中;

若不匹配,将所述日志对应的日志模式放入日志模式集合中。

请参见图2,其为本申请的第一实施例提供的将所述日志对应的日志模式归入日志模式集合中的流程图,具体包括步骤s102-1至s102-3。

步骤s102-1,判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式,若匹配,执行步骤s102-2,若不匹配,执行步骤s102-3。

所述满足归约条件的已有日志模式,需要满足如下条件:

所述已有日志模式包含的词的数量要大于预设词数量,并且所述已有日志模式对应的日志条数超过预设日志条数。其中,预设词数量和预设日志条数为算法参数,为的是确保进行匹配的已有日志模式是一个比较固定的,能够表达一定信息量(由日志模式包含的词的数量决定),并且对应多条日志的模式。只有这样的日志模式,才是有价值、值得归约匹配的日志模式,以防止出现误判。例如,将预设词数量设为5个;预设日志条数设为20。

所述判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式,包括以下步骤:

将所述日志模式与日志模式集合中已有日志模式逐一进行匹配;若存在匹配成功日志模式,则判断为所述日志的日志模式是否匹配日志模式集合中的满足归约条件的已有日志模式。

优选方案中,判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式的步骤如下:

对日志模式集合中的已有日志模式按照日志模式包含词的数量进行排序;

将所述日志依次与排好序的日志模式进行匹配,若匹配成功,则判断为所述日志匹配日志模式集合中的满足归约条件的已有日志模式。

所述对日志模式集合中的已有日志模式按照日志模式包含词的数量进行排序可以采用对日志模式集合中的已有日志模式按照日志模式包含词的数量进行由多到少进行排序的方式;或者对日志模式集合中的已有日志模式按照日志模式包含词的数量进行由少到多进行排序的方式。

判断匹配是否成功,包括:将日志模式中的词与所述日志的词进行顺序匹配查询,如果日志模式所有的词都能按顺序在所述日志中查询成功,则判断为匹配成功。

例如,满足归约条件的已有日志模式包括:

patterna:user*logininsuccess

patternb:user*logininfail

日志为c:useradminlogininsuccess

则日志c与patterna匹配成功,因为日志模式a中所有的词都能按顺序在所述日志中查询成功,而日志模式b中的“fail”在日志c中查询不到。

需要说明的是,最好采用对日志模式集合中的已有日志模式按照日志模式包含词的数量进行由多到少进行排序的方式,之所以将数量多的排在前面,是为了将日志进行更准确的归约。因为有些日志模式包含的词中一部分是相同的,比如两个日志模式的前6个词相同,其中第一个日志模式有6个词,第二个日志模式有10个词,如果一条日志包含10个词,如果日志模式没有进行排序,则当第一个日志模式中的6个词都在所述日志中查询成功,则判断为匹配成功就不够准确,如果第二个日志模式中的10个词也都在所述日志中查询成功,应该将所述日志归约到第二个日志模式更加准确,因此为了归约更准确,将包含词数量多的日志模式排在前面,在匹配时就会先匹配第二个日志模式,使匹配度更高。

步骤s102-2,将所述日志归约到匹配成功的已有日志模式中。

若判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式的结果为匹配,则将所述日志归约到匹配成功的已有日志模式中,与之匹配成功的日志模式所对应的日志数量增加了一条。

例如,步骤s102-1中,日志c与patterna匹配成功,则将日志c归约到匹配成功的patterna中。

步骤s102-3,将所述日志对应的日志模式放入日志模式集合中。

若判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式的结果为不匹配,则将所述日志对应的日志模式放入日志模式集合中,此时日志模式集合中增加了一个新的日志模式。

例如,如果日志“useradminlogininsuccess”经过匹配,没有在日志模式集合中找到匹配成功的日志模式,则将日志对应的日志模式“useradminlogininsuccess”放入到日志模式集合中,则日志模式集合中增加了一个新的日志模式“useradminlogininsuccess”。当下次进行分类时,这条新增加的日志模式也作为一个已经存在的模式参与分类。

步骤s103,确定所述日志模式集合中日志模式数量超过设定阈值时,对日志模式集合中日志模式根据相似度进行分类,形成更新的日志模式集合。

本步骤将相似度高的日志模式聚类在一起,减少了日志的种类。

所述日志模式集合中日志模式数量,可以指当前所述日志模式集合中的日志模式数量与上次分类后形成的更新的日志模式集合中的日志模式数量之差。

所述设定阈值,可以指对所述日志模式集合中的日志模式触发一次日志分类时的日志模式的最小数量。

只有在所述日志模式集合中日志模式数量达到设定阈值时,才触发一次日志分类。

所述日志模式集合中日志模式,包括上次分完类形成的更新的日志模式集合中的日志模式和本次新归入的日志模式。

对日志模式集合中所有日志模式根据相似度进行分类,形成更新的日志模式集合,包括:

根据日志模式集合中的日志模式相似度是否大于或等于预设相似度阈值对日志模式进行分类;

针对每个分出的类,执行如下操作:

从该类所有的日志模式中提取出相同的部分作为所述类的日志模式;

将所述类的日志模式存入日志模式集合中,形成更新的日志模式集合。

请参见图3,其为本申请的第一实施例提供的对日志模式集合中日志模式根据相似度进行分类,形成更新的日志模式集合的流程图,具体包括步骤s103-1至s103-3。

步骤s103-1,根据日志模式集合中的日志模式相似度是否大于或等于预设相似度阈值对日志模式进行分类。

本步骤将日志模式集合中存在的日志模式根据相似度划分成多个日志模式,相似度高的日志模式被划分成一类。

所述预设相似度阈值,通常指程序员根据分类的要求设置的表征日志模式相似程度的最小值。如果两个日志模式的相似度大于或等于预设相似度阈值,则确定为两个日志模式相似,就可把他们划分成一类。如果多个日志模式的相似度大于或等于预设相似度阈值,则将多个日志模式划分成一类。

所述根据日志模式集合中的日志模式相似度是否大于或等于预设相似度阈值对日志模式进行分类,包括:根据所述日志模式集合中的日志模式的哈希码,将所述日志模式集合中的日志模式相似度大于或等于预设相似度阈值的日志模式分为一类。

当根据日志模式的哈希码进行分类时,所述预设相似度阈值,包括:两个日志模式的哈希码相同或者相差的bit位不超过预设值。其中,所述预设值为算法参数,例如:设置为1位,当设置为1位时,如果两个日志模式的哈希码相同或者相差的bit位为1位,则两个日志模式相似度大于或等于预设相似度阈值,可以划分为一类;如果两个日志模式的哈希码相差的bit位为2位及以上,则两个日志模式相似度小于预设相似度阈值,不能划分为一类。

根据所述日志模式集合中的日志模式的哈希码,将所述日志模式集合中的日志模式相似度大于或等于预设相似度阈值的日志模式分为一类,包括下述步骤:

计算所述日志模式集合中的每个日志模式对应的哈希码;

将所对应的哈希码相同或者相差的bit位不超过预设值的日志模式划分成一类。

请参见图4,其为本申请的第一实施例提供的根据所述日志模式集合中的日志模式的哈希码,将所述日志模式集合中的日志模式相似度大于或等于预设相似度阈值的日志模式分为一类的流程图,具体包括步骤s103-1-1至s103-1-2。

步骤s103-1-1,计算所述日志模式集合中的每个日志模式对应的哈希码。

根据所有日志模式集合中的日志模式中出现词的顺序和次数,计算出每个日志模式的hashcode(64位签名)。所述词通常指日志中一个个独立的、能表示具体的日志语义信息的单词或词语。例如:日志“userfoologininsuccess”中的“user”、“foo”、“login”等都是词。

具体步骤如下:

1).对于所有的需要进行分类计算的日志模式中所有的词,统计每个词出现的次数term_count。

2).为每个词设置权重,如果此词是数字,则权重为0,否则此词的权重是log(term_count/total*c_t),(term_count是这个词出现的次数,total表示所有词的个数,c_t是算法参数,设置参数c_t的目的是为了使得一个日志计算出来的hash值是比较稳定,由大多数出现次数比较多的词决定,防止个别词对最终的结果产生过大的偏差。参数c_t根据多种实验决定,使用不同的值,可以调整算法对于各个词权重的影响。每个词出现的次数越多,权重越大;出现的次数越少,权重越小。

假设日志模式集合中有3个日志模式:

patterna:userfoologininsuccess

patternb:userbarlogininsuccess

patternc:userxxxlogininsuccess

根据词出现的次数,“foo、bar、xxx”三个词的权重比日志模式中的其他词小。

3).每一个日志模式的hashcode计算过程如下:

1.初始为64位的数字v[64]={0};

2.针对日志模式中的每一个词(假设权重为w),计算出一个64位的hash值,如果第i位为1,则v[i]上加上w,否则v[i]减去w;

3.所有的词计算完成后,如果v[i]的值为正数,则最终日志模式code中的第i位为1,否则为0。这样可以获取日志模式最终的hashcode(哈希码)。

步骤s103-1-2,将所对应的哈希码相同或者相差的bit位不超过预设值的日志模式划分成一类。

在通过s103-1-1计算出日志模式集合中每一个日志模式所对应的哈希码后,可以根据日志模式所对应的哈希码将日志模式进行归类。将日志模式集合中的所有日志模式对应的哈希码进行比较,将哈希码相同或者相差的bit位不超过预设值的日志模式划分成一类。

以上介绍了根据日志模式的哈希码将所述日志模式集合中的日志模式根据相似度化分成多个类的方法,在将日志模式集合中的日志模式划分为多个类后,为了减少日志模式的数量,需要将每个日志模式类中的相同的部分提取出来作为所述类的日志模式。

步骤s103-2,从该类所有的日志模式中提取出相同的部分作为所述类的日志模式。

从该类所有的日志模式中提取出相同的部分作为所述类的日志模式,可以指提取该类中包含的所有日志模式相同的最长公共子串作为所述类的日志模式,那些未划入公共子串的词,用通配符“*”代替。

例如,划分成的某类包含下述三个日志模式,则三个日志模式的相同部分为“user*logininsuccess”

patterna:userfoologininsuccess

patternb:userbarlogininsuccess

patternc:userxxxlogininsuccess

则将“user*logininsuccess”作为类的日志模式。

步骤s103-3,将所述类的日志模式存入日志模式集合中,形成更新的日志模式集合。

在获取了每个类所对应的类的日志模式后,将每个类的日志模式放入一个新的日志模式集合中,形成更新的日志模式集合。

例如,假设原有日志为“user1logininsuccess”、“user2logininsuccess”、……直到“user1000logininsuccess”,原有日志中存在1000条相似度很高的日志,通过将它们进行分类,分成了“user*logininsuccess”日志模式并将其存储在日志模式集合中,1000个日志聚合成为了一个日志模式,明显减少了日志的种类。

以上介绍了将日志模式分类的过程,通过将相似度高的日志聚合成一类,并针对每一个类提取出类的日志模式,更新的日志模式集合中的日志模式的数量与原始的日志文件中的日志条数相比明显减少,因此程序员在根据日志模式集合查找问题时相对于原始的日志文件会方便很多。例如,如果一个日志文件包含10000条日志,在没有分类前排查问题很不方便,在分类后只剩下100个日志模式存在于日志模式集合,给排查问题带来了极大便利。

对于获取的每条日志,迭代执行步骤s102、步骤s103,当满足设定时间结束条件时,需要对所述日志模式集合或更新的日志模式集合中的日志模式进行再分类。所述再分类的分类方法与所述形成更新的日志模式集合的根据相似度进行分类的方法相同。

具体的,当满足时间结束条件时,即使所述日志模式集合中未分类日志模式数量未超过设定阈值,此时也需要对所述日志模式集合再触发一次分类;有时最后一次获取的日志会全部归约入上一次的更新的日志模式集合中的日志模式,此时再次分类的对象为更新的日志模式集合。

与上述用于对日志进行分类的方法相对应的,本申请还提供了一种用于对日志进行分类的装置。由于所述装置的实施例基本相似于方法的实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。所述用于对日志进行分类的装置实施例如下:

请参考图5,其示出了根据本申请的第二实施例提供的一种用于对日志进行分类的装置的示意图。

所述用于对日志进行分类的装置包括:获取单元501、归入单元502、、分类单元503。

获取单元501,用于获取日志;

归入单元502,用于将所述获取的日志对应的日志模式归入日志模式集合中;

分类单元503,用于确定所述日志模式集合中的日志模式数量超过设定阈值时,对日志模式集合中日志模式根据相似度进行分类,形成更新的日志模式集合。

可选的,所述获取单元包括:

逐一获取子单元,用于逐一获取待分类的日志;或者

连续获取子单元,用于连续获取设定数目的日志。

可选的,所述归入单元包括:

获取子单元,用于获取所述日志的日志模式;

放入子单元,将所述日志对应的日志模式放入日志模式集合中。

可选的,所述归入单元包括:

判断子单元,用于判断所述日志是否匹配日志模式集合中的满足归约条件的已有日志模式;

归约子单元,用于当判断子单元的输出结果为是时,将所述日志归约到匹配成功的已有日志模式中;

放入子单元,用于当判断子单元的输出结果为否时,将所述日志对应的日志模式放入日志模式集合中。

可选的,所述满足归约条件的已有日志模式,包括:

所述已有日志模式包含的词的数量满足预设词数量;以及

所述已有日志模式对应的日志条数超过预设日志条数。

可选的,所述判断子单元,包括:

排序子单元,用于对日志模式集合中的已有日志模式按照日志模式包含词的数量进行排序;

匹配子单元,用于将所述日志依次与排好序的日志模式进行匹配,若匹配成功,则判断为所述日志匹配日志模式集合中的满足归约条件的已有日志模式。

可选的,所述排序子单元包括

递减排序子单元,用于对日志模式集合中的已有日志模式按照日志模式包含词的数量进行由多到少进行排序;

或者

递增排序子单元,用于对日志模式集合中的已有日志模式按照日志模式包含词的数量进行由少到多进行排序。

可选的,所述判断子单元,具体用于将日志模式与日志模式集合中已有日志模式逐一进行匹配;若存在匹配成功日志模式,则判断为日志的日志模式是否匹配日志模式集合中的满足归约条件的已有日志模式。

可选的,所述判断匹配是否成功,包括:

将日志模式中的词与所述日志的词进行顺序匹配查询,如果日志模式所有的词都能按顺序在所述日志中查询成功,则判断为匹配成功。

可选的,所述分类单元,包括:

分类子单元,用于根据日志模式集合中的日志模式相似度是否大于或等于预设相似度阈值对日志模式进行分类;

提取子单元,用于从每个分出的类所有的日志模式中提取出相同的部分作为所述类的日志模式;

存入子单元,用于将所述类的日志模式存入日志模式集合中,形成更新的日志模式集合。

可选的,所述分类子单元,具体用于:

根据所述日志模式集合中的日志模式的哈希码,将所述日志模式集合中的日志模式相似度大于或等于预设相似度阈值的日志模式分为一类。

可选的,所述预设相似度阈值,包括:两个日志模式的哈希码相同或者相差的bit位不超过预设值。

可选的,所述分类子单元,包括:

计算子单元,用于计算所述日志模式集合中的每个日志模式对应的哈希码;

划分子单元,用于将所对应的哈希码相同或者相差的bit位不超过预设值的日志模式划分成一类。

可选的,所述计算子单元,包括:

统计子单元,用于统计所述日志模式集合中的日志模式中每个词出现的次数;

设置子单元,用于根据每个词出现的次数为所述词设置权重;

计算子单元,用于根据每个词的权重计算日志模式的哈希码。

可选的,所述提取子单元,具体用于:

从该类所有的日志模式中提取出最长公共子串,将未划入公共子串的词用预设符号代替,作为该类的日志模式。

可选的,所述装置还包括:

再分类单元。用于在满足设定的时间条件时,对所述日志模式集合或更新的日志模式集合中的日志模式进行再分类。

可选的,所述再分类单元中再分类的分类方法与所述分类单元中根据相似度进行分类的方法相同。

本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本领域技术人员应明白,本申请实施例可提供为方法、系统或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

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