SYSTEM, METHOD, AND APPARATUS FOR SEARCHING INFORMATION ACROSS DISTRIBUTED DATABASES
First Claim
1. A searching system comprising:
- a plurality of information managing apparatuses that individually manage a plurality of databases that store in a distributed manner plural types of information each of which includes at least one item; and
a searching apparatus that searches for the information from the information managing apparatuses, the plurality of information managing apparatuses and the searching apparatus being connected to one another by way of a network;
whereinthe searching apparatus includes;
a search request receiving unit that receives a search request including a condition that the item should meet;
a locality storing unit that stores a data structure of the database related to the item, a type of the condition, and locality information indicating whether the item obtained as sequence information in a list structure is distributed across the databases, in association with one another;
a plan generating unit that analyzes the search request received by the search request receiving unit, and generates a search plan that is a processing request to the database, including a request of obtaining the sequence information and a request of creating a logical sequence by merging the sequence information obtained from the databases;
a determining unit that obtains from the locality storing unit the locality information that corresponds to the data structure of the database related to the item and the type of the condition that the item should meet, for each item obtained as the sequence information, and determines whether the item obtained as the sequence information is distributed across the databases in accordance with the obtained locality information;
an updating unit that removes the request of creating the logical sequence from the search plan and thereby updates the search plan, when the determining unit determines that the item is not distributed across the databases;
an execution requestexecution requesting unit that sends an execution request of the search plan updated by the updating unit to the information managing apparatuses; and
a result obtaining unit that receives an execution result of the search plan from the information managing apparatuses as a search result, andeach of the information managing apparatuses includes;
the databases;
an execution request receiving unit that receives the execution request from the searching apparatus; and
an executing unit that executes the search plan on the databases in accordance with the execution request received by the execution request receiving unit.
4 Assignments
0 Petitions
Accused Products
Abstract
A master node includes a locality determining table that stores data structures of obtained items, types of conditions that the items should meet, and locality information; a plan generating unit that generates a search plan; a determining unit that obtains the locality information corresponding to the data structure of the item obtained as a sequence and the type of condition for the item and determines whether the item is stored in a distributed manner across different databases; an updating unit that removes a request of creating a logical sequence from the search plan and updates the search plan when the item is not stored in a distributed manner across the different databases; and an execution requestexecution requesting unit that notifies a slave node of a search plan execution request. The slave node includes an execution request receiving unit and an executing unit that executes the search plan.
34 Citations
9 Claims
-
1. A searching system comprising:
-
a plurality of information managing apparatuses that individually manage a plurality of databases that store in a distributed manner plural types of information each of which includes at least one item; and a searching apparatus that searches for the information from the information managing apparatuses, the plurality of information managing apparatuses and the searching apparatus being connected to one another by way of a network;
whereinthe searching apparatus includes; a search request receiving unit that receives a search request including a condition that the item should meet; a locality storing unit that stores a data structure of the database related to the item, a type of the condition, and locality information indicating whether the item obtained as sequence information in a list structure is distributed across the databases, in association with one another; a plan generating unit that analyzes the search request received by the search request receiving unit, and generates a search plan that is a processing request to the database, including a request of obtaining the sequence information and a request of creating a logical sequence by merging the sequence information obtained from the databases; a determining unit that obtains from the locality storing unit the locality information that corresponds to the data structure of the database related to the item and the type of the condition that the item should meet, for each item obtained as the sequence information, and determines whether the item obtained as the sequence information is distributed across the databases in accordance with the obtained locality information; an updating unit that removes the request of creating the logical sequence from the search plan and thereby updates the search plan, when the determining unit determines that the item is not distributed across the databases; an execution requestexecution requesting unit that sends an execution request of the search plan updated by the updating unit to the information managing apparatuses; and a result obtaining unit that receives an execution result of the search plan from the information managing apparatuses as a search result, and each of the information managing apparatuses includes; the databases; an execution request receiving unit that receives the execution request from the searching apparatus; and an executing unit that executes the search plan on the databases in accordance with the execution request received by the execution request receiving unit. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A searching method in a searching system that includes a plurality of information managing apparatuses that individually manage a plurality of databases that store in a distributed manner plural types of information each of which includes at least one item, and a searching apparatus that searches for the information across the information managing apparatuses, the plurality of information managing apparatuses and the searching apparatus being connected to one another by way of a network, the searching method comprising:
-
storing by the searching apparatus in a locality storing unit, a data structure of a database related to the item, a type of the condition, and locality information indicating whether the item obtained as sequence information in a list structure is distributed across the databases, in association with one another; receiving a search request by the searching apparatus; analyzing the received search request by the searching apparatus; generating by the searching apparatus a search plan that is a processing request to the database, including a request of obtaining the sequence information and a request of creating a logical sequence by merging the sequence information obtained from the databases; obtaining by the searching apparatus from the locality storing unit the locality information that corresponds to the data structure of the database related to the item and the type of the condition that the item should meet, for each item obtained as the sequence information; determining by the searching apparatus whether the item obtained as the sequence information is distributed across the databases in accordance with the obtained locality information; removing by the searching apparatus the request of creating the logical sequence from the search plan and thereby updating the search plan when the searching apparatus determines that the item is not distributed across the databases; sending an execution request of the updated search plan to the information managing apparatuses by the searching apparatus; receiving the execution request from the searching apparatus by the information managing apparatuses; and executing the search plan on the databases in accordance with the received execution request by the information managing apparatuses.
-
-
9. A searching apparatus that is connected to a plurality of information managing apparatuses by way of a network and searches for the information across the information managing apparatuses that individually manage a plurality of databases that store in a distributed manner plural types of information each of which includes at least one item, the searching apparatus comprising:
-
a search request receiving unit that receives a search request including a condition that the item should meet; a locality storing unit that stores a data structure of a database related to the item, a type of the condition, and locality information indicating whether the item obtained as sequence information in a list structure is distributed across the databases, in association with one another; a plan generating unit that analyzes the search request received by the search request receiving unit, and generates a search plan that is a processing request to the database, including a request of obtaining the sequence information and a request of creating a logical sequence by merging the sequence information obtained from the databases; a determining unit that obtains from the locality storing unit the locality information that corresponds to the data structure of the database related to the item and the type of the condition that the item should meet, for each item obtained as the sequence information, and determines whether the item obtained as the sequence information is distributed across the databases in accordance with the obtained locality information; an updating unit that removes the request of creating the logical sequence from the search plan and thereby updates the search plan, when the determining unit determines that the item is not distributed across the databases; and an execution requestexecution requesting unit that sends an execution request of the search plan updated by the updating unit to the information managing apparatuses.
-
Specification