METHOD FOR PROCESSING STREAM DATA AND SYSTEM THEREOF
First Claim
1. A method for processing stream data assigning time stamps and processing a stream that is a flow of time series data arriving in an ascending order of the time stamps, the method comprising the steps of:
- preparing operator trees assuming an operator, which is a basic data processing unit, as a node one by one, with respect to each of a plurality of queries in data processing defined by an interaction of the queries and constructing a single operator graph from the plurality of prepared operator trees;
assigning an operator execution order based on the inter-operator input and output relation so that an execution order assigned to operators on an output side is larger than an execution order of operators on an input side, with respect to all the operators on the operator graph;
extracting an external ignition operator that receives data from the outside of the operator graph and an internal ignition operator that time-limitedly outputs a keeping tuple, from the operator graph and preparing an ignition operator list;
extracting a set of the operators configured of ones having the earliest ignition time of the operator belonging to the ignition operator list and constructing an execution operator list, at an execution timing of the query; and
executing the operator where the operator execution order assigned to the operator is minimized among the operators belonging to the execution operator list.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides a method for processing stream data and a system thereof capable of implementing general data processing including recursive processing with low latency. In the system for processing stream data, a single operator graph is prepared from operator trees of a plurality of queries, an execution order of the operators is determined so that execution of a streaming operator is progressed in one way from an input to an output, the ignition time of an external ignition operator that inputs data from the outside of the system and an internal ignition operator that time-limitedly generates data is monitored, and an operator execution control unit repeats processing that completes the processing in the operator graph at the time according to the determined operator execution order, assuming the operator of the earliest ignition time as a start point.
129 Citations
15 Claims
-
1. A method for processing stream data assigning time stamps and processing a stream that is a flow of time series data arriving in an ascending order of the time stamps, the method comprising the steps of:
-
preparing operator trees assuming an operator, which is a basic data processing unit, as a node one by one, with respect to each of a plurality of queries in data processing defined by an interaction of the queries and constructing a single operator graph from the plurality of prepared operator trees; assigning an operator execution order based on the inter-operator input and output relation so that an execution order assigned to operators on an output side is larger than an execution order of operators on an input side, with respect to all the operators on the operator graph; extracting an external ignition operator that receives data from the outside of the operator graph and an internal ignition operator that time-limitedly outputs a keeping tuple, from the operator graph and preparing an ignition operator list; extracting a set of the operators configured of ones having the earliest ignition time of the operator belonging to the ignition operator list and constructing an execution operator list, at an execution timing of the query; and executing the operator where the operator execution order assigned to the operator is minimized among the operators belonging to the execution operator list. - View Dependent Claims (2, 3)
-
-
4. A method for processing stream data assigning time stamps and processing a stream that is a flow of time series data arriving in an ascending order of the time stamps, the method comprising the steps of:
-
preparing operator trees assuming an operator, which is a basic data processing unit, as a node, with respect to each of a plurality of queries in data processing defined by an interaction of the queries and constructing a single operator graph from the plurality of prepared operator trees; when the operator execution order is assigned for all the operators on the operator graph, simulating the operator graph to a directed graph having a directed side from an input side operator to an output side operator based on the inter-operator input and output relation, decomposing the directed graph into a set of strongly connected components and determining so that the operator execution order assigned to all the operators configuring an output side component is larger than the operator execution order assigned to all the operators configuring an input side component, based on the inter-component input and output relation belonging to the set of the strongly connected components; extracting an external ignition operator that receives data from the outside of the operator graph and an internal ignition operator that time-limitedly outputs a keeping tuple, from the operator graph and preparing an ignition operator list; and extracting a set of the operators configuring ones having the earliest ignition time of the operator belonging to the ignition operator list and constructing an execution operator list, at an execution timing of the query; and executing the operator where the operator execution order assigned to the operator is minimized among the operators belonging to the execution operator list. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A system for processing stream data assigning time stamps and processing a stream that is time series data arriving in an ascending order of the time stamps, the system comprising:
-
a network interface that receives the streams and a processing unit that processes the streams, wherein the processing unit; for each query, prepares an operator tree assuming an operator, which is a basic data processing unit, as a node one by one and constructs a single operator graph from the plurality of prepared operator trees; and for all the operators on the operator graph, assigns an operator execution order based on the inter-operator input and output relation so that an execution order assigned to operators on an output side is larger than an execution order of operators on an input side. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification