CN111061763A - Method and device for generating rule execution plan of rule engine - Google Patents

Method and device for generating rule execution plan of rule engine Download PDF

Info

Publication number
CN111061763A
CN111061763A CN201911109250.8A CN201911109250A CN111061763A CN 111061763 A CN111061763 A CN 111061763A CN 201911109250 A CN201911109250 A CN 201911109250A CN 111061763 A CN111061763 A CN 111061763A
Authority
CN
China
Prior art keywords
rule
execution
unit
hierarchical structure
overhead
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.)
Granted
Application number
CN201911109250.8A
Other languages
Chinese (zh)
Other versions
CN111061763B (en
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911109250.8A priority Critical patent/CN111061763B/en
Publication of CN111061763A publication Critical patent/CN111061763A/en
Application granted granted Critical
Publication of CN111061763B publication Critical patent/CN111061763B/en
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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Embodiments of the present description provide methods and apparatus for generating a rule execution plan for a rules engine. In the method, based on the logical operation relationship in the rule tree, the rule tree is subjected to hierarchical analysis to obtain the hierarchical structure information of the rule tree, wherein the hierarchical structure information comprises the logical composition relationship of each hierarchical structure and the hierarchical relationship of each hierarchical structure; determining the execution overhead of each rule unit; determining the execution sequence of each rule unit based on the execution overhead of each rule unit and the hierarchical structure information of the rule tree; and generating a rule execution plan of the rule according to the determined execution sequence of each rule unit.

Description

Method and device for generating rule execution plan of rule engine
Technical Field
Embodiments of the present description relate generally to the field of computers, and more particularly, to a method and apparatus for generating a rule execution plan for a rule engine.
Background
In data security middleboxes, it is necessary to use a rules engine for on-line traffic, e.g. to identify risks in traffic data. The execution efficiency of the rules engine directly affects the processing efficiency of the online business.
The rules in the rule engine may be generally subdivided into a plurality of rule units, each rule unit being an atomic node in the rule, the rule units being further subdivided and the plurality of rule units forming the rule through and, or, non-logical operations. Each rule engine typically has a rule execution plan that specifies an execution order for a plurality of rule units in the rule engine.
When the rule engine executes, the rule units are scheduled to execute according to the execution sequence in the rule execution plan, and each scheduled execution rule unit loads associated data from one or more external data sources for association analysis. Then, the execution results of the plurality of rule units are logically operated according to the operation logic specified in the rule to obtain a rule engine processing result.
The transactions to be processed and the data sources accessed are different for each rule unit, so that the computational overhead and I/O overhead may be different for each rule unit. The rule execution plan of the rule engine determines the execution order of the respective rule units, whereby the execution efficiency of the rule engine depends on the efficiency of the rule execution plan. How to make the generated rule execution plan of the rule engine have high efficiency becomes a problem to be solved.
Disclosure of Invention
In view of the foregoing, embodiments of the present specification provide a rule execution plan generation method, apparatus, and rule execution system for generating a rule engine. By using the method and the system, the rule execution plan can be generated efficiently.
According to an aspect of an embodiment of the present specification, there is provided a method for generating a rule execution plan of a rule engine, including: performing hierarchical analysis on a rule tree based on a logical operation relationship in the rule tree to obtain hierarchical structure information of the rule tree, wherein the hierarchical structure information comprises a logical composition relationship of each hierarchical structure and a hierarchical relationship of each hierarchical structure; determining the execution overhead of each rule unit; determining an execution sequence of each rule unit based on the execution overhead of each rule unit and the hierarchical structure information of the rule tree; and generating a rule execution plan of the rule according to the determined execution sequence of each rule unit.
Optionally, in an example of the above aspect, determining the execution order of the rule units based on the execution overhead of the rule units and the hierarchical structure information of the rule tree may include: determining the execution sequence of each rule unit in the hierarchical structure based on the execution overhead of the rule unit; determining the execution sequence of each level of hierarchical structure in the upper hierarchical structure based on the execution overhead of each level of hierarchical structure; and for each rule unit, determining the execution sequence of the rule unit based on the execution sequence of the rule unit in the hierarchical structure and the execution sequence of each hierarchical structure to which the rule unit belongs in the respective upper hierarchical structure.
Optionally, in an example of the above aspect, the execution overhead of each hierarchy may be determined according to the execution overhead and logical relationship of each constituent element of the hierarchy.
Optionally, in an example of the above aspect, the execution overhead may include a computation overhead and/or an IO overhead.
Alternatively, in an example of the above aspect, the logical operations in the rule tree may include and logic, or logic and/or nor logic, where the lower nodes of the logic nodes form the same hierarchy, or the lower nodes of the logic nodes form a lower hierarchy of the hierarchy in which the logic nodes are located, and the lower nodes of the non-logic nodes are layered in the hierarchy in which the upper nodes of the non-logic nodes are located.
Optionally, in an example of the above aspect, before generating the rule execution plan of the rule, the method may further include: and performing logic operation conversion processing on each rule unit based on the logic operation relation in the rule tree.
Alternatively, in one example of the above aspect, the execution order of constituent elements in a hierarchy constituted by lower nodes of the or logical node is exchangeable.
Optionally, in an example of the above aspect, the method may further include: sending the generated rule execution plan to a rule execution device for executing a rule at the rule execution device according to the rule execution plan.
Optionally, in an example of the above aspect, the method may further include: receiving a rule execution request, wherein a hierarchical analysis of a rule tree is initiated in response to receiving the rule execution request based on logical operational relationships in the rule tree.
According to another aspect of embodiments of the present specification, there is provided an apparatus for generating a rule execution plan of a rule engine, including: the hierarchical analysis unit is used for carrying out hierarchical analysis on the rule tree based on the logical operation relationship in the rule tree to obtain the hierarchical structure information of the rule tree, wherein the hierarchical structure information comprises the logical composition relationship of each hierarchical structure and the hierarchical relationship of each hierarchical structure; an overhead determining unit that determines execution overheads of the respective rule units; an execution order determination unit that determines an execution order of the respective rule units based on the execution overhead of the respective rule units and the hierarchical structure information of the rule tree; and a plan generating unit for generating a rule execution plan of the rule according to the determined execution sequence of each rule unit.
Optionally, in an example of the above aspect, for each rule unit, the execution order determination unit may determine, based on the execution overhead of the respective rule unit, an execution order of the rule unit in the hierarchical structure; determining the execution sequence of each level of hierarchical structure in the upper hierarchical structure based on the execution overhead of each level of hierarchical structure; and for each rule unit, determining the execution sequence of the rule unit based on the execution sequence of the rule unit in the hierarchical structure and the execution sequence of each hierarchical structure to which the rule unit belongs in the respective upper hierarchical structure.
Alternatively, in one example of the above aspect, the overhead determination unit determines the execution overhead of the hierarchy according to the execution overhead and logical relationship of each constituent element of the hierarchy.
Optionally, in an example of the above aspect, the apparatus may further include: and a logic conversion unit which performs logic operation conversion processing on each rule unit based on the logic operation relation in the rule tree before generating the rule execution plan of the rule.
Optionally, in an example of the above aspect, the apparatus may further include: a plan transmission unit that transmits the generated rule execution plan to a rule execution device to execute a rule according to the rule execution plan at the rule execution device.
Optionally, in an example of the above aspect, the apparatus may further include: a request receiving unit that receives a rule execution request, wherein the hierarchical analysis unit initiates a hierarchical analysis of the rule tree in response to receiving the rule execution request.
According to another aspect of embodiments of the present specification, there is provided a rule execution system including: means for generating a rule execution plan for a rules engine as described above; and a rule execution device.
According to another aspect of embodiments of the present specification, there is provided an electronic apparatus including: one or more processors, and a memory coupled with the one or more processors, the memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform a method for generating a rule execution plan for a rule engine as described above.
According to another aspect of embodiments herein, there is provided a machine-readable storage medium storing executable instructions that, when executed, cause the machine to perform a method for generating a rule execution plan for a rules engine as described above.
Drawings
A further understanding of the nature and advantages of the contents of the embodiments of the specification may be realized by reference to the following drawings. In the drawings, similar components or features may have the same reference numerals.
FIG. 1 shows an architectural diagram of a rules engine;
FIG. 2 illustrates an example schematic diagram of generating a rule execution plan based on a depth-first search;
FIG. 3 illustrates a block diagram of a rule execution system in accordance with an embodiment of the present description;
FIG. 4 illustrates a flow diagram of a method for generating a rule execution plan for a rules engine in accordance with an embodiment of the present description;
FIG. 5 shows a flowchart of a process for determining an execution order of rule units, according to an embodiment of the present description;
FIG. 6 illustrates a schematic diagram of one example of a rule tree, according to an embodiment of the present description;
FIG. 7 is a diagram illustrating an execution order of rule units generated based on the rule tree of FIG. 6;
FIG. 8 shows a schematic diagram of another example of a rule tree according to an embodiment of the present specification;
FIG. 9 is a diagram illustrating an execution order of rule units generated based on the rule tree of FIG. 8;
FIG. 10 shows a block diagram of a rule execution plan generation apparatus according to an embodiment of the present specification;
FIG. 11 illustrates a block diagram of an electronic device for generating a rule execution plan in a rules engine in accordance with an embodiment of the present description.
Detailed Description
The subject matter described herein will now be discussed with reference to example embodiments. It should be understood that these embodiments are discussed only to enable those skilled in the art to better understand and thereby implement the subject matter described herein, and are not intended to limit the scope, applicability, or examples set forth in the claims. Changes may be made in the function and arrangement of elements discussed without departing from the scope of the embodiments of the disclosure. Various examples may omit, substitute, or add various procedures or components as needed. For example, the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. In addition, features described with respect to some examples may also be combined in other examples.
As used herein, the term "include" and its variants mean open-ended terms in the sense of "including, but not limited to. The term "based on" means "based at least in part on". The terms "one embodiment" and "an embodiment" mean "at least one embodiment". The term "another embodiment" means "at least one other embodiment". The terms "first," "second," and the like may refer to different or the same object. Other definitions, whether explicit or implicit, may be included below. The definition of a term is consistent throughout the specification unless the context clearly dictates otherwise.
FIG. 1 shows a schematic of the structure of a rules engine architecture. As shown in FIG. 1, the rules engine architecture may include information elements, information services, rule sets, queue managers, and rules engines.
An Information element (Information Unit) may be an object that contains all Information of a specific event. Such information may include: messages, identification of the application that generated the event, information element type, associated rule set, generic method, generic properties, and some system related information, etc.
Information Services (Information Services) generate Information element objects. Each information service generates an information element object corresponding to its type. In other words, the information meta-objects generated by a particular information service have the same format, but may have different attributes and rule sets. It should be noted that many different information services may be run on a single machine, and that different instances of the same information service may also be run.
A Rule Set (Rule Set) is a collection of many rules. Each rule contains a conditional filter and a plurality of actions. The conditional filter may contain a plurality of filter conditions. For example, a conditional filter may be a combination of multiple Boolean expressions, the combined result of which is of the Boolean type. When a rule executes, an action is performed if the conditional filter value is true. Queue managers (Queue managers) are used to receive meta-objects from different information services and to place the received meta-objects in a Queue for management.
When the rule engine works, the information service receives events and converts the events into information elements, then the information elements are transmitted to the queue manager, and finally the rule engine receives the information elements and applies the rules carried by the information elements to execute the information elements until the information elements do not exist in the queue manager any more.
After the rule engine receives the information elements from the queue manager, the rules in the rule set of information elements are checked in accordance with the defined order of the rules. Specifically, the rule engine examines the first rule and evaluates its conditional filter, and if the value is false, all actions associated with this rule are ignored and execution continues with the next rule. If the filter value of the second rule is true, all actions associated with the rule are executed according to the rule execution plan sequence, and the next rule is continued after the execution is finished. After all the rules in the information element are executed, the information element is destroyed, and then the next information element is received from the queue manager.
In general, the rules executed in the rule engine are expressed as a tree structure, i.e., one rule is expressed as a rule tree. In this rule tree, a rule is divided into a plurality of rule units, and the rule units constitute the rule through a logical operation, which may include, for example, and logic, or logic and not logic. In other words, in a rule tree, leaf nodes are rule elements, and non-leaf nodes are logical operations between lower level nodes, and the rule elements only serve as leaf nodes, as shown in the upper half of the figure in fig. 2.
In addition, the rule execution plan may be predetermined, for example, the rule engine may traverse the leaf nodes of the rule in a depth-first search traversal of the tree, and pass the results upward to obtain the rule execution plan. FIG. 2 illustrates an example schematic diagram of generating a rule execution plan based on a depth-first search.
However, the rule execution plan generated by the tree-based depth-first search is obtained by sequentially traversing the leaf nodes of the rule. In such a rule execution plan, the execution order of the rule units depends on the node configuration of the rule tree. Because the execution overheads of different rule units are different, according to the rule execution plan generation method, the rule unit with high execution overheads is executed first, and the rule unit with low execution overheads is executed later. In this case, the amount of data that needs to be processed by the rule unit executed first may be larger than the amount of data of the rule unit executed later, which may result in more resource consumption and decrease of the rule execution efficiency of the rule engine.
In view of the above, embodiments of the present specification provide a rule execution plan generation method in which a rule tree is hierarchically analyzed based on logical relationships of the rule tree to obtain hierarchical structure information of the rule tree, and an execution order of rule units is determined based on an execution overhead of each rule unit and the hierarchical structure information of a rule book, thereby generating a rule execution plan. In the rule execution plan generated in this way, the execution order of the rule units whose execution overhead is small is planned to be earlier than the execution order of the rule units whose execution overhead is large, thereby saving resources and improving the rule execution efficiency of the rule engine.
A method and apparatus for generating a rule execution plan of a rule engine according to an embodiment of the present specification will be described in detail below with reference to the accompanying drawings.
FIG. 3 illustrates a block diagram of a rule execution system 300 in accordance with an embodiment of the present description. As shown in fig. 3, the rule execution system 300 includes a rule execution plan generation means 310 and a rule execution means 320.
The rule execution plan generation device 310 is configured to generate a corresponding rule execution plan for each rule in the rule set. The rule execution plan generated by the rule execution plan generating device 310 may be sent to the rule executing device 320. Alternatively, the generated rule execution plan may be stored in a storage device for retrieval by the rule execution apparatus 320 when executing the corresponding rule. The operation and structure of the rule execution plan generating means 310 will be described in detail later with reference to the drawings.
The rule execution device 320 is configured to execute the corresponding rule according to the rule execution plan. In the embodiment of the present specification, the rule executing device 320 may be a rule engine, or may be a rule executing component in the rule engine.
Further, it is noted that in the example shown in fig. 3, the rule execution plan generation means 310 and the rule execution means 320 are shown as two separate components, but in other embodiments, the rule execution plan generation means 310 and the rule execution means 320 may be integrated together. For example, the rule execution plan generation device 310 may be included as a component in a rule execution device (e.g., a rule engine).
FIG. 4 illustrates a flow diagram of a method 400 for generating a rule execution plan for a rules engine in accordance with an embodiment of the present description.
As shown in fig. 4, at block 410, for each rule in the rule set, a hierarchical analysis is performed on the rule tree based on the logical operation relationship in the rule tree to obtain hierarchical structure information of the rule tree, where the hierarchical structure information includes the logical composition relationship of each hierarchical structure and the hierarchical relationship of each hierarchical structure. Here, the logical composition relationship of the hierarchy may include which constituent elements the hierarchy is composed of, and what logical operational relationship the constituent elements are combined into the hierarchy. In the present specification, each hierarchical structure may be constituted by a plurality of rule units, a plurality of hierarchical structures, or a combination of a plurality of rule units and hierarchical structures by logical operations. For different constituent elements in the same hierarchical structure, the execution sequence of each constituent element can be adjusted according to the logical operation relationship of the rule tree, and the adjustment of the execution sequence does not influence the execution result of the rule. For example, for each constituent element which operates upwards through a logical relationship with the constituent element, each constituent element is executed, and the execution result of each constituent element obtains a final result through the logical relationship with the constituent element, so that the execution order of each constituent element does not affect the execution result of the rule, and thus the execution order of each constituent element can be determined according to the execution overhead of each constituent element to perform rule execution plan optimization.
In one example of the present specification, the logical operational relationship in the rule tree may include and logic, or logic and not logic. When the hierarchical structure analysis of the rule tree is carried out, the lower nodes of the logic nodes and the lower nodes of the logic nodes form the same hierarchical structure, or the lower nodes of the logic nodes form the lower hierarchical structure of the hierarchical structure where the logic nodes are located, and the lower nodes of the non-logic nodes are layered in the hierarchical structure where the upper nodes of the non-logic nodes are located.
As shown in fig. 6, the rule tree is composed of rule units "Http (C1) > 1", "Odps (C2) < 5", "Hbase (C3) ═ 5", "Http (C4) > 10", "C5 > 10", AND "Hbase (C6) = 10", in combination with logical "AND OR" logical "OR". Specifically, a first or logic operation is performed between "Http (C1) > 1" and "Odps (C2) < 5" to obtain a first or logic result, a first and logic operation is performed between "Http (C4) > 10" and "C5 > 10" to obtain a first and logic result, a second or logic operation is performed between the first and logic result and "Hbase (C6) ═ 10" to obtain a second or logic result, and a second and logic operation is performed between the first or logic result, the "Hbase (C3) ═ 5" and the second or logic result, thereby obtaining a rule tree.
After performing hierarchical analysis on the rule tree shown in fig. 6, hierarchical structure information of the rule tree can be obtained. Specifically, the rule tree includes a 3-level hierarchy, in which a first-level hierarchy is composed of respective constituent elements of a second AND logical operation, that is, the first-level hierarchy is logically composed of an AND between "Http (C1) >1OR Odps (C2) < 5", "Hbase (C3) ═ 5", AND "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10". In the first-level hierarchical structure, "Hbase (C3) ═ 5" is a regular unit, AND "Http (C1) >1OR Odps (C2) < 5" AND "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10" is a hierarchical structure that can be further subdivided (i.e., a lower-level hierarchical structure of the first-level hierarchical structure). Each of "Http (C1) >1OR Odps (C2) < 5" AND "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10" constitutes a second-tier hierarchy, AND each of "Http (C1) >1OR Odps (C2) < 5" AND "(Http (C4) >10AND C5>10) ORHbase (C6) ═ 10" is a different second-tier hierarchy. Here, the second-level hierarchy "Http (C1) >1OR Odps (C2) < 5" is logically constituted by an OR between a rule unit "Http (C1) > 1" and a rule unit "Odps (C2) < 5". The second-layer hierarchy "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10" is formed by an OR between "(Http (C4) >10 andsc 5> 10)" AND "Hbase (C6) ═ 10", where "(Http (C4) >10AND C5> 10)" is a further-subdivided third-layer hierarchy (i.e., a lower-layer hierarchy of the second-layer hierarchy "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10"), AND "Hbase (C6) ═ 10" is a regular unit. The third hierarchical structure "(Http (C4) >10AND C5> 10)" is composed of a rule unit "Http (C4) > 10" AND a rule unit "C5 > 10". According to the above analysis, the hierarchical structure information of the rule tree in fig. 6 is obtained.
It is noted here that the above is an example of a hierarchical analysis based on logical operations being and logic and or logic. In the case where the logical operation is other suitable logic, a corresponding hierarchical analysis may be employed, with hierarchical levels being progressively lower from the root node of the rule tree, and in each hierarchical level, if there is a sub-hierarchical structure that can be further subdivided, further hierarchical levels are further down until all constituent elements in the hierarchical structure are not further subdivided, i.e., all constituent elements are rule units. Further, the execution order of constituent elements layered in the same hierarchical structure can be adjusted, and such adjustment of the execution order does not affect the execution result of the rule.
At block 420, the execution overhead for each rule unit in the rule tree is determined. The execution overhead of a rule element may include computation overhead and IO overhead. The computational overhead may be determined according to the data size of the task performed by the rule unit and the task complexity. The larger the amount of data, the more complex the task (i.e., the more complex the computational logic), the greater the computational overhead. The IO overhead may be determined according to data loading time. The slower the data loading, the greater the IO overhead, as does the amount of data. The greater the data load, the greater the IO overhead, as well as the load speed. The computational overhead is typically smaller than the IO type overhead, and the IO type is limited to external services.
For example, as shown in FIG. 6, rule element "C5 > 10" is a pure computational element with minimal execution overhead. The rule units "Hbase (C3) ═ 5" and "Hbase (C3) ═ 10" load data from the Hbase through the primary key, performing the next highest overhead. The rule unit "Http (C1) > 1" calls an external service to acquire data through an Http interface, and the execution overhead is higher than that of the rule units "Hbase (C3) ═ 5" and "Hbase (C3) ═ 10". The rule unit "Odps (C2) < 5" queries Odps data through the Odps task, with the highest execution overhead.
After the execution costs of the respective rule units are obtained as described above, the execution order of the respective rule units is determined based on the execution costs of the respective rule units and the hierarchical structure information of the rule tree at block 430.
Fig. 5 shows a flowchart of one example of a process for determining an execution order of rule units according to an embodiment of the present specification.
As shown in FIG. 5, at block 510, the order of execution of the respective rule units in the hierarchy is determined based on the execution overhead of the respective rule units. For example, for the regular units "Http (C1) > 1", "Odps (C2) < 5", "Hbase (C3) ═ 5", "Http (C4) > 10", "C5 > 10", and "Hbase (C6) ═ 10" in fig. 6. For the rule units "Http (C1) > 1" and "Odps (C2) < 5", the execution order of the rule units "Http (C1) > 1" and "Odps (C2) < 5" in the second-level hierarchy "Http (C1) >1OR Odps (C2) < 5" is determined. For the rule unit "Hbase (C3) ═ 5", the execution order of "Hbase (C3) ═ 5" in the first-tier hierarchy "(Http (C1) >1OR Odps (C2) <5) AND (Hbase (C3) ═ 5) AND ((Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10)" is determined. For rule units "Http (C4) > 10" AND "C5 > 10", the execution order of "Http (C4) > 10" AND "C5 > 10" in the third level hierarchy "(Http (C4) >10) AND (C5> 10)" is determined. For the rule unit "Hbase (C6) ═ 10", the execution order of "Hbase (C6) ═ 10" in the second-tier hierarchy "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10" is determined. Specifically, for the hierarchy in which the execution units are located, the execution overhead of each component element of the hierarchy may be determined. Then, the execution order of the respective constituent elements (including the execution unit) in the hierarchical structure is determined according to the size of the execution overhead of the respective constituent elements.
For example, for the rule unit "Hbase (C3) ═ 5", first, the execution overhead of the rule unit "Hbase (C3) ═ 5", the second-layer hierarchy "Http (C1) >1OR Odps (C2) < 5", and the second-layer hierarchy "(Http (C4) >10 ands 5>10) OR Hbase (C6) ═ 10" is determined. Here, for a hierarchy that can be further subdivided, the execution overhead of the hierarchy may be determined according to the execution overhead and logical relationship of each constituent element of the hierarchy. For example, for the second-level hierarchy "Http (C1) >1OR Odps (C2) < 5", since the logical relationship is OR logic, the execution overhead thereof is the execution overhead of the execution unit with the largest execution overhead among the execution units "Http (C1) > 1" and "Odps (C2) < 5". Since the execution overhead of the execution unit "Odps (C2) < 5" is greater than the execution overhead of the execution unit "Http (C1) > 1", the execution overhead of the second-level hierarchy "Http (C1) >1OR Odps (C2) < 5" is the execution overhead of the execution unit "Odps (C2) < 5". For the second-tier hierarchy "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10", since its logical relationship is an OR logic, its execution overhead is the largest execution overhead in the third-tier hierarchy "(Http (C4) >10AND C5> 10)" AND the execution unit "Hbase (C6) ═ 10". For the third-level hierarchy "(Http (C4) >10AND C5> 10)", since the logical relationship thereof is an AND logic, the execution overhead thereof is the sum of the execution overheads of the respective constituent elements, that is, the sum of the execution overheads of the execution units "Http (C4) > 10" AND "C5 > 10". The execution overhead of the third hierarchy "(Http (C4) >10 andsc 5> 10)" is greater than the execution overhead of the execution unit "Hbase (C6) ═ 10", so the execution overhead of the second hierarchy "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10" is the execution overhead of the third hierarchy "(Http (C4) >10AND C5> 10)". As can be seen by comparison, the execution overhead of the second-tier hierarchy "Http (C1) >1OR Odps (C2) < 5" is > the execution overhead of the second-tier hierarchy "(Http (C4) >10AND C5>10) OR Hbase (C6) > 10" is the execution overhead of "Hbase (C3) ═ 5", whereby the execution order of the execution unit "Hbase (C3) ═ 5" in the subordinate hierarchy ranks the first, the second-tier hierarchy "(Http (C4) >10AND C5>10) OR Hbase (C6) > 10" second, AND the second-tier hierarchy "Http (C1) >1OR Odps (C2) < 5". The order of execution of the rule units in the hierarchy can be determined in the same way for other rule units.
Next, the operations of blocks 520 and 530 are performed in a loop. Specifically, at block 520, a determination is made as to whether the current hierarchy exists in an upper hierarchy. At the first loop, the current hierarchy is the hierarchy to which the execution unit belongs. If so, at block 530, the order of execution of the current hierarchy in its upper hierarchy is determined based on the execution overhead of the current hierarchy. Returning to block 520, a determination is then made as to whether there is an upper hierarchy for the upper hierarchy.
If the determination at block 520 is that there is no upper hierarchy, at block 540, the execution order of each rule unit is determined based on the execution order of each rule unit in its respective hierarchy and the execution order of each level of hierarchy to which the rule unit belongs in its respective upper hierarchy, as shown in FIG. 7.
It is to be noted here that, in the example shown in fig. 5, the execution order of each execution unit is determined from the execution unit. In another example, the execution order of each execution unit may also be determined from the root node of the rule tree. For example, for the rule tree shown in fig. 6, the execution order of each constituent element in the first-tier hierarchy may be determined first, for example, the execution unit "Hbase (C3) ═ 5" > second-tier hierarchy "(Http (C4) >10AND C5>10) ORHbase (C6) ═ 10" > second-tier hierarchy "Http (C1) >1OR Odps (C2) < 5". Next, the execution order of each constituent element in the second-tier hierarchy "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10" AND "Http (C1) >1OR Odps (C2) < 5" is judged. That is, "Hbase (C6) ═ 10" > "Http (C4) >10AND C5> 10", AND "Http (C1) > 1" > "Odps (C2) < 5". Then, the execution order of each constituent element in the third hierarchical structure "Http (C4) >10AND C5> 10", that is, "C5 > 10" > "Http (C4) > 10" is judged until the execution order of all rule units is determined, thereby obtaining the execution order of each rule unit in the rule tree.
Further, it is to be noted that, in another example of the present specification, the execution order of constituent elements in a hierarchical structure constituted by lower nodes of or logical nodes is exchangeable. For example, for the second tier hierarchy "Http (C1) >1OROdps (C2) < 5", the rule units "Http (C1) > 1" and "oddps (C2) < 5" may determine the order in terms of execution overhead size, i.e., "Http (C1) > 1" > "oddps (C2) < 5", but the execution order between the two is interchangeable. Since yes or logic is executed between the rule units "Http (C1) > 1" and "Odps (C2) < 5", the exchange of the execution order of the two does not affect the rule execution efficiency of the execution engine.
Shown in fig. 6 is a rule tree whose root node is "AND" logic. FIG. 8 shows a schematic diagram of another example of a rule tree according to an embodiment of the present specification. The rule tree shown in fig. 8 has "OR" logic as a root node, and fig. 9 shows a schematic diagram of an execution order of rule units generated based on the rule tree in fig. 8. The execution order determination process in fig. 9 may refer to the process described above with reference to fig. 7, and will not be described here.
Returning to FIG. 4, after the execution order of each rule unit is determined as described above, at block 440, a rule execution plan for the rule is generated based on the determined execution order of each rule unit. For example, after the execution order of each rule unit is obtained, the rule execution plan may be generated based on the execution order and the logical operation relationship (or the logical operation relationship after logical conversion) of each rule unit.
Further, optionally, before generating the rule execution plan of the rule, the method may further include: and performing logic operation conversion processing on each rule unit based on the logic operation relation in the rule tree. For example, for a hierarchy derived based on an and logical hierarchy, the logical operations of all constituent elements in the hierarchy may be converted to "Filter". For example, for the first-level hierarchical structure divided by the root node "AND" in fig. 6, "Http (C1) >1OR Odps (C2) < 5", "(Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10", AND "Hbase (C3) ═ 5", the logics of the respective constituent elements are converted into filters, that is, "Filter (Http (C1) >1OR Odps (C2) < 5)", "Filter ((Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10)" AND "Filter (Hbase (C3) ═ 5)". Further, for constituent elements that need to be further subdivided, for example, the second-level hierarchies "Filter (Http (C1) >1OROdps (C2) < 5)" AND "Filter ((Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10)", further conversion is performed according to the logical relationship of the constituent elements of the respective second-level hierarchies. For example, for "OR" logic, it may be converted to "UNION" (i.e., joint operation), for example, the second-level hierarchy "Filter (Http (C1) >1OR Odps (C2) < 5)" may be further converted to perform UNION operation between "Filter (Http (C1))" AND "Filter (Odps (C2) < 5)", AND the second-level hierarchy "Filter ((Http (C4) >10AND C5>10) OR Hbase (C6) ═ 10)" may be further converted to perform UNION operation between "Filter (Http (C4) >10AND C5> 10)" AND "Filter (Hbase (C6) ═ 10)". In addition, for "Filter (Http (C4) >10AND C5> 10)", further conversion into "Filter (Http (C4) > 10)" AND "Filter (C5> 10)" is required.
And for the 'NOT' logic, modifying the logic operation relation of the non-leaf nodes in the lower hierarchical structure and the expression of the rule unit according to the 'NOT push-down' mode. Specifically, if the lower hierarchies of the "not" logics are all composed of rule units, the expressions of the rule units are modified to the opposite logics. For example, as shown in fig. 8, the lower layer of the "NOT" logic has only a regular unit "Hbase (C3) ═ 5", so that the regular unit "Hbase (C3) ═ 5" is modified to "Filter (Hbase (C3) | ═ 5)". If the lower level of the "NOT" logic includes a non-leaf node (i.e., a logical operation), the reverse logical conversion is required for the non-leaf node, for example, if the lower level of the "NOT" logic includes a hierarchical structure composed of AND operations of regular units a AND B, i.e., NOT (a AND B), the conversion is required to be (NOT (a)) OR (NOT (B)). If both A and B are regular units, the expressions of A and B are modified to the opposite logic. If at least one of a AND B is a hierarchical structure (i.e., a non-leaf node), e.g., a is composed of (C AND D), i.e., not (a) ═ not (C AND D), not (C AND D) is processed in the manner of not (a AND B) described above until the lower layers are all regular units (leaf nodes).
Further, optionally, after generating the rule execution plan, in the method 400, the generated rule execution plan may also be sent to the rule execution device 320 to execute the rule according to the rule execution plan at the rule execution device 320.
Further, optionally, in the method 400, a rule execution request may also be received. Correspondingly, in response to receiving a rule execution request, the rule tree is subjected to hierarchical analysis based on the logical operation relationship in the rule tree to obtain the hierarchical structure information of the rule tree. In this manner, a rule execution plan may be dynamically generated in response to a rule execution request.
Fig. 10 shows a block diagram of a rule execution plan generation apparatus 1000 according to an embodiment of the present specification. As shown in fig. 10, the rule execution plan generating apparatus 1000 includes a hierarchy analyzing unit 1010, an overhead determining unit 1020, an execution order determining unit 1030, and a plan generating unit 1040.
The hierarchical analysis unit 1010 is configured to perform hierarchical analysis on the rule tree based on the logical operation relationship in the rule tree to obtain hierarchical structure information of the rule tree, where the hierarchical structure information includes a logical composition relationship of each hierarchical structure and a hierarchical relationship of each hierarchical layer. The operation of the hierarchical analysis unit 1010 may refer to the operation of block 410 described above with reference to fig. 4.
The cost determination unit 1020 is configured to determine an execution cost for each rule unit in the rule tree. For a hierarchy, the overhead determination unit 1020 determines the execution overhead of the hierarchy according to the execution overhead and logical relationship of each constituent element of the hierarchy. The operation of overhead determination unit 1020 may refer to the operation of block 420 described above with reference to fig. 4.
The execution order determination unit 1030 is configured to determine an execution order of the respective rule units based on the execution overhead of the respective rule units and the hierarchical structure information of the rule tree. For example, in one example, the execution order determination unit 1030 may be configured to determine the execution order of each rule unit in the hierarchical structure based on the execution overhead of the rule unit; determining the execution sequence of each level of hierarchical structure in the upper hierarchical structure based on the execution overhead of each level of hierarchical structure; and for each rule unit, determining the execution sequence of the rule unit based on the execution sequence of the rule unit in the hierarchical structure and the execution sequence of each hierarchical structure to which the rule unit belongs in the respective upper hierarchical structure. The operation of the execution order determination unit 1030 may refer to the operation of the block 430 described above with reference to fig. 4 and the operation described with reference to fig. 5.
The plan generating unit 1040 is configured to generate a rule execution plan of the rule according to the determined execution order of each rule unit. The operation of the plan generation unit 1040 may refer to the operation of block 440 described above with reference to fig. 4.
Further, optionally, the rule execution plan generating device 1000 may further include a logic converting unit (not shown). The logic conversion unit is configured to perform logic operation conversion processing on each rule unit based on a logic operation relationship in the rule tree before generating a rule execution plan of the rule.
Further, optionally, the rule execution plan generating device 1000 may further include a plan transmitting unit (not shown). The plan transmission unit is configured to transmit the generated rule execution plan to the rule execution device to execute the rule according to the rule execution plan at the rule execution device.
Further, optionally, the rule execution plan generating device 1000 may further include a request receiving unit (not shown). The request receiving unit is configured to receive a rule execution request, and the hierarchical analysis unit 1010 initiates a hierarchical analysis of the rule tree in response to receiving the rule execution request.
As described above with reference to fig. 1 to 10, embodiments of a method for generating a rule execution plan of a rule engine and a rule execution plan generation apparatus according to an embodiment of the present specification are described. The above rule execution plan generating means may be implemented by hardware, or may be implemented by software, or a combination of hardware and software.
FIG. 11 illustrates a block diagram of an electronic device 1100 for generating a rule execution plan for a rules engine in accordance with an embodiment of the present specification.
As shown in fig. 11, the electronic device 1100 may include at least one processor 1110, a memory (e.g., non-volatile memory) 1120, a memory 1130, a communication interface 1140, and an internal bus 1160, and the at least one processor 1110, the memory 1120, the memory 1130, and the communication interface 1140 are connected together via the bus 1160. The at least one processor 1110 executes at least one computer-readable instruction (i.e., an element described above as being implemented in software) stored or encoded in a computer-readable storage medium.
In embodiments of the present description, the electronic device 1100 may include, but is not limited to: personal computers, server computers, workstations, desktop computers, laptop computers, notebook computers, mobile computing devices, smart phones, tablet computers, cellular phones, Personal Digital Assistants (PDAs), handheld devices, wearable computing devices, consumer electronics, and so forth.
In one embodiment, stored in the memory are computer-executable instructions that, when executed, cause the at least one processor 1110 to: performing hierarchical analysis on a rule tree based on a logical operation relationship in the rule tree to obtain hierarchical structure information of the rule tree, wherein the hierarchical structure information comprises a logical composition relationship of each hierarchical structure and a hierarchical relationship of each hierarchical structure; determining the execution overhead of each rule unit; determining an execution sequence of each rule unit based on the execution overhead of each rule unit and the hierarchical structure information of the rule tree; and generating a rule execution plan of the rule according to the determined execution sequence of each rule unit.
It should be appreciated that the computer-executable instructions stored in the memory, when executed, cause the at least one processor 1110 to perform the various operations and functions described above in connection with fig. 1-10 in the various embodiments of the present description.
According to one embodiment, a program product, such as a non-transitory machine-readable medium, is provided. A non-transitory machine-readable medium may have instructions (i.e., elements described above as being implemented in software) that, when executed by a machine, cause the machine to perform various operations and functions as described above in connection with fig. 1-10 in various embodiments of the present specification.
Specifically, a system or apparatus may be provided which is provided with a readable storage medium on which software program code implementing the functions of any of the above embodiments is stored, and causes a computer or processor of the system or apparatus to read out and execute instructions stored in the readable storage medium.
In this case, the program code itself read from the readable medium can realize the functions of any of the above-described embodiments, and thus the machine-readable code and the readable storage medium storing the machine-readable code form part of the present invention.
Examples of the readable storage medium include floppy disks, hard disks, magneto-optical disks, optical disks (e.g., CD-ROMs, CD-R, CD-RWs, DVD-ROMs, DVD-RAMs, DVD-RWs), magnetic tapes, nonvolatile memory cards, and ROMs. Alternatively, the program code may be downloaded from a server computer or from the cloud via a communications network.
It will be understood by those skilled in the art that various changes and modifications may be made in the above-disclosed embodiments without departing from the spirit of the invention. Accordingly, the scope of the invention should be determined from the following claims.
It should be noted that not all steps and units in the above flows and system structure diagrams are necessary, and some steps or units may be omitted according to actual needs. The execution order of the steps is not fixed, and can be determined as required. The apparatus structures described in the above embodiments may be physical structures or logical structures, that is, some units may be implemented by the same physical entity, or some units may be implemented by a plurality of physical entities, or some units may be implemented by some components in a plurality of independent devices.
In the above embodiments, the hardware units or modules may be implemented mechanically or electrically. For example, a hardware unit, module or processor may comprise permanently dedicated circuitry or logic (such as a dedicated processor, FPGA or ASIC) to perform the corresponding operations. The hardware units or processors may also include programmable logic or circuitry (e.g., a general purpose processor or other programmable processor) that may be temporarily configured by software to perform the corresponding operations. The specific implementation (mechanical, or dedicated permanent circuit, or temporarily set circuit) may be determined based on cost and time considerations.
The detailed description set forth above in connection with the appended drawings describes exemplary embodiments but does not represent all embodiments that may be practiced or fall within the scope of the claims. The term "exemplary" used throughout this specification means "serving as an example, instance, or illustration," and does not mean "preferred" or "advantageous" over other embodiments. The detailed description includes specific details for the purpose of providing an understanding of the described technology. However, the techniques may be practiced without these specific details. In some instances, well-known structures and devices are shown in block diagram form in order to avoid obscuring the concepts of the described embodiments.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (18)

1. A method for generating a rule execution plan for a rules engine, comprising:
performing hierarchical analysis on a rule tree based on a logical operation relationship in the rule tree to obtain hierarchical structure information of the rule tree, wherein the hierarchical structure information comprises a logical composition relationship of each hierarchical structure and a hierarchical relationship of each hierarchical structure;
determining the execution overhead of each rule unit;
determining an execution sequence of each rule unit based on the execution overhead of each rule unit and the hierarchical structure information of the rule tree; and
and generating a rule execution plan of the rule according to the determined execution sequence of each rule unit.
2. The method of claim 1, wherein determining the execution order of the respective rule units based on the execution overhead of the respective rule units and the hierarchical structure information of the rule tree comprises:
determining the execution sequence of each rule unit in the hierarchical structure based on the execution overhead of the rule unit;
determining the execution sequence of each level of hierarchical structure in the upper hierarchical structure based on the execution overhead of each level of hierarchical structure; and
and for each rule unit, determining the execution sequence of the rule unit based on the execution sequence of the rule unit in the hierarchical structure to which the rule unit belongs and the execution sequence of each hierarchical structure to which the rule unit belongs in the respective upper hierarchical structure.
3. The method of claim 2, wherein the execution cost of each hierarchy is determined based on the execution cost and logical relationship of each constituent element of the hierarchy.
4. The method of claim 1, wherein the execution overhead comprises computational overhead and/or IO overhead.
5. The method of claim 1, wherein the logical operations in the rule tree comprise AND logic, OR logic, and/or NOR logic,
wherein, the lower nodes of the logic nodes form the same hierarchical structure, or the lower nodes of the logic nodes form the lower hierarchical structure of the hierarchical structure where the logic nodes are located, and the lower nodes of the non-logic nodes are layered in the hierarchical structure where the upper nodes of the non-logic nodes are located.
6. The method of claim 5, wherein prior to generating a rule execution plan for the rule, the method further comprises:
and performing logic operation conversion processing on each rule unit based on the logic operation relation in the rule tree.
7. The method of claim 5, wherein the execution order of the constituent elements in the hierarchy formed by the lower nodes of the OR logical node is interchangeable.
8. The method of claim 1, further comprising:
sending the generated rule execution plan to a rule execution device for executing a rule at the rule execution device according to the rule execution plan.
9. The method of claim 1, further comprising:
receiving a rule execution request, wherein a hierarchical analysis of a rule tree is initiated in response to receiving the rule execution request based on logical operational relationships in the rule tree.
10. An apparatus for generating a rule execution plan for a rules engine, comprising:
the hierarchical analysis unit is used for carrying out hierarchical analysis on the rule tree based on the logical operation relationship in the rule tree to obtain the hierarchical structure information of the rule tree, wherein the hierarchical structure information comprises the logical composition relationship of each hierarchical structure and the hierarchical relationship of each hierarchical structure;
an overhead determining unit that determines execution overheads of the respective rule units;
an execution order determination unit that determines an execution order of the respective rule units based on the execution overhead of the respective rule units and the hierarchical structure information of the rule tree; and
and the plan generating unit is used for generating a rule execution plan of the rule according to the determined execution sequence of each rule unit.
11. The apparatus of claim 10, wherein the execution order determination unit:
determining the execution sequence of each rule unit in the hierarchical structure based on the execution overhead of the rule unit;
determining the execution sequence of each level of hierarchical structure in the upper hierarchical structure based on the execution overhead of each level of hierarchical structure; and
and for each rule unit, determining the execution sequence of the rule unit based on the execution sequence of the rule unit in the hierarchical structure to which the rule unit belongs and the execution sequence of each hierarchical structure to which the rule unit belongs in the respective upper hierarchical structure.
12. The apparatus of claim 11, wherein the overhead determining unit determines the execution overhead of the hierarchy according to the execution overhead and logical relationship of the respective constituent elements of the hierarchy.
13. The apparatus of claim 10, further comprising:
and a logic conversion unit which performs logic operation conversion processing on each rule unit based on the logic operation relation in the rule tree before generating the rule execution plan of the rule.
14. The apparatus of claim 10, further comprising:
a plan transmission unit that transmits the generated rule execution plan to a rule execution device to execute a rule according to the rule execution plan at the rule execution device.
15. The apparatus of claim 10, further comprising:
a request receiving unit that receives a rule execution request,
wherein the hierarchical analysis unit initiates a hierarchical analysis of the rule tree in response to receiving a rule execution request.
16. A rule execution system, comprising:
the apparatus of any one of claims 10 to 15; and
and a rule executing device.
17. An electronic device, comprising:
one or more processors, and
a memory coupled with the one or more processors, the memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform the method of any of claims 1-9.
18. A machine-readable storage medium storing executable instructions that, when executed, cause the machine to perform the method of any one of claims 1 to 9.
CN201911109250.8A 2019-11-13 2019-11-13 Method and device for generating rule execution plan of rule engine Active CN111061763B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911109250.8A CN111061763B (en) 2019-11-13 2019-11-13 Method and device for generating rule execution plan of rule engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911109250.8A CN111061763B (en) 2019-11-13 2019-11-13 Method and device for generating rule execution plan of rule engine

Publications (2)

Publication Number Publication Date
CN111061763A true CN111061763A (en) 2020-04-24
CN111061763B CN111061763B (en) 2023-08-04

Family

ID=70297758

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911109250.8A Active CN111061763B (en) 2019-11-13 2019-11-13 Method and device for generating rule execution plan of rule engine

Country Status (1)

Country Link
CN (1) CN111061763B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111652644A (en) * 2020-06-01 2020-09-11 湖南快乐阳光互动娱乐传媒有限公司 Advertisement strategy configuration method and system
CN112001500A (en) * 2020-08-13 2020-11-27 星环信息科技(上海)有限公司 Model training method, device and storage medium based on longitudinal federated learning system
CN112215511A (en) * 2020-10-22 2021-01-12 杭州海康威视系统技术有限公司 Attendance data calculation method, device and equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038073A (en) * 2003-07-17 2005-02-10 Hitachi Ltd Method, apparatus and program for rule retrieval, and recording medium
CN101739248A (en) * 2008-11-13 2010-06-16 国际商业机器公司 Method and system for executing rule set
CN106022350A (en) * 2015-03-30 2016-10-12 尼尔森(美国)有限公司 Methods and apparatus to improve decision tree execution
CN106775962A (en) * 2015-11-25 2017-05-31 阿里巴巴集团控股有限公司 A kind of rule performs method and device
US20170278193A1 (en) * 2016-03-28 2017-09-28 Investcloud Inc Rule based hierarchical configuration
CN109947401A (en) * 2019-03-15 2019-06-28 第四范式(北京)技术有限公司 The method and device handled by computer executing rule
US20190266271A1 (en) * 2018-02-27 2019-08-29 Elasticsearch B.V. Systems and Methods for Converting and Resolving Structured Queries as Search Queries

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005038073A (en) * 2003-07-17 2005-02-10 Hitachi Ltd Method, apparatus and program for rule retrieval, and recording medium
CN101739248A (en) * 2008-11-13 2010-06-16 国际商业机器公司 Method and system for executing rule set
CN106022350A (en) * 2015-03-30 2016-10-12 尼尔森(美国)有限公司 Methods and apparatus to improve decision tree execution
CN106775962A (en) * 2015-11-25 2017-05-31 阿里巴巴集团控股有限公司 A kind of rule performs method and device
US20170278193A1 (en) * 2016-03-28 2017-09-28 Investcloud Inc Rule based hierarchical configuration
US20190266271A1 (en) * 2018-02-27 2019-08-29 Elasticsearch B.V. Systems and Methods for Converting and Resolving Structured Queries as Search Queries
CN109947401A (en) * 2019-03-15 2019-06-28 第四范式(北京)技术有限公司 The method and device handled by computer executing rule

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111652644A (en) * 2020-06-01 2020-09-11 湖南快乐阳光互动娱乐传媒有限公司 Advertisement strategy configuration method and system
CN112001500A (en) * 2020-08-13 2020-11-27 星环信息科技(上海)有限公司 Model training method, device and storage medium based on longitudinal federated learning system
CN112215511A (en) * 2020-10-22 2021-01-12 杭州海康威视系统技术有限公司 Attendance data calculation method, device and equipment

Also Published As

Publication number Publication date
CN111061763B (en) 2023-08-04

Similar Documents

Publication Publication Date Title
Liu et al. Multi-granularity resource virtualization and sharing strategies in cloud manufacturing
CN111061763B (en) Method and device for generating rule execution plan of rule engine
Kaur et al. Fog computing: Building a road to IoT with fog analytics
CN113254445B (en) Real-time data storage method, device, computer equipment and storage medium
US11157467B2 (en) Reducing response time for queries directed to domain-specific knowledge graph using property graph schema optimization
CN116307672A (en) Fault diagnosis method, device, electronic equipment and medium
CN117171711B (en) Cloud platform-based enterprise internal and external data fusion sharing method and system
Ouyang et al. Semantic enrichment of object associations across federated BIM semantic graphs in a common data environment
Wu et al. Trust-based service composition and optimization
CN115412401B (en) Method and device for training virtual network embedding model and virtual network embedding
Pasteris et al. Data distribution and scheduling for distributed analytics tasks
CN113297436B (en) User policy distribution method and device based on relational graph network and electronic equipment
CN115526390A (en) Method, device and storage medium for predicting enterprise risk
CN116029891A (en) Graph data storage, access and processing methods, training methods, equipment and media
Junaid et al. Big data predictive analytics for apache spark using machine learning
US11573721B2 (en) Quality-performance optimized identification of duplicate data
Zhou et al. Fuzzy DS theory based fuzzy ontology context modeling and similarity based reasoning
Hwang A Study on Big Data Platform Architecture-based Conceptual Measurement Model Using Comparative Analysis for Social Commerce
Du et al. CMSDPP: Cloud-native Multi-source Streaming Data Processing Platform
Thakur et al. MaDGM: Multi-aspect Dynamic Graph Miner
US11275782B2 (en) Digital systems and methods for a consolidated transfer matrix
Junlu et al. Node Similarity Top-k Query of the Large-Scale Dynamic Graph With Weak Repeated Path Constraint
Huang et al. Web service recommendation based on knowledge graph enhanced
CN116450715A (en) Information integration data processing method, system, electronic equipment and storage medium
Yin et al. Total Probability Decomposition Algorithm for Computer Network Reliability Analysis Based on Cloud Computing

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