JP2001222453A - データベースの実行制御装置 - Google Patents

データベースの実行制御装置

Info

Publication number
JP2001222453A
JP2001222453A JP2000028999A JP2000028999A JP2001222453A JP 2001222453 A JP2001222453 A JP 2001222453A JP 2000028999 A JP2000028999 A JP 2000028999A JP 2000028999 A JP2000028999 A JP 2000028999A JP 2001222453 A JP2001222453 A JP 2001222453A
Authority
JP
Japan
Prior art keywords
execution control
information
database
execution
control device
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.)
Granted
Application number
JP2000028999A
Other languages
English (en)
Other versions
JP3795289B2 (ja
Inventor
Satoru Yagi
哲 八木
Naohisa Takahashi
直久 高橋
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000028999A priority Critical patent/JP3795289B2/ja
Publication of JP2001222453A publication Critical patent/JP2001222453A/ja
Application granted granted Critical
Publication of JP3795289B2 publication Critical patent/JP3795289B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 本発明は制御の集中による処理能力の制限を
緩和するとともに協調動作に参加する新たなデータベー
スの追加や変更が容易なデータベースの実行制御装置を
提供することを目的とする。 【解決手段】 複数の実行制御部が協調的に動作するた
めの制御規則として実行制御部が他から受信すべき情報
を特定する第1の情報と割り当てられたデータベースに
発行すべきクエリ文が含まれる第2の情報と割り当てら
れたデータベースからクエリ文の実行結果として受け取
った情報の送信先の実行制御部を特定する第3の情報と
を含む制御規則を保持する制御規則保持手段と割り当て
られたノードの制御規則に従い他の実行制御部から受信
した情報に基づいて前記第2の情報に含まれるクエリ文
をデータベースに発行するクエリ文発行手段24と割り
当てられたノードの制御規則に従いデータベースからの
クエリ文の実行結果を他の実行制御部に送信する結果送
信手段25とを設けた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、互いに協調的な動
作が必要な複数のデータベースを制御するためのデータ
ベースの実行制御装置に関する。
【0002】
【従来の技術】データベースには様々な種類があり、そ
れらのデータ構成や扱うデータの種類も様々である。従
って、利用者が様々な情報をデータベースから取得しよ
うとする場合には多数の独立したデータベースを利用す
る必要がある。一方、独立したデータベースには互いに
関連を有する情報が蓄積される場合が多い。そのため、
例えばある情報によって第1のデータベースの内容を更
新する場合には、更新後の第1のデータベースの内容に
基づいて第2のデータベースを更新する必要があり、さ
らに更新後の第2のデータベースの内容に基づいて第3
のデータベースの内容を更新する必要が生じる場合もあ
る。
【0003】従って、複数の独立したデータベースを管
理するシステムにおいては、全てのデータベースの内容
が常に整合性を保つように、独立した複数のデータベー
スの内容を管理する動作を互いに協調させる必要があ
る。そのため、従来より独立した複数のデータベースを
管理するシステムは、協調動作を実現するために図11
のように構成されている。すなわち、各々のデータベー
ス(DB)を制御する実行制御装置の1台がマスタ実行
制御装置として割り当てられ、他の実行制御装置がそれ
ぞれスレーブ実行制御装置として割り当てられている。
【0004】例えば、利用者がいずれかのデータベース
にアクセスするために端末装置からこのシステムに入力
する1組のクエリ文(データベースに与える命令文)
は、まずマスタ実行制御装置に入力される。マスタ実行
制御装置は、入力されたクエリ文の内容から、それを発
行すべきデータベースに割り当てられたスレーブ実行制
御装置を特定し、そのスレーブ実行制御装置に対して入
力されたクエリ文の発行要求を送出する。
【0005】このクエリ文を受信したスレーブ実行制御
装置は、それが割り当てられたデータベースに対してク
エリ文を発行する。このクエリ文の発行に対してデータ
ベースから実行結果が入力されると、スレーブ実行制御
装置はマスタ実行制御装置にクエリ文の発行結果を通知
する。マスタ実行制御装置は、端末装置から入力された
全てのクエリ文に対して、上記の処理を繰り返す。つま
り、複数のデータベースに対するクエリ文の発行タイミ
ングをマスタ実行制御装置が統括的に管理している。こ
れにより、複数のスレーブ実行制御装置及びデータベー
スを協調的に動作させることができる。
【0006】ところで、互いに仕様の異なる複数のデー
タベースが1つのシステムに接続される場合もある。例
えば、互いに異なるクエリ文の言語仕様に合わせて構成
された様々なデータベースを1つのシステムで管理する
場合である。その場合には、図12に示すようにマスタ
実行制御装置と各スレーブ実行制御装置との間にそれぞ
れ仕様差異変換装置が配置される。
【0007】すなわち、仕様差異変換装置は全てのデー
タベースのクエリ文に関する仕様情報を予め取得し、マ
スタ実行制御装置が各スレーブ実行制御装置に対してク
エリ文を発行する際と、クエリ文の発行結果を受け取る
際に、それぞれ仕様情報を用いて仕様の差異を吸収する
ために変換処理を行なう。
【0008】
【発明が解決しようとする課題】従来の装置において
は、図11に示すようにマスタ実行制御装置が多数のス
レーブ実行制御装置を統括し、集中的な制御により協調
動作を実現しているため、次に示す問題があった。
【0009】(1)1つのシステムに多数のデータベー
スが接続される場合には、協調動作のための処理がマス
タ実行制御装置に集中するので、マスタ実行制御装置の
処理能力がボトルネックとなり、システム全体の処理能
力が制限されてしまう。 (2)互いに仕様の異なる複数のデータベースをシステ
ムに接続する場合には、マスタ実行制御装置と各々のス
レーブ実行制御装置との間でデータベースの仕様の違い
に合わせてクエリ文に関する変換処理を行う必要があ
る。このため、マスタ実行制御装置の性能向上が困難で
ある。
【0010】(3)マスタ実行制御装置と各々のスレー
ブ実行制御装置との間でデータベースの仕様の違いに合
わせてクエリ文に関する変換処理を行う必要があるの
で、種類の異なるデータベースを新たに協調動作に参加
させる場合には、マスタ実行制御装置の変換処理につい
て追加や変更が必要である。従って、そのようなシステ
ムの変更に伴うコストが比較的大きくなるのは避けられ
ない。
【0011】(4)マスタ実行制御装置と各々のスレー
ブ実行制御装置との間でデータベースの仕様の違いに合
わせてクエリ文に関する変換処理を行う必要があるの
で、種類の異なるデータベースを新たに協調動作に参加
させる場合には、マスタ実行制御装置の変換処理につい
て追加や変更が必要である。このようなシステムの変更
を行っている時には、システム全体を統括するマスタ実
行制御装置の利用が不可能になるので、新たに追加する
データベースを利用しないユーザであっても、全てのデ
ータベースに全くアクセスできない状態になり不便であ
る。また、追加や変更によって新たに組み込んだプログ
ラムなどに不具合(バグ)があると、システム全体が異
常な動作を行う可能性がある。
【0012】従って、多様な実行制御装置が協調動作す
るシステムでは、マスタとなる実行制御装置は、多くの
種類のデータベースの仕様を保持するとともに、その仕
様に基づいた多彩な変換処理を行うことになる。つま
り、システムの動作が複雑で追加や変更が困難なシステ
ムになってしまう。また、互いに種類の異なるデータベ
ースを協調させる場合には、仕様差異変換装置を用い
て、仮想的に同一のデータベースであるかのように見せ
る。仕様差異変換装置は、1つの実行制御装置が他の実
行制御装置にアクセスする際に、前者に対応するデータ
ベースにアクセスするのと同様のインタフェース(AP
I)を提供する。結果として、協調可能な機能は、全て
のデータベースが共通に備えている機能だけに制限さ
れ、各々のデータベースが備えている全ての機能を利用
できるわけではない。
【0013】本発明は、制御の集中による処理能力の制
限を緩和するとともに、協調動作に参加する新たなデー
タベースの追加や変更が容易なデータベースの実行制御
装置を提供することを目的とする。
【0014】
【課題を解決するための手段】請求項1のデータベース
の実行制御装置は、複数のデータベースとデータベース
を制御するための複数の実行制御部とを備え、前記複数
の実行制御部がそれぞれに予め割り当てられた前記デー
タベースに対してクエリ文を発行するシステムに、前記
実行制御部のそれぞれとして用いられるデータベースの
実行制御装置であって、前記複数の実行制御部が互いに
協調的に動作するための制御規則として、1つの実行制
御部が他の実行制御部から受信すべき情報を特定するた
めの第1の情報と、1つの実行制御部が割り当てられた
データベースに対して発行すべきクエリ文が1つ以上含
まれる第2の情報と、1つの実行制御部が割り当てられ
たデータベースからクエリ文の実行結果として受け取っ
た情報の送信先の他の実行制御部を特定するための第3
の情報とを含む制御規則を複数ノードのそれぞれについ
て保持する制御規則保持手段と、前記制御規則のうち、
前記実行制御部に割り当てられたノードの制御規則に従
い、他の実行制御部から受信した情報に基づいて前記第
2の情報に含まれるクエリ文を前記データベースに発行
するクエリ文発行手段と、前記制御規則のうち、前記実
行制御部に割り当てられたノードの制御規則に従い、前
記データベースから入力されるクエリ文の実行結果を他
の実行制御部に送信する結果送信手段とを設けたことを
特徴とする。
【0015】請求項1においては、複数の実行制御部が
互いに協調的に動作するための制御規則が制御規則保持
手段に保持されている。この制御規則には、1つの実行
制御部が他の実行制御部から受信すべき情報を特定する
ための第1の情報と、1つの実行制御部が割り当てられ
たデータベースに対して発行すべきクエリ文が1つ以上
含まれる第2の情報と、1つの実行制御部が割り当てら
れたデータベースからクエリ文の実行結果として受け取
った情報の送信先の他の実行制御部を特定するための第
3の情報とが含まれている。
【0016】また、クエリ文発行手段は前記制御規則の
うちその実行制御部が割り当てられたノードの制御規則
に従い、他の実行制御部から受信した情報に基づいて前
記第2の情報に含まれるクエリ文を前記データベースに
発行する。さらに、結果送信手段は前記制御規則のうち
その実行制御部に割り当てられたノードの制御規則に従
い、前記データベースから入力されるクエリ文の実行結
果を他の実行制御部に送信する。
【0017】請求項1では、各々の実行制御部は、制御
規則に基づいて他の実行制御部から入力したデータを処
理し、指定されたクエリ文を実行し、クエリ文の実行結
果を他の実行制御部にデータとして送出することができ
る。このデータを受信した他の実行制御部もそのノード
に割り当てられた制御規則に基づいて動作する。このた
め、各々の実行制御部はいわゆるデータ駆動型計算機の
動作を実現することになり、データを入力するだけで各
々の実行制御部は複数の実行制御部が互いに協調するよ
うに動作する。従って、格別にマスタ装置を設けて集中
的に制御を行わなくても、定められた制御規則に基づい
て協調動作が実現される。
【0018】請求項1によれば、各々の実行制御部の動
作によってシステム全体の協調制御も実現される。従っ
て、制御が特定の実行制御部に集中することはなく、シ
ステムに接続されるデータベースの数が多い場合であっ
てもシステム全体として高い処理能力を実現できる。ま
た、システム全体を統括するマスタ装置を設ける必要が
ないので、新たなデータベースを追加したりシステムに
変更を加える場合であっても、一部分の実行制御部に変
更を加えるだけでそれを実現できる。さらに、その変更
の最中であっても変更の対象外の実行制御部及びそれに
割り当てられたデータベースはそのまま利用できるの
で、変更に伴う負担は非常に小さい。
【0019】請求項2は、請求項1のデータベースの実
行制御装置において、前記制御規則保持手段が保持する
前記制御規則のうち、前記実行制御部に割り当てられた
ノードの制御規則を入力して前記第1の情報,第2の情
報及び第3の情報をそれぞれ抽出する規則抽出手段をさ
らに設けたことを特徴とする。規則抽出手段は、それ自
身に割り当てられたノードの制御規則を入力して前記第
1の情報,第2の情報及び第3の情報をそれぞれ抽出す
る。規則抽出手段が抽出した第1の情報,第2の情報及
び第3の情報は、クエリ文発行手段及び結果送信手段に
与えられる。
【0020】請求項3は、請求項1のデータベースの実
行制御装置において、他の実行制御部から受信した情報
を蓄積するとともに、前記実行制御部に割り当てられた
ノードの制御規則に含まれる前記第2の情報の各々のク
エリ文について、それが必要とする全ての情報の受信が
完了した時に前記クエリ文発行手段に対して発行指示を
与える発火制御手段をさらに設けたことを特徴とする。
【0021】請求項3においては、他の実行制御部から
受信した情報は順次に蓄積される。また、発火制御手段
はそれ自身が割り当てられたノードの制御規則に含まれ
る前記第2の情報の各々のクエリ文について、それが必
要とする全ての情報の受信が完了した時に前記クエリ文
発行手段に対して発行指示を与える。つまり、各々のク
エリ文について、それの実行に必要な情報の入力が完了
した段階で自動的にクエリ文の発行要求が発生する。こ
のため、クエリ文の発行要求を送出するタイミングを決
定するために外部から制御を行う必要はなく、各々の実
行制御部は自律的に動作する。
【0022】請求項4は、請求項1のデータベースの実
行制御装置において、前記制御規則をノード毎に区分し
て記述するとともに、各ノードの制御規則には1まとま
りの前記第2の情報を、そのノードに対応付けられる特
定のデータベース固有の仕様に合わせて記述したことを
特徴とする。請求項4においては、制御規則がノード毎
に区分されているので、各々の実行制御部はそれが割り
当てられたノードの制御規則だけを簡単に抽出できる。
また、各ノードの制御規則には、そのノードに対応付け
られる特定のデータベース固有の仕様に合わせて第2の
情報が記述されているので、独自仕様のデータベースを
システムに追加する場合であっても、格別な変換を行う
ことなしに第2の情報をクエリ文としてそのままデータ
ベースに与えることができる。また、制御規則に変更を
加える場合には、ノードとして局所化された制御規則の
一部分の記述を変更するだけで変更を実現できる。
【0023】請求項5は、請求項1のデータベースの実
行制御装置において、前記制御規則をノード毎に区分し
て記述するとともに、各ノードの制御規則の第1の情報
には、前記第2の情報に含まれる各クエリ文の実行に必
要な情報の種類を記述したことを特徴とする。請求項5
においては、第2の情報に含まれる各クエリ文の実行に
必要な情報の種類(データの型など)が制御規則の第1
の情報に記述されているので、各々のノードに割り当て
られた実行制御部は受信した情報と第1の情報との比較
により、各クエリ文の実行に必要な情報が揃ったか否か
を識別できる。
【0024】請求項6は、請求項1のデータベースの実
行制御装置において、前記制御規則をノード毎に区分し
て記述するとともに、各ノードの制御規則の第3の情報
には、送信先ノードの前記第2の情報に含まれる各クエ
リ文の実行に必要な情報の種類を記述したことを特徴と
する。請求項6においては、送信先ノードの前記第2の
情報に含まれる各クエリ文の実行に必要な情報の種類
(データの型など)が制御規則の第3の情報に記述され
ているので、各々のノードに割り当てられた実行制御部
は各クエリ文の実行結果を、第3の情報で表される共通
仕様のデータとして送出することができる。
【0025】請求項7は、請求項1のデータベースの実
行制御装置において、前記複数の実行制御部が協調動作
を開始する前に、各実行制御部に与える制御規則を任意
のサーバからダウンロードして更新する制御規則更新手
段をさらに設けたことを特徴とする。制御規則更新手段
は、前記複数の実行制御部が協調動作を開始する前に、
各実行制御部に与える制御規則を任意のサーバからダウ
ンロードして更新する。従って、サーバに保持する制御
規則を変更することにより、ダウンロードの度にシステ
ムの協調動作の内容を動的に変更することができる。こ
のため、例えば新たな種類のデータベースを協調動作に
参加させるための変更が容易になる。
【0026】請求項8は、請求項1のデータベースの実
行制御装置において、前記複数の実行制御部同士の間で
伝送する情報には、1組の情報の構造を特定するための
構造識別子と、その構造に従って構成された情報の内容
とを含めるとともに、各実行制御部には、他の実行制御
部から受信した情報をそれに含まれる前記構造識別子に
従って解釈するデータ構成解釈手段をさらに設けたこと
を特徴とする。
【0027】請求項8においては、データ構成解釈手段
が伝送される情報に含まれる構造識別子に従って情報の
構造を特定し解釈するので、複雑な構成の情報であって
も複数の実行制御部同士の間で伝送することができる。
請求項9は、請求項8のデータベースの実行制御装置に
おいて、前記複数の実行制御部同士の間で伝送される情
報の構造と前記構造識別子との対応関係を示す定義情報
を保持する定義情報サーバと、各実行制御部が必要とす
る定義情報を前記定義情報サーバから取得する定義情報
取得手段とをさらに設けたことを特徴とする。
【0028】請求項9においては、定義情報取得手段が
実行制御部の必要とする定義情報を定義情報サーバから
取得する。従って、定義情報サーバの保持する内容を変
更すれば、複数の実行制御部同士の間で伝送される情報
の構造を変更することができる。
【0029】
【発明の実施の形態】(第1の実施の形態)本発明のデ
ータベースの実行制御装置の1つの実施の形態につい
て、図1〜図7を参照して説明する。この形態は請求項
1〜請求項7に対応する。図1はこの形態の実行制御装
置の構成を示すブロック図である。図2はこの形態のデ
ータベースシステムの構成を示すブロック図である。
【0030】図3は制御規則の記述例(1)をデータフ
ローグラフのテキスト形式で示す模式図である。図4は
制御規則の記述例(2)をデータフローグラフの図形式
で示す模式図である。図5は解釈機構の入力と各出力の
例を示す模式図である。図6はこの形態の実行制御装置
の動作を示すフローチャートである。図7は制御規則の
ダウンロードの手順を示すシーケンス図である。
【0031】この形態では、請求項1のデータベース,
実行制御部,制御規則保持手段,クエリ文発行手段及び
結果送信手段は、それぞれデータベース11,実行制御
装置12,ゲートウェイGW,発行機構24及び送信機
構25として具体化されている。また、請求項1の第1
の情報,第2の情報及び第3の情報はそれぞれ解釈機構
22の出力D1,D2及びD4に対応する。
【0032】さらに、請求項2の規則抽出手段は解釈機
構22に対応し、請求項3の発火制御手段は発火機構2
3に対応し、請求項7の制御規則更新手段はユーザ端末
USに対応する。図2に示すデータベースシステムは、
N個のデータベース11(1)〜11(N),N個の実行制御
装置12(1)〜12(N),ネットワーク13,ゲートウェ
イGW及びユーザ端末USを備えている。
【0033】実行制御装置12(1)〜12(N)は、それぞ
れ1つのデータベース11と対応付けられている。各々
の実行制御装置12は、それが対応付けられたデータベ
ース11を制御するために、そのデータベース11に対
してクエリ文を発行する。各々のデータベース11は、
蓄積されたデータの集合とそれを制御するためのデータ
ベースマネージャとで構成される。データベースマネー
ジャは、クエリ文が入力されるとそれを実行し、蓄積さ
れたデータの集合にクエリ文を適用する。そして、その
実行結果を実行制御装置12に返す。
【0034】図2のデータベースシステムにおいては、
N個の実行制御装置12(1)〜12(N)はネットワーク1
3を介して互いに接続されている。従って、例えば実行
制御装置12(1)が送出したデータを実行制御装置12
(2)に入力したり、実行制御装置12(2)が送出したデー
タを実行制御装置12(N)に入力することができる。N
個の実行制御装置12(1)〜12(N)のそれぞれは、予め
決定された制御規則に基づき、他の実行制御装置12か
ら入力されたデータに従って動作する。つまり、実行制
御装置12はデータ駆動型の計算機として動作する。
【0035】ゲートウェイGWは、N個の実行制御装置
12(1)〜12(N)のそれぞれに接続されている。ゲート
ウェイGWは制御規則を生成しそれを各実行制御装置1
2に与える。ユーザ端末USは、ユーザからの入力に従
ってゲートウェイGWに指示を与える。N個の実行制御
装置12(1)〜12(N)のそれぞれは、図1に示すように
構成されている。すなわち、実行制御装置12は受信機
構21,解釈機構22,発火機構23,発行機構24及
び送信機構25を備えている。これらの各機構は、この
例ではソフトウェアで実現してある。勿論、ハードウェ
アで実現することも可能である。各機構の動作について
は後で説明する。
【0036】ゲートウェイGWが生成する制御規則は、
例えば図3に示すように構成される。図3の制御規則の
内容について以下に説明する。図3の例では、4種類の
ノード[triger],[serch1],[ser
ch2],[result]のそれぞれに割り当てられ
る制御規則がノード毎に区別して記述してある。また、
この例ではSQL言語を用いて記述してある。図3の各
行#1〜#15の内容は次の通りである。なお、「ノー
ド」は各実行制御装置12に対応し、以下に示す「アー
ク」はノード間で伝送される信号を意味する。
【0037】#1〜#3:SQL言語によるクエリ文の
記述 #4,#5:ノード[triger]を送信元とするア
ークの記述 #6:ノード[serch1]を宛先とするアークの記
述 #7:SQL言語によるクエリ文の記述 #8:ノード[serch1]を送信元とするアークの
記述 #9:ノード[serch2]を宛先とするアークの記
述 #10:SQL言語によるクエリ文の記述 #11:ノード[serch2]を送信元とするアーク
の記述 #12,#13:ノード[result]を宛先とする
アークの記述 #14,#15:SQL言語によるクエリ文の記述 各行#1〜#15の具体的な意味は次の通りである。
【0038】#1:「key」という名前で8文字のキ
ャラクタ型の項目を持つ「seed」という表を作成す
る。 #2:「TYPE−1」という値を持つ行を表「see
d」に追加する。 #3:表「seed」から全ての行を読み出す。 #4:#3で読み出した列を「ATOM」というデータ
形式でノード[serch1]に「key」という名前
で送信する。
【0039】#5:#3で読み出した列を「ATOM」
というデータ形式でノード[serch2]に「ke
y」という名前で送信する。 #6:「ATOM」というデータ形式でノード[tri
ger]から「key」という名前で受信した値を1行
目のSQL文(#7)の「?」と入れ換える。 #7:表「log1」から項目「key」の値が「?」
である行を全て読み出す。
【0040】#8:#7で読み出した列を「TABL
E」というデータ形式でノード[result]に「l
og1」という名前で送信する。 #9:「ATOM」というデータ形式でノード[tri
ger]から「key」という名前で受信した値を1行
目のSQL文(#10)の「?」と入れ換える。#1
0:表「log2」から項目「key」の値が「?」で
ある行を全て読み出す。
【0041】#11:#10で読み出した列を「TAB
LE」というデータ形式で、ノード[result]に
「log2」という名前で送信する。 #12:「TABLE」というデータ形式でノード[s
erch1]から「log1」という名前で受信した値
を「result1」という名前で保存する。 #13:「TABLE」というデータ形式でノード[s
erch2]から「log2」という名前で受信した値
を「result2」という名前で保存する。
【0042】#14:「type」という名前で8文字
のキャラクタ型の項目と「info」という名前で64
文字のキャラクタ型の項目とを持つ「result」と
いう表を作成。 #15:保存した「result1」及び「resul
t2」を表「result」に挿入する。
【0043】制御規則の各ノード[triger],
[serch1],[serch2],[resul
t]は、それぞれ異なる実行制御装置12に割り当てら
れる。例えば、ノード[triger]を実行制御装置
12(1)に割り当て、ノード[serch1]を実行制
御装置12(2)に割り当て、ノード[serch2]を
実行制御装置12(3)に割り当て、ノード[resul
t]を実行制御装置12(4)に割り当てる。
【0044】図3の制御規則をデータフローグラフで表
すと図4のようになる。すなわち、図4に示すようにノ
ード[triger],[serch1],[serc
h2],[result]の間でアークとして信号が伝
送される。従って、複数の実行制御装置12(1)〜12
(N)の間で信号(データ)の伝送が行われる。ノード
[triger]については、そのノードを宛先(デス
ティネーション)とするアークがないため、すぐにクエ
リ文の発行を開始する。ノード[serch1]につい
ては、特に指定がないため、そのノードを宛先とするア
ークが示すデータを全て受信したときにクエリ文の発行
を開始する。
【0045】同様に、ノード[serch2]について
は特に指定がないため、そのノードを宛先とするアーク
が示すデータを全て受信したときにクエリ文の発行を開
始する。また、ノード[result]については、特
に指定がないため、そのノードを宛先とするアークが示
すデータを全て受信したときにクエリ文の発行を開始す
る。
【0046】図1に示す実行制御装置12の解釈機構2
2は、ゲートウェイGWから送出される制御規則D0が
入力されると、その内容を解析し、その結果として4種
類の出力D1,D2,D3,D4を生成する。例えば、
ある実行制御装置12が図3の制御規則のノード[se
rch1]に割り当てられた場合には、その解釈機構2
2に入力される制御規則D0及び4種類の出力D1,D
2,D3,D4はそれぞれ図5のようになる。
【0047】すなわち、解釈機構22にはノード[se
rch1]の全ての制御規則がD0として入力され、出
力D1にはノード[serch1]が他のノードから受
信すべき一連のデータの種類を表す情報として図3の
(#6)の内容が現れる。また、解釈機構22の出力D2
には、対応するデータベース11に発行すべき一連のク
エリ文として図3の(#7)が現れる。ノード[resu
lt]の場合であれば、出力D2には図3の(#14),
(#15)が現れる。
【0048】解釈機構22の出力D3には、送信するデ
ータの形式を表す情報として図3の(#8)に含まれる
「TABLE」が現れる。また、解釈機構22の出力D
4には宛先のノード[result]を示す図3の(#
8)の「result.log1=ITEM(1)」が現れ
る。また、解釈機構22はゲートウェイGWから更新さ
れた新しい制御規則D0が入力される度に、それを解析
して出力D1,D2,D3,D4の内容をそれぞれ更新
する。
【0049】実行制御装置12の受信機構21には、他
の実行制御装置12の出力するデータがネットワーク1
3を介して受信データDinとして入力される。受信機構
21は、受信データDinが入力されると、その内容をデ
ータベース11もしくは実行制御装置12内に保存する
とともに、受信データDinの種別を判定し、その結果を
データ種別Dxとして発火機構23に通知する。
【0050】発火機構23は、受信機構21から通知さ
れたデータ種別Dxの情報を保存するとともにその履歴
を管理する。そして、解釈機構22の出力D1として予
め発火機構23に入力された情報と、受信したデータの
データ種別Dxの履歴とを照合する。解釈機構22の出
力D1の内容は、解釈機構22の出力D2に含まれる各
クエリ文を実行するために必要とされる全てのデータの
種類を表している。発火機構23は、前記照合の結果、
各々のクエリ文についてそれを実行するのに必要な全て
のデータの受信が完了したことを検出すると、発行機構
24に対して発行指示を出力する。
【0051】発行機構24は、発火機構23から発行指
示を受け取ると、解釈機構22から出力D2として入力
される一連のクエリ文の中から、その発行指示に対応す
る1組のクエリ文を選択し、選択したクエリ文を順次に
データベース11に対して発行しその実行を指示する。
発火機構23が発行指示を出力した時点で、クエリ文の
実行に必要な全てのデータの受信が完了しているので、
データベース11は発行機構24からクエリ文が入力さ
れると直ちにそれを実行することができる。
【0052】データベース11は、発行機構24が発行
したクエリ文を実行した後、その実行結果を発行機構2
4に返す。発行機構24は、データベース11から実行
結果を受け取るとそれを送信機構25に渡す。送信機構
25は、発行機構24からクエリ文の実行結果を受け取
ると、それを送信データDoutとしてネットワーク13
に送出する。送信データDoutの宛先は、解釈機構22
の出力D4によって予め指定されたノードの実行制御装
置12になる。また、送信データDoutのデータ形式
は、解釈機構22の出力D3によって予め指定された形
式になる。なお、制御規則に送信先が指定されていない
場合には、送信機構25は送信データDoutを送出しな
い。
【0053】以上に説明した実行制御装置12の全体の
動作をフローチャートで表すと、図6のようになる。図
6において、ステップS11〜S14の処理P1,ステ
ップS15〜S18の処理P2,ステップS19〜S2
3の処理P3,ステップS24〜S25の処理P4は、
それぞれ図1の受信機構21,発火機構23,発行機構
24,送信機構25によって実行される。
【0054】この例では、各実行制御装置12に与える
制御規則を更新する場合には図7に示す手順が実行され
る。すなわち、制御規則の更新を必要とする場合には、
ユーザ端末USからゲートウェイGWに対して所定のク
エリ文を発行するとともに、それの実行指示を与える。
ゲートウェイGWは、ユーザ端末USからのクエリ文及
び実行指示を受信すると、入力されたクエリ文に基づい
てステップS41で制御規則を生成する。この制御規則
は、例えば図3のような内容になる。
【0055】ステップS42では、生成された制御規則
の各々のノードを実行制御装置12(1)〜12(N)のいず
れかに割り当てる。そして、ステップS43では実行制
御装置12(1)〜12(N)のそれぞれに対して、割り当て
られたノードの制御規則を送出する。
【0056】例えば、図3に示すノード[trige
r]の記述の内容全てを実行制御装置12(1)に対して
送出し、図3に示すノード[serch1]の記述の内
容全てを実行制御装置12(2)に対して送出し、図3に
示すノード[serch2]の記述の内容全てを実行制
御装置12(3)に対して送出し、図3に示すノード[r
esult]の記述の内容全てを実行制御装置12(4)
に対して送出する。
【0057】なお、この例では割り当てたノードの制御
規則だけをゲートウェイGWが各実行制御装置12に送
出しているが、全てのノードの制御規則を各々の実行制
御装置12に送出し、各実行制御装置12の解釈機構2
2が割り当てられたノードの制御規則だけを抽出して処
理するように変更してもよい。以上のように、この例で
はシステムに接続されたN個の実行制御装置12のそれ
ぞれが、制御規則に基づき、他の実行制御装置12から
入力されるデータに従って自動的にクエリ文をデータベ
ース11に発行し、クエリ文の実行結果をデータとして
他の実行制御装置12に送出するので、N個の実行制御
装置12は、データベース11(1)〜11(N)のデータが
整合性を保つような協調動作を実現することができる。
このため、マスタ制御装置を設ける必要はない。
【0058】上記の説明においては、複数のデータベー
ス11間の協調動作だけを説明したが、実際にユーザが
各データベース11にアクセスしようとする場合には、
次のようにすればよい。ユーザが新規データをデータベ
ース11に追加する場合には、例えば、図3のノード
[triger]の中にあるSQL文の「inser
t」だけを持つクエリ文を利用する。あるいは、図2の
ゲートウェイGW上もしくはそれと同様の位置にある計
算のアプリケーションプログラムを用い、図示しないネ
ットワークを介して各データベース11に直接(実行制
御装置12を通さずに)アクセスすればよい。
【0059】また、ユーザが各データベース11からデ
ータを読み出そうとする場合にも、図2のゲートウェイ
GW上もしくはそれと同様の位置にある計算のアプリケ
ーションプログラムを用い、図示しないネットワークを
介して各データベース11に直接アクセスすればよい。
なお、上記のようなユーザのデータベース11に対する
アクセスを容易にするためには、各々のデータベース1
1上にどのような情報が存在するのかを表すカタログ情
報や、ユーザのクエリ文の実行結果が結局いずれのデー
タベース11に配置されたのかを示す情報をゲートウェ
イGWなどが管理しユーザに提供するのが望ましい。
【0060】(第2の実施の形態)本発明のデータベー
スの実行制御装置のもう1つの実施の形態について、図
8〜図10を参照して説明する。この形態は、請求項8
及び請求項9に対応する。図8はこの形態のデータベー
スシステムの構成を示すブロック図である。図9はこの
形態の実行制御装置の構成を示すブロック図である。図
10はこの形態の実行制御装置の動作を示すフローチャ
ートである。
【0061】この形態は、第1の実施の形態の変形例で
ある。図8〜図10において、第1の実施の形態と対応
する要素及び処理については同一の符号及びステップ番
号を付けて示してある。第1の実施の形態と同一の部分
については、以下の説明を省略する。この形態では、請
求項8のデータ構成解釈手段は受信機構21B及びステ
ップS31に対応する。また、請求項9の定義情報サー
バ及び定義情報取得手段は、それぞれゲートウェイGW
及び解釈機構22Bに対応する。
【0062】図8に示すゲートウェイGWは、制御規則
だけでなく定義情報をも生成し、それらを各実行制御装
置12に与える。この定義情報は、複数の実行制御装置
12の間でネットワーク13を介して互いに伝送される
データの構造を把握するのに必要な情報であり、予め定
めたデータ形式毎に定義される。
【0063】例えば、あるデータ形式「table」の
定義情報の内容は次のような情報を含んでいる。 デリミタ:=, タグ1:=’ タグ1の型:=可変長文字列 タグ2:= タグ2の型:=32ビット整数型 また、図3,図4の定義情報のノード[serch1]
からノード[result]にアーク「log1」とし
て伝送されるデータは、例えば次のような内容のテキス
トデータになる。
【0064】「TABLE:serch1:log1:
DATA:’29/Jul/1999:18:40:0
1+0900’,990729,’HtmlDoc/m
enu.html’」 このテキストデータの中で、「TABLE:serch
1:log1:」がデータヘッダであり、それ以降がデ
ータの本文である。このデータヘッダの最初にある「T
ABLE」は、このテキストデータの本文のデータ形式
が「table」であることを意味するデータ形式識別
子である。
【0065】ノード[result]に割り当てられた
実行制御装置12においては、上記のようなデータが受
信データDinとして図9の受信機構21Bに入力され
る。また、上記のような定義情報が図9の定義情報Dd
として解釈機構22Bから受信機構21Bに入力され
る。ノード[result]に割り当てられた実行制御
装置12の受信機構21Bは、次のように動作する。な
お、この例ではデータベース11としてリレーショナル
データベースを用いる場合を想定している。
【0066】1.受信データDinのデータヘッダに含ま
れるデータ形式識別子「TABLE」を参照して、受信
データDinの解析に用いる定義情報のデータ形式を「t
able」に決定する。 2.決定したデータ形式を「table」の定義情報を
参照する。 3.前記テキストデータを受信データDinとして受信し
た場合、「DATA」以降のデータ本体を定義情報のデ
リミタ「,」で区切って分離する。その結果、「’29
/Jul/1999:18:40:01+0900’」
と「990729」と「’HtmlDoc/menu.
html’」とが分離して取り出される。
【0067】4.定義情報のタグ1「’」が先頭にある
「’29/Jul/1999:18:40:01+09
00’」及び「’HtmlDoc/menu.htm
l’」をそれぞれタグ1の型として定義された「可変長
文字列」として解釈する。 5.「990729」をタグ2の型として定義された
「32ビット整数型」として解釈する。
【0068】6.解釈した値を、決定したデータ形式
「table」に従ってリレーショナルデータベースの
表に蓄積する。蓄積先は、解釈機構22Bから指定され
る「保存先」の「result1」に従って、表名が
「result1」の表とする。解釈した値は、図9で
はデータDi2として発行機構24又はデータベース11
に保存される。「result1」の表が実行制御装置
12B上に存在する場合には発行機構24に保存され、
「result1」の表がデータベース11に存在する
場合にはデータベース11に保存される。
【0069】7.ノード「result1」からアーク
「log1」のデータを受信したこと「そのデータの種
類」を発火機構23に通知する。図9に示すように、定
義情報Ddは解釈機構22Bを介して送信機構25Bに
も印加される。送信機構25Bは、データベース11が
返すクエリ文の実行結果を発行機構24から受信する
と、定義情報Ddの内容に適合するようにデータの構成
を変換し、送信データDoutを組み立てる。
【0070】受信機構21Bの動作は、図10に示すス
テップS31が追加された以外は第1の実施の形態と同
一である。ステップS31では、受信機構21Bは定義
情報Ddの内容に従って受信データDinを解釈し、指定
された形式のデータDi2に変換する。また、送信機構2
5Bの動作は図10に示すステップS32が追加された
以外は第1の実施の形態と同一である。ステップS32
では、送信機構25Bは送信データDoutを定義情報D
dの内容に従って組み立てる。
【0071】この例では、受信データDinの構造を定義
情報を用いて解釈するので、データ構成の異なる新たな
データベースを協調動作に参加させる場合にも、データ
構成の変換を定義情報の変更だけで実現することがで
き、システムの変更に伴う負担が小さくなる。なお、図
8の例では同一のゲートウェイGWが制御規則及び定義
情報の両方を送出するが、制御規則及び定義情報をそれ
ぞれ異なるサーバから送出するように構成を変更しても
よい。
【0072】
【発明の効果】以上の通り、本発明のデータベースの実
行制御装置では、種類の異なる複数のデータベースを互
いに協調させる場合であっても、全てのデータベースの
機能をそのまま使用できるため、機能面での相乗効果が
得られる。また、新たなデータベースを協調動作に参加
させる場合には、追加するデータベースの実行制御装置
だけについて変更を行えばよい。従って、既に運用され
ているデータベースを新たに協調動作に取り込んだり、
新規開発されたデータベースを協調動作に取り込むこと
が容易である。
【0073】また、データベースを協調動作のための制
御機能が、複数の実行制御装置のそれぞれに分散するの
で、多数のデータベースを協調動作させる場合であって
もボトルネックが生じない。すなわち、本発明のデータ
ベースの実行制御装置によりオープンでスケーラブルな
データベース協調環境が実現できる。
【図面の簡単な説明】
【図1】第1の実施の形態の実行制御装置の構成を示す
ブロック図である。
【図2】第1の実施の形態のデータベースシステムの構
成を示すブロック図である。
【図3】制御規則の記述例(1)をデータフローグラフ
のテキスト形式で示す模式図である。
【図4】制御規則の記述例(2)をデータフローグラフ
の図形式で示す模式図である。
【図5】解釈機構の入力と各出力の例を示す模式図であ
る。
【図6】第1の実施の形態の実行制御装置の動作を示す
フローチャートである。
【図7】制御規則のダウンロードの手順を示すシーケン
ス図である。
【図8】第2の実施の形態のデータベースシステムの構
成を示すブロック図である。
【図9】第2の実施の形態の実行制御装置の構成を示す
ブロック図である。
【図10】第2の実施の形態の実行制御装置の動作を示
すフローチャートである。
【図11】従来例のデータベースシステムの構成を示す
ブロック図である。
【図12】データベース間の仕様の違いを吸収するため
の従来の構成を示すブロック図である。
【符号の説明】 11 データベース 12,12B 実行制御装置 13 ネットワーク 21,21B 受信機構 22,22B 解釈機構 23 発火機構 24 発行機構 25,25B 送信機構 GW ゲートウェイ US ユーザ端末

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータベースとデータベースを制
    御するための複数の実行制御部とを備え、前記複数の実
    行制御部がそれぞれに予め割り当てられた前記データベ
    ースに対してクエリ文を発行するシステムに、前記実行
    制御部のそれぞれとして用いられるデータベースの実行
    制御装置であって、 前記複数の実行制御部が互いに協調的に動作するための
    制御規則として、1つの実行制御部が他の実行制御部か
    ら受信すべき情報を特定するための第1の情報と、1つ
    の実行制御部が割り当てられたデータベースに対して発
    行すべきクエリ文が1つ以上含まれる第2の情報と、1
    つの実行制御部が割り当てられたデータベースからクエ
    リ文の実行結果として受け取った情報の送信先の他の実
    行制御部を特定するための第3の情報とを含む制御規則
    を複数ノードのそれぞれについて保持する制御規則保持
    手段と、 前記制御規則のうち、前記実行制御部に割り当てられた
    ノードの制御規則に従い、他の実行制御部から受信した
    情報に基づいて前記第2の情報に含まれるクエリ文を前
    記データベースに発行するクエリ文発行手段と、 前記制御規則のうち、前記実行制御部に割り当てられた
    ノードの制御規則に従い、前記データベースから入力さ
    れるクエリ文の実行結果を他の実行制御部に送信する結
    果送信手段とを設けたことを特徴とするデータベースの
    実行制御装置。
  2. 【請求項2】 請求項1のデータベースの実行制御装置
    において、前記制御規則保持手段が保持する前記制御規
    則のうち、前記実行制御部に割り当てられたノードの制
    御規則を入力して前記第1の情報,第2の情報及び第3
    の情報をそれぞれ抽出する規則抽出手段をさらに設けた
    ことを特徴とするデータベースの実行制御装置。
  3. 【請求項3】 請求項1のデータベースの実行制御装置
    において、他の実行制御部から受信した情報を蓄積する
    とともに、前記実行制御部に割り当てられたノードの制
    御規則に含まれる前記第2の情報の各々のクエリ文につ
    いて、それが必要とする全ての情報の受信が完了した時
    に前記クエリ文発行手段に対して発行指示を与える発火
    制御手段をさらに設けたことを特徴とするデータベース
    の実行制御装置。
  4. 【請求項4】 請求項1のデータベースの実行制御装置
    において、前記制御規則をノード毎に区分して記述する
    とともに、各ノードの制御規則には1まとまりの前記第
    2の情報を、そのノードに対応付けられる特定のデータ
    ベース固有の仕様に合わせて記述したことを特徴とする
    データベースの実行制御装置。
  5. 【請求項5】 請求項1のデータベースの実行制御装置
    において、前記制御規則をノード毎に区分して記述する
    とともに、各ノードの制御規則の第1の情報には、前記
    第2の情報に含まれる各クエリ文の実行に必要な情報の
    種類を記述したことを特徴とするデータベースの実行制
    御装置。
  6. 【請求項6】 請求項1のデータベースの実行制御装置
    において、前記制御規則をノード毎に区分して記述する
    とともに、各ノードの制御規則の第3の情報には、送信
    先ノードの前記第2の情報に含まれる各クエリ文の実行
    に必要な情報の種類を記述したことを特徴とするデータ
    ベースの実行制御装置。
  7. 【請求項7】 請求項1のデータベースの実行制御装置
    において、前記複数の実行制御部が協調動作を開始する
    前に、各実行制御部に与える制御規則を任意のサーバか
    らダウンロードして更新する制御規則更新手段をさらに
    設けたことを特徴とするデータベースの実行制御装置。
  8. 【請求項8】 請求項1のデータベースの実行制御装置
    において、前記複数の実行制御部同士の間で伝送する情
    報には、1組の情報の構造を特定するための構造識別子
    と、その構造に従って構成された情報の内容とを含める
    とともに、各実行制御部には、他の実行制御部から受信
    した情報をそれに含まれる前記構造識別子に従って解釈
    するデータ構成解釈手段をさらに設けたことを特徴とす
    るデータベースの実行制御装置。
  9. 【請求項9】 請求項8のデータベースの実行制御装置
    において、前記複数の実行制御部同士の間で伝送される
    情報の構造と前記構造識別子との対応関係を示す定義情
    報を保持する定義情報サーバと、各実行制御部が必要と
    する定義情報を前記定義情報サーバから取得する定義情
    報取得手段とをさらに設けたことを特徴とするデータベ
    ースの実行制御装置。
JP2000028999A 2000-02-07 2000-02-07 データベースの実行制御装置 Expired - Fee Related JP3795289B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000028999A JP3795289B2 (ja) 2000-02-07 2000-02-07 データベースの実行制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000028999A JP3795289B2 (ja) 2000-02-07 2000-02-07 データベースの実行制御装置

Publications (2)

Publication Number Publication Date
JP2001222453A true JP2001222453A (ja) 2001-08-17
JP3795289B2 JP3795289B2 (ja) 2006-07-12

Family

ID=18554327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000028999A Expired - Fee Related JP3795289B2 (ja) 2000-02-07 2000-02-07 データベースの実行制御装置

Country Status (1)

Country Link
JP (1) JP3795289B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242134A (ja) * 2002-02-18 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 相関情報処理方法及び相関情報処理装置並びにプログラム及び記録媒体
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods
US11308161B2 (en) 2015-02-18 2022-04-19 Ab Initio Technology Llc Querying a data source on a network
US11593369B2 (en) 2010-01-15 2023-02-28 Ab Initio Technology Llc Managing data queries

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242134A (ja) * 2002-02-18 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 相関情報処理方法及び相関情報処理装置並びにプログラム及び記録媒体
US11593369B2 (en) 2010-01-15 2023-02-28 Ab Initio Technology Llc Managing data queries
US11308161B2 (en) 2015-02-18 2022-04-19 Ab Initio Technology Llc Querying a data source on a network
US11093223B2 (en) 2019-07-18 2021-08-17 Ab Initio Technology Llc Automatically converting a program written in a procedural programming language into a dataflow graph and related systems and methods

Also Published As

Publication number Publication date
JP3795289B2 (ja) 2006-07-12

Similar Documents

Publication Publication Date Title
US6148323A (en) System and method for managing the execution of system management
US7779050B2 (en) Method, apparatus, and system for data modeling and processing
US6438591B1 (en) Entity management system
US20170195403A1 (en) Scripting of soap commands
US5886693A (en) Method and apparatus for processing data across a computer network
US20020059280A1 (en) Automated table installer for multiple heterogenous databases
US20060259638A1 (en) Rapid development in a distributed application environment
US9135297B2 (en) Database translation system and method
US20030158894A1 (en) Multiterminal publishing system and corresponding method for using same
CA2845733A1 (en) Method and system for generating a view
JP6993577B2 (ja) インタフェース変換プログラム、インタフェース変換方法および情報処理装置
JP2016170785A (ja) 情報処理装置と、その処理方法及びプログラム
AU2003270205A1 (en) Method and device for generating distributed java applications by means of a central xml configuration file
JP3795289B2 (ja) データベースの実行制御装置
US11556316B2 (en) Distributed extensible dynamic graph
US6581091B1 (en) Program parameter updating method
US20090222452A1 (en) Stateful Database Command Structure
JP7201000B2 (ja) データ処理システム、方法およびプログラム
JP2003263375A (ja) データサーバ
JP2002334058A (ja) メインフレームのアプリケーション実行方法、アプリケーション実行システム、プログラム
JP2000267964A (ja) ドキュメントの動的表示方法、システムおよび記録媒体
JP2007072654A (ja) サービス検索装置及びサービス検索システム
JP2002132562A (ja) データベース更新システム
JP2003099255A (ja) 入力フォーム自動生成方法及び装置
JP2002342086A (ja) サーバクライアントアプリケーションプログラムおよびウェブブラウザ向け文書データ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060412

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090421

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100421

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees