Patent ID: 8117186
Filing Date: 2012-02-14
Classification: G06F

Abstract:
1. A database processing apparatus that is connected to plural distributed database servers each having a database that stores a structured document including at least one element, the apparatus comprising: a receiving unit that receives a process request for requesting a process related to the structured document; a plan generating unit that generates a process plan, including processing instructions each corresponding to a unit of execution, to perform the process; a executing unit that executes the process plan, by executing each of the processing instructions; a storage unit that stores a result of execution of each of the processing instruction; a result generating unit that generates a first structured document according to the process request by using the result of execution; and a result transmitting unit that transmits the first structured document, wherein the plan generating unit includes a first generating unit that generates at least one first processing instruction for acquiring all or part of elements included in a structured document to be processed based on the process request, a second generating unit that generates a second processing instruction for performing a natural join by using result data including the elements acquired according to the first processing instruction, a third generating unit that generates a third processing instruction for performing a cross join by using the result data, a fourth generating unit that generates a fourth processing instruction for updating a correspondence relation between a result of the natural join performed by executing the second processing instruction and a result of the cross join performed by executing the third processing instruction, based on these results, a joining unit that joins the first to fourth processing instructions, thereby generating the process plan, and a converting unit that converts the first processing instruction included in the process plan into a fifth processing instruction for transmitting at least one acquisition request for the acquisition of all or part of the elements to the database servers, and receiving result data including the elements acquired according to the acquisition request from the database servers, respectively, the received result data having a header added, the header being for identifying a correspondence relation between the result data transmitted according to the acquisition request and the database server that transmits the result data, wherein the executing unit includes a first executing unit that executes the fifth processing instruction, receives the result data from the database servers to aggregate the received result data in units of records, uniquely identifies the result data corresponding to the acquisition request and the database server that transmits the result data by using the header that is added to the result data, adds to each of the records of the result data an identifier that enables the database servers to uniquely identify the record, and stores resultant records in the storage unit as results of the execution of the fifth processing instruction.