Partitioned query execution in event processing systems
First Claim
1. A computer system, comprising:
- a processor; and
a memory communicatively coupled to the processor, the memory having computer-executable instructions that when executed by the processor provide one or more modules, the one or more modules further comprising;
an execution module configured to;
partition a plurality of events into one or more groups based on a partitioning operator;
instantiate a query application module for each of the one or more groups, wherein each particular query application module for a particular group includes data associated with the query and group-specific data associated with the particular group, and is configured to apply the query to events of the particular group to generate results, and wherein each query application module for a group comprises logic to execute a plurality of complex event processing (CEP) operators and wherein the logic of each query application module is configured for execution at a separate execution thread of the computer system; and
merge results of each of the query application modules.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and computer-readable media are disclosed for partitioned query execution in event processing systems. A particular method includes receiving a plurality of events via an input stream. The plurality of events is partitioned into one or more groups, and a query application module is instantiated for each of the one or more groups based on a compiled query application plan. Each particular query application module for a particular group is configured to apply a query to events of the particular group to generate partial results. The method includes merging the partial results of each of the query application modules to generate merged output results and providing the output results to an output stream.
-
Citations
18 Claims
-
1. A computer system, comprising:
-
a processor; and a memory communicatively coupled to the processor, the memory having computer-executable instructions that when executed by the processor provide one or more modules, the one or more modules further comprising; an execution module configured to; partition a plurality of events into one or more groups based on a partitioning operator; instantiate a query application module for each of the one or more groups, wherein each particular query application module for a particular group includes data associated with the query and group-specific data associated with the particular group, and is configured to apply the query to events of the particular group to generate results, and wherein each query application module for a group comprises logic to execute a plurality of complex event processing (CEP) operators and wherein the logic of each query application module is configured for execution at a separate execution thread of the computer system; and merge results of each of the query application modules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, comprising:
-
receiving a plurality of events via an input stream, wherein a query application plan is compiled prior to receiving the plurality of events and wherein the query application plan determines partitioning logic that partitions the plurality of events; partitioning the plurality of events into one or more groups; instantiating a query application module for each of the one or more groups, wherein each particular query application module for a particular group is configured to apply a query to events of the particular group to generate partial results; merging the partial results of each of the query application modules to generate merged output results; and providing the merged output results to an output stream. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-readable medium comprising instructions, that when executed by a computer, cause the computer to:
-
receive a user-defined query that includes a partitioning operator and at least one non-partitioning operator; compile a query application plan for the query, wherein the query application plan indicates how to parallelize application of the at least one nonpartitioning operator; during a run-time of the computer, receive a plurality of events via an input stream; partition the plurality of events into one or more groups based on the partitioning operator; instantiate a plurality of query application modules based on the compiled query application plan, wherein each particular query application module is associated with a particular group and is configured to apply the at least one non-partitioning operator to events of the particular group to generate partial results, wherein each query application module is associated with a single group; merge the partial results of each of the query application modules to generate output results; and provide the output results to an output stream. - View Dependent Claims (18)
-
Specification