SYSTEM AND METHOD FOR BATCH QUERY PROCESSING
First Claim
1. A method of processing data source queries, the method comprising:
- accumulating the data source queries in a query holding area of a query assistant running in a computer server;
separating the accumulated data source queries into a plurality of partitions, each of the partitions including data source queries with a respective from-type, each respective from-type being associated with a combination of storage tables accessed by each of the data source queries in a corresponding partition;
ordering the partitions;
ordering the accumulated data source queries within each of the partitions; and
processing the accumulated data source queries in an order based on the ordering of the partitions and the ordering of the data source queries within each of the partitions.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method of batch query processing includes accumulating data queries in a query holding area of a query assistant running in a computer server, separating the accumulated data queries into a plurality of partitions, ordering the partitions, ordering the accumulated data queries within each of the partitions, and processing the accumulated data queries in an order based on the ordering of the partitions and the ordering of the data queries within each of the partitions. Each of the partitions includes data queries with a respective from-type. Each respective from-type is associated with a combination of storage tables accessed by each of the data queries in a corresponding partition. In some examples, ordering the accumulated data queries within each of the partitions includes processing the data queries in each partition against a test data set and ordering the data queries based on results of the processing.
-
Citations
20 Claims
-
1. A method of processing data source queries, the method comprising:
-
accumulating the data source queries in a query holding area of a query assistant running in a computer server; separating the accumulated data source queries into a plurality of partitions, each of the partitions including data source queries with a respective from-type, each respective from-type being associated with a combination of storage tables accessed by each of the data source queries in a corresponding partition; ordering the partitions; ordering the accumulated data source queries within each of the partitions; and processing the accumulated data source queries in an order based on the ordering of the partitions and the ordering of the data source queries within each of the partitions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A query assistant hosted in an application server, the query assistant comprising:
-
a query manager; a query holding area coupled to the query manager; a query queue coupled to the query manager; and a query engine coupled to the query manager and the query queue; wherein; the query holding area is configured to accumulate queries received by the query assistant; the query manager is configured to; separate the queries in the query holding area into a plurality of disjoint sets, each of the disjoint sets including queries with a respective from-type, each respective from-type being associated with a combination of data tables accessed by each of the queries in a corresponding disjoint set; sort the disjoint sets; sort the queries within each of the disjoint sets; and insert the queries into the query queue based on the sorting of the disjoint sets and the sorting of the queries within each of the disjoint sets; the query engine is configured to; remove the queries in order from the query queue; and process the queries. - View Dependent Claims (15, 16, 17)
-
-
18. A non-transitory machine-readable medium comprising a plurality of machine-readable instructions which when executed by one or more processors associated with an application server are adapted to cause the one or more processors to perform a method comprising:
-
accumulating data queries in a query holding area until an accumulation threshold is reached, the accumulation threshold being based on a combination of one or more criteria selected from a group consisting of a number of data queries that are accumulated in the query holding area, a predetermined period of time, and whether a first-in first-out (FIFO) queue containing previously accumulated data queries is empty; separating the data queries into a plurality of partitions, each of the partitions including data queries with a respective from-type, each respective from-type being associated with a combination of tables accessed by each of the data source queries in a corresponding partition; ordering the partitions; ordering the data queries within each of the partitions; inserting the accumulated data queries into the FIFO queue based on the ordering of the partitions and the ordering of the data queries within each of the partitions; removing the data queries in order from the FIFO queue; and processing the data queries. - View Dependent Claims (19, 20)
-
Specification