CN111831694B - Quick decision method of reactive system - Google Patents

Quick decision method of reactive system Download PDF

Info

Publication number
CN111831694B
CN111831694B CN202010581381.2A CN202010581381A CN111831694B CN 111831694 B CN111831694 B CN 111831694B CN 202010581381 A CN202010581381 A CN 202010581381A CN 111831694 B CN111831694 B CN 111831694B
Authority
CN
China
Prior art keywords
node
alpha
condition
network
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010581381.2A
Other languages
Chinese (zh)
Other versions
CN111831694A (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202010581381.2A priority Critical patent/CN111831694B/en
Publication of CN111831694A publication Critical patent/CN111831694A/en
Application granted granted Critical
Publication of CN111831694B publication Critical patent/CN111831694B/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
    • 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/24568Data stream processing; Continuous queries
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries

Abstract

The invention discloses a quick decision method of a reactive system, which comprises the following steps: 1) Resolving fuzzy ECA rules in the reactive system into an FECR network; 2) Inputting the fact data in the reactive system into a condition query network one by one; 3) Assigning priorities to nodes in the FECR network, and then searching out weak communication branches of the FECR network according to the FECR network topology; 4) For the received ith batch of data, finding each corresponding trigger node a, modifying the dynamic attribute information of the node a and activating the node a; then starting from the node a, traversing the FECR network, and activating the child node of the trigger node a until the limit condition of the node is not met or an action node of the FECR network is reached; each node, when activated, forms a task instance; 5) The scheduler may assign task instances to different worker executions based on priority. The invention can realize accurate and rapid decision.

Description

Quick decision method of reactive system
Technical Field
The invention belongs to the technical field of rule systems and real-time, and particularly relates to a high-performance fuzzy ECA (event-condition-action) rule matching method for streaming data and an execution scheduling method for rule matching tasks, in particular to a rapid decision method for a reactive system.
Background
The reactive system needs to process a large number of streaming data streams acquired by the sensor in time, identify the concerned scenes from the streaming data streams, and trigger corresponding actions to automatically respond to the scenes. In recent years, the reactive system is widely applied to various fields of social life, plays an important role in industries such as medical treatment, traffic, education, communication, military and construction, for example, fire alarm and temperature control in intelligent construction, safety control in production process, behavior monitoring in medical treatment, and the like. As the application scene of the reactive system becomes more complex, the requirement on the intelligence is also higher. Since rules can conveniently describe domain knowledge of the reactive system and can implement efficient response to a specified scenario, it is a trend to implement the reactive system using a rule inference engine. At this time, the domain knowledge of the reactive system is expressed in a rule form, the data flow collected by the sensor is used as the input of a rule engine, and the response is triggered and given through the matching of the rule and the data, so that the automatic decision of the reactive system is realized.
Some mainstream rule engines, such as CLIPS (see http:// clipfiles. Sourceforge. Net /) and JBoss Drools Fusion (see https:// www.drools.org /), have found wide application in industry in conjunction with real-time reactive systems. However, in practical applications, errors exist in the data collected by the sensor, meanwhile, uncertainty exists in the domain knowledge, and decision errors are caused by rule engines adopting determined reasoning like CLIPS. For example, in a fire alarm, a fire event is detected when the temperature is greater than 60 degrees and the smoke concentration level exceeds 15. However, errors in the sensor may result in the detected value being less than the actual value, and thus may result in a false alarm of the fire event, such that an erroneous decision is made. On the other hand 60 and 15 are accurate thresholds set, which have no flexibility as expressed by expert knowledge, and are not triggered when the temperature is 59.5 degrees and the smoke concentration level is 15. Therefore, it is desirable to employ fuzzy rule inference engines to achieve automatic response of a reactive system to a desired scene of interest to improve the reliability of its decision. The current fuzzy rule reasoning engines, such as NRC FuzzyJ Toolkit (refer to http:// alvaretech. Com /) and jfuzzyLogic (refer to http:// jfuzzylegic. Sourceforge. Net /), combine fuzzy logic and rule reasoning, support fuzzy if-then rules (i.e. generating rules), but these fuzzy rule reasoning engines cannot express fuzzy time sequence relation between events, cannot process streaming data, and cannot meet the requirement of a reactive system when facing massive streaming data.
Disclosure of Invention
Aiming at the technical problems existing in the prior art, the invention aims to provide a rapid decision method of a reactive system, and the invention greatly improves the reasoning speed when aiming at massive streaming data and realizes accurate and rapid decision by supporting the fuzzy time sequence relation among events through a high-performance fuzzy ECA (event-condition-action) rule reasoning method aiming at streaming data.
The method comprises the following specific steps:
1. resolving fuzzy ECA (event-condition-action) rules in the system into FECR (fuzzy event-condition-based) networks. The fuzzy ECA rule can be expressed in the form: ON event (threshold 1) IF condition (threshold 2) DO action. For detecting ambiguous complex events in the event part when an event is detected and the occurrence of event m e Above threshold1, a query defined by the condition part is executed at this time, and the matching degree m of the condition part is calculated c Above threshold2, the action is activated and the match of the action is m a =m e *m c
Fuzzy ECA rules require the use of event detection language and conditional query language to express their event and conditional parts, where we can embed generating rules in the event parts to define fuzzy complex events; the conditional part is embedded with a generating rule for executing fuzzy conditional query. When a production rule is used to define complex events, its form may be expressed as IF
Figure BDA0002552444120000021
THEN CE. An event consists of a type name and several attribute name-attribute values, the event has a timestamp and a degree of occurrence, which for fuzzy events is in the range of [0,1 ]]The occurrence degree of the event is 0 (non-occurrence) or 1 (occurrence) for a precise event; the event is expressed as +.>
Figure BDA0002552444120000022
Where EventType is the event type name, attr i Is the attribute name of the ith attribute, v i Is the corresponding attribute value (constant) (i is more than or equal to 1 and less than or equal to m 1 ),m 1 Representing the number of attribute values; e (E) i (1≤i≤n 1 ) Called event condition elements, n 1 Is the number of event condition elements, event condition element E i Can be matched with an event (event), the event condition element is expressed as (EventType: constraint) i (attr k ))(1≤k≤m 1 ,1≤i≤n 1 ) The meaning is event with type name EventType and name attr k Attribute values that need to satisfy constraint constraints i The method comprises the steps of carrying out a first treatment on the surface of the Constraint i May be exact (return value is 0 or 1, where the corresponding condition element is also called exact), or ambiguous (return value is 0,1]A value in the interval when the corresponding condition element is also referred to as ambiguous); CE is a defined complex event, when the condition element is all exact, CE is an exact event, when the condition element contains ambiguity, CE is an ambiguous event; v i op e Is an event condition element connector, including and, or, not and the like logical connectors and before, after (refer to Allen, james f. "Maintaining Knowledge about Temporal Interval." Expert Systems,1991, pp.248-259) and the like time-sequential operators and their ambiguous forms (refer to Schockaert, s., et al. "Fuzzifying Allen's Temporal Interval relations." IEEE Transactions on Fuzzy Systems, vol.16, no.2,2008, pp.517-533). When the production rule is used for conditional queries, its form can be expressed as IF +.>
Figure BDA0002552444120000023
The fact consists of a type name and several attribute names-attribute values, which can be expressed as +.>
Figure BDA0002552444120000031
Wherein FactType is the fact type name, attr i Is the attribute name of the ith attribute, v i Is the corresponding attribute value (constant) (i is more than or equal to 1 and less than or equal to m 2 ),m 2 Is the number of attribute values; c (C) i (1≤i≤n 2 ) Called query condition elements, n 2 Representing the number of conditional query elements, the query condition elements may match facts (fact), expressed as (FactType: constraint i (attr k ))(1≤k≤m 2 ,1≤i≤n 2 ) The fact that its meaning is that the type name is FactType and its name is attr k Attribute values that need to satisfy constraint constraints i The method comprises the steps of carrying out a first treatment on the surface of the Constraint in query condition element i Either exact (return value 0 or 1) or ambiguous (return value 0,1]A value in the interval); (FactType: attr 1 v 1 ,attr 2 v 2 ,...,attr n v n )attr i v i op c Is a query condition element connector, and mainly comprises logical connectors such as an and, or, not and the like. The FECR network is constructed as follows:
1.1, according to the application scene, establishing a corresponding trigger node for each sensor data source in the reactive system. For example, a first room in the third floor has a temperature sensor, which is a data source, which corresponds to a trigger node. One trigger node TN may be represented as tn= (NI, SI, SS, NT, V). NI, SI, SS, NT, V represents characteristic information of the node TN. Wherein ni= (nt, a 1 ,a 2 ,...,a n ) Indicating trigger node information, nt being node type, e.g. temperature node, smoke concentration node, a 1 ,a 2 ,...,a n Is an optional additional attribute of the node, such as whether the node state is available, the node creation time, etc.; si= (id, b 1 ,b 2 ,...,b n ) Information representing a sensor corresponding to the trigger node, id being a unique identifier of the sensor, b 1 ,b 2 ,...,b n Is an optional additional attribute of the sensor, such as whether the sensor is in a normal state, etc.; ss= (c) 1 ,c 2 ,...,c n ) The space semantic information of the sensor corresponding to the trigger node is represented, such as room number, floor, space coordinates and the like; in the reactive system, the data detected by the sensor is regarded as an event, nt= (ts, te) represents the start-stop time of the latest event occurrence detected by the sensor corresponding to the trigger node, ts represents the start time, and te represents the end time; v represents the value of the latest data detected by the sensor corresponding to the trigger node, for example, if the trigger node corresponds to the temperature node, the value is the detected temperature value. Since the trigger nodes correspond to the sensor data, the attributes thereof can be divided into static attributes (the attribute values generally do not change) and dynamic attributes (the attribute values change continuously), wherein NT and V belong to the dynamic attributes in the description of the trigger nodes, and the rest are static attributes, such as temperature trigger nodes, the room number of which is static attributeThe detected temperature value is a dynamic property.
1.2 clustering the trigger nodes established in the step 1.1 according to a generating rule defining a fuzzy event in a fuzzy ECA rule, and dividing the trigger nodes into a plurality of node clusters. Trigger nodes in a cluster need to meet a set of set filtering conditions. The cluster of nodes may be defined as NodeClassification: filter 1 ∧filter 2 ∧...∧filter n NodeClassies is a class filtering condition for restricting the class of trigger nodes contained in a node cluster, and a filter i Representing filter conditions defined on trigger node attributes, e.g., temperature x, sample y, light z: x.roomid=y.roomid&&Roomid = z-roomid means a temperature class node, a smoke class node, a light class node would be clustered in a cluster in the same room. Specifically, the node cluster dividing method comprises the following steps: the static condition in each producer rule defining the fuzzy event (the condition defined on the static attribute of the trigger node, there may be a plurality of static conditions of each producer rule) is fetched as a set of filtering conditions. If L production rules exist, L groups of filtering conditions exist, and all trigger nodes meeting the group of filtering conditions are found for each group of filtering conditions to form corresponding node clusters.
1.3A fuzzy event detection network is built on a cluster of nodes formed by static conditions of each production rule to detect fuzzy events, the fuzzy event detection network being based on a fuzzy rete network (the fuzzy rete network is built with reference to Pan, J., et al, "fuzzy Shell: A Large-Scale Expert System Shell Using Fuzzy Logic for Uncertainty reporting." IEEE Transactions on Fuzzy Systems, vol.6, no.4,1998, pp.563-581). Because the establishment of rete is based on the node cluster, the trigger nodes contained in the node cluster already meet the static condition of the generating rule in the clustering process, and therefore the fuzzy event detection network only needs to evaluate the dynamic condition (the condition defined on the dynamic attribute of the trigger nodes). The alpha network in the fuzzy event detection network is formed by serially connecting alpha nodes. The alpha node is used for detecting alpha conditions (conditions defined on single class attributes), the alpha conditions are divided into fuzzy and accurate, a matching result is reflected by matching degree, and the accurate alphaThe degree of matching of the condition (condition without fuzzy set) is only 0 and 1, and the degree of matching of the fuzzy alpha condition (condition with fuzzy set) is 0,1]In the interval, data can pass only if the alpha condition matching degree is larger than 0. The alpha network is a node tree, the link formed from the trigger node to the leaf alpha node is marked as an alpha series chain, the leaf alpha node has fuzzy alpha memory, and data meeting all alpha conditions on the alpha node chain, namely Alpha Match (AM) is stored. Compared to the exact alpha memory, the AM in the fuzzy alpha memory has a matching degree attribute for storing the matching degree value. The alpha 0 network is composed of alpha 1 nodes, each alpha 2 Node is provided with an alpha 3 memory, in Event detection, the end point of the alpha 4 network is an Event Node, and the fuzzy events detected in the fuzzy Event detection network are stored in the Event Node and used for triggering condition inquiry, and the Event Node is marked as E. The α5 network is also a tree of nodes, from the α6 root node (denoted as α7 0 ) The link to the event node is a beta tandem chain. Suppose a beta-tandem chain involves p class 1 ,class 2 ,…,class p Each class object corresponds to a beta node, i.e. beta 1 β 2 ,…,β p The j (2. Ltoreq. J. Ltoreq. P) th node beta on the link j For evaluating class in AM j Object and at beta j-1 Tuple t in memory j-1 Whether or not to meet beta j Beta conditions in a node (conditions defined between different classes of properties). Tuple t j-1 Is a slave class 1 To class j-1 Linked list of objects, t j-1 Data set satisfies beta j-1 All conditions of a node and its ancestor nodes. If beta is satisfied j Beta condition in node, class in AM j Object and tuple t j-1 Formation of a new tuple t j Stored at beta j Is in the memory. In addition, if fuzzy variables are included in the conclusions, it is necessary to build aggregation and defuzzification nodes to arrive at the final conclusions (cf. Pan, J., et al, "FuzzyShell: A Large-Scale Expert System Shell Using Fuzzy Logic for Uncertainty reporting," IEEE Transactions on Fuzzy Systems, vol.6, no.4,1998, pp. 563-581).
1.4 according to blurThe condition part of the ECA rule (condition part, i.e., the production rule for the condition query) builds a condition query network. The condition section is also divided into an α condition and a β condition. When an alpha condition or beta condition relates to the fact that the attribute value of the fact does not change, the alpha condition or the beta condition is called static; similarly, such alpha or beta conditions are said to be dynamic if the attribute values of the facts to which they relate are constantly changing. If the condition that a rete node uses to evaluate is static, then the node is a static node; if the condition that a node uses to evaluate contains a dynamic condition, the node is a dynamic node. To reduce online computing, the conditional query network separates static nodes from dynamic nodes and caches the static nodes. Let O 1 ,O 2 ,...,O u Representing all fact classes involved in proactive rules in fuzzy ECA rules, P 1 ,P 2 ,...,P v Representing the fact that static beta conditions are involved in an active rule, where (v.ltoreq.u), Q 1 ,Q 2 ,...,Q u-v Representing the fact class not being involved by the static β condition, E represents the event node triggering the proactive rule (where the event node is the event node established in step 1.3), the establishment of the conditional query network is as follows:
1.4.1 for definition in the facts class P 1 ,P 2 ,...,P v The static alpha condition and the static beta condition on the attribute of the (2) are established, the nodes of the part are all static nodes, a static query network is formed, and the last beta node of the static query network is marked as Ne.
1.4.2. After the E node, an alpha node is established and is marked as E α ,E α The node is a node for evaluating whether the occurrence degree of an event in the ECA rule satisfies more than threshold 1; then a connection node N is established 0 As E α And Ne, N 0 For evaluating definitions defined in event E and facts class P 1 ,P 2 ,...,P v Dynamic alpha conditions and dynamic beta conditions on the attributes of (a).
1.4.3. For definition at Q 1 ,Q 2 ,...,Q u-v Static alpha condition onEstablishing a static alpha node; for definition at Q 1 ,Q 2 ,...,Q u-v The dynamic alpha condition on the dynamic alpha condition establishes a dynamic alpha node after a static alpha node; for definition at Q 1 ,Q 2 ,...,Q u-v The dynamic beta condition on the dynamic alpha node establishes a dynamic alpha 1 node after the dynamic alpha node. The static α0 node, dynamic αnode, and dynamic βnode establishment procedure is similar to the rete network, except that for a static αnode, if its child node contains a dynamic node, an αmemory is established for it to hold an α match that satisfies its own static α condition and its ancestor node (all static α conditions). For dynamic beta node N i Establishing pointers to have two parent nodes, one of which is Q i (1. Ltoreq.i. Ltoreq.u-v) the end node of the alpha node chain, which is the start node, the other is N i-1
1.4.4. The dynamic alpha node with the father node being the static alpha node is marked as alpha d Node and establish connection to make all alpha d The node becomes E α Child nodes of the node.
2. After the FECR network is obtained in the step 1, the fact data in the current system are input into the condition query network one by one. The order of execution does not affect the result, since the fact does not have a temporal attribute. The transmission mode of the fact data in the condition query network is similar to that of the traditional fuzzy rete network, each time the node in the condition query network is activated, the fact or the tuple for activating the node is calculated whether to meet the condition in the node, if yes, the fact (corresponding to alpha memory) or the newly formed tuple (corresponding to beta memory) is stored in the memory area, if no memory area (corresponding to alpha node without memory) is not stored, then the child nodes are traversed, and all the static nodes are activated; with this calculation, all intermediate results (including the fact of alpha memory and tuples of beta memory) remain in the memory of the static nodes where the child nodes are dynamic nodes, and these intermediate results do not change during the calculation.
3. And step 2, after caching the static part of the conditional query, assigning priority to the nodes in the FECR network. The priority is used for controlling the node execution sequence in node scheduling (see step 5), realizing node mutual exclusion and improving concurrency. The smaller the value is, the higher the priority is, the priority is a main priority and a secondary priority, and the main priority is set as follows: the main priority of all static nodes in the trigger node and the conditional query network is set to 0; for the remaining nodes, its master priority is equal to the maximum of the master priorities in all its parent nodes plus one. The secondary priority setting method is as follows: if a node has no child nodes, its secondary priority is equal to the value of the primary priority; if the node has child nodes, the size of the secondary priority is equal to the maximum value of the secondary priorities of all child nodes minus one. After priority is allocated, the weak communication branches of the FECR network are identified through depth-first search based on the network topology structure of the FECR network, and w branches are assumed, wherein each branch corresponds to a number i (i is more than or equal to 1 and less than or equal to w).
4. The steps 1-3 belong to offline operation, and the online reasoning calculation is started on the sensor data stream in the step. Sensor data is transmitted in the form of < sensor, value, timestamp > where sensor represents the ID of the sensor, value represents the value that the sensor detected this time, and timestamp represents the timestamp at which the data was detected. At each moment, a batch of data with the time stamp is transmitted, after the data is transmitted, the inference engine finds the corresponding trigger node according to the sensor from the id attribute in the SI characteristic of the trigger node, and modifies the V and NT information of the trigger node according to the value and the timestamp, and activates the trigger node. Then, starting from the trigger node, traversing the FECR inference network by the data in a breadth-first mode, and activating child nodes of the current node if the data meets the conditions defined in the current node; until the data does not meet the current node's constraint (no child node is activated at this time) or reaches the action node of the FECR (no child node). When each node (including the trigger node) is activated, a task instance is formed, wherein two members are included in the task instance, namely, the activated node is the one, and the timestamp is the other, the two members are combined to uniquely mark the task instance, and the priority of the activated node is also regarded as the priority of the task instance. The generation rule of task instance time stamp is as follows: if the sensor data is activated, the time stamp of the sensor data is the time stamp of the sensor data; if it is the other task that is activated, its timestamp is equal to the timestamp of the other task that activated the task. In a multi-core execution environment, a worker is built for each core to execute task instances in parallel. And after the task instance is activated, adding the task instance into a priority queue according to the priority, and then distributing the task instance to different workers for execution by a scheduler according to the priority, wherein the specific priority queue is created and the node distribution mode is seen in step 5. When a certain worker is idle, a task is requested, and if the request is successful, the requested task is executed. According to different types of nodes, the task processing modes of the worker are different.
4.1 if the activated node of the task instance is an alpha node, the worker will evaluate all events (corresponding to the alpha node of the production rule) or facts (corresponding to the alpha node in the condition query) that it receives and whose time stamp is equal to the task instance time stamp, if the condition of the alpha node is met, then the events or facts pass through the alpha node and activate the child nodes of the alpha node (at this time forming a new task instance), if there is alpha memory in the alpha node, then these events or facts are deposited that meet the alpha condition in the alpha node.
4.2 if the task instance activated node is a beta node, the worker evaluates from all tuples in its left store (beta memory pointing to its left parent node) with time stamps equal to the task instance time stamp to AM in its right store (alpha memory pointing to its right parent node); and evaluating all AM with the time stamp equal to the time stamp of the task instance in the right storage and all tuples with the time stamp smaller than the time stamp of the task instance in the left storage one by one. If the condition of the node is passed, the child node is activated, a new task instance is formed, a new tuple is formed, and the new tuple is stored in the beta memory of the node.
4.3 if the task instance corresponds to an event node, it is indicated that a complex fuzzy event is identified in the resulting rule, and for all events in the node equal to the task instance timestamp, it is determined whether the occurrence is greater than the occurrence threshold defined in the rule, e.gIf so, its child node is activated (conditional query network N 0 And alpha d Nodes).
5. Step 4 illustrates the process of how tasks are activated and executed, this step illustrates the scheduling mechanism. The scheduling mechanism adopts a priority-based sequence, the mutual exclusion and correctness are ensured by using the main priority, and the auxiliary priority further improves the concurrency. The data is processed in batches with time stamps, when the ith batch of data (assuming the time stamp is t) enters the FECR network, a priority queue one-dimensional array of calculation tasks brought by the batch of data needs to be created and is marked as q i [w]=(q i,1 ,q i,2 ,...,q i,w ),q i,w Representing a priority queue, where i represents that the batch of data is the ith batch of processed data and w equals the number of weakly connected branches. When the corresponding task with the time stamp of t and the node belonging to the weak communication branch j (1 is less than or equal to j is less than or equal to w) is activated, the task is placed in q i,j In the priority queue, the arrangement rule of tasks in the queue is as follows: if there are a, b two task instances in the same priority queue q i,j In (a) is arranged before b (i.e., a is prioritized over b) if and only if one of the following two conditions is met: (1) a has a master priority less than that of b; (2) a has a primary priority equal to b and a secondary priority less than or equal to b. Since there is a case where the previous data is not calculated to be completed when the next batch of data arrives, there are tasks generated by different batches of data in the reasoning system, so there is a two-dimensional array of priority queues in the system, i.e. q [ k ]][w]={q i [w],q i+1 [w],...,q i+k-1 [w]And the task of data generation of k batches exists in the system. Defining that one Task (denoted as Task 1) is a pre-Task of another Task (denoted as Task 2), then the activated node of Task1 needs to satisfy the ancestor node that is the activated node of Task 2. A task with a time stamp of t may be executed if and only if a pre-task with a time stamp less than or equal to t has been executed. To ensure correctness, when a worker (worker) is idle, tasks will be selected to run on it according to the following policies: traversing the two-dimensional array q [ k ] of the queue by taking x from 0 to k-1 and y from 1 to w][w]If q[x][y](i.e. q i+x [y]The represented queue) is not empty, and q [ x ]][y]The head of team task is marked as head x,y Executable, it is removed from the queue and assigned to an idle worker. Assuming head x,y The primary priority is r and the secondary priority is s, which can perform if and only if the following conditions are satisfied simultaneously: (1) Queue q [ x ]][y]All tasks with main priority less than r are allocated and executed by the worker; (2) Queue q [ x-1][y]All nodes in (1) are executed or head x-1,y Represents q [ x-1 ]][y]Is less than or equal to head x-1,y Is decremented by two.
The beneficial effects of the invention are that
The invention provides a high-performance fuzzy ECA rule reasoning method for streaming data, which can simultaneously support accurate reasoning and fuzzy reasoning, can process fuzzy time sequence relation among events and is suitable for streaming data. Meanwhile, a new reasoning network structure is provided based on the rete network, on-line calculation is reduced, efficiency is improved, a node scheduling mode based on priority is further designed, concurrency of a reasoning process is improved, and then the reasoning speed for massive streaming data is improved.
Drawings
FIG. 1 is an example of fuzzy triangular membership functions.
Fig. 2 is a trigger node clustering result presentation of the present invention.
Fig. 3 is a diagram of an FECR network corresponding to a rule for detecting an event with fuzzy variables and trigger node clusters for an event in accordance with the present invention.
Fig. 4 is a diagram of an FECR network corresponding to a rule for detecting event occurrence without fuzzy variables and without trigger node clusters in an event according to the present invention.
Fig. 5 is a conditional query graph of the FECR network corresponding to fuzzy ECA rules with static and dynamic conditions.
Fig. 6 is a conditional query graph of the FECR network corresponding to the fuzzy ECA rule without the condition part.
Fig. 7 is a diagram of the execution of the inference engine.
Detailed Description
The following description of the embodiments of the present invention will be made more clearly and fully with reference to the accompanying drawings, in which it is to be understood that the embodiments described are merely some, but not all embodiments of the invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
The present invention will be described with reference to specific rules and related data.
Figure BDA0002552444120000081
Figure BDA0002552444120000091
(1) Among the above rules, rule1 and Rule2 are production rules, respectively identify two complex events E1 and E2, rule3 and Rule4 are active rules, respectively triggered by E1 and E2, and Alarm1 and Alarm2 are trigger actions of the rules. The condition in the form of "X is Y" in the rule is a fuzzy condition, X is a fuzzy variable, Y is a fuzzy set, and is represented by a membership function. Fuzzy sets require the user to define their types and parameters, such as H, L in Rule1 and M in Rule2 are fuzzy sets with multiple shapes, for example, a triangular fuzzy function, and H, M, L are defined as follows:
H:Triangle(1,2,3)
M:Triangle(0,1,2)
L:Triangle(-1,0,1)
the corresponding function shape is shown in fig. 1. Define E1 (v 1, v 2) in Rule1 defines that E1 contains two attributes, when E1 is detected, the value of v1 equals C1.v2, and the value of v2 equals C3.v3. The x.v1, y.v1, y.v3, z.v3 attribute names in Rule1 are capitalized, indicating that these attributes are static attributes in the trigger node that can be used for clustering.
(2) The static attribute conditions of the current trigger nodes are shown in table 1, and each trigger node corresponds to a specific sensor. According to the static conditions "y.v1=x.v1" and "z.v3=y.v3" of Rule1, the trigger nodes are clustered, and the clustering result is shown in fig. 2, the nodes numbered 1,3 and 5 are clustered, and the trigger nodes numbered 2,4 and 6 are clustered. The FECR network is established on the 1,3,5 node cluster according to the dynamic condition node of Rule1 as shown in figure 3, wherein the alpha 1, alpha 3 and alpha 5 nodes evaluate 'x.v2is H', 'y.v2is H', 'z.v2is H'; α2, α4, α6 were evaluated for "x.v2is L", "y.v2is L", "z.v2is L", respectively; since there is no dynamic β condition in Rule1, the β node of fig. 3 does not perform a condition evaluation; the gamma 1 node obtains the matching degree of 'E1 is EH', the gamma 2 node obtains the matching degree of 'E1 is EL', EH and EL are fuzzy variables representing the E1 occurrence degree, and finally aggregation and defuzzification are carried out at the gamma 3 point to obtain the final E1 occurrence degree. The structures on the 2,4,6 node clusters are the same herein, and will not be described in detail. In Rule2 there is no static condition, so the trigger nodes are not clustered, a network is built as in fig. 4, where α7 evaluates "x.v1is M", β8 evaluates "y.v2=x.v2", α8 and β7 are not evaluated, and because E2 definition does not have fuzzy variables, aggregation and defuzzification are not required.
Table 1 static properties of trigger nodes
Numbering device NI SI SS
1 nt=C1 id=1 V1=1
2 nt=C1 id=2 V1=2
3 nt=C2 id=3 V1=1,V3=1
4 nt=C2 id=4 V1=2,V3=2
5 nt=C3 id=5 V3=1
6 nt=C3 id=6 V3=2
7 nt=C4 id=7
8 nt=C4 id=8
9 nt=C5 id=9
10 nt=C5 id=10
(3) In Rule3, the "y.v3=x.v3" is a static β condition, x.v2is H is a static α condition, and the FECR network is established as shown in fig. 5, where the thick line nodes represent dynamic nodes and the thin line nodes are static nodes. Nodes α11 and β10 are not evaluated, node α10 evaluates "x.v2is H", β11 evaluates "y.v3=x.v3", node α9 evaluates "E1 occurrence is greater than a threshold of 0.6", node β9 (connecting node) evaluates "x.v1=e.v1" and "y.v1= 'Z'", α12 evaluates "z.v1 is M", and node β12 evaluates "z.v2=y.v2". For the active Rule4, since the fact does not need to be evaluated, the direct β13 (connected node) activates the Action node, as in fig. 6, where α13 evaluates whether "E2 occurrence is greater than the threshold value 0.7", and β13 does not evaluate.
(3) The fact data is entered into the query network of conditional figures 5 and 6, where the reasoning process is the same as rete, but the reasoning will stop before the dynamic node. The following facts are assumed to enter the system:
(f1:F1 v1=1,V2=2,V3=1),(f2:F1 v1=2,V2=2,V3=2),
(f3:F2 v1=‘Z’,v2=2,V3=1),(f4:F2 v1=‘Z’,v2=3,V3=2),
(f5:F3 v1=1,v2=2),(f6:F3 v1=1,v2=3)
based on the ambiguous rete matching result, the intermediate result is stored in the network of fig. 5 between the β11 node and the class node of F3, and the class node of F3 stores two facts of F5 and F6, β11 stores the tuple as follows:
tuple(s) Degree of matching Factual member
1 1 f1,f3
2 1 f2,f4
(4) The facts are input into the network, after intermediate results are obtained, the whole network in fig. 3,4,5 and 6 is traversed, and the nodes are assigned with main priority and auxiliary priority as follows. From the FECR network topology, the whole network is divided into two weakly connected branches, denoted as branch 1, branch 2, where fig. 3 and 5 belong to branch 1 and fig. 4 and 6 belong to branch 2.
Figure BDA0002552444120000111
Figure BDA0002552444120000121
(5) The inference engine then begins to receive streaming data, which is used to<sensorid,value-list,timestamp>Assuming that at time 1 the following two pieces of data are coming (data contain only dynamic properties, static properties do not need to be received from the sensor):(9, v2=2, timestamp=1), (10, v2=3, timestamp=1). According to the sensor, the trigger node 9 and the trigger node 10 are activated, and execution is started; in execution, since the FECR network has two branches, a priority queue array q is first established 1 [2]=(q 1,1 ,q 1,2 ) Since trigger nodes 9 and 10 belong to branch 2, the tasks generated by both data are put into q 1,2 In the method, the primary priority and the secondary priority of two nodes are the same, and no other tasks exist at the moment, so that the two tasks can be simultaneously allocated to an idle worker for execution, and if the worker allocated to the trigger node 9 at the moment executes faster, the node alpha 8 is activated and put into q 1,2 In this case due to q 1,2 There is a trigger node 10 with a master priority less than α8 executing, so the α8 node must wait for the trigger node 10 to execute. When the trigger node 10 is executed, the α8 node may execute, and there are (9, v2=2, timestamp=1), (10, v2=3, timestamp=1) two pieces of data in the trigger node, which all satisfy the α8 passing condition, so that the two pieces of data are stored in the αmemory of the α8 node, and the β8 node is activated to store q 1,2 In (a) and (b); assuming that timestamp 2 is reached at this time, a piece of data (7, v1=1, v2=2, ttimestamp=2) is coming, at which time a priority queue array q needs to be established 2 [2]=(q 2,1 ,q 2,2 ) And q 1,2 Forming a two-dimensional priority queue array q [2 ]][2]={q 1 [2],q 2 [2]Trigger node 7 is activated to put q 2,2 In this case q 1,2 There is one task β8 and the secondary priority of the trigger node 7 is less than or equal to β8 minus two, so the trigger node 7 can execute. Assume that trigger node 7 activates node a 7 after execution is complete, at which time q 1,2 There is a task β8 and the secondary priority of the α7 node is less than or equal to β8 minus two, so that the α7 node can execute, the data (7, v1=1, v2=2, timestamp=2) satisfies the "x.v1is M" condition of the α7 node and the matching degree is 1, so that the data is stored in the αmemory of the α7, and the β7 node is activated to be put into q 2,2 In (2), since the secondary priority of the beta 7 node is equal to the secondary priority of beta 8 minus one, the beta 7 node must wait q at this time 1,2 The execution of the beta 8 node in the (2) is completed. Due to q 1,2 There is no data in the beta 8 node left store in (a), so the gamma 4 node cannot be activated, at which point q 1,2 Is performed at time stamp 1. The beta 7 node can execute, the data satisfies the beta 7 node, so (7, v1=1, v2=2, timestamp=2) is stored in the beta memory of the beta 7 node, and the beta 8 node is activated to be put into q 2,2 In (a) and (b); q 2,2 The β8 node in (b) satisfies an executable condition (q 1,2 No task and q 2,2 No primary priority below β8) may be performed and at this time the left stored data is (7, v1=1, v2=2, timestamp=2) and the right stored (i.e. α8 α memory) data (9, v2=2, timestamp=1) satisfies the "y.v2=x.v2" condition and the degree of matching is 1, so an instance of an E2 event is detected, denoted as E2, with a degree of occurrence of 1, denoted as (E2: E2, v1=1, v2=2, timestamp=2, degree=1), after which the α13 node is activated, and eventually the λ2 node is activated due to the degree of occurrence being greater than the threshold. λ2 (6) the overall data processing is as in FIG. 7, assuming the system has n+1 cores, corresponding to worker 0 (worker 0 ) To a worker n (worker n ). The execution flow is as follows, wherein the arrangement of the tasks in the priority queue in the flow 2 and the executable judgment conditions of the first task of the flow 3 are shown in the step 5 of the specification:
scheme 1: the worker 0 collects data according to the time stamp, and immediately activates a trigger node corresponding to a batch of data after the worker 0 collects the batch of data, so as to generate a task instance.
Scheme 2: for 2 weakly connected branches in the FECR network, 2 priority queues are created for each batch of data, each priority queue holding tasks on one branch of the batch activation. For the ith batch of data, if it activates the node of branch j (j=1, 2), the task is put into q [ i ] [ j ].
Scheme 3: the scheduler traverses the two-dimensional priority queue, finds executable tasks from the queue, and distributes the executable tasks to the idle workers.
Scheme 4: and the worker calculates the received task, and when the condition of the node is met, activates the child node of the task to generate a new task instance.
The above-described embodiments are merely illustrative of the principles of the present invention and its effectiveness, and are not intended to limit the scope of the invention. Modifications and variations may be made to the embodiments by those skilled in the art without departing from the spirit and principles of the present invention. The protection scope of the present invention shall be subject to the claims.

Claims (10)

1. A method for fast decision making in a reactive system, comprising the steps of:
1) Resolving fuzzy ECA rules in the reactive system into an FECR network; the method for obtaining the FECR network comprises the following steps:
11 Establishing a corresponding trigger node for each sensor data source in the reactive system;
12 Clustering the trigger nodes according to the generation rule of the fuzzy event in the fuzzy ECA rule to obtain a plurality of trigger node clusters; wherein trigger nodes in the same cluster meet a set of set filtering conditions;
13 Establishing a fuzzy event detection network for detecting a fuzzy event for each trigger node cluster, wherein the fuzzy event detection network is a fuzzy rete network;
14 Establishing a condition query network according to the condition part of the fuzzy ECA rule; the condition part is a generating rule for condition inquiry; the condition part is an alpha condition or a beta condition, and when the attribute value of the fact related to one alpha condition or beta condition does not change, the alpha condition or the beta condition is called as static; if the attribute value of the fact related to the alpha condition or the beta condition changes, the alpha condition or the beta condition is called as dynamic; when an alpha condition or a beta condition used for evaluation by a rete node is static, the rete node is a static node; if an alpha condition or a beta condition that a rete node uses to evaluate is dynamic, the rete node is a dynamic node;
2) Inputting fact data in a reactive system into a condition query network one by one, each time a node is activated, calculating whether a fact or a tuple activating the node meets the condition in the node, if yes, storing the fact or the tuple in a storage area of the node, if yes, but the node does not have the storage area, traversing child nodes of the node, activating all static nodes in the child nodes, and keeping the fact or the tuple in a memory of the static node of which the child nodes are dynamic nodes;
3) Assigning priorities to nodes in the FECR network, and then searching out weak communication branches of the FECR network according to the FECR network topology;
4) For the received ith lot data; the sensor data in the ith batch of data is<sensorid,value,timestamp>Where sensor represents the ID of the sensor, value represents the value detected by the sensor, and timestamp represents the timestamp; the reasoning engine of the reactive system finds a corresponding trigger node a according to the sensor, modifies the dynamic attribute information of the trigger node a according to the value and the timestamp, and activates the trigger node a; then starting from the trigger node a, traversing the FECR network, and activating child nodes of the trigger node a until the limit condition of the nodes is not met or an action node of the FECR network is reached; when each node is activated, a task instance is formed, and after the node belonging to the branch j in the ith batch of data is activated, the task instance corresponding to the node is placed in the priority queue q i,j In (1) a one-dimensional array q is obtained i [w]=(q i,1 ,q i,2 ,...,q i,j ,...,q i,w ) J is more than or equal to 1 and less than or equal to w; w is the branch number of the FECR network;
5) The scheduler will assign task instances to different worker executions based on priority.
2. The method of claim 1, wherein let O 1 ,O 2 ,...,O u Representing all fact classes involved in proactive rules in fuzzy ECA rules, P 1 ,P 2 ,...,P v Representing the fact that static beta conditions in an active rule relate to, wherein v is equal to or less than u, Q 1 ,Q 2 ,...,Q u-v Representing a fact class not involved by a static beta condition, E representing an event node triggering an active rule; the method for establishing the conditional query network comprises the following steps:
141 For definition in fact class P 1 ,P 2 ,...,P v Attributes of (2)Establishing a fuzzy rete network as a static query network under the static alpha condition and the static beta condition, and marking the last beta node of the static query network as Ne;
142 After event node E, an alpha node is established, denoted as E α The method comprises the steps of carrying out a first treatment on the surface of the Then a connection node N is established 0 As E α And child nodes of two nodes Ne, N 0 For evaluating definitions at event node E and facts class P 1 ,P 2 ,...,P v Dynamic alpha and dynamic beta conditions above;
143 For Q) 1 ,Q 2 ,...,Q u-v Establishing a corresponding static alpha node under the static alpha condition; for Q 1 ,Q 2 ,...,Q u-v The dynamic alpha condition and the dynamic beta condition respectively establish a dynamic alpha node and a dynamic beta node; for a static alpha node, if the child node of the static alpha node contains a dynamic node, an alpha memory is built for the static alpha node to save the alpha matching meeting the static alpha condition of the static alpha node and the ancestor node of the static alpha node; for dynamic beta node N i It has two parent nodes, one is Q i The end node of the alpha node chain, which is the start node, is another one of N i-1 The method comprises the steps of carrying out a first treatment on the surface of the Wherein i is more than or equal to 1 and less than or equal to u-v;
144 A) the dynamic alpha node with the parent node being the static alpha node is denoted as alpha d Node and establish connection to make all alpha d The node becomes E α Child nodes of the node.
3. The method of claim 1, wherein in the step 5), the worker performs different manners on the task instance according to different categories of nodes corresponding to the task instance: a) If the activated node of the task instance is an alpha node, the worker evaluates all events or facts with the time stamp equal to the time stamp of the task instance, if the events or facts pass through, the child nodes of the task instance are activated to form a new task instance, and if the alpha node has an alpha memory, the events or facts meeting the conditions are stored; b) If the activated node of the task instance is a beta node, the worker searches a tuple with the time stamp equal to the time stamp of the task instance from a left storage of the beta node and evaluates the AM in a right storage one by one; searching AM with the time stamp equal to the time stamp of the task instance from the right storage of the beta node and evaluating the tuples with the time stamp smaller than the time stamp of the task instance in the left storage one by one; if the task passes, activating the child node to form a new task instance and a new tuple, and storing the new task instance and the new tuple in a beta memory of the node;
c) If the task instance corresponds to the event node, judging whether the occurrence degree of all the events which are equal to the time stamp of the task instance in the event node is larger than a set occurrence degree threshold value, and if so, activating the child node.
4. The method of claim 1, wherein the trigger node TN is represented as tn= (NI, SI, SS, NT, V); wherein ni= (nt, a 1 ,a 2 ,...,a n ) Representing trigger node information, nt is node type, a 1 ,a 2 ,...,a n Is optional additional attribute of node, si= (id, b 1 ,b 2 ,...,b n ) Information representing a sensor corresponding to the trigger node, id being a unique identifier of the sensor, b 1 ,b 2 ,...,b n Is an optional additional attribute of the sensor, ss= (c) 1 ,c 2 ,...,c n ) The space semantic information of the sensor corresponding to the trigger node is represented; nt= (ts, te) represents start-stop time of the latest event occurrence detected by the sensor corresponding to the trigger node, ts represents start time, and te represents end time; v represents the value of the latest data detected by the sensor corresponding to the trigger node; NT and V are dynamic attributes of the trigger node, and NI, SI and SS are static attributes of the trigger node.
5. The method of claim 1, wherein the trigger node cluster partitioning method is NodeClassification: filter 1 ∧filter 2 ∧...∧filter n The method comprises the steps of carrying out a first treatment on the surface of the Wherein NodeClassies is a class filtering condition for restricting class of trigger nodes contained in the trigger node cluster, and filter i Representing filter conditions defined on the trigger node attributes.
6. The method of claim 5, wherein the alpha network in the fuzzy rete network is formed by alpha nodes connected in series, and the alpha 0 node is used for detecting alpha conditions; the alpha network is a node tree, a link formed from a trigger node to a leaf alpha node is marked as an alpha series chain, the leaf alpha node is provided with a fuzzy alpha memory, and data meeting all alpha conditions on the alpha node chain, namely alpha matching AM is stored; the alpha 1 network consists of alpha 2 nodes, each alpha 3 node has an alpha 4 memory, each class object corresponds to an alpha 5 node, and the jth alpha 6 node alpha 7 j For evaluating the j-th class in AM j Object and at beta j-1 Tuple t in memory j-1 Whether the beta condition in the node is satisfied; tuple t j-1 Is a slave class 1 To class j-1 If tuple t j-1 Satisfy beta j-1 All conditions of the node and its ancestor node will be class in AM j Object and tuple t j-1 Forming tuple t j Stored at beta j A memory is arranged in the memory; the fuzzy event detected in the fuzzy rete network is stored in the event node E and used for triggering the condition inquiry.
7. The method of claim 1, wherein the priority is higher as the priority value is smaller, the priority being a primary priority and a secondary priority, wherein the primary priority is set in a manner that: the main priority of all static nodes in the trigger node and the conditional query network is set to 0; the main priority of the rest nodes is equal to the maximum value of the main priorities in all the father nodes plus one; the secondary priority setting mode is as follows: if a node has no child nodes, the secondary priority of the node is equal to the value of the primary priority of the node; if a node has child nodes, its secondary priority is equal in size to the maximum of all child node secondary priorities minus one.
8. The method of claim 1, wherein the arrangement rules of tasks in the priority queue are: for the same priority queue q i,j The task instance a, b in (a) if and only if one of the following two conditions is metThe task instance a is arranged in front of the task instance b: (1) The main priority of the task instance a is smaller than that of the task instance b; (2) The primary priority of task instance a is equal to the primary priority of task instance b and the secondary priority of task instance a is less than or equal to the secondary priority of task instance b.
9. A method as claimed in claim 1 or 8, characterized in that if task instances generated by k batches of data coexist in the reasoning system, a two-dimensional array of priority queues is created, q [ k ]][w]={q i [w],q i+1 [w],...,q i+k-1 [w]-a }; then let x take the value from 0 to k-1, y take the value from 1 to w, traverse the queue two-dimensional array q [ k ]][w]If q [ x ]][y]Is not empty and q [ x ]][y]Head of task head of (1) x,y Executable, then it is dequeued q [ x ]][y]And is allocated to the idle worker.
10. The method of claim 9, wherein the head is determined if and only if the following conditions (a), (b) are simultaneously satisfied x,y Is executable; head is arranged x,y The main priority is r, and the auxiliary priority is s; condition (a): queue q [ x ]][y]All tasks with main priority less than r are allocated and executed by a worker; (b) Queue q [ x-1][y]All nodes in (1) are executed or head x-1,y Represents q [ x-1 ]][y]Is less than or equal to head x-1,y Is decremented by two.
CN202010581381.2A 2020-06-23 2020-06-23 Quick decision method of reactive system Active CN111831694B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010581381.2A CN111831694B (en) 2020-06-23 2020-06-23 Quick decision method of reactive system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010581381.2A CN111831694B (en) 2020-06-23 2020-06-23 Quick decision method of reactive system

Publications (2)

Publication Number Publication Date
CN111831694A CN111831694A (en) 2020-10-27
CN111831694B true CN111831694B (en) 2023-06-20

Family

ID=72898033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010581381.2A Active CN111831694B (en) 2020-06-23 2020-06-23 Quick decision method of reactive system

Country Status (1)

Country Link
CN (1) CN111831694B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013098830A1 (en) * 2011-12-30 2013-07-04 Yogesh Chunical Rathod A system and method for dynamic, portable, customize, contextual, unified and integrated network(s).
CN104899205A (en) * 2014-03-05 2015-09-09 张航 Dynamic searching framework based on star-shaped structure business model
CN110175676A (en) * 2019-04-28 2019-08-27 中国科学院软件研究所 A kind of high-performance rule matching method towards memory constrained environment
CN110830539A (en) * 2018-08-14 2020-02-21 贵州白山云科技股份有限公司 Network storage system and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101133991B1 (en) * 2009-11-27 2012-07-09 한국과학기술정보연구원 Rules reasoner, method for dynamically materializing wild pattern rules having the same
US10613914B2 (en) * 2013-04-01 2020-04-07 Oracle International Corporation Orchestration service for a distributed computing system
US10812318B2 (en) * 2017-05-31 2020-10-20 Cisco Technology, Inc. Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013098830A1 (en) * 2011-12-30 2013-07-04 Yogesh Chunical Rathod A system and method for dynamic, portable, customize, contextual, unified and integrated network(s).
CN104899205A (en) * 2014-03-05 2015-09-09 张航 Dynamic searching framework based on star-shaped structure business model
CN110830539A (en) * 2018-08-14 2020-02-21 贵州白山云科技股份有限公司 Network storage system and method
CN110175676A (en) * 2019-04-28 2019-08-27 中国科学院软件研究所 A kind of high-performance rule matching method towards memory constrained environment

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Efficient rule engine for smart building systems;Yan Sun等;《IEEE Transactions on computers》;第64卷(第6期);2658-1669 *
事件驱动的云制造车间调度研究;杨屹;《中国优秀硕士学位论文全文数据库 工程科技II辑》;C029-228 *

Also Published As

Publication number Publication date
CN111831694A (en) 2020-10-27

Similar Documents

Publication Publication Date Title
Pulgar-Rubio et al. MEFASD-BD: multi-objective evolutionary fuzzy algorithm for subgroup discovery in big data environments-a mapreduce solution
Laskey et al. Hypothesis management in situation-specific network construction
Wang et al. Skyline preference query based on massive and incomplete dataset
CN110033125A (en) A kind of business process analysis method based on fuzzy logic Petri network
RU2610287C1 (en) Method of monitoring state of data transmission network
CN110838055A (en) Electric power enterprise financial data management system based on big data
CN110175676B (en) High-performance rule matching method for memory-limited environment
Kargin et al. Internet of Things smart rules engine
Liu TOPSIS Model for evaluating the corporate environmental performance under intuitionistic fuzzy environment
CN111831694B (en) Quick decision method of reactive system
Mambe et al. A belief entropy-based approach for conflict resolution in IoT applications
Tomaszek et al. On performance improvement of the SOMA swarm based algorithm and its complex network duality
Vere Temporal Scope of Assertions and Window Cutoff.
CN111814981B (en) Distributed real-time rule inference scheduling method
Alam et al. Fuzzy priority CPU scheduling algorithm
Khayut et al. Modeling, Planning, Decision-making and Control in Fuzzy Environment
Maleszka Observing collective knowledge state during integration
CN101114275A (en) Main body complexity analyzing evaluation method based on concepts model
Blake et al. Reinforcement learning based decision tree induction over data streams with concept drifts
Yavari et al. Assessment of effective risk in software projects based on Wallace’s classification using fuzzy logic
Iancu et al. Mamdani fuzzy logic controller with mobile agents for matching
Senthamilarasu et al. Load shedding techniques based on windows in data stream systems
Wang et al. A CVaR optimization method for priority of hesitant fuzzy preference relation with chance constraint
Ligęza A note on a logical model of an inference process. From ARD and RBS to BPMN
Leitch et al. Being committed to qualitative simulation

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