WO2004084095A1 - Information retrieving system - Google Patents

Information retrieving system Download PDF

Info

Publication number
WO2004084095A1
WO2004084095A1 PCT/JP2003/003245 JP0303245W WO2004084095A1 WO 2004084095 A1 WO2004084095 A1 WO 2004084095A1 JP 0303245 W JP0303245 W JP 0303245W WO 2004084095 A1 WO2004084095 A1 WO 2004084095A1
Authority
WO
WIPO (PCT)
Prior art keywords
sub
search
search request
database
information processing
Prior art date
Application number
PCT/JP2003/003245
Other languages
French (fr)
Japanese (ja)
Other versions
WO2004084095A9 (en
Inventor
Akira Naruse
Kouichi Kumon
Original Assignee
Fujitsu Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2003/003245 priority Critical patent/WO2004084095A1/en
Priority to JP2004569562A priority patent/JPWO2004084095A1/en
Publication of WO2004084095A1 publication Critical patent/WO2004084095A1/en
Publication of WO2004084095A9 publication Critical patent/WO2004084095A9/en
Priority to US11/068,395 priority patent/US20050165765A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries

Definitions

  • the present invention relates to an information search system, an information search method, an information search device, an information search program, and a computer-readable recording medium storing the program.
  • the present invention relates to an information search system, an information search method, an information search device, an information search program, and a computer-readable program that records the program, which are suitable for processing a search request for a database in parallel by a plurality of information processing devices. It relates to a possible recording medium. Background technology ''
  • the database to be searched is sequentially copied from an external storage device such as a hard disk to a memory (main storage device). Search processing is performed.
  • an external storage device such as a hard disk in which a database is stored has a low data input / output (I / O), and it takes time to transfer data between the external storage device and the memory. . Therefore, when a search process is performed, the data transfer time between the external storage device and the memory often determines the search time.
  • a typical OS Operating System
  • This disk cache function allows data read from an external storage device to be stored in an unused portion of memory in the near future. If the database to be searched has been processed by another search process in advance, it may not be necessary to transfer data from the external storage device to the memory. Therefore, when a search request continues for the same database, except for the first search request, there is no need to transfer data from the external storage device to the memory. As a result, the search time may be significantly reduced. There is.
  • the size of the database is limited to the case where the size of the database is smaller than the memory. This is because if the size of the database is larger than the memory size, the entire contents of the database cannot be stored in memory.
  • FIG. 12 is a diagram schematically showing a relationship between a database size and a search time in a conventional information search system. As shown in Fig. 12, if the size of the database to be searched becomes larger than the memory size of the computer (computer), even if the same database is searched in advance, the hard disk Access to an external storage device such as the above occurs, and data transfer from the external storage device becomes a bottleneck, and the search time is significantly longer than when the database size is small. '.
  • the present invention has been made in view of the above-described problems, and in a case where a search request for a database is processed in parallel by a plurality of information processing apparatuses, each information processing apparatus processes the search request at high speed.
  • an information search system includes a plurality of information processing apparatuses, and transmits a plurality of search requests including a database to be searched and search conditions for the database.
  • a sub-database creating unit that creates a plurality of sub-databases having a size equal to or less than the capacity of a storage unit provided in the information processing device based on the database;
  • An assignment management unit that assigns the sub-database created by the sub-database creating unit to the information processing device as a sub-search request, which causes the information processing device to process a search request for the sub-database;
  • a connection unit that acquires and combines the processing results related to search requests.
  • a sub-search condition creating unit that divides the search condition to create a sub-search condition is provided, and the assignment management unit causes the information processing device to search the sub-database using the sub-search condition.
  • the condition may be assigned to the information processing device as a sub-search request.
  • the information processing apparatus is provided with a DB affinity setting section that can set, as a DB affinity, information on a sub-database to be preferentially allocated by the allocation management section, and the allocation management section performs processing based on the DB affinity. Then, a sub search request may be assigned to the information processing device.
  • the DB affinity setting unit may be able to set in advance a sub-database to be processed preferentially, and the DB affinity setting unit may set the sub-database based on the processing history of the sub-search request in the information processing device. And you may set the DB facility.
  • the information processing device further includes a free space management unit that manages the free space of the storage unit provided in the information processing device, and the allocation management unit performs a process based on the free space of the storage unit of the information processing device that is managed by the free space management unit.
  • a sub-database smaller than the free space may be allocated to the information processing device.
  • the allocation management unit based on the time required for the processing predicted by the processing time prediction unit, gives priority to the sub search request from the sub search request having the longest time. May be assigned.
  • the sub-database creating unit or the sub-search condition creating unit may create a plurality of sub-search requests by dividing a sub-search request not yet assigned to the information processing device by the assignment managing unit. .
  • the DB affinity for the information processing device set by the DB affinity setting unit, the database as the sub search request, and the time required for the processing predicted by the processing time prediction unit are set.
  • An evaluation unit for evaluating at least one or more using an evaluation function may be provided, and the assignment management unit may randomly assign a sub-search request to the information processing device based on an evaluation result by the evaluation unit.
  • an information search method of the present invention is an information search method in which a search request including a database to be searched and a search condition for the database is processed in parallel by a plurality of information processing apparatuses.
  • a sub search request creating step for creating a plurality of sub search requests of a size equal to or less than the capacity of the storage unit provided in the information processing device based on the search request; and a sub search request created in the information processing device in the sub search request creating step.
  • the information search apparatus of the present invention is an information search apparatus that causes a plurality of information processing apparatuses to process a search request including a database to be searched and search conditions for the database in parallel.
  • a sub-search request creating unit that creates a plurality of sub-search requests of a size equal to or smaller than the storage unit provided in the information processing device based on the request;
  • an assignment management unit that allocates the sub-search request to the information processing device, and a combining unit that acquires and combines the processing results of the sub-search requests by the plurality of information processing devices are provided.
  • the information search program of the present invention includes a database to be searched and the database to be searched.
  • An information search program for causing a computer to execute an information search function for causing a plurality of information processing apparatuses to execute a search request including search conditions for a database in parallel with each other.
  • a sub-search request creating unit for creating a plurality of sub-search requests of a size equal to or less than the capacity of the storage unit provided in the storage unit;
  • the computer is caused to function as an assignment management unit for allocating a search request to an information processing device, and a combining unit for acquiring and combining processing results related to a sub-search request by a plurality of information processing devices.
  • a computer-readable recording medium records the above-described information search program.
  • the information search method As described above, according to the information search system, the information search method, the information search device, the information search program, and the computer-readable recording medium on which the program is recorded, the following effects and advantages are obtained.
  • the sub-database to be searched is cached in the storage unit of the information processing device that has once processed the sub-search request.
  • the information processing device does not need to access a hard disk having a slow access speed (disk access) to access the subdatabase, and can perform a high-speed search process for the subdatabase. it can.
  • Information about the sub-database to be preferentially assigned to the information processing device is set as a DB affinity, and a sub-search request (sub-database) is assigned to the information processing device based on the DB activity. This makes it possible to easily assign a sub-search request to the information processing device.
  • the DB affinity can be reliably set.
  • the DB affinity can be easily set by setting the DB affinity based on the processing history of the sub search request in the information processing device.
  • the storage of the information processing device can be easily and reliably performed.
  • a sub-database having a size equal to or less than the free space of a copy can be allocated to the information processing device.
  • FIG. 1 is a diagram showing a schematic configuration of an information search system as one embodiment of the present invention.
  • 2 to 4 are diagrams for explaining a method of creating a sub-search request (job) in the information search system as one embodiment of the present invention.
  • FIG. 5 is a diagram for explaining an example of an uneven job creation method in the information search system as one embodiment of the present invention.
  • FIG. 6 is a diagram for explaining a dynamic job assignment method by the assignment management unit in the information search system as one embodiment of the present invention.
  • FIG. 7 is a diagram showing an example of a job created by the sub-search request creating unit in the information search system as one embodiment of the present invention.
  • FIG. 8 is a flowchart for explaining a job allocating method by the allocation managing unit in the information search system as one embodiment of the present invention.
  • FIG. 9 is a diagram showing an example of a state in which a job is assigned to each PC by the assignment management unit in the information search system as one embodiment of the present invention.
  • FIG. 10 is a flowchart for explaining another job assignment method by the assignment management unit in the information search system as one embodiment of the present invention.
  • FIG. 11 is a diagram showing an example of another state in which a job has been assigned to each PC by the assignment management unit in the information search system as one embodiment of the present invention.
  • FIG. 12 is a diagram schematically showing a relationship between a database size and a search time in a conventional information search system.
  • FIG. 1 is a diagram showing a schematic configuration of an information search system as one embodiment of the present invention.
  • the information search system 1 transmits a search request for the database 3 input from the search request input unit 41 to a plurality of (four in this embodiment) PCs (Personal Computers: information processing devices) 2 a, 2 b , 2 c, 2 d are processed in parallel.
  • the database (search target) 3 collects and accumulates some kind of information (data) comprehensively (information group), and has a structure to process addition, deletion, update, and search of information.
  • the search is performed based on the search request input from the search request input unit 41, and information corresponding to the search request can be provided.
  • the search request input section 41 is for the operator to input a search request. This is for inputting a database to be searched (database 3 in the present embodiment) and desired search conditions for the database.
  • the search request input unit 41 is realized by, for example, a keyboard and a mouse in a computer system.
  • the search request includes a database to be searched and search conditions for the database.
  • only one database 3 is provided, but the invention is not limited to this, and a plurality of databases are provided, and at least one specific database is searched from these databases. It may be targeted, and the operator may arbitrarily select at least one of the databases as a search target.
  • the operator can input arbitrary search conditions.
  • the search result output unit 42 obtains a search result for the search request input from the search request input unit 41 from the management server 2 ⁇ and outputs it to an operator or the like.
  • the search result output unit 42 is realized by various types of output devices such as a display device and a printer.
  • PCs 2 a, 2 b, 2 c, and 2 d are information processing devices (computers) that respectively process search requests input from the search request input unit 41.
  • the PCs 2 a, 2 b, 2 c, and 2 d are sub search requests created by the sub search request creation unit 5 and assigned by the assignment management unit 8 in the management server 20. (Described later), and the processing result is transmitted to the management server 20.
  • the codes 2a, 2b, 2c, and 2d are used when it is necessary to specify one of a plurality of PCs, but when any PC is indicated, the code is used. Use 2.
  • the PCs 2 a, 2 b, 2 c, and 2 d include a CPU (Central Processing Unit) 30, a RAM 31, a ROMS 2, a hard disk 33, and a hard disk 33, respectively. It has a communication control section 34.
  • the ROM 32 pre-records programs such as BI OS (Basic Input I Output System) for performing basic input and output on the PC 2, and the hard disk 33 stores an OS (Operating System) and Various programs and data for operating the PC 2, such as an application program, are stored. Then, the CPU 30 executes a variety of programs stored in the ROM 32 and the hard disk 33, so that a sub search request (described later) can be processed.
  • the RAM (storage unit) 31 is for temporarily storing and expanding data and the like when the CPU 30 performs various processes.
  • a sub-database as a sub-search request (details) 1S is loaded on this RAM31.
  • each of the PCs 2a, 2b, 2c, and 2d has a RAM 31 of the same capacity.
  • the PC 2 has a disk cache function, and stores (caches) frequently used data and last used data in the RAM 31.
  • the CPU 30 does not need to read the data from the hard disk 33 or the database 3 having a low access speed, and can read the data from the RAM 31.
  • the processing can be performed at high speed.
  • the sub-database once processed is held in the RAM 31 by this disk cache function.
  • the data cached in the RAM 31 is flushed out of the RAM 31 in a first-in first-out manner, starting with the oldest data.
  • the communication control unit 34 controls communication of various data between the PC 2 and the outside.For example, the communication control unit 34 receives a sub search request (described later) transmitted from the management server 20, The control for transmitting the processed search result to the management server 20 is performed.
  • the management server 20 converts the search request input by the search request The processing is performed by the PCs 2 in parallel. Further, the processing results obtained by the PCs 2 are obtained and combined, and the search results are output to the search result output unit 42.
  • the management server 20 includes a sub-search request creating unit 5, an allocation managing unit 8, a DB affinity setting unit 9, a memory managing unit (free space managing unit) 10, a processing time estimating unit 1 1 And a connecting portion 12.
  • the memory management unit (free space management unit) 10 obtains and holds the size of the RAM 31 of each PC 2 in advance, so that the sub database creation unit 6 described later can store the RAM 31 of each PC 2 You can know the size.
  • the memory management unit 10 manages the usage status of the RAM 31 of each PC 2, and what kind of sub search request is issued to each PC 2 by the allocation management unit 8 (details will be described later).
  • the size of the sub-database cached in the RAM 31 of each PC 2 is managed by managing whether the (sub-database) has been allocated, thereby using the RAM 31 of each PC 2 You can manage the free space (remaining capacity; size of unused area).
  • each PC 2 is configured to perform only the processing (sub search request) assigned by the management server 20 (assignment management unit 8).
  • the RAM 31 caches the sub-databases assigned by the assignment management unit 8 respectively.
  • the processing time prediction unit 11 predicts the time required for processing related to the sub-search request by each PC 2, and includes, for example, the size of the sub-database allocated to the PC 2, the contents of the sub-search conditions, and the PC 2 ( Based on information such as the specifications and performance of the CPU 30), the processing time can be predicted.
  • the processing time estimating unit 11 may inquire of the PC 2 about the time required for each processing, and may be implemented in various modifications without departing from the spirit of the present invention.
  • the sub-search request creating unit 5 creates a sub-search request to be processed by the PC 2 based on the search request input from the search request input unit 41.
  • the sub-search request creating unit 5 creates a plurality of sub-search requests (hereinafter, also referred to as jobs) by using two methods, database division and query division. As shown in FIG. 1, the system includes a sub-database creating unit 6 and a sub-search condition creating unit 7.
  • FIG. 2 to 4 are diagrams for explaining a method of creating a sub-search request (job) in the information search system 1 as one embodiment of the present invention
  • FIG. Fig. 3 is a diagram for explaining a method for creating multiple jobs by query division
  • Fig. 4 is a diagram for explaining a method for creating multiple jobs by query division
  • FIG. 7 is a diagram for explaining a method of creating the job.
  • FIGS. 2 to 4 a search request including a database DB 1 (vertical axis in the figure) to be searched and a query (Query) Q [search condition; horizontal axis in the figure] for the database is shown.
  • DB 1 vertical axis in the figure
  • Query query
  • search condition horizontal axis in the figure
  • An example is shown in which multiple jobs (sub search requests) are created by division.
  • the sub-database creating unit 6 creates a plurality of sub-databases having a size equal to or smaller than the capacity of the RAM 31 provided for each PC 2 based on the database 3.
  • the sub-database creating unit 6 divides the database DB 1 into the sub-databases SDB 1 and SDB 2 by dividing the database with respect to the search request including the database DB 1 and the query Q.
  • two jobs are created: a job 1 that searches the sub-database SDB 1 with the query Q and a job 2 that searches the sub-database SDB 2 with the query Q.
  • the sub-database creating unit 6 stores the database 3 relating to the search request input by the search request input unit 41 based on the information on the size of the RAM 31 of each PC 2 managed by the memory management unit 10. Therefore, a plurality of sub-databases that are smaller than the size of RAM 31 of each PC 2 are created.
  • the sub-database creating unit 6 creates a plurality of sub-databases of a size of 256 MB or less.
  • databases are composed of many independent entries. Therefore, it is easy to divide the database in units of this entry. It is. Further, due to the characteristic that there are many entries, there is also a characteristic that even when the number of PCs 2 is large, it is easy to create a sub-database having a predicted search time equivalent to the number of PCs 2.
  • the sub-search condition creation unit divides the search condition into a plurality of sub-search conditions having no mutual dependency based on the search condition (query; search request) input from the search request input unit 41. By doing so, a plurality of jobs to be processed by each PC 2 are created.
  • the sub-search condition creating unit 7 divides the search condition (query) Q into one sub-search condition (query) for a search request including the database DB 1 and the query Q.
  • SQA and SQB Job A searches the database DB 1 with the sub search condition SQA and Job B searches the database DB 1 with the sub search condition SQB And have created two jobs.
  • each sub-search condition is divided into multiple PCs.
  • the search results are the same when processing is performed in parallel with, and when the search conditions before the division are processed by a single computer (PC 2). Therefore, in the merging process (described later) of the search results for those sub-search conditions performed by the combining unit 12, the load is relatively light, which is characteristic.
  • BLAST Basic Local Alignment Search Tool
  • FASTA sometimes uses a completely independent set of search requests as a query. In such a case, it can be said that there is almost no merging load due to the query division in the combining unit 12.
  • the database division by the sub database creation unit 6 and the query division by the sub search condition creation unit 7 can be performed together. While database partitioning is easy to do, The feature is that the load of merging these search results is heavy. Conversely, query division is characterized by the fact that while segmentation is difficult, the load on merging those search results is light.
  • database partitioning and query partitioning have conflicting features in the ease of database partitioning and the ease of merging search results.
  • the sub-database creating unit 6 divides the database DB 1 into sub-databases SDB 1 and SDB 2 by dividing the database in response to a search request including the database DB 1 and the query Q.
  • the sub-search condition creating unit 7 divides the search condition (query) Q into sub-search conditions (sub-query) SQA and SQB by query division for the search request including the database DB1 and the query Q. are doing.
  • the sub-search request creator 5 sends the sub-database SDB 1 to the job 1A and the sub-database SDB 1 that perform the search using the sub-search condition S QA Job 1 B to search with sub search condition SQB, job 2 A to search with sub search condition SQ A for database SDB 2, and sub search condition S QB for sub database SDB 2 Job 4 to be executed 4 jobs of B are created.
  • the sub-database creating section 6 and the sub-search condition creating section 7 are used to process jobs of different sizes (unequal) in the estimated processing time (search time) in the PC 2. Is created (uneven job creation).
  • the sub-database creation unit 6 creates a plurality of sub-databases having different numbers of entries. Can be realized.
  • FIG. 5 is a diagram for explaining an example of an uneven job creation method in the information search system 1 as one embodiment of the present invention.
  • an uneven job for example, as shown in FIG. 5, for example, first, the same number of jobs as the number of PCs 2 (four in this embodiment) for which the estimated search times are almost equal, Each of these jobs is created by dividing it into three so that the predicted search time is in the ratio of 4: 2: 1. This makes it possible to easily create 12 unequal jobs for four PCs 2.
  • the created jobs are denoted by reference numerals 11, 12, 13, 21, 22, 23, 31, 32, 33, 41, 42 and 43. Is shown.
  • the DB affinity setting unit 9 can set information on a sub database to be preferentially assigned to the PC 2 by the assignment managing unit 8 as a DB affinity (Data Base Affinity). That is, the DB affinity setting unit 9 can set in advance, for each PC 2, a sub-database to be searched by the PC 2. Although a plurality of sub-databases may be specified as DB affinity for each PC 2, the total size of the sub-databases set as DB affinity for one PC 2 is calculated based on the PC 2 Do not exceed the size of RAM 31 (memory size).
  • the DB affinity setting unit 9 may set in advance the sub database on which each PC 2 performs processing preferentially by an operator, an administrator, or the like, or the processing history of the sub database in each PC 2. Based on the sub database, the sub database that has been processed in the past may be preferentially set as the DB affinity.
  • the assignment management unit 8 assigns the sub search request created by the sub search request creation unit 5 (the sub database creation unit 6 and the sub search condition creation unit 7) to the PC 2. In other words, the assignment management unit 8 requests the PC 2 to process the search request for the sub-database by requesting the sub-database and the sub-search condition created by the sub-database creation unit 6 (Job) is assigned to PC 2.
  • the allocation management unit 8 When allocating a job to the PC 2, the allocation management unit 8 By referring to the DB affinity set in the security setting section 9, a sub-database having a matching DB affinity is assigned to the PC 2.
  • a sub-database in charge of each PC 2 is set in advance as a DB affinity, and the assignment management unit 8 assigns a job in accordance with the DB affinity. Has become.
  • the sub database to be searched is cached in the RAM 31 of the PC 2 that has once performed the process for the sub search request.
  • the PC 2 does not need to perform disk access to access the sub-database. Search processing for the active database can be performed at high speed.
  • the assignment management unit 8 assigns a job to each PC 2 using a dynamic job assignment method.
  • the dynamic job allocation method is a method of literally dynamically allocating a job to each PC 2. In the dynamic job assignment, more jobs than the number of PCs 2 are prepared, and the jobs are assigned to each PC 2 in order from the job with the longest estimated search time, and the processing is completed. This can be realized by selecting a job having a long predicted search time from the remaining jobs to the PC 2 and sequentially assigning the same, and repeating these processes until there are no more jobs.
  • the dynamic job allocation is particularly effective when the processing time prediction unit 11 has low accuracy in predicting the job search time in each PC 2.
  • FIG. 6 is a diagram for explaining a dynamic job assignment method by the assignment management unit 8 in the information search system 1 as one embodiment of the present invention.
  • FIG. 5) is a diagram showing an example in which is dynamically assigned to four PCs 2a, 2b, 2c, and 2d. In the example shown in FIG. 6, it is assumed that each of the jobs 41, 42, and 43 has twice as long as the prediction search time by the processing time prediction unit 11.
  • jobs 1 1, 21, 3 1, 41 are assigned to PCs 2a, 2b, 2c, and 2d, respectively.
  • the remaining jobs are sent to PCs 2a, 2b, 2 Jobs 1 2, 2 2, and 3 2, which have a long predicted search time from among them, are assigned, and after their processing is completed, jobs 4 2, 1 3 are assigned to PCs 2 a, 2 b, and 2 c, respectively.
  • jobs 33 and 43 are assigned to the PCs 2b and 2c which have completed the processing, respectively.
  • the dynamic job allocation as described above requires more complicated job management than the static job allocation and has a large job management load. If the prediction accuracy of the job is sufficiently high, the assignment management unit 8 may assign a static job without necessarily assigning a dynamic job.
  • the static job allocation method is a method of literally allocating a job to each PC 2 statically. For example, when the correlation between the search time and the number of entries in the database is very high, the static job assignment is performed by dividing the database so that the number of entries is equal to each other and creating jobs for the number of PCs 2, By simply assigning those jobs to each PC 2 statically, the load balance between the PCs 2 can be maintained. When the prediction accuracy of the prediction search time is low, it can be said that the dynamic job allocation method can shorten the overall processing time rather than the static job allocation method. For example, when creating jobs for the number of PCs 2 and letting each PC 2 process each of these jobs, the processing of one job took twice as long as the other jobs. In such a case, the search time for the job that took that long time will determine the performance of the entire system 1. Therefore, in such a case, the effect of performing the processing in parallel using a plurality of PCs 2 becomes unclear.
  • the static job allocation method is easier to manage jobs than the dynamic job allocation method, and is effective when the processing time (predicted search time) of each job can be predicted with high accuracy in advance. It is.
  • the assignment managing unit 8 may calculate the evaluation value of the job that has not been assigned using the evaluation function and determine the job to be assigned to the PC 2. ,.
  • a simple example of a merit function is Conceivable.
  • the allocation management unit 8 selects the job having the highest evaluation value from the jobs that have not been allocated yet, and allocates it to PC2.
  • the combining unit 12 acquires the processing result (search result) of the job (sub search request) by each PC 2 and combines (merges) it.
  • the search for the search request input from the search request input unit 41 is performed To create the result.
  • the search results combined by the combining unit 12 are transmitted to the search result output unit 42.
  • a search request database to be searched and search conditions
  • the search request is transmitted to the management server 20.
  • the sub-search request creating unit 5 generates a plurality of jobs (sub-search requests) to be processed by the plurality of PCs 2 based on the search request input from the search request input unit 41.
  • Create sub search request creation step.
  • the sub-database creating unit 6 creates a plurality of sub-databases based on the database 3 so as to have a capacity equal to or smaller than the RAM 31 of each PC 2.
  • the sub search condition creating unit 7 creates a sub search request based on the search condition input as a search request from the search request input unit 41 as necessary.
  • sub-search request creating unit 5 creates an uneven job based on the estimated processing time by the processing time estimating unit 11.
  • FIG. 7 is a diagram illustrating an example of a job created by the sub-search request creating unit 5 in the information search system 1 according to an embodiment of the present invention, in which four PCs 2 (2 a, 2 b, 2c, 2d), based on a search request to search a database 3 having a size (for example, 384MB) 1.5 times the memory size (for example, 256MB) of the RAM 31 of each PC 2
  • a size for example, 384MB
  • the memory size for example, 256MB
  • the sub-search condition creating unit 7 divides the search request input from the search request input unit 41 and creates four sub-search conditions S QA, SQB, SQC, and SQD. ing.
  • the predicted search times of these jobs predicted by the processing time prediction unit 11 indicate that the jobs IB, 1D, 2B, and 2D require substantially the same predicted search time, and that the jobs 1A, 1C, 2A, and 2C require approximately the same estimated search time, and jobs 1A, 1C, 2A, and 2C have approximately twice the predicted search time as jobs 1B, ID, 2B, and 2D. Search time is required.
  • the DB affinity setting unit 9 sets the DB affinity so that the sub database SDB 1 is preferentially assigned to PC 2 a and PC 2 b. It is assumed that the DB affinity is set so that the sub database SDB 2 is preferentially assigned to PC 2 c and PC 2 d.
  • the assignment management unit 8 sets each of the jobs 1A, 1B, 1C, ID, 2A, 2B, 2C, 2D created by the sub-search request creating unit 5 as described above in the DB affinity setting.
  • each PC 2 is assigned individually (assignment management step).
  • the assignment management unit 8 assigns each job to the PC 2 using a dynamic job assignment method.
  • FIG. 9 is a diagram showing an example of a state in which a job has been assigned to each PC 2 by the assignment management unit 8 in the information search system 1 as one embodiment of the present invention.
  • the assignment management unit 8 determines whether there is any unassigned job (step A 10
  • step A10 If there is no unassigned job (see NO route in step A10), the processing ends.
  • the assignment management unit 8 determines whether there is a PC 2 waiting for the job to be assigned, that is, processes the job. Determine if any PC 2 is ready (step A 20).
  • the assignment management unit 8 refers to the DB affinity setting unit 9 and the DB facility for the PC 2 It is determined whether there is a matching (matching) job (step A60). If there is a job that matches the DB affinity for the PC 2 (refer to the YES route in step A60), the processing time prediction unit 11 refers to the predicted search time to determine the DB affinity. Among the jobs that match the two, the job with the longest predicted search time is assigned to the PC 2 (step A80), and the process proceeds to step A10.
  • step A60 the assignment of the job to the PC 2 is completed (step A50), and the process returns to step A20.
  • the assignment management unit 8 determines whether there is any PC 2 executing the job (step A). 30). If there is a PC 2 executing a job (see the YES route in step A 30), the assignment management unit 8 waits for the job of the PC 2 to be completed (step A 70). Return to 10. If there is no PC 2 that is executing the job (see the NO route in step A30), the assignment management unit 8 outputs a message indicating an error to the operator of the information search system 1 or the like. Then (step A40), and return to step A10.
  • a job is dynamically allocated to each PC 2 by the job allocation method as described above.
  • the processing of job 2C takes 1.5 times longer than the predicted search time predicted by the processing time prediction unit 11, and the processing of job 2D is performed. It is assumed that the processing time is twice as long as the prediction search time predicted by the processing time prediction unit 11.
  • each PC 2 processes the assigned job. That is, each PC 2 searches the sub database based on the sub search condition, and transmits the search result to the management server 20.
  • the sub database assigned to each PC 2 is smaller than the size of RAM 31 provided for each PC 2, the sub database is searched for sub-search conditions.
  • the search can be performed by expanding all the sub-databases to be searched on the RAM 31, and the search process can be performed at high speed without generating a disk access or the like.
  • the search results from each PC 2 are combined (merged) by the combining unit 12 in the management server 20, transmitted to the search result output unit 42 as a search result for the search request, and presented to the operator. .
  • the sub-database creation unit 6 (sub-search request creation unit 5) has a capacity S, which is equal to or less than the capacity of the RAM 31 provided for each PC 2. Creates multiple sub-databases of the same size and assigns these sub-databases to each PC 2 so that the PC 2 that has processed the sub-search request once has its RAM 31 Sub-databases are cached. As a result, in p C 2, it is not necessary to access a hard disk having a slow access speed (disk access) to access the sub database, and the retrieval process for the sub database can be performed at high speed.
  • a sub-database in charge of each PC 2 is set in advance in the DB affinity setting section 9 as a DB affinity, and the assignment management section 8 complies with the DB affinity.
  • the assignment management unit 8 can easily assign the job (sub database) to the PC 2, and the PC 2 that has once processed the sub search request has its RAM 31 Then, the sub database to be searched is cached, and the PC 2 does not need to perform a disk access to access the sub database, so that the search process for the sub database can be performed at high speed.
  • the sub-search condition creating unit 7 divides the search condition input from the search request input unit 41 to create a sub-search condition, so that an appropriate (arbitrary) size (predicted search time length) is obtained.
  • the sub search request can be easily created, and the convenience is high. Since the processing time prediction unit 11 predicts the predicted search time for each job, the allocation management unit 8 can easily perform dynamic job allocation and is highly convenient.
  • the sub-database that each PC 2 processes with priority is set in advance by the operator or administrator, so that the DB affinity can be set reliably.
  • the sub-database that has been processed in the past is preferentially set as the DB affinity, so that the DB affinity can be easily set.
  • the memory management unit 10 manages the free space of the RAM 31 provided in each PC 2 and allocates a sub-database smaller than the free space to each PC 2 to easily and reliably. A sub-database smaller than the free space of RAM 31 of PC 2 can be allocated to PC 2.
  • the processing time prediction unit 11 predicts the time (predicted search time) required for processing of each sub search request by each PC 2, and the allocation management unit 8 preferentially sub-processes the sub search request having the long predicted search time. By allocating the search request to the PC 2, a plurality of jobs can be efficiently allocated to the plurality of PCs 2.
  • the assignment management unit 8 determines whether the? ⁇ 2 of 1] ⁇ [31 remaining capacity or less A job with a data size of PC 2 may be assigned to PC 2, and the sub-search request creating unit 5 may assign a job to PC 2 so that the data size is within the remaining capacity of RAM 31 of PC 2. Unassigned (unallocated) jobs (subdatabases) may be further divided into less than the remaining capacity and assigned to PC 2. That is, in the present information search system 1, the allocation management unit 8
  • the usage status or free space (size of unused area) of RAM 31 of each PC 2 is obtained, and according to the free space, unallocated jobs are further added to the sub search request creation unit.
  • the job may be divided into a plurality of jobs (sub-databases) less than the free space, and the job created by the division may be assigned to the PCs 2.
  • FIG. 10 is a flow chart (step B 1) showing another job allocation method by the allocation management unit 8 in the information search system 1 as one embodiment of the present invention, with reference to FIG. 11. 0 to B110).
  • FIG. 11 is a diagram showing an example of another state in which a job is assigned to each PC 2 by the assignment managing unit 8 in the information search system 1 as one embodiment of the present invention.
  • the allocation management unit 8 determines whether there is an unallocated job (step B10). If there is no unallocated job (see the N route in step B10), the processing ends. .
  • the assignment managing unit 8 next determines that there is a PC 2 waiting for the job to be assigned. It is determined whether or not there is any PC 2 in a state where it can process (step B 20).
  • the assignment management unit 8 next determines whether there is any PC 2 that is executing the job. Judge (step B30). If there is a PC 2 executing a job (see the YES route in step B 30), the assignment management unit 8 waits for the job of the PC 2 to be completed (step B 50), Return to 10. If there is no PC 2 executing the job (see the NO route in step B 30), the assignment management unit 8 sends a message indicating an error to the operator of the information search system 1. Output (Step B 40), and return to step B 10.
  • the assignment management unit 8 refers to the DB facility setting unit 9 to check the DB 2 Then, it is determined whether or not there is a job that matches (matches) (Step B60). If there is a job that matches the DB affinity for the PC 2 (see the YES route in step B60), the assignment management unit 8 refers to the predicted search time by the processing time prediction unit 11 Then, among the jobs suitable for the PC 2, the job having the longest predicted search time is assigned to the PC 2 (step B80), and the process proceeds to step B10.
  • the allocation management unit 8 refers to the memory management unit 10, checks the remaining capacity of the RAM 31 of the PC 2, and checks the job size of the data within the remaining capacity of the PC 2. It is determined whether or not there is, that is, whether or not there is a job whose sub-database size is within the remaining capacity of the PC 2 (step B70). If there is a job with a data size within the remaining capacity of the PC 2 (see the YES route in step B70), the assignment management unit 8 proceeds to step B80. In other words, even if the DB affinity does not match, the assignment management unit 8 assigns the job with the longest predicted search time among the jobs whose data size is within the remaining capacity of the RAM 31 of the PC 2 to that PC. It allocates to 2 (step B80) and moves to step B10.
  • the assignment management unit 8 sets the unassigned job to the PC 2. For example, if there is a job that can be created so that the RAM of PC 2 is less than or equal to the remaining capacity of RAM3, that is, if there is a job that can further divide its sub-database for unassigned jobs (Step B 90).
  • step B90 If there is a job that can further divide the sub-database (see YES route in Step B90), the assignment management unit 8 sends the sub-database of the job to the RAM3 It will be less than 1 remaining capacity Then, the process is further divided (step B1 10), and the process proceeds to step B10.
  • step B90 If there is no job that can further divide the sub-database (see NO route in step B90), the job assignment to the PC 2 is terminated (step B100), and the process proceeds to step B20. .
  • a job is dynamically assigned to each PC 2 as shown in FIG.
  • the processing of job 2A takes 1.5 times longer than the predicted search time predicted by the processing time prediction unit 11
  • the processing of job 2C takes It is assumed that it takes twice as long as the prediction search time predicted by the processing time prediction unit 11.
  • both jobs 2D-1 and 2D-2 are created by subdividing job 2D.
  • the job 2D— 1 and 2D— 2 do not have the same DB affinity as the PCs 2 a and 2 b.
  • 2 Sub-database for D-2 SDB 2 is not cached. Therefore, in order for PCs 2a and 2b to process jobs 2D-1 and 2D-2, PCs 2a and 2b store the sub-database SDB 2 for jobs 2D-1 and 2D-2 in database 3
  • the job 2D-1 and 2D-2 must be re-divided and created by the sub-search request creating unit 5 so as to reduce the read load. As a result, the processing time (search) of the entire system is shortened, the processing speed can be shortened as a result, and the risk of allocating jobs that do not conform to the DB affinity (sub database read load) ) Can be reduced.
  • the sub-database S DB 1 is stored in the RAM 31 of the PCs 2a and 2b. Are cached continuously, and the search speed does not decrease when PCs 2a and 2b are again processed for the sub-database SDB 1.
  • the assignment management unit 8 may randomly assign a job to each PC 2 based on the evaluation result by this evaluation unit. . Thereby, the assignment management unit 8 can easily and reliably assign a job to each PC 2.
  • each PC 2 has the same capacity R
  • the AM 31 is provided, the present invention is not limited to this.Each PC 2 may have a RAM 31 of a different size, and various modifications may be made without departing from the spirit of the present invention. Can be implemented.
  • the management server 20 is realized by, for example, a computer (information processing device) having a server function, and the CPU of the computer executes an information search program to thereby execute the above-described sub-search request creating unit 5 and sub-database.
  • the programs (information retrieval program) for realizing the function as the evaluation unit are, for example, flexible disk, CD-ROM, CD-R, CD-R / W, DVD, DVD-R, DVD-R / It is provided in a form recorded on a computer-readable recording medium such as a W, magnetic disk, optical disk, or magneto-optical disk.
  • a computer-readable recording medium such as a W, magnetic disk, optical disk, or magneto-optical disk.
  • the computer reads the program from the recording medium, transfers the program to an internal storage device or an external storage device, stores the program, and uses the program.
  • the program may be recorded on a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided to the computer from the storage device via a communication path. .
  • Sub search request creator 5 Sub database creator 6, Sub search condition creator 7, Assignment manager 8, DB abundity setting unit 9, Memory management unit 10, Processing time prediction unit 11, Combining unit 12,
  • the program stored in the internal storage device RAM or ROM of the printer in this embodiment
  • the computer may read and execute the program recorded on the recording medium.
  • the computer is a concept including hardware and an operating system, and means hardware that operates under the control of the operating system.
  • the hardware itself corresponds to a computer.
  • the hardware includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium.
  • the management server 20 has a function as a computer. It is doing.
  • the above-mentioned flexible disk CD-ROM, CD-R, CD-R / W, DVD, DVD-R, DVD-R / W, magnetic disk, optical disk, magneto-optical
  • Various computer-readable media can be used. If each embodiment of the present invention is disclosed, it can be manufactured by those skilled in the art. Industrial applicability
  • the information retrieval system, the information retrieval method, the information retrieval device, the information retrieval program, and the computer-readable recording medium recording the program according to the present invention include a plurality of information processing devices, It is useful for a plurality of information processing devices to process search requests consisting of a database and search conditions for this database in parallel. Especially, each information processing device processes search requests at high speed. It is suitable for performing high-speed searches against databases.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

An information retrieving system characterized in that the retrieving operation of a data base being retrieved by a plurality of information processors is accelerated by dividing the data base into sub-data bases each having a memory capacity not larger than that of each information processor upon receiving a retrieval request consisting of retrieval conditions of the data base, dividing the retrieval request for processing in parallel, and then combining the processing results.

Description

情報検索システム 情報検索システム, 情報検索方法, 情報検索装置, 情報検索プログラムおよび当 該プログラムを記録したコンピュータ読取可能な記録媒体 技術分野  TECHNICAL FIELD The present invention relates to an information search system, an information search method, an information search device, an information search program, and a computer-readable recording medium storing the program.
本発明は、 データベースに対する検索要求を複数の情報処理装置によって並行 して処理するために用いて好適な、 情報検索システム, 情報検索方法, 情報検索 装置, 情報検索プログラムおよび当該プログラムを記録したコンピュータ読取可 能な記録媒体に関する。 背景技術 '  The present invention relates to an information search system, an information search method, an information search device, an information search program, and a computer-readable program that records the program, which are suitable for processing a search request for a database in parallel by a plurality of information processing devices. It relates to a possible recording medium. Background technology ''
近年、 データベースを単なるデータの蓄積に用いるだけでなく、 データベース に蓄積されたデータから様々な情報を引き出す活用法が注目されている。 そこで は、 希望する情報を高速に検索する性能が要求されるが、 データベースにおいて は、 一般的に、 蓄積されたデータ量が増えると検索の処理量は急激に増え処理時 間が増大する傾向がある。  In recent years, attention has been focused on how to use various types of information from data stored in a database, rather than just using the database for storing data. This requires the ability to search for desired information at high speed, but in databases, in general, as the amount of stored data increases, the amount of search processing increases rapidly and the processing time tends to increase. is there.
このようなデータベースの検索を高速に行なうために、 近年においては、 複数 のコンピュータ (ワークステーション) を用いて並列検索を行なうことが知られ ている。  In recent years, it has been known to perform a parallel search using a plurality of computers (workstations) in order to perform such a database search at high speed.
さて、データベースに対して実際に検索処理を行なうコンピュータにおいては、 検索対象のデータベースをハードディスク等の外部記憶装置から順次メモリ (主 記憶装置) にコピーし、 このメモリ上にコピーされたデータに対して検索処理を 行なうようになっている。  In a computer that actually performs a search process on a database, the database to be searched is sequentially copied from an external storage device such as a hard disk to a memory (main storage device). Search processing is performed.
一般に、 データベースが格納されているハードディスク等の外部記憶装置は、 データの入出力 ( I /O : Input/ Output) が低速であり、 この外部記憶装置と メモリとの間におけるデータ転送に時間がかかる。 従って、 検索処理を行なう場 合、 この外部記憶装置とメモリ との間におけるデータ転送時間が、 検索時間を決 める要因となることが多い。 一般的な O S (Operating System;オペレーティングシステム) は、 ディスク キャッシュと呼ばれる機能を備えており、 このディスクキヤッシュ機能により、 間近に外部記憶装置から読み出したデータがメモリの未使用部分に保存されてい るので、 検索対象であるデータベースが事前に他の検索処理により処理されてい た場合には、 外部記憶装置からメモリへのデータ転送が不要となることがある。 従って、 同一のデータベースに対して検索要求が続く場合には、 最初の検索要求 を除き、 外部記憶装置からメモリへのデータ転送が不要となり、 結果として検索 時間を大幅に短縮することができる可能性がある。 Generally, an external storage device such as a hard disk in which a database is stored has a low data input / output (I / O), and it takes time to transfer data between the external storage device and the memory. . Therefore, when a search process is performed, the data transfer time between the external storage device and the memory often determines the search time. A typical OS (Operating System) has a function called a disk cache. This disk cache function allows data read from an external storage device to be stored in an unused portion of memory in the near future. If the database to be searched has been processed by another search process in advance, it may not be necessary to transfer data from the external storage device to the memory. Therefore, when a search request continues for the same database, except for the first search request, there is no need to transfer data from the external storage device to the memory. As a result, the search time may be significantly reduced. There is.
しかし、 このディスクキヤッシュ機能による検索時間短縮という利益を享受す るためには、 データベースのサイズがメモリよりも小さい場合に限定される。 仮 にデータベースのサイズがメモリサイズよりも大きい場合には、 データベースの 全内容をメモリ上に保存することができないからである。  However, in order to enjoy the advantage of shortening the search time by the disk cache function, the size of the database is limited to the case where the size of the database is smaller than the memory. This is because if the size of the database is larger than the memory size, the entire contents of the database cannot be stored in memory.
図 1 2は従来の情報検索システムにおけるデータベースのサイズと検索時間と の関係を模式的に示す図である。 この図 1 2に示すように、 検索対象のデータべ ースのサイズがコンピュータ (計算機) のメモリサイズよりも大きくなると、 た とえ同一のデータベースに対する検索処理が事前にあつたとしても、 ハードディ スク等の外部記憶装置に対するァクセスが発生し、 外部記憶装置からのデータ転 送がボトルネックとなり、 データベースサイ が小さいときと比較して大幅に検 索時間が長くなる。 ' .  FIG. 12 is a diagram schematically showing a relationship between a database size and a search time in a conventional information search system. As shown in Fig. 12, if the size of the database to be searched becomes larger than the memory size of the computer (computer), even if the same database is searched in advance, the hard disk Access to an external storage device such as the above occurs, and data transfer from the external storage device becomes a bottleneck, and the search time is significantly longer than when the database size is small. '.
従って、 従来の情報検索システムにおいては、 コンピュータに装備されている メモリサイズよりも大きいサイズのデータベースを対象とする検索処理に対して は、 外部記憶装置へのアクセスを大幅に減らす良い方法がなく、 検索時間が長く なるという課題がある。  Therefore, in the conventional information retrieval system, there is no good way to greatly reduce the access to the external storage device for the retrieval process for the database having a size larger than the memory size of the computer. There is a problem that search time becomes longer.
本発明は、 このような課題に鑑み創案されたもので、 データベースに対する検 索要求を複数の情報処理装置によって並行して処理する場合において、 各情報処 理装置において検索要求を高速に処理することができるようにして、 データべ一 スに対して高速に検索を行なうことができるようにした、 情報検索システム, 情 報検索方法, 情報検索装置, 情報検索プログラムおよび当該プログラムを記録し たコンピュータ読取可能な記録媒体を提供することを目的とする。 発明の開示 SUMMARY OF THE INVENTION The present invention has been made in view of the above-described problems, and in a case where a search request for a database is processed in parallel by a plurality of information processing apparatuses, each information processing apparatus processes the search request at high speed. Information retrieval system, information retrieval method, information retrieval device, information retrieval program, and computer readable recording of the information retrieval program, so that the database can be searched at high speed. It is an object to provide a possible recording medium. Disclosure of the invention
上記の目的を達成するために、 本発明の情報検索システムは、 複数の情報処理 装置をそなえ、 検索対象であるデータべ一スとこのデ一タベースに対する検索条 件とからなる検索要求を、 複数の情報処理装置によって並列に処理する情報検索 システムであって、 データベースに基づいて、 情報処理装置にそなえられた記憶 部の容量以下のサイズの複数のサブデータベースを作成するサブデータベース作 成部と、 情報処理装置にサブデータベースに対する検索要求を処理させるベくサ ブデータベース作成部によって作成されたサブデータベースをサブ検索要求とし て情報処理装置に対して割り当てる割当管理部と、 複数の情報処理装置によるサ ブ検索要求に関する処理結果を取得し結合する結合部とをそなえることを特徴と している。  In order to achieve the above object, an information search system according to the present invention includes a plurality of information processing apparatuses, and transmits a plurality of search requests including a database to be searched and search conditions for the database. A sub-database creating unit that creates a plurality of sub-databases having a size equal to or less than the capacity of a storage unit provided in the information processing device based on the database; An assignment management unit that assigns the sub-database created by the sub-database creating unit to the information processing device as a sub-search request, which causes the information processing device to process a search request for the sub-database; And a connection unit that acquires and combines the processing results related to search requests.
なお、 検索条件を分割してサブ検索条件を作成するサブ検索条件作成部をそな え、 割当管理部が、 情報処理装置にサブ検索条件を用いてサブデータベースを検 索させるベく、 サブ検索条件をサブ検索要求として情報処理装置に対して割り当 ててもよい。  A sub-search condition creating unit that divides the search condition to create a sub-search condition is provided, and the assignment management unit causes the information processing device to search the sub-database using the sub-search condition. The condition may be assigned to the information processing device as a sub-search request.
また、 情報処理装置に対して、 割当管理部によって優先的に割り当てるサブデ ータベースに関する情報を D Bァフィ二ティとして設定可能な D Bァフィ二ティ 設定部をそなえ、 割当管理部が、 D Bァフィ二ティに基づいて、 情報処理装置に サブ検索要求を割り当ててもよい。  In addition, the information processing apparatus is provided with a DB affinity setting section that can set, as a DB affinity, information on a sub-database to be preferentially allocated by the allocation management section, and the allocation management section performs processing based on the DB affinity. Then, a sub search request may be assigned to the information processing device.
さらに、 D Bァフィ二ティ設定部が、 優先的に処理を行なうサブデータベース を予め設定可能であってもよく、 又、 D Bァフィ二ティ設定部が、 情報処理装置 におけるサブ検索要求の処理履歴に基づいて、 D Bァフィ-ティを設定してもよ い。  Further, the DB affinity setting unit may be able to set in advance a sub-database to be processed preferentially, and the DB affinity setting unit may set the sub-database based on the processing history of the sub-search request in the information processing device. And you may set the DB facility.
また、 情報処理装置にそなえられた記憶部の空き容量を管理する空き容量管理 部をそなえ、 割当管理部が、 空き容量管理部によって管理される情報処理装置の 記憶部の空き容量に基づいて、 空き容量以下のサイズのサブデータベースを情報 処理装置に対して割り当ててもよレ、。  The information processing device further includes a free space management unit that manages the free space of the storage unit provided in the information processing device, and the allocation management unit performs a process based on the free space of the storage unit of the information processing device that is managed by the free space management unit. A sub-database smaller than the free space may be allocated to the information processing device.
さらに、 情報処理装置によるサブ検索要求に関する処理に要する時間を予測可 能な処理時間予測部をそなえ、 割当管理部が、 処理時間予測部によって予測され た処理に要する時間に基づいて、 この時間が長いサブ検索要求から優先的に、 サ ブ検索要求を情報処理装置に対して割り当ててもよい。 Furthermore, it is possible to predict the time required for processing related to the sub-search request by the information processing device. The allocation management unit, based on the time required for the processing predicted by the processing time prediction unit, gives priority to the sub search request from the sub search request having the longest time. May be assigned.
また、 サブデータベース作成部もしくはサブ検索条件作成部が、 割当管理部に よつて未だ情報処理装置に対して割り当てられていないサブ検索要求を分割して、 複数のサブ検索要求を作成してもよい。  Also, the sub-database creating unit or the sub-search condition creating unit may create a plurality of sub-search requests by dividing a sub-search request not yet assigned to the information processing device by the assignment managing unit. .
さらに、 サブ検索要求について、 D Bァフィ二ティ設定部によって設定された 情報処理装置に関する D Bァフィ二ティ, サブ検索要求としてのデータベースお よび処理時間予測部によつて予測された前記処理に要する時間の少なくとも 1つ 以上について、 評価関数を用いて評価する評価部をそなえ、 割当管理部が、 評価 部による評価結果に基づいて、 情報処理装置にサブ検索要求を抽選的に割り当て てもよい。  Further, with respect to the sub search request, the DB affinity for the information processing device set by the DB affinity setting unit, the database as the sub search request, and the time required for the processing predicted by the processing time prediction unit are set. An evaluation unit for evaluating at least one or more using an evaluation function may be provided, and the assignment management unit may randomly assign a sub-search request to the information processing device based on an evaluation result by the evaluation unit.
また、 本発明の情報検索方法は、 検索対象であるデータベースとこのデータべ ースに対する検索条件とからなる検索要求を、 複数の情報処理装置によつて並列 に処理する情報検索方法であって、 検索要求に基づいて、 情報処理装置にそなえ られた記憶部の容量以下のサイズの複数のサブ検索要求を作成するサブ検索要求 作成ステップと、 情報処理装置にサブ検索要求作成ステップにおいて作成された サブ検索要求を処理させるベく、 サブ検索要求を情報処理装置に対して割り当て る割当管理ステツプと、 複数の情報処理装置によるサブ検索要求に関する処理結 果を取得し結合する結合ステップとをそなえることを特徴としている。  Further, an information search method of the present invention is an information search method in which a search request including a database to be searched and a search condition for the database is processed in parallel by a plurality of information processing apparatuses. A sub search request creating step for creating a plurality of sub search requests of a size equal to or less than the capacity of the storage unit provided in the information processing device based on the search request; and a sub search request created in the information processing device in the sub search request creating step. In order to process the search request, it is necessary to provide an assignment management step of allocating the sub search request to the information processing device and a combining step of acquiring and combining the processing results of the plurality of information processing devices with respect to the sub search request. Features.
さらに、 本発明の情報検索装置は、 検索対象であるデータベースとそのデータ ベースに対する検索条件とからなる検索要求を、 複数の情報処理装置に対して並 列に処理させる情報検索装置であって、 検索要求に基づいて、 情報処理装置にそ なえられた記憶部の容量以下のサイズの複数のサブ検索要求を作成するサブ検索 要求作成部と、 情報処理装置にサブ検索要求作成部によって作成されたサブ検索 要求を処理させるベく、 サブ検索要求を情報処理装置に対して割り当てる割当管 理部と、 複数の情報処理装置によるサブ検索要求に関する処理結果を取得し結合 する結合部とをそなえることを特徴としている。  Further, the information search apparatus of the present invention is an information search apparatus that causes a plurality of information processing apparatuses to process a search request including a database to be searched and search conditions for the database in parallel. A sub-search request creating unit that creates a plurality of sub-search requests of a size equal to or smaller than the storage unit provided in the information processing device based on the request; In order to process the sub-search request, an assignment management unit that allocates the sub-search request to the information processing device, and a combining unit that acquires and combines the processing results of the sub-search requests by the plurality of information processing devices are provided. Features.
また、 本発明の情報検索プログラムは、 検索対象であるデータベースと当該デ ータベースに対する検索条件とからなる検索要求を、 複数の情報処理装置に対し て並列に処理させる情報検索機能をコンピュータに実行させるための情報検索プ ログラムであって、 検索要求に基づいて、 情報処理装置にそなえられた記憶部の 容量以下のサイズの複数のサブ検索要求を作成するサブ検索要求作成部と、 情報 処理装置にサブ検索要求作成部によって作成されたサブ検索要求を処理させるベ く、 サブ検索要求を情報処理装置に対して割り当てる割当管理部と、 複数の情報 処理装置によるサブ検索要求に関する処理結果を取得し結合する結合部として、 コンピュータを機能させることを特徴としている。 Further, the information search program of the present invention includes a database to be searched and the database to be searched. An information search program for causing a computer to execute an information search function for causing a plurality of information processing apparatuses to execute a search request including search conditions for a database in parallel with each other. A sub-search request creating unit for creating a plurality of sub-search requests of a size equal to or less than the capacity of the storage unit provided in the storage unit; The computer is caused to function as an assignment management unit for allocating a search request to an information processing device, and a combining unit for acquiring and combining processing results related to a sub-search request by a plurality of information processing devices.
さらに、 本発明のコンピュータ読取可能な記録媒体は、 上述した情報検索プロ グラムを記録したものである。  Further, a computer-readable recording medium according to the present invention records the above-described information search program.
このように、 本発明の情報検索システム, 情報検索方法, 情報検索装置, 情報 検索プログラムおよび当該プログラムを記録したコンピュータ読取可能な記録媒 体によれば、 以下の効果ないし利点がある。  As described above, according to the information search system, the information search method, the information search device, the information search program, and the computer-readable recording medium on which the program is recorded, the following effects and advantages are obtained.
( 1 ) データベースに基づいて、 情報処理装置にそなえられた記憶部の容量以 下のサイズの複数のサブデータベースを作成し、 情報処理装置にサブデータべ一 スに対する検索要求を処理させるベく、 サブデータベースをサブ検索要求として 情報処理装置に対して割り当てることにより、 一度サブ検索要求に対する処理を 行なった情報処理装置において、 その記憶部には検索対象のサブデータベースが キャッシュされる。 これにより、 その情報処理装置においては、 サブデータべ一 スにアクセスするためにアクセス速度が遅いハードディスクへのアクセス (ディ スクアクセス) を行なう必要がなく、 サブデータベースに対する検索処理を高速 に行なうことができる。  (1) Based on the database, create a plurality of sub-databases of a size smaller than the capacity of the storage unit provided in the information processing device, and have the information processing device process a search request for the sub-database. By allocating the sub-database as the sub-search request to the information processing device, the sub-database to be searched is cached in the storage unit of the information processing device that has once processed the sub-search request. As a result, the information processing device does not need to access a hard disk having a slow access speed (disk access) to access the subdatabase, and can perform a high-speed search process for the subdatabase. it can.
( 2 ) 検索条件を分割してサブ検索条件を作成することにより、 適当な大きさ (予測処理時間の長さ) のサブ検索要求を容易に作成することができ利便性が高 い。  (2) By creating a sub-search condition by dividing a search condition, a sub-search request of an appropriate size (the length of the predicted processing time) can be easily created, and the convenience is high.
( 3 ) 情報処理装置に対して優先的に割り当てるサブデータベースに関する情 報を D Bァフィ二ティとして設定し、 この D Bアブイ二ティに基づいて、 情報処 理装置にサブ検索要求 (サブデータベース) を割り当てることにより、 情報処理 装置に対して容易にサブ検索要求を割り当てることができる。 ( 4 ) D Bァフィ-ティとして優先的に処理を行なうサブデータベースを予め 設定することにより、 D Bァフィ二ティを確実に設定することができる。 (3) Information about the sub-database to be preferentially assigned to the information processing device is set as a DB affinity, and a sub-search request (sub-database) is assigned to the information processing device based on the DB activity. This makes it possible to easily assign a sub-search request to the information processing device. (4) By preliminarily setting a sub-database that performs preferential processing as a DB affinity, the DB affinity can be reliably set.
( 5 ) 情報処理装置におけるサブ検索要求の処理履歴に基づいて、 D Bァフィ ニティを設定することにより、容易に D Bアブイ二ティを設定することができる。  (5) The DB affinity can be easily set by setting the DB affinity based on the processing history of the sub search request in the information processing device.
( 6 ) 情報処理装置にそなえられた記憶部の空き容量を管理し、 その空き容量 以下のサイズのサブデータベースを情報処理装置に対して割り当てることにより、 容易に且つ確実に、 情報処理装置の記憶部の空き容量以下のサイズのサブデータ ベースを情報処理装置に対して割り当てることができる。  (6) By managing the free space of the storage unit provided in the information processing device and allocating a sub-database having a size equal to or less than the free space to the information processing device, the storage of the information processing device can be easily and reliably performed. A sub-database having a size equal to or less than the free space of a copy can be allocated to the information processing device.
( 7 )情報処理装置による該サブ検索要求に関する処理に要する時間を予測し、 その時間が長いサブ検索要求から優先的に、 サブ検索要求を情報処理装置に対し て割り当てることにより、 複数のサブ検索要求を複数の情報処理装置に対して効 率よく割り当てることができる。  (7) Predicting the time required for the information processing device to process the sub-search request, and assigning the sub-search request to the information processing device preferentially from the sub-search request having the longer time, so that multiple Requests can be efficiently allocated to multiple information processing devices.
( 8 ) 未だ該情報処理装置に対して割り当てられていないサブ検索要求を分割 して、 複数のサブ検索要求を作成することにより、 システム全体での総処理時間 (検索時間) が短くなり、 結果的に処理速度を短縮することができ、 又、 D Bァ フィニティが適合しないジョブを割り当てることによるリスク (サブデータべ一 スの読み出し負荷) を低減することができる。  (8) By dividing a sub-search request that has not been assigned to the information processing device and creating a plurality of sub-search requests, the total processing time (search time) of the entire system is shortened. It is possible to reduce the processing speed and to reduce the risk (sub-database read load) caused by allocating jobs whose DB affinity does not match.
( 9 ) サブ検索要求について、 D Bァフィ二ティ, サブデータベースおよび処 理に要する予測時間の少なくとも 1つ以上について、 評価関数を用いて評価し、 この評価結果に基づいて、 情報処理装置にサブ検索要求を抽選的に割り当てるこ とにより、 容易且つ確実に各情報処理装置にジョブを割り当てることができる。 図面の簡単な説明  (9) For the sub-search request, at least one of the DB affinity, the sub-database, and the estimated time required for the processing is evaluated using an evaluation function, and based on the evaluation result, the information processing apparatus performs the sub-search. By randomly assigning requests, a job can be easily and reliably assigned to each information processing apparatus. BRIEF DESCRIPTION OF THE FIGURES
図 1は本発明の一実施形態としての情報検索システムの模式的な構成を示す図 である。  FIG. 1 is a diagram showing a schematic configuration of an information search system as one embodiment of the present invention.
図 2〜図 4はいずれも本発明の一実施形態としての情報検索システムにおける サブ検索要求 (ジョブ) の作成手法を説明するための図である。  2 to 4 are diagrams for explaining a method of creating a sub-search request (job) in the information search system as one embodiment of the present invention.
図 5は本発明の一実施形態としての情報検索システムにおける不均等ジョブ作 成手法の例を説明するための図である。 図 6は本発明の一実施形態としての情報検索システムにおける割当管理部によ る動的なジョブ割当手法を説明するための図である。 FIG. 5 is a diagram for explaining an example of an uneven job creation method in the information search system as one embodiment of the present invention. FIG. 6 is a diagram for explaining a dynamic job assignment method by the assignment management unit in the information search system as one embodiment of the present invention.
図 7は本発明の一実施形態としての情報検索システムにおけるサブ検索要求作 成部により作成されたジョブの例を示す図である。  FIG. 7 is a diagram showing an example of a job created by the sub-search request creating unit in the information search system as one embodiment of the present invention.
図 8は本発明の一実施形態としての情報検索システムにおける割当管理部によ るジョブの割当手法を説明するためのフ口一チヤ一トである。  FIG. 8 is a flowchart for explaining a job allocating method by the allocation managing unit in the information search system as one embodiment of the present invention.
図 9は本発明の一実施形態としての情報検索システムにおける割当管理部によ つて各 P Cにジョブが割り当てられた状態の例を示す図である。  FIG. 9 is a diagram showing an example of a state in which a job is assigned to each PC by the assignment management unit in the information search system as one embodiment of the present invention.
図 1 0は本発明の一実施形態としての情報検索システムにおける割当管理部に よる他のジョブの割当手法を説明するためのフローチヤ一トである。  FIG. 10 is a flowchart for explaining another job assignment method by the assignment management unit in the information search system as one embodiment of the present invention.
図 1 1は本発明の一実施形態としての情報検索システムにおける割当管理部に より各 P Cにジョブが割り当てられた他の状態の例を示す図である。  FIG. 11 is a diagram showing an example of another state in which a job has been assigned to each PC by the assignment management unit in the information search system as one embodiment of the present invention.
図 1 2は従来の情報検索システムにおけるデータベースのサイズと検索時間と の関係を模式的に示す図である。 発明を実施するための最良の形態  FIG. 12 is a diagram schematically showing a relationship between a database size and a search time in a conventional information search system. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 図面を参照して本発明の実施の形態を説明する。  Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(A) 一実施形態の説明  (A) Description of one embodiment
図 1は本発明の一実施形態としての情報検索システムの模式的な構成を示す図 である。 本情報検索システム 1は、 検索要求入力部 4 1から入力された、 データ ベース 3に対する検索要求を、 複数 (本実施形態では 4つ) の P C (Personal Computer:情報処理装置) 2 a, 2 b , 2 c , 2 dによって並列に処理するも のであり、 検索要求入力部 4 1 , 検索結果出力部 4 2 , 管理サーバ 2 0 , データ ベース 3および P C 2 a , 2 b , 2 c, 2 dをそなえて構成されている。  FIG. 1 is a diagram showing a schematic configuration of an information search system as one embodiment of the present invention. The information search system 1 transmits a search request for the database 3 input from the search request input unit 41 to a plurality of (four in this embodiment) PCs (Personal Computers: information processing devices) 2 a, 2 b , 2 c, 2 d are processed in parallel. The search request input unit 41, the search result output unit 42, the management server 20, the database 3, and the PCs 2 a, 2 b, 2 c, 2 d It is configured with.
データベース (検索対象) 3は、 何らかの情報 (データ) を網羅的に収集し、 蓄積したもの (情報群) であって、 情報の追加や削除、 更新、 検索を処理するた めの構造を持っており、 検索要求入力部 4 1から入力される検索要求に基づいて 検索され、 その検索要求に応じた情報を提供することができるものである。  The database (search target) 3 collects and accumulates some kind of information (data) comprehensively (information group), and has a structure to process addition, deletion, update, and search of information. The search is performed based on the search request input from the search request input unit 41, and information corresponding to the search request can be provided.
検索要求入力部 4 1はオペレータが検索要求を入力するためのものであり、 検 索対象のデータベース (本実施形態においてはデータベース 3 ) や、 そのデータ ベースに対して希望する検索条件を入力するためのものである。 この検索要求入 力部 4 1は、 例えばコンピュータシステムにおけるキーボードやマウス等により 実現されるようになつている。 The search request input section 41 is for the operator to input a search request. This is for inputting a database to be searched (database 3 in the present embodiment) and desired search conditions for the database. The search request input unit 41 is realized by, for example, a keyboard and a mouse in a computer system.
また、 検索要求は、 検索対象であるデータベースとそのデータベースに対する 検索条件とからなる。 本実施形態においては、 1つのデータベース 3のみがそな えられているが、これに限定されるわけではなく、複数のデータベースをそなえ、 これらのデータベースの中から、 少なくとも 1つの特定のデータベースを検索対- 象にしてもよく、 更に、 その少なくとも 1つのデータベースをオペレータが検索 対象として任意に選択できるようにしてもよレ、。  The search request includes a database to be searched and search conditions for the database. In the present embodiment, only one database 3 is provided, but the invention is not limited to this, and a plurality of databases are provided, and at least one specific database is searched from these databases. It may be targeted, and the operator may arbitrarily select at least one of the databases as a search target.
そして、 検索要求入力部 4 1においては、 オペレータが、 任意の検索条件を入 力することができるようになっている。  In the search request input section 41, the operator can input arbitrary search conditions.
検索結果出力部 4 2は、 検索要求入力部 4 1から入力された検索要求について の検索結果を管理サーバ 2◦から取得し、 オペレータ等に対して出力するもので ある。 この検索結果出力部 4 2は、 例えば、 ディスプレイ装置やプリンタ等の各 種の出力装置により実現されるようになっている。  The search result output unit 42 obtains a search result for the search request input from the search request input unit 41 from the management server 2 ◦ and outputs it to an operator or the like. The search result output unit 42 is realized by various types of output devices such as a display device and a printer.
P C 2 a , 2 b , 2 c , 2 dは、 検索要求入力部 4 1から入力された検索要求 をそれぞれ処理する情報処理装置 (計算機) である。 本実施形態においては、 P C 2 a , 2 b , 2 c , 2 dは、 管理サーバ 2 0において、 サブ検索要求作成部 5 によって作成され且つ割当管理部 8によって割り当てられたサブ検索要求 (詳細 は後述) をそれぞれ処理し、 又、 その処理結果を管理サーバ 2 0に送信するよう になっている。  PCs 2 a, 2 b, 2 c, and 2 d are information processing devices (computers) that respectively process search requests input from the search request input unit 41. In this embodiment, the PCs 2 a, 2 b, 2 c, and 2 d are sub search requests created by the sub search request creation unit 5 and assigned by the assignment management unit 8 in the management server 20. (Described later), and the processing result is transmitted to the management server 20.
なお、 以下、 P Cを示す符号としては、 複数の P Cのうち 1つを特定する必要 があるときには符号 2 a, 2 b , 2 c , 2 dを用いるが、 任意の P Cを指すとき には符号 2を用いる。  In the following, as the code indicating PC, the codes 2a, 2b, 2c, and 2d are used when it is necessary to specify one of a plurality of PCs, but when any PC is indicated, the code is used. Use 2.
P C 2 a , 2 b, 2 c , 2 dは、 図 1に示すように、 それぞれ C P U (Central Processing Unit) 3 0 , R AM 3 1 , R OM S 2 , ハ一ドディスク 3 3およぴ通 信制御部 3 4をそなえて構成されている。 なお、 図中、 既述の符号と同一の符号 は同一もしくは略同一の部分を示しているので、 その詳細な説明は省略する。 ROM32には B I OS (Basic Input I Output System) と呼ばれる、 P C 2 における基本的な入出力を行なうためのプログラム等が予め記録されており、 ハ 一ドディスク 33には、 O S (Operating System) やアブリケーションプログラ ム等の P C 2を機能させるための種々のプログラムやデータ等が保存されている。 そして、 C PU 30が、 これらの R O M 32やハードディスク 33に格納され た種々のプログラムを実行することにより、 サブ検索要求 (後述) を処理するこ とができるようになっている。 As shown in FIG. 1, the PCs 2 a, 2 b, 2 c, and 2 d include a CPU (Central Processing Unit) 30, a RAM 31, a ROMS 2, a hard disk 33, and a hard disk 33, respectively. It has a communication control section 34. In the drawings, the same reference numerals as those described above indicate the same or substantially the same portions, and thus detailed description thereof will be omitted. The ROM 32 pre-records programs such as BI OS (Basic Input I Output System) for performing basic input and output on the PC 2, and the hard disk 33 stores an OS (Operating System) and Various programs and data for operating the PC 2, such as an application program, are stored. Then, the CPU 30 executes a variety of programs stored in the ROM 32 and the hard disk 33, so that a sub search request (described later) can be processed.
RAM (記憶部) 31は、 CPU 30が種々の処理を行なう際にデータ等を一 時的に保存 ·展開するためのものであり、 本実施形態においては、 サブ検索要求 としてのサブデータベース (詳細は後述) 1S この RAM31上に展開されるよ うになっている。  The RAM (storage unit) 31 is for temporarily storing and expanding data and the like when the CPU 30 performs various processes. In the present embodiment, a sub-database as a sub-search request (details) 1S is loaded on this RAM31.
また、 本情報検索システム 1においては、 便宜上、 各 PC2 a, 2 b, 2 c , 2 dはそれぞれ同容量の RAM31をそなえているものとする。  Further, in this information retrieval system 1, for convenience, each of the PCs 2a, 2b, 2c, and 2d has a RAM 31 of the same capacity.
PC 2は、 ディスクキャッシュ機能をそなえており、 使用頻度の高いデータ'や 最後に使用したデータを RAM31上に保持 (キャッシュ) するようになつてい る。これにより、そのデータに対して読み出し要求があった時に、 CPU30は、 アクセス速度の遅いハードディスク 33やデータベース 3等からデータを読み込 む必要がなく、 RAM31上のデータを読み出すことができ、 そのデータに対し て処理を高速に行なうことができる。  The PC 2 has a disk cache function, and stores (caches) frequently used data and last used data in the RAM 31. Thus, when a read request is issued for the data, the CPU 30 does not need to read the data from the hard disk 33 or the database 3 having a low access speed, and can read the data from the RAM 31. , The processing can be performed at high speed.
そして、 PC 2においては、 このディスクキャッシュ機能により、 一度処理を 行なったサブデータベースが RAM 31上に保持されるようになっている。なお、 新たなデータを RAM 31に読み込む場合には、 RAM 31にキャッシュされた データは、 先入れ先出し方式によって古いデータから順番に RAM31から追い 出されるようになっている。  In the PC 2, the sub-database once processed is held in the RAM 31 by this disk cache function. When new data is read into the RAM 31, the data cached in the RAM 31 is flushed out of the RAM 31 in a first-in first-out manner, starting with the oldest data.
通信制御部 34は、 P C 2と外部との間における種々のデータの通信を制御す るものであり、 例えば、 管理サーバ 20から送信されるサブ検索要求 (後述) を 受信したり、 P C 2において処理した検索結果を管理サーバ 20に送信したりす るための制御を行なうようになっている。  The communication control unit 34 controls communication of various data between the PC 2 and the outside.For example, the communication control unit 34 receives a sub search request (described later) transmitted from the management server 20, The control for transmitting the processed search result to the management server 20 is performed.
管理サーバ 20は、 検索要求入力部 41によって入力された検索要求を複数の PC 2に並列に処理させるものであり、 更に、 それらの各 PC 2による処理結果 を取得して結合し、 その検索結果を検索結果出力部 42に対して出力するもので ある。 The management server 20 converts the search request input by the search request The processing is performed by the PCs 2 in parallel. Further, the processing results obtained by the PCs 2 are obtained and combined, and the search results are output to the search result output unit 42.
この管理サーバ 20は、 図 1に示すように、 サブ検索要求作成部 5, 割当管理 部 8, DBァフィ二ティ設定部 9, メモリ管理部 (空き容量管理部) 10, 処理 時間予測部 1 1および結合部 1 2をそなえて構成されている。  As shown in FIG. 1, the management server 20 includes a sub-search request creating unit 5, an allocation managing unit 8, a DB affinity setting unit 9, a memory managing unit (free space managing unit) 10, a processing time estimating unit 1 1 And a connecting portion 12.
メモリ管理部 (空き容量管理部) 10は、 あらかじめ各 P C 2の RAM3 1の サイズを取得して保持しており、 これにより、 後述するサプデータベース作成部 6が、 各 PC 2の RAM 3 1のサイズを知ることができるようになっている。 また、 メモリ管理部 1 0は、 各 P C 2の RAM 3 1の使用状況を管理するよう になっており、 割当管理部 8 (詳細は後述) によって各 PC 2に対してどのよう なサブ検索要求 (サブデータベース) を割り当てたかを管理することにより、 各 P C 2の RAM3 1にキヤッシュされているサブデータベースのサイズを管理す るようになっていて、 これにより、 各 P C 2の RAM 3 1の使用状況おょぴ空き 容量(残容量;未使用領域のサイズ)を管理することができるようになつている。 . 本情報検索システム 1においては、 各 PC 2は、 それぞれ管理サーバ 20 (割 当管理部 8) によって割り当てられる処理 (サブ検索要求) のみを行なうように なっており、 これにより、 各 PC 2の RAM 31には、 それぞれ割当管理部 8に よって割り当てられたサブデータベースがキャッシュされるようになっている。 処理時間予測部 1 1は、 各 P C 2によるサブ検索要求に関する処理に要する時 間を予測するものであって、 例えば、 PC 2に割り当てられるサブデータベース のサイズやサブ検索条件の内容, PC 2 (CPU 30) の仕様や性能等の情報に 基づいて、 そのその処理時間を予測することができるようになつている。 なお、 処理時間予測部 1 1は、 P C 2に対して各処理に要する時間を問い合わせてもよ く、 本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。 サブ検索要求作成部 5は、 検索要求入力部 41から入力された検索要求に基づ いて、 P C 2に処理させるためのサブ検索要求を作成するものである。 このサブ 検索要求作成部 5は、 データベース分割とクエリ一分割との 2つの手法を用いて 複数のサブ検索要求 (以下、 ジョブという場合もある) を作成するようになって おり、 図 1に示すように、 サブデータベース作成部 6およびサブ検索条件作成部 7をそなえて構成されている。 The memory management unit (free space management unit) 10 obtains and holds the size of the RAM 31 of each PC 2 in advance, so that the sub database creation unit 6 described later can store the RAM 31 of each PC 2 You can know the size. The memory management unit 10 manages the usage status of the RAM 31 of each PC 2, and what kind of sub search request is issued to each PC 2 by the allocation management unit 8 (details will be described later). The size of the sub-database cached in the RAM 31 of each PC 2 is managed by managing whether the (sub-database) has been allocated, thereby using the RAM 31 of each PC 2 You can manage the free space (remaining capacity; size of unused area). In this information search system 1, each PC 2 is configured to perform only the processing (sub search request) assigned by the management server 20 (assignment management unit 8). The RAM 31 caches the sub-databases assigned by the assignment management unit 8 respectively. The processing time prediction unit 11 predicts the time required for processing related to the sub-search request by each PC 2, and includes, for example, the size of the sub-database allocated to the PC 2, the contents of the sub-search conditions, and the PC 2 ( Based on information such as the specifications and performance of the CPU 30), the processing time can be predicted. The processing time estimating unit 11 may inquire of the PC 2 about the time required for each processing, and may be implemented in various modifications without departing from the spirit of the present invention. The sub-search request creating unit 5 creates a sub-search request to be processed by the PC 2 based on the search request input from the search request input unit 41. The sub-search request creating unit 5 creates a plurality of sub-search requests (hereinafter, also referred to as jobs) by using two methods, database division and query division. As shown in FIG. 1, the system includes a sub-database creating unit 6 and a sub-search condition creating unit 7.
図 2〜図 4はそれぞれ本発明の一実施形態としての情報検索システム 1におけ るサブ検索要求 (ジョブ) の作成手法を説明するための図であり、 図 2はデータ ベース分割によって複数のジョプを作成する手法を説明するための図、 図 3はク ェリ一分割によつて複数のジョブを作成する手法を説明するための図、 図 4はデ ータベース分割およびクェリ一分割によつて複数のジョブを作成する手法を説明 するための図である。  2 to 4 are diagrams for explaining a method of creating a sub-search request (job) in the information search system 1 as one embodiment of the present invention, and FIG. Fig. 3 is a diagram for explaining a method for creating multiple jobs by query division, and Fig. 4 is a diagram for explaining a method for creating multiple jobs by query division. FIG. 7 is a diagram for explaining a method of creating the job.
なお、 これらの図 2〜図 4においては、 検索対象であるデータベース D B 1 ( 図中縦軸) と、 そのデータベースに対するクエリー (Query) Q [検索条件;図 中横軸] とからなる検索要求を分割して、 複数のジョブ (サブ検索要求) を作成 する例を示している。  Note that in FIGS. 2 to 4, a search request including a database DB 1 (vertical axis in the figure) to be searched and a query (Query) Q [search condition; horizontal axis in the figure] for the database is shown. An example is shown in which multiple jobs (sub search requests) are created by division.
サブデータベース作成部 6は、 データベース 3に基づいて、 各 P C 2にそなえ られた R AM 3 1の容量以下のサイズの複数のサブデータベースを作成するもの である。 図 2に示す例においては、 サブデータベース作成部 6は、 データベース D B 1とクエリー Qとからなる検索要求について、 そのデータベース D B 1をデ ータベース分割によってサブデータベース S D B 1, S D B 2に分割することに より、サブデータベース S D B 1に対してクエリー Qで検索を行なうジョブ 1と、 サブデータベース S D B 2に対してクエリー Qで検索を行なうジョブ 2との 2つ ジョブを作成している。  The sub-database creating unit 6 creates a plurality of sub-databases having a size equal to or smaller than the capacity of the RAM 31 provided for each PC 2 based on the database 3. In the example shown in FIG. 2, the sub-database creating unit 6 divides the database DB 1 into the sub-databases SDB 1 and SDB 2 by dividing the database with respect to the search request including the database DB 1 and the query Q. In addition, two jobs are created: a job 1 that searches the sub-database SDB 1 with the query Q and a job 2 that searches the sub-database SDB 2 with the query Q.
このサブデータベース作成部 6は、 メモリ管理部 1 0に管理されている各 P C 2の R AM 3 1のサイズの情報に基づいて、 検索要求入力部 4 1によって入力さ れた検索要求に関するデータベース 3から、 各 P C 2の R AM 3 1のサイズ以下 となるようなサブデータベースを複数作成するようになっている。  The sub-database creating unit 6 stores the database 3 relating to the search request input by the search request input unit 41 based on the information on the size of the RAM 31 of each PC 2 managed by the memory management unit 10. Therefore, a plurality of sub-databases that are smaller than the size of RAM 31 of each PC 2 are created.
例えば、各 P C 2がそれぞれ 2 5 6 M Bの R AM 3 1をそなえている場合には、 サブデータベース作成部 6は、 2 5 6 M B以下のサイズのサブデ一タベースを複 数作成する。  For example, when each PC 2 has a RAM 31 of 256 MB, the sub-database creating unit 6 creates a plurality of sub-databases of a size of 256 MB or less.
一般に、 データベースは、 多数の独立したェントリから構成されていること力'; 多い。 そのため、 このェントリを単位としてデータベースを分割することが容易 である。又、ェントリが多いという特性上、 P C 2の台数が多い場合であっても、 P C 2の台数分の予測検索時間の均等なサブデータベースを作成し易いという特 徴もある。 In general, databases are composed of many independent entries. Therefore, it is easy to divide the database in units of this entry. It is. Further, due to the characteristic that there are many entries, there is also a characteristic that even when the number of PCs 2 is large, it is easy to create a sub-database having a predicted search time equivalent to the number of PCs 2.
サブ検索条件作成部 Ίは、 検索要求入力部 4 1カゝら入力された検索条件 (クェ リー;検索要求) に基づいて、 その検索条件を相互に依存関係の無い複数のサブ 検索条件に分割することにより、 各 P C 2が処理する複数のジョブを作成するよ うになつている。 図 3に示す例においては、 サブ検索条件作成部 7は、 データべ ース D B 1とクエリー Qとからなる検索要求について、 その検索条件 (クエリー ) Qをクエリ一分割によつてサブ検索条件 (サブクエリー) S Q A, S Q Bに分 割することにより、 データベース D B 1に対してサブ検索条件 S Q Aで検索を行 なうジョブ Aと、 データベース D B 1に対してサブ検索条件 S Q Bで検索を行な うジョブ Bとの 2っジョブを作成している。  The sub-search condition creation unit divides the search condition into a plurality of sub-search conditions having no mutual dependency based on the search condition (query; search request) input from the search request input unit 41. By doing so, a plurality of jobs to be processed by each PC 2 are created. In the example shown in FIG. 3, the sub-search condition creating unit 7 divides the search condition (query) Q into one sub-search condition (query) for a search request including the database DB 1 and the query Q. By subdividing into SQA and SQB, Job A searches the database DB 1 with the sub search condition SQA and Job B searches the database DB 1 with the sub search condition SQB And have created two jobs.
一般に、 検索条件において、 複数の検索条件は相互に依存していることが多い ので、 上述したデータベース分割と比較すると検索条件 (クエリー) は分割する ことが困難である。 しかしながら、 もし分割が可能である場合には、 それらの分 割後のサブ検索条件は互いに独立していることが多く、一旦分割できた場合には、 それらの各サブ検索条件を複数の P C 2で並列に処理した場合と、 その分割前の 検索条件を単一の計算機 (P C 2 ) で処理した場合とで、 その検索結果を等しく することが多い。 従って、 結合部 1 2によって行なわれるそれらのサブ検索条件 についての検索結果のマージ処理 (後述) においては、 その負荷が比較的軽いと レヽぅ特徴がある。  In general, since a plurality of search conditions often depend on each other, it is difficult to divide the search condition (query) as compared with the above-described database division. However, if division is possible, the sub-search conditions after division are often independent of each other. Once division is possible, each sub-search condition is divided into multiple PCs. In many cases, the search results are the same when processing is performed in parallel with, and when the search conditions before the division are processed by a single computer (PC 2). Therefore, in the merging process (described later) of the search results for those sub-search conditions performed by the combining unit 12, the load is relatively light, which is characteristic.
なお、 B L A S T (Basic Local Alignment Search Tool) や F A S T A等のバ ィォインフォマティックス分野においてよく使用される相同性検索には、 完全に 独立した検索要求の集合がクエリーとなっていることがある。 このような場合に は、 結合部 1 2においては、 クエリ一分割によるマージ負荷はほとんど無いとい える。  A homology search often used in the field of bioinformatics such as BLAST (Basic Local Alignment Search Tool) and FASTA sometimes uses a completely independent set of search requests as a query. In such a case, it can be said that there is almost no merging load due to the query division in the combining unit 12.
また、 本実施形態においては、 サブデータベース作成部 6によるデータベース 分割とともに、 サブ検索条件作成部 7によるクエリ一分割を併用して行なうこと ができるようになつている。 データベース分割は、 分割が容易である一方で、 そ れらの検索結果のマージの負荷が重いという特徴を有している。 その逆に、 タエ リー分割は、 分割が困難である一方で、 それらの検索結果のマージの負荷が軽い という特徴を有している。 Further, in the present embodiment, the database division by the sub database creation unit 6 and the query division by the sub search condition creation unit 7 can be performed together. While database partitioning is easy to do, The feature is that the load of merging these search results is heavy. Conversely, query division is characterized by the fact that while segmentation is difficult, the load on merging those search results is light.
上述したように、 データベース分割とクエリー分割とは、 データベース分割の 容易性および検索結果のマージの容易性において相反する特徴を有していると言 えるが、 これらのデータベース分割とクエリ一分割との双方を適用可能である場 合には、両分割手法の長所を生かしてジョブを作成することが望ましレ、。例えば、 先ず、 マージ負荷の軽いタエリー分割でジョブを作成し、 その後、 クエリー分割 だけでは必要な数やサイズのジョブを作成できなレ、場合に、 データベース分割に より更に複数のジョブに分割する (図 4参照) ことにより、 両分割手法の特徴を 生かすことができる。  As described above, it can be said that database partitioning and query partitioning have conflicting features in the ease of database partitioning and the ease of merging search results. When both can be applied, it is desirable to create a job by taking advantage of both division methods. For example, first, a job is created by tally division with a light merge load. After that, a job of the required number and size cannot be created by query division alone. In such a case, it is further divided into multiple jobs by database division ( This makes it possible to take advantage of the features of both partitioning methods.
図 4に示す例においては、 サブデータベース作成部 6は、 データベース DB 1 とクエリー Qとからなる検索要求について、 そのデータベース DB 1をデータべ ース分割によってサブデータベース SDB 1, SDB 2に分割しており、 又、 サ ブ検索条件作成部 7は、 データベース DB 1とクエリー Qとからなる検索要求に ついて、 その検索条件 (クエリー) Qをクエリー分割によってサブ検索条件 (サ ブクエリー) SQA, SQBに分割している。  In the example shown in FIG. 4, the sub-database creating unit 6 divides the database DB 1 into sub-databases SDB 1 and SDB 2 by dividing the database in response to a search request including the database DB 1 and the query Q. The sub-search condition creating unit 7 divides the search condition (query) Q into sub-search conditions (sub-query) SQA and SQB by query division for the search request including the database DB1 and the query Q. are doing.
これにより、 サブ検索要求作成部 5 (サブデータベース作成部 6, サブ検索条 件作成部 7) は、 サブデータベース SDB 1に対してサブ検索条件 S QAで検索 を行なうジョブ 1A, サブデータベース SDB 1に対してサブ検索条件 SQBで 検索を行なうジョブ 1 B, データベース SDB 2に対してサブ検索条件 SQ Aで 検索を行なうジョブ 2 Aおよび、 サブデータベース SDB 2に対してサブ検索条 件 S QBで検索を行なうジョブ 2 Bの 4つのジョブを作成している。  As a result, the sub-search request creator 5 (sub-database creator 6, sub-search condition creator 7) sends the sub-database SDB 1 to the job 1A and the sub-database SDB 1 that perform the search using the sub-search condition S QA Job 1 B to search with sub search condition SQB, job 2 A to search with sub search condition SQ A for database SDB 2, and sub search condition S QB for sub database SDB 2 Job 4 to be executed 4 jobs of B are created.
また、 サブ検索要求作成部 5においては、 サブデータベース作成部 6およびサ ブ検索条件作成部 7によって、 PC 2における予測処理時間 (検索時間) が異な る (不均等な) 複数のサイズのジョブを作成するようになっている (不均等ジョ ブ作成)。 このような不均等ジョブ作成手法としては、例えば、検索時間とデータ ベースのエントリとの相関が非常に高い場合においては、 サブデータベース作成 部 6によって、 ェントリ数が異なるサブデータベースを複数作成することにより 実現することができる。 Further, in the sub-search request creating section 5, the sub-database creating section 6 and the sub-search condition creating section 7 are used to process jobs of different sizes (unequal) in the estimated processing time (search time) in the PC 2. Is created (uneven job creation). As an example of such an uneven job creation method, for example, when the correlation between the search time and the database entry is very high, the sub-database creation unit 6 creates a plurality of sub-databases having different numbers of entries. Can be realized.
図 5は本発明の一実施形態としての情報検索システム 1における不均等ジョブ 作成手法の例を説明するための図である。 不均等ジョブを作成するためには、 図 5に示すように、 例えば、 先ず、 予測検索時間がほぼ等しくなるジョブを P C 2 の台数と同数 (本実施形態では 4つ) 作成し、 次に、 これらの各ジョブをそれぞ れ予測検索時間が 4 : 2 : 1の比率となるように 3つに分割することによって作 成する。 これにより、 4台の P C 2に対して 1 2個の不均等ジョブを容易に作成 することができる。 なお、 便宜上、 図 5に示す例においては、 作成された各ジョ ブに符号 1 1 , 1 2, 1 3, 2 1 , 22, 23, 3 1 , 32, 33, 41 , 42 および 43を付して示している。  FIG. 5 is a diagram for explaining an example of an uneven job creation method in the information search system 1 as one embodiment of the present invention. In order to create an uneven job, for example, as shown in FIG. 5, for example, first, the same number of jobs as the number of PCs 2 (four in this embodiment) for which the estimated search times are almost equal, Each of these jobs is created by dividing it into three so that the predicted search time is in the ratio of 4: 2: 1. This makes it possible to easily create 12 unequal jobs for four PCs 2. For convenience, in the example shown in FIG. 5, the created jobs are denoted by reference numerals 11, 12, 13, 21, 22, 23, 31, 32, 33, 41, 42 and 43. Is shown.
DBァフィ二ティ設定部 9は、 割当管理部 8によって PC 2に対して優先的に 割り当てるサブデータベースに関する情報を D Bァフィ-ティ (Data Base Affinity) として設定可能なものである。 すなわち、 DBァフィ-ティ設定部 9 は、 PC 2毎に、 その P C 2が検索対象とすべきサブデータベースを予め設定す ることができるようになつている。 なお、 個々の PC 2に対して DBァフィニテ ィとして複数のサブデータベースを指定してもよいが、 1つの P C 2に対して D Bァフィ二ティとして設定するサブデータベースのサイズの総和は、 その P C 2 の RAM 3 1のサイズ (メモリサイズ) を超えないようにする。  The DB affinity setting unit 9 can set information on a sub database to be preferentially assigned to the PC 2 by the assignment managing unit 8 as a DB affinity (Data Base Affinity). That is, the DB affinity setting unit 9 can set in advance, for each PC 2, a sub-database to be searched by the PC 2. Although a plurality of sub-databases may be specified as DB affinity for each PC 2, the total size of the sub-databases set as DB affinity for one PC 2 is calculated based on the PC 2 Do not exceed the size of RAM 31 (memory size).
なお、 DBァフィ二ティ設定部 9は、 各 P C 2が優先的に処理を行なうサブデ ータベースをオペレータや管理者等が予め設定してもよく、 又、 各 PC 2におけ るサブデータベースの処理履歴に基づいて、 過去に処理を行なつたサブデータベ ースを優先的に DBァフィ二ティとして設定してもよい。  The DB affinity setting unit 9 may set in advance the sub database on which each PC 2 performs processing preferentially by an operator, an administrator, or the like, or the processing history of the sub database in each PC 2. Based on the sub database, the sub database that has been processed in the past may be preferentially set as the DB affinity.
割当管理部 8は、 サブ検索要求作成部 5 (サブデータベース作成部 6, サブ検 索条件作成部 7) によって作成されたサブ検索要求を PC 2に対して割り当てる ものである。 すなわち、 割当管理部 8は、 P C 2にサブデータベースに対する検 索要求を処理させるべく、 サブデータベース作成部 6ゃサブ検索条件作成部 7に よつて作成されたサブデータベースやサブ検索条件をサブ検索要求 (ジョブ) と して P C 2に対して割り当てるようになっている。  The assignment management unit 8 assigns the sub search request created by the sub search request creation unit 5 (the sub database creation unit 6 and the sub search condition creation unit 7) to the PC 2. In other words, the assignment management unit 8 requests the PC 2 to process the search request for the sub-database by requesting the sub-database and the sub-search condition created by the sub-database creation unit 6 (Job) is assigned to PC 2.
また、 割当管理部 8は、 PC 2にジョブを割り当てる際には、 DBァフィニテ ィ設定部 9に設定された DBァフィ二ティを参照し、 DBァフィ-ティが一致す るサブデータベースをその P C 2に割り当てるようになっている。 When allocating a job to the PC 2, the allocation management unit 8 By referring to the DB affinity set in the security setting section 9, a sub-database having a matching DB affinity is assigned to the PC 2.
すなわち、 本情報検索システム 1においては、 DBァフィ二ティとして P C 2 毎に担当するサブデータベースを予め設定するようになっており 割当管理部 8 によって、 この D Bァフィニティに従ってジョプの割り当てが行なわれるように なっている。これにより、一度サブ検索要求に対する処理を行なった P C 2には、 その RAM 3 1には検索対象のサブデータベースがキヤッシュされる。  In other words, in the information retrieval system 1, a sub-database in charge of each PC 2 is set in advance as a DB affinity, and the assignment management unit 8 assigns a job in accordance with the DB affinity. Has become. As a result, the sub database to be searched is cached in the RAM 31 of the PC 2 that has once performed the process for the sub search request.
そして、 そのサブデータベ一スに関する検索要求については、 DBァフィニテ ィに従ってその P C 2に積極的に処理させることにより、 PC 2においては、 サ ブデータベースにアクセスするためにディスクアクセスを行なう必要がなく、 サ ブデータベースに対する検索処理を高速に行なうことができる。  Then, by making the PC 2 actively process the search request related to the sub-database in accordance with the DB affinity, the PC 2 does not need to perform disk access to access the sub-database. Search processing for the active database can be performed at high speed.
また、 割当管理部 8は、 動的なジョブ割当手法を用いて、 各 PC 2に対してジ ヨブを割り当てるようになつている。 動的なジョブ割当手法とは、 文字通りジョ ブを動的に各 P C 2に割り当てる手法である。 動的なジョブ割当は、 PC 2の台 数以上のジョブを用意し、 これらのジョブの中から予測検索時間の長いジョブか ら順番に各 P C 2に割り当てて処理を行なわせ、処理が完了した P C 2に対して、 残りのジョブの中から予測検索時間の長いジョブを選択して順次割り当て、 これ らの処理をジョブが無くなるまで繰り返し行なうことにより実現することができ る。 なお、 動的なジョブ割当は、 処理時間予測部 1 1による、 各 PC 2における ジョブの検索時間の予測精度が低い場合に特に有効である。  Further, the assignment management unit 8 assigns a job to each PC 2 using a dynamic job assignment method. The dynamic job allocation method is a method of literally dynamically allocating a job to each PC 2. In the dynamic job assignment, more jobs than the number of PCs 2 are prepared, and the jobs are assigned to each PC 2 in order from the job with the longest estimated search time, and the processing is completed. This can be realized by selecting a job having a long predicted search time from the remaining jobs to the PC 2 and sequentially assigning the same, and repeating these processes until there are no more jobs. The dynamic job allocation is particularly effective when the processing time prediction unit 11 has low accuracy in predicting the job search time in each PC 2.
図 6は本発明の一実施形態としての情報検索システム 1における割当管理部 8 による動的なジョプ割当手法を説明するための図であり、 サブ検索要求作成部 5 によって作成された複数のジョブ (図 5参照) を 4台の P C 2 a, 2 b, 2 c, 2 dに動的に割り当てる例を示す図である。 なお、 図 6に示す例においては、 ジ ヨブ 4 1, 42, 43について、 それぞれ処理時間予測部 1 1による予測検索時 間の 2倍の時間がかかつてしまったものとする。  FIG. 6 is a diagram for explaining a dynamic job assignment method by the assignment management unit 8 in the information search system 1 as one embodiment of the present invention. FIG. 5) is a diagram showing an example in which is dynamically assigned to four PCs 2a, 2b, 2c, and 2d. In the example shown in FIG. 6, it is assumed that each of the jobs 41, 42, and 43 has twice as long as the prediction search time by the processing time prediction unit 11.
かかる図 6に示す例においては、最初に予測検索時間が長いジョブ 1 1, 21, 3 1, 4 1を P C 2 a , 2 b, 2 c , 2 dに対してそれぞれ割り当てて処理を行 なう。 その後、 処理が完了した P C 2 a , 2 b, 2 に対して、 残りのジョブの 中から予測検索時間の長いジョブ 1 2, 2 2 , 3 2をそれぞれ割り当て、 更に、 それらの処理が完了した後に、 P C 2 a , 2 b , 2 cに対して、 それぞれジョブ 4 2 , 1 3 , 2 3を割り当てる。 そして、 その後、 処理が完了した P C 2 b, 2 cに対してジョブ 3 3 , 4 3をそれぞれ割り当てる。 In the example shown in FIG. 6, first, jobs 1 1, 21, 3 1, 41 are assigned to PCs 2a, 2b, 2c, and 2d, respectively. U. After that, the remaining jobs are sent to PCs 2a, 2b, 2 Jobs 1 2, 2 2, and 3 2, which have a long predicted search time from among them, are assigned, and after their processing is completed, jobs 4 2, 1 3 are assigned to PCs 2 a, 2 b, and 2 c, respectively. , 2 and 3 are assigned. After that, jobs 33 and 43 are assigned to the PCs 2b and 2c which have completed the processing, respectively.
このように、 P C 2に対して動的にジョブを割り当てることにより、 処理時間 予測部 1 1による検索時間の予測精度が悪い場合においても、 複数のジョブを高 速に処理することができる。  As described above, by dynamically allocating jobs to the PC 2, even when the processing time prediction unit 11 does not accurately predict the search time, a plurality of jobs can be processed at high speed.
なお、 上述の如き動的なジョブの割当は、 静的なジョブの割当と比較してジョ プ管理が複雑であり、 ジョブ管理の負荷が大きいので、 処理時間予測部 1 1によ る検索時間の予測精度が十分に良い場合には、 割当管理部 8は、 必ずしも動的な ジョブの割当を行なわずに静的なジョブの割り当てを行なってもよい。  It should be noted that the dynamic job allocation as described above requires more complicated job management than the static job allocation and has a large job management load. If the prediction accuracy of the job is sufficiently high, the assignment management unit 8 may assign a static job without necessarily assigning a dynamic job.
静的なジョプ割当手法は、 文字通りジョブを静的に各 P C 2に割り当てる手法 である。 静的なジョブ割当は、 例えば、 検索時間とデータベースのエントリ数と の相関が非常に高い場合に、 ェントリ数が互いに等しくなるようにデータベース を分割して P C 2の台数分のジョブを作成し、 それらのジョブを静的に各 P C 2 に割り当てるだけで、 P C 2間における負荷バランスを保つことができる。 なお、 予測検索時間の予測精度が低い場合には、 静的なジョブ割当手法よりも 動的なジョブ割当手法の方が、 全体的な処理時間を短縮することができると言え る。 例えば、 P C 2の台数分のジョブを作成し、 各 P C 2にこれらのジョブをそ れぞれ処理させた場合において、 1つのジョブの処理に他のジョブの 2倍の時間 がかかってしまった場合には、 その時間がかかったジョブの検索時間がシステム 1全体の性能を律速することになる。 従って、 このような場合には、 P C 2を複 数用いて並列に処理させることによる効果が不明確となる。  The static job allocation method is a method of literally allocating a job to each PC 2 statically. For example, when the correlation between the search time and the number of entries in the database is very high, the static job assignment is performed by dividing the database so that the number of entries is equal to each other and creating jobs for the number of PCs 2, By simply assigning those jobs to each PC 2 statically, the load balance between the PCs 2 can be maintained. When the prediction accuracy of the prediction search time is low, it can be said that the dynamic job allocation method can shorten the overall processing time rather than the static job allocation method. For example, when creating jobs for the number of PCs 2 and letting each PC 2 process each of these jobs, the processing of one job took twice as long as the other jobs. In such a case, the search time for the job that took that long time will determine the performance of the entire system 1. Therefore, in such a case, the effect of performing the processing in parallel using a plurality of PCs 2 becomes unclear.
すなわち、 静的なジョブ割当手法は、 動的なジョブ割当手法と比較して、 ジョ プ管理が容易であり、 事前に各ジョブの処理時間 (予測検索時間) を高い精度で 予測できる場合に有効である。  In other words, the static job allocation method is easier to manage jobs than the dynamic job allocation method, and is effective when the processing time (predicted search time) of each job can be predicted with high accuracy in advance. It is.
また、 割当管理部 8は、 P C 2に割り当てるジョブを決定する際に、 評価関数 を用いてまだ割り当てられていないジョブの評価値を算出し、 P C 2に割り当て るジョブを決定してもよレ、。 評価関数の簡単な例としては、 以下のようなものが 考えられる。 Further, when determining the job to be assigned to the PC 2, the assignment managing unit 8 may calculate the evaluation value of the job that has not been assigned using the evaluation function and determine the job to be assigned to the PC 2. ,. A simple example of a merit function is Conceivable.
( 1 ) 該当ジョブの検索対象サブデータベースが P C 2の D Bァフィ二ティと —致する場合  (1) When the sub-database to be searched for the job matches the DB2 facility of PC2
評価値 = ジョブの予測検索時間  Evaluation value = Estimated job search time
( 2 ) 該当ジョブの検索対象サブデータベースが P C 2の D Bァフィ二ティと 一致しない場合  (2) When the search target sub-database of the job does not match the DB2 facility of PC2
評価値 = ジョブの予測検索時間 Z 2  Evaluation value = Estimated job search time Z 2
上記のような評価関数を用いる場合には、 割当管理部 8は、 まだ割り当てられて いないジョブの中から最も評価値の高いジョブを選択し、 P C 2に割り当てるこ ととなる。 When the evaluation function as described above is used, the allocation management unit 8 selects the job having the highest evaluation value from the jobs that have not been allocated yet, and allocates it to PC2.
結合部 1 2は、 各 P C 2によるジョブ (サブ検索要求) に関する処理結果 (検 索結果) を取得し結合 (マージ) するものであり、 検索要求入力部 4 1から入力 された検索要求に対する検索結果を作成するものである。 この結合部 1 2によつ て結合された検索結果は、 検索結果出力部 4 2に送信されるようになっている。 上述の如く構成された本発明の一実施形態としての情報検索 ステム 1におい て、 検索要求入力部 4 1によってユーザにより検索要求 (検索対象のデータべ一 スおよび検索条件) が入力されると、 その検索要求が管理サーバ 2 0に送信され る。  The combining unit 12 acquires the processing result (search result) of the job (sub search request) by each PC 2 and combines (merges) it. The search for the search request input from the search request input unit 41 is performed To create the result. The search results combined by the combining unit 12 are transmitted to the search result output unit 42. In the information search system 1 as one embodiment of the present invention configured as described above, when a search request (database to be searched and search conditions) is input by the user through the search request input unit 41, The search request is transmitted to the management server 20.
管理サーバ 2 0においては、 サブ検索要求作成部 5が、 検索要求入力部 4 1か ら入力された検索要求に基づいて、 複数の P C 2によって処理されるべき複数の ジョブ (サブ検索要求) を作成する (サブ検索要求作成ステップ)。 具体的には、 サブデータベース作成部 6が、 データベース 3に基づいて、 各 P C 2の R AM 3 1の容量以下になるような複数のサブデータベースを作成する。 又、 サプ検索条 件作成部 7は、 必要に応じて、 検索要求入力部 4 1から検索要求として入力され た検索条件に基づいてサブ検索要求を作成する。  In the management server 20, the sub-search request creating unit 5 generates a plurality of jobs (sub-search requests) to be processed by the plurality of PCs 2 based on the search request input from the search request input unit 41. Create (sub search request creation step). Specifically, the sub-database creating unit 6 creates a plurality of sub-databases based on the database 3 so as to have a capacity equal to or smaller than the RAM 31 of each PC 2. Further, the sub search condition creating unit 7 creates a sub search request based on the search condition input as a search request from the search request input unit 41 as necessary.
また、 サブ検索要求作成部 5は、 処理時間予測部 1 1による予測処理時間に基 づいて不均等ジョブを作成するようになっている。  Further, the sub-search request creating unit 5 creates an uneven job based on the estimated processing time by the processing time estimating unit 11.
図 7は本発明の一実施形態としての情報検索システム 1におけるサブ検索要求 作成部 5により作成されたジョブの例を示す図であり、 4台の P C 2 ( 2 a , 2 b , 2 c , 2 d) によって、 各 PC 2の RAM3 1のメモリサイズ (例えば、 2 56MB) の 1. 5倍のサイズ (例えば、 384MB) のデータベース 3を検索 対象とする検索要求に基づいて、 複数のジョブを作成する例を示すものである。 この図 7に示す例においては、 サブデータベース作成部 6によって、 データべ ース 3に基づいて 2つのサブデータベース SDB 1, SDB 2が作成されており、 これらのサブデータベース SDB 1, SDB 2は、 それぞれ各 P C 2の RAM 3 1のメモリサイズよりも小さいサイズとなるように形成されている。 FIG. 7 is a diagram illustrating an example of a job created by the sub-search request creating unit 5 in the information search system 1 according to an embodiment of the present invention, in which four PCs 2 (2 a, 2 b, 2c, 2d), based on a search request to search a database 3 having a size (for example, 384MB) 1.5 times the memory size (for example, 256MB) of the RAM 31 of each PC 2 This shows an example of creating a plurality of jobs. In the example shown in FIG. 7, two sub-databases SDB 1 and SDB 2 are created by the sub-database creating unit 6 based on the database 3, and these sub-databases SDB 1 and SDB 2 are Each of them is formed to be smaller than the memory size of the RAM 31 of each PC 2.
また、 図 7に示す例においては、 サブ検索条件作成部 7は、 検索要求入力部 4 1から入力された検索要求を分割して 4つのサブ検索条件 S QA, SQB, S Q C, SQDを作成している。  In the example shown in FIG. 7, the sub-search condition creating unit 7 divides the search request input from the search request input unit 41 and creates four sub-search conditions S QA, SQB, SQC, and SQD. ing.
すなわち、 図 7に示す例においては、 サブデータベース作成部 6およびサブ検 索条件作成部 7により、 8つのジョブ(サブ検索要求) 1A, 1 B, 1 C, 1 D, 2 A, 2 B, 2 C, 2Dが作成されている。  That is, in the example shown in FIG. 7, eight jobs (sub-search requests) 1A, 1B, 1C, 1D, 2A, 2B, 2C and 2D have been created.
なお、 処理時間予測部 1 1によって予測された、 これらのジョブの予測検索時 間は、 ジョブ I B, 1 D, 2 B, 2Dが互いに略同じ予測検索時間を要するとと もに、 ジョブ 1A, 1 C, 2 A, 2 Cが互いに略同じ予測検索時間を要し、更に、 ジョブ 1A, 1 C, 2 A, 2Cが、 ジョブ 1 B, I D, 2 B, 2Dの略 2倍の予 測検索時間を要するものとする。  Note that the predicted search times of these jobs predicted by the processing time prediction unit 11 indicate that the jobs IB, 1D, 2B, and 2D require substantially the same predicted search time, and that the jobs 1A, 1C, 2A, and 2C require approximately the same estimated search time, and jobs 1A, 1C, 2A, and 2C have approximately twice the predicted search time as jobs 1B, ID, 2B, and 2D. Search time is required.
また、 図 7に示す例においては、 DBァフィ二ティ設定部 9において、 PC 2 aおよび PC 2 bに対してはサプデータベース SDB 1を優先的に割り当てるよ うに DBァフィ二ティが設定されており、 PC 2 cおよび PC 2 dに対してはサ ブデータベース SDB 2を優先的に割り当てるように DBァフィ二ティが設定さ れているものとする。  In the example shown in FIG. 7, the DB affinity setting unit 9 sets the DB affinity so that the sub database SDB 1 is preferentially assigned to PC 2 a and PC 2 b. It is assumed that the DB affinity is set so that the sub database SDB 2 is preferentially assigned to PC 2 c and PC 2 d.
そして、 割当管理部 8が、 上述の如くサブ検索要求作成部 5によって作成され た各ジョブ 1A, 1 B, 1 C, I D, 2 A, 2 B, 2 C, 2Dを、 DBァフィ二 ティ設定部 9に設定された DBァフィ二ティに従って、 各 PC 2に対してそれぞ れ割り当てる (割当管理ステップ)。 又、 この際、 割当管理部 8は動的なジョブ割 当手法を用いて、 P C 2に各ジョブを割り当てる。  Then, the assignment management unit 8 sets each of the jobs 1A, 1B, 1C, ID, 2A, 2B, 2C, 2D created by the sub-search request creating unit 5 as described above in the DB affinity setting. According to the DB affinity set in Part 9, each PC 2 is assigned individually (assignment management step). At this time, the assignment management unit 8 assigns each job to the PC 2 using a dynamic job assignment method.
ここで、 本発明の一実施形態としての情報検索システム 1における割当管理部 8によるジョブの割当手法を、 図 9を参照しながら図 8に示すフローチャート ( ステップ 10〜八80) に従って説明する。 なお、 図 9は本発明の一実施形態 としての情報検索システム 1における割当管理部 8によって各 P C 2にジョブが 割り当てられた状態の例を示す図である。 Here, an assignment management unit in the information search system 1 as one embodiment of the present invention 8 will be described with reference to FIG. 9 and the flowchart (steps 10 to 880) shown in FIG. FIG. 9 is a diagram showing an example of a state in which a job has been assigned to each PC 2 by the assignment management unit 8 in the information search system 1 as one embodiment of the present invention.
割当管理部 8は、 未割り当てのジョブがあるか否かを判断し (ステップ A 1 0 The assignment management unit 8 determines whether there is any unassigned job (step A 10
)、 未割り当てのジョブが無い場合には (ステップ A 1 0の NOルート参照)、 処 理を終了する。 ), If there is no unassigned job (see NO route in step A10), the processing ends.
また、 未割り当てのジョブがある場合には (ステップ A 1 0の YE Sルート参 照)、 割当管理部 8は、 ジョブが割り当てられるのを待っている P C 2があるか、 すなわち、 ジョブを処理できる状態にある P C 2があるか否かを判断する (ステ ップ A 20)。  If there is an unassigned job (see the YES route in step A10), the assignment management unit 8 determines whether there is a PC 2 waiting for the job to be assigned, that is, processes the job. Determine if any PC 2 is ready (step A 20).
ジョブの割り当てを待っている P C 2がある場合には (ステップ A 20の YE Sルート参照)、割当管理部 8は、 DBァフィ二ティ設定部 9を参照して、 その P C 2について DBァフイエティが適合 (一致) するジョブがあるか否かを判断す る (ステップ A60)。 その PC 2に対して、 DBァフィ二ティが適合するジョブ がある場合には(ステップ A 60の YE Sルート参照)、処理時間予測部 1 1によ る予測検索時間を参照して、 DBァフィ二ティが適合するジョブのうち、 予測検 索時間が最も長いジョブをその PC 2に対して割り当て (ステップ A 80)、ステ ップ A 10に移行する。  If there is a PC 2 waiting for job assignment (refer to the YE S route in step A20), the assignment management unit 8 refers to the DB affinity setting unit 9 and the DB facility for the PC 2 It is determined whether there is a matching (matching) job (step A60). If there is a job that matches the DB affinity for the PC 2 (refer to the YES route in step A60), the processing time prediction unit 11 refers to the predicted search time to determine the DB affinity. Among the jobs that match the two, the job with the longest predicted search time is assigned to the PC 2 (step A80), and the process proceeds to step A10.
また、 その PC 2に対して DBァフィ二ティが適合するジョブが無い場合には Also, if there is no job that matches the DB affinity for that PC 2,
(ステップ A 60の N〇ルート参照)、その P C 2へのジョブの割り当てを終了し て (ステップ A 50)、 ステップ A 20に戻る。 (Refer to the N route in step A60), the assignment of the job to the PC 2 is completed (step A50), and the process returns to step A20.
—方、 ジョブの割当てを待っている PC 2が無い場合には (ステップ A20の NOルート参照)、割当管理部 8は、 ジョブを実行中の PC 2があるか否かを判断 する (ステップ A 30)。 ジョブを実行中の P C 2がある場合には (ステップ A 3 0の YE Sルート参照)、割当管理部 8は、その P C 2のジョブが完了するのを待 ち (ステップ A 70)、 ステップ A 1 0に戻る。 又、 ジョブを実行中の P C 2が無 い場合には (ステップ A 30の NOルート参照)、割当管理部 8は、 本情報検索シ ステム 1のオペレータ等に対してエラ一を示すメッセージを出力して (ステップ A 4 0 )、 ステップ A 1 0に戻る。 On the other hand, if there is no PC 2 waiting for job assignment (see the NO route in step A20), the assignment management unit 8 determines whether there is any PC 2 executing the job (step A). 30). If there is a PC 2 executing a job (see the YES route in step A 30), the assignment management unit 8 waits for the job of the PC 2 to be completed (step A 70). Return to 10. If there is no PC 2 that is executing the job (see the NO route in step A30), the assignment management unit 8 outputs a message indicating an error to the operator of the information search system 1 or the like. Then (step A40), and return to step A10.
上述の如きジョブの割当手法により、 図 9に示すように、 各 P C 2に対してジ ヨブが動的に割り当てられる。 なお、 図 9に示す例においては、 ジョブ 2 Cの処 理には処理時間予測部 1 1によつて予測された予測検索時間よりも 1 . 5倍の時 間がかかり、 ジョブ 2 Dの処理には処理時間予測部 1 1によつて予測された予測 検索時間よりも 2倍の時間がかかったものとする。  As shown in FIG. 9, a job is dynamically allocated to each PC 2 by the job allocation method as described above. In the example shown in FIG. 9, the processing of job 2C takes 1.5 times longer than the predicted search time predicted by the processing time prediction unit 11, and the processing of job 2D is performed. It is assumed that the processing time is twice as long as the prediction search time predicted by the processing time prediction unit 11.
上述の如く、 割当管理部 8が各 P C 2に対してジョブを割り当てると、 各 P C 2はそれぞれ割り当てられたジョブを処理する。 すなわち、 各 P C 2は、 サブデ ータベースに対してサブ検索条件に基づいて検索を行ない、 その検索結果を管理 サーバ 2 0に対して送信する。  As described above, when the assignment management unit 8 assigns a job to each PC 2, each PC 2 processes the assigned job. That is, each PC 2 searches the sub database based on the sub search condition, and transmits the search result to the management server 20.
なお、 P C 2において、 各 P C 2に割り当てられたサプデータベースのサイズ は、 それぞれ各 P C 2にそなえられた R AM 3 1のサイズよりも小さいので、 サ ブデータベースに対してサブ検索条件の検索を行なう際には、 R AM 3 1上に検 索対象であるサブデータベースを全て展開して検索を行なうことができ、 デイス クアクセス等を生じることなく、 高速に検索処理を行なうことができる。  In PC 2, since the size of the sub database assigned to each PC 2 is smaller than the size of RAM 31 provided for each PC 2, the sub database is searched for sub-search conditions. When performing the search, the search can be performed by expanding all the sub-databases to be searched on the RAM 31, and the search process can be performed at high speed without generating a disk access or the like.
各 P C 2による検索結果は、 管理サーバ 2 0において、 結合部 1 2によって結 合 (マージ) され、 検索要求に対する検索結果として検索結果出力部 4 2に送信 されて、 オペレータに対して提示される。  The search results from each PC 2 are combined (merged) by the combining unit 12 in the management server 20, transmitted to the search result output unit 42 as a search result for the search request, and presented to the operator. .
このように、 本発明の一実施形態としての情報検索システム 1によれば、 サブ データベース作成部 6 (サブ検索要求作成部 5 ) 力 S、 各 P C 2にそなえられた R AM 3 1の容量以下のサイズの複数のサブデータベースを作成し、 割当管理部 8 力 これらのサブデータベースを各 P C 2に割り当てるので、 一度サブ検索要求 に対する処理を行なった P C 2において、 その R AM 3 1には検索対象のサブデ ータベースがキャッシュされる。 これにより、 その p C 2においては、 サブデー タベースにアクセスするためにアクセス速度が遅いハードディスクへのアクセス (ディスクアクセス) を行なう必要がなく、 サブデータベースに対する検索処理 を高速に行なうことができる。  As described above, according to the information search system 1 as one embodiment of the present invention, the sub-database creation unit 6 (sub-search request creation unit 5) has a capacity S, which is equal to or less than the capacity of the RAM 31 provided for each PC 2. Creates multiple sub-databases of the same size and assigns these sub-databases to each PC 2 so that the PC 2 that has processed the sub-search request once has its RAM 31 Sub-databases are cached. As a result, in p C 2, it is not necessary to access a hard disk having a slow access speed (disk access) to access the sub database, and the retrieval process for the sub database can be performed at high speed.
特に、 D Bァフィ二ティ設定部 9に、 D Bァフィ二ティとして P C 2毎に担当 するサブデータベースを予め設定し、 割当管理部 8がこの D Bァフィ二ティに従 つてジョブの割り当てを行なうので、 割当管理部 8が容易にジョブ (サブデータ ベース) を PC 2に割り当てることができ、 又、 一度サブ検索要求に対する処理 を行なった P C 2には、 その RAM 3 1には検索対象のサブデータベースがキヤ ッシュされ、 PC 2においては、 サブデータペースにアクセスするためにディス クアクセスを行なう必要がなく、 サブデータベースに対する検索処理を高速に行 なうことができる。 In particular, a sub-database in charge of each PC 2 is set in advance in the DB affinity setting section 9 as a DB affinity, and the assignment management section 8 complies with the DB affinity. In this case, the assignment management unit 8 can easily assign the job (sub database) to the PC 2, and the PC 2 that has once processed the sub search request has its RAM 31 Then, the sub database to be searched is cached, and the PC 2 does not need to perform a disk access to access the sub database, so that the search process for the sub database can be performed at high speed.
また、 検索要求入力部 41から入力された検索条件を、 サブ検索条件作成部 7 が分割してサブ検索条件を作成することにより、 適当な (任意の) 大きさ (予測 検索時間の長さ) のサブ検索要求を容易に作成することができ利便性が高い。 処理時間予測部 1 1が、 各ジョブについてその予測検索時間を予測するので、 割当管理部 8が容易に動的なジョブ割当を行なうことができ利便性が高い。  In addition, the sub-search condition creating unit 7 divides the search condition input from the search request input unit 41 to create a sub-search condition, so that an appropriate (arbitrary) size (predicted search time length) is obtained. The sub search request can be easily created, and the convenience is high. Since the processing time prediction unit 11 predicts the predicted search time for each job, the allocation management unit 8 can easily perform dynamic job allocation and is highly convenient.
DBァフィ二ティ設定部 9力 各 PC 2が優先的に処理を行なうサブデータべ ースをオペレータや管理者等が予め設定することにより、 DBァフィ二ティを確 実に設定することができ、 又、 各 P C 2におけるサブデータベースの処理履歴に 基づいて、 過去に処理を行なったサプデータベースを優先的に DBァフィ二ティ として設定することにより、 容易に DBァフィ二ティを設定することができる。 メモリ管理部 10力 S、各 PC 2にそなえられた RAM31の空き容量を管理し、 その空き容量以下のサイズのサブデータベースを各 PC 2に対して割り当てるこ とにより、 容易に且つ確実に、. PC 2の RAM 3 1の空き容量以下のサイズのサ ブデータベースを P C 2に対して割り当てることができる。  DB affinity setting unit 9 The sub-database that each PC 2 processes with priority is set in advance by the operator or administrator, so that the DB affinity can be set reliably. On the other hand, based on the processing history of the sub-database in each PC 2, the sub-database that has been processed in the past is preferentially set as the DB affinity, so that the DB affinity can be easily set. The memory management unit 10 manages the free space of the RAM 31 provided in each PC 2 and allocates a sub-database smaller than the free space to each PC 2 to easily and reliably. A sub-database smaller than the free space of RAM 31 of PC 2 can be allocated to PC 2.
処理時間予測部 1 1が、 各 PC 2による各サブ検索要求に関する処理に要する 時間 (予測検索時間) を予測し、 割当管理部 8が、 その予測検索時間が長いサブ 検索要求から優先的にサブ検索要求を P C 2に対して割り当てることにより、 複 数のジョブを複数の PC 2に対して効率よく割り当てることができる。  The processing time prediction unit 11 predicts the time (predicted search time) required for processing of each sub search request by each PC 2, and the allocation management unit 8 preferentially sub-processes the sub search request having the long predicted search time. By allocating the search request to the PC 2, a plurality of jobs can be efficiently allocated to the plurality of PCs 2.
(B) その他  (B) Other
本発明は上述した実施形態に限定されるものではなく、 本発明の趣旨を逸脱し なレ、範囲で種々変形して実施することができる。  The present invention is not limited to the above-described embodiment, and can be variously modified and implemented without departing from the spirit of the present invention.
例えば、 割当管理部 8は、 PC 2とサブデータベースとの DBァフィ二ティが 適合しない場合においても、 割当管理部 8が、 ?〇 2の1 ]\[31の残容量以內 のデータサイズのジョブを P C 2に対して割り当ててもよく、 更に、 サブ検索要 求作成部 5が、 P C 2の R AM 3 1の残容量以内のデータサイズとなるように、 P C 2に対して未だ割り当てられていない (未割当の) ジョブ (サブデータべ一 ス)を、その残容量以下となるように更に分割して、 P C 2に割り当ててもよレ、。 すなわち、 本情報検索システム 1においては、 割当管理部 8は、 メモリ管理部For example, when the DB affinity between the PC 2 and the sub-database does not match, the assignment management unit 8 determines whether the? 〇 2 of 1] \ [31 remaining capacity or less A job with a data size of PC 2 may be assigned to PC 2, and the sub-search request creating unit 5 may assign a job to PC 2 so that the data size is within the remaining capacity of RAM 31 of PC 2. Unassigned (unallocated) jobs (subdatabases) may be further divided into less than the remaining capacity and assigned to PC 2. That is, in the present information search system 1, the allocation management unit 8
1 0から、 各 P C 2の R AM 3 1の使用状況もしくは空き容量 (未使用領域のサ ィズ) を取得し、 その空き容量に応じて、 未割当のジョブを更にサブ検索要求作 成部 5によって、 その空き容量以下の複数のジョブ (サブデータベース) に分割 させて、 その分割して作成されたジヨブをそれらの P C 2に対して割り当てても よいのである。 From 10, the usage status or free space (size of unused area) of RAM 31 of each PC 2 is obtained, and according to the free space, unallocated jobs are further added to the sub search request creation unit. According to 5, the job may be divided into a plurality of jobs (sub-databases) less than the free space, and the job created by the division may be assigned to the PCs 2.
このような、 本発明の一実施形態としての情報検索システム 1における割当管 理部 8による他のジョブの割当手法を、 図 1 1を参照しながら図 1 0に示すフロ 一チャート (ステップ B 1 0〜B 1 1 0 ) に従って説明する。 なお、 図 1 1は本 発明の一実施形態としての情報検索システム 1における割当管理部 8により各 P C 2にジョブが割り当てられた他の状態の例を示す図である。  FIG. 10 is a flow chart (step B 1) showing another job allocation method by the allocation management unit 8 in the information search system 1 as one embodiment of the present invention, with reference to FIG. 11. 0 to B110). FIG. 11 is a diagram showing an example of another state in which a job is assigned to each PC 2 by the assignment managing unit 8 in the information search system 1 as one embodiment of the present invention.
割当管理部 8は、 未割り当てのジョブがあるか否かを判断し (ステップ B 1 0 ) 未割り当てのジョブが無い場合には (ステップ B 1 0の N〇ルート参照)、 処 理を終了する。  The allocation management unit 8 determines whether there is an unallocated job (step B10). If there is no unallocated job (see the N route in step B10), the processing ends. .
また、 未割り当てのジョブがある場合には (ステップ B 1 0の Y E Sルート参 照)、 割当管理部 8は、 次に、 ジョブが割り当てられるのを待っている P C 2があ るカヽ すなわち、 ジョブを処理できる状態にある P C 2があるか否かを判断する (ステップ B 2 0 )。  If there is an unassigned job (see the YES route in step B10), the assignment managing unit 8 next determines that there is a PC 2 waiting for the job to be assigned. It is determined whether or not there is any PC 2 in a state where it can process (step B 20).
ジョブの割当てを待っている P C 2が無い場合には (ステップ B .2 0の N Oル ート参照)、 割当管理部 8は、 次に、 ジョブを実行中の P C 2があるか否かを判断 する (ステップ B 3 0 )。 ジョブを実行中の P C 2がある場合には (ステップ B 3 0の Y E Sルート参照)、割当管理部 8は、その P C 2のジョブが完了するのを待 ち (ステップ B 5 0 )、 ステップ B 1 0に戻る。 又、 ジョブを実行中の P C 2が無 い場合には (ステップ B 3 0の N Oルート参照)、割当管理部 8は、 本情報検索シ ステム 1のオペレータ等に対してエラ一を示すメッセージを出力して (ステップ B 40)、 ステップ B 1 0に戻る。 If there is no PC 2 waiting for job assignment (see the NO route in step B.20), the assignment management unit 8 next determines whether there is any PC 2 that is executing the job. Judge (step B30). If there is a PC 2 executing a job (see the YES route in step B 30), the assignment management unit 8 waits for the job of the PC 2 to be completed (step B 50), Return to 10. If there is no PC 2 executing the job (see the NO route in step B 30), the assignment management unit 8 sends a message indicating an error to the operator of the information search system 1. Output (Step B 40), and return to step B 10.
ジョブの割当てを待っている P C 2がある場合には (ステップ B 20の YE S ルート参照)、 割当管理部 8は、 DBァフィ-ティ設定部 9を参照して、 その PC 2について DBァフィ二ティが適合 (一致) するジョブがあるか否かを判断する (ステップ B 60)。 その P C 2に対して、 DBァフィ二ティが適合するジョブが ある場合には (ステップ B 60の YESルート参照)、 割当管理部 8は、 処理時間 予測部 1 1による予測検索時間を参照して、その P C 2に適合するジョブのうち、 予測検索時間が最も長いジヨブをその p C 2に対して割り当て (ステップ B 80 )、 ステップ B 1 0に移行する。  If there is a PC 2 waiting for job assignment (refer to the YE S route in step B20), the assignment management unit 8 refers to the DB facility setting unit 9 to check the DB 2 Then, it is determined whether or not there is a job that matches (matches) (Step B60). If there is a job that matches the DB affinity for the PC 2 (see the YES route in step B60), the assignment management unit 8 refers to the predicted search time by the processing time prediction unit 11 Then, among the jobs suitable for the PC 2, the job having the longest predicted search time is assigned to the PC 2 (step B80), and the process proceeds to step B10.
また、 その P C 2に対して DBァフィ二ティが適合するジョブが無い場合には Also, if there is no job whose DB affinity matches the PC 2
(ステップ B 60の NOルート参照)、割当管理部 8は、 メモリ管理部 10を参照 してその PC 2の RAM 3 1の残容量を確認し、 その PC 2の残容量以内のデー タサイズのジョブがあるか否か、 すなわち、 サブデータベースのサイズがその P C 2の残容量以内となるジョブがあるか否かを判断する (ステップ B 70)。 その P C 2の残容量以内のデータサイズのジョブがある場合 (ステップ B 70 の YESルート参照) には、 割当管理部 8はステップ B 80に移行する。 すなわ ち、 割当管理部 8は、 DBァフィ二ティが適合しなくても、 その PC 2の RAM 31の残容量以内のデータサイズのジョブのうち、 予測検索時間が最も長いジョ ブをその PC 2に対して割り当てて (ステップ B 80)、ステップ B 10に移行す るのである。 (Refer to the NO route in step B60), the allocation management unit 8 refers to the memory management unit 10, checks the remaining capacity of the RAM 31 of the PC 2, and checks the job size of the data within the remaining capacity of the PC 2. It is determined whether or not there is, that is, whether or not there is a job whose sub-database size is within the remaining capacity of the PC 2 (step B70). If there is a job with a data size within the remaining capacity of the PC 2 (see the YES route in step B70), the assignment management unit 8 proceeds to step B80. In other words, even if the DB affinity does not match, the assignment management unit 8 assigns the job with the longest predicted search time among the jobs whose data size is within the remaining capacity of the RAM 31 of the PC 2 to that PC. It allocates to 2 (step B80) and moves to step B10.
また、 サブデータベースのサイズがその P C 2の RAM41の残容量以内とな るジョブが無い場合には (ステップ B 70の NOルート参照)、 割当管理部 8は、 PC 2に対して未割当のジョブについて、 その PC 2の RAM3 1残容量以下と なるように作成することができるものがある力 \ すなわち、 未割当のジョブにつ いて、 そのサブデータベースを更に分割することができるジョブがあるか否かを 判断する (ステップ B 90)。  If there is no job in which the size of the sub database is less than the remaining capacity of the RAM 41 of the PC 2 (see the NO route in step B70), the assignment management unit 8 sets the unassigned job to the PC 2. For example, if there is a job that can be created so that the RAM of PC 2 is less than or equal to the remaining capacity of RAM3, that is, if there is a job that can further divide its sub-database for unassigned jobs (Step B 90).
サブデータベースを更に分割することができるジョブがある場合には (ステツ プ B 90の YESルート参照)、 割当管理部 8は、 サブデータベース作成部 6に、 そのジョブのサブデータベースを、 その P C 2の RAM3 1残容量以下となるよ うに更に分割させて (ステップ B 1 10)、 ステップ B 10に移行する。 If there is a job that can further divide the sub-database (see YES route in Step B90), the assignment management unit 8 sends the sub-database of the job to the RAM3 It will be less than 1 remaining capacity Then, the process is further divided (step B1 10), and the process proceeds to step B10.
また、 サブデータベースを更に分割することができるジョブが無い場合には ( ステップ B 90の NOルート参照)、その P C 2に対するジョブの割り当てを終了 させて (ステップ B 100)、 ステップ B 20に移行する。  If there is no job that can further divide the sub-database (see NO route in step B90), the job assignment to the PC 2 is terminated (step B100), and the process proceeds to step B20. .
上述の如きジョブの割当手法により、 図 1 1に示すように、 各 PC 2に対して ジョブが動的に割り当てられる。 なお、 図 1 1に示す例においては、 ジョブ 2A の処理には処理時間予測部 1 1によつて予測された予測検索時間よりも 1. 5倍 の時間がかかり、 ジョブ 2 Cの処理には処理時間予測部 1 1によつて予測された 予測検索時間よりも 2倍の時間がかかったものとする。  According to the above-described job assignment method, a job is dynamically assigned to each PC 2 as shown in FIG. In the example shown in FIG. 11, the processing of job 2A takes 1.5 times longer than the predicted search time predicted by the processing time prediction unit 11, and the processing of job 2C takes It is assumed that it takes twice as long as the prediction search time predicted by the processing time prediction unit 11.
また、 図 1 1中において、 ジョブ 2 D— 1, 2 D— 2はともにジョブ 2 Dを再 分割して作成されたものである。 この図 1 1に示す例においては、 ジョブ 2D— 1, 2D— 2は PC 2 a, 2 bと D Bァフィ二ティが一致しないので、 P C 2 a, 2 bの RAM3 1にはジョブ 2 D— 1 , 2 D- 2に関するサブデータベース S D B 2がキャッシュされていない。 従って、 P C 2 a , 2 bがジョブ 2D— 1, 2 D— 2を処理するためには、 PC 2 a, 2 bはジョブ 2D— 1, 2D— 2に関す るサブデータベース SDB 2をデータベース 3等から読み出す (ディスクァクセ スを行なう) 必要があるが、 これらのジョブ 2D— 1, 2D— 2は、 サブ検索要 求作成部 5によって読み出し負荷が小さくなるように再分割して作成されている ので、 システム全体での処理時間 (検索) が短くなり、 結果的に処理速度を短縮 することができ、 又、 DBァフィ二ティが適合しないジョブを割り当てることに よるリスク (サブデータベースの読み出し負荷) を低減することができる。  In FIG. 11, both jobs 2D-1 and 2D-2 are created by subdividing job 2D. In the example shown in FIG. 11, the job 2D— 1 and 2D— 2 do not have the same DB affinity as the PCs 2 a and 2 b. 1, 2 Sub-database for D-2 SDB 2 is not cached. Therefore, in order for PCs 2a and 2b to process jobs 2D-1 and 2D-2, PCs 2a and 2b store the sub-database SDB 2 for jobs 2D-1 and 2D-2 in database 3 The job 2D-1 and 2D-2 must be re-divided and created by the sub-search request creating unit 5 so as to reduce the read load. As a result, the processing time (search) of the entire system is shortened, the processing speed can be shortened as a result, and the risk of allocating jobs that do not conform to the DB affinity (sub database read load) ) Can be reduced.
また、 DBァフィ二ティが適合しないジョブを、 PC 2 a, 2 bの RAM3 1 の残容量以下のサイズで割り当てるので、 PC 2 a, 2 bにおいては、 RAM 3 1内にサブデータベース S DB 1が引き続きキャッシュされており、 PC 2 a, 2 bに対して、 再度サブデータベース SDB 1に関する処理を行なわせる場合に も検索速度が低下するこ.とがない。  In addition, since a job whose DB affinity does not conform is allocated with a size smaller than the remaining capacity of the RAM 31 of the PCs 2a and 2b, the sub-database S DB 1 is stored in the RAM 31 of the PCs 2a and 2b. Are cached continuously, and the search speed does not decrease when PCs 2a and 2b are again processed for the sub-database SDB 1.
さらに、 ジョブ (サブ検索要求) について、 DBァフィ-ティ設定部 9によつ て設定された各 P C 2に関する DBァフィ二ティ, サブデータベースおよび処理 時間予測部 1 1によって予測された予測検索時間 (予測検索処理量) の少なくと も 1つ以上について、 前述の如き評価関数を用いて評価する評価部をそなえ、 割 当管理部 8が、 この評価部による評価結果に基づいて、 各 PC 2にジョブを抽選 的に割り当てもよい。 これにより、 割当管理部 8が、 容易且つ確実に各 PC 2に ジョブを割り当てることができる。 Further, for the job (sub search request), the DB affinity, the sub database, and the predicted search time predicted by the processing time prediction unit 11 for each PC 2 set by the DB affinity setting unit 9 Forecasted search throughput) It is also possible to provide an evaluation unit for evaluating one or more of the PCs 2 using the evaluation function as described above, and the assignment management unit 8 may randomly assign a job to each PC 2 based on the evaluation result by this evaluation unit. . Thereby, the assignment management unit 8 can easily and reliably assign a job to each PC 2.
また、 上述した実施形態においては、 便宜上、 各 P C 2はそれぞれ同容量の R In the above-described embodiment, for the sake of convenience, each PC 2 has the same capacity R
AM 3 1をそなえているが、 これに限定されるものではなく、 各 P C 2がそれぞ れ異なるサイズの RAM 3 1をそなえてもよく、 本発明の趣旨を逸脱しない範囲 で種々変形して実施することができる。 Although the AM 31 is provided, the present invention is not limited to this.Each PC 2 may have a RAM 31 of a different size, and various modifications may be made without departing from the spirit of the present invention. Can be implemented.
さらに、 管理サーバ 20は、 例えばサーバ機能をそなえたコンピュータ (情報 処理装置) によって実現され、 このコンピュータの CPUが、 情報検索プロダラ ムを実行することにより、 上述したサブ検索要求作成部 5, サブデータベース作 成部 6, サブ検索条件作成部 7, 割当管理部 8, DBァフィ-ティ設定部 9, メ モリ管理部 1 0 , 処理時間予測部 1 1, 結合部 1 2, およぴ評価部として機能す るようになっている。  Furthermore, the management server 20 is realized by, for example, a computer (information processing device) having a server function, and the CPU of the computer executes an information search program to thereby execute the above-described sub-search request creating unit 5 and sub-database. Creation section 6, Sub search condition creation section 7, Assignment management section 8, DB facility setting section 9, Memory management section 10, Processing time prediction section 11, Combining section 12, and Evaluation section It is working.
なお、 サブ検索要求作成部 5, サブデータベース作成部 6, サブ検索条件作成 部 7, 割当管理部 8, DBァフィ二ティ設定部 9, メモリ管理部 10, 処理時間 予測部 1 1 , 結合部 1 2, および評価部としての機能を実現するためのプロダラ ム (情報検索プログラム) は、 例えばフレキシブルディスク, CD— ROM, C D— R, CD-R/W, DVD, DVD-R, DVD-R/W, 磁気ディスク, 光ディスク, 光磁気ディスク等の、 コンピュータ読取可能な記録媒体に記録され た形態で提供される。 そして、 コンピュータはその記録媒体からプログラムを読 み取って内部記憶装置または外部記憶装置に転送し格納して用いる。 又、 そのプ ログラムを、 例えば磁気ディスク, 光ディスク, 光磁気ディスク等の記憶装置 ( 記録媒体) に記録しておき、 その記憶装置から通信経路を介してコンピュータに 提供するようにしてもよレ、。  It should be noted that the sub-search request creator 5, the sub-database creator 6, the sub-search condition creator 7, the assignment manager 8, the DB affinity setting unit 9, the memory manager 10, the processing time estimator 11 and the combiner 1 2. The programs (information retrieval program) for realizing the function as the evaluation unit are, for example, flexible disk, CD-ROM, CD-R, CD-R / W, DVD, DVD-R, DVD-R / It is provided in a form recorded on a computer-readable recording medium such as a W, magnetic disk, optical disk, or magneto-optical disk. Then, the computer reads the program from the recording medium, transfers the program to an internal storage device or an external storage device, stores the program, and uses the program. Alternatively, the program may be recorded on a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided to the computer from the storage device via a communication path. .
サブ検索要求作成部 5, サブデータベース作成部 6, サブ検索条件作成部 7, 割当管理部 8, DBアブイ二ティ設定部 9 , メモリ管理部 10 , 処理時間予測部 1 1, 結合部 1 2, および評価部としての機能を実現する際には、 内部記憶装置 (本実施形態ではプリンタの R AMや ROM) に格納されたプログラムがコンピ ユータのマイクロプロセッサ (CPU) によって実行される。 このとき、 記録媒 体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよ い。 Sub search request creator 5, Sub database creator 6, Sub search condition creator 7, Assignment manager 8, DB abundity setting unit 9, Memory management unit 10, Processing time prediction unit 11, Combining unit 12, When realizing the function as the evaluation unit, the program stored in the internal storage device (RAM or ROM of the printer in this embodiment) is compiled. Executed by your microprocessor (CPU). At this time, the computer may read and execute the program recorded on the recording medium.
なお、 本実施形態において.. コンピュータとは、 ハードウェアとオペレーティ ングシステムとを含む概念であり、 ォペレ一ティングシステムの制御の下で動作 するハードウエアを意味している。 又、 オペレーティングシステムが不要でァプ リケーションプログラム単独でハードウエアを動作させるような場合には、 その ハードウェア自体がコンピュータに相当する。 ハードウエアは、 少なくとも、 C PU等のマイクロプロセッサと、 記録媒体に記録されたコンピュータプログラム を読み取るための手段とをそなえており、 本実施形態においては、 管理サーバ 2 0がコンピュータとしての機能を有しているのである。  In this embodiment, the computer is a concept including hardware and an operating system, and means hardware that operates under the control of the operating system. In the case where the application program alone operates hardware without an operating system, the hardware itself corresponds to a computer. The hardware includes at least a microprocessor such as a CPU and means for reading a computer program recorded on a recording medium. In the present embodiment, the management server 20 has a function as a computer. It is doing.
さらに、 本実施形態における記録媒体としては、 上述したフレキシブルデイス ク, CD— ROM, CD-R, CD-R/W, DVD, DVD-R, DVD-R /W, 磁気ディスク, 光ディスク, 光磁気ディスクのほか、 I C力一ド, ROM カートリッジ, 磁気テープ、 パンチカード、 コンピュータの内部記憶装置 (RA Mや ROMなどのメモリ), 外部記憶装置等や、バーコードなどの符号が印刷され た印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。 なお、 本発明の各実施形態が開示されていれば、 当業者によって製造すること が可能である。 産業上の利用可能性  Further, as the recording medium in the present embodiment, the above-mentioned flexible disk, CD-ROM, CD-R, CD-R / W, DVD, DVD-R, DVD-R / W, magnetic disk, optical disk, magneto-optical In addition to disks, IC cards, ROM cartridges, magnetic tapes, punch cards, internal storage devices of computers (memory such as RAM and ROM), external storage devices, and printed materials on which codes such as bar codes are printed Various computer-readable media can be used. If each embodiment of the present invention is disclosed, it can be manufactured by those skilled in the art. Industrial applicability
以上のように、 本発明の情報検索システム, 情報検索方法, 情報検索装置, 情 報検索プログラムおよぴ当該プログラムを記録したコンピュータ読取可能な記録 媒体は、 複数の情報処理装置をそなえ、 検索対象であるデータベースとこのデー タベースに対する検索条件とからなる検索要求を、 これらの複数の情報処理装置 によって並列に処理することに有用であり、 特に各情報処理装置において検索要 求を高速に処理することができるようにして、 データベースに対して高速に検索 を行なうことに適している。  As described above, the information retrieval system, the information retrieval method, the information retrieval device, the information retrieval program, and the computer-readable recording medium recording the program according to the present invention include a plurality of information processing devices, It is useful for a plurality of information processing devices to process search requests consisting of a database and search conditions for this database in parallel.Especially, each information processing device processes search requests at high speed. It is suitable for performing high-speed searches against databases.

Claims

請 求 の 範 囲 The scope of the claims
1. 複数の情報処理装置 (2) をそなえ、 検索対象であるデータベース (3) と当該データベース (3) に対する検索条件とからなる検索要求を、 前記複数の 情報処理装置 (2) によって並列に処理する情報検索システムであって、 該データベース (3) に基づいて、 該情報処理装置 (2) にそなえられた記憶 部の容量以下のサイズの複数のサブデ一タベースを作成するサブデータベース作 成部 (6) と、  1. With a plurality of information processing devices (2), a search request including a database (3) to be searched and search conditions for the database (3) is processed in parallel by the plurality of information processing devices (2). A sub-database creating unit (2) for creating, based on the database (3), a plurality of sub-databases having a size equal to or less than the capacity of a storage unit provided in the information processing device (2). 6) and
該情報処理装置 (2) に該サブデータベースに対する該検索要求を処理させる ベく、 該サプデータベース作成部 (6) によって作成された該サブデータベース をサブ検索要求として該情報処理装置(2) に対して割り当てる割当管理部 (8) と、  In order for the information processing apparatus (2) to process the search request for the sub-database, the sub-database created by the sub-database creation unit (6) is sent to the information processing apparatus (2) as a sub-search request. Assignment management unit (8)
前記複数の情報処理装置 (2) による該サブ検索要求に関する処理結果を取得 し結合する結合部 (12) とをそなえることを特徴とする、 情報検索システム。  An information retrieval system, comprising: a coupling unit (12) for acquiring and coupling processing results relating to the sub-search request by the plurality of information processing devices (2).
2. 該検索条件を分割してサブ検索条件を作成するサブ検索条件作成部 (7) をそなえ、 2. A sub-search condition creating section (7) for dividing the search condition to create a sub-search condition is provided,
該割当管理部 (8) 、 該情報処理装置 (2) に該サブ検索条件を用いて該サ ブデータベースを検索させるベく、 該サブ検索条件を該サブ検索要求として該情 報処理装置 (2) に対して割り当てることを特徴とする、 請求の範囲第 1項記載 の情報検索システム。  The allocation management unit (8) causes the information processing device (2) to search the sub database using the sub search condition. The information processing device (2) uses the sub search condition as the sub search request. 2. The information retrieval system according to claim 1, wherein the information retrieval system is assigned to the information retrieval system.
3. 該情報処理装置 (2) に対して、 該割当管理部 (8) によって優先的に割 り当てる該サプデータベースに関する情報を DBァフィ二ティとして設定可能な DBァフィ二ティ設定部 (9) をそなえ、 3. A DB affinity setting unit (9) capable of setting, as a DB affinity, information on the sub database to be preferentially assigned to the information processing device (2) by the assignment management unit (8). With
該割当管理部 (8) 、 該 DBァフィ二ティに基づいて、 該情報処理装置 (2) に該サブ検索要求を割り当てることを特徴とする、 請求の範囲第 1項又は第 2項 記載の情報検索システム。  The information according to claim 1 or 2, wherein the allocation management unit (8) allocates the sub search request to the information processing device (2) based on the DB affinity. Search system.
4. 該 DBァフィ二ティ設定部 (9) が、優先的に処理を行なうサブデータべ ースを予め設定可能であることを特徴とする、 請求の範囲第 3項記載の情報検索 システム。 4. The DB affinity setting unit (9) performs the priority 4. The information retrieval system according to claim 3, wherein a source can be set in advance.
5. 該 DBァフィ二ティ設定部 (9) i 該情報処理装置 (2) における該サ ブ検索要求の処理履歴に基づいて、 該 D Βァフィ二ティを設定することを特徴と する、 請求の範囲第 3記載の情報検索システム。 5. The DB affinity setting section (9) i, wherein the D affinity is set based on a processing history of the sub search request in the information processing device (2). Information retrieval system described in the third section of the scope.
6. 前記情報処理装置 (2) にそなえられた記憶部の空き容量を管理する空き 容量管理部 (10) をそなえ、 6. A free space management unit (10) for managing the free space of the storage unit provided in the information processing device (2),
該割当管理部 (8) 、 該空き容量管理部 (10) によって管理される前記情 報処理装置 (2) の記憶部の空き容量に基づいて、 当該空き容量以下のサイズの 該サブデータベースを当該情報処理装置 (2) に対して割り当てることを特徴と する、 請求の範囲第 1項〜第 5項のいずれか 1項に記載の情報検索システム。  Based on the free space in the storage unit of the information processing device (2) managed by the allocation management unit (8) and the free space management unit (10), The information retrieval system according to any one of claims 1 to 5, wherein the information retrieval system is assigned to an information processing device (2).
7. 該情報処理装置 (2) による該サブ検索要求に関する処理に要する時間を 予測可能な処理時間予測部 (1 1) をそなえ、 7. It has a processing time prediction unit (1 1) that can predict the time required for processing of the sub search request by the information processing device (2).
該割当管理部 (8) 力 該処理時間予測部 (1 1) によって予測された前記処 理に要する時間に基づいて、 当該時間が長い該サブ検索要求から優先的に、 当該 サブ検索要求を該情報処理装置 (2) に対して割り当てることを特徴とする、 請 求の範囲第 1項〜第 6項のいずれか 1項に記載の情報検索システム。  The allocation management unit (8) based on the time required for the processing predicted by the processing time prediction unit (11), the sub search request having the longer time is preferentially assigned to the sub search request. The information retrieval system according to any one of claims 1 to 6, wherein the information retrieval system is assigned to the information processing device (2).
8. 該サブデ一タベ一ス作成部 (6) もしくは該サブ検索条件作成部 (7) が、 該割当管理部 (8) によって未だ該情報処理装置 (2) に対して割り当てられて いない該サブ検索要求を分割して、 複数のサブ検索要求を作成することを特徴と する、 請求の範囲第 7項記載の情報検索システム。 8. The sub-database creating unit (6) or the sub-search condition creating unit (7) is not assigned to the information processing device (2) by the assignment managing unit (8). 8. The information search system according to claim 7, wherein the search request is divided to create a plurality of sub search requests.
9. 該サプ検索要求について、 該 DBァフィ二ティ設定部 (9) によって設定 された該情報処理装置 (2) に関する DBァフィ二ティ, 該サブデータベースお ょぴ該処理時間予測部 (1 1) によって予測された前記処理に要する時間の少な くとも 1つ以上について、 評価関数を用いて評価する評価部をそなえ、 該割当管理部 (8) 力 該評価部による評価結果に基づいて、 該情報処理装置 (2) に該サブ検索要求を抽選的に割り当てることを特徴とする、 請求の範囲第 1項〜第 9項のいずれか 1項に記載の情報検索システム。 9. Regarding the sub search request, the DB affinity for the information processing device (2) set by the DB affinity setting unit (9), the sub-database and the processing time prediction unit (11) Of the time required for the processing predicted by An evaluation unit for evaluating at least one or more using an evaluation function is provided. The sub-search request is sent to the information processing device (2) based on the evaluation result by the allocation management unit (8). The information retrieval system according to any one of claims 1 to 9, wherein the information is assigned by lot.
1 0. 検索対象であるデータベース (3) と当該データベース (3) に対する 検索条件とからなる検索要求を、 複数の情報処理装置 (2) によって並列に処理 する情報検索方法であって、 10. An information search method in which a search request including a database to be searched (3) and search conditions for the database (3) is processed in parallel by a plurality of information processing devices (2),
該検索要求に基づいて、 該情報処理装置 (2) にそなえられた記憶部の容量以 下のサイズの複数のサブ検索要求を作成するサブ検索要求作成ステップと、 該情報処理装置 (2) に該サブ検索要求作成ステップにおいて作成された該サ ブ検索要求を処理させるベく、 該サブ検索要求を該情報処理装置 (2) に対して 割り当てる割当管理ステップと、  A sub-search request creating step of creating a plurality of sub-search requests having a size equal to or smaller than the capacity of the storage unit provided in the information processing device (2) based on the search request; An assignment management step of allocating the sub search request to the information processing device (2) to process the sub search request created in the sub search request creation step;
前記複数の情報処理装置 (2) による該サブ検索要求に関する処理結果を取得 し結合する結合ステップとをそなえることを特徴とする、 情報検索方法。  An information retrieval method, comprising a step of acquiring and combining processing results of the plurality of information processing devices (2) with respect to the sub-search request.
1 1. 検索対象であるデータベース (3) と当該データベース (3) に対する 検索条件とからなる検索要求を、 複数の情報処理装置 (2) に対して並列に処理 させる情報検索装置であって、 1 1. An information retrieval device that causes a plurality of information processing devices (2) to process a retrieval request including a database (3) to be retrieved and a retrieval condition for the database (3) in parallel.
該検索要求に基づいて、 該情報処理装置 (2) にそなえられた記憶部の容量以 下のサイズの複数のサブ検索要求を作成するサブ検索要求作成部と、  A sub-search request creating unit that creates a plurality of sub-search requests having a size equal to or less than the capacity of a storage unit provided in the information processing device (2) based on the search request;
該情報処理装置 (2) に該サブ検索要求作成部によって作成された該サブ検索 要求を処理させるベく、 該サブ検索要求を該情報処理装置 (2) に対して割り当 てる割当管理部 (8) と、  In order to cause the information processing device (2) to process the sub search request created by the sub search request creating unit, an assignment management unit (2) that assigns the sub search request to the information processing device (2) 8) and
前記複数の情報処理装置 (2) による該サブ検索要求に関する処理結果を取得 し結合する結合部 (12) とをそなえることを特徴とする、 情報検索装置。  An information retrieval apparatus, comprising: a coupling unit (12) for acquiring and coupling processing results relating to the sub-search request by the plurality of information processing apparatuses (2).
1 2. 検索対象であるデータベース (3) と当該データベース (3) に対する 検索条件とからなる検索要求を、 複数の情報処理装置 (2) に対して並列に処理 させる情報検索機能をコンピュータに実行させるための情報検索プログラムであ つて、 1 2. A search request consisting of a database (3) to be searched and search conditions for the database (3) is processed in parallel for a plurality of information processing devices (2). An information retrieval program for causing a computer to execute an information retrieval function
該検索要求に基づいて、 該情報処理装置 (2) にそなえられた記憶部の容量以 下のサイズの複数のサブ検索要求を作成するサブ検索要求作成部と、  A sub-search request creating unit that creates, based on the search request, a plurality of sub-search requests having a size equal to or less than the capacity of the storage unit provided in the information processing device (2);
該情報処理装置 (2) に該サブ検索要求作成部によって作成された該サブ検索 要求を処理させるベく、 該サブ検索要求を該情報処理装置 (2) に対して割り当 てる割当管理部 (8) と、  In order to cause the information processing device (2) to process the sub search request created by the sub search request creating unit, an assignment management unit (2) that assigns the sub search request to the information processing device (2) 8) and
前記複数の情報処理装置 (2) による該サブ検索要求に関する処理結果を取得 し結合する結合部 (1 2) として、 該コンピュータを機能させることを特徴とす る、 情報検索プログラム。  An information retrieval program characterized by causing the computer to function as a coupling unit (12) that acquires and combines processing results of the plurality of information processing devices (2) with respect to the sub-search request.
1 3. 検索対象であるデータベース (3) と当該データベース (3) に対する 検索条件とからなる検索要求を、 複数の情報処理装置 (2) に対して並列に処理 させる情報検索機能をコンピュータに実行させるための情報検索プログラムを記 録したコンピュータ読取可能な記録媒体であって、 1 3. Causes a computer to execute an information search function that allows multiple information processing devices (2) to process a search request consisting of a database (3) to be searched and search conditions for the database (3) in parallel. A computer-readable recording medium recording an information retrieval program for
該情報検索プログラムが、  The information search program is:
該検索要求に基づいて、 該情報処理装置 (2) にそなえられた記憶部の容量以 下のサイズの複数のサブ検索要求を作成するサブ検索要求作成部と、  A sub-search request creating unit that creates a plurality of sub-search requests having a size equal to or less than the capacity of a storage unit provided in the information processing device (2) based on the search request;
該情報処理装置 (2) に該サブ検索要求作成部によって作成された該サブ検索 要求を処理させるベく、 該サブ検索要求を該情報処理装置 (2) に対して割り当 てる割当管理部 (8) と、  In order to cause the information processing device (2) to process the sub search request created by the sub search request creating unit, an assignment management unit (2) that assigns the sub search request to the information processing device (2) 8) and
前記複数の情報処理装置 (2) による該サブ検索要求に関する処理結果を取得 し結合する結合部 (1 2) として、 該コンピュータを機 させることを特徴とす る、 情報検索プログラムを記録したコンピュータ読取可能な記録媒体。  A computer-readable recording device having an information retrieval program recorded thereon, wherein the computer is used as a coupling unit (12) for acquiring and coupling the processing results of the plurality of information processing devices (2) with respect to the sub-search request. Possible recording medium.
PCT/JP2003/003245 2003-03-18 2003-03-18 Information retrieving system WO2004084095A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2003/003245 WO2004084095A1 (en) 2003-03-18 2003-03-18 Information retrieving system
JP2004569562A JPWO2004084095A1 (en) 2003-03-18 2003-03-18 Information search system, information search method, information search device, information search program, and computer-readable recording medium storing the program
US11/068,395 US20050165765A1 (en) 2003-03-18 2005-03-01 Information search system, information search method, information search apparatus, and recording medium to which information search program, is recorded and which can be read by computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/003245 WO2004084095A1 (en) 2003-03-18 2003-03-18 Information retrieving system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/068,395 Continuation US20050165765A1 (en) 2003-03-18 2005-03-01 Information search system, information search method, information search apparatus, and recording medium to which information search program, is recorded and which can be read by computer

Publications (2)

Publication Number Publication Date
WO2004084095A1 true WO2004084095A1 (en) 2004-09-30
WO2004084095A9 WO2004084095A9 (en) 2005-02-10

Family

ID=33018140

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/003245 WO2004084095A1 (en) 2003-03-18 2003-03-18 Information retrieving system

Country Status (2)

Country Link
JP (1) JPWO2004084095A1 (en)
WO (1) WO2004084095A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133970A (en) * 2004-11-04 2006-05-25 Canon Inc Information processor and control method therefor and program
JP2009181577A (en) * 2008-01-31 2009-08-13 Hewlett-Packard Development Co Lp Intelligent data storage system
JP2009541869A (en) * 2006-07-03 2009-11-26 インテル・コーポレーション Method and apparatus for high-speed voice search
WO2010001464A1 (en) * 2008-07-01 2010-01-07 富士通株式会社 Search device and search method
JP2010524060A (en) * 2007-03-30 2010-07-15 アリババ グループ ホールディング リミテッド Data merging in distributed computing
JP2012133371A (en) * 2012-01-04 2012-07-12 Intel Corp High-speed voice retrieval method and apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682853B2 (en) * 2008-05-16 2014-03-25 Paraccel Llc System and method for enhancing storage performance in analytical database applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950438A (en) * 1995-08-07 1997-02-18 Hitachi Ltd Biopolymer array homology retrieval method
JPH1185585A (en) * 1997-09-12 1999-03-30 N T T Data:Kk Method and device for complete memory resident index

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005500594A (en) * 2001-05-04 2005-01-06 パラセル, インコーポレイテッド Method and apparatus for fast approximate substring search

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950438A (en) * 1995-08-07 1997-02-18 Hitachi Ltd Biopolymer array homology retrieval method
JPH1185585A (en) * 1997-09-12 1999-03-30 N T T Data:Kk Method and device for complete memory resident index

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Akiyama Y., 'Daikibo Heiretsu Keisanki ni yoru Tampakusitsu Joho Kaiseki', Journal of Japanese Society for Artificial Intelligence, 1 january 2000, vol 15, nr 1, pg 27-34 *
Ando K., Kosoku Kensaku niwa Processor Kadoritsu no Kojo ga Fukaketsu 'Shared Everything' ga Chumoku o Atsumeru', Nikkei Electronics, 19 july 1993, nr 586, pg 98-106 *
Kawanishi Y., 'Chokosoku Idenshi Kaiseki Gijutsu no Jitsugen to Super Computer VPP Tekiyo Hyoka', Fujitsu 25 march 1996, vol 47, nr 2, pg 183-191 *
Nishijima H., 'Kensaku wa Subtask ni Bunkatsu shite Jikko', Nikkei Computer, 12 december 1994, nr 354, pg 160-161 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006133970A (en) * 2004-11-04 2006-05-25 Canon Inc Information processor and control method therefor and program
US7962475B2 (en) 2004-11-04 2011-06-14 Canon Kabushiki Kaisha Information processing apparatus for searching for a desired image processing apparatus connected to a network, method for controlling the same, and computer-readable storage medium
JP2009541869A (en) * 2006-07-03 2009-11-26 インテル・コーポレーション Method and apparatus for high-speed voice search
JP2010524060A (en) * 2007-03-30 2010-07-15 アリババ グループ ホールディング リミテッド Data merging in distributed computing
US8463822B2 (en) 2007-03-30 2013-06-11 Alibaba Group Holding Limited Data merging in distributed computing
JP2009181577A (en) * 2008-01-31 2009-08-13 Hewlett-Packard Development Co Lp Intelligent data storage system
WO2010001464A1 (en) * 2008-07-01 2010-01-07 富士通株式会社 Search device and search method
JP5110162B2 (en) * 2008-07-01 2012-12-26 富士通株式会社 Search device and search method
US8423499B2 (en) 2008-07-01 2013-04-16 Fujitsu Limited Search device and search method
JP2012133371A (en) * 2012-01-04 2012-07-12 Intel Corp High-speed voice retrieval method and apparatus

Also Published As

Publication number Publication date
WO2004084095A9 (en) 2005-02-10
JPWO2004084095A1 (en) 2006-06-22

Similar Documents

Publication Publication Date Title
JP4786945B2 (en) Indexing forced query
EP3312714B1 (en) Distributed data parallel method for reclaiming space
CN100465898C (en) Method and device for I/O adapter
TWI539280B (en) Method for analyzing application not specifically designed to provide memory allocation informaion and extracting memory allocation information, and computer system and computer-readable storage medium thereof
CN1924842B (en) Method and device for I/O adapter
US9928004B2 (en) Assigning device adaptors to use to copy source extents to target extents in a copy relationship
US10394819B2 (en) Controlling mirroring of tables based on access prediction
US20050165765A1 (en) Information search system, information search method, information search apparatus, and recording medium to which information search program, is recorded and which can be read by computer
CN108475201A (en) A kind of data capture method in virtual machine start-up course and cloud computing system
JP2007026064A (en) Computer system, management computer, and control method of database management system
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
US7991976B2 (en) Permanent pool memory management method and system
WO2004084095A1 (en) Information retrieving system
JP4177833B2 (en) Method and apparatus for multi-process access to linked list
US6948009B2 (en) Method, system, and article of manufacture for increasing processor utilization
JP2009037369A (en) Resource assignment method to database server
US7162665B2 (en) Information processing system, method for outputting log data, and computer-readable medium storing a computer software program for the same
US20050086430A1 (en) Method, system, and program for designating a storage group preference order
US7721287B2 (en) Organizing transmission of repository data
JP2020135683A (en) Control device and control program
JP2006277530A (en) Allocation system, allocation apparatus, allocation method and program for the same
JP6020014B2 (en) Distributed data store management device, distributed parallel processing execution device, distributed parallel processing system, distributed data store management method, distributed parallel processing execution method, and computer program
JP2003050731A (en) File system access method, implemention device and processing program thereof
JPH06301560A (en) Computer task management system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

WWE Wipo information: entry into national phase

Ref document number: 2004569562

Country of ref document: JP

COP Corrected version of pamphlet

Free format text: PAGE 1, DESCRIPTION, REPLACED BY CORRECT PAGE 1

WWE Wipo information: entry into national phase

Ref document number: 11068395

Country of ref document: US