WO2016000454A1 - 流处理系统中的事件处理方法及流处理系统 - Google Patents

流处理系统中的事件处理方法及流处理系统 Download PDF

Info

Publication number
WO2016000454A1
WO2016000454A1 PCT/CN2015/072577 CN2015072577W WO2016000454A1 WO 2016000454 A1 WO2016000454 A1 WO 2016000454A1 CN 2015072577 W CN2015072577 W CN 2015072577W WO 2016000454 A1 WO2016000454 A1 WO 2016000454A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
rule
engine
matching
ring
Prior art date
Application number
PCT/CN2015/072577
Other languages
English (en)
French (fr)
Inventor
张松山
方丰斌
李玉章
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP15744845.7A priority Critical patent/EP2983117A4/en
Priority to US14/849,074 priority patent/US9483332B2/en
Publication of WO2016000454A1 publication Critical patent/WO2016000454A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/067Enterprise or organisation modelling

Definitions

  • the present invention relates to information processing technologies, and in particular, to an event processing method and a stream processing system in a stream processing system.
  • Event Stream Processing The ESP platform can extract data information meaningful to users from complex business events included in high-speed data streams, and assist users in business monitoring and decision control. Simply put, the ESP platform used to implement ESP is to overlay CEP components on the streaming computing platform.
  • the engine memory including the basic event is the engine memory corresponding to the full ring mode
  • the basic event is input into the full ring mode of the rule engine, and the full ring identifier is added in the base event, and the full ring is added.
  • the engine memory including the basic event is the engine memory corresponding to the semi-ring mode
  • the basic event is input into the semi-ring mode of the rule engine, and a half-ring identifier is added to the basic event, and a half-ring is added.
  • the engine memory including the basic event is the engine memory corresponding to the acyclic mode
  • the basic event is input into the acyclic mode of the rule engine, and an acyclic flag is added to the basic event, and the acyclic is added.
  • the identified base event is used as a loop-free matching result, and the base event is executed, an execution result is obtained, and the execution result is output.
  • the matching by using the base event, a basic event stored in an engine memory corresponding to a matching mode in the rule engine, determining that the basic event is included After the engine memory of the base event, it also includes:
  • the all-ring matching result, the half-ring matching result, and the acyclic matching result are obtained, the all-ring matching result, the half-ring matching result, or the acyclic Performing an aggregation operation on the at least two matching results of the matching result, determining that the obtained aggregation result is a matching result of the matching mode output of the high level, and the level of the all-ring matching result is higher than the level of the semi-ring matching result, The level of the semi-ring matching result is higher than the level of the acyclic matching result.
  • the performing the basic event in an engine memory corresponding to the matching mode in the rule engine The stored base events are matched to determine the engine memory including the base event, and also include:
  • rule event including a condition, an action, and attribute information of the target object, the rule event being used to represent an event of the target object state and the action;
  • the method further includes:
  • condition of the first rule event is the attribute information of the target object, determining whether the action of the first rule event triggers a condition of the second rule event;
  • condition of the first rule event is not attribute information of the target object, determining to store the condition of the first rule event as a base event in an engine memory corresponding to the acyclic mode.
  • the determining whether the action of the first rule event triggers the second rule event After the attribute information of the target object, it also includes:
  • condition of the rule event is set as a base event in an engine memory corresponding to the half ring mode.
  • the rule engine is defined by a domain-specific language DSL.
  • the second aspect provides a stream processing system, including: an input unit and a rule engine, the rule engine includes: a matching unit and an execution unit; and the matching mode of the rule engine includes at least a full ring mode, a half ring mode, and none In the ring mode, each matching mode of the rule engine corresponds to one engine memory, and each of the engine memories stores at least one basic event;
  • the input unit is configured to acquire at least one basic event for characterizing a state of the target object, where the basic event includes at least one of a condition or attribute information of the target object;
  • the matching unit is configured to match the basic event with a basic event stored in an engine memory corresponding to the matching mode in the rule engine, and determine an engine memory that includes the basic event;
  • the execution unit is configured to: if it is determined that an engine memory that includes the basic event is an engine memory corresponding to a full-ring mode, input the basic event into a full-loop mode of the rule engine, and add all the basic events a ring identifier, the base event of the full ring identifier is added as a full ring matching result, and the base event is executed to obtain an execution result, and the attribute information of the target object in the engine memory corresponding to the full ring mode is modified according to the execution result.
  • the executing unit is further configured to: if at least two matching results of the full ring matching result, the half ring matching result, and the acyclic matching result are obtained, Performing an aggregation operation on the at least two matching results of the all-ring matching result, the half-ring matching result, or the acyclic matching result, and determining that the obtained aggregation result is a matching result of a high-level matching mode output, where the total The level of the ring matching result is higher than the level of the half ring matching result, and the level of the half ring matching result is higher than the level of the ringless matching result.
  • the method further includes: an obtaining unit and a determining unit;
  • the acquiring unit is configured to acquire at least two rule events, where the rule event includes a condition, an action, and attribute information of the target object, where the rule event is used to represent an event of the target object state and the action;
  • the determining unit is configured to determine whether there is an association relationship between the action of the first rule event and the condition of the second rule event, where the first rule event and the second rule event are respectively the at least two rule events Any two of the rule events; if yes, storing the conditions of the first rule event and the second rule event as a base event in the engine memory corresponding to the full ring mode; if not, determining Whether the condition of the first rule event is attribute information of the target object.
  • the determining unit is further configured to: if the condition of the first rule event is determined to be the attribute information of the target object Determining whether the action of the first rule event triggers the condition of the second rule event; or, if it is determined that the condition of the first rule event is not the attribute information of the target object, determining that the The condition of a rule event is stored as a base event in the engine memory corresponding to the acyclic mode.
  • the determining unit is further configured to: if the action of determining the first rule event triggers the second rule event Condition, then determine to store the condition of the rule event as a base event In the engine memory corresponding to the full ring mode; if it is determined that the action of the first rule event does not trigger the condition of the second rule event, determining to set the condition of the rule event as a base event in the half ring The engine memory corresponding to the mode.
  • the rule engine is defined by a domain-specific language DSL.
  • the event processing method and the stream processing system in the stream processing system provided by the embodiment of the present invention determine the engine memory including the basic event by matching the base event with the base event stored in the engine memory corresponding to the matching mode in the rule engine; If the engine memory including the basic event is the engine memory corresponding to the full-ring mode, the basic event is input into the full-ring mode of the rule engine, and the full-ring identifier is added to the basic event, and the base event of the full-ring identifier is added as the full-ring matching result.
  • the basic event modifying the attribute information of the target object in the engine memory corresponding to the full ring mode according to the execution result, and matching the execution result with the basic event stored in each engine memory in the rule engine; if the determination includes the basic
  • the engine memory of the event is the engine memory corresponding to the semi-ring mode.
  • the basic event is input into the semi-ring mode of the rule engine, and the half-ring identifier is added to the base event, and the basic event of the half-ring identifier is added as the half-ring matching result, and executed.
  • the base event gets the execution result and is repaired according to the execution result.
  • the semi-ring mode corresponds to the attribute information of the target object in the engine memory, and outputs the execution result; if it is determined that the engine memory including the base event is the engine memory corresponding to the acyclic mode, the basic event is input into the ruleless mode of the rule engine, based on The loop-free identifier is added to the event, and the base event of the loop-free identifier is added as the loop-free matching result, and the base event is executed, the execution result is obtained, and the execution result is output.
  • the different matching modes of the rule engine are used to classify complex events, thereby improving the processing performance of complex events in the ESP business process.
  • FIG. 1 is a schematic structural diagram of a platform of an event processing method in a stream processing system according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of an event processing method according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an event processing method in a stream processing system according to an embodiment of the present invention.
  • FIG. 4 is a schematic flowchart of an event processing method according to another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a compilation process of a rule engine according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of compiling a rule engine according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a stream processing system according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a stream processing system according to another embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a stream processing system according to still another embodiment of the present invention.
  • FIG. 1 is a schematic structural diagram of a platform of an event processing method in a stream processing system according to an embodiment of the present invention.
  • the event processing method in the stream processing system provided by the embodiment of the present invention is applicable to an ESP platform, where the ESP platform is a stream computing Stream platform superimposed CEP component.
  • FIG. 2 is a schematic flowchart of an event processing method according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an event processing method in a stream processing system according to an embodiment of the present invention.
  • the stream processing system of this embodiment includes: an input unit and a rule engine.
  • the rule engine is similar to the CEP component in FIG. 1.
  • the matching mode of the rule engine includes at least a full ring mode and a half ring mode. And the acyclic mode, each matching mode of the rule engine corresponds to one engine memory, and at least one basic event is stored in each engine memory.
  • the method of this embodiment includes:
  • Step 101 Acquire, by the input unit, at least one basic event for characterizing a state of the target object.
  • the base event includes the condition or the attribute information of the target object to missing one.
  • Step 102 Match the basic event with the basic event stored in the engine memory corresponding to the matching mode in the rule engine, and determine the engine memory including the basic event.
  • the base event after determining the engine memory including the base event, the base event may be adapted and packaged, for example, saving attribute information of the target object of the base event, data structure adaptation and conversion, and identifier addition. And so on, wherein the identifier addition includes adding a full ring identifier, a half ring identifier, and an acyclic identifier in the base time.
  • Step 103 If it is determined that the engine memory including the basic event is the engine memory corresponding to the full ring mode, the basic event is input into the full ring mode of the rule engine, and the full ring identifier is added in the base event, and the base event of the full ring identifier is added as Full-ring matching results, and executing the basic event to obtain the execution result, modifying the attribute information of the target object in the engine memory corresponding to the full-ring mode according to the execution result, and matching the execution result with the basic event stored in each engine memory in the rule engine;
  • Step 104 If it is determined that the engine memory including the basic event is the engine memory corresponding to the semi-ring mode, the basic event is input into the semi-ring mode of the rule engine, and the half-ring identifier is added to the basic event, and the basic event of the half-ring identifier is added as The semi-ring matches the result, and the execution result is obtained by executing the basic event, and the attribute information of the target object in the engine memory corresponding to the semi-ring mode is modified according to the execution result, and the execution result is output;
  • Step 105 If it is determined that the engine memory including the basic event is the engine memory corresponding to the acyclic mode, the basic event is input into the acyclic mode of the rule engine, and the acyclic identifier is added to the basic event, and the basic event of the acyclic identifier is added as The loop matches the result, and the base event is executed, the execution result is obtained, and the execution result is output.
  • the base event is matched with the basic event stored in the engine memory corresponding to the matching mode in the rule engine, and the engine memory including the basic event is determined; if the engine memory including the basic event is determined to be the engine corresponding to the full ring mode In the memory, the basic event is input into the full-ring mode of the rule engine, and the full-ring identifier is added to the base event. The base event of the full-ring identifier is added as the full-ring matching result, and the base event is executed to obtain the execution result.
  • the attribute information of the target object in the engine memory corresponding to the full-ring mode is modified, and the execution result is matched with the basic event stored in each engine memory in the rule engine; if the engine memory including the basic event is determined to be the engine corresponding to the semi-ring mode In the memory, the basic event is input into the semi-ring mode of the rule engine, and the half-ring identifier is added to the basic event. The basic event of the half-ring identification is added as the half-ring matching result, and the basic event is executed to obtain the execution result, and the modification result is modified according to the execution result.
  • the ring mode corresponds to the attribute information of the target object in the engine memory, and outputs the execution result; if it is determined that the engine memory including the base event is the engine memory corresponding to the acyclic mode, the basic event is input into the ruleless mode of the rule engine, in the base event The loop-free identifier is added, and the base event of the loop-free identifier is added as the loop-free matching result, and the base event is executed, the execution result is obtained, and the execution result is output.
  • the different matching modes of the rule engine are used to classify complex events, thereby improving the processing performance of complex events in the ESP business process.
  • the first rule event and the second rule event are respectively any two of the at least two rule events. If the determination is yes, the first rule event and the second rule event are determined to be closely related rules, and step 403 is performed. If the determination is no, the first rule event and the second rule event are determined to be loosely associated rules. 404.
  • determining whether the action of the first rule event triggers the condition of the second rule event that is, if the action of the first rule event triggers the condition of the second rule event, determining that the first rule event and the second rule event are Internal event object output.
  • FIG. 7 is a schematic structural diagram of a stream processing system according to an embodiment of the present invention.
  • the stream processing system includes: an input unit 71 and a rule engine 72.
  • the rule engine 72 includes: a matching unit 721 and an execution unit 722.
  • the matching mode of the rule engine 72 includes at least a full ring mode, a half ring mode, and an acyclic mode.
  • Each matching mode of the rule engine 72 corresponds to one engine memory, and at least one basic event is stored in each engine memory;
  • An input unit configured to acquire at least one basic event for characterizing a state of the target object, where the base event includes at least one of a condition or attribute information of the target object;
  • the event obtains the execution result, and the attribute information of the target object in the engine memory corresponding to the semi-ring mode is modified according to the execution result, and the execution result is output; if the engine memory including the base event is determined to be the engine memory corresponding to the acyclic mode, the basic event is input.
  • the acyclic mode of the rules engine is added to the base event Ring logo will increase the base event acyclic identified as an acyclic matching results, and perform basic events, get the results, and outputs the result.
  • the different matching modes of the rule engine are used to classify complex events, thereby improving the processing performance of complex events in the ESP business process.
  • the execution unit is further configured to: if the at least two matching results of the full ring matching result, the half ring matching result, and the acyclic matching result are obtained, the full ring matching result, the half ring At least two matching results of the matching result or the acyclic matching result are performed, and the obtained aggregation result is a matching result of the matching mode output of the high level, and the level of the full ring matching result is higher than the level of the semi-ring matching result, and half The level of the ring matching result is higher than the level of the ringless matching result.
  • a determining unit 74 configured to determine whether there is an association relationship between the action of the first rule event and the condition of the second rule event, where the first rule event and the second rule event are respectively in the at least two rule events Any two rule events; if so, then the first rule The event and the condition of the second rule event are stored as the base event in the engine memory corresponding to the full ring mode; if not, determining whether the condition of the first rule event is the attribute information of the target object .
  • the determining unit 74 is further configured to: if it is determined that the condition of the first rule event is the attribute information of the target object, determine whether the action of the first rule event triggers the second a condition of the rule event; or, if it is determined that the condition of the first rule event is not the attribute information of the target object, determining to store the condition of the first rule event as a base event in the acyclic mode Engine memory.
  • the determining unit 74 is further configured to determine, if the action of the first rule event triggers the condition of the second rule event, determine the condition of the rule event as a base event. And storing, in the engine memory corresponding to the full ring mode, if it is determined that the action of the first rule event does not trigger the condition of the second rule event, determining to set the condition of the rule event as a base event in the half
  • the engine memory corresponding to the ring mode needs to be explained that the rule engine 72 is defined by the domain-specific language DSL.
  • the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
  • the software functional units described above are stored in a storage medium and include instructions for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform portions of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, and the program code can be stored. Medium.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供一种流处理系统中的事件处理方法及流处理系统,该方法包括,将基础事件与规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括基础事件的引擎内存(102);若确定包括基础事件的引擎内存为全环模式对应的引擎内存,则将基础事件输入规则引擎的全环模式,在基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行基础事件获得执行结果,根据执行结果修改全环模式对应的引擎内存中目标对象的属性信息,并将执行结果与规则引擎中各引擎内存中存储的基础事件进行匹配(103)。该方法采用规则引擎的不同匹配模式对复杂事件进行分类处理,从而提高了ESP业务处理过程中复杂事件的处理性能。

Description

流处理系统中的事件处理方法及流处理系统 技术领域
本发明涉及信息处理技术,尤其涉及一种流处理系统中的事件处理方法及流处理系统。
背景技术
复杂事件处理(Complex Event Processing,简称CEP)是从多个事件来源中获取事件,通过过滤、关联、聚合等技术处理基础事件,推断产生复杂(高级)事件的技术,其核心为用于事件检测的规则匹配引擎(也称为CEP引擎)。CEP技术形象化描述类似于人体通过各种外在感知器官获取基础事件,即不同环境现象,通过大脑推理得出复杂事件,即天将下雨,从而确定执行动作,即需要收衣服。
流计算,即实时流计算,是将待处理数据以数据流的形式来处理,数据流是在时间分布和数量上无限的一系列数据记录的集合体;数据元组是数据流的最小组成单元。实时流计算最重要的特性是能够实现计算结果的实时响应。数据的价值随着时间的流逝而降低,数据出现后必须尽快地对其进行处理,最好数据出现时便立刻对其进行处理,产生一个数据进行一次处理,而不是缓存起来成一批处理,这就是流计算的关键特性。
随着大数据时代的到来和实时流计算的大规模应用,传统CEP引擎慢慢无法满足高速数据流下的复杂事件检测需求(数据量大、规则复杂、实时性要求高),从而发展出了基于实时流计算的复杂事件实时流处理(Event Stream Processing,简称ESP)平台。ESP平台可以从高速数据流所包含的复杂业务事件中提取对用户有意义的数据信息,辅助用户进行业务监测和决策控制。简单来说,用于实现ESP的ESP平台就是在流计算平台上叠加CEP组件。
目前,业界不同厂商分别基于自身原有CEP引擎进行升级扩展以支持ESP有关业务,不同的平台采用了不同的复杂事件检测方法。但由于受制于自身已有产品的架构形态等因素的影响,平台支撑的业务场景有限,例如,业务规则定制能力弱,定制过程复杂,从而导致复杂事件检测方法性能不足、易 用性不够。
发明内容
本发明实施例提供一种流处理系统中的事件处理方法及流处理系统,用以提高ESP业务处理过程中复杂事件的处理性能。
第一个方面提供了一种流处理系统中的事件处理方法,所述流处理系统包括:输入单元和规则引擎,所述规则引擎的匹配模式至少包括全环模式、半环模式和无环模式,所述规则引擎的每个匹配模式对应一个引擎内存,各所述引擎内存中存储至少一个基础事件,所述方法包括:
通过所述输入单元获取用于表征目标对象状态的至少一个基础事件,所述基础事件包括条件或所述目标对象的属性信息中的至少一个;
将所述基础事件与所述规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括所述基础事件的引擎内存;
若确定包括所述基础事件的引擎内存为全环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的全环模式,在所述基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行所述基础事件获得执行结果,根据所述执行结果修改所述全环模式对应的引擎内存中所述目标对象的属性信息,并将所述执行结果与所述规则引擎中各引擎内存中存储的基础事件进行匹配;
若确定包括所述基础事件的引擎内存为半环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的半环模式,在所述基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行所述基础事件获得执行结果,根据所述执行结果修改所述半环模式对应的引擎内存中所述目标对象的属性信息,并输出所述执行结果;
若确定包括所述基础事件的引擎内存为无环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的无环模式,在所述基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行所述基础事件,获得执行结果,并输出所述执行结果。
在第一种可能的实现方式中,所述将所述基础事件与所述规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括所述 基础事件的引擎内存之后,还包括:
若获得所述全环匹配结果、所述半环匹配结果和所述无环匹配结果中的至少两个匹配结果,则将所述全环匹配结果、所述半环匹配结果或所述无环匹配结果中的至少两个匹配结果进行聚合操作,确定获得的聚合结果为等级高的匹配模式输出的匹配结果,所述全环匹配结果的等级高于所述半环匹配结果的等级,所述半环匹配结果的等级高于所述无环匹配结果的等级。
结合第一个方面或是第一个方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将所述基础事件与所述规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括所述基础事件的引擎内存之前,还包括:
获取至少两个规则事件,所述规则事件包括条件、动作和所述目标对象的属性信息,所述规则事件用于表征目标对象状态及动作的事件;
确定第一规则事件的动作与第二规则事件的条件之间是否存在关联关系,所述第一规则事件和所述第二规则事件分别为所述至少两个规则事件中的任意两个规则事件;
若是,则将所述第一规则事件和所述第二规则事件的条件作为基础事件,存储在所述全环模式对应的引擎内存中;
若否,则确定所述第一规则事件的条件是否为所述目标对象的属性信息。
结合第一个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定所述第一规则事件的条件是否为所述目标对象的属性信息有关之后,还包括:
若确定所述第一规则事件的条件为所述目标对象的属性信息,则确定所述第一规则事件的动作是否触发所述第二规则事件的条件;或者
若确定所述第一规则事件的条件不为所述目标对象的属性信息,则确定将所述第一规则事件的条件作为基础事件存储在所述无环模式对应的引擎内存。
结合第一个方面的第三种可能的实现方式,在第四种可能的实现方式中,所述确定所述第一规则事件的动作是否触发所述第二规则事件的 目标对象的属性信息之后,还包括:
若确定所述第一规则事件的动作触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件存储在所述全环模式对应的引擎内存;
若确定所述第一规则事件的动作没有触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件设置在所述半环模式对应的引擎内存。
结合第一个方面至第一个方面的第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,所述规则引擎采用领域专用语言DSL定义。
第二个方面提供了一种流处理系统,包括:输入单元和规则引擎,所述规则引擎包括:匹配单元和执行单元;所述规则引擎的匹配模式至少包括全环模式、半环模式和无环模式,所述规则引擎的每个匹配模式对应一个引擎内存,各所述引擎内存中存储至少一个基础事件;
所述输入单元,用于获取用于表征目标对象状态的至少一个基础事件,所述基础事件包括条件或所述目标对象的属性信息中的至少一个;
所述匹配单元,用于将所述基础事件与所述规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括所述基础事件的引擎内存;
所述执行单元,用于若确定包括所述基础事件的引擎内存为全环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的全环模式,在所述基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行所述基础事件获得执行结果,根据所述执行结果修改所述全环模式对应的引擎内存中所述目标对象的属性信息,并将所述执行结果与所述规则引擎中各引擎内存中存储的基础事件进行匹配;若确定包括所述基础事件的引擎内存为半环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的半环模式,在所述基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行所述基础事件获得执行结果,根据所述执行结果修改所述半环模式对应的引擎内存中所述目标对象的属性信息,并输出所述执行结果;若确定包括所述基 础事件的引擎内存为无环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的无环模式,在所述基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行所述基础事件,获得执行结果,并输出所述执行结果。
在第一种可能的实现方式中,所述执行单元,还用于若获得所述全环匹配结果、所述半环匹配结果和所述无环匹配结果中的至少两个匹配结果,则将所述全环匹配结果、所述半环匹配结果或所述无环匹配结果中的至少两个匹配结果进行聚合操作,确定获得的聚合结果为等级高的匹配模式输出的匹配结果,所述全环匹配结果的等级高于所述半环匹配结果的等级,所述半环匹配结果的等级高于所述无环匹配结果的等级。
结合第二个方面或是第二个方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:获取单元和确定单元;
所述获取单元,用于获取至少两个规则事件,所述规则事件包括条件、动作和所述目标对象的属性信息,所述规则事件用于表征目标对象状态及动作的事件;
所述确定单元,用于确定第一规则事件的动作与第二规则事件的条件之间是否存在关联关系,所述第一规则事件和所述第二规则事件分别为所述至少两个规则事件中的任意两个规则事件;若是,则将所述第一规则事件和所述第二规则事件的条件作为基础事件,存储在所述全环模式对应的引擎内存中;若否,则确定所述第一规则事件的条件是否为所述目标对象的属性信息。
结合第二个方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定单元,还用于若确定所述第一规则事件的条件为所述目标对象的属性信息,则确定所述第一规则事件的动作是否触发所述第二规则事件的条件;或者,若确定所述第一规则事件的条件不为所述目标对象的属性信息,则确定将所述第一规则事件的条件作为基础事件存储在所述无环模式对应的引擎内存。
结合第二个方面的第三种可能的实现方式,在第四种可能的实现方式中,所述确定单元,还用于若确定所述第一规则事件的动作触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件存储 在所述全环模式对应的引擎内存;若确定所述第一规则事件的动作没有触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件设置在所述半环模式对应的引擎内存。
结合第二个方面至第二个方面的第四种可能的实现方式中的任一种可能的实现方式,在第五种可能的实现方式中,所述规则引擎采用领域专用语言DSL定义。
本发明实施例提供的流处理系统中的事件处理方法及流处理系统,通过将基础事件与规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括基础事件的引擎内存;若确定包括基础事件的引擎内存为全环模式对应的引擎内存,则将基础事件输入规则引擎的全环模式,在基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行基础事件获得执行结果,根据执行结果修改全环模式对应的引擎内存中目标对象的属性信息,并将执行结果与规则引擎中各引擎内存中存储的基础事件进行匹配;若确定包括基础事件的引擎内存为半环模式对应的引擎内存,则将基础事件输入规则引擎的半环模式,在基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行基础事件获得执行结果,根据执行结果修改半环模式对应的引擎内存中目标对象的属性信息,并输出执行结果;若确定包括基础事件的引擎内存为无环模式对应的引擎内存,则将基础事件输入规则引擎的无环模式,在基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行基础事件,获得执行结果,并输出执行结果。实现了采用规则引擎的不同匹配模式对复杂事件进行分类处理,从而提高了ESP业务处理过程中复杂事件的处理性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的流处理系统中的事件处理方法的平台结构示意图;
图2为本发明一实施例提供的事件处理方法的流程示意图;
图3为本发明一实施例提供的流处理系统中的事件处理方法的示意图;
图4为本发明另一实施例提供的事件处理方法的流程示意图;
图5为本发明一实施例提供的规则引擎的编译过程示意图;
图6为本发明一实施例提供的的规则引擎的编译示意图;
图7为本发明一实施例提供的流处理系统的结构示意图;
图8为本发明另一实施例提供的流处理系统的结构示意图;
图9为本发明再一实施例提供的流处理系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的流处理系统中的事件处理方法的平台结构示意图。如图1所示,本发明实施例提供的流处理系统中的事件处理方法适用于ESP平台,其中,该ESP平台是流计算Stream平台叠加CEP组件。
图2为本发明一实施例提供的事件处理方法的流程示意图,图3为本发明一实施例提供的流处理系统中的事件处理方法的示意图。如图2和图3所示,本实施例的流处理系统包括:输入单元和规则引擎,该规则引擎类似于图1中CEP组件,该规则引擎的匹配模式至少包括全环模式、半环模式和无环模式,规则引擎的每个匹配模式对应一个引擎内存,各引擎内存中存储至少一个基础事件。本实施例的方法,包括:
步骤101、通过输入单元获取用于表征目标对象状态的至少一个基础事件。
在本实施例中,该基础事件包括条件或目标对象的属性信息中的至 少一个。
举例来讲,获取的一个基础事件,例如,如果VIP用户的当月话费超过1000元,则可以确定该基础事件的目标对象的属性信息为VIP用户,条件为当月话费超过1000元。
步骤102、将基础事件与规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括基础事件的引擎内存。
在本实施例中,在确定包括基础事件的引擎内存之后,可以对该基础事件进行适配封装,例如,对基础事件的目标对象的属性信息的保存、数据结构适配与转换、标识符添加等工作,其中,标识符添加包括在基础时间中增加全环标识、半环标识、无环标识。
步骤103、若确定包括基础事件的引擎内存为全环模式对应的引擎内存,则将基础事件输入规则引擎的全环模式,在基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行基础事件获得执行结果,根据执行结果修改全环模式对应的引擎内存中目标对象的属性信息,并将执行结果与规则引擎中各引擎内存中存储的基础事件进行匹配;
步骤104、若确定包括基础事件的引擎内存为半环模式对应的引擎内存,则将基础事件输入规则引擎的半环模式,在基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行基础事件获得执行结果,根据执行结果修改半环模式对应的引擎内存中目标对象的属性信息,并输出执行结果;
步骤105、若确定包括基础事件的引擎内存为无环模式对应的引擎内存,则将基础事件输入规则引擎的无环模式,在基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行基础事件,获得执行结果,并输出执行结果。
在本实施例中,将基础事件与规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括基础事件的引擎内存;若确定包括基础事件的引擎内存为全环模式对应的引擎内存,则将基础事件输入规则引擎的全环模式,在基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行基础事件获得执行结果,根据执行 结果修改全环模式对应的引擎内存中目标对象的属性信息,并将执行结果与规则引擎中各引擎内存中存储的基础事件进行匹配;若确定包括基础事件的引擎内存为半环模式对应的引擎内存,则将基础事件输入规则引擎的半环模式,在基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行基础事件获得执行结果,根据执行结果修改半环模式对应的引擎内存中目标对象的属性信息,并输出执行结果;若确定包括基础事件的引擎内存为无环模式对应的引擎内存,则将基础事件输入规则引擎的无环模式,在基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行基础事件,获得执行结果,并输出执行结果。实现了采用规则引擎的不同匹配模式对复杂事件进行分类处理,从而提高了ESP业务处理过程中复杂事件的处理性能。
在上述实施例的基础上,在步骤102之后,还可以包括:
若获得全环匹配结果、半环匹配结果和无环匹配结果中的至少两个匹配结果,则将全环匹配结果、半环匹配结果或无环匹配结果中的至少两个匹配结果进行聚合操作,确定获得的聚合结果为等级高的匹配模式输出的匹配结果,全环匹配结果的等级高于半环匹配结果的等级,半环匹配结果的等级高于无环匹配结果的等级。
具体的,基础事件首先通过输入单元进入流处理系统,接着,通过匹配以确定包括基础事件的引擎内存,并对该基础事件进行适配封装,获得匹配结果,接着,若获得多个匹配结果,可以对该些匹配结果进行聚合操作,若获得全环匹配结果、半环匹配结果和无环匹配结果中的至少两个匹配结果,则将全环匹配结果、半环匹配结果或无环匹配结果中的至少两个匹配结果进行聚合操作,确定获得的聚合结果为等级高的匹配模式输出的匹配结果,并对聚合结果进行执行操作,获得执行结果。需要说明的是全环匹配结果的等级高于半环匹配结果的等级,半环匹配结果的等级高于无环匹配结果的等级。
进一步的,在上述实施例的基础上,如图3所示,通过匹配之后的基础事件存储在匹配存储节点,并且,匹配存储节点在全网络间共享,从而减少冗余匹配。
可选的是,通过全环模式匹配后的基础事件,在执行基础事件之前,可以将该基础事件输入规则链中进行排序,接着,依次对规则链中 输出基础事件进行执行操作,需要说明的是,规则链对基础事件的排序规则可以由本领域技术人员根据实际需求设定。
图4为本发明另一实施例提供的事件处理方法的流程示意图。图5为本发明一实施例提供的规则引擎的编译过程示意图。图6为本发明一实施例提供的的规则引擎的编译示意图。如图4和图5所示,在上述实施例的基础上,在步骤102之前,还可以包括:
步骤401、获取至少两个规则事件。
在本实施例中,规则事件用于表征目标对象状态及动作的事件。该规则事件包括条件、动作和目标对象的属性信息。需要说明的是,目标对象的属性信息可以为用户信息、用户的余额信息、或用户的流量包信息等,其中,用户信息可以包括普通用户或VIP用户。
本实施例中,获取至少两个规则事件的具体内容可以为如6左边起的第一列的内容所示,但不以此为限,在此不再一一列举规则事件的具体内容。
举例来讲,以规则事件为rule2为例,如果VIP用户的当月话费超过1000元,则通话费用享受90%折扣,也就是说,可以确定该规则事件的目标对象的属性信息为VIP用户,条件为当月话费超过1000元,动作为通话费用享受90%折扣。
步骤402、确定至少第一规则事件的动作与第二规则事件的条件之间是否存在关联关系。
在本实施例中,第一规则事件和所述第二规则事件分别为所述至少两个规则事件中的任意两个规则事件。若确定为是,则确定第一规则事件和第二规则事件为紧密关联型规则,执行步骤403,若确定为否,则确定第一规则事件和第二规则事件为松散关联型规则,执行步骤404。
举例来讲,第一规则事件为规则rule1:普通用户的当月话费超过100元,将普通用户升级为VIP用户;第二规则事件为为规则rule2:VIP用户话费超过1000元,通话费用享用90%折扣。首先,可以确定第一规则事件的动作为将普通用户升级为VIP用户,第二规则事件的条件为VIP用户话费超过1000元,并可以确定第一规则事件的动作与第二规则事件的条件之间存在关联关系,从而执行步骤403。
再举例来讲,第一规则事件为为规则rule3:若用户余额低于10元,则发送短信提示;第二规则事件为为规则rule5:若用户流量套餐可用流量少于5M,则向用户推荐流量加油包。首先,可以确定第一规则事件的动作为发送短信提示,第二规则事件的条件为用户流量套餐可用流量少于5M,并可以确定第一规则事件的动作与第二规则事件的条件之间没有存在关联关系,从而执行步骤404。
在本实施例中,如表1所示,将rule1和rule2确定为紧密关联型规则,执行步骤403,将rule3-rule8确定为松散关联型规则,执行步骤404
步骤403、将第一规则事件和第二规则事件的条件,作为基础事件存储在全环模式对应的引擎内存中。
具体的,对应步骤402的举例,若第一规则事件为规则rule1,第二规则事件为规则rule2,则可以确定第一规则事件的条件普通用户的当月话费超过100元,第二规则事件的条件为VIP用户话费超过1000元,作为基础事件存储在全环模式对应的引擎内存中,从而将引擎内存中存储的基础事件作为匹配全环模式的匹配条件。
步骤404、确定第一规则事件的条件为目标对象的属性信息。
在本实施例中,若确定为是,则执行步骤405,若确定为否,则执行步骤406。
举例来讲,若第一规则事件为rule3-rule8中的任一规则事件,例如,第一规则事件为rule3,若用户余额低于10元,则发送短信提示;或者,第一规则事件为rule4,若用户余额低于0元,则将该用户停机;或者,第一规则事件为rule5,若用户流量套餐可用流量少于5M,则向用户推荐流量加油包;可以确定第一规则事件的条件用户余额低于10元、用户余额低于0元、用户流量套餐可用流量少于5M均为目标对象的属性信息,也就是内部事件对象输入。因此,可以执行步骤405。
需要说明的,在执行步骤405之前,确定规则事件的动作是否触发自身目标对象的属性信息变化,若确定规则事件的动作触发自身目标对象的属性信息变化,则确定该规则事件为内部事件对象输出,如rule4、rule7和rule8,若确定规则事件的动作不触发自身目标对象的属性信息 变化,则确定该规则事件为外部事件对象输出,如rule3、rule5和rule6。
步骤405、确定第一规则事件的动作是否触发第二规则事件的条件。
在本实施例中,若是,则执行步骤407,若否,则执行步骤408。
需要说明的是,确定第一规则事件的动作是否触发第二规则事件的条件,即若第一规则事件的动作是否触发第二规则事件的条件,则确定第一规则事件与第二规则事件为内部事件对象输出。
举例来讲,第一规则事件为rule8,若用户使用手机银行支付额度超过1000元,则升级为VIP用户。第二规则事件为rule2,若VIP用户的当月话费超过1000元,则通话享受90%折扣。第一规则事件的动作升级为VIP用户,可以触发第二规则事件的条件,即VIP用户的当月话费超过100元,接着执行步骤407。
举例来讲,第一规则事件为rule3,若用户余额低于10元,则发送短信提示;第二规则事件为rule4,若用户余额低于0元,则将该用户停机;第一规则事件rule3的动作升级为VIP用户,不触发第二规则事件rule4的条件,即用户余额低于0元,接着执行步骤406。
步骤406、确定将规则事件的条件作为基础事件存储在无环模式对应的引擎内存。
举例来讲,将rule3、rule5和rule6的条件作为基础事件存储在无环模式对应的引擎内存。
步骤407、确定将规则事件的条件作为基础事件存储在全环模式对应的引擎内存。
举例来讲,将rule8的条件作为基础事件存储在全环模式对应的引擎内存。
步骤408、确定将规则事件的条件作为基础事件设置在半环模式对应的引擎内存。
举例来讲,将rule4和rule7的条件作为基础事件设置在半环模式对应的引擎内存。
需要说明的是,对规则引擎的编译可以采用领域专用语言(Domain Specific Language,简称为DSL)对编译模型进行定义,如图6所示,即 右边起第一列所示,采用“if-then”形式语言定义该编译模型,从而,便于工作人员对该编译模型的定义与操作。
在本实施例中,根据规则事件对CEP引擎进行编译,提高ESP业务处理过程中复杂事件的处理性能。
在本实施例中,上述实施例的编译模型可以设置在同一单机中,或者设置在不同的单机中,即集群部署。
图7为本发明一实施例提供的流处理系统的结构示意图,如图7所示,该流处理系统,包括:输入单元71和规则引擎72,规则引擎72包括:匹配单元721和执行单元722;规则引擎72的匹配模式至少包括全环模式、半环模式和无环模式,规则引擎72的每个匹配模式对应一个引擎内存,各引擎内存中存储至少一个基础事件;
输入单元,用于获取用于表征目标对象状态的至少一个基础事件,基础事件包括条件或目标对象的属性信息中的至少一个;
匹配单元,用于将基础事件与规则引擎72中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括基础事件的引擎内存;
执行单元,用于若确定包括基础事件的引擎内存为全环模式对应的引擎内存,则将基础事件输入规则引擎72的全环模式,在基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行基础事件获得执行结果,根据执行结果修改全环模式对应的引擎内存中目标对象的属性信息,并将执行结果与规则引擎72中各引擎内存中存储的基础事件进行匹配;若确定包括基础事件的引擎内存为半环模式对应的引擎内存,则将基础事件输入规则引擎72的半环模式,在基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行基础事件获得执行结果,根据执行结果修改半环模式对应的引擎内存中目标对象的属性信息,并输出执行结果;若确定包括基础事件的引擎内存为无环模式对应的引擎内存,则将基础事件输入规则引擎72的无环模式,在基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行基础事件,获得执行结果,并输出执行结果。
在本实施例中,将基础事件与规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括基础事件的引擎内存;若确定包 括基础事件的引擎内存为全环模式对应的引擎内存,则将基础事件输入规则引擎的全环模式,在基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行基础事件获得执行结果,根据执行结果修改全环模式对应的引擎内存中目标对象的属性信息,并将执行结果与规则引擎中各引擎内存中存储的基础事件进行匹配;若确定包括基础事件的引擎内存为半环模式对应的引擎内存,则将基础事件输入规则引擎的半环模式,在基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行基础事件获得执行结果,根据执行结果修改半环模式对应的引擎内存中目标对象的属性信息,并输出执行结果;若确定包括基础事件的引擎内存为无环模式对应的引擎内存,则将基础事件输入规则引擎的无环模式,在基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行基础事件,获得执行结果,并输出执行结果。实现了采用规则引擎的不同匹配模式对复杂事件进行分类处理,从而提高了ESP业务处理过程中复杂事件的处理性能。
进一步的,在上述实施例的基础上,执行单元,还用于若获得全环匹配结果、半环匹配结果和无环匹配结果中的至少两个匹配结果,则将全环匹配结果、半环匹配结果或无环匹配结果中的至少两个匹配结果进行聚合操作,确定获得的聚合结果为等级高的匹配模式输出的匹配结果,全环匹配结果的等级高于半环匹配结果的等级,半环匹配结果的等级高于无环匹配结果的等级。
在本实施例中,提高了ESP业务处理过程中复杂事件的处理性能。
图8为本发明另一实施例提供的流处理系统的结构示意图,如图7所示在上述实施例的基础上,流处理系统还可以包括:获取单元73和确定单元74;
获取单元73,用于获取至少两个规则事件,规则事件包括条件、动作和目标对象的属性信息,规则事件用于表征目标对象状态及动作的事件;
确定单元74,用于确定第一规则事件的动作与第二规则事件的条件之间是否存在关联关系,所述第一规则事件和所述第二规则事件分别为所述至少两个规则事件中的任意两个规则事件;若是,则将所述第一规 则事件和所述第二规则事件的条件作为基础事件,存储在所述全环模式对应的引擎内存中;若否,则确定所述第一规则事件的条件是否为所述目标对象的属性信息。
在本实施例中,提高了ESP业务处理过程中复杂事件的处理性能。
在上述实施例的基础上,确定单元74,还用于若确定所述第一规则事件的条件为所述目标对象的属性信息,则确定所述第一规则事件的动作是否触发所述第二规则事件的条件;或者,若确定所述第一规则事件的条件不为所述目标对象的属性信息,则确定将所述第一规则事件的条件作为基础事件存储在所述无环模式对应的引擎内存。
进一步的,在上述实施例的基础上,确定单元74,还用于若确定所述第一规则事件的动作触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件存储在所述全环模式对应的引擎内存;若确定所述第一规则事件的动作没有触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件设置在所述半环模式对应的引擎内存需要说明的是,规则引擎72采用领域专用语言DSL定义。
在本实施例中,提高了ESP业务处理过程中复杂事件的处理性能。
需要说明的是,本实施例可以执行上述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明再一实施例提供的流处理系统的结构示意图。如图9所示,该流处理系统包括:存储器91和与存储器91连接的处理器92。其中,存储器91存储执行指令,当获得操作指令时,处理器92与存储器91之间通信,处理器92执行执行指令流处理系统上述任一方法实施例中的技术方案。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (12)

  1. 一种流处理系统中的事件处理方法,其特征在于,所述流处理系统包括:输入单元和规则引擎,所述规则引擎的匹配模式至少包括全环模式、半环模式和无环模式,所述规则引擎的每个匹配模式对应一个引擎内存,各所述引擎内存中存储至少一个基础事件,所述方法包括:
    通过所述输入单元获取用于表征目标对象状态的至少一个基础事件,所述基础事件包括条件或所述目标对象的属性信息中的至少一个;
    将所述基础事件与所述规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括所述基础事件的引擎内存;
    若确定包括所述基础事件的引擎内存为全环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的全环模式,在所述基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行所述基础事件获得执行结果,根据所述执行结果修改所述全环模式对应的引擎内存中所述目标对象的属性信息,并将所述执行结果与所述规则引擎中各引擎内存中存储的基础事件进行匹配;
    若确定包括所述基础事件的引擎内存为半环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的半环模式,在所述基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行所述基础事件获得执行结果,根据所述执行结果修改所述半环模式对应的引擎内存中所述目标对象的属性信息,并输出所述执行结果;
    若确定包括所述基础事件的引擎内存为无环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的无环模式,在所述基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行所述基础事件,获得执行结果,并输出所述执行结果。
  2. 根据权利要求1所述的方法,其特征在于,所述将所述基础事件与所述规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括所述基础事件的引擎内存之后,还包括:
    若获得所述全环匹配结果、所述半环匹配结果和所述无环匹配结果中的至少两个匹配结果,则将所述全环匹配结果、所述半环匹配结果或所述无环匹配结果中的至少两个匹配结果进行聚合操作,确定获得的聚 合结果为等级高的匹配模式输出的匹配结果,所述全环匹配结果的等级高于所述半环匹配结果的等级,所述半环匹配结果的等级高于所述无环匹配结果的等级。
  3. 根据权利要求1或2所述的方法,其特征在于,所述将所述基础事件与所述规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括所述基础事件的引擎内存之前,还包括:
    获取至少两个规则事件,所述规则事件包括条件、动作和所述目标对象的属性信息,所述规则事件用于表征目标对象状态及动作的事件;
    确定第一规则事件的动作与第二规则事件的条件之间是否存在关联关系,所述第一规则事件和所述第二规则事件分别为所述至少两个规则事件中的任意两个规则事件;
    若是,则将所述第一规则事件和所述第二规则事件的条件作为基础事件,存储在所述全环模式对应的引擎内存中;
    若否,则确定所述第一规则事件的条件是否为所述目标对象的属性信息。
  4. 根据权利要求3所述的方法,其特征在于,所述确定所述第一规则事件的条件是否为所述目标对象的属性信息有关之后,还包括:
    若确定所述第一规则事件的条件为所述目标对象的属性信息,则确定所述第一规则事件的动作是否触发所述第二规则事件的条件;或者
    若确定所述第一规则事件的条件不为所述目标对象的属性信息,则确定将所述第一规则事件的条件作为基础事件存储在所述无环模式对应的引擎内存。
  5. 根据权利要求4所述的方法,其特征在于,所述确定所述第一规则事件的动作是否触发所述第二规则事件的目标对象的属性信息之后,还包括:
    若确定所述第一规则事件的动作触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件存储在所述全环模式对应的引擎内存;
    若确定所述第一规则事件的动作没有触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件设置在所述半环模式对 应的引擎内存。
  6. 根据权利要求1-5任一项所述的方法,其特征在于,所述规则引擎采用领域专用语言DSL定义。
  7. 一种流处理系统,其特征在于,包括:输入单元和规则引擎,所述规则引擎包括:匹配单元和执行单元;所述规则引擎的匹配模式至少包括全环模式、半环模式和无环模式,所述规则引擎的每个匹配模式对应一个引擎内存,各所述引擎内存中存储至少一个基础事件;
    所述输入单元,用于获取用于表征目标对象状态的至少一个基础事件,所述基础事件包括条件或所述目标对象的属性信息中的至少一个;
    所述匹配单元,用于将所述基础事件与所述规则引擎中匹配模式对应的引擎内存中存储的基础事件进行匹配,确定包括所述基础事件的引擎内存;
    所述执行单元,用于若确定包括所述基础事件的引擎内存为全环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的全环模式,在所述基础事件中增加全环标识,将增加全环标识的基础事件作为全环匹配结果,并执行所述基础事件获得执行结果,根据所述执行结果修改所述全环模式对应的引擎内存中所述目标对象的属性信息,并将所述执行结果与所述规则引擎中各引擎内存中存储的基础事件进行匹配;若确定包括所述基础事件的引擎内存为半环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的半环模式,在所述基础事件中增加半环标识,将增加半环标识的基础事件作为半环匹配结果,并执行所述基础事件获得执行结果,根据所述执行结果修改所述半环模式对应的引擎内存中所述目标对象的属性信息,并输出所述执行结果;若确定包括所述基础事件的引擎内存为无环模式对应的引擎内存,则将所述基础事件输入所述规则引擎的无环模式,在所述基础事件中增加无环标识,将增加无环标识的基础事件作为无环匹配结果,并执行所述基础事件,获得执行结果,并输出所述执行结果。
  8. 根据权利要求7所述的系统,其特征在于,所述执行单元,还用于若获得所述全环匹配结果、所述半环匹配结果和所述无环匹配结果中的至少两个匹配结果,则将所述全环匹配结果、所述半环匹配结果或所 述无环匹配结果中的至少两个匹配结果进行聚合操作,确定获得的聚合结果为等级高的匹配模式输出的匹配结果,所述全环匹配结果的等级高于所述半环匹配结果的等级,所述半环匹配结果的等级高于所述无环匹配结果的等级。
  9. 根据权利要求7或8所述的系统,其特征在于,还包括:获取单元和确定单元;
    所述获取单元,用于获取至少两个规则事件,所述规则事件包括条件、动作和所述目标对象的属性信息,所述规则事件用于表征目标对象状态及动作的事件;
    所述确定单元,用于确定第一规则事件的动作与第二规则事件的条件之间是否存在关联关系,所述第一规则事件和所述第二规则事件分别为所述至少两个规则事件中的任意两个规则事件;若是,则将所述第一规则事件和所述第二规则事件的条件作为基础事件,存储在所述全环模式对应的引擎内存中;若否,则确定所述第一规则事件的条件是否为所述目标对象的属性信息。
  10. 根据权利要求9所述的系统,其特征在于,所述确定单元,还用于若确定所述第一规则事件的条件为所述目标对象的属性信息,则确定所述第一规则事件的动作是否触发所述第二规则事件的条件;或者,若确定所述第一规则事件的条件不为所述目标对象的属性信息,则确定将所述第一规则事件的条件作为基础事件存储在所述无环模式对应的引擎内存。
  11. 根据权利要求10所述的系统,其特征在于,所述确定单元,还用于若确定所述第一规则事件的动作触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件存储在所述全环模式对应的引擎内存;若确定所述第一规则事件的动作没有触发所述第二规则事件的条件,则确定将所述规则事件的条件作为基础事件设置在所述半环模式对应的引擎内存。
  12. 根据权利要求7-11任一项所述的系统,其特征在于,所述规则引擎采用领域专用语言DSL定义。
PCT/CN2015/072577 2014-06-30 2015-02-09 流处理系统中的事件处理方法及流处理系统 WO2016000454A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15744845.7A EP2983117A4 (en) 2014-06-30 2015-02-09 EVENT PROCESSING METHOD IN A STREAM PROCESSING SYSTEM AND STREAM PROCESSING SYSTEM
US14/849,074 US9483332B2 (en) 2014-06-30 2015-09-09 Event processing method in stream processing system and stream processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410309554.X 2014-06-30
CN201410309554.XA CN104050543B (zh) 2014-06-30 2014-06-30 流处理系统中的事件处理方法及流处理系统

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/849,074 Continuation US9483332B2 (en) 2014-06-30 2015-09-09 Event processing method in stream processing system and stream processing system

Publications (1)

Publication Number Publication Date
WO2016000454A1 true WO2016000454A1 (zh) 2016-01-07

Family

ID=51503352

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/072577 WO2016000454A1 (zh) 2014-06-30 2015-02-09 流处理系统中的事件处理方法及流处理系统

Country Status (3)

Country Link
EP (1) EP2983117A4 (zh)
CN (1) CN104050543B (zh)
WO (1) WO2016000454A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168354A (zh) * 2022-07-11 2022-10-11 广州市玄武无线科技股份有限公司 一种关于移动端事件流的集成处理方法及装置
CN115292065A (zh) * 2022-07-29 2022-11-04 成都智元汇信息技术股份有限公司 一种基于流架构的事件确认方法、系统及装置
CN118012720A (zh) * 2024-04-09 2024-05-10 浙江口碑网络技术有限公司 复杂事件处理方法、装置、介质及设备

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9483332B2 (en) 2014-06-30 2016-11-01 Huawei Technologies Co., Ltd. Event processing method in stream processing system and stream processing system
CN104050543B (zh) * 2014-06-30 2017-06-20 华为技术有限公司 流处理系统中的事件处理方法及流处理系统
CN104504143B (zh) * 2015-01-04 2017-12-29 华为技术有限公司 一种流图优化方法及其装置
CN105354242A (zh) * 2015-10-15 2016-02-24 北京航空航天大学 分布式数据处理方法及装置
CN106909543B (zh) * 2015-12-22 2020-08-25 阿里巴巴集团控股有限公司 一种规则引擎的模式匹配方法和装置
CN106469086B (zh) * 2016-08-31 2020-04-14 无锡雅座在线科技股份有限公司 事件处理方法和装置
CN110704049B (zh) * 2019-10-09 2023-07-04 紫光云技术有限公司 一种简单易用的规则引擎条件配置方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060224542A1 (en) * 2005-03-16 2006-10-05 Aravind Yalamanchi Incremental evaluation of complex event-condition-action rules in a database system
CN101685466A (zh) * 2009-07-22 2010-03-31 中兴通讯股份有限公司 事件处理方法和设备
CN102214187A (zh) * 2010-04-12 2011-10-12 阿里巴巴集团控股有限公司 复合事件处理方法及装置
CN104050543A (zh) * 2014-06-30 2014-09-17 华为技术有限公司 流处理系统中的事件处理方法及流处理系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8374987B2 (en) * 2008-06-30 2013-02-12 Sap Ag Stateful, continuous evaluation of rules by a state correlation engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060224542A1 (en) * 2005-03-16 2006-10-05 Aravind Yalamanchi Incremental evaluation of complex event-condition-action rules in a database system
CN101685466A (zh) * 2009-07-22 2010-03-31 中兴通讯股份有限公司 事件处理方法和设备
CN102214187A (zh) * 2010-04-12 2011-10-12 阿里巴巴集团控股有限公司 复合事件处理方法及装置
CN104050543A (zh) * 2014-06-30 2014-09-17 华为技术有限公司 流处理系统中的事件处理方法及流处理系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168354A (zh) * 2022-07-11 2022-10-11 广州市玄武无线科技股份有限公司 一种关于移动端事件流的集成处理方法及装置
CN115168354B (zh) * 2022-07-11 2023-06-30 广州市玄武无线科技股份有限公司 一种关于移动端事件流的集成处理方法及装置
CN115292065A (zh) * 2022-07-29 2022-11-04 成都智元汇信息技术股份有限公司 一种基于流架构的事件确认方法、系统及装置
CN118012720A (zh) * 2024-04-09 2024-05-10 浙江口碑网络技术有限公司 复杂事件处理方法、装置、介质及设备

Also Published As

Publication number Publication date
EP2983117A1 (en) 2016-02-10
CN104050543B (zh) 2017-06-20
CN104050543A (zh) 2014-09-17
EP2983117A4 (en) 2016-05-25

Similar Documents

Publication Publication Date Title
WO2016000454A1 (zh) 流处理系统中的事件处理方法及流处理系统
CN107169358B (zh) 基于代码指纹的代码同源性检测方法及其装置
CN105574098B (zh) 知识图谱的生成方法及装置、实体对比方法及装置
US8374987B2 (en) Stateful, continuous evaluation of rules by a state correlation engine
CN107678776A (zh) 多模块版本依赖关系构建方法、装置、服务器和存储介质
CN106649212A (zh) 一种业务数据处理的方法及装置
WO2016201933A1 (zh) 用户数据处理方法、提供方法、系统和计算机设备
CN104424018B (zh) 分布式计算事务处理方法及装置
CN108171528B (zh) 一种归因方法及归因系统
CN108108288A (zh) 一种日志数据解析方法、装置及设备
WO2021027421A1 (zh) 用于人机交互的人机多轮对话方法及系统、智能设备
CN106682514B (zh) 基于子图挖掘的系统调用序列特征模式集生成方法
CN111163065A (zh) 异常用户检测方法及装置
US20120173493A1 (en) Method and apparatus for providing safeguarding against malicious ontologies
CN108376064B (zh) 规则引擎系统及规则引擎的相关方法
CN110298000A (zh) 页面参数的获取方法、终端设备及介质
CN106815100A (zh) 接口测试方法及装置
CN103559320A (zh) 对异质网络中对象进行排序的方法
CN112767108A (zh) 决策树创建方法和装置、规则执行方法和装置及存储介质
CN112783614A (zh) 对象处理方法、装置、设备、存储介质以及程序产品
CN106911730A (zh) 一种云盘服务器访问迁移方法和装置
US9483332B2 (en) Event processing method in stream processing system and stream processing system
US20240045790A1 (en) System and method for generating non-fungible token-based test suites from design diagrams
CN117032646A (zh) 指标配置方法、指标执行方法及系统
CN113420097B (zh) 一种数据分析方法、装置、存储介质及服务器

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2015744845

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15744845

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE