CN110083583B - 流式事件处理方法及装置 - Google Patents
流式事件处理方法及装置 Download PDFInfo
- Publication number
- CN110083583B CN110083583B CN201910253186.4A CN201910253186A CN110083583B CN 110083583 B CN110083583 B CN 110083583B CN 201910253186 A CN201910253186 A CN 201910253186A CN 110083583 B CN110083583 B CN 110083583B
- Authority
- CN
- China
- Prior art keywords
- event
- expression
- processing
- attribute
- key
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 294
- 230000000875 corresponding effect Effects 0.000 claims abstract description 120
- 238000000034 method Methods 0.000 claims abstract description 66
- 230000001960 triggered effect Effects 0.000 claims abstract description 29
- 230000014509 gene expression Effects 0.000 claims description 202
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 6
- 230000010365 information processing Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供的一种流式事件处理方法及装置,所述方法包括:从数据源获取预设时间段内的原始事件数据;获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;根据所述处理类型对所述原始事件数据进行处理,获得处理结果;根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
Description
技术领域
本发明实施例涉及信息处理技术领域,尤其涉及一种流式事件处理方法及装置。
背景技术
在计算机信息处理领域,流式事件为采用流式传输的控制数据流中的事件。每个事件是可以被控件识别的操作日志。在流式事件处理过程中,有时需要从存储的数据流中筛选出所需或所去除的事件。
筛选时会采用不同表达式作为匹配条件,但每种表达式均会有自己的处理流程。而在实际应用中不同用户有不同的需求,导致事件处理流程不能够完全统一。
发明内容
针对现有技术存在的问题,本发明实施例提供一种流式事件处理方法及装置。
本发明实施例提供一种流式事件处理方法,包括:
从数据源获取预设时间段内的原始事件数据;
获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
根据所述处理类型对所述原始事件数据进行处理,获得处理结果;
根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
本发明实施例提供一种流式事件处理装置,包括:
获取模块,用于从数据源获取预设时间段内的原始事件数据;
解析模块,用于获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
处理模块,用于根据所述处理类型对所述原始事件数据进行处理,获得处理结果;
操作模块,用于根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述流式事件处理方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述流式事件处理方法的步骤。
本发明实施例提供的流式事件处理方法及装置,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的处理方式,然后按照处理方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明流式事件处理方法实施例流程图;
图2为本发明流式事件处理方法实施例流程图;
图3为本发明两类事件在关键子表达式下的哈希表示意图;
图4为本发明两类事件在无关键子表达式的哈希表示意图;
图5为本发明新获取的A类事件与B类事件集的匹配示意图;
图6为本发明新获取的A类事件与B类事件集的成功匹配示意图;
图7为本发明新获取的A类事件与B类事件集的未成功匹配示意图;
图8为本发明关键路径的示意图;
图9为本发明流式事件处理方法实施例流程图;
图10为本发明逻辑关系树的示意图;
图11为本发明关键路径的示意图;
图12为本发明数据集哈希表的示意图;
图13为本发明流式事件处理方法实施例流程图;
图14为本发明事件队列和事件代号队列的映射示意图;
图15为本发明事件代号插入代号队列的过程示意图;
图16为本发明事件删除的过程示意图;
图17为本发明具有时间槽的事件代号队列示意图;
图18为本发明新事件确定时间槽的示意图;
图19为本发明新事件插入时间槽的示意图;
图20为本发明流式事件处理方法实施例流程图;
图21为本发明流式事件处理装置实施例结构图;
图22为本发明流式事件处理装置实施例结构图;
图23为本发明流式事件处理装置实施例结构图;
图24为本发明流式事件处理装置实施例结构图;
图25为本发明电子设备实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了本发明一实施例提供的一种流式事件处理方法,包括:
S11、从数据源获取预设时间段内的原始事件数据。
针对步骤S11,需要说明的是,在本发明实施例中,需要对一定时间段内的原始事件数据进行处理。故需要设置对应的时间段,从获取的事件数据源中获取该时间段内的原始事件数据。
S12、获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型。
针对步骤S12,需要说明的是,在本发明实施例中,获取用户触发的处理操作信号,从该处理操作信号中可解析出对事件数据的处理类型。处理类型包括特征匹配类型、关联匹配类型和序列匹配类型。采用提及到的处理类型对事件数据进行处理时,通常要依据对应的特征表达式、关联表达式和序列表达式对事件数据进行处理。
S13、根据所述处理类型对所述原始事件数据进行处理,获得处理结果;
S14、根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
针对步骤S13和步骤S14,需要说明的是,在本发明实施例中,系统会在获取到处理类型后,对所述原始事件数据进行处理,得到处理后的结果。在得到处理结果,还需根据处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
本发明实施例提供的一种流式事件处理方法,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的处理方式,然后按照处理方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图2示出了本发明一实施例提供的一种流式事件处理方法,包括:
S21、从数据源获取预设时间段内的原始事件数据。
S22、获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型。
S23、获取用户输入的有关两个事件关联表达式,根据所述关联表达式确定关键子表达式,所述关联表达式为包含至少两个子表达式的表达式;
S24根据所述关键子表达式对已获取的原始事件数据进行划分,构建对应于所述关联表达式中两个事件分别在所述关键子表达式中属性所有值的数据集哈希表;
S25获取新事件,当确定新事件是所述关联表达式中一个事件时,调用已构建的对应于所述关联表达式中另一事件在所述关键子表达式中属性所有值的数据集哈希表;
S26根据所述关联表达式在所述数据集哈希表中完成对所述新事件的关联匹配,获得匹配结果作为处理结果;
S27、根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
针对步骤S23-步骤S26,需要说明的是,在本发明实施例中,流式事件为采用流式传输的数据流中的事件。事件关联匹配是判断两个事件是否满足指定的关联表达式。如“A类事件的源IP等于B类事件的目的IP,且A类事件的源端口等于80,或者B类事件的目的端口等于22,且A类事件发生时间小于B类事件发生时间”为一个关联表达式。所述关联表达式为包含至少两个子表达式的表达式。其中,A和B是关联表达式中的两个事件。源IP、目的IP、源端口、目的端口、发生时间均为属性。“A类事件的源IP等于B类事件的目的IP”、“A类事件的源端口等于80,或者B类事件的目的端口等于22”和“A类事件发生时间小于B类事件发生时间”均为所述两个事件中相同或不同属性之间的关系。
当获取新事件之前,由于已经获取到了关键(key)子表达式,而关键子表达式是逻辑关系“==”的表达式。每个子表达式都存在两个事件的属性。由此需要从已获取的原始事件数据中构建对应于所述关联表达式中两个事件在所述关键子表达式中属性所有值的数据集哈希表。
如图3所示,存在关键子表达式“A.m==B.n”,则取A类事件中m属性作为key构建存储A类事件的哈希表,取B类事件中n属性作为key构建存储B类事件的哈希表。
另外,当未确定到关键子表达式时,如图4所示,构建两个列表中分别存储A类事件和B类事件的哈希表。
在本发明实施例中,所述新事件为以当前为起点获取到的新的事件。每个事件具有对应的基本属性。在这里,基本属性如端口号、IP地址等设备信息。通过基本属性可以确定事件本身。如满足端口为G11的事件为事件A。故当获取到新事件后,可通过事件的基本属性确定新事件是否为所述关联表达式中其中一个事件。
若新事件不是关联表达式中任何一个事件时,则无需对新事件在数据集中进行特征匹配,只需将新事件存储在数据集中。
若新事件是关联表达式中其中一个事件,则调用已构建的对应于所述关联表达式中另一事件在所述关键子表达式中属性所有值的数据集哈希表。此时调用到的数据集哈希表便为数据量较小的数据集。
获得数据量较小的数据集后,根据所述关联表达式在所述数据集中完成其他子表达式对所述新事件的匹配。
如图5所示,设关联表达式为“A.m==B.n”,设新事件属于A类事件,取新事件的m属性值去存储B类事件的哈希表中匹配B类事件的n属性值,找出与之相等的B类事件子集,以该子集为基础做关联匹配。
根据所述关联表达式在B类事件子集中完成其他子表达式的匹配。如图6所示,若匹配成功后,则将新事件和与之关联的事件发送至下一个处理节点,并从对应的存储结构中哈希表删除该关联事件。如图7所示,若不匹配,则将此事件存入对应的事件存储结构的哈希表中。
在本发明实施例中,进一步的解释说明,在获取新事件之前,根据所述关键子表达式对已获取的事件进行划分,构建对应于所述关联表达式中两个事件分别在所述关键子表达式中属性所有值的数据集哈希表。
需要说明的是,由于所接收到的事件会包括很多不同类型的事件。如A类事件、B类事件、C类事件、D类事件……。故在根据关联表达式得知需要匹配的两个事件后,系统根据所述关键子表达式对已获取的事件进行划分,构建对应于所述关联表达式中两个事件分别在所述关键子表达式中属性所有值的数据集哈希表。
在本发明实施例中,进一步的解释说明,所述获取用户输入的有关两个事件关联表达式,根据所述关联表达式确定关键子表达式,包括:
获取用户输入的有关两个事件的关联表达式,根据所述关联表达式生成对应的逻辑表达式;
根据所述逻辑表达式生成对应的逻辑关系树,根据预设第一判断规则和所述逻辑关系树确定关键路径,所述逻辑关系树中每个叶子节点对应一个子表达式;
根据预设第二判断规则和所述关键路径确定一子表达式作为关键子表达式。
需要说明的是,在本发明实施例中,事件关联匹配是判断两个事件是否满足指定的关联表达式。如“A类事件的源IP等于B类事件的目的IP,且A类事件的源端口等于80,或者B类事件的目的端口等于22,且A类事件发生时间小于B类事件发生时间”为一个关联表达式。
在本实施例中,系统获取关联表达式后,可将其转换为逻辑表达式。逻辑表达式是按照“not、and和or”对关联表达式进行转换。
如关联表达式为“A类事件的源IP等于B类事件的目的IP,且A类事件的源端口等于80,或者B类事件的目的端口等于22,且A类事件发生时间小于B类事件发生时间”。
其经由系统转换成逻辑表达式为:“A类事件的源IP=B类事件的目的IP,and A类事件的源端口等于80,or B类事件的目的端口等于22,and A类事件发生时间<B类事件发生时间”。
获得逻辑表达式后,系统按not>and>or的优先级将逻辑表达式映射生成逻辑关系树(逻辑二叉树)。
如图8所示为根据逻辑表达式为:“A类事件的源IP=B类事件的目的IP,and A类事件的源端口等于80,or B类事件的目的端口等于22,and A类事件发生时间<B类事件发生时间”生成的逻辑关系树。
从图8中可以看出,所述逻辑关系树中每个叶子节点对应一个子表达式。因此,系统需要从子表达式中确定关键子表达式。确定关键子表达式,需要确定关键子表达式所属的一条关键路径。在本发明实施例中,根据第一判断规则和所述逻辑关系树确定关键路径。
所述第一判断规则包括:
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径为关键路径;
然后从确定的关键路径中,根据第二判断规则确定关键子表达式。
所述第二判断规则包括:满足逻辑关系==的子表达式为关键子表达式。
从上述判断规则来看,关联表达式中至少包含一个逻辑关系==的子表达式。
参照图8,关键路径为“A类事件的源IP=B类事件的目的IP”所在的路径和“A类事件发生时间<B类事件发生时间”所在的路径。那么“A类事件的源IP=B类事件的目的IP”为关键子表达式。
针对其他步骤,其原理与上述实施例步骤对应相同,在此不再赘述。
本发明实施例提供的一种流式事件处理方法,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的关联匹配方式,然后按照关联匹配方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图9示出了本发明一实施例提供的一种流式事件处理方法,包括:
S31、从数据源获取预设时间段内的原始事件数据。
S32、获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型。
S33、获取用户输入的有关两个事件的特征表达式,根据所述特征表达式确定关键属性关系,所述特征表达式为包含至少一个属性关系的表达式,所述属性关系为所述两个事件中相同属性数值大小的关系;
S34、获取新事件,当确定新事件是所述特征表达式中一个事件时,从所述原始事件数据中构建对应于所述特征表达式中另一事件在所述关键属性关系中属性所有值的数据集哈希表,并从所述数据集哈希表中确定满足所述关键属性关系的子数据集;
S35、根据所述特征表达式在所述子数据集中完成对所述新事件的特征匹配,获得匹配结果作为处理结果;
S36、根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
针对步骤S33-步骤S35,需要说明的是,在本发明实施例中,流式事件为采用流式传输的数据流中的事件。事件特征匹配是判断两个事件是否满足指定的特征表达式。如“A.attr1==B.attr1并且A.attr2>B.attr2”(事件A的attr1等于事件B的attr1并且事件A的attr2大于事件B的attr2)就是个简单的特征表达式。所述特征表达式为包含至少一个属性关系的表达式。其中,A和B是特征表达式中的两个事件。attr1、attr2分别为属性1、属性2。“A.attr1==B.attr1”和“A.attr2>B.attr2”均为所述两个事件中相同属性数值大小的关系,即属性关系。
所述方法适用于数据集过大场景下的事件特征匹配。因此,当获取新事件之前,数据集已经过大。在这里,所述新事件为以当前为起点获取到的新的事件。每个事件具有对应的基本属性。在这里,基本属性如端口号、IP地址等设备信息。通过基本属性可以确定事件本身。如满足端口为G11的事件为事件A。故当获取到新事件后,可通过事件的基本属性确定新事件是否为所述特征表达式中其中一个事件。
若新事件不是特征表达式中任何一个事件时,则无需对新事件在数据集中进行特征匹配,只需将新事件存储在数据集中。
若新事件是特征表达式中其中一个事件,则根据整个数据集构建对应于所述特征表达式中另一事件在所述关键属性关系中属性所有值的数据集哈希表。对此描述内容,需要说明的是,由于得知特征表达式与新事件不同的事件,故首先从整个数据中筛选出所有该事件。由于每个事件中具有很多属性,但不能保证每个属性都具有数值,因此,接着从筛选出来的事件中筛选出对应于所述关键属性关系中属性所有值的事件生成数据集哈希表。然后从所述数据集哈希表中确定满足所述关键属性关系的子数据集。此时的子数据集便为数据量较小的数据集
获得数据量较小的子数据集后,根据所述特征表达式在所述子数据集中完成对所述新事件的特征匹配。
在本发明实施例中,进一步的解释说明,所述获取用户输入的有关两个事件的特征表达式,根据所述特征表达式确定关键属性关系,包括:
获取用户输入的有关两个事件的特征表达式,根据所述特征表达式生成对应的逻辑表达式;
根据所述逻辑表达式生成对应的逻辑关系树,根据预设判断规则和所述逻辑关系树确定关键路径,所述逻辑关系树中每个叶子节点对应一个属性关系;
根据所述关键路径确定一属性关系作为关键属性关系。
在本发明实施例中,事件特征匹配是判断两个事件是否满足指定的特征表达式。如“A.attr1==B.attr1并且A.attr2>B.attr2”(事件A的attr1等于事件B的attr1并且事件A的attr2大于事件B的attr2)就是个简单的特征表达式。
在本实施例中,系统获取特征表达式后,可将其转换为逻辑表达式。逻辑表达式是按照“not、and和or”对特征表达式进行转换。
如特征表达式为“A.attr1==B.attr1并且(A.attr2>B.attr2或者A.attr3==B.attr3)并且A.attr4<B.attr4”。
其经由系统转换成逻辑表达式为:“A.attr1==B.attr1and(A.attr2>B.attr2orA.attr3==B.attr3)and A.attr4<B.attr4”。
获得逻辑表达式后,系统按not>and>or的优先级将逻辑表达式映射生成逻辑关系树(逻辑二叉树)。如图10所示,为根据逻辑表达式为:“A.attr1==B.attr1and(A.attr2>B.attr2or A.attr3==B.attr3)and A.attr4<B.attr4”生成的逻辑关系树。
从图10中可以看出,所述逻辑关系树中每个叶子节点对应一个属性关系。因此,系统需要从多个属性关系中确定关键属性关系。确定关键属性关系,需要确定关键属性关系所属的一条关键路径。在本发明实施例中,根据预设判断规则和所述逻辑关系树确定关键路径。
所述判断规则包括:
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径且仅有一条路径时,则仅有的一条路径为关键路径;
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径且存在至少两条路径时,则根据属性关系的优先级确定关键路径。
从上述判断规则来看,特征表达式中至少包括两个属性关系,且至少包含“and”逻辑关系。
在本发明实施例中,如图11所示,可能会存在多个关键路径,也就是说,此时会存在多个关键属性关系。但只需确定一个关键属性关系。因此,需要通过属性关系的优先级确定,所述属性关系的优先级为等于关系、大于关系、小于关系。总之,需要确定一个关键属性关系,当优先级相同时,任选其一作为关键属性关系。
所述方法适用于数据集过大场景下的事件特征匹配。因此,当获取新事件之前,数据集已经过大。在这里,所述新事件为以当前为起点获取到的新的事件。每个事件具有对应的基本属性。在这里,基本属性如端口号、IP地址等设备信息。通过基本属性可以确定事件本身。如满足端口为G11的事件为事件A。故当获取到新事件后,可通过事件的基本属性确定新事件是否为所述特征表达式中其中一个事件。
若新事件不是特征表达式中任何一个事件时,则无需对新事件在数据集中进行特征匹配,只需将新事件存储在数据集中。
若新事件是特征表达式中其中一个事件,则根据整个数据集构建对应于所述特征表达式中另一事件在所述关键属性关系中属性所有值的数据集哈希表。对此描述内容,需要说明的是,由于得知特征表达式与新事件不同的事件,故首先从整个数据中筛选出所有该事件。由于每个事件中具有很多属性,但不能保证每个属性都具有数值,因此,接着从筛选出来的事件中筛选出对应于所述关键属性关系中属性所有值的事件生成数据集哈希表。然后从所述数据集哈希表中确定满足所述关键属性关系的子数据集。此时的子数据集便为数据量较小的数据集。
例如,新事件为A,需构建对应于所述特征表达式中另一事件B在所述关键属性关系中属性所有值的数据集哈希表。参照图4所示,确定“A.attr1==B.attr1”为关键路径,以“attr1”为key,筛选属性“attr1”为所有值的数据集哈希表。如图12所示为获得的数据集哈希表。属性“attr1”分别为a、b和c,对应的为数据集哈希表。
从图12中的哈希表中,筛选出满足所述关键属性关系的子数据集,然后再根据所述特征表达式在所述子数据集中根据其他属性关系完成对所述新事件的特征匹配。
针对其他步骤,其原理与上述实施例步骤对应相同,在此不再赘述。
本发明实施例提供的一种流式事件处理方法,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的特征匹配方式,然后按照特征匹配方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图13示出了本发明一实施例提供的一种流式事件处理方法,包括:
S41、从数据源获取预设时间段内的原始事件数据。
S42、获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型。
S43、当当前事件代号队列中未存在能与当前序列表达式匹配成功的事件代号时,获取到新事件,解析所述新事件获得对应的基本属性和时间属性,序列表达式为由事件代号按顺序组成的表达式,所述当前事件代号队列与原始事件数据相对应;
S44、根据所述基本属性获得对应的事件代号,根据所述新事件的时间属性将事件代号在当前事件代号队列中进行排序插入,形成新的事件代号队列;
S45、根据所述当前序列表达式在新的事件代号队列中进行事件代号匹配,获得匹配结果作为处理结果;
S46、根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
针对步骤S43-步骤S45,需要说明的是,在本发明实施例中,流式事件为采用流式传输的数据流中的事件。新事件是以当前时间为起点新获取的事件。每个事件具有对应的时间属性和基本属性。在这里,基本属性如端口号、IP地址等设备信息,在此不一一举例。时间属性为事件发生时间。
在本实施例中,如图14所示,为了方便处理复杂的语义序列表达式以及依据序列表达式对事件的匹配,需对事件队列进行简化处理,根据每个事件的基本属性映射成对应的事件代号。比如满足端口为M1的事件映射成“A”,满足IP为N2的事件映射成“B”等等。其中,A和B则为事件对应的代号。为此,已经发生的事件队列便对应一个事件代号队列。在这里,当前事件代号队列为当前未获取到新事件之前所生成的对应原始事件数据的事件代号队列。
获取到新事件对应的基本属性和时间属性后,根据所述基本属性获得对应的事件代号,根据所述新事件的时间属性将事件代号在当前事件代号队列中进行排序插入,形成新的事件代号队列。在这里是直接将新事件的事件代号在整个当前事件代号队列中进行排序插入,即排序的基数是整个代号队列的事件代号数。如图15所示,图中的字母符号均为各事件的事件代号。根据代号B的事件发生时间,可将代号B插入到当前事件代号队列“ABABBCD”,生成新的事件代号队列“ABABBBCD”。
若当前序列表达式为“AB{3,4}C”,即事件A发生一次,然后事件B发生3到4次,然后事件C发生一次。
如图16所示,新的事件代号队列“ABABBBCD”,根据“AB{3,4}C”在“ABABBBCD”中进行匹配为真,即队列中可匹配序列表达式,将队列中命中序列表达式的事件代号“ABBBC”对应的事件删除。根据保留的事件进行事件拼接生成删除事件后的新的事件队列,并根据保留的事件代号进行代号拼接生成删除事件后的新的事件代号队列,并重新获取新事件,继续进行当前序列表达式的匹配。
在本发明实施例中,进一步的解释说明,获取用户输入的事件表达式,解析所述事件表达式中各事件获得对应的基本属性,根据所述各事件的基本属性获得对应的事件代号,根据所述事件代号生成所述序列表达式。
序列表达式为由事件代号按顺序组成的表达式。由于用户输入的通常都是复杂的语义序列表达式,即事件表达式。因此,当获取到用户输入的事件表达式,解析所述事件表达式中各事件获得对应的基本属性,根据所述各事件的基本属性获得对应的事件代号,根据所述事件代号生成所述序列表达式。
在本发明实施例中,进一步的解释说明,根据所述时间属性确定所述新事件在所述当前事件代号队列中对应的时间槽,每个时间槽内含对应的事件代号队列。
流式事件处理中,事件到来的顺序是按照事件的先后顺序,但是由于种种其他原因,如网络波动等,不排除事件乱序的情况。因此,在本实施例中,创建一个按时间先后顺序排列的队列,并按照一定的时间段将队列分割成多个连续的时间槽,槽中用于存放事件和/或事件代号。如图17为起始时间为“10:10:01”结束时间“10:10:04”的一个事件代号队列,时间槽长度为1秒。
当新事件到来,解析新事件的时间属性,确定其对应的时间槽。如图18所示,新事件“E”的时间标签为“10:10:02.359”,则其对应的时间槽为“10:10:02-10:10:03”。
如图19所示,将事件“E”插入指定时间槽,并保证槽内的事件代号是有序的。相应的,事件代号对应的事件队列也是有序的。
经上述处理,可以保证每次排序的基数是时间槽内的事件数,而非整个队列。
另外,每个时间槽只包含两端时间的一端,便于事件发生时间为端时间时,能够方便准确确定时间槽。
针对其他步骤,其原理与上述实施例步骤对应相同,在此不再赘述。
本发明实施例提供的一种流式事件处理方法,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的序列匹配方式,然后按照序列匹配方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图20示出了本发明一实施例提供的一种流式事件处理方法,包括:
S51、从数据源获取预设时间段内的原始事件数据。
针对步骤S51,需要说明的是,在本发明实施例中,需要对一定时间段内的原始事件数据进行处理。故需要设置对应的时间段,从获取的事件数据源中获取该时间段内的原始事件数据。
S52、获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型。
针对步骤S52,需要说明的是,在本发明实施例中,获取用户触发的处理操作信号,从该处理操作信号中可解析出对事件数据的处理类型。处理类型包括特征匹配类型、关联匹配类型和序列匹配类型。采用提及到的处理类型对事件数据进行处理时,通常要依据对应的特征表达式、关联表达式和序列表达式对事件数据进行处理。
S53、根据所述处理类型对所述原始事件数据进行处理,获得处理结果;
S54、根据所述处理结果获得匹配成功的各类事件对应的各类统计值,根据所述统计值和预设判断条件中对应的阈值获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
针对步骤S53和步骤S54,需要说明的是,在本发明实施例中,系统会在获取到处理类型后,对所述原始事件数据进行处理,得到处理后的结果。在得到处理结果,还需根据处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
在本发明实施例中,由于处理结果一般都是匹配成功后的事件。如在一定事件段内事件数据中匹配出几个A类事件。对匹配成功的各类事件进行统计,获得对应的各类统计值。如A类事件的匹配个数,A类事件属性值的最大值、最小值及平均值。然后将统计值与预设判断条件中对应的阈值进行比较获得判断结果。在这里,预设判断条件为各个统计值对应的阈值共同组成的限制条件。若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。如删除事件、存储事件、调用事件等。若判断结果为否,则继续下一时间段的事件处理。
本发明实施例提供的一种流式事件处理方法,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的处理方式,然后按照处理方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图21示出了本发明一实施例提供的一种流式事件处理装置,包括获取模块61、解析模块62、处理模块63和操作模块64,其中:
获取模块61,用于从数据源获取预设时间段内的原始事件数据;
解析模块62,用于获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
处理模块63,用于根据所述处理类型对所述原始事件数据进行处理,获得处理结果;
操作模块64,用于根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。
本发明实施例提供的一种流式事件处理装置,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的处理方式,然后按照处理方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图22示出了本发明一实施例提供的一种流式事件处理装置,包括获取模块61、解析模块62、处理模块71和操作模块64,其中:
获取模块61,用于从数据源获取预设时间段内的原始事件数据;
解析模块62,用于获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
处理模块71包括:
第一获取单元711,用于获取用户输入的有关两个事件关联表达式,根据所述关联表达式确定关键子表达式,所述关联表达式为包含至少两个子表达式的表达式;
第一构建单元712,用于根据所述关键子表达式对已获取的原始事件数据进行划分,构建对应于所述关联表达式中两个事件分别在所述关键子表达式中属性所有值的数据集哈希表;
第一调用单元713,用于获取新事件,当确定新事件是所述关联表达式中一个事件时,调用已构建的对应于所述关联表达式中另一事件在所述关键子表达式中属性所有值的数据集哈希表;
第一匹配单元714,用于根据所述关联表达式在所述数据集哈希表中完成对所述新事件的关联匹配,获得匹配结果作为处理结果。
操作模块64,用于根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。
本发明实施例提供的一种流式事件处理装置,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的关联匹配方式,然后按照关联匹配方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图23示出了本发明一实施例提供的一种流式事件处理装置,包括获取模块61、解析模块62、处理模块81和操作模块64,其中:
获取模块61,用于从数据源获取预设时间段内的原始事件数据;
解析模块62,用于获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
处理模块81包括:
第二获取单元811,用于获取用户输入的有关两个事件的特征表达式,根据所述特征表达式确定关键属性关系,所述特征表达式为包含至少一个属性关系的表达式,所述属性关系为所述两个事件中相同属性数值大小的关系;
第二构建单元812,用于获取新事件,当确定新事件是所述特征表达式中一个事件时,从所述原始事件数据中构建对应于所述特征表达式中另一事件在所述关键属性关系中属性所有值的数据集哈希表,并从所述数据集哈希表中确定满足所述关键属性关系的子数据集;
第二匹配单元813,用于根据所述特征表达式在所述子数据集中完成对所述新事件的特征匹配,获得匹配结果作为处理结果。
操作模块64,用于根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
本发明实施例提供的一种流式事件处理装置,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的特征匹配方式,然后按照特征匹配方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图24示出了本发明一实施例提供的一种流式事件处理装置,包括获取模块61、解析模块62、处理模块91和操作模块64,其中:
获取模块61,用于从数据源获取预设时间段内的原始事件数据;
解析模块62,用于获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
处理模块91包括:
第三解析单元911,用于当当前事件代号队列中未存在能与当前序列表达式匹配成功的事件代号时,获取到新事件,解析所述新事件获得对应的基本属性和时间属性,序列表达式为由事件代号按顺序组成的表达式,所述当前事件代号队列与原始事件数据相对应;
第三排序单元912,用于根据所述基本属性获得对应的事件代号,根据所述新事件的时间属性将事件代号在当前事件代号队列中进行排序插入,形成新的事件代号队列;
第三匹配单元913,用于根据所述当前序列表达式在新的事件代号队列中进行事件代号匹配,获得匹配结果作为处理结果。
操作模块64,用于根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
另外,当所述当前事件代号队列按时间划分多个时间槽,每个时间槽内含对应的事件代号队列时,还包括第三排序单元,用于:
根据所述时间属性确定所述新事件在所述当前事件代号队列中对应的时间槽;
根据所述基本属性获得对应的事件代号,根据所述新事件的时间属性将新事件的事件代号在对应的时间槽所含的事件代号队列进行排序插入,并与其他时间槽所含的事件代号队列共同生成新的事件代号队列。
在事件代号队列中进行事件代号匹配之前,还包括第三获取单元,用于:
获取用户输入的事件表达式,解析所述事件表达式中各事件获得对应的基本属性,根据所述各事件的基本属性获得对应的事件代号,根据所述事件代号生成所述序列表达式。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
本发明实施例提供的一种流式事件处理装置,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的序列匹配方式,然后按照序列匹配方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
本发明一实施例提供一种流式事件处理装置,包括获取模块、解析模块、处理模块和操作模块,其中:
获取模块,用于从数据源获取预设时间段内的原始事件数据;
解析模块,用于获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
处理模块,用于根据所述处理类型对所述原始事件数据进行处理,获得处理结果;
操作模块,用于根据所述处理结果获得匹配成功的各类事件对应的各类统计值,根据所述统计值和预设判断条件中对应的阈值获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
本发明实施例提供的一种流式事件处理装置,能够对预设时间段内的原始事件数据进行处理,在处理过程中获取用户触发的处理操作信号,从而得到对事件处理的处理方式,然后按照处理方式对事件数据进行处理,对不同的处理结果按照不同的动作指令进行后续操作,实现了对事件数据处理的可选择性,能够适应不同处理方式的处理流程,增大了可适应性。
图25示例了一种服务器的实体结构示意图,如图25所示,该服务器可以包括:处理器(processor)100、通信接口(Communications Interface)101、存储器(memory)102和通信总线103,其中,处理器100,通信接口101,存储器102通过通信总线103完成相互间的通信。处理器100可以调用存储器102中的逻辑指令,以执行如下方法:从数据源获取预设时间段内的原始事件数据;获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;根据所述处理类型对所述原始事件数据进行处理,获得处理结果;根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
此外,上述的存储器102中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种流式事件处理方法,其特征在于,包括:
从数据源获取预设时间段内的原始事件数据;
获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
根据所述处理类型对所述原始事件数据进行处理,获得处理结果;
根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作;
若所述处理类型为关联匹配类型,则所述根据所述处理类型对所述原始事件数据进行处理,获得处理结果,包括:
获取用户输入的有关两个事件关联表达式,根据所述关联表达式确定关键子表达式,所述关联表达式为包含至少两个子表达式的表达式;
根据所述关键子表达式对已获取的原始事件数据进行划分,构建对应于所述关联表达式中两个事件分别在所述关键子表达式中属性所有值的数据集哈希表;
获取新事件,当确定新事件是所述关联表达式中一个事件时,调用已构建的对应于所述关联表达式中另一事件在所述关键子表达式中属性所有值的数据集哈希表;
根据所述关联表达式在所述数据集哈希表中完成对所述新事件的关联匹配,获得匹配结果作为处理结果。
2.根据权利要求1所述的方法,其特征在于,若所述处理类型为特征匹配类型,则所述根据所述处理类型对所述原始事件数据进行处理,获得处理结果,包括:
获取用户输入的有关两个事件的特征表达式,根据所述特征表达式确定关键属性关系,所述特征表达式为包含至少一个属性关系的表达式,所述属性关系为所述两个事件中相同属性数值大小的关系;
获取新事件,当确定新事件是所述特征表达式中一个事件时,从所述原始事件数据中构建对应于所述特征表达式中另一事件在所述关键属性关系中属性所有值的数据集哈希表,并从所述数据集哈希表中确定满足所述关键属性关系的子数据集;
根据所述特征表达式在所述子数据集中完成对所述新事件的特征匹配,获得匹配结果作为处理结果。
3.根据权利要求1所述的方法,其特征在于,若所述处理类型为序列匹配类型,则所述根据所述处理类型对所述原始事件数据进行处理,获得处理结果,包括:
当当前事件代号队列中未存在能与当前序列表达式匹配成功的事件代号时,获取到新事件,解析所述新事件获得对应的基本属性和时间属性,序列表达式为由事件代号按顺序组成的表达式,所述当前事件代号队列与原始事件数据相对应;
根据所述基本属性获得对应的事件代号,根据所述新事件的时间属性将事件代号在当前事件代号队列中进行排序插入,形成新的事件代号队列;
根据所述当前序列表达式在新的事件代号队列中进行事件代号匹配,获得匹配结果作为处理结果。
4.根据权利要求1所述的方法,其特征在于,所述获取用户输入的有关两个事件的关联表达式,根据所述关联表达式确定关键表达式,包括:
获取用户输入的有关两个事件的关联表达式,根据所述关联表达式生成对应的逻辑表达式;
根据所述逻辑表达式生成对应的逻辑关系树,根据预设第一判断规则和所述逻辑关系树确定关键路径,所述逻辑关系树中每个叶子节点对应一个子表达式;
根据预设第二判断规则和所述关键路径确定一子表达式作为关键子表达式。
5.根据权利要求4所述的方法,其特征在于,所述第一判断规则包括:
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径为关键路径;
所述第二判断规则包括:满足逻辑关系==的子表达式为关键子表达式。
6.根据权利要求2所述的方法,其特征在于,所述获取用户输入的有关两个事件的特征表达式,根据所述特征表达式确定关键属性关系,包括:
获取用户输入的有关两个事件的特征表达式,根据所述特征表达式生成对应的逻辑表达式;
根据所述逻辑表达式生成对应的逻辑关系树,根据预设判断规则和所述逻辑关系树确定关键路径,所述逻辑关系树中每个叶子节点对应一个属性关系;
根据所述关键路径确定一属性关系作为关键属性关系。
7.根据权利要求6所述的方法,其特征在于,所述判断规则包括:
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径且仅有一条路径时,则仅有的一条路径为关键路径;
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径且存在至少两条路径时,则根据属性关系的优先级确定关键路径。
8.根据权利要求3所述的方法,其特征在于,当所述当前事件代号队列按时间划分多个时间槽,每个时间槽内含对应的事件代号队列时,还包括:
根据所述时间属性确定所述新事件在所述当前事件代号队列中对应的时间槽;
根据所述基本属性获得对应的事件代号,根据所述新事件的时间属性将新事件的事件代号在对应的时间槽所含的事件代号队列进行排序插入,并与其他时间槽所含的事件代号队列共同生成新的事件代号队列。
9.根据权利要求3所述的方法,其特征在于,在事件代号队列中进行事件代号匹配之前,还包括:
获取用户输入的事件表达式,解析所述事件表达式中各事件获得对应的基本属性,根据所述各事件的基本属性获得对应的事件代号,根据所述事件代号生成所述序列表达式。
10.根据权利要求1所述的方法,其特征在于,所述根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作,包括:
根据所述处理结果获得匹配成功的各类事件对应的各类统计值,根据所述统计值和预设判断条件中对应的阈值获得判断结果;
若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
11.一种流式事件处理装置,其特征在于,包括:
获取模块,用于从数据源获取预设时间段内的原始事件数据;
解析模块,用于获取用户触发的处理操作信号,根据所述处理操作信号解析出处理类型;
处理模块,用于根据所述处理类型对所述原始事件数据进行处理,获得处理结果;
操作模块,用于根据所述处理结果和预设判断条件获得判断结果,若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作;
若所述处理类型为关联匹配类型,则所述处理模块包括:
第一获取单元,用于获取用户输入的有关两个事件关联表达式,根据所述关联表达式确定关键子表达式,所述关联表达式为包含至少两个子表达式的表达式;
第一构建单元,用于根据所述关键子表达式对已获取的原始事件数据进行划分,构建对应于所述关联表达式中两个事件分别在所述关键子表达式中属性所有值的数据集哈希表;
第一调用单元,用于获取新事件,当确定新事件是所述关联表达式中一个事件时,调用已构建的对应于所述关联表达式中另一事件在所述关键子表达式中属性所有值的数据集哈希表;
第一匹配单元,用于根据所述关联表达式在所述数据集哈希表中完成对所述新事件的关联匹配,获得匹配结果作为处理结果。
12.根据权利要求11所述的装置,其特征在于,若所述处理类型为特征匹配类型,则所述处理模块包括:
第二获取单元,用于获取用户输入的有关两个事件的特征表达式,根据所述特征表达式确定关键属性关系,所述特征表达式为包含至少一个属性关系的表达式,所述属性关系为所述两个事件中相同属性数值大小的关系;
第二构建单元,用于获取新事件,当确定新事件是所述特征表达式中一个事件时,从所述原始事件数据中构建对应于所述特征表达式中另一事件在所述关键属性关系中属性所有值的数据集哈希表,并从所述数据集哈希表中确定满足所述关键属性关系的子数据集;
第二匹配单元,用于根据所述特征表达式在所述子数据集中完成对所述新事件的特征匹配,获得匹配结果作为处理结果。
13.根据权利要求11所述的装置,其特征在于,若所述处理类型为序列匹配类型,则所述处理模块包括:
第三解析单元,用于当当前事件代号队列中未存在能与当前序列表达式匹配成功的事件代号时,获取到新事件,解析所述新事件获得对应的基本属性和时间属性,序列表达式为由事件代号按顺序组成的表达式,所述当前事件代号队列与原始事件数据相对应;
第三排序单元,用于根据所述基本属性获得对应的事件代号,根据所述新事件的时间属性将事件代号在当前事件代号队列中进行排序插入,形成新的事件代号队列;
第三匹配单元,用于根据所述当前序列表达式在新的事件代号队列中进行事件代号匹配,获得匹配结果作为处理结果。
14.根据权利要求11所述的装置,其特征在于,所述第一获取单元具体用于:
获取用户输入的有关两个事件的关联表达式,根据所述关联表达式生成对应的逻辑表达式;
根据所述逻辑表达式生成对应的逻辑关系树,根据预设第一判断规则和所述逻辑关系树确定关键路径,所述逻辑关系树中每个叶子节点对应一个子表达式;
根据预设第二判断规则和所述关键路径确定一子表达式作为关键子表达式。
15.根据权利要求14所述的装置,其特征在于,所述第一判断规则包括:
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径为关键路径;
所述第二判断规则包括:满足逻辑关系==的子表达式为关键子表达式。
16.根据权利要求12所述的装置,其特征在于,所述第二获取单元具体用于:
获取用户输入的有关两个事件的特征表达式,根据所述特征表达式生成对应的逻辑表达式;
根据所述逻辑表达式生成对应的逻辑关系树,根据预设判断规则和所述逻辑关系树确定关键路径,所述逻辑关系树中每个叶子节点对应一个属性关系;
根据所述关键路径确定一属性关系作为关键属性关系。
17.根据权利要求16所述的装置,其特征在于,所述判断规则包括:
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径且仅有一条路径时,则仅有的一条路径为关键路径;
满足从叶子节点到根节点的路径中所有的逻辑关系均为and的路径且存在至少两条路径时,则根据属性关系的优先级确定关键路径。
18.根据权利要求13所述的装置,其特征在于,当所述当前事件代号队列按时间划分多个时间槽,每个时间槽内含对应的事件代号队列时,还包括第三排序单元,用于:
根据所述时间属性确定所述新事件在所述当前事件代号队列中对应的时间槽;
根据所述基本属性获得对应的事件代号,根据所述新事件的时间属性将新事件的事件代号在对应的时间槽所含的事件代号队列进行排序插入,并与其他时间槽所含的事件代号队列共同生成新的事件代号队列。
19.根据权利要求13所述的装置,其特征在于,在事件代号队列中进行事件代号匹配之前,还包括第三获取单元,用于:
获取用户输入的事件表达式,解析所述事件表达式中各事件获得对应的基本属性,根据所述各事件的基本属性获得对应的事件代号,根据所述事件代号生成所述序列表达式。
20.根据权利要求11所述的装置,其特征在于,所述操作模块具体用于:
根据所述处理结果获得匹配成功的各类事件对应的各类统计值,根据所述统计值和预设判断条件中对应的阈值获得判断结果;
若判断结果为是,则获取对应的动作指令,根据所述动作指令对所述处理结果进行操作。
21.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任一项流式事件处理方法的步骤。
22.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至10任一项流式事件处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910253186.4A CN110083583B (zh) | 2019-03-29 | 2019-03-29 | 流式事件处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910253186.4A CN110083583B (zh) | 2019-03-29 | 2019-03-29 | 流式事件处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110083583A CN110083583A (zh) | 2019-08-02 |
CN110083583B true CN110083583B (zh) | 2021-05-25 |
Family
ID=67414003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910253186.4A Active CN110083583B (zh) | 2019-03-29 | 2019-03-29 | 流式事件处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110083583B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767037B (zh) * | 2020-06-28 | 2023-09-12 | 烟台东方威思顿电气有限公司 | 一种脚本化的智能电表事件判断方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10657134B2 (en) * | 2015-08-05 | 2020-05-19 | Ab Initio Technology Llc | Selecting queries for execution on a stream of real-time data |
CN107274141A (zh) * | 2016-04-07 | 2017-10-20 | 中国移动通信有限公司研究院 | 一种事件处理方法及网络设备 |
CN108012085B (zh) * | 2017-12-19 | 2020-07-14 | 腾讯科技(上海)有限公司 | 一种多媒体信息处理方法、服务器及存储介质 |
CN109344170B (zh) * | 2018-09-04 | 2022-04-12 | 创新先进技术有限公司 | 流数据处理方法、系统、电子设备及可读存储介质 |
CN109474607A (zh) * | 2018-12-06 | 2019-03-15 | 连云港杰瑞深软科技有限公司 | 一种工业控制网络安全保护监测系统 |
-
2019
- 2019-03-29 CN CN201910253186.4A patent/CN110083583B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110083583A (zh) | 2019-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10915822B2 (en) | Complex event processing method, apparatus, and system | |
CN109684290B (zh) | 日志存储方法、装置、设备及计算机可读存储介质 | |
JP2013536492A (ja) | 複数のシステムを用いたデータ解析 | |
CN111949832A (zh) | 批量作业依赖关系的解析方法及装置 | |
CN114579409A (zh) | 告警方法、装置、设备及存储介质 | |
WO2023273218A1 (zh) | Json报文的核对方法和json报文的核对装置 | |
CN112115313A (zh) | 正则表达式的生成、数据提取方法、装置、设备及介质 | |
CN110083583B (zh) | 流式事件处理方法及装置 | |
CN107330031B (zh) | 一种数据存储的方法、装置及电子设备 | |
CN110109672B (zh) | 一种表达式的解析处理方法及装置 | |
CN112612832A (zh) | 节点分析方法、装置、设备及存储介质 | |
US20200097341A1 (en) | Adaptive event aggregation | |
CN112883088A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN116015796A (zh) | 一种流表更新方法、装置、防火墙设备及存储介质 | |
CN115801927A (zh) | 报文解析方法及装置 | |
CN110083626B (zh) | 流式事件序列匹配方法及装置 | |
WO2021129849A1 (zh) | 日志处理方法、装置、设备和存储介质 | |
CN113656659A (zh) | 一种数据提取方法、装置、系统及计算机可读存储介质 | |
CN110109957B (zh) | 流式事件关联匹配方法及装置 | |
CN111177595B (zh) | 一种针对http协议模板化提取资产信息的方法 | |
CN113885880A (zh) | 一种多规则匹配方法、装置及设备 | |
CN111063347B (zh) | 实时语音识别方法、服务端及客户端 | |
Seipel et al. | Mining complex event patterns in computer networks | |
CN110096504B (zh) | 流式事件特征匹配方法及装置 | |
CN113986942A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Patentee after: QAX Technology Group Inc. Address before: 100015 15, 17 floor 1701-26, 3 building, 10 Jiuxianqiao Road, Chaoyang District, Beijing. Patentee before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |