JP2009151411A - Data retrieval device, system, program and data retrieval method - Google Patents

Data retrieval device, system, program and data retrieval method Download PDF

Info

Publication number
JP2009151411A
JP2009151411A JP2007326825A JP2007326825A JP2009151411A JP 2009151411 A JP2009151411 A JP 2009151411A JP 2007326825 A JP2007326825 A JP 2007326825A JP 2007326825 A JP2007326825 A JP 2007326825A JP 2009151411 A JP2009151411 A JP 2009151411A
Authority
JP
Japan
Prior art keywords
data
search
unit
database
management unit
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.)
Pending
Application number
JP2007326825A
Other languages
Japanese (ja)
Inventor
Kaori Chichibu
かおり 秩父
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007326825A priority Critical patent/JP2009151411A/en
Publication of JP2009151411A publication Critical patent/JP2009151411A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To allow a data retrieval device that searches a database by means of a server/client configuration to respond as quickly as possible to a request from a client device for obtaining search results, while reducing the amount of resources consumed by the data retrieval device. <P>SOLUTION: A search execution request receiving unit 111 receives a search execution request 510, and a database managing unit 132 searches a database. The database managing unit 132 acquires all the records searched, a data conversion unit 141 converts data formats, and a look-ahead managing unit 142 stores the records in a look-ahead buffer 211. When a search result acquisition request receiving unit 121 receives a request 520 for acquiring search results, a search result transmission unit 122 transmits search results 620 by using the look-ahead buffer 211 as a transmission buffer. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

この発明は、サーバ・クライアント構成によりデータベースを検索するデータ検索装置に関する。   The present invention relates to a data search apparatus for searching a database by a server / client configuration.

ログ専用データベースやメールアーカイブ用データベースは、大容量のデータを格納でき、可変長でサイズが非常に大きいデータ型が存在する。このようなデータベースを検索する場合、データベースをオープンしてからクローズするまでの間、データ検索装置(サーバ)のリソースを大量に消費する。
また、クライアント装置から検索結果の取得を要求されてから、データベースからデータを1件ずつ取得するようにすれば、データ検索装置のリソース消費を抑えることができるが、クライアントからの取得要求に対する応答が遅くなる。
特開2004−13758号公報 特開2006−260067号公報 特開2007−11523号公報 特表2007−520812号公報 特開2007−65978号公報
Log-only databases and mail archive databases can store large amounts of data, and there are variable-length and very large data types. When searching such a database, a large amount of resources of the data search device (server) is consumed from the time the database is opened until the database is closed.
In addition, if data is acquired from the database one by one after the client device is requested to acquire the search results, the resource consumption of the data search device can be suppressed, but a response to the acquisition request from the client is not received. Become slow.
Japanese Patent Laid-Open No. 2004-13758 JP 2006-260067 A JP 2007-11523 A Special table 2007-520812 JP 2007-65978 A

この発明は、例えば、上記のような課題を解決するためになされたものであり、データ検索装置のリソースの消費を抑えるとともに、クライアント装置からの取得要求に、できるだけ速く応答できることを目的とする。   The present invention has been made, for example, in order to solve the above-described problems, and it is an object of the present invention to reduce resource consumption of a data search apparatus and respond to an acquisition request from a client apparatus as quickly as possible.

この発明にかかるデータ検索装置は、
クライアント装置からの要求によりデータベースを検索するデータ検索装置において、
データを記憶する記憶装置と、データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置と、データベース記憶部と、検索実行要求受信部と、データベース管理部と、データ変換部と、先読み管理部と、検索結果取得要求受信部と、検索結果送信部とを有し、
上記データベース記憶部は、上記記憶装置を用いて、上記データベースを記憶し、
上記検索実行要求受信部は、上記受信装置を用いて、上記データベースを検索する検索条件を表わすデータを含む検索実行要求を上記クライアント装置から受信し、
上記データベース管理部は、上記処理装置を用いて、上記検索実行要求受信部が受信した検索実行要求に含まれるデータが表わす検索条件に基づいて、上記データベース記憶部が記憶したデータベースから上記検索条件に合致するデータを検索し、上記処理装置を用いて、検索したデータを、上記データベース記憶部が記憶したデータベースから取得し、
上記データ変換部は、上記処理装置を用いて、上記データベース管理部が取得したデータを上記クライアント装置へ送信する形式に変換し、
上記先読み管理部は、上記記憶装置を用いて、上記データ変換部が変換したデータを記憶し、
上記検索結果取得要求受信部は、上記受信装置を用いて、上記クライアント装置が取得を要求するデータの取得要求数を表わすデータを含む検索結果取得要求を、上記クライアント装置から受信し、
上記検索結果送信部は、上記送信装置を用いて、上記検索結果取得要求受信部が受信した検索結果取得要求に含まれるデータが表わす取得要求数に基づいて、上記先読み管理部が記憶したデータから、上記取得要求数のデータを上記クライアント装置へ送信することを特徴とする。
A data search apparatus according to the present invention
In a data retrieval device that retrieves a database in response to a request from a client device,
Storage device for storing data, processing device for processing data, transmitting device for transmitting data, receiving device for receiving data, database storage unit, search execution request receiving unit, database management unit, data A conversion unit, a prefetch management unit, a search result acquisition request reception unit, and a search result transmission unit;
The database storage unit stores the database using the storage device,
The search execution request receiving unit receives a search execution request including data representing a search condition for searching the database from the client device using the receiving device,
The database management unit uses the processing device to change from the database stored in the database storage unit to the search condition based on the search condition represented by the data included in the search execution request received by the search execution request receiving unit. Search for matching data, and use the processing device to obtain the searched data from the database stored in the database storage unit,
The data conversion unit converts the data acquired by the database management unit into a format to be transmitted to the client device using the processing device,
The prefetch management unit stores the data converted by the data conversion unit using the storage device,
The search result acquisition request receiving unit receives, from the client device, a search result acquisition request including data representing the number of acquisition requests for data that the client device requests to acquire using the receiving device,
From the data stored in the prefetch management unit based on the number of acquisition requests represented by the data included in the search result acquisition request received by the search result acquisition request reception unit using the transmission device. The acquisition request count data is transmitted to the client device.

この発明にかかるデータ検索装置によれば、データベース管理部が検索したデータをすべて取得し、データ変換部が形式を変換して、先読み管理部が記憶するので、クライアント装置からの検索結果取得要求を待つことなく、データベースを閉じて、切り離すことができる。これにより、データ検索装置100の資源を開放し、有効活用することができるという効果を奏する。
また、データ変換部が形式を変換したデータを先読み管理部が記憶するので、先読み管理部がデータを記憶した記憶領域を、検索結果送信部がそのまま送信バッファとして使用することができ、クライアント装置からの検索結果取得要求に対する応答が速くなるという効果を奏する。
According to the data search device of the present invention, all the data searched by the database management unit is acquired, the data conversion unit converts the format, and the prefetch management unit stores it. Therefore, the search result acquisition request from the client device is received. You can close and disconnect the database without waiting. As a result, the resource of the data search apparatus 100 can be released and effectively used.
Further, since the prefetch management unit stores the data whose format has been converted by the data conversion unit, the storage area in which the prefetch management unit stores the data can be used as a transmission buffer by the search result transmission unit as it is. There is an effect that the response to the search result acquisition request becomes faster.

実施の形態1.
実施の形態1について、図1〜図8を用いて説明する。
Embodiment 1 FIG.
The first embodiment will be described with reference to FIGS.

図1は、この実施の形態におけるデータ検索システム800の全体構成の一例を示すシステム構成図である。   FIG. 1 is a system configuration diagram showing an example of the overall configuration of a data search system 800 in this embodiment.

データ検索システム800は、クライアント装置300、データ検索装置100を有する。クライアント装置300とデータ検索装置100とは、インターネット940などのネットワークを介して接続している。   The data search system 800 includes a client device 300 and a data search device 100. The client device 300 and the data search device 100 are connected via a network such as the Internet 940.

クライアント装置300は、アプリケーション部301、インターフェース部302を有する。クライアント装置300は、コンピュータである。
アプリケーション部301は、クライアント装置300が記憶したアプリケーションプログラムを実行することにより、様々な機能を提供する。アプリケーション部301は、インターフェース部302を介して、データ検索装置100が記憶しているデータベースにアクセスする。
インターフェース部302は、アプリケーション部301からデータ検索装置100へのアクセスを中継する。インターフェース部302は、アプリケーション部301からの要求にしたがい、データ検索装置100に対して、データベースの検索要求などを行う。
The client device 300 includes an application unit 301 and an interface unit 302. The client device 300 is a computer.
The application unit 301 provides various functions by executing application programs stored in the client device 300. The application unit 301 accesses a database stored in the data search device 100 via the interface unit 302.
The interface unit 302 relays access from the application unit 301 to the data search apparatus 100. The interface unit 302 makes a database search request to the data search device 100 in accordance with a request from the application unit 301.

データ検索装置100は、サーバ装置101、データベース管理装置102、データベース記憶装置103を有する。
サーバ装置101は、クライアント装置300からの検索要求を受け付けたり、検索結果をクライアント装置300に返したりする。
データベース記憶装置103は、クライアント装置300からのアクセスを受けるデータベースを記憶する。
データベース管理装置102は、データベース記憶装置103が記憶したデータベースを管理する。データベース管理装置102は、サーバ装置101が受け付けた検索要求にしたがって、データベース記憶装置103が記憶したデータベースを検索したり、検索結果をサーバ装置101に返したりする。
なお、データ検索装置100は、物理的に一つの装置であってもよいし、サーバ装置101、データベース管理装置102、データベース記憶装置103がそれぞれ独立した装置であってもよい。
また、サーバ装置101とクライアント装置300とが物理的に一つの装置であってもよい。
The data search device 100 includes a server device 101, a database management device 102, and a database storage device 103.
The server apparatus 101 receives a search request from the client apparatus 300 and returns a search result to the client apparatus 300.
The database storage device 103 stores a database that receives access from the client device 300.
The database management device 102 manages the database stored in the database storage device 103. The database management device 102 searches the database stored in the database storage device 103 or returns the search result to the server device 101 in accordance with the search request received by the server device 101.
The data search device 100 may be physically one device, or the server device 101, the database management device 102, and the database storage device 103 may be independent devices.
Further, the server apparatus 101 and the client apparatus 300 may be physically one apparatus.

図2は、この実施の形態におけるデータ検索システム800におけるデータの流れの一例を示すシーケンス図である。   FIG. 2 is a sequence diagram illustrating an example of a data flow in the data search system 800 according to this embodiment.

最初に、クライアント装置300は、データ検索装置100に対して、検索実行要求510を送信する。検索実行要求510は、検索処理の実行を要求するデータであり、検索条件を表わすデータを含む。
データ検索装置100は、クライアント装置300が送信した検索実行要求510を受信し、要求された検索を実行する。検索終了後、データ検索装置100は、クライアント装置300に対して、検索ステータス610を送信する。検索ステータス610は、検索結果のステータスを通知するデータである。検索結果のステータスには、例えば、検索に成功したか失敗したかを表わすデータ、検索に失敗した場合には、失敗の状況(検索条件の文法エラー、指定されたデータベースを開けないなど)を表わすデータなどが含まれる。データ検索装置100は、クライアント装置300からの検索結果取得要求に備えて、検索結果の送信準備をする。
クライアント装置300は、データ検索装置100が送信した検索ステータス610を受信し、検索に成功したか否かなどを判断する。
First, the client device 300 transmits a search execution request 510 to the data search device 100. Search execution request 510 is data requesting execution of search processing, and includes data representing search conditions.
The data search device 100 receives the search execution request 510 transmitted by the client device 300 and executes the requested search. After the search is completed, the data search device 100 transmits a search status 610 to the client device 300. The search status 610 is data for notifying the status of the search result. The status of the search result indicates, for example, data indicating whether the search has succeeded or failed, and if the search has failed, indicates the failure status (grammatical error in the search condition, unable to open the specified database, etc.) Data etc. are included. The data search apparatus 100 prepares for transmission of search results in preparation for a search result acquisition request from the client apparatus 300.
The client device 300 receives the search status 610 transmitted from the data search device 100, and determines whether or not the search is successful.

検索に成功した場合、クライアント装置300は、データ検索装置100に対して、検索結果取得要求520を送信する。検索結果取得要求520は、検索されたレコードの内容を取得することを要求するデータであり、取得したいレコード数(以下「取得要求数」と呼ぶ。)を表わすデータを含む。
データ検索装置100は、クライアント装置300が送信した検索結果取得要求520を受信し、要求された数のレコードを検索結果620として送信する。その後、データ検索装置100は、送信後処理を行い、次の送信の準備をする。
クライアント装置300は、データ検索装置100が送信した検索結果620を受信し、検索されたレコードを取得する。
If the search is successful, the client device 300 transmits a search result acquisition request 520 to the data search device 100. The search result acquisition request 520 is data requesting to acquire the contents of the searched record, and includes data indicating the number of records to be acquired (hereinafter referred to as “number of acquisition requests”).
The data search apparatus 100 receives the search result acquisition request 520 transmitted by the client apparatus 300 and transmits the requested number of records as the search result 620. Thereafter, the data search device 100 performs post-transmission processing and prepares for the next transmission.
The client device 300 receives the search result 620 transmitted by the data search device 100 and acquires the searched record.

検索されたレコード数が、取得要求数より多い場合には、クライアント装置300に送信していないレコードが残る。クライアント装置300は、複数回、検索結果取得要求520を送信することにより、検索されたすべてのレコードを取得できる。
1つのレコードに含まれるデータが大きい場合や検索されたレコードの数が多い場合、一回の送信で検索されたすべてのレコードを取得することはできないし、クライアント装置300の記憶容量が少ない場合には、一回で検索されたすべてのレコードを取得してしまうと、記憶しきれなくなってしまう。このため、クライアント装置300は、取得するレコード数を指定して、適切な数のレコードを取得し、順次処理していく。取得したレコードの処理が終わったら、クライアント装置300は、次の検索結果取得要求520を送信する。
If the number of retrieved records is greater than the number of acquisition requests, records that have not been transmitted to the client device 300 remain. The client apparatus 300 can acquire all the searched records by transmitting the search result acquisition request 520 a plurality of times.
When the data included in one record is large or when the number of retrieved records is large, all the records retrieved by one transmission cannot be obtained, and the storage capacity of the client device 300 is small Will not be able to memorize all the records retrieved at once. For this reason, the client device 300 specifies the number of records to be acquired, acquires an appropriate number of records, and sequentially processes them. When the processing of the acquired record is completed, the client device 300 transmits the next search result acquisition request 520.

検索されたすべてのレコードの取得が終わった場合や、取得の途中で検索を終了したい場合、クライアント装置300は、データ検索装置100に対して、検索終了要求590を送信する。
データ検索装置100は、クライアント装置300が送信した検索終了要求590を受信し、クライアント装置300に対して、了解690を送信する。了解690は、検索終了要求590を受領したことを表わすデータである。データ検索装置100は、必要なら検索終了処理をする。
When the acquisition of all the searched records is completed or when it is desired to end the search in the middle of the acquisition, the client device 300 transmits a search end request 590 to the data search device 100.
The data search apparatus 100 receives the search end request 590 transmitted from the client apparatus 300 and transmits an acknowledgment 690 to the client apparatus 300. The understanding 690 is data indicating that the search end request 590 has been received. The data search apparatus 100 performs a search end process if necessary.

図3は、この実施の形態におけるサーバ装置101、データベース管理装置102、データベース記憶装置103、クライアント装置300の外観の一例を示す図である。
サーバ装置101、データベース管理装置102、データベース記憶装置103、クライアント装置300は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
FIG. 3 is a diagram showing an example of the appearance of the server device 101, the database management device 102, the database storage device 103, and the client device 300 in this embodiment.
The server apparatus 101, the database management apparatus 102, the database storage apparatus 103, and the client apparatus 300 are a system unit 910, a display apparatus 901 having a CRT (Cathode / Ray / Tube) or LCD (liquid crystal) display screen, a keyboard 902 (Key. Board: K / B), mouse 903, FDD904 (Flexible / Disk / Drive), compact disc device 905 (CDD), printer device 906, scanner device 907, and other hardware resources, which are connected by cables and signal lines Has been.
The system unit 910 is a computer, and is connected to the facsimile machine 932 and the telephone 931 with a cable, and is connected to the Internet 940 via a local area network 942 (LAN) and a gateway 941.

図4は、この実施の形態におけるサーバ装置101、データベース管理装置102、データベース記憶装置103、クライアント装置300のハードウェア資源の一例を示す図である。
サーバ装置101、データベース管理装置102、データベース記憶装置103、クライアント装置300は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915は、送信装置及び受信装置の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
FIG. 4 is a diagram illustrating an example of hardware resources of the server apparatus 101, the database management apparatus 102, the database storage apparatus 103, and the client apparatus 300 in this embodiment.
The server apparatus 101, the database management apparatus 102, the database storage apparatus 103, and the client apparatus 300 are also referred to as a CPU 911 (Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor that executes a program. ). The CPU 911 is connected to a ROM 913, a RAM 914, a communication device 915, a display device 901, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, a printer device 906, a scanner device 907, and a magnetic disk device 920 via a bus 912, and the hardware thereof. Control the device. Instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of a storage device or a storage unit. The communication device 915 is an example of a transmission device and a reception device. A communication device 915, a keyboard 902, a scanner device 907, an FDD 904, and the like are examples of an input unit and an input device.
Further, the communication device 915, the display device 901, the printer device 906, and the like are examples of an output unit and an output device.

通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
The communication device 915 is connected to a facsimile machine 932, a telephone 931, a LAN 942, and the like. The communication device 915 is not limited to the LAN 942, and may be connected to the Internet 940, a WAN (wide area network) such as ISDN, or the like. When connected to a WAN such as the Internet 940 or ISDN, the gateway 941 is unnecessary.
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922.

上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
The program group 923 stores programs that execute functions described as “˜units” in the description of the embodiments described below. The program is read and executed by the CPU 911.
The file group 924 includes information, data, signal values, variable values, and parameters that are described as “determination results of”, “calculation results of”, and “processing results of” in the description of the embodiments described below. Are stored as items of “˜file” and “˜database”. The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, Used for CPU operations such as calculation, calculation, processing, output, printing, and display. Information, data, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during the CPU operations of extraction, search, reference, comparison, operation, calculation, processing, output, printing, and display. Is remembered.
In addition, the arrows in the flowcharts described in the following description of the embodiments mainly indicate input / output of data and signals. The data and signal values are the RAM 914 memory, the FDD 904 flexible disk, the CDD 905 compact disk, and the magnetic field. The data is recorded on a recording medium such as a magnetic disk of the disk device 920, another optical disk, a mini disk, and a DVD (Digital Versatile Disk). Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。   In the description of the embodiments described below, what is described as “to part” may be “to circuit”, “to device”, and “to device”, and “to step” and “to”. “Procedure” and “˜Process” may be used. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, only hardware such as elements, devices, substrates, wirings, etc., or a combination of software and hardware, and further a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described below. Alternatively, the procedure or method of “to part” described below is executed by a computer.

図5は、この実施の形態におけるデータ検索システム800を構成する各装置の機能ブロックの構成の一例を示すブロック構成図である。   FIG. 5 is a block configuration diagram showing an example of the functional block configuration of each device constituting the data search system 800 in this embodiment.

クライアント装置300は、検索実行要求送信部311、検索ステータス受信部312、検索結果取得要求送信部321、検索結果受信部322、検索終了要求送信部391、了解受信部392を有する。
検索実行要求送信部311は、通信装置915を用いて、データ検索装置100に対して、検索実行要求510を送信する。
検索ステータス受信部312は、通信装置915を用いて、データ検索装置100が送信した検索ステータス610を受信する。
検索結果取得要求送信部321は、通信装置915を用いて、データ検索装置100に対して、検索結果取得要求520を送信する。
検索結果受信部322は、通信装置915を用いて、データ検索装置100が送信した検索結果620を受信する。
検索終了要求送信部391は、通信装置915を用いて、データ検索装置100に対して、検索終了要求590を送信する。
了解受信部392は、通信装置915を用いて、データ検索装置100が送信した了解690を受信する。
The client device 300 includes a search execution request transmission unit 311, a search status reception unit 312, a search result acquisition request transmission unit 321, a search result reception unit 322, a search end request transmission unit 391, and an acknowledgment reception unit 392.
The search execution request transmission unit 311 transmits a search execution request 510 to the data search device 100 using the communication device 915.
The search status receiving unit 312 uses the communication device 915 to receive the search status 610 transmitted by the data search device 100.
The search result acquisition request transmission unit 321 transmits a search result acquisition request 520 to the data search device 100 using the communication device 915.
The search result receiving unit 322 receives the search result 620 transmitted by the data search device 100 using the communication device 915.
The search end request transmission unit 391 transmits a search end request 590 to the data search device 100 using the communication device 915.
The consent receiving unit 392 uses the communication device 915 to receive the consent 690 transmitted by the data search device 100.

サーバ装置101は、検索実行要求受信部111、検索ステータス送信部112、検索結果取得要求受信部121、検索結果送信部122、データ変換部141、先読み管理部142、管理テーブル管理部147、検索終了要求受信部191、了解送信部192、先読み破棄部193を有する。
データベース管理装置102は、データベース管理部132を有する。
データベース記憶装置103は、データベース記憶部131を有する。
The server apparatus 101 includes a search execution request reception unit 111, a search status transmission unit 112, a search result acquisition request reception unit 121, a search result transmission unit 122, a data conversion unit 141, a prefetch management unit 142, a management table management unit 147, and a search end. A request receiving unit 191, an acknowledgment transmitting unit 192, and a prefetch discarding unit 193 are included.
The database management apparatus 102 has a database management unit 132.
The database storage device 103 includes a database storage unit 131.

データベース記憶部131は、あらかじめ、磁気ディスク装置920を用いて、一つ以上のデータベースを記憶している。   The database storage unit 131 stores one or more databases in advance using the magnetic disk device 920.

検索実行要求受信部111は、通信装置915を用いて、クライアント装置300が送信した検索実行要求510を受信する。検索実行要求510には、データベース記憶部131が記憶したデータベースを検索する検索条件を表わすデータが含まれる。
検索実行要求受信部111は、CPU911を用いて、受信した検索実行要求510に含まれるデータが表わす検索条件を出力する。
The search execution request receiving unit 111 receives the search execution request 510 transmitted from the client device 300 using the communication device 915. The search execution request 510 includes data representing a search condition for searching the database stored in the database storage unit 131.
Using the CPU 911, the search execution request receiving unit 111 outputs a search condition represented by data included in the received search execution request 510.

データベース管理部132は、CPU911を用いて、検索実行要求受信部111が出力した検索条件を入力する。
データベース管理部132は、CPU911を用いて、入力した検索条件に基づいて、データベース記憶部131が記憶したデータベースのうち、検索すべきデータベースを開く(オープンする)。
データベース管理部132は、CPU911を用いて、入力した検索条件に基づいて、開いたデータベースから、検索条件に合致するレコードを検索する。
データベース管理部132は、CPU911を用いて、検索結果(ステータス)を出力する。
The database management unit 132 uses the CPU 911 to input the search condition output by the search execution request receiving unit 111.
The database management unit 132 uses the CPU 911 to open (open) a database to be searched among the databases stored in the database storage unit 131 based on the input search condition.
The database management unit 132 uses the CPU 911 to search a record that matches the search condition from the opened database based on the input search condition.
The database management unit 132 uses the CPU 911 to output a search result (status).

検索ステータス送信部112は、CPU911を用いて、データベース管理部132が出力した検索結果(ステータス)を入力する。
検索ステータス送信部112は、CPU911を用いて、入力したステータスを表わすデータを含む検索ステータス610を生成する。
検索ステータス送信部112は、通信装置915を用いて、クライアント装置300に対して、生成した検索ステータス610を送信する。
The search status transmission unit 112 uses the CPU 911 to input the search result (status) output from the database management unit 132.
The search status transmission unit 112 uses the CPU 911 to generate a search status 610 including data representing the input status.
The search status transmission unit 112 transmits the generated search status 610 to the client device 300 using the communication device 915.

データベース管理部132は、CPU911を用いて、入力したデータに基づいて、開いたデータベースから、検索されたレコードをすべて取得する。なお、検索条件で送信すべきフィールドが指定される場合には、データベース管理部132は、レコードを構成するフィールドのうち、検索条件で指定されたフィールドだけを抽出して、検索されたすべてのレコードについて取得してもよい。
データベース管理部132は、CPU911を用いて、取得したレコードを出力する。
データベース管理部132は、CPU911を用いて、開いたデータベースを閉じる(クローズする)。
The database management unit 132 uses the CPU 911 to acquire all searched records from the opened database based on the input data. When a field to be transmitted is specified by the search condition, the database management unit 132 extracts only the field specified by the search condition from the fields constituting the record, and all the records that are searched You may get about.
The database management unit 132 uses the CPU 911 to output the acquired record.
The database management unit 132 uses the CPU 911 to close (close) the opened database.

データ変換部141は、CPU911を用いて、データベース管理部132が出力したレコードを入力する。
データ変換部141は、CPU911を用いて、入力したレコードを、クライアント装置300に対して送信する送信形式に変換する。データ変換部141は、例えば、データをクライアント装置300に対して送信する順序に並べ替えたり、クライアント装置300に対して送信する文字コードに変換したり、クライアント装置300に対して送信するバイトオーダーに変換したりする。
データ変換部141は、CPU911を用いて、変換したレコード(以下「レコードデータ」と呼ぶ。)を出力する。
The data conversion unit 141 uses the CPU 911 to input the record output from the database management unit 132.
The data conversion unit 141 uses the CPU 911 to convert the input record into a transmission format to be transmitted to the client device 300. For example, the data conversion unit 141 rearranges the data in the order in which the data is transmitted to the client device 300, converts the data into a character code to be transmitted to the client device 300, or converts the data into a byte order to be transmitted to the client device 300. Or convert.
Using the CPU 911, the data conversion unit 141 outputs a converted record (hereinafter referred to as “record data”).

先読み管理部142は、CPU911を用いて、データ変換部141が出力したレコードデータを入力する。
先読み管理部142は、RAM914を用いて、入力したレコードデータを記憶する。
先読み管理部142は、あらかじめ、RAM914を用いて、レコードデータを記憶するための記憶領域(以下「先読みバッファ211」と呼ぶ。)を確保しておく。先読み管理部142は、あらかじめ確保した先読みバッファ211に、入力したレコードデータを記憶する。
先読み管理部142が確保する先読みバッファ211の大きさは、サーバ装置101が有するRAM914の容量などによっても異なるが、この実施の形態では、データ変換部141が出力したレコードデータすべてを記憶するのに十分な大きさを確保できるものとする。
先読み管理部142は、CPU911を用いて、先読みバッファ211内においてレコードデータを記憶した記憶領域の開始アドレスと、先読みバッファ211の先頭アドレスとの差(以下「オフセット」と呼ぶ。)、及び、先読みバッファ211内においてレコードデータを記憶した記憶領域の大きさ(以下「データ長」と呼ぶ。)を出力する。
The prefetch management unit 142 uses the CPU 911 to input the record data output from the data conversion unit 141.
The prefetch management unit 142 uses the RAM 914 to store the input record data.
The prefetch management unit 142 uses the RAM 914 in advance to reserve a storage area for storing record data (hereinafter referred to as “prefetch buffer 211”). The prefetch management unit 142 stores the input record data in the prefetch buffer 211 secured in advance.
Although the size of the prefetch buffer 211 secured by the prefetch management unit 142 varies depending on the capacity of the RAM 914 of the server apparatus 101, in this embodiment, all the record data output by the data conversion unit 141 is stored. A sufficient size can be secured.
Using the CPU 911, the prefetch management unit 142 uses a difference between the start address of the storage area in which the record data is stored in the prefetch buffer 211 and the start address of the prefetch buffer 211 (hereinafter referred to as “offset”), and prefetch The size of the storage area in which the record data is stored in the buffer 211 (hereinafter referred to as “data length”) is output.

管理テーブル管理部147は、CPU911を用いて、先読み管理部142が出力したオフセット及びデータ長を入力する。
管理テーブル管理部147は、RAM914を用いて、入力したオフセット及びデータ長を記憶する。
管理テーブル管理部147は、あらかじめ、CPU911を用いて、オフセット及びデータ長を記憶するための記憶領域(以下「管理テーブル212」と呼ぶ。)を確保しておく。管理テーブル管理部147は、あらかじめ確保した管理テーブル212に、入力したオフセット及びデータ長を記憶する。
Using the CPU 911, the management table management unit 147 inputs the offset and data length output by the prefetch management unit 142.
The management table management unit 147 uses the RAM 914 to store the input offset and data length.
The management table management unit 147 uses the CPU 911 in advance to secure a storage area (hereinafter referred to as “management table 212”) for storing the offset and the data length. The management table management unit 147 stores the input offset and data length in the management table 212 secured in advance.

検索結果取得要求受信部121は、通信装置915を用いて、クライアント装置300が送信した検索結果取得要求520を受信する。検索結果取得要求520には、取得要求数を表わすデータが含まれている。
検索結果取得要求受信部121は、CPU911を用いて、受信した検索結果取得要求520に含まれるデータが表わす取得要求数を出力する。
The search result acquisition request receiving unit 121 receives the search result acquisition request 520 transmitted by the client device 300 using the communication device 915. The search result acquisition request 520 includes data representing the number of acquisition requests.
Using the CPU 911, the search result acquisition request receiving unit 121 outputs the number of acquisition requests represented by the data included in the received search result acquisition request 520.

検索結果送信部122は、CPU911を用いて、検索結果取得要求受信部121が出力した取得要求数を入力する。
検索結果送信部122は、CPU911を用いて、管理テーブル212に記憶されたオフセット及びデータ長を読み出す。
検索結果送信部122は、CPU911を用いて、読み出したオフセットに基づいて、先読みバッファ211内において送信すべき最初のレコードデータが記憶された記憶領域の開始アドレスを算出する。
検索結果送信部122は、CPU911を用いて、読み出したデータ長に基づいて、入力した取得要求数分のレコードデータ全体のデータ長を算出する。
検索結果送信部122は、通信装置915を用いて、算出した開始アドレス及びデータ長に基づいて、先読みバッファ211に記憶された取得要求数のレコードデータを検索結果620として、クライアント装置300に対して送信する。
なお、クライアント装置300に対してまだ送信していないレコードデータの数よりも多い取得要求数を指定された場合、検索結果送信部122は、通信装置915を用いて、まだ送信していないレコードデータを全部送信する。
また、1回に送信できるデータ長の最大値が決まっている場合、検索結果送信部122は、算出したデータ長が、1回に送信できるデータ長の最大値以下に収まるよう、送信するレコードデータの数を減らす。
したがって、検索結果送信部122が送信するレコードデータの数は、通常、取得要求数と等しいが、検索結果送信部122が取得要求数よりも少ない数のレコードデータを送信する場合もある。
The search result transmission unit 122 uses the CPU 911 to input the number of acquisition requests output by the search result acquisition request reception unit 121.
The search result transmission unit 122 uses the CPU 911 to read the offset and data length stored in the management table 212.
The search result transmitting unit 122 uses the CPU 911 to calculate the start address of the storage area in which the first record data to be transmitted in the prefetch buffer 211 is stored based on the read offset.
The search result transmitting unit 122 uses the CPU 911 to calculate the data length of the entire record data for the number of input acquisition requests based on the read data length.
The search result transmission unit 122 uses the communication device 915 to set the record data of the number of acquisition requests stored in the prefetch buffer 211 to the client device 300 as the search result 620 based on the calculated start address and data length. Send.
When the number of acquisition requests larger than the number of record data not yet transmitted to the client device 300 is designated, the search result transmission unit 122 uses the communication device 915 to record data that has not yet been transmitted. Send all.
When the maximum value of the data length that can be transmitted at one time is determined, the search result transmission unit 122 transmits the record data so that the calculated data length falls within the maximum value of the data length that can be transmitted at one time. Reduce the number of
Therefore, the number of record data transmitted by the search result transmission unit 122 is usually equal to the number of acquisition requests, but the search result transmission unit 122 may transmit a smaller number of record data than the number of acquisition requests.

検索終了要求受信部191は、通信装置915を用いて、クライアント装置300が送信した検索終了要求590を受信する。
了解送信部192は、検索終了要求受信部191が検索終了要求590を受信した場合に、通信装置915を用いて、クライアント装置300に対して了解690を送信する。
先読み破棄部193は、検索終了要求受信部191が検索終了要求590を受信した場合に、管理テーブル212に記憶されたオフセット及びデータ長を消去する。
The search end request receiving unit 191 receives the search end request 590 transmitted by the client device 300 using the communication device 915.
When the search end request receiving unit 191 receives the search end request 590, the approval transmitting unit 192 transmits the approval 690 to the client device 300 using the communication device 915.
When the search end request receiving unit 191 receives the search end request 590, the prefetch discard unit 193 deletes the offset and the data length stored in the management table 212.

図6は、この実施の形態におけるクライアント装置300とデータ検索装置100との間で送受信されるデータのデータ形式の一例を示す図である。   FIG. 6 is a diagram illustrating an example of a data format of data transmitted / received between the client device 300 and the data search device 100 in this embodiment.

コード部501は、データの種類(そのデータが、検索実行要求510であるか、検索ステータス610であるかなどの区別)を表わす部分である。
データ部502は、そのデータの種類に応じて、必要な情報を表わすデータを含む部分である。データの種類によっては、データ部502がない場合もある。
The code part 501 is a part representing the type of data (discrimination of whether the data is a search execution request 510 or a search status 610).
The data part 502 is a part including data representing necessary information in accordance with the type of the data. Depending on the type of data, there may be no data portion 502.

検索実行要求510は、コード部501が検索実行要求コード511であり、データ部502が検索条件データ512である。検索実行要求コード511は、そのデータが検索実行要求510であることを表わす。検索条件データ512は、検索条件を表わす。   In the search execution request 510, the code part 501 is the search execution request code 511, and the data part 502 is the search condition data 512. Search execution request code 511 indicates that the data is search execution request 510. Search condition data 512 represents a search condition.

検索ステータス610は、コード部501が検索ステータスコード611であり、データ部502が検索ステータスデータ612である。検索ステータスコード611は、そのデータが検索ステータス610であることを表わす。検索ステータスデータ612は、検索結果のステータスを表わす。   In the search status 610, the code part 501 is the search status code 611, and the data part 502 is the search status data 612. Search status code 611 indicates that the data is search status 610. The search status data 612 represents the status of the search result.

検索結果取得要求520は、コード部501が検索結果取得要求コード521であり、データ部502が取得要求数データ522である。検索結果取得要求コード521は、そのデータが検索結果取得要求520であることを表わす。取得要求数データ522は、取得要求数を表わす。   In the search result acquisition request 520, the code part 501 is the search result acquisition request code 521, and the data part 502 is the acquisition request number data 522. The search result acquisition request code 521 indicates that the data is a search result acquisition request 520. Acquisition request number data 522 represents the number of acquisition requests.

検索結果620は、コード部501が検索結果コード621である。検索結果コード621は、そのデータが検索結果620であることを表わす。
検索結果620のデータ部502は、データヘッダ622及び1以上のレコードデータ626を含む。データヘッダ622は、データ部502に含まれるレコードデータ626の数やサイズを表わすデータなどを含む。なお、検索結果コード621とデータヘッダ622とを合わせて、ヘッダデータ623と呼ぶ。
レコードデータ626は、1つのフィールドヘッダ624と1つのフィールドデータ625との組の1以上の繰返しからなる。フィールドヘッダ624は、フィールドデータ625の長さ(サイズ)を表わすデータなどを含む。フィールドデータ625は、データベース記憶部131が記憶したデータベースに記憶されたデータのうち、検索されたレコードの該当するフィールドに記憶されたデータ(を送信形式に変換したもの)である。
1つのレコードデータに含まれるフィールドの数やそれぞれのフィールドの名称は、検索条件で指定されるので、検索結果620は、これらの情報を含んでいなくてもよい。あるいは、データヘッダ622やフィールドヘッダ624が、フィールドの数やフィールド名を表わすデータを含んでもよい。
In the search result 620, the code part 501 is the search result code 621. Search result code 621 indicates that the data is search result 620.
The data portion 502 of the search result 620 includes a data header 622 and one or more record data 626. Data header 622 includes data representing the number and size of record data 626 included in data portion 502. The search result code 621 and the data header 622 are collectively referred to as header data 623.
The record data 626 is composed of one or more repetitions of a set of one field header 624 and one field data 625. The field header 624 includes data representing the length (size) of the field data 625 and the like. The field data 625 is data (converted into a transmission format) stored in the corresponding field of the retrieved record among the data stored in the database stored in the database storage unit 131.
Since the number of fields included in one record data and the name of each field are specified by the search condition, the search result 620 may not include such information. Alternatively, the data header 622 and the field header 624 may include data representing the number of fields and field names.

検索終了要求590は、コード部501が検索終了要求コード591であり、データ部502はない。検索終了要求コード591は、そのデータが検索終了要求590であることを表わす。   In the search end request 590, the code portion 501 is the search end request code 591 and the data portion 502 is not present. The search end request code 591 indicates that the data is a search end request 590.

了解690は、コード部501が了解コード691であり、データ部502はない。了解コード691は、そのデータが了解690であることを表わす。   In the understanding 690, the code part 501 is the consent code 691, and the data part 502 is not present. The consent code 691 indicates that the data is the consent 690.

図7は、この実施の形態におけるデータ検索装置100がデータベースを検索する検索処理、及び、データ検索装置100が検索結果を送信する結果送信処理の流れの一例を示すフローチャート図である。   FIG. 7 is a flowchart showing an example of the flow of search processing in which the data search device 100 in this embodiment searches a database and result transmission processing in which the data search device 100 transmits search results.

検索処理は、検索実行要求受信部111が検索実行要求510を受信することにより開始する。
検索実行要求受信工程S411において、検索実行要求受信部111は、通信装置915を用いて、クライアント装置300が送信した検索実行要求510を受信する。検索実行要求受信部111は、受信した検索実行要求510に含まれる検索条件データ512が表わす検索条件を出力する。
The search process starts when the search execution request receiving unit 111 receives the search execution request 510.
In the search execution request receiving step S <b> 411, the search execution request receiving unit 111 receives the search execution request 510 transmitted by the client device 300 using the communication device 915. The search execution request receiving unit 111 outputs the search condition represented by the search condition data 512 included in the received search execution request 510.

データベースオープン工程S412において、データベース管理部132は、CPU911を用いて、検索実行要求受信工程S411で検索実行要求受信部111が出力した検索条件に基づいて、データベース記憶部131が記憶したデータベースのなかから、検索対象となるデータベースを開く。
データ検索工程S413において、データベース管理部132は、CPU911を用いて、検索実行要求受信工程S411で検索実行要求受信部111が出力した検索条件に基づいて、データベースオープン工程S412で開いたデータベースから、検索条件に合致するレコードを検索する。
検索ステータス送信工程S414において、検索ステータス送信部112は、通信装置915を用いて、データ検索工程S413でデータベース管理部132がデータベースを検索した検索結果のステータスを表わす検索ステータスデータ612を含む検索ステータス610を、クライアント装置300に対して送信する。
In the database open step S412, the database management unit 132 uses the CPU 911 to search from the database stored in the database storage unit 131 based on the search condition output by the search execution request reception unit 111 in the search execution request reception step S411. Open the database to be searched.
In the data search step S413, the database management unit 132 uses the CPU 911 to search from the database opened in the database open step S412 based on the search condition output by the search execution request reception unit 111 in the search execution request reception step S411. Search for records that meet the conditions.
In the search status transmission step S414, the search status transmission unit 112 uses the communication device 915, and the search status 610 including the search status data 612 indicating the status of the search result obtained by the database management unit 132 searching the database in the data search step S413. Is transmitted to the client device 300.

データ取得工程S422〜繰返し工程S427の処理は、データ検索工程S413でデータベース管理部132が検索したレコードそれぞれについて繰り返す。   The processing from the data acquisition step S422 to the repetition step S427 is repeated for each record searched by the database management unit 132 in the data search step S413.

データ取得工程S422において、データベース管理部132は、CPU911を用いて、データベースオープン工程S412で開いたデータベースから、データ検索工程S413で検索したレコードを、1件ずつ取得する。検索されたすべてのレコードを取得して、それ以上できる取得できるレコードが存在しない場合は、データベースクローズ工程S428へ進む。レコードを取得した場合は、データ変換工程S423へ進む。   In the data acquisition step S422, the database management unit 132 uses the CPU 911 to acquire the records searched in the data search step S413 one by one from the database opened in the database open step S412. When all the retrieved records are acquired and there are no more records that can be acquired, the process proceeds to the database closing step S428. When the record is acquired, the process proceeds to the data conversion process S423.

データ変換工程S423において、データ変換部141は、CPU911を用いて、データ取得工程S422でデータベース管理部132が取得したレコードを変換して、レコードデータ626を生成する。
バッファ書込工程S425において、先読み管理部142は、RAM914を用いて、データ変換工程S423でデータ変換部141が生成したレコードデータ626を、先読みバッファ211に書き込んで記憶する。
繰返し工程S427において、データ取得工程S422に戻る。
In the data conversion step S423, the data conversion unit 141 uses the CPU 911 to convert the record acquired by the database management unit 132 in the data acquisition step S422 to generate record data 626.
In the buffer writing step S425, the prefetch management unit 142 uses the RAM 914 to write and store the record data 626 generated by the data conversion unit 141 in the data conversion step S423 in the prefetch buffer 211.
In the repetition step S427, the process returns to the data acquisition step S422.

データベースクローズ工程S428において、データベース管理部132は、CPU911を用いて、データベースオープン工程S412で開いたデータベースを閉じる。
以上で、検索処理を終了する。
In the database closing step S428, the database management unit 132 uses the CPU 911 to close the database opened in the database opening step S412.
This completes the search process.

結果送信処理は、検索結果取得要求受信部121が検索結果取得要求520を受信することにより開始する。   The result transmission process starts when the search result acquisition request receiving unit 121 receives the search result acquisition request 520.

検索結果取得要求受信工程S431において、検索結果取得要求受信部121は、通信装置915を用いて、クライアント装置300が送信した検索結果取得要求520を受信する。検索結果取得要求受信部121は、CPU911を用いて、受信した検索結果取得要求520に含まれる取得要求数データ522が表わす取得要求数を出力する。   In the search result acquisition request receiving step S431, the search result acquisition request receiving unit 121 receives the search result acquisition request 520 transmitted by the client device 300 using the communication device 915. Using the CPU 911, the search result acquisition request receiving unit 121 outputs the number of acquisition requests represented by the acquisition request number data 522 included in the received search result acquisition request 520.

検索結果送信工程S432において、検索結果送信部122は、CPU911を用いて、検索結果取得要求受信工程S431で検索結果取得要求受信部121が出力した取得要求数に基づいて、先読みバッファ211に記憶されたレコードデータ626から、検索結果620を生成する。検索結果送信部122は、通信装置915を用いて、生成した検索結果620を、クライアント装置300に対して送信する。
以上で、検索結果送信処理を終了する。
In the search result transmission step S432, the search result transmission unit 122 is stored in the prefetch buffer 211 using the CPU 911 based on the number of acquisition requests output by the search result acquisition request reception unit 121 in the search result acquisition request reception step S431. A search result 620 is generated from the record data 626. The search result transmission unit 122 transmits the generated search result 620 to the client device 300 using the communication device 915.
Thus, the search result transmission process ends.

図8は、この実施の形態におけるデータ変換部141、先読み管理部142、検索結果送信部122の動作を模式的に表わす図である。   FIG. 8 is a diagram schematically showing the operations of the data conversion unit 141, the prefetch management unit 142, and the search result transmission unit 122 in this embodiment.

データ変換部141は、CPU911を用いて、レコードを変換し、検索結果620に含まれるレコードデータ626と同じ形式のレコードデータを生成する。すなわち、データ変換部141は、CPU911を用いて、クライアント装置300に対して送信すべきフィールドそれぞれについて、そのフィールドのデータの文字コードやバイトオーダーを変換してフィールドデータ625を生成し、生成したフィールドデータ625に基づいて、フィールドデータ625の長さなどを表わすデータを含むフィールドヘッダ624を生成する。データ変換部141は、CPU911を用いて、生成したフィールドヘッダ624、フィールドデータ625を結合して、レコードデータ626を生成する。   The data conversion unit 141 uses the CPU 911 to convert the record, and generates record data in the same format as the record data 626 included in the search result 620. In other words, the data conversion unit 141 uses the CPU 911 to generate the field data 625 by converting the character code and byte order of the field data for each field to be transmitted to the client device 300, and the generated field Based on the data 625, a field header 624 including data representing the length of the field data 625 and the like is generated. Using the CPU 911, the data conversion unit 141 combines the generated field header 624 and field data 625 to generate record data 626.

先読み管理部142は、RAM914を用いて、データ変換部141が生成したレコードデータ626を先読みバッファ211に記憶する。
先読みバッファ211は、先入れ先出し構造となっていて、先読み管理部142がレコードデータ626を先読みバッファ211に対して書き込みながら、検索結果送信部122がレコードデータ626を読み出して送信できる。
検索結果取得要求受信部121がクライアント装置300から検索結果取得要求520を受信しなければ、検索結果送信部122はレコードデータ626を送信しないが、検索結果送信部122がレコードデータ626を送信したかしないかに関わらず、データ変換部141は、検索されたすべてのレコードについて、順にレコードデータ626を生成し、生成されたレコードデータ626を先読み管理部142が先読みバッファ211に書き込んでいく。すなわち、クライアント装置300側からの要求を待つことなく、検索されたすべてのレコードについて、データ変換部141が送信形式に変換したデータを、先読み管理部142が先読みバッファ211に記憶する。
The prefetch management unit 142 stores the record data 626 generated by the data conversion unit 141 in the prefetch buffer 211 using the RAM 914.
The prefetch buffer 211 has a first-in first-out structure, and the search result transmission unit 122 can read and transmit the record data 626 while the prefetch management unit 142 writes the record data 626 to the prefetch buffer 211.
If the search result acquisition request receiving unit 121 does not receive the search result acquisition request 520 from the client device 300, the search result transmission unit 122 does not transmit the record data 626, but has the search result transmission unit 122 transmitted the record data 626? Regardless of whether or not, the data conversion unit 141 sequentially generates record data 626 for all the retrieved records, and the prefetch management unit 142 writes the generated record data 626 into the prefetch buffer 211. That is, without waiting for a request from the client device 300 side, the prefetch management unit 142 stores the data converted into the transmission format by the data conversion unit 141 in the prefetch buffer 211 for all the retrieved records.

データベース管理装置102において、検索のため、データベース記憶部131が記憶したデータベースを開いておくには、データベース内のテーブル管理やトランザクション管理をするため、メモリなどの資源が必要となる。特に、データベースに、可変長でサイズが非常に大きいデータ型が存在する場合、データベース管理装置102の資源を大量に消費する。   In the database management apparatus 102, in order to open the database stored in the database storage unit 131 for searching, resources such as a memory are required for managing the tables and transactions in the database. In particular, when a data type having a variable length and a very large size exists in the database, a large amount of resources of the database management apparatus 102 are consumed.

この実施の形態において、データベース管理部132は、検索したすべてのレコードを取得したら、すぐにデータベースを閉じる。したがって、データベースを開くために消費されるデータベース管理装置102の資源をすぐに開放することができる。   In this embodiment, the database management unit 132 closes the database as soon as all retrieved records are acquired. Therefore, the resource of the database management apparatus 102 consumed for opening the database can be immediately released.

この実施の形態におけるデータ検索装置100は、クライアント装置300からの要求によりデータベースを検索するデータ検索装置100である。
データ検索装置100は、データを記憶する記憶装置(RAM914、磁気ディスク装置920)と、データを処理する処理装置(CPU911)と、データを送信する送信装置(通信装置915)と、データを受信する受信装置(通信装置915)と、データベース記憶部131と、検索実行要求受信部111と、データベース管理部132と、データ変換部141と、先読み管理部142と、検索結果取得要求受信部121と、検索結果送信部122とを有することを特徴とする。
上記データベース記憶部131は、上記記憶装置(磁気ディスク装置920)を用いて、上記データベースを記憶することを特徴とする。
上記検索実行要求受信部111は、上記受信装置(通信装置915)を用いて、上記データベースを検索する検索条件を表わすデータ(検索条件データ512)を含む検索実行要求510を上記クライアント装置300から受信することを特徴とする。
上記データベース管理部132は、上記処理装置(CPU911)を用いて、上記検索実行要求受信部111が受信した検索実行要求510に含まれるデータ(検索条件データ512)が表わす検索条件に基づいて、上記データベース記憶部131が記憶したデータベースから上記検索条件に合致するデータ(レコード)を検索し、上記処理装置(CPU911)を用いて、検索したデータ(レコード)を、上記データベース記憶部131が記憶したデータベースから取得することを特徴とする。
上記データ変換部141は、上記処理装置(CPU911)を用いて、上記データベース管理部132が取得したデータ(レコード)を上記クライアント装置300へ送信する形式に変換することを特徴とする。
上記先読み管理部142は、上記記憶装置(RAM914)を用いて、上記データ変換部141が変換したデータ(レコードデータ626)を記憶することを特徴とする。
上記検索結果取得要求受信部121は、上記受信装置(通信装置915)を用いて、上記クライアント装置300が取得を要求するデータ(レコードデータ626)の取得要求数を表わすデータ(取得要求数データ522)を含む検索結果取得要求520を、上記クライアント装置300から受信することを特徴とする。
上記検索結果送信部122は、上記送信装置(通信装置915)を用いて、上記検索結果取得要求受信部121が受信した検索結果取得要求520に含まれるデータ(取得要求数データ522)が表わす取得要求数に基づいて、上記先読み管理部142が記憶したデータ(レコードデータ626)から、上記取得要求数のデータ(レコードデータ626)を上記クライアント装置300へ送信することを特徴とする。
The data search device 100 in this embodiment is a data search device 100 that searches a database in response to a request from the client device 300.
The data search device 100 receives data from a storage device (RAM 914, magnetic disk device 920) that stores data, a processing device (CPU 911) that processes data, a transmission device (communication device 915) that transmits data, and the like. A receiving device (communication device 915), a database storage unit 131, a search execution request receiving unit 111, a database management unit 132, a data conversion unit 141, a prefetch management unit 142, a search result acquisition request receiving unit 121, And a search result transmission unit 122.
The database storage unit 131 stores the database using the storage device (magnetic disk device 920).
Using the receiving device (communication device 915), the search execution request receiving unit 111 receives from the client device 300 a search execution request 510 including data (search condition data 512) representing search conditions for searching the database. It is characterized by doing.
The database management unit 132 uses the processing device (CPU 911), based on the search condition represented by the data (search condition data 512) included in the search execution request 510 received by the search execution request receiving unit 111. A database in which the database storage unit 131 stores data (record) that matches the search condition and stores the searched data (record) in the database storage unit 131 using the processing device (CPU 911). It is acquired from.
The data conversion unit 141 converts the data (record) acquired by the database management unit 132 into a format to be transmitted to the client device 300 using the processing device (CPU 911).
The prefetch management unit 142 stores data (record data 626) converted by the data conversion unit 141 using the storage device (RAM 914).
The search result acquisition request reception unit 121 uses the reception device (communication device 915) to indicate data (acquisition request number data 522) indicating the number of acquisition requests for data (record data 626) that the client device 300 requests to acquire. ) Including a search result acquisition request 520 including the client device 300.
The search result transmission unit 122 uses the transmission device (communication device 915) to obtain the data (acquisition request number data 522) included in the search result acquisition request 520 received by the search result acquisition request reception unit 121. Based on the number of requests, the acquisition request number data (record data 626) is transmitted to the client device 300 from the data (record data 626) stored by the prefetch management unit 142.

この実施の形態におけるデータ検索装置100によれば、データベース管理部132が検索したデータをすべて取得し、データ変換部141が形式を変換して、先読み管理部142が記憶するので、クライアント装置300からの検索結果取得要求520を待つことなく、データベースを閉じて、切り離すことができる。これにより、データベース管理装置102の資源を開放し、有効活用することができるという効果を奏する。   According to the data search device 100 in this embodiment, all the data searched by the database management unit 132 is acquired, the data conversion unit 141 converts the format, and the prefetch management unit 142 stores the data. The database can be closed and disconnected without waiting for the search result acquisition request 520. As a result, the resource of the database management apparatus 102 can be released and effectively used.

この実施の形態におけるデータ検索システム800(システム)は、クライアント装置300と、データ検索装置100とを有することを特徴とする。
上記クライアント装置300は、データを送信する送信装置(通信装置915)と、データを受信する受信装置(通信装置915)と、検索実行要求送信部311と、検索結果取得要求送信部321と、検索結果受信部322とを有することを特徴とする。
上記検索実行要求送信部311は、上記送信装置(通信装置915)を用いて、上記検索実行要求510を上記データ検索装置100へ送信することを特徴とする。
上記検索結果取得要求送信部321は、上記送信装置(通信装置915)を用いて、上記検索結果取得要求520を上記データ検索装置100へ送信することを特徴とする。
上記検索結果受信部322は、上記受信装置(通信装置915)を用いて、上記検索結果送信部122が送信したデータを受信することを特徴とする。
The data search system 800 (system) in this embodiment includes a client device 300 and a data search device 100.
The client device 300 includes a transmission device (communication device 915) that transmits data, a reception device (communication device 915) that receives data, a search execution request transmission unit 311, a search result acquisition request transmission unit 321, and a search And a result receiving unit 322.
The search execution request transmission unit 311 transmits the search execution request 510 to the data search device 100 using the transmission device (communication device 915).
The search result acquisition request transmission unit 321 transmits the search result acquisition request 520 to the data search device 100 using the transmission device (communication device 915).
The search result receiving unit 322 receives the data transmitted by the search result transmitting unit 122 using the receiving device (communication device 915).

この実施の形態におけるデータ検索システム800によれば、クライアント装置300が検索結果をすべて受信するのではなく、取得を要求する数を指定して、データ検索装置100に対して検索結果の取得を要求できるので、クライアント装置300が検索結果を全件保持する必要がなく、少しずつ取得して少しずつ処理することができる。これにより、検索結果の数が多い場合や一つのデータが非常に大きな場合などでも、クライアント装置300の資源を圧迫するのを防ぐことができるという効果を奏する。   According to the data search system 800 in this embodiment, the client device 300 does not receive all search results, but specifies the number of requests for acquisition and requests the data search device 100 to acquire search results. Therefore, it is not necessary for the client device 300 to hold all the search results, and it is possible to acquire and process little by little. As a result, even when the number of search results is large or when one piece of data is very large, it is possible to prevent the resources of the client device 300 from being compressed.

この実施の形態におけるデータ検索装置100は、コンピュータをデータ検索装置100として機能されるプログラムを、コンピュータが実行することより実現可能である。   The data search device 100 in this embodiment can be realized by causing a computer to execute a program that functions as the data search device 100.

この実施の形態におけるデータ検索装置100を実現するプログラムによれば、データベース管理部132が検索したデータをすべて取得し、データ変換部141が形式を変換して、先読み管理部142が記憶するので、クライアント装置300からの検索結果取得要求520を待つことなく、データベースを閉じて、切り離すことができるデータ検索装置100を実現することができる。これにより、データベース管理装置102として機能するコンピュータの資源を開放し、有効活用することができるという効果を奏する。   According to the program that implements the data search apparatus 100 in this embodiment, all data searched by the database management unit 132 is acquired, the data conversion unit 141 converts the format, and the prefetch management unit 142 stores the data. The data search apparatus 100 that can close and disconnect the database without waiting for the search result acquisition request 520 from the client apparatus 300 can be realized. Thereby, there is an effect that the resources of the computer functioning as the database management apparatus 102 can be released and effectively used.

この実施の形態におけるデータ検索装置100が、クライアント装置からの要求によりデータベースを検索するデータ検索方法は、データを記憶する記憶装置(RAM914、磁気ディスク装置920)と、データを処理する処理装置(CPU911)と、データを送信する送信装置(通信装置915)と、データを受信する受信装置(通信装置915)とを有するデータ検索装置100が、以下の工程を実行することを特徴とする。
上記受信装置(通信装置915)が、上記データベースを検索する検索条件を表わすデータ(検索条件データ512)を含む検索実行要求510を上記クライアント装置300から受信する。
上記処理装置(CPU911)が、受信した検索実行要求510に含まれるデータ(検索条件データ512)が表わす検索条件に基づいて、上記データベースから上記検索条件に合致するデータ(レコード)を検索する。
上記処理装置(CPU911)が、検索したデータ(レコード)を、上記データベースから取得する。
上記処理装置(CPU911)が、取得したデータ(レコード)を上記クライアント装置300へ送信する形式に変換する。
上記記憶装置(RAM914)が、変換したデータ(レコードデータ626)を記憶する。
上記受信装置(通信装置915)が、上記クライアント装置300が取得を要求するデータ(レコード)の取得要求数を表わすデータ(取得要求数データ522)を含む検索結果取得要求520を、上記クライアント装置300から受信する。
上記送信装置(通信装置915)が、受信した検索結果取得要求520に含まれるデータ(取得要求数データ522)が表わす取得要求数に基づいて、記憶したデータ(レコードデータ626)から、上記取得要求数のデータ(レコードデータ626)を上記クライアント装置300へ送信する。
A data search method in which the data search device 100 in this embodiment searches a database in response to a request from a client device is a storage device (RAM 914, magnetic disk device 920) for storing data and a processing device (CPU 911) for processing data. ), A transmitting device (communication device 915) for transmitting data, and a receiving device (communication device 915) for receiving data, perform the following steps.
The receiving device (communication device 915) receives from the client device 300 a search execution request 510 including data (search condition data 512) representing a search condition for searching the database.
The processing device (CPU 911) searches the database for data (record) that matches the search condition based on the search condition represented by the data (search condition data 512) included in the received search execution request 510.
The processing device (CPU 911) acquires the retrieved data (record) from the database.
The processing device (CPU 911) converts the acquired data (record) into a format to be transmitted to the client device 300.
The storage device (RAM 914) stores the converted data (record data 626).
The receiving device (communication device 915) sends a search result acquisition request 520 including data (acquisition request number data 522) indicating the acquisition request number of data (record) that the client device 300 requests acquisition to the client device 300. Receive from.
Based on the number of acquisition requests indicated by the data (acquisition request count data 522) included in the received search result acquisition request 520, the transmission device (communication device 915) uses the acquisition request from the stored data (record data 626). Number data (record data 626) is transmitted to the client device 300.

この実施の形態におけるデータ検索方法によれば、検索したデータをすべて取得し、形式を変換して、記憶するので、クライアント装置300からの検索結果取得要求520を待つことなく、データベースを閉じて、切り離すことができる。これにより、データベースを開いておくために必要な資源を開放し、有効活用することができるという効果を奏する。   According to the data search method in this embodiment, all the searched data is acquired, converted in format, and stored. Therefore, without waiting for the search result acquisition request 520 from the client device 300, the database is closed, Can be separated. Thereby, there is an effect that resources necessary to keep the database open can be released and effectively used.

以上説明したデータ検索方法は、データベースにアクセスするデータベースクライアント(クライアント装置300)と、データベースクライアントからのアクセス要求(検索実行要求510など)を受けてデータを検索するデータベース管理部(データベース管理装置102)及びデータの格納領域を有するデータベースサーバ(サーバ装置101)とを有するデータ検索システム800(データベースシステム)を使用する。
先読みバッファ211は、データベースクライアント(クライアント装置300)からの検索実行要求510に対して、データベースサーバで全件先読みしたデータを、通信データとして使用可能にする配置で格納する。
管理テーブル212は、データベースサーバ(サーバ装置101)は、先読みバッファ211を通信データとして使用可能にする。
データベースサーバ(サーバ装置101)は、先読みしたデータを通信データ形式(送信形式)に変換して先読みバッファ211に格納すると共に、管理テーブル212を作成し、データベースクライアント(クライアント装置300)からの検索結果取得要求520で管理テーブル212により通信バッファアドレスを決定する。
The data retrieval method described above includes a database client (client device 300) that accesses a database, and a database management unit (database management device 102) that retrieves data in response to an access request (such as a search execution request 510) from the database client. And a data search system 800 (database system) having a database server (server apparatus 101) having a data storage area.
In response to a search execution request 510 from the database client (client device 300), the prefetch buffer 211 stores data that has been prefetched by the database server in an arrangement that can be used as communication data.
The management table 212 enables the database server (server apparatus 101) to use the prefetch buffer 211 as communication data.
The database server (server device 101) converts the prefetched data into a communication data format (transmission format) and stores it in the prefetch buffer 211, creates a management table 212, and retrieves a search result from the database client (client device 300). The communication buffer address is determined by the management table 212 with the acquisition request 520.

以上説明したデータ検索方法によれば、クライアント(クライアント装置300)からの検索要求とは非同期にデータベースのデータを先読みし、データベースをクローズすることできる。これにより、クライアント(クライアント装置300)からの検索で、検索結果を最後まで取得せずに途中で放ったらかしにされたり、複数のクライアント(クライアント装置300)から検索要求が出されたりした場合であっても、データ検索装置100のリソース(資源)が逼迫しない。この効果は、特に、ログ専用データベースやメールアーカイブ用データベースなど、可変長でサイズが非常に大きいデータ型が存在し、検索に伴いデータベースのオープンからクローズまでサーバのリソースを大量に消費してしまうデータベースを検索する場合に顕著である。これにより、企業内部の情報漏洩問題や、個人情報保護法への対応などセキュリティ対策強化のため、大容量のデータを格納でき、かつ、形式の異なる多種多様なデータへの対応が可能なデータベースを運用することができる。   According to the data search method described above, the database data can be prefetched asynchronously with the search request from the client (client device 300), and the database can be closed. As a result, in the search from the client (client device 300), the search result is not obtained until the end, but it is left on the way, or a search request is issued from a plurality of clients (client device 300). However, the resources (resources) of the data search device 100 are not tight. This is especially true for databases that have a variable length and very large data types, such as log-only databases and mail archive databases, and that consume a large amount of server resources during database opening and closing. This is noticeable when searching. As a result, in order to strengthen security measures such as internal information leakage problems and compliance with the Personal Information Protection Law, a database that can store large volumes of data and handle a wide variety of data in different formats It can be operated.

以上説明したデータ検索システム800(データベースシステム)は、データベースにアクセスするデータベースクライアント(クライアント装置300)と、データベースクライアントからのアクセス要求(検索実行要求510など)を受けてデータを検索するデータベース管理部(データベース管理装置102)及びデータの格納領域を有するデータベースサーバ(サーバ装置101)とを有する。
データベースサーバ(サーバ装置101)は、データベースクライアント(クライアント装置300)からの検索実行要求510に対して、データベースサーバで全件先読みしたデータを、通信データとして使用可能にする配置で格納する先読みバッファ211と、
先読みバッファ211を通信データとして使用可能にする管理テーブル212と、
先読みしたデータを通信データ形式(送信形式)に変換して先読みバッファ211に格納すると共に、管理テーブル212を作成し、データベースクライアント(クライアント装置300)からの検索結果取得要求520で管理テーブル212により通信バッファアドレスを決定するバッファ管理部(検索結果送信部122)とを備える。
The data search system 800 (database system) described above includes a database client (client device 300) that accesses the database, and a database management unit (data search request 510 or the like) that receives data from the database client and searches for data. Database management apparatus 102) and a database server (server apparatus 101) having a data storage area.
In response to the search execution request 510 from the database client (client apparatus 300), the database server (server apparatus 101) stores all the prefetched data in the database server in an arrangement that can be used as communication data. When,
A management table 212 that enables the prefetch buffer 211 to be used as communication data;
The prefetched data is converted into a communication data format (transmission format) and stored in the prefetch buffer 211, and the management table 212 is created, and the search result acquisition request 520 from the database client (client device 300) communicates with the management table 212. A buffer management unit (search result transmission unit 122) for determining a buffer address.

以上説明したデータ検索システム800によれば、通信バッファに1回に送信する予定の件数分のデータだけをデータベースから先読みするのではなく、最終データまで全てを先読みしておくことができる。これにより、可変長でサイズが非常に大きいデータ型が存在し、検索に伴いデータベースのオープンからクローズまでサーバのリソースを大量に消費するデータベースシステムにおいて、クライアント(クライアント装置300)からの検索要求(検索実行要求510)に対して全件先読み処理を可能となり、かつ、検索結果の転送性能を維持するために、先読みバッファ211を通信バッファとしても使用可能となる。   According to the data search system 800 described above, it is possible to prefetch all the data up to the final data instead of prefetching from the database only the data for the number of items scheduled to be transmitted to the communication buffer at a time. As a result, there is a data type of variable length and very large size, and in a database system that consumes a large amount of server resources from opening to closing of the database along with the search, a search request (search) from the client (client device 300) For all execution requests 510), it is possible to perform prefetch processing for all cases and to use the prefetch buffer 211 as a communication buffer in order to maintain the transfer performance of search results.

実施の形態2.
実施の形態2について、図9〜図10を用いて説明する。
この実施の形態におけるデータ検索システム800のシステム構成、機能ブロック構成は、実施の形態1で説明したものと同様なので、ここでは説明を省略する。
Embodiment 2. FIG.
The second embodiment will be described with reference to FIGS.
Since the system configuration and functional block configuration of the data search system 800 in this embodiment are the same as those described in the first embodiment, description thereof is omitted here.

この実施の形態では、先読み管理部142が十分な大きさの先読みバッファ211を確保できない場合について説明する。   In this embodiment, a case where the prefetch management unit 142 cannot secure a sufficiently large prefetch buffer 211 will be described.

図9は、この実施の形態における先読み管理部142の詳細ブロックの構成及び先読みバッファ211などのデータ構造の一例を示す図である。   FIG. 9 is a diagram illustrating an example of a detailed block configuration of the prefetch management unit 142 and a data structure of the prefetch buffer 211 and the like in this embodiment.

先読み管理部142は、先読みバッファ管理部143、先読みファイル管理部144を有する。
先読みバッファ管理部143は、先読みバッファ211に空きがあるか否かを判定し、先読みバッファ211に空きがあると判定した場合、RAM914を用いて、データ変換部141が生成したレコードデータ626を、先読みバッファ211の空き領域に記憶する。先読みバッファ211に空きがないと判定した場合、先読みバッファ管理部143は、磁気ディスク装置920を用いて、データ変換部141が生成したレコードデータ626を、先読みファイル221に記憶する。
The prefetch management unit 142 includes a prefetch buffer management unit 143 and a prefetch file management unit 144.
The prefetch buffer management unit 143 determines whether or not the prefetch buffer 211 is empty. If the prefetch buffer 211 determines that the prefetch buffer 211 is empty, the RAM 914 is used to record the record data 626 generated by the data conversion unit 141. Store in the free area of the prefetch buffer 211. When it is determined that there is no free space in the prefetch buffer 211, the prefetch buffer management unit 143 stores the record data 626 generated by the data conversion unit 141 in the prefetch file 221 using the magnetic disk device 920.

先読みバッファ211及び先読みファイル221は、どちらもレコードデータ626を記憶するための記憶領域である。先読みバッファ211と先読みファイル221との違いは、先読みバッファ211がRAM914(第一の記憶装置)を用いて、まだクライアント装置300に対して送信していないレコードデータ626を記憶する記憶領域であるのに対して、先読みファイル221は、磁気ディスク装置920(第二の記憶装置)を用いて、まだ先読みバッファ211に書き込んでいないレコードデータ626を記憶する記憶領域である。広く知られているように、磁気ディスク装置920は、RAM914と比較して、データの書き込み及び読み出しにかかる時間が長い。また、RAM914は、磁気ディスク装置920と比較して、単位記憶容量当たりの単価が高い。このため、サーバ装置101に十分な容量のRAM914がなく、十分な大きさの先読みバッファ211を確保できない場合であっても、磁気ディスク装置920になら、十分な大きさの先読みファイル221を記憶することができる。   Both the prefetch buffer 211 and the prefetch file 221 are storage areas for storing record data 626. The difference between the prefetch buffer 211 and the prefetch file 221 is a storage area in which the prefetch buffer 211 uses the RAM 914 (first storage device) to store record data 626 that has not yet been transmitted to the client device 300. On the other hand, the prefetch file 221 is a storage area for storing record data 626 that has not yet been written to the prefetch buffer 211 using the magnetic disk device 920 (second storage device). As is widely known, the magnetic disk device 920 takes a longer time to write and read data than the RAM 914. The RAM 914 has a higher unit price per unit storage capacity than the magnetic disk device 920. For this reason, even if the server device 101 does not have a sufficiently large RAM 914 and a sufficiently large prefetch buffer 211 cannot be secured, the magnetic disk device 920 stores a sufficiently large prefetch file 221. be able to.

先読みファイル管理部144は、CPU911を用いて、先読みファイル221にまだ先読みバッファ211に書き込んでいないレコードデータ626が記憶されているか否かを判定する。また、先読みファイル管理部144は、CPU911を用いて、先読みバッファ211に空きがあるか否かを判定する。先読みファイル管理部144は、先読みファイル221にまだ先読みバッファ211に書き込んでいないレコードデータ626が記憶されていて、かつ、先読みバッファ211に空きがあると判定した場合に、先読みファイル221からレコードデータ626を読み出し、読み出したレコードデータ626を、RAM914を用いて、先読みバッファ211の空いている記憶領域に記憶する。   The prefetch file management unit 144 uses the CPU 911 to determine whether record data 626 that has not yet been written in the prefetch buffer 211 is stored in the prefetch file 221. Further, the prefetch file management unit 144 uses the CPU 911 to determine whether or not the prefetch buffer 211 has an empty space. When the prefetch file management unit 144 determines that the record data 626 that has not yet been written in the prefetch buffer 211 is stored in the prefetch file 221 and that the prefetch buffer 211 has a free space, the record data 626 from the prefetch file 221 is recorded. And the read record data 626 is stored in an empty storage area of the prefetch buffer 211 using the RAM 914.

管理テーブル管理部147は、RAM914を用いて、先読みバッファ管理部143及び先読みファイル管理部144が先読みバッファ211に記憶したレコードデータ626のオフセット711及びデータ長712を、管理テーブル212に記憶する。   The management table management unit 147 uses the RAM 914 to store the offset 711 and the data length 712 of the record data 626 stored in the prefetch buffer 211 by the prefetch buffer management unit 143 and the prefetch file management unit 144 in the management table 212.

データ変換部141が生成したレコードデータ626を、先読みバッファ管理部143が先読みバッファ211に記憶することにより、先読みバッファ211が一杯になる。先読みバッファ管理部143は、残りのレコードデータ626を先読みファイル221に記憶する。その後、先読みバッファ211に記憶されたレコードデータ626を検索結果送信部122が送信すると、先読みバッファ211に空きができる。先読みファイル管理部144は、先読みファイル221からレコードデータ626を読み出して、先読みバッファ211の空き領域に記憶する。   The prefetch buffer management unit 143 stores the record data 626 generated by the data conversion unit 141 in the prefetch buffer 211, so that the prefetch buffer 211 becomes full. The prefetch buffer management unit 143 stores the remaining record data 626 in the prefetch file 221. Thereafter, when the search result transmission unit 122 transmits the record data 626 stored in the prefetch buffer 211, the prefetch buffer 211 is vacant. The prefetch file management unit 144 reads the record data 626 from the prefetch file 221 and stores it in the free area of the prefetch buffer 211.

あらかじめ、先読みバッファ管理部143は、CPU911を用いて、RAM914の連続したアドレスを持つ記憶領域を確保して、先読みバッファ211とする。
先読みバッファ管理部143は、CPU911を用いて、先読みバッファ211を、環状に順序づけられた記憶領域の集合として管理する。すなわち、先読みバッファ管理部143は、先読みバッファ211内のある記憶領域を、その前のアドレスの記憶領域の次の記憶領域として管理し、先読みバッファ211の先頭の記憶領域を、先読みバッファ211の末尾の記憶領域の次の記憶領域として管理する。
In advance, the prefetch buffer management unit 143 uses the CPU 911 to secure a storage area having consecutive addresses in the RAM 914 to serve as the prefetch buffer 211.
Using the CPU 911, the prefetch buffer management unit 143 manages the prefetch buffer 211 as a set of storage areas that are circularly ordered. That is, the prefetch buffer management unit 143 manages a certain storage area in the prefetch buffer 211 as a storage area next to the storage area of the previous address, and uses the first storage area of the prefetch buffer 211 as the end of the prefetch buffer 211. Is managed as the next storage area.

先読みバッファ管理部143及び先読みファイル管理部144は、RAM914を用いて、先読みバッファ211の連続した1以上の記憶領域を使用して、レコードデータ626を記憶する。先読みバッファ管理部143及び先読みファイル管理部144は、CPU911を用いて、先読みバッファ211に記憶したレコードデータ626のオフセット711及びデータ長712を算出し、管理テーブル管理部147が、RAM914を用いて、管理テーブル212に記憶する。
先読みバッファ管理部143及び先読みファイル管理部144は、CPU911を用いて、管理テーブル212に記憶されたオフセット711及びデータ長712に基づいて、最後にレコードデータ626を記憶した記憶領域の最後のアドレス(またはオフセット)を算出する。また、先読みバッファ管理部143及び先読みファイル管理部144は、CPU911を用いて、管理テーブル212に記憶されたオフセット711及びデータ長712に基づいて、まだ検索結果送信部122が送信していない最初のレコードデータ626の最初のアドレス(またはオフセット)を算出する。先読みバッファ管理部143及び先読みファイル管理部144は、CPU911を用いて、算出した二つのアドレス(またはオフセット)に基づいて、先読みバッファ211の空き領域の大きさを算出する。先読みバッファ管理部143及び先読みファイル管理部144は、CPU911を用いて、次のレコードデータ626のデータ長を算出する。先読みバッファ管理部143及び先読みファイル管理部144は、CPU911を用いて、算出した空き領域の大きさと、算出したデータ長とを比較して、空き領域の大きさがデータ長よりも小さい場合に、先読みバッファ211に空きがないと判定する。
The prefetch buffer management unit 143 and the prefetch file management unit 144 use the RAM 914 to store the record data 626 using one or more continuous storage areas of the prefetch buffer 211. The prefetch buffer management unit 143 and the prefetch file management unit 144 use the CPU 911 to calculate the offset 711 and the data length 712 of the record data 626 stored in the prefetch buffer 211, and the management table management unit 147 uses the RAM 914 to Store in the management table 212.
Using the CPU 911, the prefetch buffer management unit 143 and the prefetch file management unit 144 use the CPU 911 based on the offset 711 and the data length 712 stored in the management table 212 to finally store the last address ( Or offset). In addition, the prefetch buffer management unit 143 and the prefetch file management unit 144 use the CPU 911, based on the offset 711 and the data length 712 stored in the management table 212, for the first time that the search result transmission unit 122 has not yet transmitted. The first address (or offset) of the record data 626 is calculated. The prefetch buffer management unit 143 and the prefetch file management unit 144 use the CPU 911 to calculate the size of the free area of the prefetch buffer 211 based on the two calculated addresses (or offsets). The prefetch buffer management unit 143 and the prefetch file management unit 144 use the CPU 911 to calculate the data length of the next record data 626. The prefetch buffer management unit 143 and the prefetch file management unit 144 use the CPU 911 to compare the calculated free space size with the calculated data length, and when the free space size is smaller than the data length, It is determined that there is no space in the prefetch buffer 211.

検索結果送信部122は、検索結果620を送信した場合、CPU911を用いて、送信した検索結果620に含まれるレコードデータ626についてのオフセット711及びデータ長712を、管理テーブル212から削除する。これにより、先読みバッファ211のうち、既に送信したレコードデータ626を記憶している記憶領域を、先読みバッファ管理部143及び先読みファイル管理部144は空き領域として認識する。   When the search result transmission unit 122 transmits the search result 620, the CPU 911 is used to delete the offset 711 and the data length 712 for the record data 626 included in the transmitted search result 620 from the management table 212. Accordingly, the prefetch buffer management unit 143 and the prefetch file management unit 144 recognize the storage area in the prefetch buffer 211 that stores the record data 626 that has already been transmitted as a free area.

図10は、この実施の形態におけるデータ検索装置100がデータベースを検索する検索処理、及び、データ検索装置100が検索結果を送信する結果送信処理の流れの一例を示すフローチャート図である。
なお、実施の形態1で説明した検索処理及び結果送信処理と共通する部分については、同一の符号を付し、ここでは説明を省略する。
FIG. 10 is a flowchart showing an example of the flow of search processing in which the data search device 100 in this embodiment searches the database and result transmission processing in which the data search device 100 transmits the search result.
Note that portions common to the search processing and result transmission processing described in Embodiment 1 are denoted by the same reference numerals, and description thereof is omitted here.

検索処理において、データ変換工程S423が終了後、空き判定工程S424へ進む。
空き判定工程S424において、先読みバッファ管理部143は、CPU911を用いて、先読みバッファ211に空きがあるか否かを判定する。先読みバッファ211に空きがあると判定した場合、バッファ書込工程S425へ進む。先読みバッファ211に空きがないと判定した場合、ファイル書込工程S426へ進む。
In the search process, after the data conversion step S423 is completed, the process proceeds to the empty determination step S424.
In the empty determination step S424, the prefetch buffer management unit 143 uses the CPU 911 to determine whether or not there is an empty in the prefetch buffer 211. If it is determined that the prefetch buffer 211 is empty, the process proceeds to the buffer writing step S425. If it is determined that there is no space in the prefetch buffer 211, the process proceeds to the file writing step S426.

バッファ書込工程S425において、先読みバッファ管理部143は、RAM914を用いて、データ変換工程S423でデータ変換部141が生成したレコードデータ626を、先読みバッファ211に記憶する。その後、繰返し工程S427へ進む。   In the buffer writing step S425, the prefetch buffer management unit 143 uses the RAM 914 to store the record data 626 generated by the data conversion unit 141 in the data conversion step S423 in the prefetch buffer 211. Then, it progresses to repetition process S427.

ファイル書込工程S426において、先読みバッファ管理部143は、磁気ディスク装置920を用いて、データ変換工程S423でデータ変換部141が生成したレコードデータ626を、先読みファイル221に記憶する。その後、繰返し工程S427へ進む。   In the file writing step S426, the prefetch buffer management unit 143 stores the record data 626 generated by the data conversion unit 141 in the data conversion step S423 in the prefetch file 221 using the magnetic disk device 920. Then, it progresses to repetition process S427.

結果送信処理において、検索結果送信工程S432が終了後、空き判定工程S441へ進む。
空き判定工程S441において、先読みファイル管理部144は、CPU911を用いて、先読みバッファ211に空きがあるか否かを判定する。先読みバッファ211に空きがあると判定した場合、データ読込工程S442へ進む。先読みバッファ211に空きがないと判定した場合、結果送信処理を終了する。
データ読込工程S442において、先読みファイル管理部144は、CPU911を用いて、先読みファイル221に記憶されたレコードデータ626を1つ読み込む。先読みファイル221に記憶されたレコードデータ626をすべて読み込み、読み込めるレコードデータ626が残っていない場合は、結果送信処理を終了する。レコードデータ626を読み込んだ場合は、データ書込工程S443へ進む。
データ書込工程S443において、先読みファイル管理部144は、RAM914を用いて、データ読込工程S442で読み込んだレコードデータ626を、先読みバッファ211に記憶する。
繰返し工程S444において、空き判定工程S441に戻る。
In the result transmission process, after the search result transmission step S432 is completed, the process proceeds to the empty determination step S441.
In the empty determination step S441, the prefetch file management unit 144 uses the CPU 911 to determine whether or not there is an empty in the prefetch buffer 211. If it is determined that the prefetch buffer 211 is empty, the process proceeds to the data reading step S442. If it is determined that there is no space in the prefetch buffer 211, the result transmission process is terminated.
In the data reading step S442, the prefetch file management unit 144 uses the CPU 911 to read one record data 626 stored in the prefetch file 221. When all record data 626 stored in the prefetch file 221 is read and there is no record data 626 that can be read, the result transmission process is terminated. When the record data 626 is read, the process proceeds to the data writing process S443.
In the data writing step S443, the prefetch file management unit 144 uses the RAM 914 to store the record data 626 read in the data read step S442 in the prefetch buffer 211.
In the repetition step S444, the process returns to the empty determination step S441.

この実施の形態におけるデータ検索装置100は、二以上の記憶装置(RAM914、磁気ディスク装置920)を有することを特徴とする。
上記記憶装置のうち第二の記憶装置(磁気ディスク装置920)は、上記記憶装置のうち第一の記憶装置(RAM914)と比較して、データの書き込み及び読み出しにかかる時間が長いことを特徴とする。
上記先読み管理部142は、先読みバッファ管理部143と、先読みファイル管理部144とを有することを特徴とする。
上記先読みバッファ管理部143は、上記第一の記憶装置(RAM914)を用いて、データを記憶する記憶領域(先読みバッファ211)を確保し、上記処理装置(CPU911)を用いて、確保した記憶領域に空きがあるか否かを判定し、確保した記憶領域に空きがあると判定した場合に、上記第一の記憶装置(RAM914)を用いて、上記データ変換部141が変換したデータ(レコードデータ626)を空いている記憶領域に記憶し、確保した記憶領域に空きがないと判定した場合に、上記第二の記憶装置(磁気ディスク装置920)を用いて、上記データ変換部141が変換したデータ(レコードデータ626)を(先読みファイル221に)記憶することを特徴とする。
上記先読みファイル管理部144は、上記処理装置(CPU911)を用いて、上記先読みバッファ管理部143が上記第二の記憶装置(磁気ディスク装置920)を用いて記憶したデータ(レコードデータ626)があるか否かを判定し、上記先読みバッファ管理部143が上記第二の記憶装置(磁気ディスク装置920)を用いて記憶したデータ(レコードデータ626)があると判定した場合に、上記先読みバッファ管理部143が確保した記憶領域(先読みバッファ211)に空きがあるか否かを判定し、上記先読みバッファ管理部143が確保した記憶領域(先読みバッファ211)に空きがあると判定した場合に、上記第一の記憶装置(RAM914)を用いて、上記先読みバッファ管理部143が上記第二の記憶装置(磁気ディスク装置920)を用いて記憶したデータ(レコードデータ626)を空いている記憶領域に記憶することを特徴とする。
上記検索結果送信部122は、上記送信装置(通信装置915)を用いて、上記先読み管理部142が上記第一の記憶装置(RAM914)を用いて記憶したデータ(レコードデータ626)を上記クライアント装置300へ送信することを特徴とする。
The data search device 100 in this embodiment has two or more storage devices (RAM 914, magnetic disk device 920).
Of the storage devices, the second storage device (magnetic disk device 920) has a longer time for writing and reading data than the first storage device (RAM 914) of the storage devices. To do.
The prefetch management unit 142 includes a prefetch buffer management unit 143 and a prefetch file management unit 144.
The prefetch buffer management unit 143 secures a storage area (prefetch buffer 211) for storing data using the first storage device (RAM 914) and secures a storage area using the processing device (CPU 911). The data conversion unit 141 uses the first storage device (RAM 914) to determine whether or not the reserved storage area is free. 626) is stored in a free storage area, and when it is determined that there is no free storage area, the data conversion unit 141 converts the data using the second storage device (magnetic disk device 920). Data (record data 626) is stored (in the prefetch file 221).
The prefetch file management unit 144 has data (record data 626) stored by the prefetch buffer management unit 143 using the second storage device (magnetic disk device 920) using the processing device (CPU 911). The prefetch buffer management unit 143 determines that there is data (record data 626) stored using the second storage device (magnetic disk device 920). It is determined whether or not the storage area (prefetch buffer 211) secured by 143 has a free space, and when it is determined that the storage area (prefetch buffer 211) secured by the prefetch buffer management unit 143 has a free space, Using the one storage device (RAM 914), the prefetch buffer management unit 143 uses the second storage device (magnetic device). And to store in the storage area is empty and the data (record data 626) stored using a disk device 920).
The search result transmission unit 122 uses the transmission device (communication device 915) and the data (record data 626) stored by the prefetch management unit 142 using the first storage device (RAM 914). It transmits to 300, It is characterized by the above-mentioned.

この実施の形態におけるデータ検索装置100によれば、データ変換部141が生成したレコードデータ626すべてを記憶できる十分な大きさの先読みバッファ211を先読み管理部142が確保できない場合であっても、先読み管理部142が、第二の記憶装置を用いて、先読みファイル221にレコードデータ626を記憶するので、クライアント装置300からの検索結果取得要求520を待つことなく、データベースを閉じて、切り離すことができる。これにより、データベース管理装置102の資源を開放し、有効活用することができるという効果を奏する。   According to the data search device 100 in this embodiment, even if the prefetch management unit 142 cannot secure a prefetch buffer 211 having a large enough size to store all the record data 626 generated by the data conversion unit 141, the prefetching is performed. Since the management unit 142 stores the record data 626 in the prefetch file 221 using the second storage device, the database can be closed and disconnected without waiting for the search result acquisition request 520 from the client device 300. . As a result, the resource of the database management apparatus 102 can be released and effectively used.

なお、この実施の形態では、第一の記憶装置の一例としてRAM914、第二の記憶装置の一例として磁気ディスク装置920を用いる構成について説明したが、第一の記憶装置と第二の記憶装置との間に、第一の記憶装置のほうが読み書き時間が短く、第二の記憶装置のほうが大容量であるという関係であれば、他の組み合わせであってもよい。例えば、第一の記憶装置がキャッシュメモリで、第二の記憶装置がRAM914であってもよいし、第一の記憶装置がキャッシュメモリあるいはRAM914で、第二の記憶装置がUSB(Universal Serial Bus)メモリ、磁気ディスク装置920、光ディスク装置などであってもよい。   In this embodiment, the configuration using the RAM 914 as an example of the first storage device and the magnetic disk device 920 as an example of the second storage device has been described. However, the first storage device, the second storage device, As long as the first storage device has a shorter read / write time and the second storage device has a larger capacity, other combinations may be used. For example, the first storage device may be a cache memory and the second storage device may be a RAM 914, the first storage device may be a cache memory or a RAM 914, and the second storage device may be a USB (Universal Serial Bus). It may be a memory, a magnetic disk device 920, an optical disk device, or the like.

この実施の形態におけるデータ検索装置100は、更に、管理テーブル管理部147を有することを特徴とする。
上記先読み管理部142は、上記記憶装置(RAM914)を用いて、順序づけられた複数の記憶領域(先読みバッファ211)を確保し、上記記憶装置(RAM914)を用いて、上記データ変換部141が変換したデータ(レコードデータ626)を、確保した記憶領域(先読みバッファ211)に記憶することを特徴とする。
上記管理テーブル管理部147は、上記記憶装置(RAM914)を用いて、上記先読み管理部142がデータ(レコードデータ626)を記憶した記憶領域を表わすデータ(オフセット711、データ長712)を記憶することを特徴とする。
上記検索結果送信部122は、上記送信装置(通信装置915)を用いて、上記管理テーブル管理部147が記憶したデータ(オフセット711、データ長712)が表わす記憶領域に記憶されたデータ(レコードデータ626)を上記クライアント装置300へ送信することを特徴とする。
The data search apparatus 100 in this embodiment further includes a management table management unit 147.
The prefetch management unit 142 secures a plurality of ordered storage areas (prefetch buffer 211) using the storage device (RAM 914), and the data conversion unit 141 uses the storage device (RAM 914) to perform conversion. The recorded data (record data 626) is stored in a reserved storage area (prefetch buffer 211).
The management table management unit 147 uses the storage device (RAM 914) to store data (offset 711, data length 712) representing a storage area in which the prefetch management unit 142 stores data (record data 626). It is characterized by.
The search result transmission unit 122 uses the transmission device (communication device 915) to store data (record data) stored in the storage area indicated by the data (offset 711, data length 712) stored by the management table management unit 147. 626) is transmitted to the client apparatus 300.

この実施の形態におけるデータ検索装置100によれば、先読み管理部142がデータを記憶した記憶領域を表わすデータを管理テーブル管理部147が管理テーブル212に記憶するので、検索結果送信部122は、管理テーブル212に基づいて、送信すべきデータが先読みバッファ211のどこに記憶されているかを知ることができる。これにより、検索結果送信部122は、先読みバッファ211を送信バッファとして利用することができるという効果を奏する。   According to the data search device 100 in this embodiment, since the management table management unit 147 stores data representing the storage area in which the prefetch management unit 142 stores data in the management table 212, the search result transmission unit 122 manages the data. Based on the table 212, it can be known where in the prefetch buffer 211 the data to be transmitted is stored. As a result, the search result transmission unit 122 can use the prefetch buffer 211 as a transmission buffer.

なお、管理テーブル管理部147は、管理テーブル212に記憶するデータは、オフセット711及びデータ長712でなくてもよい。例えば、管理テーブル管理部147は、RAM914を用いて、空き領域の先頭アドレスを表わすデータ(書き込みポインタ)と、次に送信すべきデータの先頭アドレスを表わすデータ(読み出しポインタ)と、各レコードデータ626のデータ長712とを記憶し、オフセット711を記憶しなくてもよい。   The management table management unit 147 does not have to store the data stored in the management table 212 as the offset 711 and the data length 712. For example, using the RAM 914, the management table management unit 147 uses the RAM 914 to indicate data (write pointer) indicating the start address of the free area, data (read pointer) indicating the start address of data to be transmitted next, and each record data 626. Data length 712 and the offset 711 need not be stored.

以上説明したデータ検索方法は、メモリ(RAM914)上の先読みバッファ211に格納できないデータ(レコードデータ626)を格納するための先読み用ファイル(先読みファイル221)を使用する。   The data search method described above uses a prefetch file (prefetch file 221) for storing data (record data 626) that cannot be stored in the prefetch buffer 211 on the memory (RAM 914).

以上説明したデータ検索装置100は、メモリ(RAM914)上の先読みバッファ211に格納できないデータ(レコードデータ626)を格納するための先読み用ファイル(先読みファイル221)を備える。   The data search apparatus 100 described above includes a prefetch file (prefetch file 221) for storing data (record data 626) that cannot be stored in the prefetch buffer 211 on the memory (RAM 914).

実施の形態3.
実施の形態3について、図11〜図12を用いて説明する。
この実施の形態におけるデータ検索システム800のシステム構成、機能ブロック構成は、実施の形態1あるいは実施の形態2で説明したものと同様なので、ここでは説明を省略する。
Embodiment 3 FIG.
A third embodiment will be described with reference to FIGS.
Since the system configuration and functional block configuration of the data search system 800 in this embodiment are the same as those described in the first embodiment or the second embodiment, description thereof is omitted here.

この実施の形態では、検索結果送信部122が検索結果620を送信する動作の具体例について説明する。   In this embodiment, a specific example of an operation in which the search result transmission unit 122 transmits the search result 620 will be described.

先読み管理部142は、RAM914を用いて、先読みバッファ211を確保する。
先読み管理部142は、CPU911を用いて、確保した先読みバッファ211の最初から所定のバイト数(以下「ヘッダ長」と呼ぶ。)の記憶領域を空けて、ヘッダ記憶領域とする。先読み管理部142は、RAM914を用いて、ヘッダ記憶領域の次から順に、データ変換部141が生成したレコードデータ626を記憶する。
The prefetch management unit 142 uses the RAM 914 to secure the prefetch buffer 211.
The prefetch management unit 142 uses the CPU 911 to free a storage area of a predetermined number of bytes (hereinafter referred to as “header length”) from the beginning of the secured prefetch buffer 211 and use it as a header storage area. Using the RAM 914, the prefetch management unit 142 stores the record data 626 generated by the data conversion unit 141 in order from the header storage area.

検索結果送信部122は、CPU911を用いて、クライアント装置300へ送信するデータに付加するヘッダデータ623を生成する。検索結果送信部122が生成するヘッダデータ623は、実施の形態1で説明したように、検索結果コード621とデータヘッダ622とを含む。また、検索結果送信部122が生成するヘッダデータ623の長さは、一定であり、ヘッダ長に等しい。
検索結果送信部122は、CPU911を用いて、管理テーブル管理部147が管理テーブル212に記憶したオフセット711及びデータ長712を読み込む。検索結果送信部122は、CPU911を用いて、読み込んだオフセット711に基づいて、クライアント装置300に対して送信する一番前のレコードデータ626の開始アドレスを算出する。
検索結果送信部122は、RAM914を用いて、算出した開始アドレスの前、ヘッダ長の記憶領域(以下「ヘッダ記憶領域721」と呼ぶ。)に、生成したヘッダデータ623を記憶する。
検索結果送信部122は、CPU911を用いて、読み込んだデータ長712に基づいて、クライアント装置300に対して送信する検索結果620全体の長さを算出する。
検索結果送信部122は、通信装置915を用いて、先読みバッファ211に記憶したヘッダデータ623と、ヘッダデータ623に続く記憶領域に記憶された1以上のレコードデータ626とを、クライアント装置300に対して送信する。
The search result transmission unit 122 uses the CPU 911 to generate header data 623 to be added to data to be transmitted to the client device 300. The header data 623 generated by the search result transmission unit 122 includes the search result code 621 and the data header 622 as described in the first embodiment. Further, the length of the header data 623 generated by the search result transmitting unit 122 is constant and equal to the header length.
Using the CPU 911, the search result transmission unit 122 reads the offset 711 and the data length 712 stored in the management table 212 by the management table management unit 147. Using the CPU 911, the search result transmission unit 122 calculates the start address of the earliest record data 626 to be transmitted to the client device 300 based on the read offset 711.
Using the RAM 914, the search result transmission unit 122 stores the generated header data 623 in the header length storage area (hereinafter referred to as “header storage area 721”) before the calculated start address.
The search result transmission unit 122 uses the CPU 911 to calculate the length of the entire search result 620 to be transmitted to the client device 300 based on the read data length 712.
The search result transmission unit 122 uses the communication device 915 to send the header data 623 stored in the prefetch buffer 211 and one or more record data 626 stored in the storage area following the header data 623 to the client device 300. To send.

図11は、この実施の形態における検索結果送信部122が検索結果620を送信する検索結果送信工程S432の流れの一例を示すフローチャート図である。   FIG. 11 is a flowchart showing an example of the flow of the search result transmission step S432 in which the search result transmission unit 122 transmits the search result 620 in this embodiment.

ヘッダデータ生成工程S451において、検索結果送信部122は、CPU911を用いて、ヘッダデータ623を生成する。
送信位置算出工程S452において、検索結果送信部122は、CPU911を用いて、管理テーブル管理部147が管理テーブル212に記憶したオフセット711及びデータ長712を読み込む。検索結果送信部122は、CPU911を用いて、読み込んだオフセット711に基づいて、クライアント装置300に対して送信する一番前のレコードデータ626の開始アドレスを算出する。検索結果送信部122は、CPU911を用いて、算出した開始アドレスから、所定のヘッダ長を差し引いて、ヘッダ記憶領域721の開始アドレス(以下「送信位置731」と呼ぶ。)を算出する。
ヘッダデータ書込工程S453において、検索結果送信部122は、RAM914を用いて、先読みバッファ211のうち、送信位置算出工程S452で算出した送信位置731から始まるヘッダ記憶領域721に、ヘッダデータ生成工程S451で生成したヘッダデータを記憶する。
送信長さ算出工程S454において、検索結果送信部122は、CPU911を用いて、送信位置算出工程S452で読み込んだデータ長712に基づいて、クライアント装置300に対して送信するレコードデータ626のデータ長を合計する。検索結果送信部122は、合計したデータ長に、ヘッダ長を加えて、クライアント装置300に対して送信するレコードデータ626全体の長さ(以下「送信長さ732」と呼ぶ。)を算出する。
バッファ送信工程S455において、検索結果送信部122は、通信装置915を用いて、先読みバッファ211のうち、送信位置算出工程S452で算出した送信位置731から始まり、送信長さ算出工程S454で算出した送信長さ分の記憶領域を、そのまま送信バッファとして使用し、送信バッファに記憶されたデータを、検索結果620としてクライアント装置300に対して送信する。
In the header data generation step S451, the search result transmission unit 122 generates the header data 623 using the CPU 911.
In the transmission position calculation step S452, the search result transmission unit 122 uses the CPU 911 to read the offset 711 and the data length 712 stored in the management table 212 by the management table management unit 147. Using the CPU 911, the search result transmission unit 122 calculates the start address of the earliest record data 626 to be transmitted to the client device 300 based on the read offset 711. The search result transmission unit 122 uses the CPU 911 to calculate a start address (hereinafter referred to as “transmission position 731”) of the header storage area 721 by subtracting a predetermined header length from the calculated start address.
In the header data writing step S453, the search result transmission unit 122 uses the RAM 914 to store the header data generation step S451 in the header storage area 721 starting from the transmission position 731 calculated in the transmission position calculation step S452 in the prefetch buffer 211. The header data generated in is stored.
In the transmission length calculation step S454, the search result transmission unit 122 uses the CPU 911 to calculate the data length of the record data 626 to be transmitted to the client device 300 based on the data length 712 read in the transmission position calculation step S452. Sum up. The search result transmission unit 122 adds the header length to the total data length, and calculates the total length of the record data 626 to be transmitted to the client device 300 (hereinafter referred to as “transmission length 732”).
In the buffer transmission step S455, the search result transmission unit 122 uses the communication device 915 to start from the transmission position 731 calculated in the transmission position calculation step S452 in the prefetch buffer 211, and to calculate the transmission calculated in the transmission length calculation step S454. The storage area for the length is used as it is as a transmission buffer, and the data stored in the transmission buffer is transmitted to the client apparatus 300 as a search result 620.

図12は、この実施の形態における先読みバッファ211などのデータ構造の一例を示す図である。   FIG. 12 is a diagram illustrating an example of a data structure of the prefetch buffer 211 and the like in this embodiment.

先読みバッファ211a〜211fは、先読みバッファ211のある時点での状態を表わす。   The prefetch buffers 211a to 211f represent the state of the prefetch buffer 211 at a certain point in time.

先読み管理部142は、CPU911を用いて、先読みバッファ211の先頭からヘッダ長の記憶領域を空けて、ヘッダ記憶領域721とする。先読み管理部142は、RAM914を用いて、ヘッダ記憶領域721の次から始まる記憶領域に、一番最初のレコードデータ626aを記憶する。
二番目以降のレコードデータ626b,626cについては、間を空けず、先読み管理部142は、RAM914を用いて、前のレコードデータ626a,626bの次から始まる記憶領域に、レコードデータ626b,626cをそれぞれ記憶する。先読みバッファ211aは、この時点における先読みバッファ211の状態である。
この例において、先読みバッファ211として確保した記憶領域が小さく、先読み管理部142は、次のレコードデータ626dを記憶しようとした際、CPU911を用いて、先読みバッファ211の空き領域722がレコードデータ626dのデータ長よりも小さいと判定したものとする。先読み管理部142は、磁気ディスク装置920を用いて、残りのレコードデータ626を、先読みファイル221に記憶する。なお、ヘッダ記憶領域721は、空き領域722には算入しない。
また、管理テーブル管理部147は、先読み管理部142が先読みバッファ211に記憶した三つのレコードデータ626a〜626cそれぞれに対応して、三組のオフセット711a〜711c、データ長712a〜712cを、RAM914を用いて管理テーブル212に記憶する。
Using the CPU 911, the prefetch management unit 142 frees a header length storage area from the top of the prefetch buffer 211 and sets it as a header storage area 721. Using the RAM 914, the prefetch management unit 142 stores the first record data 626a in a storage area starting from the header storage area 721.
For the second and subsequent record data 626b and 626c, the prefetch management unit 142 uses the RAM 914 to store the record data 626b and 626c in the storage area starting from the next record data 626a and 626b, respectively. Remember. The prefetch buffer 211a is the state of the prefetch buffer 211 at this time.
In this example, the storage area secured as the prefetch buffer 211 is small, and the prefetch management unit 142 uses the CPU 911 to store the free area 722 of the prefetch buffer 211 in the record data 626d when trying to store the next record data 626d. Assume that it is determined that the length is smaller than the data length. The prefetch management unit 142 uses the magnetic disk device 920 to store the remaining record data 626 in the prefetch file 221. Note that the header storage area 721 is not included in the free area 722.
Also, the management table management unit 147 has three sets of offsets 711a to 711c and data lengths 712a to 712c corresponding to each of the three record data 626a to 626c stored in the prefetch buffer 211 by the prefetch management unit 142, and the RAM 914. And stored in the management table 212.

検索結果取得要求受信部121が検索結果取得要求520を受信すると、検索結果送信部122は、CPU911を用いて、ヘッダデータ623aを生成する。ヘッダデータ623aは、検索結果送信部122がクライアント装置300へ送信するデータの先頭に付加するデータであり、実施の形態1で説明したように、検索結果コード621とデータヘッダ622とからなる。
検索結果送信部122は、CPU911を用いて、管理テーブル212に記憶されたオフセット711のうち、一番前のレコードデータ626aに対応するオフセット711aを読み出す。検索結果送信部122は、CPU911を用いて、読み出したオフセット711aからヘッダ記憶領域721の長さを差し引いて、送信位置731を算出する。
検索結果送信部122は、RAM914を用いて、算出した送信位置731から始まるヘッダ記憶領域721に、生成したヘッダデータ623aを記憶する。先読みバッファ211bは、この時点での先読みバッファ211の状態である。
検索結果送信部122は、CPU911を用いて、送信長さ732を算出する。この例において、検索結果取得要求受信部121が受信した検索結果取得要求520に含まれる取得要求数データ522が表わす取得要求数は、「2」であるとする。検索結果送信部122は、CPU911を用いて、管理テーブル212に記憶されたデータ長712のうち、一番前のレコードデータ626a及び二番目のレコードデータ626bにそれぞれ対応するデータ長712a,712bを読み込む。検索結果送信部122は、CPU911を用いて、読み込んだデータ長712a,712bを合計し、更に、ヘッダ記憶領域721の長さを加えて、送信長さ732を算出する。
When the search result acquisition request reception unit 121 receives the search result acquisition request 520, the search result transmission unit 122 generates the header data 623a using the CPU 911. The header data 623a is data added to the head of the data that the search result transmission unit 122 transmits to the client device 300, and includes the search result code 621 and the data header 622 as described in the first embodiment.
Using the CPU 911, the search result transmission unit 122 reads the offset 711a corresponding to the earliest record data 626a among the offsets 711 stored in the management table 212. Using the CPU 911, the search result transmission unit 122 calculates the transmission position 731 by subtracting the length of the header storage area 721 from the read offset 711a.
Using the RAM 914, the search result transmission unit 122 stores the generated header data 623a in the header storage area 721 starting from the calculated transmission position 731. The prefetch buffer 211b is the state of the prefetch buffer 211 at this time.
The search result transmission unit 122 uses the CPU 911 to calculate the transmission length 732. In this example, it is assumed that the acquisition request number represented by the acquisition request number data 522 included in the search result acquisition request 520 received by the search result acquisition request receiving unit 121 is “2”. The search result transmission unit 122 uses the CPU 911 to read the data lengths 712a and 712b corresponding to the first record data 626a and the second record data 626b among the data lengths 712 stored in the management table 212, respectively. . Using the CPU 911, the search result transmission unit 122 adds the read data lengths 712a and 712b, and further adds the length of the header storage area 721 to calculate the transmission length 732.

検索結果送信部122は、通信装置915を用いて、算出した送信位置731及び送信長さ732に基づいて、先読みバッファ211を送信バッファとして使用し、送信位置731から始まる送信長さ732のデータを、検索結果620としてクライアント装置300に対して送信する。   The search result transmission unit 122 uses the prefetch buffer 211 as a transmission buffer based on the calculated transmission position 731 and transmission length 732 using the communication device 915, and transmits data with a transmission length 732 starting from the transmission position 731. The search result 620 is transmitted to the client device 300.

検索結果送信部122は、CPU911を用いて、送信したレコードデータ626a,626bに対応するオフセット711a,711b及びデータ長712a,712bを、管理テーブル212から削除する。
先読み管理部142は、CPU911を用いて、この時点で先読みバッファ211に記憶された一番前のレコードデータ626cに対応するオフセット711cを、管理テーブル212から読み込む。先読み管理部142は、CPU911を用いて、読み込んだオフセット711cの前で終わるヘッダ長の記憶領域をヘッダ記憶領域721とする。先読み管理部142は、ヘッダ記憶領域721の前の記憶領域を、空き領域723の最後であるとして、空き領域723の最後のアドレスを算出する。
また、先読み管理部142は、CPU911を用いて、この時点で先読みバッファ211に記憶された一番後ろのレコードデータ626cに対応するオフセット711c及びデータ長712cを、管理テーブル212から読み込む。先読み管理部142は、CPU911を用いて、読み込んだオフセット711cから後、データ長712cの記憶領域の次の記憶領域を、空き領域722の最初であるとして、空き領域722の最初のアドレスを算出する。
先読み管理部142は、CPU911を用いて、算出した空き領域722の最初のアドレスと、先読みバッファ211の最後のアドレスとから、空き領域722の大きさを算出し、先読みバッファ211の最初のアドレスと、空き領域723の最後のアドレスとから、空き領域723の大きさを算出する。
Using the CPU 911, the search result transmission unit 122 deletes the offsets 711a and 711b and the data lengths 712a and 712b corresponding to the transmitted record data 626a and 626b from the management table 212.
The prefetch management unit 142 uses the CPU 911 to read from the management table 212 the offset 711c corresponding to the earliest record data 626c stored in the prefetch buffer 211 at this time. Using the CPU 911, the prefetch management unit 142 sets a header length storage area that ends before the read offset 711c as a header storage area 721. The prefetch management unit 142 calculates the last address of the free area 723 assuming that the storage area before the header storage area 721 is the last of the free areas 723.
Also, the prefetch management unit 142 uses the CPU 911 to read from the management table 212 the offset 711c and the data length 712c corresponding to the last record data 626c stored in the prefetch buffer 211 at this time. The prefetch management unit 142 uses the CPU 911 to calculate the first address of the free area 722, assuming that the storage area next to the storage area having the data length 712c is the first of the free areas 722 after the read offset 711c. .
Using the CPU 911, the prefetch management unit 142 calculates the size of the free area 722 from the calculated first address of the free area 722 and the last address of the prefetch buffer 211, and calculates the first address of the prefetch buffer 211. The size of the free area 723 is calculated from the last address of the free area 723.

先読み管理部142は、CPU911を用いて、先読みファイル221に記憶された次のレコードデータ626dを読み込む。先読み管理部142は、CPU911を用いて、読み込んだレコードデータ626dのデータ長と、算出した空き領域722の大きさとを比較して、空き領域722の大きさのほうが小さいので、空き領域722にはレコードデータ626dを記憶できないと判定する。次に、先読み管理部142は、CPU911を用いて、読み込んだレコードデータ626dのデータ長と、算出した空き領域723の大きさとを比較して、空き領域723の大きさのほうが大きいので、先読みバッファ211に空きがあると判定する。先読み管理部142は、RAM914を用いて、先読みバッファ211の空き領域723に、読み込んだレコードデータ626dを記憶する。先読み管理部142は、CPU911を用いて、算出した空き領域723の大きさから、レコードデータ626dのデータ長を差し引いて、残っている空き領域の大きさを算出する。   The prefetch management unit 142 uses the CPU 911 to read the next record data 626d stored in the prefetch file 221. The prefetch management unit 142 uses the CPU 911 to compare the data length of the read record data 626d with the calculated size of the free area 722, and the size of the free area 722 is smaller. It is determined that the record data 626d cannot be stored. Next, the prefetch management unit 142 uses the CPU 911 to compare the data length of the read record data 626d with the calculated size of the free area 723, and the size of the free area 723 is larger. It is determined that there is a space in 211. Using the RAM 914, the prefetch management unit 142 stores the read record data 626d in the free area 723 of the prefetch buffer 211. Using the CPU 911, the prefetch management unit 142 calculates the size of the remaining free space by subtracting the data length of the record data 626d from the calculated size of the free space 723.

なお、先読み管理部142は、空き領域722の後に空き領域723が連続しているものとして、レコードデータ626dを2つに分割し、一部を空き領域722に記憶し、残りを空き領域723に記憶してもよい。   The prefetch management unit 142 divides the record data 626d into two, assuming that the empty area 723 continues after the empty area 722, stores a part in the empty area 722, and stores the rest in the empty area 723. You may remember.

先読み管理部142は、CPU911を用いて、先読みファイル221に記憶された次のレコードデータ626eを読み込む。先読み管理部142は、CPU911を用いて、読み込んだレコードデータ626eのデータ長と、残っている空き領域の大きさとを比較して、空き領域の大きさのほうが大きいので、先読みバッファ211に空きがあると判定し、RAM914を用いて、先読みバッファ211の空き領域723のうち、前のレコードデータ626dの次から始まる記憶領域に、読み込んだレコードデータ626eを記憶する。先読み管理部142は、CPU911を用いて、残っている空き領域の大きさを算出する。先読みバッファ211dは、この時点での先読みバッファ211の状態である。
以下、同様にして、先読みバッファ211に空きがないと先読み管理部142が判定するか、先読みファイル221に記憶されたレコードデータ626が尽きるまで、先読み管理部142は、先読みファイル221からレコードデータ626を読み込み、先読みバッファ211の空き領域に記憶していく。
The prefetch management unit 142 uses the CPU 911 to read the next record data 626e stored in the prefetch file 221. The prefetch management unit 142 uses the CPU 911 to compare the data length of the read record data 626e with the size of the remaining free space, and the size of the free space is larger. The RAM 914 is used to determine that the read record data 626e is stored in a storage area starting from the next of the previous record data 626d in the empty area 723 of the prefetch buffer 211. The prefetch management unit 142 uses the CPU 911 to calculate the size of the remaining free area. The prefetch buffer 211d is in the state of the prefetch buffer 211 at this time.
Similarly, until the prefetch management unit 142 determines that there is no space in the prefetch buffer 211 or until the record data 626 stored in the prefetch file 221 is exhausted, the prefetch management unit 142 records the record data 626 from the prefetch file 221. Are stored in the free area of the prefetch buffer 211.

検索結果取得要求受信部121が検索結果取得要求520を受信すると、検索結果送信部122は、CPU911を用いて、ヘッダデータ623bを生成する。検索結果送信部122は、CPU911を用いて、管理テーブル管理部147が管理テーブル212に記憶したオフセット711のうち、この時点で一番前のレコードデータ626cに対応するオフセット711cを読み出し、CPU911を用いて、読み出したオフセット711cに基づいて、送信位置731を算出する。検索結果送信部122は、RAM914を用いて、算出した送信位置731から始まるヘッダ記憶領域721に、生成したヘッダデータ623bを記憶する。先読みバッファ211eは、この時点での先読みバッファ211の状態である。
検索結果送信部122は、CPU911を用いて、管理テーブル管理部147が管理テーブル212に記憶したデータ長712のうち、この時点で一番前のレコードデータ626cに対応するデータ長712cから始めて、取得要求数分のデータ長712c,712dを読み出し、CPU911を用いて、読み出したデータ長712c,712dに基づいて、送信長さ732を算出する。
When the search result acquisition request reception unit 121 receives the search result acquisition request 520, the search result transmission unit 122 generates the header data 623b using the CPU 911. The search result transmission unit 122 uses the CPU 911 to read the offset 711c corresponding to the earliest record data 626c at this time from the offset 711 stored in the management table 212 by the management table management unit 147, and uses the CPU 911. Based on the read offset 711c, the transmission position 731 is calculated. Using the RAM 914, the search result transmission unit 122 stores the generated header data 623b in the header storage area 721 starting from the calculated transmission position 731. The prefetch buffer 211e is in the state of the prefetch buffer 211 at this time.
The search result transmission unit 122 uses the CPU 911 to acquire the data length 712 stored in the management table 212 by the management table management unit 147 from the data length 712c corresponding to the first record data 626c at this time. Data lengths 712c and 712d corresponding to the number of requests are read, and the transmission length 732 is calculated using the CPU 911 based on the read data lengths 712c and 712d.

検索結果送信部122は、通信装置915を用いて、算出した送信位置731及び送信長さ732に基づいて、先読みバッファ211を送信バッファとして使用し、送信位置731から始まる送信長さ732のデータを、検索結果620としてクライアント装置300に対して送信する。
検索結果送信部122は、CPU911を用いて、送信したレコードデータ626c,626dに対応するオフセット711c,711d及びデータ長712c,712dを、管理テーブル212から削除する。
以下、同様にして、送信により先読みバッファ211に空き領域が出来ると、先読み管理部142が先読みファイル221からレコードデータ626を読み込み、検索結果取得要求受信部121が検索結果取得要求520を受信すると、検索結果送信部122が先読みバッファ211を送信バッファとして検索結果620を送信することを繰り返す。
The search result transmission unit 122 uses the communication device 915 to use the prefetch buffer 211 as a transmission buffer based on the calculated transmission position 731 and transmission length 732, and to transmit data having a transmission length 732 starting from the transmission position 731. The search result 620 is transmitted to the client device 300.
Using the CPU 911, the search result transmission unit 122 deletes the offsets 711c and 711d and the data lengths 712c and 712d corresponding to the transmitted record data 626c and 626d from the management table 212.
Similarly, when an empty area is created in the prefetch buffer 211 by transmission, the prefetch management unit 142 reads the record data 626 from the prefetch file 221 and the search result acquisition request reception unit 121 receives the search result acquisition request 520. The search result transmission unit 122 repeatedly transmits the search result 620 using the prefetch buffer 211 as a transmission buffer.

このように、先読みバッファ211にヘッダ記憶領域721を空けておき、送信時に、検索結果送信部122が、先読みバッファ211に空けておいたヘッダ記憶領域721に、ヘッダデータ623を書き込むことにより、先読みバッファ211をそのまま送信バッファとして使用して、送信をすることができる。   In this way, the header storage area 721 is vacated in the prefetch buffer 211, and the search result transmission unit 122 writes the header data 623 in the header storage area 721 vacated in the prefetch buffer 211 at the time of transmission. Transmission can be performed using the buffer 211 as it is as a transmission buffer.

この実施の形態における先読み管理部142は、上記記憶装置(RAM914)を用いて、確保した記憶領域(先読みバッファ211)の最初から所定の大きさ(ヘッダ長)の記憶領域をヘッダ記憶領域721とし、上記データ変換部141が変換したデータ(レコードデータ626)を、上記ヘッダ記憶領域721の次の記憶領域から順に記憶することを特徴とする。
上記検索結果送信部122は、上記処理装置(CPU911)を用いて、上記クライアント装置300へ送信するデータに付加するヘッダデータ623を生成し、上記記憶装置(RAM914)を用いて、上記管理テーブル管理部147が記憶したデータ(オフセット711)が表わす記憶領域の前の所定の大きさ(ヘッダ長)の記憶領域(ヘッダ記憶領域721)に、生成したヘッダデータ623を記憶し、上記送信装置(通信装置915)を用いて、記憶したヘッダデータ623と、上記ヘッダデータ623を記憶した記憶領域に続く記憶領域に記憶されたデータ(レコードデータ626)とを上記クライアント装置300へ送信することを特徴とする。
In this embodiment, the prefetch management unit 142 uses the storage device (RAM 914) as a header storage area 721 to store a storage area having a predetermined size (header length) from the beginning of the reserved storage area (prefetch buffer 211). The data (record data 626) converted by the data conversion unit 141 is stored in order from the storage area next to the header storage area 721.
The search result transmitting unit 122 uses the processing device (CPU 911) to generate header data 623 to be added to data to be transmitted to the client device 300, and uses the storage device (RAM 914) to manage the management table management. The generated header data 623 is stored in a storage area (header storage area 721) having a predetermined size (header length) before the storage area represented by the data (offset 711) stored by the unit 147, and the transmission device (communication) Using the device 915), the stored header data 623 and the data (record data 626) stored in the storage area subsequent to the storage area storing the header data 623 are transmitted to the client device 300. To do.

この実施の形態におけるデータ検索装置100によれば、検索結果送信部122がヘッダデータ623を先読みバッファ211に書き込み、先読みバッファ211をそのまま送信バッファとして使用して、検索結果620をクライアント装置300に対して送信するので、検索結果取得要求受信部121が検索結果取得要求520を受信してから、検索結果送信部122が検索結果620を送信するまでにかかる時間が短くて済み、検索結果620の転送速度を速くすることができるという効果を奏する。   According to the data search device 100 in this embodiment, the search result transmission unit 122 writes the header data 623 to the prefetch buffer 211, and uses the prefetch buffer 211 as a transmission buffer as it is, and the search result 620 is sent to the client device 300. Since the search result acquisition request receiving unit 121 receives the search result acquisition request 520 and the search result transmission unit 122 transmits the search result 620, the search result 620 can be transferred. There is an effect that the speed can be increased.

この実施の形態における先読み管理部142は、上記記憶装置(RAM914)を用いて、上記データ変換部141が変換したデータ(レコードデータ626)一つにつき一以上の連続した記憶領域を使って、上記データ変換部141が変換したデータ(レコードデータ626)を記憶することを特徴とする。
上記管理テーブル管理部147は、更に、上記記憶装置(RAM914)を用いて、上記先読み管理部142がそれぞれのデータ(レコードデータ626)を記憶した記憶領域の領域数(データ長712)を表わすデータを記憶することを特徴とする。
上記検索結果送信部122は、上記処理装置(CPU911)を用いて、上記管理テーブル管理部147が記憶したデータが表わす領域数(データ長712)に基づいて、上記クライアント装置300へ送信するデータ全体の長さ(送信長さ732)を算出し、上記送信装置(通信装置915)を用いて、算出した長さ(送信長さ732)に基づいて、上記記憶領域に記憶されたデータ(検索結果620)を上記クライアント装置300へ送信することを特徴とする。
The prefetch management unit 142 in this embodiment uses the storage device (RAM 914) and uses one or more continuous storage areas for one piece of data (record data 626) converted by the data conversion unit 141. The data (record data 626) converted by the data conversion unit 141 is stored.
The management table management unit 147 further uses the storage device (RAM 914) to represent the number of storage areas (data length 712) in which the prefetch management unit 142 stores the respective data (record data 626). Is stored.
The search result transmission unit 122 uses the processing device (CPU 911) to perform the entire data to be transmitted to the client device 300 based on the number of areas (data length 712) represented by the data stored in the management table management unit 147. Data (transmission length 732) is calculated, and the data (search result) stored in the storage area is calculated based on the calculated length (transmission length 732) using the transmission device (communication device 915). 620) is transmitted to the client apparatus 300.

この実施の形態におけるデータ検索装置100によれば、管理テーブル管理部147が管理テーブル212に記憶したデータ長712に基づいて、検索結果送信部122が送信長さ732を算出するので、先読みバッファ211をそのまま送信バッファとして使用することができるという効果を奏する。   According to the data search device 100 in this embodiment, the search result transmission unit 122 calculates the transmission length 732 based on the data length 712 stored in the management table 212 by the management table management unit 147, so the prefetch buffer 211 Can be used as a transmission buffer as it is.

以上説明したデータ検索装置100は、前記先読みバッファ211において、バッファの先頭に通信データのヘッダ(ヘッダデータ623)のサイズ分空きを作成し、通信データのデータ部(ボディ、レコードデータ626)を詰めて格納する。   In the prefetch buffer 211 described above, the data search device 100 described above creates a space corresponding to the size of the header (header data 623) of the communication data at the head of the buffer, and packs the data portion (body, record data 626) of the communication data. Store.

以上説明したデータ検索装置100は、前記管理テーブル212において、先読みした1レコードを先読みバッファ211に格納するごとに、オフセット711とデータ長712を格納する。   The data search apparatus 100 described above stores an offset 711 and a data length 712 each time one pre-read record is stored in the pre-read buffer 211 in the management table 212.

以上説明したデータ検索システム800(データベースシステム)は、データベースサーバ(データ検索装置100)とデータベースクライアント(クライアント装置300)とを有し、データベースサーバとデータベースクライアントとは、ネットワーク(インターネット940)を介して接続されている。データベースサーバ(データ検索装置100)はデータベース(データベース記憶部131)を有し、データベース(データベース記憶部131)へはデータベース管理部(データベース管理装置102)を経てアクセスされる。データベースクライアント(クライアント装置300)は、複数接続されていてもよい。また、データベースサーバとデータベースクライアントは、複数の装置からなるシステムであってもよいし、一つの装置であってもよいし、一つの装置の一部分であってもよい。
データベースクライアント(クライアント装置300)は、アプリケーション(アプリケーション部301)がデータベース(データベース記憶部131)にアクセスする際のクライアント側の機能を提供するシステムであり、データベースサーバ(データ検索装置100)との間でネットワーク(インターネット940)を介して検索要求(検索実行要求510)などを送信し、実行結果(検索ステータス610)や検索結果620を受信する。
データベースサーバ(データ検索装置100)は、データベースクライアント(クライアント装置300)からの要求を受信する受信部(通信装置915)、結果を送信する送信部(通信装置915)、受信や送信の制御を行う通信制御部(CPU911)、通信制御部がデータベース管理部(データベース管理装置102)を経て取得した検索結果を通信データ変換部(データ変換部141)で通信データ形式(送信形式)に変換して格納する先読みバッファ211、先読みバッファ211の1件ごとのオフセット711とデータ長712を格納する管理テーブル212、メモリ(RAM914)上の先読みバッファ211に格納できないデータ(レコードデータ626)を格納する先読み用ファイル(先読みファイル221)、先読みバッファ211と先読み用ファイル(先読みファイル221)、管理テーブル212を管理し、通信バッファを決定し、送信部に渡すバッファ管理部(データ変換部141、先読み管理部142、管理テーブル管理部147、検索結果送信部122)とを有する。
The data search system 800 (database system) described above includes a database server (data search apparatus 100) and a database client (client apparatus 300). The database server and the database client are connected via a network (Internet 940). It is connected. The database server (data search device 100) has a database (database storage unit 131), and the database (database storage unit 131) is accessed via a database management unit (database management device 102). A plurality of database clients (client devices 300) may be connected. Further, the database server and the database client may be a system composed of a plurality of devices, may be a single device, or may be a part of a single device.
The database client (client device 300) is a system that provides a client-side function when an application (application unit 301) accesses a database (database storage unit 131), and is connected to the database server (data search device 100). Then, a search request (search execution request 510) or the like is transmitted via the network (Internet 940), and an execution result (search status 610) or a search result 620 is received.
The database server (data search device 100) controls a reception unit (communication device 915) that receives a request from the database client (client device 300), a transmission unit (communication device 915) that transmits a result, and controls reception and transmission. The communication control unit (CPU 911) converts the search result acquired by the communication control unit through the database management unit (database management apparatus 102) into a communication data format (transmission format) by the communication data conversion unit (data conversion unit 141) and stores it. Prefetch buffer 211, management table 212 for storing each offset 711 and data length 712 of the prefetch buffer 211, prefetch file for storing data (record data 626) that cannot be stored in the prefetch buffer 211 on the memory (RAM 914) (Prefetch file 221), prefetch bar A file management unit (data conversion unit 141, prefetch management unit 142, management table management unit 147, search) which manages a file 211, a prefetch file (prefetch file 221), a management table 212, determines a communication buffer, and passes it to a transmission unit Result transmission unit 122).

アプリケーション(アプリケーション部301)は、データベースを検索し、検索結果を要求件数(取得要求数)分ずつ複数回に分けて最後まで取得する。データベースサーバ(データ検索装置100)のデータベース管理部132は、データベース(データベース記憶部131)から検索結果を1件ずつ取得するが、送信部(検索結果送信部122)は、複数件の検索結果(レコードデータ626)を送信することができる。また、データベースクライアント(クライアント装置300)からは、検索オープンを示す問い合わせ文(検索条件)を指定した検索実行要求510、指定した件数分検索結果を取得する検索結果取得要求520が複数回、検索クローズを示す検索終了要求590がデータベースサーバ(データ検索装置100)に送信される。   The application (application unit 301) searches the database, and acquires the search results by dividing the number of requests by the number of requests (the number of acquisition requests) into a plurality of times. The database management unit 132 of the database server (data search device 100) acquires the search results one by one from the database (database storage unit 131), but the transmission unit (search result transmission unit 122) has a plurality of search results ( Record data 626) can be transmitted. Further, from the database client (client device 300), a search execution request 510 specifying a query statement (search condition) indicating search open and a search result acquisition request 520 for acquiring search results for the specified number of times are closed. Is sent to the database server (data search apparatus 100).

データベースクライアント(クライアント装置300)から検索実行要求510が送信された場合、データベースサーバ(データ検索装置100)は、以下のように動作する。
受信部(検索実行要求受信部111)が、データベースクライアント(クライアント装置300)からの検索実行要求510を受信する。通信制御部(CPU911)は、バッファ管理部(先読み管理部142、管理テーブル管理部147)を呼び出し、先読みバッファ211、管理テーブル212をクリアし、先読み用ファイル(先読みファイル221)があれば削除する初期化処理を実行する。次に、通信制御部(CPU911)は、データベース管理部132に対して検索実行要求する。データベース管理部132から終了ステータスが返るので、送信部(検索結果送信部122)は、検索実行結果(検索ステータス610)としてデータベースクライアント(クライアント装置300)へ送信する。データベースクライアント(検索ステータス受信部312)は、結果をアプリケーション(アプリケーション部301)へ返し、ここで、クライアント側の検索実行要求処理は終了する。
When the search execution request 510 is transmitted from the database client (client device 300), the database server (data search device 100) operates as follows.
The receiving unit (search execution request receiving unit 111) receives the search execution request 510 from the database client (client device 300). The communication control unit (CPU 911) calls the buffer management unit (prefetch management unit 142, management table management unit 147), clears the prefetch buffer 211 and management table 212, and deletes the prefetch file (prefetch file 221) if there is one. Perform initialization processing. Next, the communication control unit (CPU 911) issues a search execution request to the database management unit 132. Since the end status is returned from the database management unit 132, the transmission unit (search result transmission unit 122) transmits the search execution result (search status 610) to the database client (client device 300). The database client (search status receiving unit 312) returns the result to the application (application unit 301), and the client side search execution request processing ends here.

データベースサーバ(データ検索装置100)は、続けて、検索結果の全件先読み処理を実行する。まず、通信制御部(CPU911)が、データベース管理部(データベース管理装置102)に対して検索結果取得要求する。データベース管理部132から返された検索結果(レコード)を、通信制御部(CPU911)がバッファ管理部(データ変換部141)に渡し、通信データ変換部(データ変換部141)により通信データ形式(送信形式)に変換する。   Subsequently, the database server (data search apparatus 100) executes a prefetch process for all search results. First, the communication control unit (CPU 911) issues a search result acquisition request to the database management unit (database management apparatus 102). The search result (record) returned from the database management unit 132 is passed to the buffer management unit (data conversion unit 141) by the communication control unit (CPU 911), and the communication data format (transmission) is transmitted by the communication data conversion unit (data conversion unit 141). Format).

通信データ(検索結果620)は、固定長のヘッダ(ヘッダデータ623)及び可変長のボディ(レコードデータ626)から構成される。ヘッダには、ボディ長が含まれる。ボディ(レコードデータ626)は、更に固定長のボディヘッダ(フィールドヘッダ624)と可変長のデータ(フィールドデータ625)の繰り返しで構成される。ボディヘッダには、データ型やデータ長が含まれる。データ変換部141が、データベースから読み出した1件の検索結果(レコード)から、列数分のボディヘッダとデータを作成してボディ(レコードデータ626)を生成し、先読み管理部142が、先読みバッファ211へ格納する。検索結果の文字コード、バイトオーダーはオペレーティングシステムに依存するため、必要であれば、データ変換部141がボディ(レコードデータ626)を作成する際に変換する。検索結果から作成したボディ(レコードデータ626)は、先読み管理部142が先読みバッファ211に詰めて格納し、管理テーブル管理部147が1件ごとのオフセット711とデータ長712を管理テーブル212にセットする。実際に送信する際には、通信データのヘッダ部分(ヘッダデータ623)が必要になるため、1件目の検索結果は、ヘッダのサイズ分空けて配置する。なお、1件目以外は直前のデータをつぶしてヘッダ(ヘッダデータ623)を上書きできるため、間を空ける必要はない。また、検索結果の列(フィールド)のサイズが非常に大きい場合は、予め定めたり、アプリケーション(アプリケーション部301)から指定されたりした長さで列のデータを切ってボディのデータとしてセットしてもよい。   The communication data (search result 620) includes a fixed-length header (header data 623) and a variable-length body (record data 626). The header includes the body length. The body (record data 626) further includes a repetition of a fixed-length body header (field header 624) and variable-length data (field data 625). The body header includes a data type and a data length. The data conversion unit 141 creates body headers and data corresponding to the number of columns from one search result (record) read from the database to generate a body (record data 626), and the prefetch management unit 142 creates a prefetch buffer. 211 is stored. Since the character code and byte order of the search result depend on the operating system, the data conversion unit 141 performs conversion when creating the body (record data 626) if necessary. The body (record data 626) created from the search result is stored in the prefetch buffer 211 in the prefetch buffer 211, and the management table manager 147 sets the offset 711 and the data length 712 for each case in the management table 212. . When actually transmitting, the header portion (header data 623) of the communication data is required, so the first search result is arranged with a space of the size of the header. In the case other than the first case, the header (header data 623) can be overwritten by crushing the immediately preceding data, so there is no need to leave a gap. In addition, when the size of a search result column (field) is very large, the column data may be cut and set as body data with a length determined in advance or designated by an application (application unit 301). Good.

先読み管理部142は、先読みバッファ211に空きがあれば、先読みバッファ211へ、空きがなければ、先読み用ファイル(先読みファイル221)へレコードデータ626を保存する。保存先へはボディを詰めて格納する。ただし、保存先の先頭レコードであれば、通信データのヘッダ部分(ヘッダデータ623)が必要になるため、先読み管理部142は、ヘッダのサイズ分を空けて、レコードデータ626を格納する。管理テーブル管理部147は、管理テーブル212へ保存先のオフセット711とデータ長712とを格納する。データベース管理部132から検索結果の最終レコードを取得したら、通信制御部(CPU911)がデータベース管理部132に対して検索終了要求し、データベース管理部132が検索クローズを実行して、処理を終了する。最終レコードまで取得していない場合は、以上の処理を繰り返す。   The prefetch management unit 142 stores the record data 626 in the prefetch buffer 211 if the prefetch buffer 211 is empty, and in the prefetch file (prefetch file 221) if there is no free space. The destination is stored with the body packed. However, since the header portion (header data 623) of the communication data is required for the first record at the storage destination, the prefetch management unit 142 stores the record data 626 with a space for the header size. The management table management unit 147 stores the storage destination offset 711 and the data length 712 in the management table 212. When the final record of the search result is acquired from the database management unit 132, the communication control unit (CPU 911) issues a search end request to the database management unit 132, the database management unit 132 executes the search close, and the process ends. If the last record has not been acquired, the above processing is repeated.

データベースクライアント(クライアント装置300)から検索結果取得要求520が送信された場合、データベースサーバ(データ検索装置100)は、以下のように動作する。
受信部(検索結果取得要求受信部121)が、データベースクライアント(クライアント装置300)からの検索結果取得要求520を受信する。検索実行要求510に対する検索結果を全件送信済みであれば、送信部(検索結果送信部122)が全件送信済みであることをデータベースクライアント(クライアント装置300)へ送信して、処理を終了する。全件の送信が完了していなければ、通信制御部(CPU911)はバッファ管理部(検索結果送信部122)を呼び出し、検索結果送信部122が、管理テーブル212から通信バッファ(先読みバッファ211)のオフセットを決定する。決定したオフセットが、通信バッファアドレスとなる。続けて、検索結果送信部122は、管理テーブル212から、要求件数分のデータ長712を加算して通信データのボディ長を求め、通信バッファ(先読みバッファ211)にヘッダ(ヘッダデータ623)を上書きする。送信部(検索結果送信部122)が通信バッファ(先読みバッファ211)の内容をデータベースクライアント(クライアント装置300)へ送信する。データベースクライアント(検索結果受信部322)は、取得結果(検索結果620)をアプリケーション(アプリケーション部301)へ渡し、ここで、クライアント側の1回の検索結果取得要求処理は終了する。
When the search result acquisition request 520 is transmitted from the database client (client device 300), the database server (data search device 100) operates as follows.
The receiving unit (search result acquisition request receiving unit 121) receives the search result acquisition request 520 from the database client (client device 300). If all the search results for the search execution request 510 have been transmitted, the transmission unit (search result transmission unit 122) transmits that all the transmission results have been transmitted to the database client (client device 300), and the process ends. . If transmission of all the cases has not been completed, the communication control unit (CPU 911) calls the buffer management unit (search result transmission unit 122), and the search result transmission unit 122 reads the communication buffer (prefetch buffer 211) from the management table 212. Determine the offset. The determined offset becomes the communication buffer address. Subsequently, the search result transmission unit 122 obtains the body length of the communication data by adding the data length 712 corresponding to the number of requests from the management table 212, and overwrites the header (header data 623) in the communication buffer (prefetch buffer 211). To do. The transmission unit (search result transmission unit 122) transmits the contents of the communication buffer (prefetch buffer 211) to the database client (client device 300). The database client (search result receiving unit 322) passes the acquisition result (search result 620) to the application (application unit 301), and here, one search result acquisition request process on the client side ends.

データベースサーバ(データ検索装置100)は、続けて、先読みした内容の管理処理を実行する。まず、バッファ管理部(先読み管理部142)は、管理テーブル212から先読みバッファ211の空きをチェックする。先読みバッファ211にまとまった空きがない場合は処理を終了する。空きがある場合、先読み管理部142は、先読み用ファイル(先読みファイル221)の内容を先読みバッファ211へ保存する。先読み用ファイル(先読みファイル221)の内容を全て先読みバッファ211へ保存できた場合、先読み管理部142は、先読み用ファイル(先読みバッファ211)を削除し、処理を終了する。
なお、先読みバッファ211のまとまった空きを制御しやすくするために、連続したメモリ上にバッファを複数確保してもよい。その場合、検索結果は最初のバッファから順に格納し、データベースクライアント(クライアント装置300)へ送信し空になったバッファに先読み用ファイル(先読みファイル221)のデータを格納する。
Subsequently, the database server (data search apparatus 100) executes a prefetched content management process. First, the buffer management unit (prefetch management unit 142) checks the availability of the prefetch buffer 211 from the management table 212. If there is no free space in the prefetch buffer 211, the process ends. When there is a vacancy, the prefetch management unit 142 stores the content of the prefetch file (prefetch file 221) in the prefetch buffer 211. When all the contents of the prefetch file (prefetch file 221) can be stored in the prefetch buffer 211, the prefetch management unit 142 deletes the prefetch file (prefetch buffer 211) and ends the process.
Note that a plurality of buffers may be secured on a continuous memory in order to make it easy to control a group of prefetch buffers 211. In this case, the search results are stored in order from the first buffer, and the data of the prefetch file (prefetch file 221) is stored in the empty buffer that is transmitted to the database client (client device 300).

データベースクライアント(クライアント装置300)から検索終了要求590が送信された場合、データベースサーバ(データ検索装置100)は、以下のように動作する。
受信部(検索終了要求受信部191)が、データベースクライアント(クライアント装置300)からの検索終了要求590を受信する。通信制御部(CPU911)はバッファ管理部(先読み破棄部193)を呼び出し、先読みバッファ211、管理テーブル212を解放し、先読み用ファイル(先読みファイル221)があれば削除する。送信部(了解送信部192)は、終了ステータスを検索終了結果(了解690)としてデータベースクライアント(クライアント装置300)へ送信する。データベースクライアント(了解受信部392)は、結果をアプリケーション(アプリケーション部301)へ返し、検索処理は全て終了する。
When the search end request 590 is transmitted from the database client (client device 300), the database server (data search device 100) operates as follows.
The receiving unit (search end request receiving unit 191) receives the search end request 590 from the database client (client device 300). The communication control unit (CPU 911) calls the buffer management unit (prefetch discard unit 193), releases the prefetch buffer 211 and the management table 212, and deletes the prefetch file (prefetch file 221) if any. The transmission unit (approval transmission unit 192) transmits the end status as a search end result (acceptance 690) to the database client (client device 300). The database client (acknowledgment reception unit 392) returns the result to the application (application unit 301), and all the search processing ends.

以上のように、クライアント(クライアント装置300)からの検索要求(検索実行要求510)に対する全件先読み処理を、通信バッファとしても使用可能なようにデータを配置した先読みバッファ211を使用して行うので、可変長でサイズが非常に大きいデータ型が存在し、検索に伴いデータベースのオープンからクローズまでサーバのリソースを大量に消費するデータベースシステムにおいて、データベースサーバの検索のためのリソースを早く解放でき、ハードウェア資源を有効に活用できる。また、検索結果の送信の都度、先読みバッファ211から通信データ形式に変換する必要がないため、検索結果の転送性能を維持することもできる。   As described above, all-read-ahead processing for a search request (search execution request 510) from a client (client device 300) is performed using the pre-read buffer 211 in which data is arranged so that it can also be used as a communication buffer. In a database system that has a variable length and a very large data type, and consumes a large amount of server resources from opening to closing of the database as a result of searching, it can quickly release resources for searching the database server, Hardware resources can be used effectively. In addition, since it is not necessary to convert the prefetch buffer 211 to the communication data format every time the search result is transmitted, the transfer performance of the search result can be maintained.

実施の形態4.
実施の形態4について、図13〜図15を用いて説明する。
Embodiment 4 FIG.
The fourth embodiment will be described with reference to FIGS.

図13は、この実施の形態におけるデータ検索システム800を構成する各装置の機能ブロックの構成の一例を示すブロック構成図である。
なお、実施の形態1で説明したデータ検索システム800と共通する部分については、同一の符号を付し、ここでは説明を省略する。
FIG. 13 is a block configuration diagram showing an example of the functional block configuration of each device constituting the data search system 800 in this embodiment.
Note that portions common to the data search system 800 described in the first embodiment are denoted by the same reference numerals, and description thereof is omitted here.

クライアント装置300は、更に、明細取得要求送信部351、明細受信部352を有する。
明細取得要求送信部351は、通信装置915を用いて、データ検索装置100に対して明細取得要求550を送信する。明細取得要求550は、データベース記憶部131が記憶したデータベースから1件のレコードを取得することを要求するデータであり、取得するレコードを指す指示情報を表わすデータを含む。
明細受信部352は、通信装置915を用いて、データ検索装置100が送信した明細650を受信する。明細650は、明細取得要求に含まれる指示情報により指されたレコードのデータを含む。
The client device 300 further includes a specification acquisition request transmission unit 351 and a specification reception unit 352.
The specification acquisition request transmission unit 351 transmits a specification acquisition request 550 to the data search device 100 using the communication device 915. The detail acquisition request 550 is data requesting to acquire one record from the database stored in the database storage unit 131, and includes data representing instruction information indicating the record to be acquired.
The specification receiving unit 352 uses the communication device 915 to receive the specification 650 transmitted by the data search device 100. The detail 650 includes data of a record pointed to by the instruction information included in the detail acquisition request.

サーバ装置101は、更に、明細取得要求受信部151、明細送信部152、明細変換部161、明細管理部162を有する。   The server device 101 further includes a detail acquisition request receiving unit 151, a detail transmitting unit 152, a detail converting unit 161, and a detail managing unit 162.

明細取得要求受信部151は、通信装置915を用いて、クライアント装置300が送信した明細取得要求550を受信する。明細取得要求受信部151は、CPU911を用いて、受信した明細取得要求550に含まれるデータが表わす指示情報を出力する。   The specification acquisition request receiving unit 151 receives the specification acquisition request 550 transmitted by the client device 300 using the communication device 915. Using the CPU 911, the detail acquisition request receiving unit 151 outputs instruction information represented by data included in the received detail acquisition request 550.

データベース管理部132は、CPU911を用いて、明細取得要求受信部151が出力した指示情報を入力する。データベース管理部132は、CPU911を用いて、入力した指示情報に基づいて、データベース記憶部131が記憶したデータベースのうち、指示情報により指されたレコードを含むデータベースを開く。データベース管理部132は、CPU911を用いて、開いたデータベースから、指示情報により指された1件のレコードを取得する。データベース管理部132は、CPU911を用いて、取得した1件のレコードを出力する。データベース管理部132は、CPU911を用いて、開いたデータベースを閉じる。   The database management unit 132 uses the CPU 911 to input the instruction information output from the detail acquisition request reception unit 151. The database management unit 132 uses the CPU 911 to open a database including a record pointed to by the instruction information among the databases stored in the database storage unit 131 based on the input instruction information. The database management unit 132 uses the CPU 911 to acquire one record pointed to by the instruction information from the opened database. The database management unit 132 uses the CPU 911 to output one acquired record. The database management unit 132 uses the CPU 911 to close the opened database.

明細変換部161は、CPU911を用いて、データベース管理部132が出力した1件のレコードを入力する。明細変換部161は、データ変換部141と同様、CPU911を用いて、入力した1件のレコードを、クライアント装置300に対して送信する形式に変換する。明細変換部161は、CPU911を用いて、変換した送信形式のデータ(以下「明細データ」と呼ぶ。)を出力する。   The detail conversion unit 161 uses the CPU 911 to input one record output from the database management unit 132. Similar to the data conversion unit 141, the detail conversion unit 161 uses the CPU 911 to convert one input record into a format to be transmitted to the client device 300. Using the CPU 911, the detail conversion unit 161 outputs the converted transmission format data (hereinafter referred to as “detailed data”).

明細管理部162は、CPU911を用いて、明細変換部161が出力した明細データを入力する。明細管理部162は、RAM914を用いて、あらかじめ、明細データを記憶する記憶領域(以下「明細バッファ213」と呼ぶ。)を確保しておく。明細管理部162は、RAM914を用いて、入力した明細データを、明細バッファ213に記憶する。
明細送信部152は、通信装置915を用いて、明細管理部162が明細バッファ213に記憶した明細データを、クライアント装置300に対して明細650として送信する。
The detail management unit 162 uses the CPU 911 to input the detail data output by the detail conversion unit 161. The detail management unit 162 uses the RAM 914 to reserve a storage area for storing the detail data (hereinafter referred to as “detail buffer 213”) in advance. The detail management unit 162 uses the RAM 914 to store the entered detail data in the detail buffer 213.
The specification transmission unit 152 transmits the specification data stored in the specification buffer 213 by the specification management unit 162 as the specification 650 to the client device 300 using the communication device 915.

データベースの1つのレコードに含まれるデータが大きい場合、データ検索時に、検索したレコードに含まれるデータをすべて取得しようとすると、データ検索装置100からクライアント装置300に対して送信するデータが膨大な量になってしまうので、検索結果としては、そのレコードを代表するデータのみを取得し、取得したデータに基づいて、更に詳しいデータを知りたいレコードを絞り込んで、絞り込んだレコードについて、詳細なデータを取得するという手順を踏む場合がある。   If the data contained in one record of the database is large, when attempting to acquire all the data contained in the retrieved record at the time of data retrieval, the amount of data transmitted from the data retrieval apparatus 100 to the client apparatus 300 becomes enormous. Therefore, as a search result, only the data representing the record is acquired, and based on the acquired data, the record for which more detailed data is desired is narrowed down, and detailed data is acquired for the narrowed down record. There are cases where the following steps are taken.

図14は、この実施の形態におけるデータ検索システム800を利用したログ管理システムにおいて、クライアント装置300が表示装置901を用いて表示する表示画面の一例を示す図である。   FIG. 14 is a diagram showing an example of a display screen displayed by the client device 300 using the display device 901 in the log management system using the data search system 800 in this embodiment.

検索条件入力画面850は、検索条件を入力するための画面であり、検索条件入力欄851、検索ボタン852を有する。
利用者が、検索条件入力欄851に検索条件を入力し、検索ボタン852を押すと、データ検索システム800は、検索を実行する。クライアント装置300は、検索結果画面860を生成して、表示装置901を用いて表示する。
The search condition input screen 850 is a screen for inputting search conditions, and includes a search condition input field 851 and a search button 852.
When the user inputs a search condition in the search condition input field 851 and presses the search button 852, the data search system 800 executes a search. The client device 300 generates a search result screen 860 and displays it using the display device 901.

検索結果画面860は、検索結果を表示するための画面であり、検索結果表示欄861、全文表示ボタン862、次画面ボタン863、条件変更ボタン864を有する。
検索結果表示欄861は、検索されたレコードの要約を一行に表示し、一度に複数のレコードの要約を表示する領域である。
利用者が、検索結果表示欄861に表示されたレコードのいずれかを選択し、全文表示ボタン862を押すと、クライアント装置300は、全文表示画面870を生成して、表示装置901を用いて表示する。
また、利用者が、次画面ボタン863を押すと、クライアント装置300は、一度に表示しきれなかった次の複数のレコードの要約を表示する検索結果画面860を生成し、表示装置901を用いて表示する。
また、利用者が、条件変更ボタン864を押すと、クライアント装置300は、検索条件入力画面850を生成し、表示装置901を用いて表示する。
The search result screen 860 is a screen for displaying the search result, and includes a search result display field 861, a full text display button 862, a next screen button 863, and a condition change button 864.
The search result display field 861 is an area for displaying a summary of searched records in one line and displaying a summary of a plurality of records at a time.
When the user selects any of the records displayed in the search result display field 861 and presses the full text display button 862, the client device 300 generates a full text display screen 870 and displays it using the display device 901. To do.
When the user presses the next screen button 863, the client device 300 generates a search result screen 860 that displays a summary of the next plurality of records that could not be displayed at once, and uses the display device 901. indicate.
When the user presses the condition change button 864, the client apparatus 300 generates a search condition input screen 850 and displays it using the display apparatus 901.

全文表示画面870は、詳細な検索結果を表示するための画面であり、日時表示欄871、ログ表示欄872、戻るボタン873を有する。
日時表示欄871は、ログが記録された日付及び時刻を表示する領域である。
ログ表示欄872は、ログの内容を表示する領域である。
利用者が、戻るボタン873を押すと、クライアント装置300は、表示装置901を用いて、もとの検索結果画面860を表示する。
The full text display screen 870 is a screen for displaying detailed search results, and includes a date / time display column 871, a log display column 872, and a return button 873.
The date display column 871 is an area for displaying the date and time when the log was recorded.
The log display column 872 is an area for displaying the contents of the log.
When the user presses the return button 873, the client device 300 displays the original search result screen 860 using the display device 901.

図15は、この実施の形態におけるクライアント装置300が、上述したログ管理システムを実現するログ管理処理の流れの一例を示すフローチャート図である。   FIG. 15 is a flowchart showing an example of the flow of log management processing in which the client device 300 in this embodiment realizes the log management system described above.

検索条件入力画面表示工程S461において、クライアント装置300(検索条件入力画面生成部)は、CPU911を用いて、検索条件入力画面850を生成する。クライアント装置300(検索条件入力画面表示部)は、表示装置901を用いて、生成した検索条件入力画面850を表示する。
検索ボタン判定工程S462において、クライアント装置300(検索ボタン判定部)は、CPU911を用いて、検索ボタン852が押されたか否かを判定する。検索ボタン852が押されたと判定した場合、検索実行要求送信工程S471へ進む。検索ボタン852が押されていないと判定した場合、検索ボタン判定工程S462を繰り返す。
In the search condition input screen display step S461, the client device 300 (search condition input screen generation unit) uses the CPU 911 to generate the search condition input screen 850. The client device 300 (search condition input screen display unit) displays the generated search condition input screen 850 using the display device 901.
In the search button determination step S462, the client device 300 (search button determination unit) uses the CPU 911 to determine whether or not the search button 852 has been pressed. If it is determined that the search button 852 has been pressed, the process proceeds to the search execution request transmission step S471. If it is determined that the search button 852 is not pressed, the search button determination step S462 is repeated.

検索実行要求送信工程S471において、クライアント装置300(検索実行要求生成部)は、CPU911を用いて、検索条件入力画面表示工程S461で表示した検索条件入力画面850の検索条件入力欄851に入力された検索条件に基づいて、検索実行要求510を生成する。また、クライアント装置300が生成する検索実行要求510には、検索されたレコードのうち、検索結果620として送信するデータを指定するデータが含まれる。この例において、クライアント装置300は、送信するデータとして、レコード番号、日時、本文(ただし先頭から所定の文字数のみ)の三つのフィールドを指定するデータを含む検索実行要求510を生成する。検索実行要求送信部311は、通信装置915を用いて、生成した検索実行要求510をデータ検索装置100に対して送信する。   In the search execution request transmission step S471, the client device 300 (search execution request generation unit) is input to the search condition input field 851 of the search condition input screen 850 displayed in the search condition input screen display step S461 using the CPU 911. A search execution request 510 is generated based on the search condition. Further, the search execution request 510 generated by the client device 300 includes data specifying data to be transmitted as the search result 620 among the searched records. In this example, the client device 300 generates a search execution request 510 including data specifying three fields of record number, date / time, and body (however, only a predetermined number of characters from the top) as data to be transmitted. The search execution request transmission unit 311 transmits the generated search execution request 510 to the data search device 100 using the communication device 915.

検索ステータス受信工程S472において、検索ステータス受信部312は、通信装置915を用いて、データ検索装置100が送信した検索ステータス610を受信する。
検索成否判定工程S473において、クライアント装置300(検索成否判定部)は、検索ステータス受信工程S472で検索ステータス受信部312が受信した検索ステータス610に基づいて、検索が成功したか失敗したかを判定する。検索が成功したと判定した場合、検索結果取得要求送信工程S481へ進む。検索が失敗したと判定した場合、検索条件入力画面表示工程S461に戻る。
In the search status reception step S472, the search status reception unit 312 receives the search status 610 transmitted by the data search device 100 using the communication device 915.
In the search success / failure determination step S473, the client device 300 (search success / failure determination unit) determines whether the search has succeeded or failed based on the search status 610 received by the search status reception unit 312 in the search status reception step S472. . When it is determined that the search is successful, the process proceeds to the search result acquisition request transmission step S481. If it is determined that the search has failed, the process returns to the search condition input screen display step S461.

検索結果取得要求送信工程S481において、クライアント装置300(検索結果取得要求生成部)は、CPU911を用いて、検索結果取得要求520を生成する。この例において、クライアント装置300は、検索結果表示欄861に表示できる行数を取得要求数として、検索結果取得要求520を生成する。検索結果取得要求送信部321は、通信装置915を用いて、生成した検索結果取得要求520をデータ検索装置100に対して送信する。   In the search result acquisition request transmission step S <b> 481, the client device 300 (search result acquisition request generation unit) generates a search result acquisition request 520 using the CPU 911. In this example, the client device 300 generates a search result acquisition request 520 using the number of rows that can be displayed in the search result display field 861 as the number of acquisition requests. The search result acquisition request transmission unit 321 uses the communication device 915 to transmit the generated search result acquisition request 520 to the data search device 100.

検索結果受信工程S482において、検索結果受信部322は、通信装置915を用いて、データ検索装置100が送信した検索結果620を受信する。
検索結果画面表示工程S483において、クライアント装置300(検索結果画面生成部)は、CPU911を用いて、検索結果受信工程S482で検索結果受信部322が受信した検索結果620に基づいて、検索結果画面860を生成する。クライアント装置300(検索結果画面表示部)は、表示装置901を用いて、生成した検索結果画面860を表示する。
ボタン判定工程S484において、クライアント装置300(ボタン判定部)は、CPU911を用いて、全文表示ボタン862、次画面ボタン863、条件変更ボタン864のうち、いずれかのボタンが押されたかを判定する。全文表示ボタン862が押されたと判定した場合、明細取得要求送信工程S491へ進む。次画面ボタン863が押されたと判定した場合、検索結果取得要求送信工程S481に戻る。条件変更ボタン864が押されたと判定した場合、検索条件入力画面表示工程S461に戻る。
In the search result receiving step S <b> 482, the search result receiving unit 322 receives the search result 620 transmitted by the data search device 100 using the communication device 915.
In the search result screen display step S483, the client device 300 (search result screen generation unit) uses the CPU 911 to search the search result screen 860 based on the search result 620 received by the search result reception unit 322 in the search result reception step S482. Is generated. Using the display device 901, the client device 300 (search result screen display unit) displays the generated search result screen 860.
In the button determination step S <b> 484, the client device 300 (button determination unit) uses the CPU 911 to determine which of the full text display button 862, the next screen button 863, and the condition change button 864 has been pressed. If it is determined that the full-text display button 862 has been pressed, the process proceeds to the detailed acquisition request transmission step S491. If it is determined that the next screen button 863 has been pressed, the process returns to the search result acquisition request transmission step S481. If it is determined that the condition change button 864 has been pressed, the process returns to the search condition input screen display step S461.

明細取得要求送信工程S491において、クライアント装置300(明細取得要求生成部)は、CPU911を用いて、明細取得要求550を生成する。この例において、クライアント装置300は、検索結果画面表示工程S483で表示した検索結果画面860の検索結果表示欄861から選択されたレコードに基づいて、選択されたレコードのレコード番号を求め、求めたレコード番号を指示情報として、明細取得要求550を生成する。明細取得要求送信部351は、通信装置915を用いて、生成した明細取得要求550をデータ検索装置100に対して送信する。   In the detail acquisition request transmission step S491, the client device 300 (detail acquisition request generation unit) uses the CPU 911 to generate a detail acquisition request 550. In this example, the client device 300 obtains the record number of the selected record based on the record selected from the search result display field 861 of the search result screen 860 displayed in the search result screen display step S483, and the obtained record A detail acquisition request 550 is generated using the number as instruction information. The detail acquisition request transmission unit 351 transmits the generated detail acquisition request 550 to the data search device 100 using the communication device 915.

明細受信工程S492において、明細受信部352は、通信装置915を用いて、データ検索装置100が送信した明細650を受信する。
全文表示画面表示工程S493において、クライアント装置300(全文表示画面生成部)は、CPU911を用いて、明細受信工程S492で明細受信部352が受信した明細650に基づいて、全文表示画面870を生成する。クライアント装置300(全文表示画面表示部)は、表示装置901を用いて、生成した全文表示画面870を表示する。
戻るボタン判定工程S494において、クライアント装置300(戻るボタン判定部)は、CPU911を用いて、戻るボタン873が押されたか否かを判定する。戻るボタン873が押されたと判定した場合、検索結果画面表示工程S483に戻る。戻るボタン873が押されていないと判定した場合、戻るボタン判定工程S494を繰り返す。
In the specification receiving step S492, the specification receiving unit 352 receives the specification 650 transmitted by the data search device 100 using the communication device 915.
In the full text display screen display step S493, the client device 300 (full text display screen generation unit) uses the CPU 911 to generate the full text display screen 870 based on the specification 650 received by the specification reception unit 352 in the specification reception step S492. . The client device 300 (full-text display screen display unit) displays the generated full-text display screen 870 using the display device 901.
In the return button determination step S494, the client device 300 (return button determination unit) uses the CPU 911 to determine whether or not the return button 873 has been pressed. If it is determined that the return button 873 has been pressed, the process returns to the search result screen display step S483. When it is determined that the return button 873 has not been pressed, the return button determination step S494 is repeated.

以上のようなクライアント装置300の動作を受けて、データ検索装置100は、以下のように動作する。   In response to the operation of the client device 300 as described above, the data search device 100 operates as follows.

検索実行要求送信工程S471で検索実行要求送信部311が検索実行要求510を送信すると、データ検索装置100では、検索実行要求受信部111が検索実行要求510を受信し、データベース管理部132がデータベースを検索する。データベース管理部132は、検索されたレコードをデータベースから取得し、先読み管理部142が先読みバッファ211(あるいは先読みファイル221)にレコードデータ626を記憶する。
その後、検索結果取得要求送信工程S481で検索結果取得要求送信部321が検索結果取得要求520を送信すると、データ検索装置100では、検索結果取得要求受信部121が検索結果取得要求520を受信し、検索結果送信部122が先読みバッファ211を送信バッファとして使用して、検索結果620を送信する。
利用者が次画面ボタン863を押すたびに上記の動作を繰り返し、クライアント装置300は、検索されたすべてのレコードについての検索結果620を取得できる。
When the search execution request transmission unit 311 transmits the search execution request 510 in the search execution request transmission step S471, in the data search device 100, the search execution request reception unit 111 receives the search execution request 510, and the database management unit 132 stores the database. Search for. The database management unit 132 acquires the retrieved record from the database, and the prefetch management unit 142 stores the record data 626 in the prefetch buffer 211 (or the prefetch file 221).
Thereafter, when the search result acquisition request transmission unit 321 transmits the search result acquisition request 520 in the search result acquisition request transmission step S481, in the data search device 100, the search result acquisition request reception unit 121 receives the search result acquisition request 520, The search result transmission unit 122 transmits the search result 620 using the prefetch buffer 211 as a transmission buffer.
Each time the user presses the next screen button 863, the above operation is repeated, and the client apparatus 300 can acquire the search results 620 for all the searched records.

クライアント装置300が、検索されたすべてのレコードについての検索結果620を取得しないうちに、利用者が条件変更ボタン864を押して、検索条件入力画面850に戻り、新たな検索条件を入力して、検索ボタン852を押したとする。クライアント装置300は、新たな検索条件を表わす検索条件データ512を含む検索実行要求510を生成し、検索実行要求送信工程S471で検索実行要求送信部311が検索実行要求510を送信する。
データ検索装置100では、検索実行要求受信部111が新たな検索実行要求510を受信し、データベース管理部132がデータベースを検索する。データベース管理部132は、検索されたレコードをデータベースから取得し、先読み管理部142が先読みバッファ211(あるいは先読みファイル221)にレコードデータ626を記憶する。このとき、先読みバッファ211(あるいは先読みファイル221)に記憶されていた古い検索結果は上書きされて破棄される。
したがって、最後まで取得されなかった検索結果は、クライアント装置300が検索終了要求590を送信しなくても、サーバ装置101に残らず、サーバ装置101の資源を浪費することはない。
Before the client device 300 acquires the search results 620 for all the searched records, the user presses the condition change button 864 to return to the search condition input screen 850, and enter a new search condition to search. Assume that the button 852 is pressed. The client device 300 generates a search execution request 510 including search condition data 512 representing a new search condition, and the search execution request transmission unit 311 transmits the search execution request 510 in a search execution request transmission step S471.
In the data search apparatus 100, the search execution request receiving unit 111 receives a new search execution request 510, and the database management unit 132 searches the database. The database management unit 132 acquires the retrieved record from the database, and the prefetch management unit 142 stores the record data 626 in the prefetch buffer 211 (or the prefetch file 221). At this time, old search results stored in the prefetch buffer 211 (or prefetch file 221) are overwritten and discarded.
Therefore, even if the client apparatus 300 does not transmit the search end request 590, the search result that has not been acquired until the end does not remain in the server apparatus 101, and the resources of the server apparatus 101 are not wasted.

クライアント装置300が、検索されたすべてのレコードについての検索結果620を取得しないうちに、利用者が全文表示ボタン862を押したとする。クライアント装置300は、明細取得要求送信工程S491で明細取得要求送信部351が明細取得要求550を送信する。
データ検索装置100では、明細取得要求受信部151が明細取得要求550を受信し、データベース管理部132がデータベースを検索して、指示情報が指すレコードを取得する。明細管理部162が明細データを明細バッファ213に記憶し、明細送信部152が明細バッファ213を送信バッファとして使用して、明細650を送信する。
このとき、先読みバッファ211(あるいは先読みファイル221)の内容は、以前のまま保たれている。したがって、利用者が戻るボタン873を押して検索結果画面860に戻り、続きを見るために次画面ボタン863を押した場合、データ検索装置100は、前回の続きの検索結果620を送信する。
It is assumed that the user presses the full text display button 862 before the client device 300 acquires the search results 620 for all the searched records. In the client apparatus 300, the detail acquisition request transmission unit 351 transmits the detail acquisition request 550 in the detail acquisition request transmission step S491.
In the data search device 100, the detail acquisition request receiving unit 151 receives the detail acquisition request 550, and the database management unit 132 searches the database to acquire the record indicated by the instruction information. The detail management unit 162 stores the detail data in the detail buffer 213, and the detail transmission unit 152 transmits the detail 650 using the detail buffer 213 as a transmission buffer.
At this time, the contents of the prefetch buffer 211 (or the prefetch file 221) are kept as before. Therefore, when the user presses the return button 873 to return to the search result screen 860 and presses the next screen button 863 to view the continuation, the data search device 100 transmits the search result 620 of the previous continuation.

この例において、明細取得要求550に含まれるデータが表わす指示情報は、「レコード番号が何某番」のレコードを指す。別の見方をすれば、指示情報は、「レコード番号が何某番」のレコードを検索する検索条件であると見ることもできる。したがって、クライアント装置300は、明細取得要求550をデータ検索装置100に対して送信するのではなく、上記検索条件を表わす検索条件データ512を含む検索実行要求510をデータ検索装置100に対して送信しても、指定したレコードのデータを取得できる。
しかし、クライアント装置300が明細取得要求550ではなく検索実行要求510を送信すると、データ検索装置100は古い検索結果を破棄するので、利用者が検索結果画面860に戻って続きを見ようとした場合、もう一度データベースを検索する必要が生じる。
これに対して、クライアント装置300が明細取得要求550を送信した場合には、明細送信部152が明細バッファ213を送信バッファとして使用して、明細650を送信する。このため、先読みバッファ211には古い検索結果が保持され、利用者が検索結果画面860に戻って続きを見ようとした場合でも、もう一度データベースを検索する必要がない。
In this example, the instruction information represented by the data included in the detail acquisition request 550 indicates a record with “how many record numbers”. From another point of view, the instruction information can be regarded as a search condition for searching for a record having “what number is the record number”. Therefore, the client device 300 does not transmit the detail acquisition request 550 to the data search device 100 but transmits a search execution request 510 including the search condition data 512 representing the search condition to the data search device 100. But you can get the data of the specified record.
However, when the client apparatus 300 transmits the search execution request 510 instead of the detail acquisition request 550, the data search apparatus 100 discards the old search result, so when the user returns to the search result screen 860 and tries to continue, It will be necessary to search the database again.
On the other hand, when the client device 300 transmits the detail acquisition request 550, the detail transmission unit 152 transmits the details 650 using the detail buffer 213 as a transmission buffer. Therefore, the old search result is held in the prefetch buffer 211, and even when the user returns to the search result screen 860 and tries to continue, it is not necessary to search the database again.

この実施の形態におけるデータ検索装置100は、更に、明細取得要求受信部151と、明細変換部161と、明細管理部162と、明細送信部152とを有することを特徴とする。
上記明細取得要求受信部151は、上記受信装置(通信装置915)を用いて、上記データベースから取得するデータ(レコード)を指す指示情報を表わすデータを含む明細取得要求550を上記クライアント装置300から受信することを特徴とする。
上記データベース管理部132は、上記処理装置(CPU911)を用いて、上記明細取得要求受信部151が受信した明細取得要求550に含まれるデータが表わす指示情報に基づいて、上記データベース記憶部131が記憶したデータベースから上記指示情報が指すデータ(レコード)を取得することを特徴とする。
上記明細変換部161は、上記処理装置(CPU911)を用いて、上記データベース管理部132が取得したデータを上記クライアント装置300へ送信する形式に変換することを特徴とする。
上記明細管理部162は、上記記憶装置(RAM914)を用いて、上記明細変換部161が変換したデータ(明細データ)を(明細バッファ213に)記憶することを特徴とする。
上記明細送信部152は、上記送信装置(通信装置915)を用いて、上記明細管理部162が(明細バッファ213に)記憶したデータ(明細データ)を上記クライアント装置300へ送信することを特徴とする。
The data search device 100 in this embodiment further includes a specification acquisition request receiving unit 151, a specification conversion unit 161, a specification management unit 162, and a specification transmission unit 152.
The detail acquisition request receiving unit 151 uses the reception device (communication device 915) to receive a detail acquisition request 550 including data representing instruction information indicating data (record) acquired from the database from the client device 300. It is characterized by doing.
The database management unit 132 uses the processing device (CPU 911) to store the database storage unit 131 based on instruction information represented by data included in the detail acquisition request 550 received by the detail acquisition request reception unit 151. The data (record) indicated by the instruction information is obtained from the database.
The detail conversion unit 161 uses the processing device (CPU 911) to convert the data acquired by the database management unit 132 into a format to be transmitted to the client device 300.
The detail management unit 162 stores the data (detailed data) converted by the detail conversion unit 161 (in the detail buffer 213) using the storage device (RAM 914).
The detail transmission unit 152 transmits the data (detail data) stored by the detail management unit 162 (in the detail buffer 213) to the client device 300 using the transmission device (communication device 915). To do.

この実施の形態におけるデータ検索装置100によれば、先読み管理部142が確保した記憶領域(先読みバッファ211)とは異なる記憶領域(明細バッファ213)に明細管理部162がデータ(明細データ)を記憶し、明細管理部162が記憶したデータを明細送信部152が送信するので、先読み管理部142が記憶したデータ(レコードデータ626)は、そのまま保持される。これにより、検索結果を保持したまま、ある検索の途中に別の検索を割り込ませることができるという効果を奏する。   According to the data search device 100 in this embodiment, the detail management unit 162 stores data (detailed data) in a storage area (detail buffer 213) different from the storage area (prefetch buffer 211) secured by the prefetch management part 142. Since the detail transmission unit 152 transmits the data stored in the detail management unit 162, the data (record data 626) stored in the prefetch management unit 142 is held as it is. As a result, it is possible to interrupt another search in the middle of a certain search while holding the search result.

以上説明したデータ検索方法は、検索結果を複数件一括して送信するための先読みバッファ211とは別に、検索結果を1件だけ送信するための明細用バッファ(明細バッファ213)を使用する。   The data search method described above uses a detail buffer (detail buffer 213) for transmitting only one search result, in addition to the prefetch buffer 211 for transmitting a plurality of search results collectively.

以上説明したデータ検索装置100は、検索結果を複数件一括して送信するための先読みバッファ211とは別に、検索結果を1件だけ送信するための明細用バッファ(明細バッファ213)を備える。明細用バッファ(明細バッファ213)は、バッファ管理部(先読み管理部142)に管理されない。   The data search apparatus 100 described above includes a detail buffer (detail buffer 213) for transmitting only one search result, in addition to the prefetch buffer 211 for transmitting a plurality of search results collectively. The detail buffer (detail buffer 213) is not managed by the buffer management unit (prefetch management unit 142).

アプリケーション(アプリケーション部301)は、データベースを検索し、検索結果を1件取得する。例えば、行ごとにシーケンシャル番号が振られているテーブルをその番号で検索する場合などである。データベースクライアント(クライアント装置300)からは、指定したレコードのデータ全てを取得する明細レコード取得要求(明細取得要求550)がデータベースサーバ(データ検索装置100)に送信される。   The application (application unit 301) searches the database and acquires one search result. For example, this is the case where a table with a sequential number assigned to each row is searched by that number. From the database client (client device 300), a detail record acquisition request (detail acquisition request 550) for acquiring all data of the specified record is transmitted to the database server (data search device 100).

データベースクライアント(クライアント装置300)が明細レコード取得要求(明細取得要求550)を送信した場合、データベースサーバ(データ検索装置100)は、以下のように動作する。
受信部(明細取得要求受信部151)が、データベースクライアント(クライアント装置300)からの明細レコード取得要求(明細取得要求550)を受信する。通信制御部(CPU911)は、データベース管理部132に対してデータベースクライアント(クライアント装置300)から指定されたレコードを特定する問い合わせ文を作成し検索実行要求する。データベース管理部132から終了ステータスが返るので、通信制御部(CPU911)は、続けてデータベース管理部132に対して検索結果取得要求する。データベース管理部132から返された検索結果を通信制御部(CPU911)は、通信データ変換部(明細変換部161)に渡す。通信データ変換部(明細変換部161)は通信データ形式に変換後、明細管理部162が明細用バッファ(明細バッファ213)を確保し格納する。送信部(明細送信部152)は明細用バッファ(明細バッファ213)の内容をデータベースクライアント(クライアント装置300)へ送信し、明細用バッファ(明細バッファ213)を解放後、処理を終了する。
なお、データベースクライアント(クライアント装置300)から複数件の検索結果を自由な問い合わせ文で取得するため、検索実行要求510、検索結果取得要求520、検索終了要求590が送信された場合のデータベースサーバ(データ検索装置100)の動作は、実施の形態1〜実施の形態3で説明したものと同様である。
When the database client (client device 300) transmits a detail record acquisition request (detail acquisition request 550), the database server (data search device 100) operates as follows.
The receiving unit (detail acquisition request receiving unit 151) receives the detail record acquisition request (detail acquisition request 550) from the database client (client device 300). The communication control unit (CPU 911) creates an inquiry statement for specifying a record designated from the database client (client device 300) to the database management unit 132, and makes a search execution request. Since the end status is returned from the database management unit 132, the communication control unit (CPU 911) subsequently requests the database management unit 132 to obtain a search result. The communication control unit (CPU 911) passes the search result returned from the database management unit 132 to the communication data conversion unit (detail conversion unit 161). After the communication data conversion unit (detail conversion unit 161) converts to the communication data format, the detail management unit 162 secures and stores the detail buffer (detail buffer 213). The transmission unit (detail transmission unit 152) transmits the contents of the detail buffer (detail buffer 213) to the database client (client device 300), releases the detail buffer (detail buffer 213), and ends the processing.
Note that in order to acquire a plurality of search results from the database client (client device 300) as a free query, the database server (data) when a search execution request 510, a search result acquisition request 520, and a search end request 590 are transmitted. The operation of the search device 100) is the same as that described in the first to third embodiments.

例えば、アプリケーション(アプリケーション部301)が検索実行要求する際に、1画面分を検索結果の取得件数(取得要求数)とし、検索結果には非常にサイズが大きいデータが含まれるため、取得する検索結果の列の長さを指定する。クライアント装置300は、検索結果取得要求520で取得した結果をそのまま画面に一覧表示する。ユーザ(利用者)は、一覧で全体を見たい結果があった場合にその指示を行い、アプリケーションは、明細レコード取得要求を実行する。ユーザは、次の一覧画面を表示させたい場合にその指示を行い、アプリケーションは次の検索結果取得要求を実行する。
これにより、アプリケーションで検索結果を全件取得し、データ表示を制御する必要がなく、必要な分だけ取得することができる。したがって、サイズが非常に大きいデータ型が存在するデータベースでは、検索結果のサイズも非常に大きくなるが、クライアント(クライアント装置300)上に全てを保持しないので、通信部分の負荷が減り、クライアントのリソースを圧迫することもない。
For example, when an application (application unit 301) makes a search execution request, the number of search results to be acquired (the number of acquisition requests) is one screen, and the search results include very large data. Specifies the length of the result column. The client device 300 displays a list of the results acquired by the search result acquisition request 520 as they are. The user (user) gives an instruction when there is a result that the user wants to see the entire list, and the application executes a detailed record acquisition request. The user gives an instruction to display the next list screen, and the application executes the next search result acquisition request.
As a result, all the search results are acquired by the application, and it is not necessary to control the data display, and it is possible to acquire only the necessary amount. Therefore, in a database in which a data type having a very large size exists, the size of the search result also becomes very large. There is no pressure.

このように、明細レコード1件分のバッファを先読みバッファ211とは別に持つようにして、データベースに対する検索処理の一般的な一連の流れである、検索実行要求510、検索結果取得要求520、検索終了要求590の間に、別の検索を割り込ませられるようにしているので、アプリケーションが不必要に、非常に大きなデータ量の検索結果を保持しなくてすむ。   As described above, a buffer for one detail record is provided separately from the prefetch buffer 211, and a search execution request 510, a search result acquisition request 520, and a search end, which are a general series of search processing for the database. Since another search can be interrupted during the request 590, the application need not hold a search result of a very large amount of data unnecessarily.

実施の形態1におけるデータ検索システム800の全体構成の一例を示すシステム構成図。1 is a system configuration diagram illustrating an example of an overall configuration of a data search system 800 according to Embodiment 1. FIG. 実施の形態1におけるデータ検索システム800におけるデータの流れの一例を示すシーケンス図。FIG. 3 is a sequence diagram illustrating an example of a data flow in the data search system 800 according to the first embodiment. 実施の形態1におけるサーバ装置101、データベース管理装置102、データベース記憶装置103、クライアント装置300の外観の一例を示す図。3 is a diagram showing an example of the appearance of a server device 101, a database management device 102, a database storage device 103, and a client device 300 in Embodiment 1. FIG. 実施の形態1におけるサーバ装置101、データベース管理装置102、データベース記憶装置103、クライアント装置300のハードウェア資源の一例を示す図。2 is a diagram illustrating an example of hardware resources of a server device 101, a database management device 102, a database storage device 103, and a client device 300 according to Embodiment 1. FIG. 実施の形態1におけるデータ検索システム800を構成する各装置の機能ブロックの構成の一例を示すブロック構成図。FIG. 3 is a block configuration diagram illustrating an example of a functional block configuration of each device that configures the data search system 800 according to the first embodiment. 実施の形態1におけるクライアント装置300とデータ検索装置100との間で送受信されるデータのデータ形式の一例を示す図。FIG. 3 is a diagram illustrating an example of a data format of data transmitted and received between the client device 300 and the data search device 100 according to the first embodiment. 実施の形態1におけるデータ検索装置100がデータベースを検索する検索処理、及び、データ検索装置100が検索結果を送信する結果送信処理の流れの一例を示すフローチャート図。The flowchart figure which shows an example of the flow of the search process in which the data search device 100 in Embodiment 1 searches a database, and the result transmission process in which the data search device 100 transmits a search result. 実施の形態1におけるデータ変換部141、先読み管理部142、検索結果送信部122の動作を模式的に表わす図。FIG. 6 schematically illustrates operations of a data conversion unit 141, a prefetch management unit 142, and a search result transmission unit 122 in the first embodiment. 実施の形態2における先読み管理部142の詳細ブロックの構成及び先読みバッファ211などのデータ構造の一例を示す図。The figure which shows an example of data structures, such as the structure of the detailed block of the prefetch management part 142 in Embodiment 2, and the prefetch buffer 211. FIG. 実施の形態2におけるデータ検索装置100がデータベースを検索する検索処理、及び、データ検索装置100が検索結果を送信する結果送信処理の流れの一例を示すフローチャート図。The flowchart figure which shows an example of the flow of the search process in which the data search device 100 in Embodiment 2 searches a database, and the result transmission process in which the data search device 100 transmits a search result. 実施の形態3における検索結果送信部122が検索結果620を送信する検索結果送信工程S432の流れの一例を示すフローチャート図。The flowchart figure which shows an example of the flow of search result transmission process S432 in which the search result transmission part 122 in Embodiment 3 transmits the search result 620. 実施の形態3における先読みバッファ211などのデータ構造の一例を示す図。FIG. 14 is a diagram illustrating an example of a data structure of the prefetch buffer 211 and the like in the third embodiment. 実施の形態4におけるデータ検索システム800を構成する各装置の機能ブロックの構成の一例を示すブロック構成図。FIG. 9 is a block configuration diagram illustrating an example of a functional block configuration of each device that configures a data search system 800 according to a fourth embodiment. 実施の形態4におけるデータ検索システム800を利用したログ管理システムにおいて、クライアント装置300が表示装置901を用いて表示する表示画面の一例を示す図。FIG. 20 is a diagram showing an example of a display screen displayed by the client device 300 using the display device 901 in the log management system using the data search system 800 in the fourth embodiment. 実施の形態4におけるクライアント装置300が、上述したログ管理システムを実現するログ管理処理の流れの一例を示すフローチャート図。The flowchart figure which shows an example of the flow of the log management process which the client apparatus 300 in Embodiment 4 implement | achieves the log management system mentioned above.

符号の説明Explanation of symbols

100 データ検索装置、101 サーバ装置、102 データベース管理装置、103 データベース記憶装置、111 検索実行要求受信部、112 検索ステータス送信部、121 検索結果取得要求受信部、122 検索結果送信部、131 データベース記憶部、132 データベース管理部、141 データ変換部、142 先読み管理部、143 先読みバッファ管理部、144 先読みファイル管理部、147 管理テーブル管理部、151 明細取得要求受信部、152 明細送信部、161 明細変換部、162 明細管理部、213 明細バッファ、191 検索終了要求受信部、192 了解送信部、193 先読み破棄部、211 先読みバッファ、212 管理テーブル、221 先読みファイル、300 クライアント装置、301 アプリケーション部、302 インターフェース部、311 検索実行要求送信部、312 検索ステータス受信部、321 検索結果取得要求送信部、322 検索結果受信部、351 明細取得要求送信部、352 明細受信部、391 検索終了要求送信部、392 了解受信部、501 コード部、502 データ部、510 検索実行要求、511 検索実行要求コード、512 検索条件データ、520 検索結果取得要求、521 検索結果取得要求コード、522 取得要求数データ、550 明細取得要求、590 検索終了要求、591 検索終了要求コード、610 検索ステータス、611 検索ステータスコード、612 検索ステータスデータ、620 検索結果、621 検索結果コード、622 データヘッダ、623 ヘッダデータ、624 フィールドヘッダ、625 フィールドデータ、626 レコードデータ、650 明細、690 了解、691 了解コード、711 オフセット、712 データ長、721 ヘッダ記憶領域、722〜724 空き領域、731 送信位置、732 送信長さ、800 データ検索システム、850 検索条件入力画面、851 検索条件入力欄、852 検索ボタン、860 検索結果画面、861 検索結果表示欄、862 全文表示ボタン、863 次画面ボタン、864 条件変更ボタン、870 全文表示画面、871 日時表示欄、872 ログ表示欄、873 戻るボタン、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。   DESCRIPTION OF SYMBOLS 100 Data search apparatus, 101 Server apparatus, 102 Database management apparatus, 103 Database storage apparatus, 111 Search execution request reception part, 112 Search status transmission part, 121 Search result acquisition request reception part, 122 Search result transmission part, 131 Database storage part , 132 Database management unit, 141 Data conversion unit, 142 Prefetch management unit, 143 Prefetch buffer management unit, 144 Prefetch file management unit, 147 Management table management unit, 151 Detail acquisition request reception unit, 152 Detail transmission unit, 161 Detail conversion unit 162 Detail management unit, 213 Detail buffer, 191 Search end request receiving unit, 192 Acknowledgment transmission unit, 193 Prefetch discard unit, 211 Prefetch buffer, 212 Management table, 221 Prefetch file, 300 Client device, 3 DESCRIPTION OF SYMBOLS 1 Application part, 302 Interface part, 311 Search execution request transmission part, 312 Search status reception part, 321 Search result acquisition request transmission part, 322 Search result reception part, 351 Detailed acquisition request transmission part, 352 Detailed reception part, 391 Search end Request transmission unit, 392 Acknowledgment reception unit, 501 Code unit, 502 Data unit, 510 Search execution request, 511 Search execution request code, 512 Search condition data, 520 Search result acquisition request, 521 Search result acquisition request code, 522 Number of acquisition requests Data, 550 Detail acquisition request, 590 Search end request, 591 Search end request code, 610 Search status, 611 Search status code, 612 Search status data, 620 Search result, 621 Search result code, 622 Data header, 623 Header data, 624 field header, 625 field data, 626 record data, 650 specification, 690 OK, 691 OK code, 711 offset, 712 data length, 721 header storage area, 722-724 free area, 731 transmission position, 732 transmission length 800 data search system, 850 search condition input screen, 851 search condition input field, 852 search button, 860 search result screen, 861 search result display field, 862 full text display button, 863 next screen button, 864 condition change button, 870 Full text display screen, 871 Date / time display column, 872 Log display column, 873 Return button, 901 Display device, 902 Keyboard, 903 Mouse, 904 FDD, 905 CDD, 906 Printer device, 907 Scanner device, 910 system unit, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication device, 920 magnetic disk device, 921 OS, 922 window system, 923 program group, 924 file group, 931 telephone, 932 facsimile machine, 940 Internet 941 Gateway, 942 LAN.

Claims (9)

クライアント装置からの要求によりデータベースを検索するデータ検索装置において、
データを記憶する記憶装置と、データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置と、データベース記憶部と、検索実行要求受信部と、データベース管理部と、データ変換部と、先読み管理部と、検索結果取得要求受信部と、検索結果送信部とを有し、
上記データベース記憶部は、上記記憶装置を用いて、上記データベースを記憶し、
上記検索実行要求受信部は、上記受信装置を用いて、上記データベースを検索する検索条件を表わすデータを含む検索実行要求を上記クライアント装置から受信し、
上記データベース管理部は、上記処理装置を用いて、上記検索実行要求受信部が受信した検索実行要求に含まれるデータが表わす検索条件に基づいて、上記データベース記憶部が記憶したデータベースから上記検索条件に合致するデータを検索し、上記処理装置を用いて、検索したデータを、上記データベース記憶部が記憶したデータベースから取得し、
上記データ変換部は、上記処理装置を用いて、上記データベース管理部が取得したデータを上記クライアント装置へ送信する形式に変換し、
上記先読み管理部は、上記記憶装置を用いて、上記データ変換部が変換したデータを記憶し、
上記検索結果取得要求受信部は、上記受信装置を用いて、上記クライアント装置が取得を要求するデータの取得要求数を表わすデータを含む検索結果取得要求を、上記クライアント装置から受信し、
上記検索結果送信部は、上記送信装置を用いて、上記検索結果取得要求受信部が受信した検索結果取得要求に含まれるデータが表わす取得要求数に基づいて、上記先読み管理部が記憶したデータから、上記取得要求数のデータを上記クライアント装置へ送信する
ことを特徴とするデータ検索装置。
In a data retrieval device that retrieves a database in response to a request from a client device,
Storage device for storing data, processing device for processing data, transmitting device for transmitting data, receiving device for receiving data, database storage unit, search execution request receiving unit, database management unit, data A conversion unit, a prefetch management unit, a search result acquisition request reception unit, and a search result transmission unit;
The database storage unit stores the database using the storage device,
The search execution request receiving unit receives a search execution request including data representing a search condition for searching the database from the client device using the receiving device,
The database management unit uses the processing device to change from the database stored in the database storage unit to the search condition based on the search condition represented by the data included in the search execution request received by the search execution request receiving unit. Search for matching data, and use the processing device to obtain the searched data from the database stored in the database storage unit,
The data conversion unit converts the data acquired by the database management unit into a format to be transmitted to the client device using the processing device,
The prefetch management unit stores the data converted by the data conversion unit using the storage device,
The search result acquisition request receiving unit receives, from the client device, a search result acquisition request including data representing the number of acquisition requests for data that the client device requests to acquire using the receiving device,
From the data stored in the prefetch management unit based on the number of acquisition requests represented by the data included in the search result acquisition request received by the search result acquisition request reception unit using the transmission device. A data search device that transmits data of the number of acquisition requests to the client device.
上記データ検索装置は、更に、管理テーブル管理部を有し、
上記先読み管理部は、上記記憶装置を用いて、順序づけられた複数の記憶領域を確保し、上記記憶装置を用いて、上記データ変換部が変換したデータを、確保した記憶領域に記憶し、
上記管理テーブル管理部は、上記記憶装置を用いて、上記先読み管理部がデータを記憶した記憶領域を表わすデータを記憶し、
上記検索結果送信部は、上記送信装置を用いて、上記管理テーブル管理部が記憶したデータが表わす記憶領域に記憶されたデータを上記クライアント装置へ送信する
ことを特徴とする請求項1に記載のデータ検索装置。
The data search apparatus further includes a management table management unit,
The prefetch management unit secures a plurality of ordered storage areas using the storage device, stores the data converted by the data conversion unit using the storage device in the secured storage area,
The management table management unit uses the storage device to store data representing a storage area in which the prefetch management unit stores data,
The search result transmission unit transmits data stored in a storage area represented by data stored in the management table management unit to the client device using the transmission device. Data retrieval device.
上記先読み管理部は、上記記憶装置を用いて、確保した記憶領域の最初から所定の大きさの記憶領域をヘッダ記憶領域とし、上記データ変換部が変換したデータを、上記ヘッダ記憶領域の次の記憶領域から順に記憶し、
上記検索結果送信部は、上記処理装置を用いて、上記クライアント装置へ送信するデータに付加するヘッダデータを生成し、上記記憶装置を用いて、上記管理テーブル管理部が記憶したデータが表わす記憶領域の前の所定の大きさの記憶領域に、生成したヘッダデータを記憶し、上記送信装置を用いて、記憶したヘッダデータと、上記ヘッダデータを記憶した記憶領域に続く記憶領域に記憶されたデータとを上記クライアント装置へ送信する
ことを特徴とする請求項2に記載のデータ検索装置。
The prefetch management unit uses the storage device as a storage area of a predetermined size from the beginning of the secured storage area as a header storage area, and converts the data converted by the data conversion unit to the next of the header storage area. Store in order from the storage area,
The search result transmission unit generates header data to be added to data to be transmitted to the client device using the processing device, and uses the storage device to store a storage area represented by the data stored by the management table management unit The generated header data is stored in a storage area of a predetermined size before, and the stored header data and the data stored in the storage area subsequent to the storage area storing the header data using the transmission device are stored. The data search device according to claim 2, wherein the data is transmitted to the client device.
上記先読み管理部は、上記記憶装置を用いて、上記データ変換部が変換したデータ一つにつき一以上の連続した記憶領域を使って、上記データ変換部が変換したデータを記憶し、
上記管理テーブル管理部は、更に、上記記憶装置を用いて、上記先読み管理部がそれぞれのデータを記憶した記憶領域の大きさを表わすデータを記憶し、
上記検索結果送信部は、上記処理装置を用いて、上記管理テーブル管理部が記憶したデータが表わす大きさに基づいて、上記クライアント装置へ送信するデータ全体の長さを算出し、上記送信装置を用いて、算出した長さに基づいて、上記記憶領域に記憶されたデータを上記クライアント装置へ送信する
ことを特徴とする請求項3に記載のデータ検索装置。
The prefetch management unit uses the storage device to store data converted by the data conversion unit using one or more continuous storage areas for each piece of data converted by the data conversion unit,
The management table management unit further stores data representing the size of the storage area in which the prefetch management unit stores the respective data using the storage device,
The search result transmission unit calculates the length of the entire data to be transmitted to the client device based on the size represented by the data stored in the management table management unit, using the processing device, The data search device according to claim 3, wherein the data search device transmits the data stored in the storage area to the client device based on the calculated length.
上記データ検索装置は、更に、明細取得要求受信部と、明細変換部と、明細管理部と、明細送信部とを有し、
上記明細取得要求受信部は、上記受信装置を用いて、上記データベースから取得するデータを指す指示情報を表わすデータを含む明細取得要求を上記クライアント装置から受信し、
上記データベース管理部は、更に、上記処理装置を用いて、上記明細取得要求受信部が受信した明細取得要求に含まれるデータが表わす指示情報に基づいて、上記データベース記憶部が記憶したデータベースから上記指示情報が指すデータを取得し、
上記明細変換部は、上記処理装置を用いて、上記データベース管理部が取得した上記指示情報が指すデータを上記クライアント装置へ送信する形式に変換し、
上記明細管理部は、上記記憶装置を用いて、上記明細変換部が変換したデータを記憶し、
上記明細送信部は、上記送信装置を用いて、上記明細管理部が記憶したデータを上記クライアント装置へ送信する
ことを特徴とする請求項1乃至請求項4のいずれかに記載のデータ検索装置。
The data search apparatus further includes a detail acquisition request receiving unit, a detail converting unit, a detail managing unit, and a detail transmitting unit.
The specification acquisition request receiving unit receives, from the client device, a specification acquisition request including data representing instruction information indicating data acquired from the database, using the receiving device.
The database management unit further uses the processing device to execute the instruction from the database stored in the database storage unit based on instruction information represented by data included in the detail acquisition request received by the detail acquisition request receiving unit. Get the data pointed to by the information,
The detail conversion unit uses the processing device to convert the data indicated by the instruction information acquired by the database management unit into a format to be transmitted to the client device,
The detail management unit stores the data converted by the detail conversion unit using the storage device,
5. The data search device according to claim 1, wherein the specification transmission unit transmits the data stored in the specification management unit to the client device using the transmission device. 6.
上記データ検索装置は、二以上の記憶装置を有し、
上記記憶装置のうち第二の記憶装置は、上記記憶装置のうち第一の記憶装置と比較して、データの書き込み及び読み出しにかかる時間が長く、
上記先読み管理部は、先読みバッファ管理部と、先読みファイル管理部とを有し、
上記先読みバッファ管理部は、上記第一の記憶装置を用いて、データを記憶する記憶領域を確保し、上記処理装置を用いて、確保した記憶領域に空きがあるか否かを判定し、確保した記憶領域に空きがあると判定した場合に、上記第一の記憶装置を用いて、上記データ変換部が変換したデータを空いている記憶領域に記憶し、確保した記憶領域に空きがないと判定した場合に、上記第二の記憶装置を用いて、上記データ変換部が変換したデータを記憶し、
上記先読みファイル管理部は、上記処理装置を用いて、上記先読みバッファ管理部が上記第二の記憶装置を用いて記憶したデータがあるか否かを判定し、上記先読みバッファ管理部が上記第二の記憶装置を用いて記憶したデータがあると判定した場合に、上記先読みバッファ管理部が確保した記憶領域に空きがあるか否かを判定し、上記先読みバッファ管理部が確保した記憶領域に空きがあると判定した場合に、上記第一の記憶装置を用いて、上記先読みバッファ管理部が上記第二の記憶装置を用いて記憶したデータを空いている記憶領域に記憶し、
上記検索結果送信部は、上記送信装置を用いて、上記先読み管理部が上記第一の記憶装置を用いて記憶したデータを上記クライアント装置へ送信する
ことを特徴とする請求項1乃至請求項5のいずれかに記載のデータ検索装置。
The data search device has two or more storage devices,
Of the storage devices, the second storage device takes a longer time to write and read data than the first storage device of the storage devices,
The prefetch management unit includes a prefetch buffer management unit and a prefetch file management unit,
The prefetch buffer management unit secures a storage area for storing data using the first storage device, determines whether there is a free space in the secured storage area using the processing device, and secures it. When it is determined that there is an empty storage area, the data converted by the data conversion unit is stored in the empty storage area using the first storage device, and there is no empty storage area. If determined, the second storage device is used to store the data converted by the data converter,
The prefetch file management unit determines whether there is data stored by the prefetch buffer management unit using the second storage device using the processing device, and the prefetch buffer management unit uses the second prefetch buffer management unit. When it is determined that there is data stored using the storage device, it is determined whether there is an empty storage area secured by the prefetch buffer management unit, and the storage area secured by the prefetch buffer management unit is free If it is determined that there is, using the first storage device, the prefetch buffer management unit stores the data stored using the second storage device in a free storage area,
The search result transmission unit transmits data stored by the prefetch management unit using the first storage device to the client device using the transmission device. The data search device according to any one of the above.
クライアント装置と、請求項1乃至請求項6のいずれかに記載のデータ検索装置とを有し、
上記クライアント装置は、データを送信する送信装置と、データを受信する受信装置と、検索実行要求送信部と、検索結果取得要求送信部と、検索結果受信部とを有し、
上記検索実行要求送信部は、上記送信装置を用いて、上記検索実行要求を上記データ検索装置へ送信し、
上記検索結果取得要求送信部は、上記送信装置を用いて、上記検索結果取得要求を上記データ検索装置へ送信し、
上記検索結果受信部は、上記受信装置を用いて、上記検索結果送信部が送信したデータを受信する
ことを特徴とするシステム。
A client device and the data search device according to any one of claims 1 to 6,
The client device includes a transmission device that transmits data, a reception device that receives data, a search execution request transmission unit, a search result acquisition request transmission unit, and a search result reception unit,
The search execution request transmission unit transmits the search execution request to the data search device using the transmission device,
The search result acquisition request transmission unit transmits the search result acquisition request to the data search device using the transmission device,
The search result receiving unit receives the data transmitted by the search result transmitting unit using the receiving device.
請求項1乃至請求項6のいずれかに記載のデータ検索装置として、コンピュータを機能させることを特徴とするプログラム。   A program that causes a computer to function as the data search device according to any one of claims 1 to 6. データを記憶する記憶装置と、データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有するデータ検索装置が、クライアント装置からの要求によりデータベースを検索するデータ検索方法において、
上記受信装置が、上記データベースを検索する検索条件を表わすデータを含む検索実行要求を上記クライアント装置から受信し、
上記処理装置が、受信した検索実行要求に含まれるデータが表わす検索条件に基づいて、上記データベースから上記検索条件に合致するデータを検索し、
上記処理装置が、検索したデータを、上記データベースから取得し、
上記処理装置が、取得したデータを上記クライアント装置へ送信する形式に変換し、

上記記憶装置が、変換したデータを記憶し、
上記受信装置が、上記クライアント装置が取得を要求するデータの取得要求数を表わすデータを含む検索結果取得要求を、上記クライアント装置から受信し、
上記送信装置が、受信した検索結果取得要求に含まれるデータが表わす取得要求数に基づいて、記憶したデータから、上記取得要求数のデータを上記クライアント装置へ送信する
ことを特徴とするデータ検索方法。
Data search in which a data search device having a storage device for storing data, a processing device for processing data, a transmission device for transmitting data, and a reception device for receiving data searches a database in response to a request from a client device In the method
The receiving device receives a search execution request including data representing a search condition for searching the database from the client device;
The processing device searches the database for data that matches the search condition based on the search condition represented by the data included in the received search execution request,
The processing device acquires the retrieved data from the database,
The processing device converts the acquired data into a format to be transmitted to the client device,

The storage device stores the converted data,
The receiving device receives a search result acquisition request including data representing the number of acquisition requests for data that the client device requests to acquire from the client device,
A data search method characterized in that the transmission device transmits data of the number of acquisition requests from the stored data to the client device based on the number of acquisition requests represented by data included in the received search result acquisition request. .
JP2007326825A 2007-12-19 2007-12-19 Data retrieval device, system, program and data retrieval method Pending JP2009151411A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007326825A JP2009151411A (en) 2007-12-19 2007-12-19 Data retrieval device, system, program and data retrieval method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007326825A JP2009151411A (en) 2007-12-19 2007-12-19 Data retrieval device, system, program and data retrieval method

Publications (1)

Publication Number Publication Date
JP2009151411A true JP2009151411A (en) 2009-07-09

Family

ID=40920527

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007326825A Pending JP2009151411A (en) 2007-12-19 2007-12-19 Data retrieval device, system, program and data retrieval method

Country Status (1)

Country Link
JP (1) JP2009151411A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110168521A (en) * 2016-10-20 2019-08-23 日本电信电话株式会社 Data processing equipment and data processing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04242458A (en) * 1991-01-16 1992-08-31 Nec Corp Decentralized data base system
JPH10124358A (en) * 1996-10-15 1998-05-15 Nec Corp Cursor system sql statement processing method of rda server
JPH11306053A (en) * 1998-04-24 1999-11-05 Hitachi Ltd Data transfer method and information processor for executing the method
JP2000339339A (en) * 1999-05-31 2000-12-08 Denso Corp Device for retrieving information
JP2004013758A (en) * 2002-06-11 2004-01-15 Nec Corp Method and system for controlling record pre-reading, server computer and program for server

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04242458A (en) * 1991-01-16 1992-08-31 Nec Corp Decentralized data base system
JPH10124358A (en) * 1996-10-15 1998-05-15 Nec Corp Cursor system sql statement processing method of rda server
JPH11306053A (en) * 1998-04-24 1999-11-05 Hitachi Ltd Data transfer method and information processor for executing the method
JP2000339339A (en) * 1999-05-31 2000-12-08 Denso Corp Device for retrieving information
JP2004013758A (en) * 2002-06-11 2004-01-15 Nec Corp Method and system for controlling record pre-reading, server computer and program for server

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110168521A (en) * 2016-10-20 2019-08-23 日本电信电话株式会社 Data processing equipment and data processing method
CN110168521B (en) * 2016-10-20 2023-08-22 日本电信电话株式会社 Data processing apparatus and data processing method

Similar Documents

Publication Publication Date Title
JP5220974B2 (en) Apparatus and method for acceleration of hardware execution or operating system functions
JP4186602B2 (en) Update data writing method using journal log
US8015146B2 (en) Methods and systems for assisting information processing by using storage system
US20110119602A1 (en) Web server, web browser and web system
JP5352491B2 (en) Method and apparatus for thin provisioning volume backup and restore
JP2012519907A5 (en)
JPH05181769A (en) Document data managing system
WO2017117919A1 (en) Data storage method and device
US20020178176A1 (en) File prefetch contorol method for computer system
JP2008026986A (en) Information browsing device, its control method and program
CN109947720A (en) A kind of pre-reading method of files, device, equipment and readable storage medium storing program for executing
JP2002183088A5 (en)
US7277991B2 (en) Method, system, and program for prefetching data into cache
KR20060017816A (en) Method and device for transferring data between a main memory and a storage device
JP5448428B2 (en) Data management system, data management method, and data management program
US9342472B2 (en) PRD (physical region descriptor) pre-fetch methods for DMA (direct memory access) units
JP2009151411A (en) Data retrieval device, system, program and data retrieval method
US20020156943A1 (en) Command issuing apparatus for high-speed serial interface
CN113326020A (en) Cache device, cache, system, data processing method, device and medium
JP6199782B2 (en) Computer system
TWI235921B (en) System and method for effectively performing physical direct memory access operations
US7284075B2 (en) Inbound packet placement in host memory
US5706512A (en) Computer program product for queuing and retrieving data objects to and from a shared storage medium
US5706513A (en) System and method for queuing an retrieving data objects to and from a shared storage medium
US20040193771A1 (en) Method, apparatus, and system for processing a plurality of outstanding data requests

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120906

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121113