CONCURRENT PROCESSING OF DATA SOURCES

Uloženo v:
Podrobná bibliografie
Název: CONCURRENT PROCESSING OF DATA SOURCES
Document Number: 20180060391
Datum vydání: March 1, 2018
Appl. No: 15/254094
Application Filed: September 01, 2016
Abstrakt: A pattern matching component is provided. The pattern matching component utilizes a plurality of processors to efficiently identify and retrieve information from a plurality of data sources. In some examples, the pattern matching component concurrently executes multiple portions of a data access plan, such as a query execution plan, using a plurality of processors disposed within a multi-core processor. The pattern matching component may concurrently execute multiple portions of the data access plan using a plurality of processors in a distributed system. Concurrent execution of at least some of the operations required to identify and retrieve the information results in increased efficiency over conventional query execution methods.
Assignees: Parallel Universe, Inc. (Arlington, MA, US)
Claim: 1. A computer system configured to access related and distributed data, the computer system comprising: a memory including: at least one relational database including at least one first table; a query execution plan identifying the at least one first table; and at least one first buffer; and at least one processor coupled to the memory and configured to execute the query execution plan at least in part by executing a first thread concurrently with a second thread; retrieving, via the first thread, first data from the at least one first table; retrieving, via the second thread, second data from the at least one first table; storing, via the first thread, the first data in the at least one first buffer; and storing, via the second thread, the second data in the at least one first buffer.
Claim: 2. The computer system of claim 1, wherein the at least one processor is configured to provide a result from execution of the query execution plan to a component that generated the query execution plan.
Claim: 3. The computer system of claim 1, wherein the at least one processor is further configured to execute the query execution plan at least in part by identifying, via the first thread and the second thread, records that meet at least one condition associated with the at least one first table and retrieving, via the first thread and the second thread, the first data and the second data from the records.
Claim: 4. The computer system of claim 3, wherein the memory further includes at least one second buffer, the relational database further comprises at least one second table, and the at least one processor is further configured to execute the query execution plan at least in part by executing a third thread concurrently with a fourth thread; retrieving, from the at least one second table via the third thread, first records that meet at least one condition evaluated using third data stored in the at least one first buffer; retrieving, from the at least one second table via the fourth thread, second records that meet at least one condition evaluated using fourth data stored in the at least one first buffer; storing, via the third thread, data from the first records in the at least one second buffer; and storing, via the fourth thread, data from the second records in the at least one second buffer, the first records being stored at a different location within the at least one first buffer from the second records.
Claim: 5. The computer system of claim 4, wherein the at least one processor includes a first processing core and a second processing core within a multi-core processor and the first processing core is configured to execute the first thread concurrently with the second thread and the second processing core is configured to execute the third thread concurrently with the fourth thread.
Claim: 6. The computer system of claim 4, wherein the at least one processor is further configured to execute the query execution plan at least in part by retrieving, via the third thread, the third data from the at least one first buffer in a round-robin fashion and retrieving, via the fourth thread, the fourth data from the at least one first buffer in a round-robin fashion.
Claim: 7. The computer system of claim 4, wherein the at least one processor is further configured to execute the query execution plan at least in part by parsing the query execution plan to identify an order of processing indicating the at least one first table be processed prior to the at least one second table.
Claim: 8. A data access method executed by a computer system including at least one processor, the method comprising: executing a first thread concurrently with a second thread; retrieving, via the first thread, first data from at least one first table in a relational database; retrieving, via the second thread, second data from the at least one first table; storing, via the first thread, the first data in at least one first buffer; and storing, via the second thread, the second data in the at least one first buffer.
Claim: 9. The method of claim 8, further comprising: identifying, via the first thread and the second thread, records that meet at least one condition associated with the at least one first table; and retrieving, via the first thread and the second thread, the first data and the second data from the records.
Claim: 10. The method of claim 9, further comprising: executing a third thread concurrently with a fourth thread; retrieving, from at least one second table in the relational database via the third thread, first records that meet at least one condition evaluated using third data stored in the at least one first buffer; retrieving, via the fourth thread, second records from the at least one second table that meet at least one condition evaluated using fourth data stored in the at least one first buffer; storing, via the third thread, data from the first records in at least one second buffer; and storing, via the fourth thread, data from the second records in the at least one second buffer, the first records being stored at a different location within the at least one first buffer from the second records.
Claim: 11. The method of claim 10, further comprising: retrieving, via the third thread, the third data from the at least one first buffer in a round-robin fashion; and retrieving, via the fourth thread, the fourth data from the at least one first buffer in a round-robin fashion.
Claim: 12. The method of claim 10, further comprising parsing a query execution plan to identify an order of processing indicating the at least one first table be processed prior to the at least one second table.
Claim: 13. The method of claim 12, further comprising providing a result from execution of the query execution plan to a component that generated the query execution plan.
Claim: 14. A non-transitory computer readable medium having a program stored therein configured to access related and distributed data, the program being executable by a computer system including at least one processor and at least one buffer, the program comprising: instructions configured to execute a first thread concurrently with a second thread; instructions configured to retrieve, via the first thread, first data from at least one first table in a relational database; instructions configured to retrieve, via the second thread, second data from the at least one first table; instructions configured to store, via the first thread, the first data in at least one first buffer; and instructions configured to store, via the second thread, the second data in the at least one first buffer.
Claim: 15. The computer readable medium of claim 14, further comprising: instructions configured to identify, via the first thread and the second thread, records that meet at least one condition associated with the at least one first table; and instructions configured to retrieve, via the first thread and the second thread, the first data and the second data from the records.
Claim: 16. The computer readable medium of claim 15, further comprising: instructions configured to execute a third thread concurrently with a fourth thread; instructions configured to retrieve, from at least one second table in a relational database via the third thread, first records that meet at least one condition evaluated using third data stored in the at least one first buffer; instructions configured to retrieve, via the fourth thread, second records from the at least one second table that meet at least one condition evaluated using fourth data stored in the at least one first buffer; instructions configured to store, via the third thread, data from the first records in at least one second buffer; and instructions configured to store, via the fourth thread, data from the second records in the at least one second buffer, the first records being stored at a different location within the at least one first buffer from the second records.
Claim: 17. The computer readable medium of claim 16, wherein the program is configured to: execute the first thread concurrently with the second thread via a first processing core of a multi-core processor; and execute the third thread concurrently with the fourth thread via a second processing core of the multi-core processor.
Claim: 18. The computer readable medium of claim 16, further comprising: instructions configured to retrieve, via the third thread, the third data from the at least one first buffer in a round-robin fashion; and instructions configured to retrieve, via the fourth thread, the fourth data from the at least one first buffer in a round-robin fashion.
Claim: 19. The computer readable medium of claim 16, further comprising instructions configured to parse a query execution plan to identify an order of processing indicating the at least one first table be processed prior to the at least one second table.
Claim: 20. The computer readable medium of claim 19, further comprising instructions configured to provide a result from execution of the query execution plan to a component that generated the query execution plan.
Current International Class: 06
Přístupové číslo: edspap.20180060391
Databáze: USPTO Patent Applications
Popis
Abstrakt:A pattern matching component is provided. The pattern matching component utilizes a plurality of processors to efficiently identify and retrieve information from a plurality of data sources. In some examples, the pattern matching component concurrently executes multiple portions of a data access plan, such as a query execution plan, using a plurality of processors disposed within a multi-core processor. The pattern matching component may concurrently execute multiple portions of the data access plan using a plurality of processors in a distributed system. Concurrent execution of at least some of the operations required to identify and retrieve the information results in increased efficiency over conventional query execution methods.