JP2004213422A - Information retrieval server and information retrieval method - Google Patents

Information retrieval server and information retrieval method Download PDF

Info

Publication number
JP2004213422A
JP2004213422A JP2003000500A JP2003000500A JP2004213422A JP 2004213422 A JP2004213422 A JP 2004213422A JP 2003000500 A JP2003000500 A JP 2003000500A JP 2003000500 A JP2003000500 A JP 2003000500A JP 2004213422 A JP2004213422 A JP 2004213422A
Authority
JP
Japan
Prior art keywords
search
information
command
client
result
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
JP2003000500A
Other languages
Japanese (ja)
Inventor
Nobuyuki Yoneya
信行 米家
Takeshi Oka
剛士 岡
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003000500A priority Critical patent/JP2004213422A/en
Publication of JP2004213422A publication Critical patent/JP2004213422A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To eliminate the need to operate a retrieval request and a result acquisition synchronously and to display information useful for deciding whether the retrieval should be executed or continued or stopped. <P>SOLUTION: Before a command to perform access to a database is generated based on a retrieval request (S31), or while retrieval is processed, a second command whose processing time is short is generated (S33, 40), and information equivalent to a portion of the retrieval result or the edition result is acquired, and transmitted to a client (S34, 41). The client deices whether to progress processing by using the information as decision materials. The information of the retrieval result is stored on a server (S44), and the stored information is transmitted to a client in receiving a request from the client (S47). <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、クライアント・サーバ方式の情報検索システム及び情報検索方法に関する。
【0002】
【従来の技術】
近年、エンドユーザコンピューティング(EUC)という考えが普及している。EUCとは、「一般ユーザーが生産性の向上をめざし、コンピュータを使い簡単にデータベースを検索・抽出すること」を表す。基幹系のデータベースをエンドユーザ(業務遂行者)に公開し、データにアクセスする環境を提供することで、エンドユーザ自らがデータ活用のニーズ(欲しいデータ項目のみを抽出、自分が分析したい形で集計等を実施、自分が望む形で帳票等を作成など)を実現することができるようになる。一般的に、サーバに複数のクライアントを接続し、データベース検索を行う情報検索システムにおいては、各クライアントからサーバに検索実行要求が送られ、サーバがその要求を受け取り、検索実行プロセスを起動することによって該当処理を実行する。その後、この処理によって検索結果が得られると、この得られた検索結果を、要求元のクライアントへと送信する。
【0003】
この場合、クライアントから送信された検索要求に対する結果が、サーバから直ちに返信されてくるという保証はない。例えばクライアントから送信された検索要求に含まれる検索条件が過度に広すぎた場合、もしくは要求した検索条件自体が誤っていた場合、その検索結果が返ってくるまでの待ち時間は、長時間にわたる可能性がある。そしてこのような状況が発生した場合、クライアントは、その問題を含む検索結果がサーバから返信されてくるまでの間、制約を受けることになる。そのため各端末においては、こうした事態を予測し、操作入力したサーバに対する検索要求を取り消すことを可能としている(特許文献1参照)。
【0004】
【特許文献1】
特開2001−249903号公報
【0005】
【発明が解決しようとする課題】
しかしながら、各端末において、サーバに対して要求した検索処理を取り消すことを可能とする上記情報検索システムにおいても、依然として課題がある。
第一に挙げられる課題は、クライアントから正常な検索要求が依頼されたが、その検索結果が過度に広がっていた場合、サーバの検索処理時間が長時間に渡ることに伴って、クライアントの待ち時間も長くなり、そのためクライアントでは、リソースが消費され他の業務を実行する上で性能面の影響を受け、またクライアントの停止、情報検索システムを停止ができないといった制約を受けるという点である。
【0006】
第二の課題は、操作者が誤って、必要とする目的情報に対して過不足がある情報を検索する要求を依頼した場合、操作者は検索結果を得るまではその誤りに気づくことがないという点である。
第三の課題は、クライアントから、結果が過度に広がるような誤った検索要求が依頼され、システムの負荷軽減の観点などから処理を取り消す必要が生じた場合においても、検索処理の中断を実行できる操作者に対して、検索処理の中断を判断する根拠となる情報が一切渡っていないという点である。
【0007】
本発明は、情報検索システムのこのような現状に鑑み、クライアントによる検索要求と、その結果の取得を同期的に行う必要のない情報検索システムを提供することを目的とする。また、本発明は、操作者が検索要求を実行するか否かを判断する助けとなる情報、あるいは実行中の検索処理を継続するか中止するかを判断する際の助けとなる情報を表示できる情報検索システムを提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、クライアントからの検索要求を受けてデータベースを検索する本発明の情報検索サーバは、クライアントからの検索要求によって得られる検索結果を一時保存するための記憶部と、少なくとも検索要求を識別する処理識別子と当該検索要求に対する検索結果を保存している記憶部内の保存場所を関連付けて記憶した管理テーブルとを有し、検索要求を受けると、当該検索要求を識別する処理識別子を生成し、生成した処理識別子を当該検索要求の送信元に返すことを特徴とする。管理テーブルには、操作者が検索結果を取得する際、又はその検索結果が操作者の所望する内容であるか否かを判断させるために目的情報の一部又は編集結果をクライアントに提供する際に利用する処理識別子や実行コマンド、端末識別子、結果保存先場所、プロセス識別子といったデータを保持してもよい。
【0009】
検索要求によって得られた検索結果を、情報検索サーバ内の結果保存用領域にファイル形式で格納しておくことにより、情報検索サーバとクライアント間における処理要求と結果の取得を非同期とし、第一の課題であるリソースの消費・システムの停止ができないといった制約を解決することができる。
【0010】
また、クライアントは、検索要求送信と同時に、検索結果判断情報の要求を送信する手段を備える。クライアントが検索要求時に検索結果判断情報の取得を要求した場合、情報検索サーバは、処理識別子と検索処理コマンドと結果判断データ検索コマンドを自動生成し、処理識別子、検索処理コマンド、要求を送信したクライアントの端末識別子を管理テーブルに登録する。次に、結果判断情報検索コマンドを実行し、検索結果である結果判断情報をクライアントへ送信する。クライアント側では、この判断データを元に、検索要求を実行するかどうか判断し、実行の継続要求、又は取り消し要求を情報検索サーバへ送信する。情報検索サーバは、クライアントからの要求が、継続要求である場合、管理テーブルに保存した検索実行コマンドを実行し、取り消し要求である場合、該当処理を取り消す。このように構成された情報検索システムにおいては、送信した検索要求により操作者が必要とする目的情報を取得できるかどうかを、検索処理実行前に判断し、また検索処理の実行、取り消しを選択することができる。
【0011】
さらに、上述の検索処理実行中においても、クライアントから結果判断情報の要求を送信する手段を備える。クライアントが検索要求応答を受信した後に、情報検索サーバへ結果判断情報の要求を送信する際に、結果応答要求に含まれている処理識別子を送信する。情報検索サーバは、この処理識別子を元に管理テーブルを検索し、実行中である検索処理に該当する検索コマンドを取得する。この検索コマンドを元に、結果判断情報選択画面を自動生成し、クライアントへ表示する。操作者はこの結果判断情報選択画面より、必要とする結果判断情報を選択し、情報検索サーバへ結果判断情報の要求を送信する。情報検索サーバでは、この結果判断情報の要求を受信すると結果判断情報検索コマンドを自動生成し、コマンドを実行する。情報検索サーバは、検索結果である結果判断情報をクライアントへ送信し、操作者はこの情報を元に実行中の検索処理を継続するか中止するか判断する。中止する場合は、中止したい処理の処理識別子を含む中止要求を情報検索サーバへ送信し、これを受信した情報検索サーバは、管理テーブルより処理識別子を元にプロセス識別子を取得し、該当する検索処理プロセスを中止する。このように構成された検索情報システムにおいては、操作者は実行中の処理を継続するが中止するかを判断する情報を取得でき、中止する場合に該当する実行プロセスを特定でき、中止を実行することができる。
【0012】
本発明による情報検索方法は、クライアントからデータベースに対する検索要求を受け付けるステップと、検索要求に基づいて処理識別子とデータベースへアクセスするコマンドを生成するステップと、生成した処理識別子をクライアントに送信するステップと、生成したコマンドを実行するステップと、処理識別子と関連付けされた検索結果保存場所にコマンドの実行により取得した情報を保存するステップと、検索結果保存場所あるいは処理識別子の指定を受け、当該結果保存場所あるいは当該処理識別子に関連付けられた検索結果保存場所に保存されている情報を送信するステップとを含むことを特徴とする。
【0013】
本発明による情報検索方法は、また、クライアントからデータベースに対する検索要求を受け付ける第1のステップと、検索要求に基づいてデータベースへアクセスするコマンドを生成する第2のステップと、第2のステップで生成されたコマンドを実行する第3のステップとを含む情報検索方法において、第3のステップの前に、第3のステップで得られる情報の一部又はその編集結果に当たる情報を取得するための第2のコマンドを生成するステップと、第2のコマンドを実行するステップと、第2のコマンドによって取得した情報を前記クライアントに送信するステップとを実行することを特徴とする。
【0014】
操作者は、第2のコマンドによって得られた情報を判断材料として、情報検索サーバによる処理を第3のステップに進めるか、それとも検索を中止するかを決めることができる。操作者が検索を中止することを決めると、クライアントから情報検索サーバに検索中止の指示が送信され、情報検索サーバは処理を第3のステップに進めることなく検索処理を中止することになる。
【0015】
本発明による情報検索方法は、また、クライアントからデータベースに対する検索要求を受け付ける第1のステップと、検索要求に基づいてデータベースへアクセスするコマンドを生成する第2のステップと、第2のステップで生成されたコマンドを実行する第3のステップとを含む情報検索方法において、第3のステップにおけるコマンドの実行中に、第3のステップで得られる情報の一部又はその編集結果に当たる情報を取得するための第2のコマンドを生成するステップと、第2のコマンドを実行するステップと、第2のコマンドによって取得した情報を前記クライアントに送信するステップとを実行することを特徴とする。
【0016】
操作者は、第2のコマンドによって得られた情報を判断材料として、情報検索サーバによる処理を続行するか、それとも検索を中止するかを決めることができる。操作者が検索中止を決めると、クライアントから情報検索サーバに検索中止の指示が送信され、情報検索サーバは第3のステップの途中で検索処理を中止することになる。
【0017】
本発明の情報検索方法は、表形式によってデータを保持しているデータベースに対する情報検索に対して特に有用である。
本発明によると、利用者が入力した検索式による検索結果が膨大なヒット件数になるような場合であっても、情報検索サーバでの検索処理時間は、クライアント側に影響を及ぼさないため、クライアントは、リソースの消費・システム停止の不可といった制約を回避することができる。また、検索実行前に結果判断情報である目的情報の一部又はその編集結果を確認することが可能となり、誤った検索処理を実行する必要がなくなる。更に、検索実行中であっても結果判断情報である目的情報の一部又はその編集結果を確認することが可能となり、実行中のプロセスを中止するかどうか、判断することができる。
【0018】
【発明の実施の形態】
以下、本発明の一実施形態を、図面を用いて説明する。
図1は、本発明による情報処理システムの概略構成例を示すブロック図である。
この情報処理システムにおいては、1台の情報検索サーバ11に対して、端末1から端末Nまでの複数のクライアントが接続されている。各端末は、例えばパーソナルコンピュータで構成されており、操作者の指示に基づいて、検索要求や、要求した検索の取り消し要求、結果判断情報の取得要求、さらに実行中処理の中止要求を、情報検索サーバ11に対して送信する。また情報検索サーバ11は、クライアントからの検索要求を実行し、結果を取得するためのデータベース12と、各種処理を実現するための管理テーブル13を備えている。
【0019】
図2は、管理テーブルの構成例を示す図である。管理テーブルには、クライアントから検索要求が送信された際に生成される処理識別子と、検索要求から自動生成される検索実行コマンドと、検索要求を送信した端末を識別する端末識別子と、検索結果が保存される結果保存場所と、実行コマンドを実行する処理プロセスを識別するプロセス識別子が格納される。
【0020】
図3は、本発明による情報検索処理の一例を示すフローチャートである。
クライアントは検索条件を入力し情報検索サーバへ検索要求と端末識別子を送信し、情報検索サーバはクライアントからの検索要求を受け付ける(S11)。検索要求を受けた情報検索サーバは、検索の処理識別子と検索処理コマンドを自動生成し(S12)、クライアントへ処理識別子を含む要求受付応答を送信すると同時に、前記の処理識別子、自動生成した処理コマンド、要求を送信した端末の端末識別子を管理用テーブルに保存する(S13)。次に情報検索サーバは、自動生成した検索処理コマンドを実行する実行プロセスを起動し検索処理を開始し、同時に前記の実行プロセスを識別するプロセス識別子を管理用テーブルに登録する(S14)。検索処理が終了すると、情報検索サーバは、検索結果を記憶部の結果保存領域に保存し、その保存場所を管理テーブルに登録し、管理テーブルより該当する実行プロセスのプロセス識別子に関連した端末識別子を取得する。そして、取得した端末識別子を元に、検索要求を送信した端末へ、結果保存場所を含む検索終了応答を送信する(S15)。検索終了応答を受信したクライアントは、情報検索サーバより送信された検索保存場所より、検索結果を取得する。検索結果の取得は、例えば、情報検索サーバより指定された検索保存場所にアクセスしてダウンロードすることにより行うことができる(S16)。
【0021】
なお、クライアントは前記の情報検索サーバより送信された検索終了応答の受信の有無に関わらず、情報検索サーバ上の管理テーブルより処理識別子を元に結果保存場所を検索でき、検索結果を取得することができる。このように構成された情報検索システムにおいては、クライアントからの検索要求と、該当する検索結果の取得を非同期とすることができる。なお、クライアントが情報検索サーバ上の検索保存場所にアクセスして検索結果をダウンロードする方法に代えて、情報検索サーバが提供する検索結果取得画面上で、検索要求の際に情報検索サーバから発行された処理識別子を入力することにより、その処理識別子に対応する検索結果が自動的にダウンロードされるように構成してもよい。
【0022】
従来の検索システムでは、検索要求と、その結果の取得が同期的に行われているため、以下のような制約があった。
1.検索要求から結果の取得まで同じ端末で操作し完結しなければならない。
2.取得する時間も、結果が帰ってくるタイミングにあわせて行う必要がある。3.情報検索サーバ側での検索処理の間も、クライアントは情報検索サーバとの接続を維持する必要があり、電源を落とす等の行為は実行できない。
しかし、本発明のように、検索要求と結果の取得を非同期とすることで、上述した3つの制約を全て回避することが可能となる。
【0023】
図4及び図5は、本発明による検索処理の概要を説明するフローチャートであり、図4はクライアント側の処理例を示すフローチャート、図5は情報検索サーバ側の処理例を示すフローチャートである。
最初に、図4を用いてクライアント側の処理例について説明する。操作者は検索要求を作成し、情報検索サーバに送信する(S21)。その後、操作者は検索結果のサンプル表示(結果判断情報の表示)をさせるかどうかを決め、サンプル表示をさせる場合にはサンプル表示条件を送信する(S22)。サンプル表示のための検索は簡単な検索であるため、情報検索サーバによる検索処理は直ちに終了し、情報検索サーバから結果が返される。操作者はその結果を確認し(S23)、予想通りの結果が得られている場合には検索処理実行を指示する(S24)。ステップ22においてサンプル表示をさせない場合には、直ちにステップ24に進んで、検索処理実行を指示する。また、ステップ23においてサンプル表示の内容を確認した結果、予想と異なる場合には、検索条件に誤りがあったことが想定されるため、検索要求をキャンセルしてステップ21に戻り、検索要求を再作成する。
【0024】
また、ステップ22の判定においてサンプル表示をさせず直ちにステップ24に進んで検索処理実行を指示した場合においても、検索処理実行中の情報検索サーバに対していつでもサンプル表示を要求することができる(S25)。ステップ25においてサンプル表示を要求した場合には、ステップ26に進んでサンプル表示条件を送信する(S26)。サンプル表示のための検索は簡単な検索であるため、情報検索サーバによる検索処理は直ちに終了し、情報検索サーバから結果が返される。操作者はその結果を確認し(S27)、予想通りの結果が得られている場合には検索処理を続行させるが、予想した結果と異なる場合には、検索条件に誤りがあったことが想定されるため、情報検索サーバに検索処理の中止を指示し、ステップ21に戻って、検索要求を再作成する。
その後、情報検索サーバから送信される検索終了応答を待ち(S28)、検索終了応答を受信した後、情報検索サーバに検索結果取得要求を送信し(S29)、検索結果を取得する(S30)。
【0025】
次に、図5を用いて情報検索サーバ側の処理例について説明する。クライアントから検索要求を受信した情報検索サーバでは、検索用実行SQLを生成する(S31)。その後、クライアントからサンプル表示条件を受信したかどうか判定し(S32)、受信していない場合にはステップ36に進み、検索処理を実行する。また、ステップ32においてサンプル表示条件を受信したと判定された場合には、サンプル表示用SQLを生成して実行し(S33)、得られたサンプル表示画面をクライアントに送信する(S34)。その後、クライアントからのサンプル結果確認が送信されてくるのを待ち、検索処理実行指示の場合にはステップ36に進んで検索処理を実行し、検索キャンセルの場合には検索処理を終了する。
【0026】
また、ステップ36において検索処理を開始した後も、クライアントからサンプル表示要求があるか否かを判定し(S37)、サンプル表示要求がなかった場合にはステップ43に進んで検索結果を取得する。ステップ37においてサンプル表示要求があった場合には、サンプル選択画面を生成し、クライアントに送信する(S38)。次に、サンプル表示条件を取得し(S39)、取得したサンプル表示条件に基づいてサンプル表示用SQLを生成し、実行する(S40)。そして、得られたサンプル表示画面を送信する(S41)。その後、クライアントから送信されてくるサンプル確認結果を待ち(S42)、検索キャンセルの場合には検索処理を終了する。
【0027】
ステップ42の判定が検索処理続行の場合には、ステップ43に進んで検索結果を取得する。次に、検索結果を格納領域に保存し(S44)、検索格納領域についての情報をクライアントに通知する(S45)。その後、クライアントから検索結果取得要求が送信されてくるのを待ち、検索結果を送信し(S47)、検索処理を終了する。
【0028】
以上説明したように、検索要求を実行した結果である検索結果は、クライアントへ直接送信されるのではなく、一時、検索結果保存領域に格納される(S44)。その後、情報検索サーバはクライアントへ検索結果保存場所を通知し(S45)、クライアントからの検索結果取得要求(S29,S46)を受けてから、クライアントへ検索結果を送信する(S47)。この処理によって、検索要求と結果の取得を非同期とすることを実現する。
【0029】
また操作者は、検索要求を送信した後、その実行コマンドの処理が実際に開始する前と、その実行中において、必要に応じて結果判断情報を要求することができる(S22,S25)。操作者は、結果判断情報として求めるデータ表示形式を、サンプル選択画面で決定し、その条件を情報検索サーバに送信(S22,S26)することで、必要な形式の結果判断情報を参照することができる。そして操作者は、そのサンプルを参照した結果として、処理の続行もしくは中止を判断し、情報検索サーバに結果を送信する(S23,S27)。情報検索サーバはその結果を受け、続行・中止の処理を行うS35,S42)。以下ではこの後述の処理に関して、検索処理実行前のサンプル表示機能と、検索処理実行中のサンプル表示機能とに分けて説明する。
【0030】
図6は、検索処理実行前にサンプルを表示させる場合の処理手順例を示す図である。クライアントから情報検索サーバへ検索要求が送信されると(B1)、情報検索サーバでは検索要求を実行するための実行コマンドと、それに対応した処理識別子を生成する(B2)。そしてこれら2つの情報と、検索要求を送信した端末の端末識別子を、管理テーブルに登録する(B3)。さらに情報検索サーバでは、クライアントから送信された結果判断情報表示条件と実行コマンドをもとに、判断情報検索コマンドを生成する(B4)。この判断情報検索コマンドを実行(B5)することで判断情報表示用の結果を取得し(B6)、表示画面を生成する(B7)。情報検索サーバはこの画面と、実行コマンドに割り振られた処理識別子をクライアントへ返す(B8)。クライアントはその結果判断情報を参照し、実行コマンドを実行するか否かを判断して、処理識別子と実行要求を情報検索サーバへ送信する(B9)。処理識別子と実行要求を得た情報検索サーバは、実行要求である場合は、実行コマンドを処理する処理プロセスを起動して(B10)、検索処理を実行し(B11)、そのプロセスを特定できるプロセス識別子を管理テーブルのプロセス識別子列に登録する(B12)。
【0031】
情報検索サーバはその処理の結果を得ると(B13)、その結果を保存する領域を決定し(B14)、管理用テーブルの結果保存場所列に登録する(B15)。そして得られた検索結果を、先に決定した結果保存場所に格納する(B16)。また、その保存場所は、管理テーブルに登録された端末識別子を持つクライアントに対して、処理終了のメッセージとともに通知される(B17)。通知を受けたクライアントは、必要に応じてその保存場所にアクセスし(B18)、検索結果を取得する(B19)。
【0032】
図7は、検索処理実行中に結果確認情報を表示し、プロセス中止が指定された場合の処理手順例を示す図である。クライアントから情報検索サーバへ検索要求が送信されると(C1)、情報検索サーバでは検索要求を実行するための実行コマンドと、それに対応した処理識別子を生成する(C2)。そしてこれら2つの情報と、検索要求を送信した端末を識別する端末識別子を、管理テーブルに登録する(C3)。同時に、クライアントに向けて検索依頼受諾の応答を、処理識別子とともに送信する(C4)。情報検索サーバは、実行コマンドを処理する処理プロセスを起動し(C5)、実行コマンドを開始する(C6)。この際、処理プロセスを識別するプロセス識別子を管理テーブルに登録する(C7)。
【0033】
登録終了後、情報検索サーバはクライアントからのサンプル表示要求を取得するため待機する。処理実行中に、必要に応じてクライアントは、処理識別子をキーとして、実行中の処理の処理結果情報の表示を要求することができる(C8)。その際情報検索サーバは、クライアントから得た処理識別子(C9)をキーとして、管理テーブルから処理コマンドを取得し(C10,C11)、結果判断情報選択画面(サンプル選択画面)を生成する(C12)。その後、生成した画面をクライアントに送信し(C13)、クライアントは、その画面を元に結果判断情報表示条件を選択し、情報検索サーバへ送信する(C14)。情報検索サーバはその条件を取得すると、その条件と実行コマンドを元に、結果判断情報検索コマンドを生成する(C15)。この検索コマンドを実行(C16)することによって、情報検索サーバは処理結果判断情報を取得し(C17)、表示画面を生成して(C18)、クライアントへ送信する(C19)。
【0034】
結果判断情報を参照した操作者は、その結果を確認して、処理の続行・中止を判断し、その結果を情報検索サーバへと送信する。ここでは、中止を選択したとする(C20)。中止要求を受けた情報検索サーバは、処理識別子をキーとして管理テーブルからプロセス識別子を取得し(C21)、該当プロセスを中止する(C22)。
これらの処理によって、操作者が処理の続行、中止を判断するための基準を提供し、情報システム全体への負荷を軽減する。
以下では、具体例を用いてサンプル画面の利用例について説明する。ここでは、説明のためのデータベースの例として、図8に示すような取引先別売上表を用いる。
【0035】
(例1)
いま、操作者が、取引先別売上表から、取引先Aの売上明細を取得したいと考え、情報検索サーバに検索要求を送信したとする。操作者による入力コマンドは、正常時には次のようになる。また、求める結果セットは、図9に示すようなものになるはずである。
【0036】
SELECT 取引先名 , 売上
FROM 取引先別売上テーブル
WHERE 取引先名 = 取引先A
【0037】
この場合、操作者が入力した実行コマンドが正しいものであるかどうかは、過去の経験から、指定した範囲の中の売上総額を検査することで確認することが可能であるとする。そのため操作者は、図10に示すようなサンプル表示条件選択画面で売上列を選択し、さらに合計表示チェックボックスにチェックを入れて選択して、実行ボタンを押下する。すると、上記入力コマンドをサンプル表示条件選択画面で入力された情報をもとに変更することにより、次のようなサンプル表示用コマンドが生成され、実行される。
【0038】
SELECT SUM(売上)
FROM 取引先別売上テーブル
WHERE 取引先名 = 取引先A
【0039】
上記サンプル表示用コマンドの実行結果として、情報検索サーバから図11に示すようなサンプル表示画面が送信され、クライアントの画面に表示される。操作者は、図11に示されるサンプル表示画面に表示された合計値を参照し、それを判断材料として入力コマンドの妥当性を判断することができる。例えば取引先名の指定が誤っていた場合、合計値が予想と大きく異なるため、コマンドの誤りが推測される。操作者は、サンプル画面の表示結果が予想と大幅に異なったものでなければ、検索を続行する根拠として利用できる。
【0040】
(例2)
操作者が、取引先別売上表から、商品Dの売上実績を取得したいと考えたとする。操作者による入力コマンドは、正常時には次のようになる。また、本例の場合、求める結果セットは、図12に示すようなものになるはずである。
【0041】
SELECT 商品名 , 取引先名 , 売上
FROM 取引先別売上テーブル
WHERE 商品名 = 商品D
【0042】
操作者が入力した実行コマンドが正しいか否かの確認は、過去の取引実績から、商品Dを取り扱っている取引先の総数を確認することによって可能になる。つまり、過去に2社程度にしか販売実績が無かった商品Dに対して、仮に100社ものヒットがあった場合、その実行コマンドの信頼性が疑われる。これを確認するため、操作者は、図13に示すように、サンプル表示条件選択画面で取引先名列を選択し、さらに種類数表示チェックボックスにチェックを入れ、実行ボタンを押下する。すると、上記入力コマンドをサンプル表示条件選択画面で入力された情報をもとに変更することにより、次のようなサンプル表示用コマンドが生成され、実行される。
【0043】
SELECT COUNT(取引先名)
FROM 取引先別売上テーブル
WHERE 商品名 = 商品DGROUP BY 取引先名
【0044】
上記サンプル表示用コマンドの実行結果として、情報検索サーバから図14に示すようなサンプル表示画面が送信され、クライアントの画面に表示される。操作者は、図14に示されるサンプル表示画面に表示された種類数の数値を参照し、それを判断材料として入力コマンドの妥当性を判断することができる。例えば商品名の指定が誤っていた場合、取引先の種類数が大きく異なるため、コマンドの誤りが推測される。操作者は、サンプル画面の表示結果が予想と大幅に異なったものでなければ、入力コマンドが正しいと判断し、検索を続行する根拠として利用できる。
【0045】
(例3)
操作者が、取引先別売上表から、売上高が20万円以下の取引についての一覧を取得したいと考えたとする。操作者による入力コマンドは、正常時には次のようになる。また、本例の場合、求める結果セットは、図15に示すようなものになるはずである。
【0046】
SELECT 取引先名 , 商品名 , 売上
FROM 取引先別売上テーブル
WHERE 売上 <= 20
【0047】
操作者が入力した実行コマンドが正しいか否かは、売上列に対して、取得結果の境界値を確認することで可能となる。その境界値が20万円を越えているようであれば、その実行コマンドは誤っているということを判断できる。これを確認するため、操作者は、図16に示すように、サンプル表示条件選択画面で売上列を選択し、さらに境界値表示チェックボックスにチェックを入れて選択し、実行ボタンを押下する。すると、上記入力コマンドをサンプル表示条件選択画面で入力された情報をもとに変更することにより、次のようなサンプル表示用コマンドが生成され、実行される。
【0048】
SELECT MAX(売上) , MIN(売上)
FROM 取引先別売上テーブル
WHERE 売上 <= 20
【0049】
上記サンプル表示用コマンドの実行結果として、情報検索サーバから図17に示すようなサンプル表示画面が送信され、クライアントの画面に表示される。操作者は、図17に示されるサンプル表示画面に表示された境界値を参照し、入力コマンドの妥当性を判断することができる。例えば売上げの境界値の指定が誤っていた場合、MAXが20を超える等の表示がされるため、コマンドの誤りが推測される。
【0050】
(例4)
上記例1〜3のような詳細な判断材料を取得するのではなく、求める結果のヒット件数を取得することでも、一定の判断の根拠が得られる。例えばヒット件数からは、求める結果の大きさが推測でき、それが過去に同様の検索を実施したときの結果件数と大きく異なる場合には、現在実行しているコマンドの信頼性が疑われる。
いま、操作者による入力コマンドが次のようなものであったとする。
【0051】
SELECT 取引先名 , 商品名 , 売上
FROM 取引先別売上テーブル
【0052】
本例では、図18に示すように、サンプル表示条件選択画面で、任意の列を選択後、ヒット件数表示チェックボックスにチェックを入れて選択し、実行ボタンを押下する。すると、上記入力コマンドをサンプル表示条件選択画面で入力された情報をもとに変更することにより、次のようなサンプル表示用コマンドが生成され、実行される。
【0053】
SELECT COUNT(*)
FROM 取引先別売上テーブル
【0054】
上記サンプル表示用コマンドの実行結果として、情報検索サーバから図19に示すようなサンプル表示画面が送信され、クライアントの画面に表示される。操作者は、図19に示されるサンプル表示画面に表示されたヒット数を参照し、入力コマンドの妥当性を判断することができる。例えばデータの追加の少ないテーブルに対して検索を行った場合、過去の経験より過度に多いヒット件数が表示された際には、コマンドの誤りが推測される。
【0055】
(例5)
上記例4と同様に、例1〜3のような詳細な判断材料を取得せず、検索結果のうちの1件を確認することでも、一定の判断の根拠が得られる。例えば、求める結果のうちの一件を確認したとすると、求める検索項目(列)が全て出力されているかを確認することができる。
例えば、操作者による入力コマンドが次のようなものであったとする。
【0056】
SELECT 取引先名 , 商品名 , 売上 , 取引年
FROM 取引先別売上テーブル
【0057】
このとき、図20に示すように、サンプル表示条件選択画面で、任意の列を選択後、1件表示チェックボックスにチェックを入れて選択し、実行ボタンを押下する。すると、上記入力コマンドをサンプル表示条件選択画面で入力された情報をもとに変更することにより、サンプル表示用コマンドが生成され、実行される。例えばOracleの場合には、次のようなサンプル表示用コマンドが生成される。
【0058】
SELECT 取引先名 , 商品名 , 売上 , 取引年
FROM 取引先別売上テーブル
LIMIT 1
【0059】
上記サンプル表示用コマンドの実行結果として、情報検索サーバから図21に示すようなサンプル表示画面が送信され、クライアントの画面に表示される。操作者は、図21に示されるサンプル表示画面の表示結果を参照し、入力コマンドの妥当性を判断することができる。例えば表示された列数が誤っていた場合、表示する列数の指定が誤っている等の、コマンドの誤りが推測される。
【0060】
以上、説明したように本発明の情報検索サーバは、検索の実行前、あるいはその処理中に、クライアントから結果判断情報の送信要求を受け取ると、短時間で終了する必要最小限の検索処理を行い、最終的な検索結果がどういった形式になるのかを確認するための情報を提供する。よって操作者はこの情報を確認することにより、自分の送信した検索条件が正しかったかどうかを知ることができ、必要に応じて検索要求のキャンセル・修正を行うことができる。そのため、情報検索サーバは、不必要な検索処理を実行する必要がなくなり、また不要な実行中の検索処理を中止できるため、情報検索システム全体の効率を向上させることができる。
【0061】
【発明の効果】
本発明によると、クライアントは効率的なデータベース処理を受けられる。
【図面の簡単な説明】
【図1】本発明による情報処理システムの概略構成例を示すブロック図。
【図2】管理テーブルの構成例を示す図。
【図3】本発明による情報検索処理の一例を示すフローチャート。
【図4】クライアント側の処理例を示すフローチャート。
【図5】情報検索サーバ側の処理例を示すフローチャート。
【図6】検索処理実行前にサンプルを表示させる場合の処理手順例を示す図。
【図7】検索処理実行中に結果確認情報を表示し、プロセス中止が指定された場合の処理手順例を示す図。
【図8】データベースの例を示す図。
【図9】検索によって求める結果セットの例を示す説明図。
【図10】サンプル表示条件選択画面における条件入力の例を示す図。
【図11】サンプル表示画面の例を示す図。
【図12】検索によって求める結果セットの他の例を示す説明図。
【図13】サンプル表示条件選択画面における条件入力の他の例を示す図。
【図14】サンプル表示画面の他の例を示す図。
【図15】検索によって求める結果セットの他の例を示す説明図。
【図16】サンプル表示条件選択画面における条件入力の他の例を示す図。
【図17】サンプル表示画面の他の例を示す図。
【図18】サンプル表示条件選択画面における条件入力の他の例を示す図。
【図19】サンプル表示画面の他の例を示す図。
【図20】サンプル表示条件選択画面における条件入力の他の例を示す図。
【図21】サンプル表示画面の他の例を示す図。
【符号の説明】
11:情報検索サーバ、12:データベース、13:プロセス管理テーブル
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a client-server type information search system and an information search method.
[0002]
[Prior art]
In recent years, the idea of end-user computing (EUC) has become widespread. EUC stands for "general users can easily search and extract a database using a computer with the aim of improving productivity". By exposing mission-critical databases to end users (business executors) and providing an environment to access data, end users themselves need to use data (extract only the data items they want and aggregate them in the form they want to analyze) Etc., and create a form or the like in a form desired by the user). In general, in an information search system in which a plurality of clients are connected to a server and a database search is performed, a search execution request is sent from each client to the server, and the server receives the request and starts the search execution process. Execute the corresponding process. Thereafter, when a search result is obtained by this processing, the obtained search result is transmitted to the requesting client.
[0003]
In this case, there is no guarantee that the result of the search request transmitted from the client is immediately returned from the server. For example, if the search request sent from the client contains excessively wide search conditions, or if the requested search conditions themselves are incorrect, the time to wait for the search results to be returned can be long. There is. When such a situation occurs, the client is restricted until the search result including the problem is returned from the server. Therefore, in each terminal, such a situation is predicted, and it is possible to cancel the search request to the server that has performed the operation input (see Patent Document 1).
[0004]
[Patent Document 1]
JP 2001-249903 A
[0005]
[Problems to be solved by the invention]
However, there is still a problem in the above-described information search system that allows each terminal to cancel the search process requested to the server.
The first problem is that if a client requests a normal search request, but the search result is too wide, the server's search processing time will be long and the client's waiting time will increase. Therefore, the client consumes resources and is affected by the performance in executing other tasks, and is restricted in that the client cannot be stopped and the information retrieval system cannot be stopped.
[0006]
The second problem is that if the operator erroneously requests a search for information that has an excess or deficiency for the required target information, the operator does not notice the error until the search result is obtained. That is the point.
The third problem is that even when a client requests an erroneous search request that results in excessively widening the search result and the processing needs to be canceled from the viewpoint of reducing the load on the system, the search processing can be interrupted. The point is that no information serving as a basis for determining the interruption of the search process has been passed to the operator.
[0007]
An object of the present invention is to provide an information search system that does not need to synchronously perform a search request by a client and obtain the result in view of the current situation of the information search system. Further, the present invention can display information that assists the operator in determining whether or not to execute a search request, or information that helps in determining whether to continue or cancel a search process that is being performed. An object is to provide an information retrieval system.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, an information search server of the present invention for searching a database in response to a search request from a client includes: a storage unit for temporarily storing a search result obtained by the search request from the client; And a management table in which a storage location in a storage unit for storing a search result for the search request is stored in association with a search identifier. When a search request is received, a process identifier for identifying the search request is generated. Then, the generated process identifier is returned to the transmission source of the search request. In the management table, when the operator obtains the search result, or when the search result is provided to the client with a part of the target information or the edit result to determine whether the search result is the content desired by the operator. For example, data such as a process identifier, an execution command, a terminal identifier, a result storage location, and a process identifier used for the process may be stored.
[0009]
By storing the search result obtained by the search request in a file format in the result storage area in the information search server, the processing request and the result acquisition between the information search server and the client are asynchronous, and the first It is possible to solve the problems of resource consumption and system stoppage.
[0010]
Further, the client includes means for transmitting a request for search result determination information at the same time as transmitting the search request. When a client requests acquisition of search result determination information at the time of a search request, the information search server automatically generates a processing identifier, a search processing command, and a result determination data search command, and transmits the processing identifier, the search processing command, and the client that transmitted the request. Is registered in the management table. Next, a result determination information search command is executed, and the result determination information as a search result is transmitted to the client. On the client side, it is determined whether or not to execute the search request based on the determination data, and a request to continue execution or a cancellation request is transmitted to the information search server. The information search server executes the search execution command stored in the management table when the request from the client is a continuation request, and cancels the corresponding processing when the request is a cancellation request. In the information search system configured as described above, it is determined before the execution of the search processing whether or not the operator can obtain the desired information required by the transmitted search request, and the execution or cancellation of the search processing is selected. be able to.
[0011]
Further, a means is provided for transmitting a request for result determination information from the client even during execution of the above-described search processing. After transmitting the request for the result determination information to the information search server after the client receives the search request response, the client transmits the processing identifier included in the result response request. The information search server searches the management table based on the process identifier, and obtains a search command corresponding to the search process being executed. Based on the search command, a result determination information selection screen is automatically generated and displayed on the client. The operator selects necessary result determination information from the result determination information selection screen, and transmits a request for the result determination information to the information search server. When the information search server receives the request for the result determination information, it automatically generates a result determination information search command and executes the command. The information search server transmits result determination information, which is a search result, to the client, and the operator determines whether to continue or cancel the search process being executed based on this information. When canceling, the information search server transmits a cancellation request including the process identifier of the process to be canceled to the information search server, and the information search server receives the process request from the management table based on the process identifier, and performs the corresponding search process. Abort the process. In the search information system configured as described above, the operator can obtain information for determining whether to continue or cancel the process being executed, specify the execution process corresponding to the cancellation, and execute the cancellation. be able to.
[0012]
An information search method according to the present invention includes a step of receiving a search request for a database from a client, a step of generating a processing identifier and a command for accessing the database based on the search request, and a step of transmitting the generated processing identifier to the client; Executing the generated command; storing information obtained by executing the command in a search result storage location associated with the processing identifier; receiving the search result storage location or the process identifier; Transmitting information stored in a search result storage location associated with the processing identifier.
[0013]
The information search method according to the present invention includes a first step of receiving a search request for a database from a client, a second step of generating a command for accessing the database based on the search request, and a second step. And a third step of executing a command executed before the third step. A second step for acquiring a part of the information obtained in the third step or information corresponding to an editing result thereof before the third step. A step of generating a command, a step of executing a second command, and a step of transmitting information acquired by the second command to the client are performed.
[0014]
The operator can determine whether to proceed with the information search server to the third step or stop the search, using the information obtained by the second command as a judgment factor. If the operator decides to cancel the search, an instruction to stop the search is transmitted from the client to the information search server, and the information search server stops the search process without proceeding to the third step.
[0015]
The information search method according to the present invention includes a first step of receiving a search request for a database from a client, a second step of generating a command for accessing the database based on the search request, and a second step. A third step of executing a command executed in the third step, wherein during execution of the command in the third step, a part of information obtained in the third step or information corresponding to an editing result thereof is acquired. A step of generating a second command, a step of executing the second command, and a step of transmitting information acquired by the second command to the client are performed.
[0016]
The operator can determine whether to continue the processing by the information search server or stop the search, using the information obtained by the second command as a judgment factor. When the operator decides to cancel the search, an instruction to cancel the search is transmitted from the client to the information search server, and the information search server stops the search process in the middle of the third step.
[0017]
INDUSTRIAL APPLICABILITY The information search method of the present invention is particularly useful for information search for a database holding data in a table format.
According to the present invention, even when a search result obtained by a search formula input by a user is a huge number of hits, the search processing time in the information search server does not affect the client side, so the client Can avoid constraints such as resource consumption and system suspension. Further, it is possible to confirm a part of the purpose information as the result determination information or the editing result thereof before executing the search, and it is not necessary to execute an erroneous search process. Furthermore, even while the search is being executed, it is possible to confirm a part of the objective information which is the result determination information or the editing result thereof, and it is possible to determine whether or not to cancel the process being executed.
[0018]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a schematic configuration example of an information processing system according to the present invention.
In this information processing system, a plurality of clients from terminal 1 to terminal N are connected to one information search server 11. Each terminal is composed of, for example, a personal computer, and performs a search request, a request to cancel the requested search, a request to acquire the result determination information, and a request to stop the ongoing processing based on the instruction of the operator. Send to server 11. The information search server 11 includes a database 12 for executing a search request from a client and acquiring a result, and a management table 13 for implementing various processes.
[0019]
FIG. 2 is a diagram illustrating a configuration example of the management table. The management table includes a process identifier generated when a search request is transmitted from the client, a search execution command automatically generated from the search request, a terminal identifier for identifying a terminal that has transmitted the search request, and a search result. The result storage location to be stored and the process identifier for identifying the processing process for executing the execution command are stored.
[0020]
FIG. 3 is a flowchart illustrating an example of the information search process according to the present invention.
The client inputs search conditions, transmits a search request and a terminal identifier to the information search server, and the information search server accepts the search request from the client (S11). The information search server that has received the search request automatically generates a search processing identifier and a search processing command (S12), transmits a request reception response including the processing identifier to the client, and simultaneously executes the processing identifier and the automatically generated processing command. Then, the terminal identifier of the terminal that transmitted the request is stored in the management table (S13). Next, the information search server starts an execution process for executing the automatically generated search processing command and starts the search process, and simultaneously registers a process identifier for identifying the execution process in the management table (S14). When the search process is completed, the information search server stores the search result in the result storage area of the storage unit, registers the storage location in the management table, and changes the terminal identifier associated with the process identifier of the corresponding execution process from the management table. get. Then, based on the acquired terminal identifier, a search end response including the result storage location is transmitted to the terminal that transmitted the search request (S15). The client that has received the search end response obtains the search result from the search storage location transmitted from the information search server. Acquisition of a search result can be performed, for example, by accessing and downloading a search storage location specified by the information search server (S16).
[0021]
The client can search the result storage location based on the processing identifier from the management table on the information search server regardless of whether or not the search end response transmitted from the information search server is received, and obtain the search result. Can be. In the information search system configured as described above, the search request from the client and the acquisition of the corresponding search result can be asynchronous. Instead of the method in which the client accesses the search storage location on the information search server and downloads the search results, the client issues a search request on the search result acquisition screen provided by the information search server when the search request is issued. By inputting the processing identifier, the search result corresponding to the processing identifier may be automatically downloaded.
[0022]
In a conventional search system, since a search request and the acquisition of the result are performed synchronously, there are the following restrictions.
1. The operation from the search request to the acquisition of the result must be completed on the same terminal.
2. The acquisition time also needs to be adjusted according to the timing at which the result returns. 3. Even during the search processing on the information search server side, the client needs to maintain the connection with the information search server, and cannot perform actions such as turning off the power.
However, by making the retrieval request and the acquisition of the result asynchronous as in the present invention, it is possible to avoid all of the above three restrictions.
[0023]
4 and 5 are flowcharts for explaining the outline of the search processing according to the present invention. FIG. 4 is a flowchart showing a processing example on the client side, and FIG. 5 is a flowchart showing a processing example on the information search server side.
First, a processing example on the client side will be described with reference to FIG. The operator creates a search request and sends it to the information search server (S21). Thereafter, the operator determines whether or not to display a sample of the search result (display of the result determination information), and transmits a sample display condition when displaying the sample (S22). Since the search for displaying the sample is a simple search, the search processing by the information search server ends immediately, and the result is returned from the information search server. The operator confirms the result (S23), and instructs execution of the search processing if the expected result is obtained (S24). If the sample display is not performed in step 22, the process immediately proceeds to step 24 to instruct execution of the search process. In addition, as a result of confirming the contents of the sample display in step 23, if the result is different from the expected one, it is assumed that the search condition is incorrect. Therefore, the search request is canceled, the process returns to step 21, and the search request is re-executed. create.
[0024]
Also, in the case where it is determined in step 22 that the sample display is not performed and the process immediately proceeds to step 24 and the execution of the search process is instructed, the sample display can be requested to the information search server that is executing the search process at any time (S25). ). If a request for sample display is made in step 25, the process proceeds to step 26, where sample display conditions are transmitted (S26). Since the search for displaying the sample is a simple search, the search processing by the information search server ends immediately, and the result is returned from the information search server. The operator confirms the result (S27). If the result is as expected, the search process is continued. If the result is different from the expected result, it is assumed that the search condition is incorrect. Therefore, the information search server is instructed to stop the search process, and the process returns to step 21 to re-create the search request.
After that, it waits for a search end response transmitted from the information search server (S28), and after receiving the search end response, transmits a search result acquisition request to the information search server (S29) and obtains a search result (S30).
[0025]
Next, a processing example on the information search server side will be described with reference to FIG. The information search server receiving the search request from the client generates a search execution SQL (S31). Thereafter, it is determined whether or not the sample display condition has been received from the client (S32), and if not, the process proceeds to step 36 to execute a search process. If it is determined in step 32 that the sample display condition has been received, the sample display SQL is generated and executed (S33), and the obtained sample display screen is transmitted to the client (S34). Thereafter, the process waits for the sample result confirmation from the client to be transmitted. If the search processing execution instruction is given, the process proceeds to step 36 to execute the search processing, and if the search is canceled, the search processing ends.
[0026]
After the search process is started in step 36, it is determined whether or not there is a sample display request from the client (S37). If there is no sample display request, the process proceeds to step 43 to obtain a search result. If there is a sample display request in step 37, a sample selection screen is generated and transmitted to the client (S38). Next, a sample display condition is acquired (S39), and a SQL for sample display is generated and executed based on the acquired sample display condition (S40). Then, the obtained sample display screen is transmitted (S41). Thereafter, the system waits for a sample confirmation result transmitted from the client (S42), and terminates the search processing in the case of canceling the search.
[0027]
If the determination in step 42 is to continue the search process, the process proceeds to step 43 to obtain a search result. Next, the search result is stored in the storage area (S44), and information about the search storage area is notified to the client (S45). After that, it waits for a search result acquisition request to be transmitted from the client, transmits the search result (S47), and ends the search process.
[0028]
As described above, the search result, which is the result of executing the search request, is not transmitted directly to the client, but is temporarily stored in the search result storage area (S44). Thereafter, the information search server notifies the client of the search result storage location (S45), and upon receiving a search result acquisition request (S29, S46) from the client, transmits the search result to the client (S47). With this processing, the retrieval request and the acquisition of the result are asynchronously realized.
[0029]
Further, after transmitting the search request, the operator can request the result determination information as necessary before the processing of the execution command actually starts and during the execution (S22, S25). The operator determines the data display format required as the result determination information on the sample selection screen, and transmits the conditions to the information search server (S22, S26), so that the operator can refer to the result determination information in a required format. it can. Then, as a result of referring to the sample, the operator determines whether to continue or stop the process, and transmits the result to the information search server (S23, S27). The information search server receives the result and performs continuation / stop processing (S35, S42). Hereinafter, the processing described later will be described separately for a sample display function before executing the search processing and a sample display function during executing the search processing.
[0030]
FIG. 6 is a diagram illustrating an example of a processing procedure when a sample is displayed before the search processing is performed. When a search request is transmitted from a client to an information search server (B1), the information search server generates an execution command for executing the search request and a process identifier corresponding to the command (B2). Then, these two pieces of information and the terminal identifier of the terminal that transmitted the search request are registered in the management table (B3). Further, the information search server generates a judgment information search command based on the result judgment information display condition and the execution command transmitted from the client (B4). By executing the judgment information search command (B5), a result for judgment information display is obtained (B6), and a display screen is generated (B7). The information search server returns this screen and the process identifier assigned to the execution command to the client (B8). The client refers to the result determination information, determines whether to execute the execution command, and transmits the process identifier and the execution request to the information search server (B9). If the information retrieval server obtains the process identifier and the execution request, if the request is an execution request, the information search server starts a processing process for processing the execution command (B10), executes the search process (B11), and specifies the process. The identifier is registered in the process identifier column of the management table (B12).
[0031]
When the information retrieval server obtains the result of the processing (B13), it determines an area for storing the result (B14) and registers it in the result storage location column of the management table (B15). The obtained search result is stored in the previously determined result storage location (B16). Further, the storage location is notified to the client having the terminal identifier registered in the management table together with a processing end message (B17). The client that has received the notification accesses the storage location as necessary (B18) and acquires the search result (B19).
[0032]
FIG. 7 is a diagram illustrating an example of a processing procedure in a case where the result confirmation information is displayed during the execution of the search processing and a process stop is designated. When a search request is transmitted from a client to an information search server (C1), the information search server generates an execution command for executing the search request and a processing identifier corresponding to the execution command (C2). Then, these two pieces of information and the terminal identifier for identifying the terminal that transmitted the search request are registered in the management table (C3). At the same time, a search request acceptance response is transmitted to the client together with the processing identifier (C4). The information retrieval server starts a processing process for processing the execution command (C5), and starts the execution command (C6). At this time, a process identifier for identifying the processing process is registered in the management table (C7).
[0033]
After the registration is completed, the information search server waits for a sample display request from the client. During the execution of the process, the client can request display of the process result information of the process being executed, using the process identifier as a key, if necessary (C8). At this time, the information search server acquires a processing command from the management table using the processing identifier (C9) obtained from the client as a key (C10, C11), and generates a result determination information selection screen (sample selection screen) (C12). . Thereafter, the generated screen is transmitted to the client (C13), and the client selects the result determination information display condition based on the screen and transmits the condition to the information search server (C14). Upon acquiring the condition, the information search server generates a result determination information search command based on the condition and the execution command (C15). By executing the search command (C16), the information search server acquires the processing result determination information (C17), generates a display screen (C18), and transmits it to the client (C19).
[0034]
The operator who refers to the result determination information confirms the result, determines whether to continue or cancel the process, and transmits the result to the information search server. Here, it is assumed that the cancellation is selected (C20). The information search server having received the stop request acquires the process identifier from the management table using the process identifier as a key (C21), and stops the corresponding process (C22).
Through these processes, a criterion for the operator to determine whether to continue or cancel the process is provided, and the load on the entire information system is reduced.
Hereinafter, a usage example of the sample screen will be described using a specific example. Here, as an example of the database for explanation, a sales table for each supplier as shown in FIG. 8 is used.
[0035]
(Example 1)
Now, it is assumed that the operator wants to obtain the sales details of the business partner A from the sales table for each business partner and transmits a search request to the information search server. The input command by the operator is normally as follows. Also, the desired result set should be as shown in FIG.
[0036]
SELECT Customer name, Sales
FROM Sales table by business partner
WHERE Supplier name = Supplier A
[0037]
In this case, it is assumed that whether or not the execution command input by the operator is correct can be confirmed from past experience by inspecting the total sales in the specified range. Therefore, the operator selects the sales column on the sample display condition selection screen as shown in FIG. 10, further checks the total display check box to select it, and presses the execution button. Then, by changing the input command based on the information input on the sample display condition selection screen, the following sample display command is generated and executed.
[0038]
SELECT SUM (sales)
FROM Sales table by business partner
WHERE Supplier name = Supplier A
[0039]
As an execution result of the sample display command, a sample display screen as shown in FIG. 11 is transmitted from the information search server and displayed on the client screen. The operator can determine the validity of the input command by referring to the total value displayed on the sample display screen shown in FIG. For example, if the supplier name is incorrectly specified, the total value is significantly different from the expected value, so that a command error is assumed. The operator can use it as a basis for continuing the search unless the display result of the sample screen is significantly different from the expected result.
[0040]
(Example 2)
It is assumed that the operator wants to obtain the sales performance of the product D from the sales table for each supplier. The input command by the operator is normally as follows. In the case of this example, the result set to be obtained should be as shown in FIG.
[0041]
SELECT Product name, business partner name, sales
FROM Sales table by business partner
WHERE product name = product D
[0042]
Whether or not the execution command input by the operator is correct can be confirmed by confirming the total number of suppliers dealing with the product D from past transaction results. That is, if there is a hit of as many as 100 companies for the product D for which only two companies have sold in the past, the reliability of the execution command is suspected. To confirm this, the operator selects a supplier name column on the sample display condition selection screen, further checks the type number display check box, and presses the execute button as shown in FIG. Then, by changing the input command based on the information input on the sample display condition selection screen, the following sample display command is generated and executed.
[0043]
SELECT COUNT (supplier name)
FROM Sales table by business partner
WHERE product name = product DGROUP BY business partner name
[0044]
As an execution result of the sample display command, a sample display screen as shown in FIG. 14 is transmitted from the information search server and displayed on the screen of the client. The operator can judge the validity of the input command by referring to the numerical value of the number of types displayed on the sample display screen shown in FIG. For example, if the designation of the product name is incorrect, the number of types of business partners is greatly different, so that an error in the command is presumed. If the display result of the sample screen is not significantly different from the expected result, the operator determines that the input command is correct and can use it as a basis for continuing the search.
[0045]
(Example 3)
Assume that the operator wants to obtain a list of transactions whose sales are 200,000 yen or less from the sales table for each customer. The input command by the operator is normally as follows. In the case of this example, the result set to be obtained should be as shown in FIG.
[0046]
SELECT Customer name, product name, sales
FROM Sales table by business partner
WHERE Sales <= 20
[0047]
Whether or not the execution command input by the operator is correct can be determined by checking the boundary value of the obtained result with respect to the sales column. If the boundary value exceeds 200,000 yen, it can be determined that the execution command is incorrect. To confirm this, as shown in FIG. 16, the operator selects a sales column on the sample display condition selection screen, further checks the boundary value check box to select it, and presses the execution button. Then, by changing the input command based on the information input on the sample display condition selection screen, the following sample display command is generated and executed.
[0048]
SELECT MAX (sales), MIN (sales)
FROM Sales table by business partner
WHERE Sales <= 20
[0049]
As the execution result of the sample display command, a sample display screen as shown in FIG. 17 is transmitted from the information search server and displayed on the screen of the client. The operator can judge the validity of the input command by referring to the boundary value displayed on the sample display screen shown in FIG. For example, if the sales boundary value is specified incorrectly, a message such as MAX exceeding 20 is displayed, and an error in the command is presumed.
[0050]
(Example 4)
By obtaining the number of hits of the result to be obtained, instead of obtaining detailed judgment materials as in the above Examples 1 to 3, a certain ground for judgment can be obtained. For example, from the number of hits, it is possible to estimate the size of the result to be obtained. If the size of the result is significantly different from the number of results obtained when a similar search is performed in the past, the reliability of the currently executed command is suspected.
Now, it is assumed that the input command by the operator is as follows.
[0051]
SELECT Customer name, product name, sales
FROM Sales table by business partner
[0052]
In this example, as shown in FIG. 18, on the sample display condition selection screen, after selecting an arbitrary column, check the box for displaying the number of hits, select it, and press the execute button. Then, by changing the input command based on the information input on the sample display condition selection screen, the following sample display command is generated and executed.
[0053]
SELECT COUNT (*)
FROM Sales table by business partner
[0054]
As an execution result of the sample display command, a sample display screen as shown in FIG. 19 is transmitted from the information search server and displayed on the screen of the client. The operator can judge the validity of the input command by referring to the number of hits displayed on the sample display screen shown in FIG. For example, when a search is performed on a table with a small amount of added data, if an excessively large number of hits is displayed based on past experience, a command error is presumed.
[0055]
(Example 5)
As in the case of Example 4, the grounds for a certain judgment can be obtained by checking one of the search results without acquiring the detailed judgment material as in Examples 1 to 3. For example, if one of the desired results is confirmed, it is possible to confirm whether all of the desired search items (columns) have been output.
For example, assume that the input command by the operator is as follows.
[0056]
SELECT Supplier name, product name, sales, transaction year
FROM Sales table by business partner
[0057]
At this time, as shown in FIG. 20, after selecting an arbitrary column on the sample display condition selection screen, the user selects the check box of one display to select it, and presses the execution button. Then, by changing the input command based on the information input on the sample display condition selection screen, a sample display command is generated and executed. For example, in the case of Oracle, the following sample display command is generated.
[0058]
SELECT Supplier name, product name, sales, transaction year
FROM Sales table by business partner
LIMIT 1
[0059]
As an execution result of the sample display command, a sample display screen as shown in FIG. 21 is transmitted from the information search server and displayed on the client screen. The operator can judge the validity of the input command by referring to the display result of the sample display screen shown in FIG. For example, if the displayed number of columns is incorrect, an error in the command such as an incorrect designation of the number of columns to be displayed is assumed.
[0060]
As described above, when the information search server of the present invention receives a request for transmitting result determination information from a client before or during execution of a search, the information search server performs a minimum required search process that is completed in a short time. , And provide information to see what the final search results will look like. Therefore, by confirming this information, the operator can know whether or not the search condition transmitted by the operator is correct, and can cancel or correct the search request as needed. Therefore, the information search server does not need to execute unnecessary search processing, and can stop unnecessary search processing during execution, thereby improving the efficiency of the entire information search system.
[0061]
【The invention's effect】
According to the present invention, the client can receive efficient database processing.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a schematic configuration example of an information processing system according to the present invention.
FIG. 2 is a diagram showing a configuration example of a management table.
FIG. 3 is a flowchart illustrating an example of an information search process according to the present invention.
FIG. 4 is a flowchart illustrating a processing example on the client side.
FIG. 5 is a flowchart illustrating a processing example on the information search server side.
FIG. 6 is a diagram illustrating an example of a processing procedure when a sample is displayed before execution of a search process.
FIG. 7 is a diagram illustrating an example of a processing procedure when result confirmation information is displayed during execution of a search process and a process stop is designated;
FIG. 8 is a diagram showing an example of a database.
FIG. 9 is an explanatory diagram showing an example of a result set obtained by a search.
FIG. 10 is a diagram showing an example of condition input on a sample display condition selection screen.
FIG. 11 is a diagram showing an example of a sample display screen.
FIG. 12 is an explanatory diagram showing another example of a result set obtained by a search.
FIG. 13 is a view showing another example of condition input on the sample display condition selection screen.
FIG. 14 is a view showing another example of the sample display screen.
FIG. 15 is an explanatory diagram showing another example of a result set obtained by a search.
FIG. 16 is a view showing another example of condition input on the sample display condition selection screen.
FIG. 17 is a diagram showing another example of the sample display screen.
FIG. 18 is a diagram showing another example of condition input on the sample display condition selection screen.
FIG. 19 is a view showing another example of the sample display screen.
FIG. 20 is a diagram showing another example of condition input on the sample display condition selection screen.
FIG. 21 is a diagram showing another example of the sample display screen.
[Explanation of symbols]
11: information retrieval server, 12: database, 13: process management table

Claims (5)

クライアントからの検索要求を受けてデータベースを検索する情報検索サーバにおいて、
検索結果を保存するための記憶部と、
前記検索要求を識別する処理識別子と当該検索要求に対する検索結果を保存している前記記憶部内の保存場所を関連付けて記憶した管理テーブルとを有し、
検索要求を受けると、当該検索要求を識別する処理識別子を生成し、生成した処理識別子を当該検索要求の送信元に返すことを特徴とする情報検索サーバ。
In an information search server that searches a database in response to a search request from a client,
A storage unit for storing search results,
A management table that stores a processing identifier for identifying the search request and a storage location in the storage unit that stores a search result for the search request,
An information search server, which receives a search request, generates a processing identifier for identifying the search request, and returns the generated processing identifier to a transmission source of the search request.
クライアントからデータベースに対する検索要求を受け付けるステップと、
前記検索要求に基づいて処理識別子と前記データベースへアクセスするコマンドを生成するステップと、
生成した処理識別子を前記クライアントに送信するステップと、
生成した前記コマンドを実行するステップと、
前記処理識別子と関連付けされた検索結果保存場所に前記コマンドの実行により取得した情報を保存するステップと、
検索結果保存場所あるいは処理識別子の指定を受け、当該結果保存場所あるいは当該処理識別子に関連付けられた検索結果保存場所に保存されている情報を送信するステップとを含むことを特徴とする情報検索方法。
Receiving a search request for a database from a client;
Generating a process identifier and a command to access the database based on the search request;
Transmitting the generated process identifier to the client;
Executing the generated command;
Storing information obtained by executing the command in a search result storage location associated with the process identifier;
Receiving a search result storage location or a process identifier, and transmitting information stored in the search result storage location associated with the result storage location or the process identifier.
クライアントからデータベースに対する検索要求を受け付ける第1のステップと、
前記検索要求に基づいて前記データベースへアクセスするコマンドを生成する第2のステップと、
前記第2のステップで生成されたコマンドを実行する第3のステップとを含む情報検索方法において、
前記第3のステップの前に、前記第3のステップで得られる情報の一部又はその編集結果に当たる情報を取得するための第2のコマンドを生成するステップと、前記第2のコマンドを実行するステップと、前記第2のコマンドによって取得した情報を前記クライアントに送信するステップとを実行することを特徴とする情報検索方法。
A first step of receiving a search request for a database from a client;
A second step of generating a command to access the database based on the search request;
A third step of executing the command generated in the second step.
Before the third step, a step of generating a second command for acquiring a part of the information obtained in the third step or information corresponding to an edited result thereof, and executing the second command And a step of transmitting information obtained by the second command to the client.
クライアントからデータベースに対する検索要求を受け付ける第1のステップと、
前記検索要求に基づいて前記データベースへアクセスするコマンドを生成する第2のステップと、
前記第2のステップで生成されたコマンドを実行する第3のステップとを含む情報検索方法において、
前記第3のステップにおけるコマンドの実行中に、前記第3のステップで得られる情報の一部又はその編集結果に当たる情報を取得するための第2のコマンドを生成するステップと、前記第2のコマンドを実行するステップと、前記第2のコマンドによって取得した情報を前記クライアントに送信するステップとを実行することを特徴とする情報検索方法。
A first step of receiving a search request for a database from a client;
A second step of generating a command to access the database based on the search request;
A third step of executing the command generated in the second step.
Generating a second command for acquiring a part of the information obtained in the third step or information corresponding to an edited result thereof during execution of the command in the third step; and And a step of transmitting information obtained by the second command to the client.
請求項2〜4のいずれか1項記載の情報検索方法において、前記データベースは表形式によってデータを保持していることを特徴とする情報検索方法。The information search method according to any one of claims 2 to 4, wherein the database holds data in a table format.
JP2003000500A 2003-01-06 2003-01-06 Information retrieval server and information retrieval method Pending JP2004213422A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003000500A JP2004213422A (en) 2003-01-06 2003-01-06 Information retrieval server and information retrieval method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003000500A JP2004213422A (en) 2003-01-06 2003-01-06 Information retrieval server and information retrieval method

Publications (1)

Publication Number Publication Date
JP2004213422A true JP2004213422A (en) 2004-07-29

Family

ID=32818794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003000500A Pending JP2004213422A (en) 2003-01-06 2003-01-06 Information retrieval server and information retrieval method

Country Status (1)

Country Link
JP (1) JP2004213422A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533575A (en) * 2005-03-11 2008-08-21 フランス テレコム Method of transmitting content visualization data between server and at least one client terminal corresponding to terminal and computer program
JP2010128831A (en) * 2008-11-28 2010-06-10 Nomura Research Institute Ltd Data retrieval system, method and computer program
CN112333239A (en) * 2020-10-10 2021-02-05 百度(中国)有限公司 Service auditing notification method, gateway, electronic equipment and readable medium
JP2023501850A (en) * 2020-10-10 2023-01-20 百度(中国)有限公司 Business audit reporting method and gateway, electronic device, readable medium and computer program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008533575A (en) * 2005-03-11 2008-08-21 フランス テレコム Method of transmitting content visualization data between server and at least one client terminal corresponding to terminal and computer program
JP4944089B2 (en) * 2005-03-11 2012-05-30 フランス・テレコム Method of transmitting content visualization data between server and at least one client terminal corresponding to terminal and computer program
JP2010128831A (en) * 2008-11-28 2010-06-10 Nomura Research Institute Ltd Data retrieval system, method and computer program
CN112333239A (en) * 2020-10-10 2021-02-05 百度(中国)有限公司 Service auditing notification method, gateway, electronic equipment and readable medium
JP2023501850A (en) * 2020-10-10 2023-01-20 百度(中国)有限公司 Business audit reporting method and gateway, electronic device, readable medium and computer program
CN112333239B (en) * 2020-10-10 2023-07-18 百度(中国)有限公司 Business audit notification method, gateway, electronic equipment and readable medium

Similar Documents

Publication Publication Date Title
US20040002881A1 (en) Object-oriented system and method using shadowing object for approval control
KR101636601B1 (en) Method and system for providing a session involving a plurality of software applications
JP5649171B2 (en) Method for enabling sharing of local environment of application executed on client, server and computer program thereof
JP2008146380A (en) Cache server, control method for it, program, and information storage medium
CN109785042A (en) Abnormality eliminating method, server, storage medium and the device of distributed deployment
US6985894B2 (en) Document management method and computer-readable storage medium storing program code for executing the same
US20020059360A1 (en) Local-file-transfer method and local-file-transfer system for client-server system
US7580989B2 (en) System and method for managing access points to distributed services
JP2004258823A (en) Business process transaction method and system, and transaction program therefor
US8024734B2 (en) Enabling a designer to specify workflows to process various results of execution of transactions
JP2004213422A (en) Information retrieval server and information retrieval method
JP4718813B2 (en) Support information processing system and support information processing method
CN109933486A (en) A kind of monitor processing method of logistics data, apparatus and system
US8712786B2 (en) Method and apparatus for controlling a multi-node process
JP2003178154A (en) Inspection and maintenance support system for vehicle
JP2009288875A (en) Material creation support device, material creation support method, and program
US20090171809A1 (en) Efficient purchase order creation
JP2002157386A (en) Workflow management method, its device, its processing program and recording medium with its processing program stored
JP2007047944A (en) Web site update support device, method and program
WO2020179833A1 (en) Api provision system and api provision method
JP2004164045A (en) Material order management system and method thereof
JP2009181240A (en) Workflow processing unit
JP2003308323A (en) Method for procedure by agency for multiple services, retrieval server, asp server, and user terminal
Collins et al. Grid Data Services-Relational Database Management Systems
JP3879095B2 (en) Host computer