CN110019987B - 一种基于决策树的日志匹配方法和装置 - Google Patents

一种基于决策树的日志匹配方法和装置 Download PDF

Info

Publication number
CN110019987B
CN110019987B CN201811436240.0A CN201811436240A CN110019987B CN 110019987 B CN110019987 B CN 110019987B CN 201811436240 A CN201811436240 A CN 201811436240A CN 110019987 B CN110019987 B CN 110019987B
Authority
CN
China
Prior art keywords
node
rule
attribute
nodes
decision tree
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
CN201811436240.0A
Other languages
English (en)
Other versions
CN110019987A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201811436240.0A priority Critical patent/CN110019987B/zh
Publication of CN110019987A publication Critical patent/CN110019987A/zh
Application granted granted Critical
Publication of CN110019987B publication Critical patent/CN110019987B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于决策树的日志匹配方法和装置,该方法包括:构建决策树;其中,所述决策树的每层包括:属性节点以及与所述属性节点相对应的规则节点;定位至与日志数据相对应的所述属性节点,以得到该层的与所述属性节点相对应的规则节点;如果该层的所述规则节点为子树,则根据所述子树的下一层的属性节点继续定位;如果该层的所述规则节点为叶节点,则确定所述规则节点的规则与所述日志数据相匹配。本发明提供的基于决策树的日志匹配方法和装置,其计算性能相比于现有技术方案提高了1000倍,可以极大地提升运行效率。

Description

一种基于决策树的日志匹配方法和装置
技术领域
本发明涉及信息技术领域,尤其涉及一种基于决策树的日志匹配方法和装置。
背景技术
在一份日志中,可能会对应非常多的业务场景,每个业务场景是日志的字段的枚举的组合,因此,每条日志都会对所有业务场景进行循环匹配,然后得到这条日志属于的业务场景的集合,以进行下一步计算。例如某日志进入系统,则会与各个规则进行循环匹配,最终得到匹配这条日志的规则。当业务规则达到上万级别时,则每条日志会循环上万次进行匹配,浪费大量计算资源。其计算时间复杂度正比于业务规则的数量,例如有M个业务规则,计算一条日志的时间复杂度为o(M)。
发明内容
本发明的一个目的是提供一种基于决策树的日志匹配方法和装置,以解决现有的日志匹配方法浪费大量计算资源的问题。
根据本发明的第一方面,提供一种基于决策树的日志匹配方法,包括:
构建决策树;其中,所述决策树的每层包括:属性节点以及与所述属性节点相对应的规则节点;
定位至与日志数据相对应的所述属性节点,以得到该层的与所述属性节点相对应的规则节点;
如果该层的所述规则节点为子树,则根据所述子树的下一层的属性节点继续定位;
如果该层的所述规则节点为叶节点,则确定所述规则节点的规则与所述日志数据相匹配。
进一步,本发明所述的方法,所述构建决策树的步骤包括:
以所述日志数据分类确定所述属性节点;
遍历所有所述属性节点,以与所述属性节点相对应的全部规则作为规则节点;
以权重最大的属性作为所述属性节点中的根节点;
如果所述规则节点包括一个规则,则确定所述规则节点为叶节点;
如果所述规则节点包括至少两个规则,则确定所述规则节点为子树;
选取除上层外的权重最大的属性作为所述子树的下一层的所述属性节点。
进一步,本发明所述的方法,所述构建决策树的步骤还包括:
当所述决策树的深度大于等于属性的数量时,确定该层的所述规则节点为叶节点。
进一步,本发明所述的方法,所述决策树的每层还包括空节点;
所述构建决策树的步骤还包括:
将无法与属性节点相对应的规则作为与所述空节点对应的规则节点。
进一步,本发明所述的方法,所述权重为规则节点的下一层的分支的数量。
进一步,本发明所述的方法,还包括:
对与所述日志数据相匹配的规则进行合并去重。
根据本发明的第二方面,提供一种基于决策树的日志匹配装置,包括:
决策树模块,用于构建决策树;其中,所述决策树的每层包括:属性节点以及与所述属性节点相对应的规则节点;
属性节点模块,用于定位至与日志数据相对应的所述属性节点,以得到该层的与所述属性节点相对应的规则节点;
规则节点模块,用于:
如果该层的所述规则节点为子树,则根据所述子树的下一层的属性节点继续定位;
如果该层的所述规则节点为叶节点,则确定所述规则节点的规则与所述日志数据相匹配。
进一步,本发明所述的装置,所述决策树模块具体用于:
以所述日志数据分类确定所述属性节点;
遍历所有所述属性节点,以与所述属性节点相对应的全部规则作为规则节点;
以权重最大的属性作为所述属性节点中的根节点;
如果所述规则节点包括一个规则,则确定所述规则节点为叶节点;
如果所述规则节点包括至少两个规则,则确定所述规则节点为子树;
选取除上层外的权重最大的属性作为所述子树的下一层的所述属性节点。
进一步,本发明所述的装置,所述决策树模块还用于:
当所述决策树的深度大于等于属性的数量时,确定该层的所述规则节点为叶节点。
进一步,本发明所述的装置,所述决策树的每层还包括空节点;
所述决策树模块还用于:将无法与属性节点相对应的规则作为与所述空节点对应的规则节点。
进一步,本发明所述的装置,所述权重为规则节点的下一层的分支的数量。
进一步,本发明所述的装置,还包括:
去重模块,用于对与所述日志数据相匹配的规则进行合并去重。
根据本发明的第三方面,提供一种存储介质,所述存储介质存储计算机程序指令,所述计算机程序指令根据本发明所述的方法进行执行。
根据本发明的第四方面,提供一种计算设备,包括:用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述计算设备执行本发明所述的方法。
本发明提供的基于决策树的日志匹配方法和装置,可以将现有的o(M)的时间复杂度优化为o(lgN(M))。其中,N表示平均子树宽度。以现有的循环遍历规则的方案为例,一条日志需要100ms的计算时间,而通过本发明的技术方案,一条日志遍历全部规则所需的时间约为100us,其计算性能相比于现有技术方案提高了1000倍,可以极大地提升运行效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明实施例一的基于决策树的日志匹配方法的流程示意图;
图2为本发明实施例一的决策树的结构示意图;
图3为本发明实施例三的构建决策树步骤的流程示意图;
图4为本发明实施例的属性节点和规则节点的示意图;
图5为本发明实施例的规则节点(r2、r3、r7)选择下一层属性节点的示意图;
图6为本发明实施例的规则节点(r5、r6)选择下一层属性节点的示意图;
图7为本发明实施例的基于决策树的日志匹配装置的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1为本发明实施例一的基于决策树的日志匹配方法的流程示意图,如图1所示,本发明实施例一提供的基于决策树的日志匹配方法,包括:
步骤S101,构建决策树;其中,所述决策树的每层包括:属性节点以及与所述属性节点相对应的规则节点。
步骤S102,定位至与日志数据相对应的所述属性节点,以得到该层的与所述属性节点相对应的规则节点。
步骤S103,如果该层的所述规则节点为子树,则根据所述子树的下一层的属性节点继续定位。
步骤S104,如果该层的所述规则节点为叶节点,则确定所述规则节点的规则与所述日志数据相匹配。
图2为本发明实施例一的决策树的结构示意图,如图2所示,构建得到的决策树包括若干层,例如第一层和第二层。每一层均包括:属性节点11和规则节点12。其中,每个属性节点11均设有与该属性节点相对应的规则节点12,例如,第一层的属性节点A设有对应的规则节点(r1)、规则节点(r2、r3、r7)、规则节点(r4)等。具体地,属性节点包括若干日志数据。属性节点A的日志数据(a2)设有对应的规则节点(r1),属性节点A的日志数据(a3)设有对应的规则节点(r2、r3、r7)。其中,规则节点分为两类,子树和叶节点。若规则节点仅包括一个规则,该规则节点为叶节点,如规则节点(r1),该规则节点仅包括一个规则r1,该规则节点(r1)为叶节点。叶节点为决策树的一个分支的终点,叶节点的下一层不再具有分支,例如作为叶节点的规则节点(r1)为分支(a2至r1)的终点,规则节点(r1)在下方的第二层的不再具有其他分支。若规则节点包括至少两个规则,该规则节点为子树,如规则节点(r2、r3、r7),该规则节点包括r2、r3和r7共三个规则,该规则节点(r2、r3、r7)为子树。子树的下一层具有另一属性节点的分支,例如,作为子树的规则节点(r2、r3、r7)在下方的第二层具有属性节点C。属性节点C设有对应的规则节点(r2)、规则节点(r3)等。具体地,属性节点C的日志数据(c1)设有对应的规则节点(r2),属性节点C的日志数据(c2)设有对应的规则节点(r2),属性节点C的日志数据(c3)设有对应的规则节点(r3)。属性节点C对应的规则节点(r2)、规则节点(r3)均为叶节点。
例如,有一份日志数据包含4个字段:time,A,b,C。该日志数据具体如下:
2018-04-08 00:00:00,a1,b1,c1
2018-04-08 00:00:00,a2,b2,c3
2018-04-08 00:00:00,a3,b1,c2
2018-04-08 00:00:00,a4,b2,c1
2018-04-08 00:00:00,a2,b1,c1
2018-04-08 00:00:00,a1,b2,c2……
其中,A表示a1、a2、a3、a4的属性,B表示b1、b2的属性,C表示的c1、c2、c3属性,time表示时间。
设与该份日志数据相关的业务规则条件如下:
业务1(r1)A in(a1,a2)and B in(b1)
业务2(r2)A in(a3,a4)and B in(b1)and c in(c1,c2)
业务3(r3)A in(a3)and B in(b2)and C in(c3)
业务4(r4)A in(a4)and C in(c1)
业务5(r5)C in(c2,c3)
业务6(r6)B in(b1)
业务7(r7)A in(a3)
其中,r1、r2、……、r7表示业务规则。
如按照现有技术的匹配方法,当日志数据2018-04-08 00:00:00,a1,b1,c1进入系统,则会循环进行r1-r7的规则匹配,最终得到r1,r6这两个规则匹配这条日志,然后进行计算。当业务规则达到上万级别时,则每条日志会循环上万次进行匹配,浪费了大量计算资源。
而根据本发明实施例一的决策树,当日志数据2018-04-0800:00:00,a2,b2,c3进入系统,根据图2所示的决策树以及日志数据a2的属性A,定位到决策树第一层的属性节点A,对a2匹配得到规则节点(r1),规则节点(r1)为叶节点,则确定日志数据a2与规则节点(r1)的规则r1相匹配。当日志数据2018-04-08 00:00:00,a3,b1,c2进入系统,根据图2所示的决策树以及日志数据a3的属性A,定位到决策树第一层的属性节点A,对a3匹配得到规则节点(r2、r3、r7)。规则节点(r2、r3、r7)为子树,则继续定位至规则节点(r2、r3、r7)下方决策树第二层的属性节点C,对c2匹配得到属性节点C对应的规则节点(r2),属性节点C对应的规则节点(r2)为叶节点,进而确定日志数据c2与决策树第二层的属性节点C对应的规则节点(r2)的规则r2相匹配。
以现有的循环遍历规则的方案为例,一条日志需要100ms的计算时间,而通过本发明的技术方案,一条日志遍历全部规则所需的时间约为100us,其计算性能相比于现有技术方案提高了1000倍。
可选地,本发明实施例一提供的基于决策树的日志匹配方法还包括:对与所述日志数据相匹配的规则进行合并去重。
可选地,图2所示的决策树还包括空节点(null),将无法与属性节点相对应的规则作为与所述空节点对应的规则节点。例如属性节点A对应的日志数据包括:a1、a2、a3、a4,而业务规则r5、r6无法与属性A相匹配,也无法与属性节点A相对应,则将规则节点(r5、r6)作为与第一层的空节点(null)对应的规则节点。同理,第二层的空节点(null)具有对应的规则节点(r7)。第一层的规则节点(r5、r6)为子树,规则节点(r5、r6)下一层同样设有属性节点C。
其中,当日志数据2018-04-08 00:00:00,a2,b2,c3进入系统,根据图2所示的决策树以及日志数据a2的属性A,定位到决策树第一层的属性节点A,对a2匹配得到规则节点(r1)。并且根据第一层的空节点(null),匹配得到规则节点(r5、r6)。根据规则节点(r5、r6)下方第二层的属性节点C对应的日志数据c3,匹配得到规则节点(r5)。根据第二层的空节点(null)匹配得到规则节点(r6)。最终得到日志数据2018-04-0800:00:00,a2,b2,c3的匹配规则为r1、r5和r6。
当日志数据2018-04-08 00:00:00,a3,b1,c2进入系统,根据图2所示的决策树以及日志数据a3的属性A,定位到决策树第一层的属性节点A,对a3匹配得到规则节点(r2、r3、r7)。继续定位至规则节点(r2、r3、r7)下方决策树第二层的属性节点C,对c2匹配得到属性节点C对应的规则节点(r2),对规则节点(r2、r3、r7)下方属性节点C对应的空节点(null)匹配得到规则节点(r7)。并且根据第一层的空节点(null),匹配得到规则节点(r5、r6)。根据规则节点(r5、r6)下方第二层的属性节点C对应的日志数据c2,匹配得到规则节点(r5),根据规则节点(r5、r6)下方第二层的空节点(null)匹配得到规则节点(r6)。根据决策树以及实际日志,将各个叶节点(规则节点r2、规则节点r7、规则节点r5和规则节点r6)的规则合并后生成匹配集合,并对匹配集合做去重处理,最终得到日志数据2018-04-08 00:00:00,a3,b1,c2的匹配规则为r2、r7、r5和r6。
图3为本发明实施例三的构建决策树步骤的流程示意图,如图3所示,本发明实施例三的构建决策树的步骤包括:
步骤S301,以所述日志数据分类确定所述属性节点。
例如,对于如下日志数据:
2018-04-08 00:00:00,a1,b1,c1
2018-04-08 00:00:00,a2,b2,c3
2018-04-08 00:00:00,a3,b1,c2
2018-04-08 00:00:00,a4,b2,c1
2018-04-08 00:00:00,a2,b1,c1
2018-04-08 00:00:00,a1,b2,c2……
其中,a1、a2、a3、a4具有共同属性,则以基于共同属性的数据分类设立属性节点A。同理,基于b1、b2的共同属性设立属性节点B,基于c1、c2、c3的共同属性设立属性节点C。
步骤S302,遍历所有所述属性节点,以与所述属性节点相对应的全部规则作为规则节点。
例如,上述日志数据相关的业务规则如下:
业务1(r1)A in(a1,a2)and B in(b1)
业务2(r2)A in(a3,a4)and B in(b1)and c in(c1,c2)
业务3(r3)A in(a3)and B in(b2)and C in(c3)
业务4(r4)A in(a4)and C in(c1)
业务5(r5)C in(c2,c3)
业务6(r6)B in(b1)
业务7(r7)A in(a3)
图4为本发明实施例的属性节点和规则节点的示意图,如图4所示,基于属性节点A的日志数据a1、a2、a3、a4以及上述业务规则,生成了与属性节点A相对应的规则节点(r1)、规则节点(r2、r3、r7)、规则节点(r4)。基于属性节点B的日志数据b1、b2以及上述业务规则,生成了与属性节点B相对应的规则节点(r1、r2、r6)、规则节点(r3)。基于属性节点C的日志数据c1、c2、c3以及上述业务规则,生成了与属性节点C相对应的规则节点(r2、r4)、规则节点(r2、r5)、规则节点(r3、r5)。
可选地,将无法与属性节点A相对应的规则r5、r6作为与属性节点A的空节点(null)对应的规则节点(r5、r6)。将无法与属性节点B相对应的规则r4、r5、r7作为与属性节点B的空节点(null)对应的规则节点(r4、r5、r7)。将无法与属性节点C相对应的规则r6、r7作为与属性节点C的空节点(null)对应的规则节点(r6、r7)。
步骤S303,以权重最大的属性作为所述属性节点中的根节点。
其中,可以定义权重函数,以确定各属性节点之间的层级关系。本发明实施例的方法采用属性节点下的规则节点的数量作为权重。如图4所示,属性节点A及其空节点共设有五个规则节点,则属性节点A的权重weight=5。属性节点B及其空节点共设有三个规则节点,则属性节点B的权重weight=3。属性节点C及其空节点共设有四个规则节点,则属性节点C的权重weight=4。此时选取权重最大的属性节点A作为决策树的根节点。
步骤S304,如果所述规则节点包括一个规则,则确定所述规则节点为叶节点。
其中,规则节点分为两类,若规则节点仅包括一个规则,该规则节点为叶节点。如属性节点A的规则节点(r1),该规则节点仅包括一个规则r1,该规则节点(r1)为叶节点。叶节点为决策树的一个分支的终点,叶节点的下一层不再具有分支,例如作为叶节点的规则节点(r1)为分支(a1至r1)的终点,规则节点(r1)在下方的决策树第二层的不再具有其他分支。
步骤S305,如果所述规则节点包括至少两个规则,则确定所述规则节点为子树。
其中,若规则节点包括至少两个规则,该规则节点为子树。如属性节点A的规则节点(r2、r3、r7),该规则节点包括r2、r3和r7共三个规则,该规则节点(r2、r3、r7)为子树。子树的下一层具有另一属性节点的分支,
步骤S306,选取除上层外的权重最大的属性作为所述子树的下一层的所述属性节点。
其中,权重根据定义的权重函数确定。在本发明实施例的方法中,所述权重为规则节点的下一层的分支的数量,即属性节点和空节点共同对应的规则节点的数量。如图4所示,属性节点A及其空节点共设有五个规则节点,则属性节点A的权重weight=5。属性节点B及其空节点共设有三个规则节点,则属性节点B的权重weight=3。属性节点C及其空节点共设有四个规则节点,则属性节点C的权重weight=4。
图5为本发明实施例的规则节点(r2、r3、r7)选择下一层属性节点的示意图,图6为本发明实施例的规则节点(r5、r6)选择下一层属性节点的示意图,如图5所示,属性节点A对应的规则节点(r2、r3、r7)为子树,需要对其下一层属性节点进行选择,由于属性节点A已经作为根节点出现,所以只对属性节点B、C进行选择,如图5所示,属性节点B的权重weight=3,属性节点C的权重weight=4,所以选择属性节点C作为规则节点(r2、r3、r7)下一层的属性节点。同理,如图6所示,属性节点A的空节点(null)对应的规则节点(r5、r6)也为子树,属性节点B的权重weight=2,属性节点C的权重weight=3,因此选择属性节点C作为规则节点(r5、r6)下一层的属性节点,最后得到如图2所示的决策树。
在本发明一个实施例中,当所述决策树的深度大于等于属性的数量时,确定该层的所述规则节点为叶节点。
其中,决策树的深度即为决策树的层数,决策树的层数超过属性节点的数量时,说明决策树具有逻辑错误,所以此时切断决策树向下的决策分支。
在本发明一个实施例中,所述决策树的每层还包括空节点;
所述构建决策树的步骤还包括:
将无法与属性节点相对应的规则作为与所述空节点对应的规则节点。
其中,为每一层的属性节点设置对应的空节点,当有些规则没有通过该层属性节点匹配到对应规则时,例如对于根节点无法匹配的规则,通过空节点进行匹配,进一步提升决策树处理匹配的精确度。
图7为本发明实施例的基于决策树的日志匹配装置的结构示意图,如图7所示,本发明实施例的基于决策树的日志匹配装置,包括:决策树模块71、属性节点模块72和规则节点模块73。
决策树模块71,用于构建决策树;其中,所述决策树的每层包括:属性节点以及与所述属性节点相对应的规则节点。
属性节点模块72,用于定位至与日志数据相对应的所述属性节点,以得到该层的与所述属性节点相对应的规则节点。
规则节点模块73,用于:
如果该层的所述规则节点为子树,则根据所述子树的下一层的属性节点继续定位;
如果该层的所述规则节点为叶节点,则确定所述规则节点的规则与所述日志数据相匹配。
其中,所述决策树模块71具体用于:
以所述日志数据分类确定所述属性节点;
遍历所有所述属性节点,以与所述属性节点相对应的全部规则作为规则节点;
以权重最大的属性作为所述属性节点中的根节点;
如果所述规则节点包括一个规则,则确定所述规则节点为叶节点;
如果所述规则节点包括至少两个规则,则确定所述规则节点为子树;
选取除上层外的权重最大的属性作为所述子树的下一层的所述属性节点。
在本发明一个实施例中,所述决策树模块还用于:
当所述决策树的深度大于等于属性的数量时,确定该层的所述规则节点为叶节点。
在本发明一个实施例中,所述决策树的每层还包括空节点;
所述决策树模块71还用于:将无法与属性节点相对应的规则作为与所述空节点对应的规则节点。
在本发明一个实施例中,所述权重为规则节点的下一层的分支的数量。
在本发明一个实施例中,所述装置还包括:
去重模块74,用于对与所述日志数据相匹配的规则进行合并去重。
本发明实施例图7所示装置为本发明实施例图1和图3所示方法的实现装置,其具体原理与本发明实施例图1和图3所示方法相同,此处不再赘述。
在本发明一个实施例中,还提供一种存储介质,所述存储介质存储计算机程序指令,所述计算机程序指令根据本发明实施例的方法进行执行。
在本发明一个典型的配置中,计算设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。
在本发明一个实施例中,还提供一种计算设备,包括:用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述计算设备执行本发明实施例的方法。
计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的装置或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本发明的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (14)

1.一种基于决策树的日志匹配方法,其特征在于,包括:
构建决策树;其中,所述决策树的每层包括:属性节点以及与所述属性节点相对应的规则节点;
定位至与日志数据相对应的所述属性节点,以得到该层的与所述属性节点相对应的规则节点;
如果该层的所述规则节点为子树,则根据所述子树的下一层的属性节点继续定位;
如果该层的所述规则节点为叶节点,则确定所述规则节点的规则与所述日志数据相匹配。
2.根据权利要求1所述的方法,其特征在于,所述构建决策树的步骤包括:
以所述日志数据分类确定所述属性节点;
遍历所有所述属性节点,以与所述属性节点相对应的全部规则作为规则节点;
以权重最大的属性作为所述属性节点中的根节点;
如果所述规则节点包括一个规则,则确定所述规则节点为叶节点;
如果所述规则节点包括至少两个规则,则确定所述规则节点为子树;
选取除上层外的权重最大的属性作为所述子树的下一层的所述属性节点。
3.根据权利要求2所述的方法,其特征在于,所述构建决策树的步骤还包括:
当所述决策树的深度大于等于属性的数量时,确定该层的所述规则节点为叶节点。
4.根据权利要求2所述的方法,其特征在于,所述决策树的每层还包括空节点;
所述构建决策树的步骤还包括:
将无法与属性节点相对应的规则作为与所述空节点对应的规则节点。
5.根据权利要求4所述的方法,其特征在于,所述权重为规则节点的下一层的分支的数量,具体包括所述属性节点及其空节点共同对应的规则节点的数量。
6.根据权利要求1至5中任一项所述的方法,其特征在于,还包括:
对与所述日志数据相匹配的规则进行合并去重。
7.一种基于决策树的日志匹配装置,其特征在于,包括:
决策树模块,用于构建决策树;其中,所述决策树的每层包括:属性节点以及与所述属性节点相对应的规则节点;
属性节点模块,用于定位至与日志数据相对应的所述属性节点,以得到该层的与所述属性节点相对应的规则节点;
规则节点模块,用于:
如果该层的所述规则节点为子树,则根据所述子树的下一层的属性节点继续定位;
如果该层的所述规则节点为叶节点,则确定所述规则节点的规则与所述日志数据相匹配。
8.根据权利要求7所述的装置,其特征在于,所述决策树模块具体用于:
以所述日志数据分类确定所述属性节点;
遍历所有所述属性节点,以与所述属性节点相对应的全部规则作为规则节点;
以权重最大的属性作为所述属性节点中的根节点;
如果所述规则节点包括一个规则,则确定所述规则节点为叶节点;
如果所述规则节点包括至少两个规则,则确定所述规则节点为子树;
选取除上层外的权重最大的属性作为所述子树的下一层的所述属性节点。
9.根据权利要求8所述的装置,其特征在于,所述决策树模块还用于:
当所述决策树的深度大于等于属性的数量时,确定该层的所述规则节点为叶节点。
10.根据权利要求8所述的装置,其特征在于,所述决策树的每层还包括空节点;
所述决策树模块还用于:将无法与属性节点相对应的规则作为与所述空节点对应的规则节点。
11.根据权利要求10所述的装置,其特征在于,所述权重为规则节点的下一层的分支的数量,具体包括所述属性节点及其空节点共同对应的规则节点的数量。
12.根据权利要求7至11中任一项所述的装置,其特征在于,还包括:
去重模块,用于对与所述日志数据相匹配的规则进行合并去重。
13.一种存储介质,其特征在于,所述存储介质存储计算机程序指令,所述计算机程序指令根据权利要求1至6中任一项所述的方法进行执行。
14.一种计算设备,其特征在于,包括:用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述计算设备执行权利要求1至6中任一项所述的方法。
CN201811436240.0A 2018-11-28 2018-11-28 一种基于决策树的日志匹配方法和装置 Active CN110019987B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811436240.0A CN110019987B (zh) 2018-11-28 2018-11-28 一种基于决策树的日志匹配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811436240.0A CN110019987B (zh) 2018-11-28 2018-11-28 一种基于决策树的日志匹配方法和装置

Publications (2)

Publication Number Publication Date
CN110019987A CN110019987A (zh) 2019-07-16
CN110019987B true CN110019987B (zh) 2023-05-09

Family

ID=67188567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811436240.0A Active CN110019987B (zh) 2018-11-28 2018-11-28 一种基于决策树的日志匹配方法和装置

Country Status (1)

Country Link
CN (1) CN110019987B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147811A (zh) * 2011-03-22 2011-08-10 杭州华三通信技术有限公司 一种基于日志的系统性能分析方法和装置
CN102214213A (zh) * 2011-05-31 2011-10-12 中国科学院计算技术研究所 一种采用决策树的数据分类方法和系统
CN102281196A (zh) * 2011-08-11 2011-12-14 中兴通讯股份有限公司 决策树生成方法及设备、基于决策树报文分类方法及设备
CN102724059A (zh) * 2012-03-31 2012-10-10 常熟市支塘镇新盛技术咨询服务有限公司 基于MapReduce的网站运行状态监控与异常检测
CN104573024A (zh) * 2015-01-12 2015-04-29 国家电网公司 一种复杂网络体系下异构安全日志信息的自适应提取方法及系统
CN105306439A (zh) * 2015-09-17 2016-02-03 哈尔滨工程大学 一种基于决策树自修复的特征规则检测方法
CN105354588A (zh) * 2015-09-28 2016-02-24 北京邮电大学 一种构造决策树的方法
CN105550378A (zh) * 2016-02-04 2016-05-04 贵州电网有限责任公司信息中心 一种复杂网络体系下异构安全日志信息的提取与分析方法
CN105843924A (zh) * 2016-03-25 2016-08-10 南京邮电大学 一种认知计算中基于cart的决策树构建方法
CN105975604A (zh) * 2016-05-12 2016-09-28 清华大学 一种分布迭代式数据处理程序异常检测与诊断方法
CN107846366A (zh) * 2016-09-19 2018-03-27 中兴通讯股份有限公司 一种规则匹配方法和装置
CN108156166A (zh) * 2017-12-29 2018-06-12 百度在线网络技术(北京)有限公司 异常访问识别和接入控制方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015126845A1 (en) * 2014-02-18 2015-08-27 F5 Networks, Inc. Concurrent evaluation of large rule sets with conditions

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147811A (zh) * 2011-03-22 2011-08-10 杭州华三通信技术有限公司 一种基于日志的系统性能分析方法和装置
CN102214213A (zh) * 2011-05-31 2011-10-12 中国科学院计算技术研究所 一种采用决策树的数据分类方法和系统
CN102281196A (zh) * 2011-08-11 2011-12-14 中兴通讯股份有限公司 决策树生成方法及设备、基于决策树报文分类方法及设备
CN102724059A (zh) * 2012-03-31 2012-10-10 常熟市支塘镇新盛技术咨询服务有限公司 基于MapReduce的网站运行状态监控与异常检测
CN104573024A (zh) * 2015-01-12 2015-04-29 国家电网公司 一种复杂网络体系下异构安全日志信息的自适应提取方法及系统
CN105306439A (zh) * 2015-09-17 2016-02-03 哈尔滨工程大学 一种基于决策树自修复的特征规则检测方法
CN105354588A (zh) * 2015-09-28 2016-02-24 北京邮电大学 一种构造决策树的方法
CN105550378A (zh) * 2016-02-04 2016-05-04 贵州电网有限责任公司信息中心 一种复杂网络体系下异构安全日志信息的提取与分析方法
CN105843924A (zh) * 2016-03-25 2016-08-10 南京邮电大学 一种认知计算中基于cart的决策树构建方法
CN105975604A (zh) * 2016-05-12 2016-09-28 清华大学 一种分布迭代式数据处理程序异常检测与诊断方法
CN107846366A (zh) * 2016-09-19 2018-03-27 中兴通讯股份有限公司 一种规则匹配方法和装置
CN108156166A (zh) * 2017-12-29 2018-06-12 百度在线网络技术(北京)有限公司 异常访问识别和接入控制方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A New Method for learning Decision Trees from Rules;Amany Abdelhalim 等;《2009 International Conference on Machine Learning and Applications》;20100115;693-698 *
决策树算法在网站服务器日志分析中的应用;金效行;《中国优秀硕士学位论文全文数据库信息科技辑》;20120815;I138-677 *
基于关联规则的决策树算法;汪海锐 等;《计算机工程》;20110505;第37卷(第09期);104-106+109 *

Also Published As

Publication number Publication date
CN110019987A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
US20200356901A1 (en) Target variable distribution-based acceptance of machine learning test data sets
US9953102B2 (en) Creating NoSQL database index for semi-structured data
US10380088B2 (en) Detecting quasi-identifiers in datasets
US20200004851A1 (en) Trie-based indices for databases
US8280890B2 (en) Computing device and method for searching for parameters in a data model
US20180144061A1 (en) Edge store designs for graph databases
US10127254B2 (en) Method of index recommendation for NoSQL database
KR20140003517A (ko) 버퍼 오버플로우 상태 관리
US8793224B2 (en) Linear sweep filesystem checking
US10031936B2 (en) Database table data fabrication
CN106547646B (zh) 一种数据备份及恢复方法、数据备份及恢复装置
CN109033365B (zh) 一种数据处理方法及相关设备
US20180095719A1 (en) Sorted linked list with a midpoint binary tree
CN111813849A (zh) 数据抽取方法、装置及设备、存储介质
US8176080B2 (en) Desensitizing character strings
CN106354587A (zh) 镜像服务器以及导出虚拟机镜像文件的方法
CN104899337A (zh) 一种文件索引的建立方法及系统
CN110362569A (zh) 数据表的校验方法及装置、电子设备、存储介质
US20180144060A1 (en) Processing deleted edges in graph databases
CN110019987B (zh) 一种基于决策树的日志匹配方法和装置
JP6624062B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN110928941A (zh) 一种数据分片抽取方法及装置
CN110019357B (zh) 数据库查询脚本生成方法及装置
US10509659B1 (en) Input processing logic to produce outputs for downstream systems using configurations
CN109710833B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20200922

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant