(57)【要約】【課題】  検索対象データベースの追加・変更や検索に使用する検索プログラムの追加・変更や検索条件の追加・変更の発生時に、クライアント装置側の検索アプリケーションの修正を不要とし、保守性を向上させることが可能な技術を提供することにある。  【課題手段】  クライアント装置は、利用可能なデータベースおよび利用可能な検索プログラムに関する情報を定義したリソース情報ファイルをサーバ装置に要求し、サーバ装置からリソース情報ファイルを受信する。クライアント装置は、検索プログラム選択画面および検索条件入力画面を動的に生成する。【選択図】    図４
2006260050.tif 000002
【特許請求の範囲】
【請求項１】
入力装置を介して入力されたクエリーデータ及びクエリーデータのタイプを取得することと、
通信回線を経由してサーバ装置から送信された、利用可能なデータベースおよび利用可能な検索プログラムに関する情報を定義したリソース情報ファイルを受信することと、
上記リソース情報ファイルに含まれるデータベースより、利用可能なデータベース名を抽出し、該抽出したデータベースのリストを含む検索対象データベース選択画面を表示装置に表示することと、
上記検索対象データベース選択画面上のデータベースのリストより上記入力装置を介して利用者が選択した検索対象データベースを取得することと、
上記リソース情報ファイルに含まれる検索プログラムのうち、上記クエリーデータのタイプと上記利用者が選択した検索対象データベースのデータのタイプが適合するものを抽出し、抽出した検索プログラムのリストを含む検索プログラム選択画面を表示装置に表示することと、
上記検索プログラム選択画面上の検索プログラムのリストより、上記入力装置を介して利用者が選択した検索プログラムを取得することと、
上記リソース情報ファイルより、上記利用者が選択した検索プログラムに関する検索条件の項目を抽出し、抽出した検索条件の項目を含む検索条件入力画面を表示することと、
上記検索条件入力画面上において上記入力装置を介して利用者が入力した検索条件を取得することと、
上記検索対象データベース、上記検索プログラム及び上記検索条件を検索要求と共にサーバ装置に送信することと、
を含む検索方法を含むコンピュータにより実行可能なデータベース検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベースの検索を行うデータベース検索システムに関し、特にクライアント装置からサーバ装置に対してデータベースの検索を要求する技術に関する。
【背景技術】
【０００２】
クライアント装置がサーバ装置にデータベースの検索を要求し、検索結果をサーバ装置から受信するデータベース検索システムの例として、バイオインフォマティクス分野で使用されるホモロジー検索のシステムがある。ホモロジー検索とは、遺伝子やタンパク質の性質を調べるために、その塩基配列またはアミノ酸配列をデータベースに格納された既知の配列データと比較して、与えられた遺伝子等との間にホモロジー（相同性）を有する配列データを求める手法である。
【０００３】
このようなデータベース検索システムにおいては、サーバ装置側で検索対象データベースの追加・変更や検索に使用する検索プログラムの追加・変更や各検索プログラムで指定する検索条件の追加・変更が発生する場合がある。特開２００２−２６９１２８号公報に記載された技術によると、このような場合でも、クライアント装置側の検索アプリケーションの修正を不要とし、保守性を向上させることが可能である。
【０００４】
【特許文献１】特開２００２−２６９１２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ホモロジー検索システムにおいては、クエリーデータ・検索対象データベースそれぞれにタイプとして塩基配列・アミノ酸配列の２種類があり、このクエリー配列のタイプと検索対象データベースのタイプの計４個の組合せによって使用可能な検索アルゴリズムおよびこれを実行する検索プログラムの種類が限定される。
【０００６】
しかしながら、従来の技術は、ファイル等に記述された画面定義データにより、検索条件画面・検索結果画面といった画面を自動生成することのみを目的としたものであり、ホモロジー検索のように、検索に指定する問合せデータ（以下、クエリーデータと呼ぶ）のタイプと検索対象データベースのタイプの組合せによって利用可能な検索プログラムが限定されるような場合に対応できないという問題点がある。
【０００７】
本発明の目的は、クエリーデータのタイプと検索対象データベースのタイプの組合せによって利用可能な検索プログラムが限定されるような場合でも、検索対象データベースの追加・変更や検索に使用する検索プログラムの追加・変更や検索条件の追加・変更の発生時に、クライアント装置側の検索アプリケーションの修正を不要とし、保守性を向上させることが可能な技術を提供することにある。
【課題を解決するための手段】
【０００８】
本発明によると、利用者は、クライアント装置の入力装置を介してクエリーデータ及びクエリーデータのタイプを入力する。クライアント装置は、利用可能なデータベースおよび利用可能な検索プログラムに関する情報を定義したリソース情報ファイルをサーバ装置に要求し、サーバ装置からリソース情報ファイルを受信する。クライアント装置は、リソース情報ファイルから利用可能なデータベース名を抽出し、該抽出したデータベースのリストを含む検索対象データベース選択画面を表示装置に表示する。利用者は、検索対象データベース選択画面上の検索対象データベースを選択する。クライアント装置は、リソース情報ファイルに含まれる検索プログラムのうち、クエリーデータのタイプと利用者が選択した検索対象データベースのデータのタイプが適合するものを抽出し、抽出した検索プログラムのリストを含む検索プログラム選択画面を表示する。利用者は、検索プログラム選択画面上の検索プログラムを選択する。クライアント装置は、リソース情報ファイルより、利用者が選択した検索プログラムに関する検索条件の項目を抽出し、抽出した検索条件の項目のリストを示す検索条件入力画面を表示する。利用者は、検索条件入力画面上において検索条件を入力する。クライアント装置は、検索対象データベース、検索プログラム及び検索条件を検索要求と共にサーバ装置に送信する。クライアント装置は、サーバ装置から送信された検索結果を表示する。
【発明の効果】
【０００９】
本発明によれば、データベースや検索プログラムや検索条件が追加・変更される場合でもクライアント装置側のアプリケーションの修正を不要とし、アプリケーションの保守性を向上させることができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を説明する。図１は、本発明のデータベース検索システムの構成を示すブロック図である。データベース検索システムは、サーバ装置１０１とクライアント装置１０２とを有し、両者は、ネットワーク１０３を介して通信可能に接続されている。本例のデータベース検索システムによると、先ず、クライアント装置１０２は、サーバ装置に、利用可能な検索対象データベースおよび利用可能な検索プログラムに関する情報を定義したファイル（以降、リソース情報ファイルと呼ぶ）を要求する。サーバ装置１０１は、リソース情報ファイルを生成し、それをクライアント装置に送信する。
【００１１】
クライアント装置１０２は、リソース情報ファイルに含まれる情報に基いて、検索対象データベース、検索プログラムおよび検索条件を設定し、それを、検索実行の要求をとともにサーバ装置１０１に送信する。サーバ装置１０１は、クライアント装置１０２からの要求に応答して、データベースを検索し、検索結果をクライアント装置１０２に返信する。クライアント装置１０２は、サーバ装置１０１から送信された検索結果を表示する。
【００１２】
図２は、サーバ装置１０１の構成の一例を示すブロック図である。サーバ装置１０１は、サーバ装置１０１の全体を統括的に制御するＣＰＵ等の制御部２０１、ネットワーク１０３に通信可能に接続されている通信制御部２０２、マウス・キーボード等の入力装置２０３、モニタ・プリンタ等の出力装置２０４、利用者が利用可能な複数のデータベースを有するデータベース部２０５、及び、利用者が利用可能な複数の検索プログラムを有するプログラム部２０６を備えて構成される。通信制御部２０２は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク１０３に接続されている。
【００１３】
制御部２０１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラム、各種の処理手順等を規定したプログラム、および所要データを格納するための内部メモリを有し、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部２０１は、受信部２０１ａ、リソース情報ファイル生成部２０１ｂ、検索処理部２０１ｃ、及び、送信部２０１ｄを備えて構成されている。
【００１４】
受信部２０１ａは、クライアント装置１０２からの要求を受信し、その要求内容に応じて制御部の他の各部に処理を渡す。リソース情報ファイル生成部２０１ｂは、クライアント装置１０２からのリソース情報ファイル要求に基いて、利用可能なデータベースの情報と利用可能な検索プログラムの情報を定義したリソース情報ファイルを生成する。検索処理部２０１ｃは、クライアント装置１０２からの検索実行要求に基いて、検索プログラムを用いて検索対象のデータベースを検索する。送信部２０１ｄは、リソース情報ファイルや検索結果等をクライアント装置１０２に送信する。
【００１５】
図３は、クライアント装置１０２の構成の一例を示すブロック図である。クライアント装置１０２は、制御部３０１、ネットワーク１０３に通信可能に接続されている通信制御部３０２、マウスやキーボード等の入力装置３０３、表示装置３０４、及び、ハードディスク等の外部記憶装置３０５を備えて構成される。外部記憶装置３０５には、サーバ装置１０１から送信されたリソース情報ファイルが格納される。通信制御部３０２は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、ネットワーク１０３に接続されている。
【００１６】
制御部３０１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）等の制御プログラム、各種の処理手順等を規定したプログラム、および所要データを格納するための内部メモリを有し、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部３０１は、受信部３０１ａ、クエリーデータ取得部３０１ｂ、リソース情報ファイル取得部３０１ｃ、検索条件設定部３０１ｄ、検索結果表示部３０１ｅ、及び、送信部３０１ｆを備えて構成されている。
【００１７】
受信部３０１ａは、サーバ装置１０１から送信されたリソース情報や検索結果等を受信し、これを制御部の他の各部に渡す。クエリーデータ取得部３０１ｂは、表示装置３０４にクエリーデータ入力画面を表示し、入力装置３０３を介して入力されたクエリーデータの取得を行う。リソース情報ファイル取得部３０１ｃは、サーバ装置１０１にリソース情報ファイルを要求し、サーバ装置１０１からのリソース情報ファイルを取得する。検索条件設定部３０１ｄは、リソース情報ファイルから抽出した情報に基いて検索条件入力画面を表示し、検索条件入力画面にて入力された情報に基いて検索対象データベースと検索条件を設定する。検索結果表示部３０１は、サーバ装置１０１から受信した検索結果を表示する。送信部３０１ｆは、サーバ装置１０１に対して、リソース情報ファイルや検索実行を要求する。
【００１８】
図８を参照してリソース情報ファイルの例を説明する。リソース情報ファイルは、データベース情報定義部８０１と検索プログラム情報定義部８０２を含む。データベース情報定義部８０１は、データベース名９０１とそのデータベースが格納しているデータのタイプ９０２を含む。このデータベース情報定義部８０１は、サーバ装置１０１で利用可能なデータベースの個数分作成される。
【００１９】
検索プログラム情報定義部８０２は、検索データタイプ定義部１００１と検索条件定義部１００２を含む。検索データタイプ定義部１００１は、検索プログラム名１１０１と検索プログラムへの入力となるクエリーデータのタイプ１１０２と各検索プログラムが検索の対象としているデータベースに格納されているデータのタイプ１１０３とを含む。検索データタイプ定義部１００１は、サーバ装置１０１で利用可能な検索プログラムの個数分作成される。
【００２０】
検索条件定義部１００２は、検索プログラム名１２０１、検索条件名１２０２、検索条件のデータ型１２０３、最小値１２０４、最大値１２０５、及び、選択項目１２０６を含む。検索条件のデータ型１２０３は、数値を指定する数値型と“Ａ，Ｂ，Ｃ、…”のような選択項目リストから１つの項目を指定するリスト型の２つが存在する。最小値１２０４及び最大値１２０５は、それぞれ、数値型の検索条件における設定可能な数値の最小値及び最大値を示す。最小値１２０４、及び、最大値１２０５は、検索条件のデータ型１２０３が、数値型の場合のみ記述される。選択項目１２０６は、リスト型の検索条件における選択可能な項目である。選択項目１２０６は、検索条件のデータ型１２０３が、リスト型の場合のみ記述される。検索条件定義部１００２は、各検索プログラムが持っている検索条件の数だけ作成される。
【００２１】
図４は、クライアント装置１０２における処理の概要を示すフローチャートである。まず、ステップＳ１０１にて、クライアント装置１０２のクエリーデータ取得部３０１ｂは、表示装置３０４にクエリーデータ入力画面を表示する。図５は、クエリーデータ入力画面の一例を示す。クエリーデータ入力画面は、クエリーデータおよびクエリーデータのタイプを入力する欄を有する。利用者は、入力装置３０３を介してクエリーデータおよびクエリーデータのタイプを入力する。クエリーデータ取得部３０１ｂは、利用者が入力したクエリーデータ及びクエリーデータのタイプを取得する。
【００２２】
次に、ステップＳ１０２にて、リソース情報ファイル取得部３０１ｃは、送信部３０１ｆを介して、サーバ装置１０１に対して、利用可能なデータベースと利用可能な検索プログラムに関する情報を定義したリソース情報ファイルの送信を要求する。サーバ装置１０１のリソース情報ファイル生成部２０１ｂは、リソース情報ファイルを生成し、クライアント装置１０２に送信する。ステップＳ１０３にて、リソース情報ファイル取得部３０１ｃは、受信部３０１ａを介して、サーバ装置１０１から送信されたリソース情報ファイルを受信し、これを、外部記憶装置３０５に格納する。次に、ステップＳ１０４にて、クライアント装置１０２の検索条件設定部３０１ｄは、検索条件設定処理を行う。検索条件設定処理では、検索対象データベース、検索プログラム、及び、検索条件を設定する。この検索条件設定処理の詳細は、後に、図７を参照して説明する。
【００２３】
ステップＳ１０５にて、クライアント装置１０２の送信部３０１ｆは、サーバ装置に１０１に、検索対象データベース、検索プログラム、及び、検索条件と共に、検索実行の要求を送信する。ステップＳ１０６にて、クライアント装置１０２の受信部３０１ａは、サーバ装置に１０１から、検索結果を受信する。最後にステップＳ１０７にて、クライアント装置１０２の検索結果表示部３０１ｅは、検索結果を表示装置３０４に表示する。図６に、検索結果表示画面の例を示す。
【００２４】
図７は、ステップＳ１０４の検索条件設定部３０１ｄにおける検索条件設定処理の手順を示すフローチャートである。
【００２５】
ステップＳ２０１にて、検索条件設定部３０１ｄは、リソース情報ファイルのデータベース情報定義部８０１から、サーバ装置１０１で利用可能なデータベース名９０１を抽出し、抽出したデータベース名の一覧を表示した検索対象データベース選択画面を、表示装置３０４に表示する。図９に、検索対象データベース選択画面の例を示す。利用者は、入力装置３０３を介して、検索対象データベース選択画面より検索対象データベース名を選択する。ステップＳ２０２にて、検索条件設定部３０１ｄは、利用者が選択した検索対象データベース名を取得する。
【００２６】
ステップＳ２０３にて、検索条件設定部３０１ｄは、検索プログラム選択画面を生成し、それを表示装置３０４に表示する。図１０に、検索プログラム選択画面の例を示す。ステップ２０３の検索プログラム選択画面の生成及び表示処理の詳細は、図１２を参照して説明する。利用者は、入力装置３０３を介して、検索プログラム選択画面より検索プログラム名を選択する。ステップＳ２０４にて、検索条件設定部３０１ｄは、利用者が選択した検索プログラム名を取得する。
【００２７】
ステップＳ２０５にて、検索条件設定部３０１ｄは、検索条件入力画面を生成し、それを表示装置３０４に表示する。図１１に、検索条件入力画面の例を示す。ステップＳ２０５の検索条件入力画面の生成及び表示処理の詳細は、図１３を参照して説明する。利用者は、入力装置３０３を介して、検索条件入力画面より検索条件を入力する。ステップＳ２０６にて、検索条件設定部３０１ｄは、利用者が選択した検索条件を取得する。
【００２８】
図１２を参照して、ステップＳ２０３の検索プログラム選択画面の生成及び表示処理の手順を説明する。まず、ステップＳ３０１にて、検索条件設定部３０１ｄは、リソース情報ファイルを開く。次に、ステップＳ３０２にて、リソース情報ファイル内の検索データタイプ定義部１００１のデータを全て読込んだかどうかを判定する。まだ全てのデータを読込んでいない場合は、ステップＳ３０３に進み、リソース情報ファイルの検索データタイプ定義部１００１から検索データタイプ定義データを１個読込む。ステップＳ３０４にて、図４のステップ１０１で指定したクエリーデータのタイプと、ステップＳ３０３で読込んだ検索データタイプ定義データのクエリーデータのタイプ１１０２を比較し、これらが一致した場合は、ステップＳ３０５に進む。ステップＳ３０５にて、図７のステップ２０２で取得した利用者が選択した検索対象データベースに格納されているデータのタイプとステップＳ３０３で読込んだ検索データタイプ定義データの検索対象データベースのタイプ１１０３を比較し、これらが一致した場合は、ステップＳ３０６に進み、ステップＳ３０３で読込んだ検索データタイプ定義データの検索プログラム名を検索プログラム選択画面上の検索プログラムのリストに追加し、ステップＳ３０２に戻る。
【００２９】
ステップＳ３０２にて、全ての検索データタイプ定義データを読込んだと判定した場合は、ステップＳ３０７にて、リソース情報ファイルを閉じた後、ステップＳ３０８にて、検索プログラム選択画面を表示する。
【００３０】
図１３を参照して、ステップＳ２０５の検索条件入力画面の生成及び表示処理の手順を説明する。まず、ステップＳ４０１にて、検索条件設定部３０１ｄは、リソース情報ファイルを開く。次に、ステップＳ４０２にて、リソース情報ファイルの検索条件定義部１００２から全てのデータを読込んだかどうかを判定する。まだ全てのデータを読込んでいない場合は、ステップＳ４０３に進み、リソース情報ファイルの検索条件定義部１００２から検索条件定義データを１個読込む。ステップＳ４０４にて、図７のステップＳ２０４で取得した利用者が選択した検索プログラム名とステップＳ４０３で読込んだ検索条件定義データのプログラム名１２０１を比較し、これらが一致した場合は、ステップ２０４で取得した検索プログラムに関する検索条件であると判定し、ステップＳ４０５に進む。ステップＳ４０５にて、ステップＳ４０３で読込んだ検索条件定義データのデータ型が数値型かどうかを判定し、数値型である場合は、ステップＳ４０６で検索条件入力画面において該当検索条件を入力する為の数値入力領域を表示し、リスト型である場合は、ステップＳ４０７で該当検索条件を入力する為の選択リストを表示する。
【００３１】
ステップＳ４０２にて、検索条件定義データを全て読込んだと判定された場合は、ステップＳ４０８にて、リソース情報ファイルを閉じた後、ステップＳ４０９にて、検索条件入力画面を表示する。
【００３２】
以上本発明の例を説明したが、本発明は上述の例に限定されるものではなく特許請求の範囲に記載された発明の範囲にて様々な変更が可能であることは当業者に理解されよう。
【図面の簡単な説明】
【００３３】
【図１】本発明によるデータベース検索システムの全体構成の一例を示すブロック図である。
【図２】本発明によるサーバ装置の構成の一例を示すブロック図である。
【図３】本発明によるクライアント装置の構成の一例を示すブロック図である。
【図４】本発明によるクライアント装置におけるデータベース検索処理の概要を示すフローチャートである。
【図５】本発明によるクエリーデータ入力画面の一例を示す図である。
【図６】本発明による検索結果表示画面の一例を示す図である。
【図７】本発明によるクライアント装置の検索条件の設定処理を示すフローチャートである。
【図８】本発明によるリソース情報ファイルの一例を示す模式図である。
【図９】本発明による検索対象データベース選択画面の一例を示す図である。
【図１０】本発明による検索プログラム選択画面の一例を示す図である。
【図１１】本発明による検索条件入力画面の一例を示す図である。
【図１２】本発明による検索プログラム選択画面の生成・表示処理を示すフローチャートである。
【図１３】本発明による検索条件入力画面の生成・表示処理を示すフローチャートである。
【符号の説明】
【００３４】
１０１…サーバ装置、１０２…クライアント装置、１０３…ネットワーク、２０１…制御部、２０１ａ…受信部、２０１ｂ…リソース情報ファイル生成部、２０１ｃ…検索処理部、２０１ｄ…送信部、２０２…通信制御部、２０３…入力装置、２０４…出力装置、２０５…データベース、３０１…制御部、３０１ａ…受信部、３０１ｂ…クエリーデータ取得部、３０１ｃ…リソース情報ファイル取得部、３０１ｄ…検索条件設定部、３０１ｅ…検索結果表示部、３０１ｆ…送信部、３０２…通信制御部、３０３…入力装置、３０４…表示装置、３０５…外部記憶装置、３０６…リソース情報ファイル、８０１…データベース情報定義部、８０２…検索プログラム情報定義部、９０１…データベース名、９０２…検索対象データベースのタイプ、１００１…検索データタイプ定義部、１００２…検索条件定義部、１１０１…プログラム名、１１０２…クエリーデータのタイプ、１１０３…検索対象データベースのタイプ、１２０１…プログラム名、１２０２…条件名、１２０３…データ型、１２０４…最小値、１２０５…最大値、１２０６…選択項目
【図１】
2006260050.tif 000003
【図２】
2006260050.tif 000004
【図３】
2006260050.tif 000005
【図４】
2006260050.tif 000006
【図５】
2006260050.tif 000007
【図６】
2006260050.tif 000008
【図７】
2006260050.tif 000009
【図８】
2006260050.tif 000010
【図９】
2006260050.tif 000011
【図１０】
2006260050.tif 000012
【図１１】
2006260050.tif 000013
【図１２】
2006260050.tif 000014
【図１３】
2006260050.tif 000015