JP2004213422A - 情報検索サーバ及び情報検索方法 - Google Patents
情報検索サーバ及び情報検索方法 Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】検索要求と、結果取得を同期的に行う必要をなくする。また、検索の実行あるいは継続か中止かを判断する助けとなる情報を表示できるようにする。
【解決手段】検索要求に基づいてデータベースへアクセスするコマンドを生成(S31)する前、あるいは検索処理中(S36)に、処理時間の短い第2のコマンドを生成し(S33,40)、検索結果の一部又はその編集結果に当たる情報を取得し、それをクライアントに送信する(S34,41)。クライアントは、その情報を判断材料として、処理を進めるか中止するかを決める。検索結果の情報はサーバ上に保存し(S44)、クライアントからの要求を受けて保存した情報をクライアントに送信する(S47)。
【選択図】 図5
【解決手段】検索要求に基づいてデータベースへアクセスするコマンドを生成(S31)する前、あるいは検索処理中(S36)に、処理時間の短い第2のコマンドを生成し(S33,40)、検索結果の一部又はその編集結果に当たる情報を取得し、それをクライアントに送信する(S34,41)。クライアントは、その情報を判断材料として、処理を進めるか中止するかを決める。検索結果の情報はサーバ上に保存し(S44)、クライアントからの要求を受けて保存した情報をクライアントに送信する(S47)。
【選択図】 図5
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:プロセス管理テーブル
【発明の属する技術分野】
本発明は、クライアント・サーバ方式の情報検索システム及び情報検索方法に関する。
【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:プロセス管理テーブル
Claims (5)
- クライアントからの検索要求を受けてデータベースを検索する情報検索サーバにおいて、
検索結果を保存するための記憶部と、
前記検索要求を識別する処理識別子と当該検索要求に対する検索結果を保存している前記記憶部内の保存場所を関連付けて記憶した管理テーブルとを有し、
検索要求を受けると、当該検索要求を識別する処理識別子を生成し、生成した処理識別子を当該検索要求の送信元に返すことを特徴とする情報検索サーバ。 - クライアントからデータベースに対する検索要求を受け付けるステップと、
前記検索要求に基づいて処理識別子と前記データベースへアクセスするコマンドを生成するステップと、
生成した処理識別子を前記クライアントに送信するステップと、
生成した前記コマンドを実行するステップと、
前記処理識別子と関連付けされた検索結果保存場所に前記コマンドの実行により取得した情報を保存するステップと、
検索結果保存場所あるいは処理識別子の指定を受け、当該結果保存場所あるいは当該処理識別子に関連付けられた検索結果保存場所に保存されている情報を送信するステップとを含むことを特徴とする情報検索方法。 - クライアントからデータベースに対する検索要求を受け付ける第1のステップと、
前記検索要求に基づいて前記データベースへアクセスするコマンドを生成する第2のステップと、
前記第2のステップで生成されたコマンドを実行する第3のステップとを含む情報検索方法において、
前記第3のステップの前に、前記第3のステップで得られる情報の一部又はその編集結果に当たる情報を取得するための第2のコマンドを生成するステップと、前記第2のコマンドを実行するステップと、前記第2のコマンドによって取得した情報を前記クライアントに送信するステップとを実行することを特徴とする情報検索方法。 - クライアントからデータベースに対する検索要求を受け付ける第1のステップと、
前記検索要求に基づいて前記データベースへアクセスするコマンドを生成する第2のステップと、
前記第2のステップで生成されたコマンドを実行する第3のステップとを含む情報検索方法において、
前記第3のステップにおけるコマンドの実行中に、前記第3のステップで得られる情報の一部又はその編集結果に当たる情報を取得するための第2のコマンドを生成するステップと、前記第2のコマンドを実行するステップと、前記第2のコマンドによって取得した情報を前記クライアントに送信するステップとを実行することを特徴とする情報検索方法。 - 請求項2〜4のいずれか1項記載の情報検索方法において、前記データベースは表形式によってデータを保持していることを特徴とする情報検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003000500A JP2004213422A (ja) | 2003-01-06 | 2003-01-06 | 情報検索サーバ及び情報検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003000500A JP2004213422A (ja) | 2003-01-06 | 2003-01-06 | 情報検索サーバ及び情報検索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004213422A true JP2004213422A (ja) | 2004-07-29 |
Family
ID=32818794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003000500A Pending JP2004213422A (ja) | 2003-01-06 | 2003-01-06 | 情報検索サーバ及び情報検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004213422A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008533575A (ja) * | 2005-03-11 | 2008-08-21 | フランス テレコム | 端末及びコンピュータプログラムに対応した、サーバと少なくとも1つのクライアント端末との間でのコンテンツ可視化データの送信の方法 |
JP2010128831A (ja) * | 2008-11-28 | 2010-06-10 | Nomura Research Institute Ltd | データ検索システム、方法及びコンピュータプログラム |
CN112333239A (zh) * | 2020-10-10 | 2021-02-05 | 百度(中国)有限公司 | 业务审核通知方法及网关、电子设备、可读介质 |
JP2023501850A (ja) * | 2020-10-10 | 2023-01-20 | 百度(中国)有限公司 | ビジネス監査報知方法及びゲートウェイ、電子機器、読取可能な媒体及びコンピュータプログラム |
-
2003
- 2003-01-06 JP JP2003000500A patent/JP2004213422A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008533575A (ja) * | 2005-03-11 | 2008-08-21 | フランス テレコム | 端末及びコンピュータプログラムに対応した、サーバと少なくとも1つのクライアント端末との間でのコンテンツ可視化データの送信の方法 |
JP4944089B2 (ja) * | 2005-03-11 | 2012-05-30 | フランス・テレコム | 端末及びコンピュータプログラムに対応した、サーバと少なくとも1つのクライアント端末との間でのコンテンツ可視化データの送信の方法 |
JP2010128831A (ja) * | 2008-11-28 | 2010-06-10 | Nomura Research Institute Ltd | データ検索システム、方法及びコンピュータプログラム |
CN112333239A (zh) * | 2020-10-10 | 2021-02-05 | 百度(中国)有限公司 | 业务审核通知方法及网关、电子设备、可读介质 |
JP2023501850A (ja) * | 2020-10-10 | 2023-01-20 | 百度(中国)有限公司 | ビジネス監査報知方法及びゲートウェイ、電子機器、読取可能な媒体及びコンピュータプログラム |
CN112333239B (zh) * | 2020-10-10 | 2023-07-18 | 百度(中国)有限公司 | 业务审核通知方法及网关、电子设备、可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20040002881A1 (en) | Object-oriented system and method using shadowing object for approval control | |
KR101636601B1 (ko) | 다수의 소프트웨어 애플리케이션이 연계된 세션을 제공하는 방법 및 시스템 | |
JP5649171B2 (ja) | クライアント上で実行されるアプリケーションのローカル環境を共有可能にする方法、並びにそのサーバ及びコンピュータ・プログラム | |
JP2008146380A (ja) | キャッシュサーバ、キャッシュサーバの制御方法、プログラム及び情報記憶媒体 | |
CN109785042A (zh) | 分布式部署的异常处理方法、服务器、存储介质及装置 | |
US6985894B2 (en) | Document management method and computer-readable storage medium storing program code for executing the same | |
JP4336363B2 (ja) | ビジネスプロセス実行方法、ビジネスプロセス実行システムおよびプログラム | |
US20020059360A1 (en) | Local-file-transfer method and local-file-transfer system for client-server system | |
JP2008262351A (ja) | アクセス制御装置 | |
JP2004258823A (ja) | ビジネスプロセス処理方法およびシステム並びにその処理プログラム | |
US20050055442A1 (en) | System and method for managing access points to distributed services | |
JP2004246520A (ja) | 電子市場連携方法及び電子市場システム | |
CN109933486A (zh) | 一种物流数据的监控处理方法,装置及*** | |
US8024734B2 (en) | Enabling a designer to specify workflows to process various results of execution of transactions | |
JP2004213422A (ja) | 情報検索サーバ及び情報検索方法 | |
JP4718813B2 (ja) | サポート情報処理システム及びサポート情報処理方法 | |
US8712786B2 (en) | Method and apparatus for controlling a multi-node process | |
JP2007004210A (ja) | ワークフロー処理方法、装置及びプログラム | |
JP2003178154A (ja) | 車両の点検整備支援システム | |
JP2009288875A (ja) | 資料作成支援装置、資料作成支援方法、およびプログラム | |
US20090171809A1 (en) | Efficient purchase order creation | |
JP2002157386A (ja) | ワークフロー管理方法および装置並びにその処理プログラム並びにその処理プログラムを格納した記録媒体 | |
JP2007047944A (ja) | ウェブサイト更新支援装置、方法及びプログラム | |
JP2004164045A (ja) | 資材発注管理システムおよび方法 | |
JP2009181240A (ja) | ワークフロー処理装置 |