JP5223909B2 - Allocation system, allocation device, and allocation program - Google Patents

Allocation system, allocation device, and allocation program Download PDF

Info

Publication number
JP5223909B2
JP5223909B2 JP2010252087A JP2010252087A JP5223909B2 JP 5223909 B2 JP5223909 B2 JP 5223909B2 JP 2010252087 A JP2010252087 A JP 2010252087A JP 2010252087 A JP2010252087 A JP 2010252087A JP 5223909 B2 JP5223909 B2 JP 5223909B2
Authority
JP
Japan
Prior art keywords
search
record
data
processing
devices
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2010252087A
Other languages
Japanese (ja)
Other versions
JP2011040102A (en
Inventor
史郎 安倍
正卓 松浦
洋子 田端
真彦 永田
泰久 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Ltd filed Critical Fujitsu Ltd
Priority to JP2010252087A priority Critical patent/JP5223909B2/en
Publication of JP2011040102A publication Critical patent/JP2011040102A/en
Application granted granted Critical
Publication of JP5223909B2 publication Critical patent/JP5223909B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は、複数処理装置を用いて大量データを短時間で検索する文字列照合方式の全文検索システムに関する。
ここで、文字列照合方式とは、指定した文字列と検索対象のテキストデータを、検索対象のテキストデータの先頭より後方に向かって逐次照合しながら、指定した文字列が検索対象のテキストデータ中に存在するかを調べる方式である。
The present invention relates to a full-text search system of a character string matching method that searches a large amount of data in a short time using a plurality of processing devices.
Here, the character string matching method is a method in which the specified character string and the text data to be searched are sequentially matched from the beginning of the text data to be searched toward the back of the text data to be searched. It is a method to check whether it exists.


従来にも、特開平8−137734号公報「情報処理システム及びデータベースの分散方法」に、複数の検索処理装置を用いて検索時間の短縮を行う方法として、パソコン等の小規模の情報処理装置をパソコンLANで接続し、データベースを各情報処理装置でもほぼ均一になるようにデータを分散して配置し、データ処理時には各情報処理装置で並列して処理を行ない、処理結果を一つの情報処理装置に統合して表示するようにした方法が提案されている。

Conventionally, as a method of shortening search time using a plurality of search processing devices in Japanese Patent Laid-Open No. 8-137734 “Information Processing System and Database Distribution Method”, a small-scale information processing device such as a personal computer is used. Connected with a personal computer LAN, the data is distributed and arranged so that each information processing device is almost uniform, the data processing is performed in parallel in each information processing device, and the processing result is one information processing device. A method has been proposed which is integrated and displayed.

また、検索対象データを複数の領域に分割して、その分割された領域単位に別の検索処理装置に割当て、それぞれの検索処理装置が同時並行的に検索処理を行う方式が考えられていた。   Further, there has been considered a method in which search target data is divided into a plurality of areas, and the divided area units are assigned to different search processing apparatuses, and each search processing apparatus performs search processing in parallel.

例えば、特開平9-134364号公報「情報検索システム」には、検索処理を行なう複数の検索サーバと、これら複数の検索サーバの動作を管理するための検索管理サーバとを備え、検索管理サーバを、検索対象テキストベースとこのテキストベースについての関連情報とをそれぞれ分割し、このテキストベースの分割部分とその分割部分に対応する関連情報とを組にして複数の検索サーバのうちの一部または全部に割り当てるように構成するとともに、複数の検索サーバを、それぞれ、検索管理サーバによって割り当てられたテキストベースの分割部分に対する情報検索を並列かつ独立に行なうように構成して、情報検索システムに関し、複数のテキストベースを同時に検索する場合でも、特別なハードウェアを必要とせずに、且つ、検索対象テキストベースの大きさにも影響されずに高速に情報検索を行なうようにして同時並行的に検索処理を行う方式が提案されている。   For example, Japanese Patent Laid-Open No. 9-13364 “Information Search System” includes a plurality of search servers that perform search processing and a search management server for managing the operations of the plurality of search servers. The text base to be searched and the related information about the text base are respectively divided, and a part or all of the plurality of search servers are formed by combining the divided part of the text base and the related information corresponding to the divided part. And a plurality of search servers, each configured to perform information search for the text-based divided portion allocated by the search management server in parallel and independently. Even when searching the text base at the same time, no special hardware is required and the text to be searched To perform the information retrieval at high speed without also being affected by the magnitude of Tobesu method of performing concurrently search process has been proposed.


しかし、この上記第1の従来の技術では、データベースの分割において、それぞれを物理的に独立して各装置のファイルとした場合、検索処理装置の増設や検索処理装置の故障による検索処理装置の増減が発生した場合、検索対象データの物理的な再分割が必要となり、その処理のためのシステム停止の時間が長くなることになる。

However, in the first conventional technique, when the database is divided into files of each device physically independently, the number of search processing devices increases or decreases due to an increase in search processing devices or failure of the search processing devices. When this occurs, physical re-division of the search target data is required, and the system stop time for the processing becomes longer.

また、上記第2の従来技術の場合、上記のテキスト形式ファイルは、データを追加したり一部のデータを変更すると、ファイル全体の書き換えが行われ、ファイルが巨大な場合、その書き換え処理には大きな時間が必要となる。
従って、検索処理とデータの追加更新処理が並行して行われる文字列照合方式の全文検索システムにおいては、この書き換え処理時間の問題を解決しないと実用的なものとならない。
また、多くの検索処理装置を用いることにより、検索処理装置のいずれかに障害が発生する可能性はそれだけ高くなることが考えられる。
In the case of the second prior art, when the data is added or a part of the data is changed, the entire file is rewritten. When the file is huge, the rewriting process is not performed. It takes a lot of time.
Therefore, in a full-text search system of a character string collation method in which search processing and additional data update processing are performed in parallel, it will not be practical unless the problem of the rewrite processing time is solved.
Further, by using many search processing devices, it is considered that the possibility that a failure will occur in any of the search processing devices is increased accordingly.

したがって、本発明は、検索対象データの更新、追加を検索と並行して行うことが可能で、かつ、いずれかの検索処理装置に障害が発生した場合にも、その障害が発生した検索処理装置を取り除いた縮退運転を迅速に行うことを可能とする手段を提供することを課題とする。   Therefore, the present invention can update and add search target data in parallel with the search, and when a failure occurs in any of the search processing devices, the search processing device in which the failure has occurred It is an object of the present invention to provide a means that makes it possible to quickly perform the degenerate operation with the removal of the.


図1には本発明の構成図を示す。
図において1は検索対象文字列データである。
すなわち、本来の検索を行う検索対象である文字列データを示し、磁気ディスク装置や半導体記憶装置などに格納された論理的にひとつながりの文字列データである。
これらは文字列を走査して読み取ることにより識別可能なレコードに区切られており、この文字列レコードがそれぞれまとまった情報として集められ格納されている。
検索はこのレコードを構成する文字列情報を検索条件に基づいて照合し満足する文字列レコードを探し出して出力するように行われる。

FIG. 1 shows a configuration diagram of the present invention.
In the figure, 1 is search target character string data.
That is, it represents character string data that is a search target for the original search, and is logically connected character string data stored in a magnetic disk device or a semiconductor storage device.
These are divided into records that can be identified by scanning and reading character strings, and these character string records are collected and stored as a set of information.
The search is performed so that the character string information constituting the record is collated based on the search condition to find and output a satisfactory character string record.

4は検索処理装置であり複数台数で構成される。
本発明の全文検索システムは上記検索対象文字列データ1をこれら複数の検索処理装置4に分配して検索処理を行うようにするものであり、2は検索対象文字列データ1を文字列レコード群に分割して複数の検索処理装置4に割り当て、与えられた文字列検索条件を検索指示として各検索処理装置4に送信し、各検索処理装置4から検索結果を受信して統合する検索統合手段である。
Reference numeral 4 denotes a search processing apparatus which is composed of a plurality of units.
The full-text search system according to the present invention distributes the search target character string data 1 to the plurality of search processing devices 4 so as to perform search processing. Reference numeral 2 denotes the search target character string data 1 as a character string record group. Search integration means for dividing and assigning to a plurality of search processing devices 4, transmitting a given character string search condition to each search processing device 4 as a search instruction, and receiving and integrating search results from each search processing device 4 It is.

通常、検索対象とする文字列データはその内容は固定されたものではなく、新しいデータの追加や更新が必要となる。
本発明においてはこのようなデータの追加、更新を検索処理の実行中に並行して実行可能となるように、上記検索対象文字列データ1のレコードを追加更新するとき、不図示の追加更新手段により追加更新したレコードを記憶する追加更新一時記憶手段3を備える。
これにより、追加、更新時には検索対象文字列データ1の内容は変更せず追加更新一時記憶手段3に追加、更新データを記憶するようにしている。
Normally, the content of character string data to be searched is not fixed, and new data needs to be added or updated.
In the present invention, when the record of the search target character string data 1 is additionally updated so that the addition and update of such data can be performed in parallel during the execution of the search process, an additional update unit (not shown) Is provided with additional update temporary storage means 3 for storing the record additionally updated.
Thus, the contents of the search target character string data 1 are not changed at the time of addition or update, and the addition / update data is stored in the additional update temporary storage unit 3.

追加更新されたレコードも検索処理の対象とするために、あらかじめ定められたいずれか一つの検索処理装置4に追加更新一時記憶手段3に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段8を備えるようにしている。   In order to make the additionally updated record a target of the search processing, an addition is made to instruct one of the predetermined search processing devices 4 as a search charge data the character string record group stored in the additional update temporary storage means 3 An update record search instruction means 8 is provided.

追加更新されたレコードの反映は適時に実施可能とするように、この追加更新一時記憶手段3に記憶された更新済みレコードに対応する更新前レコードを検索対象文字列データ1から削除するとともに、上記追加更新済みレコードを検索対象文字列データ1に組み入れる更新結果反映手段5を備えるようにしている。   The record before update corresponding to the updated record stored in the additional update temporary storage means 3 is deleted from the search target character string data 1 so that the additional updated record can be reflected in a timely manner. Update result reflecting means 5 for incorporating the additionally updated record into the search target character string data 1 is provided.

多数の検索処理装置4に処理を分担させるとき、その中に故障装置があるときには、その検索処理装置を除外して検索処理を分担して実行する。
すなわち、上記検索統合手段2が上記複数の検索処理装置4に検索指示を送信後、検索対象文字列データ1を分割して割り当てられた検索処理装置4から検索結果を受信した時刻を記憶する検索結果受信時刻記憶手段6と、最初に受信した検索処理装置4の検索結果受信時刻から、あらかじめ設定された時間以内に検索結果を受信できなかった検索処理装置4を故障装置として判定する故障検索処理装置判定手段7とを備える。
When a large number of search processing devices 4 share processing, and there is a faulty device among them, the search processing device is excluded and the search processing is shared and executed.
That is, after the search integration means 2 transmits a search instruction to the plurality of search processing devices 4, a search that stores the time at which the search result is received from the search processing device 4 assigned by dividing the search target character string data 1. Failure search processing for determining, as a failure device, the result processing time storage means 6 and the search processing device 4 that has not received the search result within a preset time from the search result reception time of the search processing device 4 received first. Device determining means 7.

また、上記追加更新一時記憶手段3に記憶されたレコード群を検索担当データとして指示された検索処理装置4も記憶されたレコード群が多くなり検索時間が長くなったときに一旦故障装置であると判定されるが、この場合は更新結果反映手段5による追加更新済みレコードの検索対象文字列データ1への組み入れを行った後であらためて検索処理を実行する。   In addition, the search processing device 4 instructed as the search charge data using the record group stored in the additional update temporary storage means 3 is also a malfunctioning device when the stored record group increases and the search time becomes long. In this case, after the update result reflecting means 5 incorporates the additionally updated record into the search target character string data 1, the search process is executed again.


以上の説明から明らかなように、本発明によれば、レコード区切りのある文字列の並びで構成される大量データから文字列照合方式により与えられた条件の文字列レコードを検索するシステムにおいて、検索処理を行っているときにも並行して、検索対象となる大量データの追加、更新を行うことができるので、大量データの検索システムの運用を容易にするとともに、利用者にとっても検索対象データの時々刻々、追加、更新された最新の情報を検索できるので、検索データの品質向上、信頼性の向上が期待できる。
また、本発明の、大量データの検索を多数の検索処理装置を同時に動作させることによって検索速度向上をはかる仕組みにおいても、各検索処理装置が分担する検索対象データの割当も短時間で変更することができるので、もしも一部検索処理装置の不具合が発生しても、検索処理装置の台数を減縮した構成で処理をほとんど中断せずに運転できるので検索システムの全体としての信頼性向上と、稼働率の向上が図れる。

As is apparent from the above description, according to the present invention, in a system for retrieving a character string record of a condition given by a character string collation method from a large amount of data composed of a sequence of character strings with record delimiters. In parallel with the processing, a large amount of data to be searched can be added and updated. This facilitates the operation of a large-volume data search system and allows users to search for the data to be searched. Since the latest information that has been added or updated from time to time can be searched, the quality of search data can be improved and the reliability can be improved.
In addition, even in the mechanism of the present invention for increasing the search speed by simultaneously operating a large number of search processing devices for searching a large amount of data, the allocation of search target data shared by each search processing device can be changed in a short time. Therefore, even if some trouble occurs in the search processing device, it can be operated with almost no interruption in the configuration with the reduced number of search processing devices, improving the reliability of the search system as a whole and operating it. The rate can be improved.


本発明の構成図Configuration diagram of the present invention 全文検索システムの全体概念Overall concept of full-text search system 検索対象データの例Search target data example 検索依頼の例Search request example 検索依頼画面の例Example of search request screen 検索結果画面の例Search result screen example 全文検索システムの全体構成図Overall configuration of full-text search system 受付サーバの構成図Configuration diagram of reception server 検索サーバの構成図Configuration diagram of search server 処理の全体の流れOverall flow of processing 事前処理のブロック図Preprocessing block diagram ディレクタプログラムの流れ図(1)Director program flow chart (1) 環境テーブルの例(1)Example of environment table (1) 応答用テーブルの例Response table example 検索サーバaの割当テーブルの例(1)Example of search server a allocation table (1) 検索サーバの初期設定プログラムの流れ図Flow chart of search server initialization program 検索データの例Search data example 更新処理のブロック図Update processing block diagram データ更新プログラムの流れ図Data update program flow chart 更新ファイル応答用テーブルの例Update file response table example 検索処理のブロック図Block diagram of search processing ディレクタプログラムの流れ図(2)Director program flow chart (2) 検索依頼バッファーSearch request buffer 検索結果テーブルの例(1)Search result table example (1) 検索スレッドの流れ図Search thread flow diagram 検索結果の例(1)Search result example (1) 検索結果テーブルの例(2)Search result table example (2) 全文検索プログラムの流れ図Flow chart of full text search program 時間監視プログラムの処理の流れFlow of time monitoring program processing ディレクタプログラムの流れ図(3)Director program flowchart (3) 環境テーブルの例(2)Example of environment table (2) 検索対象領域の再割当Reassign search area 検索サーバaの割当テーブルの例(2)Example of allocation table of search server a (2) 二つ目の実施例の全体構成図Overall configuration diagram of the second embodiment ジェネラル受付サーバの構成図General reception server configuration diagram 二つ目の実施例の処理ブロック図Processing block diagram of the second embodiment 環境テーブルGの例(1)Example of environment table G (1) ジェネラル受付サーバのディレクタプログラムの流れ図(2)General reception server director program flowchart (2) 検索結果テーブルGの例(1)Example of search result table G (1) 受付スレッドの流れ図Flow chart of reception thread 検索結果の例(2)Search result example (2) 検索結果テーブルGの例(2)Example of search result table G (2) 環境テーブルGの例(2)Example of environment table G (2)


本実施の形態においては、パーソナルコンピューター、ワークステーション等の汎用的な目的で使用される計算機上で実行するコンピュータプログラムにより実現する形態を示す。

In the present embodiment, a form realized by a computer program executed on a computer used for general purposes such as a personal computer or a workstation is shown.

本発明の全文検索システムは、処理装置、主記憶装置、入出力装置などから構成される計算機上で、コンピュータプログラムを実行して実現される。
また、コンピュータプログラムは、フロッピー(登録商標)でスクやCD−ROM等の可搬型媒体やネットワーク接続された他の計算機の主記憶装置や補助記憶装置等に格納されて提供される。
本発明の記録媒体は、上記可搬型媒体、主記憶装置、補助記憶装置に該当する。
The full-text search system of the present invention is realized by executing a computer program on a computer including a processing device, a main storage device, an input / output device, and the like.
The computer program is provided by being stored in a floppy (registered trademark) portable medium such as a disk or a CD-ROM, or in a main storage device or an auxiliary storage device of another computer connected to the network.
The recording medium of the present invention corresponds to the portable medium, the main storage device, and the auxiliary storage device.

提供されたコンピュータプログラムは、可搬型媒体から直接計算機の主記憶装置にロードされ、または、補助記憶装置を備えた計算機においては可搬型媒体から一旦補助記憶装置にコピーまたはインストール後に、主記憶装置にロードされて実行する。
また、ネットワーク接続された他の装置に格納されて提供された場合も、他の装置からネットワークを経由して受信後に、主記憶装置にロードされ、あるいは補助記憶装置を備える計算機においては補助記憶装置にコピー後に、主記憶装置にロードされて実行するものである。
The provided computer program is loaded directly from the portable medium into the main storage device of the computer, or in a computer equipped with an auxiliary storage device, the program is temporarily copied from the portable medium to the auxiliary storage device and then installed in the main storage device. Load and execute.
Also, when stored and provided in another device connected to the network, after being received from another device via the network, it is loaded into the main storage device, or in a computer having an auxiliary storage device, the auxiliary storage device Are copied into the main storage device and executed.

図2に本発明の全文検索システム(以後は本システムという)の全体概念を示す。
本システムは、複数の端末(端末A、端末B、端末C)から非定期的に発生する検索依頼に対して、検索対象データ(図1の検索対象文字列データ1に対応する)の中からそれぞれの検索依頼を満足する情報を抽出して、その情報を検索結果としてそれぞれの端末に返す装置である。
また、本システムは、検索処理と並行して、端末(端末D)からのデータの追加更新依頼により、検索対象データへの新しいデータの追加、および検索対象データの変更が行うことができる。
FIG. 2 shows the overall concept of the full-text search system of the present invention (hereinafter referred to as the present system).
In response to a search request that occurs irregularly from a plurality of terminals (terminal A, terminal B, terminal C), the present system selects from search target data (corresponding to search target character string data 1 in FIG. 1). It is an apparatus that extracts information satisfying each search request and returns the information to each terminal as a search result.
Further, in parallel with the search process, this system can add new data to the search target data and change the search target data in response to a data addition / update request from the terminal (terminal D).

最初に、検索対象データの内容の例を図3に示す。
検索対象データは複数のレコードから構成される。
レコードは複数の項目から構成される。
項目の中身は文字列である。
なお、数値や日付も文字列で表される。
レコードはレコード区切符号等の手段により識別できる。
レコード内の項目は項目区切符号により区切られており、項目識別符号( 以下項目タグと呼ぶ)により一意に特定できる。
また、レコードにはレコードを一意に識別できる符号であるレコードNOが付与されている。
また、本発明の実施の形態の検索対象データは十分に大量であるとして説明する。
First, an example of the contents of search target data is shown in FIG.
The search target data is composed of a plurality of records.
A record is composed of a plurality of items.
The content of the item is a string.
Numerical values and dates are also expressed as character strings.
Records can be identified by means such as record delimiters.
Items in the record are delimited by an item delimiter code, and can be uniquely identified by an item identification code (hereinafter referred to as an item tag).
In addition, a record NO, which is a code that can uniquely identify the record, is assigned to the record.
Further, description will be made assuming that the search target data according to the embodiment of the present invention is sufficiently large.

検索依頼の例を図4に示す。
また、図5および図6に端末から検索を行ったときの検索依頼画面の例、検索結果画面の例を示す。
この例では、検索依頼は項目タグと検索語を対とした情報の羅列と、検索条件式を持つ。
これらの情報は、検索対象レコードの中の項目タグで指定する項目の中に指定検索語が存在し、かつ、検索条件式を満足するレコードを捜して欲しい、と言うことを意味する。
An example of a search request is shown in FIG.
5 and 6 show examples of search request screens and search result screens when a search is performed from the terminal.
In this example, the search request has an enumeration of information in which item tags and search terms are paired, and a search condition expression.
These pieces of information mean that a search is made for a record in which the specified search word exists in the item specified by the item tag in the search target record and the search condition expression is satisfied.

この例は具体的には、人事情報の検索において、検索条件として、名前と出身校を入力し、関連する情報としてその両方を満足する人事情報を検索するという簡単な例を示している。
また、検索依頼画面で名前だけとか名前と出身地とか、入力画面に分かっている情報を入力すると満足する情報が見つかったときにはその関連情報を含めて返すようになっている。
このように、入力された情報の組み合わせにより図4に示す検索依頼の例に示す条件式は自動的に作りだされるようになっている。
Specifically, in this search for personnel information, a name and a school of origin are input as search conditions, and personnel information satisfying both is searched as related information.
In addition, when only the name, name and birthplace, or information known on the input screen is input on the search request screen, the information including the related information is returned when satisfactory information is found.
As described above, the conditional expression shown in the example of the search request shown in FIG. 4 is automatically created by the combination of the inputted information.

このように、本システムは検索依頼を満足するレコードをファイルの中から見つけ出し、そのレコードの一部または全体を端末の画面など検索依頼元に返す。
本方式の場合、複数の検索処理装置(図1における検索処理装置4に対応する)を用いて同時並行的に検索処理を行うので、検索処理装置の数に比例して検索時間が短縮される。
In this way, the system finds a record satisfying the search request from the file, and returns a part or all of the record to the search request source such as a terminal screen.
In the case of this method, search processing is performed in parallel using a plurality of search processing devices (corresponding to the search processing device 4 in FIG. 1), so that the search time is reduced in proportion to the number of search processing devices. .

また、本方式の場合、分割された領域を物理的に独立したファイルとするのではなく、検索対象データを物理的に一つのファイル、あるいは、論理的にひとつながりのファイルに構成し、レコード単位に処理装置の数だけの領域に論理的に分割して、各々の領域を別の検索処理装置に割り当てて検索を行う。
これにより、検索処理装置の増減が発生した場合、新たにファイルを検索処理装置の数だけの領域に論理的に再分割を行って、各領域を検索処理装置へ再割当てを行うだけで、速やかに処理を続行することができる。
In the case of this method, the divided area is not a physically independent file, but the search target data is configured as one physical file or a logically connected file, in units of records. Then, the area is logically divided into the number of processing apparatuses, and each area is assigned to another search processing apparatus to perform a search.
As a result, when the number of search processing devices increases or decreases, a new file is logically subdivided into the number of search processing devices, and each region is quickly reassigned to the search processing devices. You can continue processing.

本方式でのファイル形式は、文字情報を単純に並べただけのテキスト形式のファイルとする。
しかし、本発明の対象とする全文検索システムの扱う検索対象データは十分に大量であることを前提としているため、検索対象データを一つのファイルにまとめた場合、そのファイルは巨大なものとなる。
The file format in this method is a text format file in which character information is simply arranged.
However, since it is premised that the search target data handled by the full-text search system targeted by the present invention is sufficiently large, when the search target data is collected into one file, the file becomes huge.

上記のテキスト形式ファイルは、データを追加したり一部のデータを変更するとファイル全体の書き換えが行われ、ファイルが巨大な場合、その書き換え処理には大きな時間が必要となる。
従って、本発明の対象とする検索処理とデータの追加更新処理が並行して行われる文字列照合方式の全文検索システムにおいては、この書き換え処理時間の問題を解決しないと実用的なものとならない。
また、本システムは多くの検索処理装置を用いるため、検索処理装置のいずれかが故障する確率が高くなる。
従って、いずれかの検索処理装置に障害が発生した場合に、その障害が発生した検索処理装置を取り除いた縮退運転を迅速に行う必要がある。
In the above text format file, when data is added or a part of data is changed, the entire file is rewritten. If the file is huge, the rewriting process requires a long time.
Therefore, in the full-text search system of the character string collation method in which the search process and the additional data update process targeted by the present invention are performed in parallel, it will not be practical unless the problem of the rewrite processing time is solved.
Moreover, since this system uses many search processing devices, the probability that any of the search processing devices will fail increases.
Therefore, when a failure occurs in any of the search processing devices, it is necessary to quickly perform the degenerate operation by removing the search processing device in which the failure has occurred.

本発明の実施の形態の全体構成図を図7に示す。
本システムは、1つの受付サーバ、複数の検索サーバおよび1つのファイルサーバで構成される。
受付サーバは端末からの検索依頼を受付け、それを検索サーバa〜eに渡す。
検索サーバa〜eは、検索依頼を満足するレコードを検索対象ファイルの自分の受け持つ領域の中から見つけ出し、その結果を受付サーバに返す。
FIG. 7 shows an overall configuration diagram of the embodiment of the present invention.
This system includes one reception server, a plurality of search servers, and one file server.
The reception server receives a search request from the terminal and passes it to the search servers a to e.
The search servers a to e find a record satisfying the search request from an area of the search target file that is handled by the search server, and return the result to the reception server.

検索サーバeは、検索依頼を満足するレコードを更新ファイルの中から見つけ出し、その結果を受付サーバに返す。
受付サーバは、全検索サーバからの回答をとりまとめて端末に返信する。
The search server e finds a record satisfying the search request from the update file and returns the result to the reception server.
The reception server collects the responses from all the search servers and returns them to the terminal.

また、受付サーバは、端末からの検索対象ファイルへのデータの追加更新依頼により、更新ファイルに、新規データの追加登録または変更されたデータの登録を行う。
ファイルサーバは、受付サーバまたは検索サーバからの要求により検索対象ファイルおよび更新ファイルのデータの読み出し、および書き込みを行う装置であり、一般的な装置であるので本実施例では説明を割愛する。
Further, the reception server performs addition registration of new data or registration of changed data in the update file in response to a request for addition and update of data to the search target file from the terminal.
The file server is a device that reads and writes data of the search target file and the update file in response to a request from the reception server or the search server. Since the file server is a general device, a description thereof is omitted in this embodiment.

次に、受付サーバの詳細について説明する。
受付サーバの構成は図8の通りである。
受付サーバは、情報処理装置、磁気ファイル装置およびプログラム記憶装置で構成される。
プログラム記憶装置の構成要素は、制御プログラム、ディレクタプログラム(図1における検索統合手段2に対応する)でタ更新プログラム、時間監視プログラム(図1における検索結果受信時刻記憶手段6および故障検索処理装置判定手段7に対応する)、検索スレッド、環境テーブル、応答用テーブル、更新ファイル応答用テーブル、検索依頼バッファーおよび検索結果テーブルである。
Next, details of the reception server will be described.
The configuration of the reception server is as shown in FIG.
The reception server is composed of an information processing device, a magnetic file device, and a program storage device.
The components of the program storage device are a control program, a director program (corresponding to the search integration means 2 in FIG. 1), a data update program, a time monitoring program (search result reception time storage means 6 and failure search processing device determination in FIG. 1). Corresponding to the means 7), search thread, environment table, response table, update file response table, search request buffer, and search result table.

ここで、データ更新プログラムは検索対象の文字列データが格納されているファイルのレコードの更新を行うプログラムである。
レコードの更新は検索対象の維持管理を行う受付サーバが行う。
Here, the data update program is a program for updating a record of a file storing character string data to be searched.
Records are updated by the receiving server that manages the search target.

ディレクタプログラムは複数の検索サーバへの検索対象の文字列データを分配したり、端末から受け付けた検索依頼を各検索サーバに受け渡したり、各検索サーバから返される検索結果を統合して依頼元に返すという分割検索を統合する役割を果たすプログラムである。   The director program distributes search target character string data to multiple search servers, passes search requests received from the terminal to each search server, and integrates the search results returned from each search server and returns them to the requester. It is a program that plays a role of integrating the divided search.

時間監視プログラムは検索依頼を検索サーバに依頼した後、検索サーバからの応答を監視して、他の検索サーバの応答に比べて極端に時間がかかる検索サーバの異常を検出するものである。   The time monitoring program requests a search request from a search server, and then monitors a response from the search server to detect an abnormality of the search server that takes much longer than the response of another search server.

検索スレッドは到着した検索依頼を検索サーバに連続して並行的に送り出すものである。   The search thread sends the search requests that arrive to the search server in parallel.

環境テーブル、応答用テーブル、更新ファイル応答用テーブルは後に詳述するが、検索サーバへの検索処理の配分を管理するテーブルである。   The environment table, response table, and update file response table are tables that manage the distribution of search processing to the search server, as will be described in detail later.

検索依頼バッファは受付サーバに端末からの検索依頼を処理待ちの状態として蓄積するバッファであり、各検索サーバに順次検索指示として送信するものである。
検索結果テーブルは、各検索サーバが分割された領域の検索対象データを検索した結果を蓄積するもので、全検索サーバの結果が揃ったときこれを統合して依頼元の端末に検索結果を送信することになる。
The search request buffer is a buffer for accumulating search requests from the terminal in the reception server as a process waiting state, and is sequentially transmitted to each search server as a search instruction.
The search result table accumulates the results of searching the search target data in the divided areas of each search server. When the results of all the search servers are collected, the search results are integrated and sent to the requesting terminal. Will do.

次いで、検索サーバの詳細について説明する。
検索サーバの構成を図9に示す。
検索サーバは、情報処理装置、磁気ファイル装置およびプログラム記憶装置で構成される。
プログラム記憶装置の構成要素は、制御プログラム、初期設定プログラム、全文検索プログラム、割当テーブルおよび検索データである。
Next, details of the search server will be described.
The configuration of the search server is shown in FIG.
The search server includes an information processing device, a magnetic file device, and a program storage device.
The components of the program storage device are a control program, an initial setting program, a full text search program, an allocation table, and search data.

処理の流れを、事前処理、更新処理、検索処理および領域再割当処理の4つに大きく分けて説明する。
その4つの処理の関係を図10に示す。
事前処理は、システムの起動を行った後、検索依頼またはデータ更新依頼を端末から受け取る前までの処理である。
更新処理は、端末からの依頼により新規データの追加登録および変更されたデータの登録を行う処理である。
検索処理は、端末から検索依頼を受け取ってから、検索結果を端末に返すまでの処理である。
領域再割当処理は、検索処理の過程において検索処理が異常終了した場合に、データ領域の検索サーバへの再割当を行う処理である。
The flow of processing will be broadly divided into four processes: pre-processing, update processing, search processing, and area reallocation processing.
FIG. 10 shows the relationship between the four processes.
The pre-process is a process from when the system is activated until a search request or a data update request is received from the terminal.
The update process is a process for adding new data and registering changed data in response to a request from the terminal.
The search process is a process from receiving a search request from a terminal until returning a search result to the terminal.
The area reassignment process is a process for reallocating the data area to the search server when the search process ends abnormally in the course of the search process.

まず、事前処理について説明する。
事前処理の基本的な機能とテーブルの関連を図11に示す。
図11には、図8および図9に示した受付サーバ、検索サーバの構成図のうち事前処理の動作に関わるテーブル類と処理を示し、さらに、検索対象ファイルの各検索サーバでの検索の領域分担の例示、更新ファイルとの関連を示している。
First, pre-processing will be described.
FIG. 11 shows the relationship between the basic functions of the preprocessing and the table.
FIG. 11 shows the tables and processes related to the pre-processing operation in the configuration diagrams of the reception server and the search server shown in FIGS. 8 and 9, and further, the search area of each search server for the search target file An example of sharing and the relationship with an update file are shown.

図11に示す検索対象ファイルは検索サーバa、検索サーバb、検索サーバdの3台で領域を分担している様子を例示している。
各領域はレコードを単位として割り当てられ、例えば、検索サーバaがレコードNOの1から784、検索サーバbが785から1568のように分担するようにしていることを示している。
通常、負荷の均等化を計るためレコード数あるいは文字列の長さ、もしくはサイズの総和がほぼ等しくなるように分割している。
また、更新ファイル(図1における追加更新一時記憶手段3に対応する)は追加された、あるいは更新済のレコードを検索対象ファイルとは別のファイルとして格納するものである。
The search target file shown in FIG. 11 illustrates a state in which the search server a, the search server b, and the search server d share an area.
Each area is assigned in units of records. For example, the search server a is assigned to record Nos. 1 to 784, and the search server b is assigned to 785 to 1568.
Usually, in order to equalize the load, the number of records, the length of the character string, or the sum of the sizes is divided so as to be almost equal.
An update file (corresponding to the additional update temporary storage means 3 in FIG. 1) stores an added or updated record as a file different from the search target file.

このような内容の図11を参考にしながら、受付サーバおよび検索サーバの処理の流れを詳細に説明していく。
受付サーバにおける動作は、最初に、受付サーバの制御プログラムが、システムの初期化等を行った後、ディレクタプログラムを起動する。
ディレクタプログラムの、起動された後の処理の流れを図12に示す。
The processing flow of the reception server and the search server will be described in detail with reference to FIG. 11 having such contents.
In the operation of the reception server, first, after the control program of the reception server initializes the system, the director program is started.
FIG. 12 shows the flow of processing after the director program is started.

ディレクタプログラムは、最初にステップS1201で更新ファイルのデータを検索対象ファイルに併合(図1における更新結果反映手段5に対応する)する。
更新ファイルは検索対象ファイルの更新されたり追加されたレコードが一時的に格納されるファイルであるので中身がない場合もあるが、通常は前回運用時に蓄積されたレコードが格納されているので、検索を開始あるいは検索の中断等何らかの原因で再開するときにはまず検索対象ファイルに併合するようになっている。
In step S1201, the director program first merges the data of the update file with the search target file (corresponding to the update result reflecting means 5 in FIG. 1).
The update file is a file that temporarily stores the updated or added records of the search target file, so there may be no contents, but usually the records accumulated during the previous operation are stored, so search When restarting for some reason, such as starting or interruption of search, the file is first merged with the search target file.

このとき、更新ファイルと検索対象ファイルに同一レコードNOのデータが存在した場合、検索対象ファイルのデータを更新ファイルのデータで置き換える。
本併合処理の後、更新ファイルのレコードはすべて検索対象ファイルに一本化されるので、更新ファイルのデータは全て消去する。
At this time, if data of the same record NO exists in the update file and the search target file, the data of the search target file is replaced with the data of the update file.
After the merge process, all the records in the update file are unified into the search target file, and therefore all the data in the update file is deleted.

次に、ステップS1202においてディレクタプログラムは環境テーブルを作成する。
図13に示すように、環境テーブルは検索サーバの一覧であり、検索サーバ名、アドレス(ネットワークアドレス)、状態フラグ、更新ファイル担当フラグから成る。
状態フラグとは、その検索サーバの状態を示す。
例えば、その検索サーバが使えない状態にあれば「1」とし、使える状態であれば「0」とする。
更新ファイル担当フラグは更新ファイルの検索を担当する検索サーバであることを示す。
更新ファイル担当フラグ以外の情報は、予め磁気ファイル装置に記録しておき、ディレクタプログラムはそこから情報を得て環境テーブルを設定する。
Next, in step S1202, the director program creates an environment table.
As shown in FIG. 13, the environment table is a list of search servers, and includes a search server name, an address (network address), a status flag, and an update file charge flag.
The status flag indicates the status of the search server.
For example, “1” is set when the search server is not usable, and “0” is set when the search server is usable.
The update file charge flag indicates that the search server is in charge of searching for update files.
Information other than the update file charge flag is recorded in the magnetic file device in advance, and the director program obtains information from the information and sets the environment table.

次に、ステップS1203でディレクタプログラムは検索対象ファイルを読んで応答用テーブルを作成する。
応答用テーブルは図14に示すように検索対象ファイル中の全レコードの一覧であり、レコードNO、そのレコードのファイル上の先頭アドレス、およびそのレコードの長さから成る。
In step S1203, the director program reads the search target file and creates a response table.
As shown in FIG. 14, the response table is a list of all records in the search target file, and includes a record NO, a head address of the record in the file, and a length of the record.

次に、ステップS1204においてディレクタプログラムは、環境テーブルおよび応答用テーブルを基にして検索サーバ別に、割当テーブルを作成する。
割当テーブルは、図15に示すように各検索サーバの検索の受持ち範囲を割り当てたテーブルであり、環境テーブル(図13に例示)の状態フラグが使用可能状態「0」である検索サーバの内、一つを除いた全てについてそれぞれ作成する。
また、環境テーブル(図13) 中の、その残された検索サーバの更新ファイル担当フラグ(図1における追加更新レコード検索指示手段8に対応する)をON「1」にする。
割当テーブルは個々の検索サーバが検索を受け持つレコードの一覧であり、レコードNO、そのレコードの先頭アドレス、およびそのレコードの長さから成る。
個々の検索サーバが受け持つレコードは、応答用テーブル(図14)を見て、個々の割当テーブルのレコードの数またはレコードの長さの総和、が均等になるように、応答用テーブルの先頭から順番に割り当てる。
Next, in step S1204, the director program creates an allocation table for each search server based on the environment table and the response table.
The allocation table is a table in which the search coverage of each search server is allocated as shown in FIG. 15, and among the search servers in which the status flag of the environment table (illustrated in FIG. 13) is the usable state “0”, Create all but one.
Further, the update file charge flag (corresponding to the additional update record search instruction means 8 in FIG. 1) of the remaining search server in the environment table (FIG. 13) is set to ON “1”.
The allocation table is a list of records that each search server is responsible for searching, and is composed of a record NO, the start address of the record, and the length of the record.
The records handled by each search server are checked from the top of the response table so that the number of records in each allocation table or the sum of the record lengths is equalized by looking at the response table (FIG. 14). Assign to.

ステップS1205では、ディレクタプログラムは、割当テーブル(図15)を、検索対象ファイル名と共に、それぞれが対応する検索サーバへ通知する。
また、環境テーブルの更新ファイル担当フラグがON「1」の状態にある検索サーバに対して、中身が空の割当テーブルを更新ファイル名と共に通知し、その後、検索依頼待ち状態となる。
In step S1205, the director program notifies the allocation server (FIG. 15) together with the search target file name to the corresponding search server.
In addition, an empty allocation table is notified together with the update file name to the search server in which the update file charge flag of the environment table is ON “1”, and then the search request wait state is entered.

以上が図12の受付サーバのディレクタプログラムの流れに沿った受付サーバの事前処理の動作の説明である。   The above is the description of the operation of the preprocessing of the receiving server along the flow of the director program of the receiving server in FIG.

次に検索サーバにおける事前処理の動作について説明する。
最初に、検索サーバの制御プログラムが、システムの初期化を行った後に、初期設定プログラムおよび全文検索プログラムを起動する。
Next, the pre-processing operation in the search server will be described.
First, after the initialization of the system, the search server control program starts the initial setting program and the full-text search program.

起動された後の初期設定プログラムの処理の流れを図16に示す。
ステップS1601で、初期設定プログラムは割当テーブルを受付サーバから受け取り、ステップS1602で、割当テーブルに割当レコードがある場合、ステップS1603で、その全てのレコードNOのレコードを検索対象ファイルよりプログラム記憶装置に読み込み検索データ(図17)を作成する。
FIG. 16 shows the flow of processing of the initial setting program after being started.
In step S1601, the initial setting program receives the allocation table from the receiving server. If there is an allocation record in the allocation table in step S1602, in step S1603, all records of records NO are read from the search target file into the program storage device. Search data (FIG. 17) is created.

割当テーブルに割当レコードがない場合は、更新ファイル担当の検索サーバであるので何もしないでそのまま終わる。
以後、全文検索プログラムは起動された後、検索依頼待ち状態となる。
If there is no allocation record in the allocation table, the search server is in charge of the update file, and the process ends without doing anything.
Thereafter, after the full-text search program is started, it waits for a search request.

次に、上記事前処理の説明に続いて、図10の中に示した更新処理について説明する。
更新処理の基本的な機能とテーブルの関連を図18に示す。
図18を参考にしながら、更新処理における受付サーバの処理の流れを詳細に説明する。
Next, the update process shown in FIG. 10 will be described following the description of the preliminary process.
FIG. 18 shows the relationship between the basic function of the update process and the table.
The processing flow of the reception server in the update process will be described in detail with reference to FIG.

受付サーバの制御プログラムは、システムの初期化等を行った後、ディレクタプログラムと共にデータ更新プログラムを起動する。
起動された後のデータ更新プログラムの処理の流れを図19に示す。
The control program of the receiving server starts the data update program together with the director program after system initialization and the like.
FIG. 19 shows a flow of processing of the data update program after being activated.

データ更新プログラムは、起動された後、プログラムの初期化等を行い、データ更新依頼待ちとなる。
データ更新依頼を受け付けた後、ステップS1901において、送られてきたデータが新規の追加登録データであれば、従来検索対象ファイルおよび更新ファイルに存在した最大レコードNO+1のレコードNOを付与して、更新ファイルの最後に記録する。
送られてきたデータが変更されたデータであれば、そのまま更新ファイルの最後に記録する。
After the data update program is started, it initializes the program and waits for a data update request.
After receiving the data update request, if the sent data is new additional registration data in step S1901, the record NO of the maximum record NO + 1 existing in the conventional search target file and the update file is assigned, and the update file Record at the end of.
If the sent data is changed data, it is recorded as it is at the end of the update file.

もし、送られてきた変更データと同じレコードNOのデータが更新ファイルに存在した場合は、存在していた更新ファイルのデータを削除する。
更新ファイルへのデータ登録後、ステップS1902で、更新ファイル応答用テーブル(図20)を作成して、再びデータ更新依頼待ちとなる。
If the data of the same record NO as the sent change data exists in the update file, the existing update file data is deleted.
After registering data in the update file, an update file response table (FIG. 20) is created in step S1902, and the data update request is waited again.

次に、図10に示した処理の全体の流れの中の検索処理について説明する。
検索処理の基本的な機能とテーブルの関連を図21に示す。
図21を参考にしながら、検索処理における受付サーバおよび検索サーバの処理の流れを詳細に説明する。
ここに示すように、端末から検索依頼を受け取ると、事前処理でディレクタプログラムが設定したように、検索対象ファイルの各割り当てられた領域のレコードが検索サーバa、b、dに、更新ファイルのレコードが検索サーバeに検索を担当させるようにして、検索依頼が各検索サーバに送信される。
Next, search processing in the overall flow of the processing shown in FIG. 10 will be described.
FIG. 21 shows the relationship between the basic function of the search process and the table.
With reference to FIG. 21, the processing flow of the receiving server and the search server in the search process will be described in detail.
As shown here, when a search request is received from the terminal, as the director program sets in the pre-processing, the records of the allocated areas of the search target file are transferred to the search servers a, b, and d, and the update file record The search request is transmitted to each search server such that the search server e is in charge of the search.

図12の処理の流れの最後で、ディレクタプログラムは事前処理を終了すると検索依頼待ちの状態にある。
その後の処理の流れを図22に示す。
At the end of the processing flow of FIG. 12, the director program waits for a search request when the preprocessing is completed.
The subsequent processing flow is shown in FIG.

端末からの検索依頼は検索依頼バッファー(図23)に格納される。
ステップS2201では、端末から検索依頼があると、ディレクタプログラムは検索依頼バッファーから検索依頼を取り出し、まず、検索結果テーブル(図24)を検索依頼単位に作成する。
The search request from the terminal is stored in the search request buffer (FIG. 23).
In step S2201, when a search request is received from the terminal, the director program retrieves the search request from the search request buffer, and first creates a search result table (FIG. 24) for each search request.

検索結果テーブルには環境テーブル(図13)の使える状態にある検索サーバ名の一覧を作成し、環境テーブルの更新ファイル担当フラグを転記し、更に、処理結果フラグ、処理完了時刻およびヒットレコードNOの欄を設ける。   In the search result table, a list of search server names in a usable state of the environment table (FIG. 13) is created, the update file charge flag of the environment table is transcribed, and further, a process result flag, a process completion time, and a hit record NO. Provide a column.

次に、ステップS2202で、ディレクタプログラムは、使える状態にある全検索サーバに対応した検索スレッドを起動する。
検索スレッドには、起動と同時に、検索依頼(図4)、環境テーブル(図13)中の担当する検索サーバのアドレスおよび検索結果テーブル(図24) 中の自分が回答を書き込む欄を知らせる。
検索スレッドは検索依頼別に、使える状態にある検索サーバの数だけ作成されることになる。
Next, in step S2202, the director program activates search threads corresponding to all search servers in a usable state.
Simultaneously with the activation, the search thread is notified of the search request (FIG. 4), the address of the search server in charge in the environment table (FIG. 13), and the column where the answer is written in the search result table (FIG. 24).
Search threads are created for each search request by the number of search servers in a usable state.

検索スレッドを起動した後、ディレクタプログラムはステップS2203で検索結果通知待ちの状態になるが、以降の処理は後述する。   After starting the search thread, the director program waits for a search result notification in step S2203, and the subsequent processing will be described later.

検索スレッドの処理の流れを図25に示す。
検索スレッドは起動された後、検索依頼を受け取り、ステップS2501で、それを自分の担当する検索サーバの全文検索プログラムに通知する。
ステップS2502で検索結果を待ち、ステップS2503で検索結果の確認をして、検索サーバから検索結果の回答としてヒットレコードNO(図26)を受け取ったら、ステップS2504で、その回答を検索結果テーブル(図27)のヒットレコードNO欄に書き込み、更に、ステップS2505で、その時の時刻を処理完了時刻欄に書き込み、ステップS2506で処理結果フラグを正常終了状態「1」にする。
もし検索サーバから異常終了の回答があったら、ステップS2506で処理結果フラグ欄を異常状態「2」にする。
The flow of processing of the search thread is shown in FIG.
After the search thread is activated, it receives a search request, and notifies it to the full-text search program of the search server in charge in step S2501.
In step S2502, the search result is awaited. In step S2503, the search result is confirmed. When a hit record NO (FIG. 26) is received from the search server as an answer to the search result, the answer is stored in the search result table (FIG. 26). 27) is written in the hit record NO column, and in step S2505, the current time is written in the processing completion time column. In step S2506, the processing result flag is set to the normal end state “1”.
If there is an abnormal end reply from the search server, the processing result flag column is set to an abnormal state “2” in step S2506.

次に、検索スレッドから検索依頼を受け取った後の全文検索プログラムの処理の流れを図28に示す。
全文検索プログラムは、受け取った検索依頼を満足するレコードを、ステップS2801で割当テーブル(図15)にレコードがある場合はステップS2802で、プログラム記憶装置上の検索データ(図17)の中から捜し出し、ステップS2801で割当テーブルが空の場合はステップS2803で更新ファイルから捜し出す。
次に、ステップS2804で捜し出したレコードのレコードNOをヒットレコードNO(図26)として、依頼のあった検索スレッドに回答する。
もし、検索過程で異常を検出した場合は、異常終了のメッセージを依頼のあった検索スレッドに回答する。
Next, FIG. 28 shows the flow of processing of the full-text search program after receiving a search request from the search thread.
The full-text search program searches for a record satisfying the received search request from the search data (FIG. 17) on the program storage device in step S2802 if there is a record in the allocation table (FIG. 15) in step S2801, If the allocation table is empty in step S2801, search is performed from the update file in step S2803.
Next, the record NO of the record searched in step S2804 is set as a hit record NO (FIG. 26), and the requested search thread is answered.
If an abnormality is detected during the search process, an abnormal end message is returned to the requested search thread.

時間監視プログラムの処理の流れを図29に示す。
時間監視プログラムは一定時間間隔で処理を開始する。
処理開始後、全ての検索結果テーブル(図27)について以下の処理を行う。
FIG. 29 shows the flow of processing of the time monitoring program.
The time monitoring program starts processing at regular time intervals.
After the processing is started, the following processing is performed for all the search result tables (FIG. 27).

まず、ステップS2901で、処理結果フラグが異常終了「2」となっている検索サーバがあれば、ステップS2906でディレクタプログラムに処理結果通知として異常終了の通知を行う。   First, in step S2901, if there is a search server whose processing result flag is abnormal termination “2”, the director program is notified of abnormal termination as a processing result notification in step S2906.

ステップS2902で全処理結果フラグが正常終了「1」となっていた場合は、ステップS2904でディレクタプログラムに処理結果通知として正常終了を通知する。
処理結果フラグが未入力、すなわち処理未完了の検索サーバがあれば、ステップS2903で更新ファイル担当以外の検索サーバの処理完了時刻の内、最も早い時刻より一定時間を経過していた場合は、ステップS2905で処理結果フラグが未入力で、かつ更新ファイル担当以外の検索サーバの検索結果テーブル(図27)の処理結果フラグを異常終了「2」にした後、ステップS2906でディレクタプログラムに処理結果通知として異常終了の通知を行う。
If the all process result flag is “1” in step S2902, the normal termination is notified to the director program as a process result notification in step S2904.
If there is a search server for which the processing result flag has not been input, that is, the processing has not been completed, in step S2903, if a certain time has elapsed from the earliest time among the processing completion times of the search servers other than the update file manager, After the processing result flag is not input in S2905 and the processing result flag in the search result table (FIG. 27) of the search server other than the update file manager is abnormally ended “2”, the director program is notified as a processing result in step S2906. Notification of abnormal termination.

図22に戻って説明する。
ディレクタプログラムは検索スレッドの起動後、ステップS2204で時間監視プログラムからの処理結果通知を受け取る。
Returning to FIG.
After the search thread is activated, the director program receives a processing result notification from the time monitoring program in step S2204.

処理結果通知の内容が正常終了であった場合はステップS2205で次の処理を行う。
更新ファイル担当フラグがOFFすなわち「0」の検索サーバについては、応答用テーブル(図14) から、ヒットレコードNOに記載されているレコードNOに対応するレコードの先頭アドレスおよびレコードの長さを取り出して、それに該当するレコードの内容を検索対象ファイルより読み込む。
更新ファイル担当フラグがONすなわち「1」の検索サーバについては更新ファイル応答用テーブル(図20) より、ヒットレコードNOに記載されているレコードNOに対応するレコードの先頭アドレスおよびレコードの長さを取り出して、それに該当するレコードの内容を更新ファイルより読み込む。
但し、応答用テーブル(図14)と更新ファイル応答用テーブル(図20)に同一のレコードNOのデータがある場合は、応答用テーブル(図14)のレコードNOのデータを無視する。
最後に、ステップS2206で読み込んだレコードの内容を所定の形式に編集して端末に送信し、検索依頼バッファー中の当該端末の検索依頼データを消去する。
If the content of the processing result notification is normal termination, the next processing is performed in step S2205.
For the search server whose update file charge flag is OFF, that is, “0”, the head address and the record length of the record corresponding to the record NO described in the hit record NO are extracted from the response table (FIG. 14). Read the contents of the corresponding record from the search target file.
For the search server whose update file handling flag is ON, that is, “1”, the start address and the record length of the record corresponding to the record NO described in the hit record NO are extracted from the update file response table (FIG. 20). Then, the contents of the corresponding record are read from the update file.
However, if there is data of the same record NO in the response table (FIG. 14) and the update file response table (FIG. 20), the data of record NO in the response table (FIG. 14) is ignored.
Finally, the contents of the record read in step S2206 are edited into a predetermined format and transmitted to the terminal, and the search request data of the terminal in the search request buffer is deleted.

ステップS2204で処理結果通知の内容が異常終了であった場合は、領域再割当処理を行う。   If the content of the processing result notification is abnormal end in step S2204, an area reallocation process is performed.

ディレクタプログラムの領域再割当処理の流れを図30に示す。
領域再割当処理では、まず、ステップS3001で全検索スレッドの停止を行う。
次にステップS3002で検索結果テーブル(図27)の処理結果フラグが異常「2」を示している検索サーバについて、環境テーブル(図31)の状態フラグを使用不可状態「1」にした後、全ての検索結果テーブルを消去する。
FIG. 30 shows the flow of area reallocation processing of the director program.
In the area reallocation process, first, all search threads are stopped in step S3001.
Next, in step S3002, for the search server in which the processing result flag in the search result table (FIG. 27) indicates an abnormality “2”, all the state flags in the environment table (FIG. 31) are set to the unusable state “1”. Clear the search result table.

次に、ステップS3003で更新ファイルのデータを検索対象ファイルに併合する。
このとき、更新ファイルと検索対象ファイルに同一レコードNOのデータが存在した場合、検索対象ファイルのデータを更新ファイルのデータで置き換える。
本併合処理の後、更新ファイルのデータは全て消去する。
In step S3003, the update file data is merged with the search target file.
At this time, if data of the same record NO exists in the update file and the search target file, the data of the search target file is replaced with the data of the update file.
After the merge process, all data in the update file is deleted.

その後、ステップS3004で応答用テーブル(図14)の再創生を行う。   Thereafter, in step S3004, the response table (FIG. 14) is re-created.

次に、ステップS3005で応答用テーブル(図14)と環境テーブル(図31)を用いて、図32に示すように、各検索サーバの検索受持ち範囲の再割当を行う。
例えば、図31に示すように、検索サーバdが使用不可であることが判明した場合には、図32に示すように、更新ファイルの担当である検索サーバeを除いた検索サーバa、b、dの3つに割り当てていた検索対象ファイルを、検索サーバa、bの2つに割り当て直す。
Next, in step S3005, using the response table (FIG. 14) and the environment table (FIG. 31), as shown in FIG. 32, the search responsibility range of each search server is reassigned.
For example, as shown in FIG. 31, when it is found that the search server d is unusable, as shown in FIG. 32, the search servers a, b, excluding the search server e in charge of the update file, The search target files assigned to the three of d are reassigned to the two search servers a and b.

ステップS3006でその再割当結果の割当テーブル(図33に形式を示す)を全検索サーバに通知する。   In step S3006, the allocation table of the re-allocation result (the format is shown in FIG. 33) is notified to all search servers.

検索サーバの初期化プログラムはその通知を受け取って、事前処理と同じ処理(図16)を行う。   The search server initialization program receives the notification and performs the same processing (FIG. 16) as the pre-processing.

以上の処理の後、ディレクタプログラムは、検索依頼バッファーにある検索依頼を取り出して、検索処理(図22)を再開する。   After the above processing, the director program retrieves the search request in the search request buffer and restarts the search processing (FIG. 22).

以上で一つ目の実施例の説明を終える。   This is the end of the description of the first embodiment.

二つ目の実施例について説明する。
一つ目の実施例は、受付サーバおよび検索対象ファイルが一つの場合の事例である。
二つ目の実施例では、受付サーバと検索対象ファイルが組となり複数存在する場合について説明する。
A second embodiment will be described.
The first embodiment is a case where there is one reception server and search target file.
In the second embodiment, a case will be described in which a plurality of receiving servers and search target files exist as a set.

二つ目の実施例は、検索依頼者が、地域的に分散して存在する複数の一つ目の実施例のシステムに対して、横断的な検索依頼を行いたい場合に有効である。   The second embodiment is effective when a search requester wants to make a cross-sectional search request for a plurality of systems according to the first embodiment that are distributed in regions.

二つ目の実施例の全体構成図を図34に示す。
検索対象ファイルが複数個ある場合、それぞれの検索対象ファイルに対応して一つ目の実施例と同じシステムを作成する。
これにより、受付サーバが複数個作成されることになる。
これらの受付サーバと端末の間に一つのジェネラル受付サーバを設ける。
各端末は、ジェネラル受付サーバに対して検索依頼を行い、ジェネラル受付サーバから検索結果を受け取る。
FIG. 34 shows an overall configuration diagram of the second embodiment.
When there are a plurality of search target files, the same system as in the first embodiment is created corresponding to each search target file.
As a result, a plurality of reception servers are created.
One general reception server is provided between the reception server and the terminal.
Each terminal makes a search request to the general reception server and receives a search result from the general reception server.

このようなケースにおいては、検索対象ファイルの更新、維持の処理は各管理単位の受付サーバ単位に実施されるので、ジェネラル受付サーバを経由してアクセスする端末からのデータ更新依頼を許可しないのが一般的であり、ジェネラル受付サーバは、端末からのデータ更新依頼を受付ないものとする。   In such a case, the process of updating and maintaining the search target file is performed for each receiving server of each management unit. Therefore, a data update request from a terminal accessed via the general receiving server is not permitted. In general, it is assumed that the general reception server does not receive a data update request from the terminal.

ジェネラル受付サーバ以外は全て一つ目の実施例と同じであるので、ジェネラル受付サーバについてのみ詳細を説明する。
ジェネラル受付サーバの構成は図35のとおりである。
ジェネラル受付サーバは、情報処理装置、磁気ファイル装置およびプログラム記憶装置で構成される。
Since everything except the general reception server is the same as the first embodiment, only the general reception server will be described in detail.
The configuration of the general reception server is as shown in FIG.
The general reception server includes an information processing device, a magnetic file device, and a program storage device.

プログラム記憶装置の構成要素は、制御プログラム、ディレクタプログラム、環境テーブルG、検索結果テーブルGおよび受付スレッドである。   The components of the program storage device are a control program, a director program, an environment table G, a search result table G, and a reception thread.

二つ目の実施例の基本的な機能とテーブルの関連を図36に示す。
図36を参考にしながら、ジェネラル受付サーバの処理の流れを詳細に説明する。
最初に、制御プログラムがシステムの初期化を行った後、ディレクタプログラムを起動する。
FIG. 36 shows the relationship between the basic functions and the table of the second embodiment.
The processing flow of the general reception server will be described in detail with reference to FIG.
First, after the control program initializes the system, the director program is started.

ディレクタプログラムは、起動された後、環境テーブルG(図37)を作成し、その後は検索依頼待ちとなる。
環境テーブルGは受付サーバの一覧であり、受付サーバ名、アドレス、状態フラグから成る。
状態フラグとは、その受付サーバの状態を示す。
例えば、その受付サーバが使えない状態にあれば「1」とし、使える状態であれば「0」とする。
これらの情報は予め磁気ファイル装置に記録しておき、ディレクタプログラムはそこから情報を得る。
After being started, the director program creates an environment table G (FIG. 37), and then waits for a search request.
The environment table G is a list of reception servers, and includes reception server names, addresses, and status flags.
The status flag indicates the status of the receiving server.
For example, if the reception server is not usable, “1” is set, and if it is usable, “0” is set.
These pieces of information are recorded in advance in the magnetic file device, and the director program obtains the information therefrom.

検索依頼を受け取った後のディレクタプログラムの処理の流れを図38に示す。
ディレクタプログラムは、検索依頼を受け取った後、ステップS3801で環境テーブルに基づき、検索結果テーブルG(図39)を作成する。
検索結果テーブルGは使用可能状態にある受付サーバの一覧であり、処理結果フラグ欄及び検索結果欄を持つ。
FIG. 38 shows the flow of processing of the director program after receiving the search request.
After receiving the search request, the director program creates a search result table G (FIG. 39) based on the environment table in step S3801.
The search result table G is a list of accepting servers in a usable state, and has a processing result flag column and a search result column.

次に、ディレクタプログラムは、ステップS3802で使える状態にある全受付サーバに対応した受付スレッドを起動する。
受付スレッドには、起動と同時に、検索依頼、担当する受付サーバのアドレスおよび検索結果テーブル中の自分が回答を書き込む欄を知らせる。
受付スレッドは検索依頼別に、使える状態にある受付サーバの数だけ作成されることになる。
Next, the director program activates reception threads corresponding to all reception servers that are ready for use in step S3802.
Simultaneously with the activation, the reception thread is notified of the search request, the address of the reception server in charge, and the column in which the answer is written in the search result table.
As many reception threads as the number of reception servers that can be used are created for each search request.

受付スレッドを起動した後、ディレクタプログラムはステップS3803で検索結果通知待ちの状態になるが、以降の処理は後述する。   After starting the reception thread, the director program waits for a search result notification in step S3803, and the subsequent processing will be described later.

受付スレッドの処理の流れを図40に示す。   FIG. 40 shows the processing flow of the reception thread.

受付スレッドは起動された後、ステップS4001で検索依頼を受け取り、それをステップS4002で自分の担当する受付サーバに送信する。   After the reception thread is activated, it receives a search request in step S4001, and transmits it to the reception server in charge in step S4002.

ステップS4003で受付サーバから検索結果(図41)を受け取ったら、ステップS4004で、それを検索結果テーブルG(図42)の検索結果欄に書き込むと同時に処理結果フラグを正常終了状態( 例えば「1」)にする。   When the search result (FIG. 41) is received from the reception server in step S4003, in step S4004 it is written in the search result column of the search result table G (FIG. 42) and at the same time the processing result flag is in a normal end state (for example, “1”). ).

ステップS4003で、もし一定時間内に受付サーバから回答がなかった場合は、ステップS4005で受付サーバに異常があったと見做して、処理結果フラグ欄を異常状態( 例えば「2」)にする。   In step S4003, if there is no response from the reception server within a certain time, it is determined that there is an abnormality in the reception server in step S4005, and the processing result flag column is set to an abnormal state (for example, “2”).

図38に戻って説明する。
ディレクタプログラムは受付スレッドの起動後、検索依頼別に全受付スレッドの処理完了待ちを管理しておき、ステップS3804で処理完了となった時点で検索結果テーブルG(図42)の処理結果フラグを確認する。
その結果、ステップS3806、ステップS3807で全ての検索結果が正常である受付サーバの検索結果を所定の形式に編集して端末に送信する。
Returning to FIG.
The director program manages the waiting for the completion of processing of all the receiving threads for each search request after the receiving thread is activated, and checks the processing result flag of the search result table G (FIG. 42) when the processing is completed in step S3804. .
As a result, in step S3806 and step S3807, the search result of the reception server in which all the search results are normal is edited into a predetermined format and transmitted to the terminal.

処理結果フラグの確認の結果、いずれかの処理結果フラグが異常を示していた場合は、ステップS3805で環境テーブルG(図43)の該当する受付サーバの状態フラグを使用不可状態にする。   As a result of checking the processing result flag, if any one of the processing result flags indicates an abnormality, the status flag of the corresponding receiving server in the environment table G (FIG. 43) is disabled in step S3805.

以後に端末から受け取った検索依頼については、使用可能な受付サーバに対してのみ検索依頼を行う。
以上で二つ目の実施例の説明を終える。
Subsequent search requests received from the terminal are sent only to available reception servers.
This is the end of the description of the second embodiment.

ここで、レコード番号の扱いについて補足して説明しておく。
上記実施の形態において、検索対象文字列データの中のレコードの構成としてレコードNOを保持するようにしているが、検索条件としては文字列を比較することにより行うので、レコード番号を持つ必要がなくレコードの並びとその分割を説明するために例示したものである。
Here, the handling of the record number will be supplementarily described.
In the above embodiment, the record NO is held as the record structure in the search target character string data. However, since the search condition is performed by comparing the character strings, there is no need to have a record number. This is an example for explaining the arrangement of records and their division.

実際、レコードNOは各検索処理装置に検索対象文字列データの検索担当範囲としてレコードを配分するとき受付サーバが応答用テーブルを作成するときに、検索対象文字列データの先頭から順次文字列を読み込むのでレコードの先頭が分かればテーブルに順次レコード番号を採番して記録し、そのファイル(検索対象文字列データ)上の位置、レコードの長さを記録できる。   Actually, when the record NO is allocated to each search processing device as the search charge range of the search target character string data, when the reception server creates the response table, the character strings are read sequentially from the beginning of the search target character string data. Therefore, if the head of the record is known, the record number is sequentially assigned and recorded in the table, and the position on the file (search target character string data) and the record length can be recorded.

また、このように、受付サーバは上記応答用テーブルを保持しているので、各検索処理装置への担当領域の配分、再配分を連続したレコードNOを用いて容易に行うことができるようになっている。   Further, as described above, since the reception server holds the response table, it is possible to easily perform the allocation and redistribution of the assigned area to each search processing device using the continuous record NO. ing.

また、上記実施の形態の説明においては検索中の検索対象文字列データの保守作業として追加、更新を取り上げたが、更新ファイル応答用テーブル図20には図示していないが、ここに従来技術により用いられるように削除フラグを設けて、追加更新だけではなく検索処理中に検索対象文字列データの削除も行えるようにすることができる。   Further, in the description of the above embodiment, addition and update are taken up as maintenance work of search target character string data being searched, but an update file response table is not shown in FIG. It is possible to provide a deletion flag so that it can be used, and not only the additional update but also the search target character string data can be deleted during the search process.

また、更新ファイルとそれぞれの検索処理装置が分担して検索する検索対象文字列データの各領域の両方で見つかった同一レコードNOのレコードの判定により更新されたデータを優先するようにしたが、これも、応答用テーブルなどテーブルへの更新フラグ記録を行って判別してもよい。   In addition, the update data and the data updated by the determination of the record of the same record NO found in each area of the search target character string data to be shared and searched by each search processing device are prioritized. Alternatively, the update flag may be recorded in a table such as a response table.

これは、更新結果反映手段5による追加、更新、削除などの検索対象文字列データへの反映を行う方法にも適用してもよい。   This may also be applied to a method of reflecting the search target character string data such as addition, update, and deletion by the update result reflecting means 5.

なお、上記各検索サーバは担当する検索対象のデータの扱いは、従来は、実用的にはファイル上での検索を行うことが多かったが、本発明の実施の形態においては、担当領域のデータをいったん各検索サーバのメモリ上に展開して、文字列の検索を行うようにしている。
ただし、更新ファイルについては、更新ファイルに記憶されるレコードの数が少ないときには従来通りファイル上の検索を行ってもよく、上記説明した実施の形態においては、メモリ上への展開は行っていない。
更新の頻度が多い場合には上記他の検索サーバと同様に更新ファイル担当の検索サーバに付いてもプログラム記憶装置に検索データを展開して文字列の検索を行ってもよい。
The search servers in charge of each search server have conventionally been practically searched on a file in practice. However, in the embodiment of the present invention, the data in the assigned area is used. Is expanded on the memory of each search server to search for a character string.
However, with respect to the update file, when the number of records stored in the update file is small, the search on the file may be performed as usual, and in the above-described embodiment, development on the memory is not performed.
If the update frequency is high, the search data may be developed in the program storage device and the character string may be searched even for the search server in charge of the update file, like the other search servers.

本発明の実施の形態では、各検索処理装置はサーバであり受付サーバとの間はネットワークで接続されているとしたが、検索の受付をする装置と検索をする装置がその他高速リンク等の接続方法を用いても同様の効果が期待できる。
(付記1)担当する検索担当データの所在と文字列検索条件とを指示されて、
検索結果を応答する複数の検索処理装置を有し、検索対象文字列データを文字列レコード群に分割して1以上の該検索処理装置に割り当て、与えられた文字列検索条件を検索指示として各該検索処理装置に送信し、各該検索処理装置から検索結果を受信して統合する検索統合手段を設けた全文検索システムであって、
上記検索対象文字列データの追加あるいは更新するレコードのみを一時記憶する追加更新一時記憶手段と、
あらかじめ定められた上記いずれか一つの検索処理装置に上記追加更新一時記憶手段に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段と、
を備えることを特徴とする全文検索システム。
(付記2)上記追加更新一時記憶手段に記憶された追加更新レコードに対応する更新前レコードを検索対象文字列データから削除するとともに、上記追加更新レコードを検索対象文字列データに組み入れる更新結果反映手段を備えることを特徴とする付記1記載の全文検索システム。
(付記3)上記検索統合手段が上記複数の検索処理装置に検索指示を送信後、
検索処理装置から検索結果を受信した時刻を記憶する検索結果受信時刻記憶手段と、
検索対象文字列データを分割して割り当てられた検索処理装置の内で上記検索結果受信時刻記憶手段により記憶された最初に受信した検索結果受信時刻からあらかじめ設定された時間以内に検索結果を受信できなかった検索処理装置を故障装置として判定する故障検索処理装置判定手段と、
を備えることを特徴とする付記1あるいは付記2のいずれかに記載の全文検索システム。
(付記4)上記故障検索処理装置判定手段が上記検索処理装置の故障を判定したとき、検索統合手段は上記複数の検索処理装置から送信された検索結果をすべて破棄し、更新結果反映手段を用いて上記追加更新一時記憶手段が記憶した文字列レコード群を検索対象文字列データに組み入れた後、上記故障と判定された検索処理装置および上記追加更新レコード検索指示手段によって検索を指示された検索装置を除いて利用可能な検索処理装置に検索対象文字列データを分割して割り当て、検索指示を行うようにしたことを特徴とする付記2あるいは付記3のいずれかに記載の全文検索システム。
(付記5)担当する検索担当データの所在と文字列検索条件とを指示されて、
検索結果を応答する複数の検索処理装置を有し、検索対象文字列データを文字列レコード群に分割して1以上の該検索処理装置に割り当て、与えられた文字列検索条件を検索指示として各該検索処理装置に送信し、各該検索処理装置から検索結果を受信して統合する検索統合手段を設けた全文検索システムにおいて、コンピュータを、
上記検索対象文字列データの追加あるいは更新するレコードのみを一時記憶する追加更新一時記憶手段、
あらかじめ定められた上記いずれか一つの検索処理装置に上記追加更新一時記憶手段に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段、
として機能させることを特徴とする全文検索プログラム。
(付記6)担当する検索担当データの所在と文字列検索条件とを指示されて、
検索結果を応答する複数の検索処理装置を有し、検索対象文字列データを文字列レコード群に分割して1以上の該検索処理装置に割り当て、与えられた文字列検索条件を検索指示として各該検索処理装置に送信し、各該検索処理装置から検索結果を受信して統合する検索統合手段を設けた全文検索システムにおいて、コンピュータを、
上記検索対象文字列データの追加あるいは更新するレコードのみを一時記憶する追加更新一時記憶手段、
あらかじめ定められた上記いずれか一つの検索処理装置に上記追加更新一時記憶手段に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記7)担当する検索担当データの所在と文字列検索条件とを指示されて、
検索結果を応答する複数の検索処理サーバとネットワークで接続され、検索対象文字列データを文字列レコード群に分割して1以上の該検索処理サーバに割り当て、与えられた文字列検索条件を検索指示として各該検索処理サーバに送信し、各該検索処理サーバから検索結果を受信して統合する検索統合サーバであって、
上記検索対象文字列データの追加あるいは更新するレコードのみを一時記憶する追加更新一時記憶手段と、
あらかじめ定められた上記いずれか一つの検索処理サーバに上記追加更新一時記憶手段に記憶された文字列レコード群を検索担当データとして指示する追加更新レコード検索指示手段と、
を備えることを特徴とする検索統合サーバ。
(付記8)担当する検索担当データの所在と文字列検索条件とを指示されて、
検索結果を応答する複数の検索処理装置を有し、検索対象文字列データを文字列レコード群に分割して1以上の検索処理装置に割り当て、与えられた文字列検索条件を検索指示として各検索処理装置に送信し、各検索処理装置から検索結果を受信して統合する検索統合手段を設けた全文検索システムにおいて、上記検索対象文字列データのレコードを追加あるいは更新するとき、
追加更新するレコードのみを一時記憶するステップ、
あらかじめ定められた上記いずれか一つの検索処理装置に上記記憶された追加更新する文字列レコード群を検索担当データとして指示するステップ、
とを備えることを特徴とする全文検索中のレコード追加更新方法。
In the embodiment of the present invention, each search processing device is a server and is connected to a reception server via a network. However, a device that accepts a search and a device that performs a search are connected to other high-speed links or the like. The same effect can be expected even if the method is used.
(Supplementary note 1) The location of search data in charge and the character string search condition are instructed.
It has a plurality of search processing devices that respond to search results, divides search target character string data into character string record groups, assigns them to one or more search processing devices, and uses each given character string search condition as a search instruction. A full-text search system provided with search integration means for transmitting to the search processing device and receiving and integrating search results from each search processing device,
Additional update temporary storage means for temporarily storing only the record to be added or updated for the search target character string data;
An additional update record search instruction means for instructing any one of the predetermined search processing devices as a search charge data character string record group stored in the additional update temporary storage means;
A full-text search system comprising:
(Appendix 2) Update result reflecting means for deleting a pre-update record corresponding to the additional update record stored in the additional update temporary storage means from the search target character string data and incorporating the additional update record in the search target character string data The full-text search system according to supplementary note 1, comprising:
(Supplementary note 3) After the search integration means transmits a search instruction to the plurality of search processing devices,
Search result reception time storage means for storing the time when the search result is received from the search processing device;
The search result can be received within a preset time from the first received search result reception time stored by the search result reception time storage means in the search processing device assigned by dividing the search target character string data. Failure search processing device determination means for determining a search processing device that has not been determined as a failure device;
The full-text search system according to either Supplementary Note 1 or Supplementary Note 2, wherein
(Supplementary Note 4) When the failure search processing device determination unit determines a failure of the search processing device, the search integration unit discards all the search results transmitted from the plurality of search processing devices and uses the update result reflection unit. After the character string record group stored in the additional update temporary storage means is incorporated into the search target character string data, the search processing device determined to be the failure and the search device instructed to search by the additional update record search instruction means The full-text search system according to any one of Supplementary Note 2 and Supplementary Note 3, wherein the search target character string data is divided and assigned to the search processing devices that can be used except for and a search instruction is issued.
(Supplementary note 5) When the location of search data in charge and the character string search condition are instructed,
It has a plurality of search processing devices that respond to search results, divides search target character string data into character string record groups, assigns them to one or more search processing devices, and uses each given character string search condition as a search instruction. In a full-text search system provided with search integration means for transmitting to the search processing device and receiving and integrating search results from the search processing devices,
Additional update temporary storage means for temporarily storing only the record to be added or updated for the search target character string data,
Additional update record search instruction means for instructing any one of the predetermined search processing devices as a search charge data character string record group stored in the additional update temporary storage means;
A full-text search program characterized by functioning as
(Appendix 6) When the location of the search charge data in charge and the character string search condition are instructed,
It has a plurality of search processing devices that respond to search results, divides search target character string data into character string record groups, assigns them to one or more search processing devices, and uses each given character string search condition as a search instruction. In a full-text search system provided with search integration means for transmitting to the search processing device and receiving and integrating search results from the search processing devices,
Additional update temporary storage means for temporarily storing only the record to be added or updated for the search target character string data,
Additional update record search instruction means for instructing any one of the predetermined search processing devices as a search charge data character string record group stored in the additional update temporary storage means;
A computer-readable recording medium storing a program that functions as a computer.
(Supplementary note 7) The location of the data in charge of search and the character string search condition are instructed.
Connected to multiple search processing servers that respond to search results via a network, search target character string data is divided into character string record groups, assigned to one or more search processing servers, and given character string search conditions are instructed A search integration server that transmits to each of the search processing servers and receives and integrates the search results from each of the search processing servers,
Additional update temporary storage means for temporarily storing only the record to be added or updated for the search target character string data;
Additional update record search instruction means for instructing one of the predetermined search processing servers as a character string record group stored in the additional update temporary storage means as search charge data;
A search integration server comprising:
(Supplementary note 8) When the location of search data in charge and the character string search condition are instructed,
It has a plurality of search processing devices that respond to search results, divides search target character string data into character string record groups, assigns them to one or more search processing devices, and performs each search using given character string search conditions as search instructions In a full-text search system provided with a search integration means for transmitting to a processing device and receiving and integrating search results from each search processing device, when adding or updating a record of the search target character string data,
Temporarily storing only the records to be updated,
A step of instructing the stored character string record group to be additionally updated as the search charge data in any one of the predetermined search processing devices;
A method for adding and updating records during a full-text search.


1 検索対象文字列データ
2 検索統合手段
3 追加更新一時記憶手段
4 検索処理装置
5 更新結果反映手段
6 検索結果受信時刻記憶手段
7 故障検索処理装置判定手段
8 追加更新レコード検索指示手段

DESCRIPTION OF SYMBOLS 1 Search object character string data 2 Search integration means 3 Additional update temporary storage means 4 Search processing apparatus 5 Update result reflection means 6 Search result reception time storage means 7 Fault search processing apparatus determination means 8 Additional update record search instruction means

Claims (4)

複数のレコードを記憶する記憶装置と、複数の検索装置と、割当装置と、を含む割当システムであって、
前記割当装置が、
前記複数のレコードを前記複数の検索装置の数に応じて分割し、分割して得られた各レコード群を前記複数の検索装置のそれぞれに割り当てる割当手段、を含み、
前記複数の検索装置のそれぞれが、
検索依頼を受け付け、前記割当手段によって割り当てられたレコード群を前記記憶装置から読み出し、読み出したレコード群に含まれるレコードごとに前記検索依頼に係る検索対象があるか否かの判定を行ない、前記判定の結果を前記割当装置に送信する検索手段、を含み、
前記割当装置が、さらに、
前記複数の検索装置のうちの少なくともいずれかの検索装置からの前記判定の結果を受信できない場合に、前記判定の結果を受信できた検索装置の数に応じて前記複数のレコードを分割して得られた各レコード群を、前記判定の結果を受信できた検索装置のそれぞれに前記記憶装置から読み出す対象のレコード群として割り当てる再割当手段、を含む、
ことを特徴とする割当システム。
An allocation system including a storage device that stores a plurality of records, a plurality of search devices, and an allocation device,
The assigning device is
An assigning unit that divides the plurality of records according to the number of the plurality of search devices, and assigns each record group obtained by the division to each of the plurality of search devices;
Each of the plurality of search devices
The search request is received, the record group assigned by the assigning unit is read from the storage device, and it is determined whether or not there is a search target related to the search request for each record included in the read record group. Search means for transmitting the result of
The assigning device further comprises:
When the determination result from at least one of the plurality of search devices cannot be received, the plurality of records are obtained by dividing the plurality of records according to the number of search devices that have received the determination result. Reallocating means for allocating each recorded group as a target record group to be read from the storage device to each of the search devices that have received the determination result,
An allocation system characterized by that.
前記割当手段が、
前記複数の検索処理装置のそれぞれに、それぞれの検索処理装置に割り当てるレコードが格納されているアドレスを示す情報を送信して、前記各レコード群を前記複数の記憶装置のそれぞれに割り当てる、
ことを特徴とする請求項1記載の割当システム。
The assigning means is
Transmitting information indicating an address storing a record to be assigned to each search processing device to each of the plurality of search processing devices, and assigning each record group to each of the plurality of storage devices;
The allocation system according to claim 1, wherein:
記憶装置に記憶された複数のレコードを複数の検索装置に割り当てる割当装置であって、
前記複数のレコードを前記複数の検索装置の数に応じて分割し、分割して得られた各レコード群を前記複数の検索装置のそれぞれに割り当てる割当手段と、
前記割当手段によって割り当てられたレコード群に含まれるレコード毎に、受け付けた検索依頼に係る検索対象があるか否かの判定を行なう前記複数の検索装置のうちの少なくともいずれかの検索装置から、前記判定の結果を取得できない場合に、前記判定の結果を取得できた検索装置の数に応じて前記複数のレコードを分割して得られた各レコード群を、前記判定の結果を取得できた検索装置のそれぞれに前記記憶装置から読み出す対象のレコード群として割り当てる再割当手段、を含む、
ことを特徴とする割当装置。
An allocation device that allocates a plurality of records stored in a storage device to a plurality of search devices,
An assigning unit that divides the plurality of records according to the number of the plurality of search devices, and assigns each record group obtained by the division to each of the plurality of search devices;
For each record included in the record group assigned by the assigning unit, from at least one of the plurality of search devices that determines whether or not there is a search target related to the received search request, from the search device Retrieval device capable of obtaining the determination result for each record group obtained by dividing the plurality of records according to the number of retrieval devices that have obtained the determination result when the determination result cannot be obtained Reassignment means for assigning each as a record group to be read from the storage device ,
An allocation apparatus characterized by the above.
複数の検索処理装置と通信可能なコンピュータに、
記憶装置に記憶された複数のレコードを前記複数の検索装置の数に応じて分割し、分割して得られた各レコード群を前記複数の検索装置のそれぞれに割り当て、
前記割当手段によって割り当てられたレコード群に含まれるレコード毎に、受け付けた検索依頼に係る検索対象があるか否かの判定を行なう前記複数の検索装置のうちのいずれかの検索装置から、前記判定の結果を取得できない場合に、前記判定の結果を取得できた検索装置の数に応じて前記複数のレコードを分割して得られた各レコード群を、前記判定の結果を取得できた検索装置のそれぞれに前記記憶装置から読み出す対象のレコード群として割り当てる、
ことを実行させることを特徴とする割当プログラム。
In a computer that can communicate with multiple search processing devices,
Dividing a plurality of records stored in a storage device according to the number of the plurality of search devices, assigning each record group obtained by the division to each of the plurality of search devices,
For each record included in the record group assigned by the assigning unit, the determination is made from any one of the plurality of search devices that determines whether there is a search target related to the received search request. Each of the record groups obtained by dividing the plurality of records according to the number of search devices that have acquired the determination result, the search device that has acquired the determination result. Assign each as a record group to be read from the storage device ,
An allocation program characterized by causing
JP2010252087A 2010-11-10 2010-11-10 Allocation system, allocation device, and allocation program Expired - Fee Related JP5223909B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010252087A JP5223909B2 (en) 2010-11-10 2010-11-10 Allocation system, allocation device, and allocation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010252087A JP5223909B2 (en) 2010-11-10 2010-11-10 Allocation system, allocation device, and allocation program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007253487A Division JP2008065840A (en) 2007-09-28 2007-09-28 Full text retrieval system

Publications (2)

Publication Number Publication Date
JP2011040102A JP2011040102A (en) 2011-02-24
JP5223909B2 true JP5223909B2 (en) 2013-06-26

Family

ID=43767711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010252087A Expired - Fee Related JP5223909B2 (en) 2010-11-10 2010-11-10 Allocation system, allocation device, and allocation program

Country Status (1)

Country Link
JP (1) JP5223909B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02128247A (en) * 1988-11-09 1990-05-16 Toshiba Corp Back-up system for discrete data base system
JP2524450B2 (en) * 1992-04-09 1996-08-14 株式会社アイテイーエル Search system
JP2001101149A (en) * 1999-09-30 2001-04-13 Nec Corp Distributed parallel data processor, recording medium recording distributed parallel data processing program and distributed parallel data processing system

Also Published As

Publication number Publication date
JP2011040102A (en) 2011-02-24

Similar Documents

Publication Publication Date Title
JP4066621B2 (en) Full-text search system and full-text search program
JP7409622B2 (en) Computer system and method
US7945731B2 (en) Method for reading data with storage system, data managing system for storage system and storage system
US20150263909A1 (en) System and method for monitoring a large number of information processing devices in a communication network
RU2012101682A (en) SCALABLE CLUSTER DATABASE
US7519636B2 (en) Key sequenced clustered I/O in a database management system
RU2711348C1 (en) Method and system for processing requests in a distributed database
US20180165469A1 (en) Access operation request management
WO2021114848A1 (en) Data reading and writing method and device for database
CN108694230B (en) Management of unique identifiers in a database
EP4285228A1 (en) Cloud storage for database using object storage
CN1833232A (en) Storage system class distinction cues for run-time data management
CN101802791B (en) Dynamic address tracking
JP2008065840A (en) Full text retrieval system
US20140058947A1 (en) Parallel availability control checks in financial management system
RU2721235C2 (en) Method and system for routing and execution of transactions
JP5223909B2 (en) Allocation system, allocation device, and allocation program
JP4506787B2 (en) Full-text search system and full-text search program
CN109150986A (en) Store access method, device and the storage medium of data under dual-active mode
US7949632B2 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
CN111209304B (en) Data processing method, device and system
US9852172B2 (en) Facilitating handling of crashes in concurrent execution environments of server systems while processing user queries for data retrieval
JP2007206913A (en) Database access system, application server node, database access method and program
US11733899B2 (en) Information handling system storage application volume placement tool
JP2016184272A (en) Database management system, method of buffering the same, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130104

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130225

R150 Certificate of patent or registration of utility model

Ref document number: 5223909

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160322

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees