JPH11154158A - 検索メッセージプロトコル変換ゲートウェイシステム - Google Patents

検索メッセージプロトコル変換ゲートウェイシステム

Info

Publication number
JPH11154158A
JPH11154158A JP9320784A JP32078497A JPH11154158A JP H11154158 A JPH11154158 A JP H11154158A JP 9320784 A JP9320784 A JP 9320784A JP 32078497 A JP32078497 A JP 32078497A JP H11154158 A JPH11154158 A JP H11154158A
Authority
JP
Japan
Prior art keywords
database
search
access
message
access driver
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
JP9320784A
Other languages
English (en)
Inventor
Masahiro Otaka
政浩 大高
Kazuhiro Hashimoto
和広 橋本
Mitsuru Akisawa
充 秋沢
Katsumi Tada
勝己 多田
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
Hitachi Seibu Software Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Seibu Software Co 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, Hitachi Seibu Software Co Ltd filed Critical Hitachi Ltd
Priority to JP9320784A priority Critical patent/JPH11154158A/ja
Publication of JPH11154158A publication Critical patent/JPH11154158A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】アクセスインタフェースの異なるデータベース
に対応した拡張が容易な検索メッセージプロトコル変換
ゲートウェイシステムを提供することである。 【解決手段】データベースアクセス処理に対してデータ
ベースのアクセスインタフェースに依存する処理をカプ
セル化して隠蔽し、それを呼び出す処理からはデータベ
ースに依らず同じインタフェースでデータベースにアク
セスできるデータベースアクセスドライバを使用する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クライアントプロ
グラムからある特定の検索メッセージプロトコルに従っ
たメッセージでデータベースにアクセスしたいが、デー
タベースがその検索メッセージプロトコルに従ったメッ
セージによるアクセスに対応していない場合に、データ
ベースに代わってメッセージを受け取り、データベース
固有のアクセスインタフェースを使ってデータベースに
アクセスし、取得した検索結果をクライアントに返す検
索メッセージプロトコル変換ゲートウェイシステムに係
わり、特にデータベースアクセス処理の中でデータベー
スのアクセスインタフェースに依存する処理をカプセル
化して隠蔽し、それを呼び出す処理からはデータベース
に依らず同じインタフェースでデータベースにアクセス
できるデータベースアクセスドライバを使用するデータ
ベースアクセス手段を備える検索メッセージプロトコル
変換ゲートウェイシステムに関する。
【0002】
【従来の技術】従来、情報にアクセスするためにクライ
アントプログラムとデータベース(サーバ)の間でやり
取りされる検索メッセージのプロトコルは、個々のクラ
イアント・サーバシステム固有のものであった。それら
は、(1)データベースが持つ機能、(2)それを使用
するために踏まなければならない手順、(3)クライア
ントがユーザに提供する機能(ユーザインタフェース)
に依存しており、そのためクライアント・サーバシステ
ム毎、時には同一クライアント・サーバシステムでもバ
ージョン毎にメッセージプロトコルが異なっていた。こ
れに対して情報検索のためのメッセージプロトコルを統
一し、システム間の相互操作性を確保しようとする動き
が盛んになってきている。代表的なものとしては、米国
国立図書館内の組織Z39.50 Maintaina
nce Agencyが主体となって開発し、ANSI
/NISO(American National S
tandards Institute/Nation
al Information Standards
Organization)にて承認されたプロトコル
Z39.50などがある(Juha Hakala,
Z39.50−1995:Information r
etrieval protocol, http:/
/renki.helsinki.fi/z3950/
z3950pr.html)。
【0003】このような検索メッセージプロトコルに対
応したデータベースシステムを構築するには、当該検索
メッセージプロトコルに従った検索メッセージをやりと
りできるインタフェースを持つデータベースシステムを
新規に開発することも考えられるが、一般には既存のデ
ータベースシステムを使用するために、そのアクセスイ
ンタフェース部分に検索メッセージプロトコルに従った
メッセージのやり取りを行うモジュールを付加して対応
する。先述のプロトコルZ39.50では、例えばNI
ST(National Institute of
Standards and Technology)
のNational LanguageProcess
ing and Information Retri
eval GroupによるZ39.50/PRISE
システムにおいて、データベースシステムPRISEに
Z39.50プロトコルによるメッセージを処理するモ
ジュールを付加することにより、Z39.50プロトコ
ルに従ったメッセージでPRISEデータベースにアク
セスできるようにしている(Paul Over, G
uide to Z39.50/PRISE 2.0
Installation, Use, & Modi
fication, NLPIR Homepate,
http://www−nlpir.nist.go
v/~over/zp2/)。このような検索メッセー
ジプロトコルに従ったメッセージのやり取りを行うモジ
ュール全体を一つのシステムと捉えて、検索メッセージ
プロトコル変換ゲートウェイシステムと称する。検索メ
ッセージプロトコル変換ゲートウェイシステムによれ
ば、使用したい検索メッセージプロトコルに対応してい
ない既存のデータベースに対しても、検索メッセージプ
ロトコル変換ゲートウェイシステムを介して当該検索メ
ッセージプロトコルでアクセスすることができる。
【0004】図2は従来の検索メッセージプロトコル変
換ゲートウェイシステムの構成を説明する図である。図
において、1は情報検索用のクライアントプログラム、
3は検索メッセージプロトコル変換ゲートウェイシステ
ム(図中はゲートウェイシステムと略する)、4はデー
タベースであり、クライアントプログラム1と検索メッ
セージプロトコル変換ゲートウェイシステム3は、コン
ピュータネットワーク2で接続されている。検索メッセ
ージプロトコル変換ゲートウェイシステム3とデータベ
ース4とがサーバシステムとなり、全体でクライアント
・サーバモデルを形成している。
【0005】検索メッセージプロトコル変換ゲートウェ
イシステム3は、クライアントプログラム1から受信し
た検索要求メッセージを解析可能なメッセージに変換
(デコード)するメッセージデコード手段5と、デコー
ドされたメッセージを解析し、クライアントプログラム
1からの検索要求の内容を読み取る要求解析手段6と、
データベース4に検索要求を発行し、データベース4か
ら検索結果を取得するデータベースアクセス手段7と、
得られた検索結果からクライアントプログラム1に対す
る検索応答を生成する応答生成手段10と、生成された
検索応答をコード化(エンコード)して検索応答メッセ
ージを生成しクライアントプログラム1に発信するメッ
セージエンコード手段11より構成される。
【0006】検索メッセージプロトコル変換ゲートウェ
イ3は、クライアントプログラム1からの検索要求メッ
セージをコンピュータネットワーク2経由で受信する。
受け取った検索要求メッセージは、検索メッセージプロ
トコルのルールでコード化されている。そこで、検索メ
ッセージプロトコル変換ゲートウェイ3は、まずメッセ
ージデコード手段5により検索要求メッセージを解析可
能なメッセージに変換する。メッセージデコード手段5
がデコードしたメッセージは、要求解析手段6により検
索メッセージプロトコルのルールに従って解析され、ク
ライアントプログラム1からの検索要求の内容を取得す
る。解析された検索要求を受け取ったデータベースアク
セス手段7は、それをデータベース固有のインタフェー
スに従ったかたちに焼き直し、データベース4に発行す
る。検索要求を受け取ったデータベース4は、それに従
った検索結果をデータベースアクセス手段7に返す。デ
ータベースアクセス手段7は、得られた検索結果を応答
生成手段10に渡す。応答生成手段10は、検索結果か
らクライアントプログラム1に対する検索応答を検索メ
ッセージプロトコルのルールに従って生成する。最後
に、メッセージエンコード手段11が検索応答を検索メ
ッセージプロトコルのルールに従ってコード化すること
によりクライアントプログラム1に対する検索応答メッ
セージを生成しクライアントプログラム1に発信する。
以上のようにして、使用したい検索メッセージプロトコ
ルに対応していない既存のデータベースに対しても、当
該検索メッセージプロトコルを使ってアクセスすること
ができるようになる。
【0007】
【発明が解決しようとする課題】検索メッセージプロト
コルは、一般に複数のデータベースにアクセスして検索
を実行するインタフェースを持っていることから、検索
メッセージプロトコル変換ゲートウェイシステムは多様
なデータベースに対してアクセスできるようになること
が望ましい。ところが、検索メッセージプロトコル変換
ゲートウェイシステムは、内部にデータベース固有のア
クセスインタフェースを使ってデータベースにアクセス
する処理を含むため、その実装はデータベースのアクセ
スインタフェースに強く依存する。このデータベースア
クセスに関する処理は、検索メッセージプロトコル変換
ゲートウェイシステムの中で特に重要な位置を占める。
従って、検索メッセージプロトコル変換ゲートウェイシ
ステムをアクセスインタフェースの異なるデータベース
に対応させるのは困難であり、各データベース毎に実装
し直すことが一般的である。
【0008】本発明は、データベースのアクセスインタ
フェースに依存した処理をまとめてカプセル化して分離
することにより、アクセスインタフェースの異なるデー
タベースに対応した拡張が容易な検索メッセージプロト
コル変換ゲートウェイシステムを提供することを目的と
する。
【0009】
【課題を解決するための手段】データベースアクセス手
段の処理のうちデータベースのアクセスインタフェース
を使用している処理を抜粋したデータベースアクセスド
ライバを設け、アクセスインタフェースの異なるデータ
ベースに対応した拡張に対してデータベースアクセスド
ライバのみに修正範囲を局所化して対応することによ
り、前記課題を解決する。
【0010】データベースアクセスドライバは、同じア
クセスインタフェースを持つデータベースの集合毎に実
装する。それぞれデータベースアクセスのための関数を
共通のインタフェース(関数名、関数型、引数の数、引
数の型)で実装したモジュールライブラリとして構築す
る。
【0011】また、データベースとデータベースアクセ
スドライバのモジュールライブラリ名称を対応付けるテ
ーブルとして、アクセスドライバ一覧ファイルを設け
る。データベースアクセス手段は、アクセスドライバ一
覧ファイルを使って、アクセスするデータベース名から
対応したデータベースアクセスドライバのモジュールラ
イブラリ名称を取得する。そして、データベースアクセ
スドライバのモジュールライブラリをロードし、それに
含まれる関数を呼び出すことによりデータベースにアク
セスする。
【0012】このようにデータベースのアクセスインタ
フェースに依存した処理を、共通インタフェースを持っ
た関数として実装し、それらをまとめてデータベースア
クセスドライバとしてカプセル化し、データベースアク
セス手段におけるデータベースアクセスを全てこのデー
タベースアクセスドライバを使って実装することによ
り、異なるデータベースアクセスインタフェースに対応
する拡張の修正範囲をデータベースアクセスドライバの
みに局所化することができる。また、データベースとデ
ータベースアクセスドライバの対応をデータベースアク
セス手段がアクセスドライバ一覧ファイルから取得し、
対応したデータベースアクセスドライバを動的にリンク
して使用することにより、新しいデータベースアクセス
ドライバをアクセスドライバ一覧ファイルに登録するだ
けで、データベースアクセス手段の処理を変更すること
なく新しいデータベースにアクセスできるようになる。
以上のようにして、アクセスインタフェースの異なるデ
ータベースに対応した拡張が容易な検索メッセージプロ
トコル変換ゲートウェイシステムを提供できるようにな
る。
【0013】
【発明の実施の形態】以下、本発明の実施の形態につい
て例をあげて詳細に説明する。
【0014】まず、第1の実施例について説明する。
【0015】図1は本実施例の構成を表すブロック図で
ある。図において、1はクライアントプログラム、2は
コンピュータネットワーク、3は検索メッセージプロト
コル変換ゲートウェイシステム(図中はゲートウェイシ
ステムと略する)、4はデータベースである。
【0016】検索メッセージプロトコル変換ゲートウェ
イシステム3は、メッセージデコード手段5と、要求解
析手段6と、データベースアクセス手段7と、応答生成
手段10と、メッセージエンコード手段11より構成さ
れる。このうち、データベースアクセス手段7はデータ
ベースにアクセスする処理をデータベースアクセスドラ
イバ8を使用して行う。そのとき、アクセスすべきデー
タベース4とデータベースアクセスドライバ8の関連づ
けをアクセスドライバ一覧ファイル9を読み込むことに
より行う。
【0017】データベースアクセスドライバ8は、デー
タベース4にアクセスするための関数群のダイナミック
リンクライブラリである。データベースアクセスドライ
バ8は、同じアクセスインタフェースを持つデータベー
スの集合毎に実装する。データベース固有のアクセスイ
ンタフェースを使用しなければならない処理は全てデー
タベースアクセスドライバ8の中に実装する。
【0018】図3は、データベースアクセスドライバ8
が含むべき関数群の例である。この例では、ユーザ認
証、初期化、データベース情報取得、データベース検
索、レコード取得、終了の6つの関数をサポートしてい
る。データベースアクセスドライバ8については、呼び
出し側が同じインタフェースでコールできるようにサポ
ートすべき関数の種類、関数名、関数型、引数の数、引
数の型を予め規定し、全てのデータベースアクセスドラ
イバ8でその共通インタフェースを遵守しなければなら
ない。
【0019】アクセスドライバ一覧ファイル9は、アク
セスするデータベース名(検索要求で使用される名称)
とデータベースアクセスドライバ8に関する情報を保持
する。
【0020】図4は、アクセスドライバ一覧ファイル9
の内容の例である。この例では、アクセスインタフェー
スが同じであるデータベース群の種別としてDatab
ase_Type_Aがあり、このアクセスインタフェ
ースを持つデータベースとしてdb1が、またそれに対
応したデータベースアクセスドライバ8としてtype
−a.dllがあることを定義している。図4のアクセ
スドライバ一覧ファイル9を使うと、データベースアク
セス手段7はデータベースdb1にアクセスするとき
に、データベースdb1が属するデータベース種別Da
tabase_Type_Aに対応したデータベースア
クセスドライバtype−a.dllを使用する。
【0021】次に図1の構成のシステムにおいて、初期
化処理を例にとって処理の流れを説明する。
【0022】初期化処理とは、データベースに対するセ
ッションの確立やユーザ認証など、データベースに対し
て検索・レコード取得などの処理を開始する前に実施す
べき処理群を指す。ここでは、初期化処理としてユーザ
認証を行った上でのデータベースとのセッションの確立
を考える。
【0023】図5は、初期化処理の全体の処理の流れを
説明する図である。初期化処理は、クライアントプログ
ラム1から検索メッセージプロトコル変換ゲートウェイ
システム3のメッセージデコード手段5が初期化要求メ
ッセージ31を受け取ることで開始される。クライアン
トプログラム1から受信した初期化要求メッセージ31
は、検索メッセージプロトコルのルールに従ってコード
化されているため、そのままでは解析できない。そこ
で、メッセージデコード手段5により、解析可能な初期
化要求メッセージ32に変換する。ここでは例としてZ
39.50ライクな初期化要求メッセージをもとにして
説明する。
【0024】初期化要求メッセージ32の中には、要求
名称(initRequest)やパラメタ(prot
ocolVersion、idAuthenticat
ionなど)が含まれている。これらを要求解析手段6
により、メッセージから切り出す。得られる解析結果3
3としては、検索メッセージプロトコル変換ゲートウェ
イシステム3がこのメッセージに対して処理すべきサー
ビスの名称(Init:初期化処理)やそれを実行する
ために使用する入力パラメタテーブルが含まれる。
【0025】次に要求解析手段6の解析結果33を使用
してデータベースアクセス手段7がデータベースにアク
セスして初期化要求メッセージに対応した処理を実行
し、データベースアクセス結果34を取得する。データ
ベースアクセス手段がデータベースにアクセスする処理
については、図6を使って後ほど詳細に説明する。
【0026】取得したデータベースアクセス結果34を
受け取った応答生成手段10は、データベースアクセス
結果34を使ってクライアントプログラム1に対する初
期化応答メッセージ35を検索メッセージプロトコルの
ルールに従って生成する。ただし、初期化応答メッセー
ジ35を生成するのに必要な全てのデータがデータベー
スアクセス手段7によって用意されるとは限らない。例
えば、検索メッセージプロトコル変換ゲートウェイシス
テム3が扱えるプロトコルバージョン(protoco
lVersionパラメタ)など、アクセスするデータ
ベース4に依らず決定できるデータについては、データ
ベースアクセス手段7が用意するのではなく、応答生成
手段10が初期化応答メッセージ35を生成する処理の
中で生成する。
【0027】応答生成手段10が生成した初期化応答メ
ッセージ35は、メッセージエンコード手段11に渡さ
れる。メッセージエンコード手段11は、検索メッセー
ジプロトコルのルールに従って初期化応答メッセージ3
5をコード化し、初期化応答メッセージ36に変換す
る。そして、初期化応答メッセージ36をクライアント
プログラム1に発信して初期化処理を終了する。
【0028】以上が第1の実施例の初期化処理の全体の
流れである。次に同じ例でデータベースをアクセスする
処理についてより詳細に説明する。
【0029】図6は、初期化処理におけるデータベース
をアクセスする処理の流れを詳細に説明する図である。
図5の処理の流れにおいて、要求解析手段6から解析結
果33を受け取ったデータベースアクセス手段7は、そ
の中からサービス名を取得し、それをもとにクライアン
トプログラム1からの処理要求が初期化処理要求であっ
たことを判別する(41)。Z39.50の初期化要求
メッセージにはアクセス対象データベース名称が指定さ
れない。今回は、検索メッセージプロトコル変換ゲート
ウェイシステム3のアクセス対象データベースがデータ
ベースdb1だけであると仮定する(41)。こうした
前提条件のもと、データベースアクセス処理を開始す
る。
【0030】データベースアクセス手段7は、対象デー
タベース名称db1をもとにアクセスドライバ一覧ファ
イル22を読み込んで対応するデータベースアクセスド
ライバ8の名称を取得する(42)。アクセスドライバ
一覧ファイル22より、データベースdb1はデータベ
ース種別Database_Type_Aに含まれ、そ
れに対応するデータベースアクセスドライバ8は、ty
pe−a.dllであることが分かる。
【0031】そこで、データベースアクセス手段7は、
データベースアクセスドライバ8(ファイル名:typ
e−a.dll)を動的にロードする(43)。これで
データベースdb1に対するデータベースアクセスドラ
イバ8を使用できるようになる。
【0032】次にデータベースアクセスドライバ8に含
まれる初期化関数Initializeをコールする
(44)。初期化関数Initializeの関数イン
タフェースは、図3で例としてあげたインタフェースを
使用する。その際に初期化関数Initializeの
入力パラメタであるデータベース名称としてはdb1
を、ユーザ名称とパスワードは初期化要求メッセージか
ら取得したパラメタuserIdとpasswordを
それぞれ指定する。
【0033】データベースアクセスドライバ8のIni
tialize関数では、まずデータベースdb1に対
してセッションを確立し、ユーザ認証を実行する(4
5)。そしてデータベースdb1から受け取ったステー
タス情報から、セッションを確立できたかどうか、当該
ユーザがデータベースdb1に対するアクセス権限を持
っているかどうかの判定を行う(46)。セッションが
正常に確立され、かつ当該ユーザがデータベースdb1
にアクセスする権限を持っている場合には、Initi
alize関数の出力パラメタstatusに“Acc
ept”を代入する(47)。セッションが確立できな
かったか、または当該ユーザがデータベースdb1にア
クセスする権限を持っていなければ、Initiali
ze関数の出力パラメタstatusに“Rejec
t”を代入する(48)。ちなみにもう一つの出力パラ
メタsession_idには、データベースdb1が
セッション識別子をセッション確立時に割り振りデータ
ベースアクセスドライバ8に通知する場合には、データ
ベースdb1から渡されたセッション識別子をそのまま
代入する。データベースdb1がセッション識別子を割
り振らない場合には、データベースアクセスドライバ8
が以降データベースとのセッションを使用してアクセス
するのに必要となる情報を管理しそれを識別するために
独自にセッション識別子を割り振り出力パラメタses
sion_idに代入する。以上でInitializ
e関数の処理が終了する。
【0034】次にデータベースアクセス手段7は、初期
化応答メッセージを生成するのに必要となるパラメタo
ptionsをデータベースアクセスドライバ8より取
得する(49)。Z39.50におけるパラメタopt
ionsは、クライアントの要求機能とサーバのサポー
ト機能をお互いにやり取りし、要求機能/サポート機能
としてどういう機能があるかにより処理を続行するかど
うか判定するためのパラメタである。検索メッセージプ
ロトコル変換ゲートウェイシステム3は、サポート機能
をoptionsパラメタとして初期化応答メッセージ
に含めてクライアントプログラム1に返す必要がある
が、サポート機能はデータベースの仕様に強く依存して
おり、そのためデータベースアクセスドライバ8にアク
セスしてoptionsパラメタを取得する。opti
onsパラメタの取得のためにデータベースアクセス手
段7は、データベースアクセスドライバ8の関数Get
DBInformationをコールする。
【0035】GetDBInformation関数
は、optionsパラメタを生成してデータベースア
クセス手段7に返す(50)。このとき、データベース
アクセスドライバ8は、アクセスするデータベース4に
対応しているため、データベース4の仕様についての情
報はデータベース4にアクセスしなくても内部に持つこ
とができる。よって、optionsパラメタ生成(5
0)ではデータベースにアクセスせずにデータベースア
クセスドライバ8が独自にoptionsパラメタを生
成する。このようにデータベースアクセスドライバ8の
処理の中には、実際にはデータベース4にアクセスしな
いものがあってもよい。
【0036】以上により、データベースアクセス手段7
は、データベースアクセスドライバ8を使用することに
より、データベースとのセッションを確立し、ユーザ認
証を行い、初期化応答メッセージを生成するのに必要な
データresult(Initialize関数の出力
パラメタstatusの値を使用)、optionsを
生成して処理を終了する。
【0037】データベースアクセスドライバ8について
は、関数のインタフェースを共通化する必要があるが、
関数の処理の内容自体についてはおのおのの実装にまか
せてもよい。例えば、図6の例では、Initiali
ze関数の処理の中で45においてデータベースdb1
にアクセスしてユーザ認証を実行しているが、データベ
ースにユーザ認証の機能がなく、誰でもアクセスしてよ
い場合には、データベースにアクセスせず常にユーザ認
証成功と判定してもよい。このように各データベースの
仕様に合わせたかたちでデータベースアクセスドライバ
8を実装することができる。
【0038】以上のように、データベースアクセス手段
7の処理のうちアクセスするデータベース4に依存した
処理については、対応したデータベースアクセスドライ
バ8をロードし、それに含まれる関数をコールすること
により処理を行う。これにより、検索メッセージプロト
コル変換ゲートウェイシステム3に関して、データベー
ス4のアクセスインタフェースに依存した処理を、共通
インタフェースを持った関数として実装し、それらをま
とめてデータベースアクセスドライバ8としてカプセル
化する。データベースアクセス手段7はデータベースア
クセスを全てこのデータベースアクセスドライバ8を使
って実装する。これにより、異なるデータベースアクセ
スインタフェースに対応した拡張の修正範囲をデータベ
ースアクセスドライバ8のみに局所化し、データベース
アクセスドライバ8を入れ換えることにより容易に新し
いデータベースに対応できる検索メッセージプロトコル
変換ゲートウェイシステム3を実現することが可能とな
る。
【0039】また、データベースアクセス手段7がデー
タベース4とデータベースアクセスドライバ8の対応を
アクセスドライバ一覧ファイル9から取得し、対応した
データベースアクセスドライバ8を動的にリンクして使
用することにより、新しいデータベースアクセスドライ
バ8をアクセスドライバ一覧ファイル9に登録するだけ
で、データベースアクセス手段7の処理を変更すること
なく新しいデータベースにアクセスできるようになり、
アクセスインタフェースの異なるデータベースに対応し
た拡張が容易な検索メッセージプロトコル変換ゲートウ
ェイシステム3を実現することが可能となる。
【0040】次に第2の実施例について説明する。
【0041】上記第1の実施例では、検索メッセージプ
ロトコル変換ゲートウェイシステムのアクセス対象デー
タベースがデータベースdb1だけであると仮定した。
しかし、データベースアクセスドライバを1つだけと考
えるのではなく、アクセスインタフェースの異なる複数
のデータベースに対してそれぞれデータベースアクセス
ドライバを用意し、それらをデータベースアクセス手段
で切り替えて使用する方式も考えられる。この方式によ
れば、異なるアクセスインタフェースを持つ複数のデー
タベースにアクセスする必要のある検索要求に対して
も、データベースアクセスドライバを切り替えて使用す
ることにより対応できる。この方式を採用した実施例を
説明する。
【0042】図7は、本実施例の構成を示すブロック図
である。図において、データベースアクセス手段7の中
にデータベースアクセスドライバディスパッチャ12と
検索結果マージ手段13を追加する。
【0043】データベースアクセスドライバディスパッ
チャ12は、複数のデータベース4を切り替えてアクセ
スする検索要求に従って、検索対象データベースに対応
したデータベースアクセスドライバ8をアクセスドライ
バ一覧ファイル9から求めて、複数のデータベースアク
セスドライバを適宜切り替えて使用し複数のデータベー
スにアクセスする。
【0044】検索結果マージ手段13は、複数のデータ
ベース4にアクセスして取得した検索結果群を1つにま
とめる。
【0045】図8は、複数のデータベースにアクセスす
る場合のアクセスドライバ一覧ファイルの例である。こ
の例では、データベースの種別としてDatabase
_Type_AとDatabase_Type_Bの2
つがあり、Database_Type_Aについて
は、それに対応するデータベース4としてdb1とdb
2が、データベースアクセスドライバ8としてtype
−a.dllがあり、Database_Type_B
については、それに対応するデータベース4としてdb
3が、データベースアクセスドライバ8としてtype
−b.dllがあることを定義している。
【0046】図9は、本実施例の検索メッセージプロト
コル変換ゲートウェイシステム3において、複数のデー
タベースにアクセスする検索処理の流れについて、デー
タベースアクセス手段7に関連した処理に絞って説明す
る図である。データベースアクセス手段7以外の処理に
ついては、今回変更はない。
【0047】要求解析処理6から受け取った検索要求メ
ッセージの解析結果から、データベースアクセス手段7
はクライアントプログラム1からの処理要求が検索要求
であることを判別する(111)。以降、データベース
にアクセスして検索結果を取得する処理はデータベース
アクセスドライバディスパッチャ12により実行する。
【0048】データベースアクセスドライバディスパッ
チャ12は、検索要求メッセージに含まれていた入力パ
ラメタdatabase_nameから検索対象データ
ベース名称群を取得する。ここでは、{db1,db
2,db3}の3つのデータベースが検索対象として指
定されたとする。データベースアクセスドライバディス
パッチャ12は、これら3つのデータベースに対して以
下の様に同じ処理を繰り返す。
【0049】まず最初のデータベース名称db1に対し
て、対応したデータベースアクセスドライバ名称をアク
セスドライバ一覧ファイル101より取得する(11
2)。アクセスドライバ一覧ファイル101によれば、
データベースdb1はデータベース種別Databas
e_Type_Aに属し、それに対応したデータベース
アクセスドライバ8は、type−a.dllであるこ
とが分かる。次にデータベースアクセスドライバtyp
e−a.dllをロードする(113)。そして、デー
タベースアクセスドライバ8に含まれる検索関数Sea
rchをコールする(114)。検索関数Search
の関数インタフェースは、図3で例としてあげたインタ
フェースを使用する。
【0050】コールされたSearch関数では、まず
検索要求メッセージから切り出された検索条件をデータ
ベースdb1に対して使用できるものに変換する(12
2)。変換された検索条件を用いてデータベースdb1
で検索を実行する(123)。データベースdb1によ
る検索が終了し、検索結果が得られると、それをデータ
ベースアクセスドライバディスパッチャ12に渡して、
関数の処理を終了する。
【0051】データベースdb1による検索が終了する
と、次にデータベースアクセスドライバディスパッチャ
12は、データベースdb2、db3に対しても同様に
して検索を実行する。
【0052】データベースdb2について、対応したデ
ータベースアクセスドライバ名称を取得すると(11
5)、それがデータベースdb1と同じtype−a.
dllであることが分かる。このように、使用するデー
タベースアクセスドライバ8が既にロードされている場
合、データベースアクセスドライバディスパッチャ12
は、当該データベースアクセスドライバ8のロードを省
略する。そして、Search関数をコールし(11
6)、データベースdb1の場合と同様に検索を実行す
る。
【0053】続いて、データベースdb3について、対
応したデータベースアクセスドライバ名称を取得すると
(117)、それがデータベースdb1、db2に対応
したデータベースアクセスドライバ8とは異なるtyp
e−b.dllであることが分かる。このようにまだロ
ードしていないデータベースアクセスドライバ8を使用
する必要が出てきた場合に、データベースアクセスドラ
イバディスパッチャ12は新たにデータベースアクセス
ドライバのロードを実行する(118)。そして、デー
タベースアクセスドライバtype−b.dllのSe
arch関数をコールする(119)。
【0054】データベースアクセスドライバtype−
b.dllのSearch関数では、検索条件をデータ
ベースdb3向けに変換し(124)、変換された検索
条件でデータベースdb3を検索する(125)。そし
て検索結果をデータベースアクセスドライバディスパッ
チャ12に渡して関数処理を終了する。
【0055】データベースアクセスドライバディスパッ
チャ12は、以上のように指定されたデータベース群に
ついて、対応したデータベースアクセスドライバ8に次
々に処理を渡しながら(ディスパッチ)、複数のデータ
ベースにアクセスして検索結果を集める。
【0056】データベースアクセスドライバディスパッ
チャ12が集めた検索結果は、検索結果マージ手段13
に渡される。検索結果マージ手段13は、データベース
db1、db2、db3の検索結果について、それぞれ
のヒット件数の和を算出し(120)、その上で検索結
果を1つにマージする(121)。検索結果のマージの
際に、それらをソートすることも考えられる。こうし
て、検索応答メッセージを生成するためのデータとして
応答生成手段10に渡すべきヒット件数ならびに検索結
果レコードが生成できる。
【0057】以上のようにして、データベースアクセス
手段7において、データベースアクセスドライバディス
パッチャ12により検索要求で指定されているデータベ
ース4に対応した複数のデータベースアクセスドライバ
8を切り替えて使用して複数のデータベース4にアクセ
スし、取得できた検索結果を検索結果マージ手段13に
よりマージすることにより、異なるアクセスインタフェ
ースを持つ複数のデータベース4にアクセスする必要の
ある検索要求に対してデータベースアクセスドライバ8
を使用したデータベース4のアクセスが可能となる。
【0058】
【発明の効果】使用したい検索メッセージプロトコルに
対応していない既存のデータベースに対しても、当該検
索メッセージプロトコルでアクセスできるようにする検
索メッセージプロトコル変換ゲートウェイシステムに関
して、データベースのアクセスインタフェースに依存し
た処理を、共通インタフェースを持った関数として実装
し、それらをまとめてデータベースアクセスドライバと
してカプセル化し、データベースアクセス手段はデータ
ベースアクセスを全てこのデータベースアクセスドライ
バを使って実装することにより、異なるデータベースア
クセスインタフェースに対応した拡張の修正範囲をデー
タベースアクセスドライバのみに局所化することが可能
となる。また、データベースアクセス手段がデータベー
スとデータベースアクセスドライバの対応をアクセスド
ライバ一覧ファイルから取得し、対応したデータベース
アクセスドライバを動的にリンクして使用することによ
り、新しいデータベースアクセスドライバをアクセスド
ライバ一覧ファイルに登録するだけで、データベースア
クセス手段の処理を変更することなく新しいデータベー
スにアクセスすることが可能となる。以上のようにし
て、アクセスインタフェースの異なるデータベースに対
応した拡張が容易な検索メッセージプロトコル変換ゲー
トウェイシステムを提供することが可能となる。
【0059】また、データベースアクセス手段におい
て、データベースアクセスドライバディスパッチャによ
り検索要求で指定されているデータベースに対応した複
数のデータベースアクセスドライバを切り替えて使用し
て複数のデータベースにアクセスし、検索結果マージ手
段により複数のデータベースからの検索結果をマージす
ることにより、異なるアクセスインタフェースを持つ複
数のデータベースにアクセスする必要のある検索要求に
対してデータベースアクセスドライバを使用したデータ
ベースのアクセスが可能となる。
【図面の簡単な説明】
【図1】第1の実施例における構成を表す図である。
【図2】従来の検索メッセージプロトコル変換ゲートウ
ェイシステムの構成を説明する図である。
【図3】データベースアクセスドライバ8のサポートす
べき関数群の例を説明する図である。
【図4】アクセスドライバ一覧ファイル9の例を説明す
る図である。
【図5】第1の実施例の全体の処理の流れの例を説明す
る図(初期化処理)である。
【図6】第1の実施例のデータベースアクセス処理の流
れを説明する図(初期化処理)である。
【図7】第2の実施例における構成を表す図である。
【図8】複数のデータベースにアクセス可能なアクセス
ドライバ一覧ファイル9の例を説明する図である。
【図9】第2の実施例のデータベースアクセス処理の流
れを説明する図(検索処理)である。
【符号の説明】
1…クライアントプログラム、 2…コンピュー
タネットワーク、3…検索メッセージプロトコル変換ゲ
ートウェイシステム、4…データベース、
5…メッセージデコード手段、6…要求解析手
段、 7…データベースアクセス手
段、8…データベースアクセスドライバ、 9…アクセ
スドライバ一覧ファイル、10…応答生成手段、
11…メッセージエンコード手段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 秋沢 充 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報・通信開発本部内 (72)発明者 多田 勝己 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報・通信開発本部内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】検索メッセージプロトコルのルールに従っ
    てコード化された検索要求メッセージを情報検索用のク
    ライアントプログラムから受信し、解析可能なメッセー
    ジに変換するメッセージデコード手段と、 上記メッセージデコード手段がデコードしたメッセージ
    を検索メッセージプロトコルのルールに従って解析し、
    クライアントプログラムからの検索要求の内容を読み取
    る要求解析手段と、 データベースに対してアクセスするためのデータベース
    固有の処理を共通インタフェースで提供するライブラリ
    ファイルであるデータベースアクセスドライバを有し、
    上記データベースアクセスドライバとそのライブラリフ
    ァイル名称を対応づけたアクセスドライバ一覧ファイル
    を設け、上記アクセスドライバ一覧ファイルから上記デ
    ータアクセスドライバのライブラリファイル名称を取得
    し、上記要求解析手段が解析した検索要求の内容に従っ
    て上記データベースアクセスドライバのモジュールを呼
    び出し、上記データベースアクセスドライバのモジュー
    ルからデータベース固有のアクセスインタフェースを使
    ってデータベースに検索要求を発行し、データベースか
    ら検索結果を取得するデータベースアクセス手段と、 上記データベースアクセス手段がデータベースから取得
    した検索結果からクライアントプログラムに対する検索
    応答を検索メッセージプロトコルのルールに従って生成
    する応答生成手段と、 上記応答生成手段が生成した検索応答を検索メッセージ
    プロトコルのルールに従ってコード化することによりク
    ライアントプログラムに対する検索応答メッセージを生
    成しクライアントプログラムに発信するメッセージエン
    コード手段を備えたことを特長とする検索メッセージプ
    ロトコル変換ゲートウェイシステム。
  2. 【請求項2】請求項1に記載の検索メッセージプロトコ
    ル変換ゲートウェイシステムにおいて、上記データベー
    スアクセス手段として、 複数のデータベースを切り替えてアクセスする検索要求
    に従って、検索対象データベースに対応した上記データ
    ベースアクセスドライバのライブラリファイル名称を上
    記アクセスドライバ一覧ファイルの情報から求めて、複
    数のデータベースアクセスドライバを切り替えて使用し
    て複数のデータベースにアクセスするデータベースアク
    セスドライバディスパッチャと、 複数のデータベースにアクセスして取得した検索結果群
    を1つにまとめる検索結果マージ手段を備えたことを特
    長とする検索メッセージプロトコル変換ゲートウェイシ
    ステム。
JP9320784A 1997-11-21 1997-11-21 検索メッセージプロトコル変換ゲートウェイシステム Pending JPH11154158A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9320784A JPH11154158A (ja) 1997-11-21 1997-11-21 検索メッセージプロトコル変換ゲートウェイシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9320784A JPH11154158A (ja) 1997-11-21 1997-11-21 検索メッセージプロトコル変換ゲートウェイシステム

Publications (1)

Publication Number Publication Date
JPH11154158A true JPH11154158A (ja) 1999-06-08

Family

ID=18125213

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9320784A Pending JPH11154158A (ja) 1997-11-21 1997-11-21 検索メッセージプロトコル変換ゲートウェイシステム

Country Status (1)

Country Link
JP (1) JPH11154158A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003532195A (ja) * 2000-04-27 2003-10-28 ウエブフイート・インコーポレイテツド 複数の別個のデータベースからサーチ結果を検索する方法およびシステム
JP2007072654A (ja) * 2005-09-06 2007-03-22 Yokogawa Electric Corp サービス検索装置及びサービス検索システム
WO2008056438A1 (fr) * 2006-11-06 2008-05-15 Nec Corporation Système informatique
JP2011258002A (ja) * 2010-06-09 2011-12-22 Inforce Co Ltd データ変換方法、その装置およびそのプログラム
JP2012128767A (ja) * 2010-12-17 2012-07-05 Techno Tsurii:Kk 文書管理ゲートウェイ装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003532195A (ja) * 2000-04-27 2003-10-28 ウエブフイート・インコーポレイテツド 複数の別個のデータベースからサーチ結果を検索する方法およびシステム
JP2010244572A (ja) * 2000-04-27 2010-10-28 Webfeat Inc 複数の別個のデータベースからサーチ結果を検索する方法およびシステム
JP2007072654A (ja) * 2005-09-06 2007-03-22 Yokogawa Electric Corp サービス検索装置及びサービス検索システム
WO2008056438A1 (fr) * 2006-11-06 2008-05-15 Nec Corporation Système informatique
US8250027B2 (en) 2006-11-06 2012-08-21 Nec Corporation Computer system, database access method, application server, and program
JP5126064B2 (ja) * 2006-11-06 2013-01-23 日本電気株式会社 計算機システム
JP2011258002A (ja) * 2010-06-09 2011-12-22 Inforce Co Ltd データ変換方法、その装置およびそのプログラム
JP2012128767A (ja) * 2010-12-17 2012-07-05 Techno Tsurii:Kk 文書管理ゲートウェイ装置

Similar Documents

Publication Publication Date Title
US6665674B1 (en) Framework for open directory operation extensibility
US6189046B1 (en) Mechanism and method for merging cached location information in a distributed object environment
US6687762B1 (en) Network operating system adapted for simultaneous use by different operating systems
EP0822492A2 (en) Bridge providing communication between different implementations of object request brokers
JPH0855048A (ja) データベース管理システム及び方法
GB2325121A (en) Bus connection controller
WO2008060050A1 (en) Apparatus and method for parsing domain profile in software communication architecture
CN112637289A (zh) 一种微服务请求处理方法、设备及存储介质
CN112929210A (zh) 在WebFlux框架搭建的网关路由应用插件的方法、系统及其应用
JP4009591B2 (ja) データベースにアクセスするためのドメインネーミングシステム(dns)
US7403606B1 (en) General protocol for service control point
JPH11154158A (ja) 検索メッセージプロトコル変換ゲートウェイシステム
CN116974948B (zh) 业务系统测试方法、系统、设备和介质
KR102214640B1 (ko) 이종 IoT 플랫폼 식별체계 상호연동을 위한 관리체계 방법 및 장치
CN113067844B (zh) 服务发现方法、装置及hnrf
US6411702B1 (en) Intelligent network capable of executing a plurality of service control request messages in a single service control point
CN115480934A (zh) 一种分布式数据处理的方法、装置、设备及储存介质
CN114356575A (zh) 用户请求处理方法及装置
US8015153B2 (en) System for distributed communications
CN1984149A (zh) 一种基于消息的分布式系统以及在其中通信的方法
CN114461358A (zh) 服务处理方法及系统
KR100292336B1 (ko) 교환 시스템에서 국번 번역 라이브러리를 이용한 국번번역 방법
JPH11225171A (ja) 異通信手順間通信方法及び方式
US6823521B1 (en) Apparatus and method for communicating between computer systems using active datastreams
US20220174121A1 (en) Re-Selection of a Network Function Instance based on Data Consistency