JPH06290098A - 分散データベース処理方法 - Google Patents

分散データベース処理方法

Info

Publication number
JPH06290098A
JPH06290098A JP5074209A JP7420993A JPH06290098A JP H06290098 A JPH06290098 A JP H06290098A JP 5074209 A JP5074209 A JP 5074209A JP 7420993 A JP7420993 A JP 7420993A JP H06290098 A JPH06290098 A JP H06290098A
Authority
JP
Japan
Prior art keywords
information
update
database
record
update count
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
JP5074209A
Other languages
English (en)
Inventor
Kanehito Iwasaki
兼人 岩崎
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 Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering 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 Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP5074209A priority Critical patent/JPH06290098A/ja
Publication of JPH06290098A publication Critical patent/JPH06290098A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 情報参照時のトラフィック量を減少させるこ
とができ、また最新の情報を利用者に提示できるように
すること。 【構成】 マスタデータベースおよび複数の分散データ
ベースに格納される情報に対し、内容の更新回数を示す
更新回数情報を所定格納単位毎に更新の都度格納する格
納手段を各データベース対応に設け、この格納手段に格
納される更新回数情報の照合によってマスタデータベー
スと複数の分散データベース間の整合性を管理する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分散データベース処理
方法に関し、特にネットワーク上に分散している情報間
の整合性を自動的に確保するための処理方法に関するも
のである。
【0002】
【従来の技術】ネットワーク上で、複数の利用者から同
時にアクセスされるような情報(データベース)を取り
扱おうとする場合、通常は特定のワークステーション
(データベースサーバ)において、情報に対するアクセ
スを一元的に管理する方式がとられている。
【0003】この方式によれば、互いに矛盾することな
く複数の利用者に対しサービスを提供することが可能と
なるが、全ての入出力処理が特定のワークステーション
に集中することになるので、システムの運用効率が低下
するという問題が生じる。
【0004】これは、情報を格納する記憶装置(通常、
磁気ディスク装置)を半導体記憶装置のようなアクセス
速度の高いものに置き換えることにより、概ね解消でき
るが、通常、このようなアクセスの高速な装置は高価で
もあるため、かなりのコストアップを覚悟しなければな
らない。
【0005】また、情報の複製を作成してネットワーク
上に分散させることにより、その入出力にかかわる負荷
を分散させる方法が考えられるが、情報に対するアクセ
スを参照(入力)だけに限定するのであれば解決すべき
問題は比較的少ないが、更新(出力)を可能にするため
には、多くの問題を解決しなければならない。
【0006】そこで、ネットワーク上に分散した情報を
整合性を保ちながら、個々に分散して更新するための処
理方式として、例えば特開平4−88533号公報に開
示されているように、管理を行うプロセッサを予め定め
ておき、任意のプロセッサにおいて更新が発生した場
合、管理を行うプロセッサに対しても更新内容を送り、
管理を行うプロセッサにおいて、分散された情報の相互
の整合性が確認できた時に限り更新を許す方式が知られ
ている。
【0007】
【発明が解決しようとする課題】しかしながら、特開平
4−88533号公報に開示された処理方式によれば、
任意のプロセッサでの誤った更新を防止し、情報の整合
性(互いに矛盾のないこと)を保つことが可能である
が、情報の更新は管理プロセッサと更新元のプロセッサ
においてのみ実施されるため、他のプロセッサが管理プ
ロセッサによって管理されている情報を参照する場合
は、全ての情報を送信してもらう必要がある。このた
め、トラフィック量が増加し、運用効率が低下するとい
う問題がある。
【0008】また、全ての情報を送信してもらったとし
ても、それが最新の情報であるか否かを判定できず、最
新の情報を利用者に提示できないという問題がある。
【0009】本発明の第1の目的は、入力処理の負荷分
散を図るべくデータベースを分散した分散データベース
システムにおいて、情報参照時のトラフィック量を減少
させることができ、また最新の情報を利用者に提示する
ことができる分散データベース処理方法を提供すること
にある。
【0010】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、マスタデータベースと、このマスタデー
タベース内の情報を管理する管理プロセッサと、前記マ
スタデータベースの一部または全部の内容を複写した複
数の分散データベースと、前記管理プロセッサと伝送路
によってネットワーク接続され、前記複数の分散データ
ベース内の情報を管理する複数のプロセッサとから成る
分散データベースシステムにおいて、前記マスタデータ
ベースおよび複数の分散データベースに格納される情報
に対し、内容の更新回数を示す更新回数情報を所定格納
単位毎に更新の都度格納する格納手段を各データベース
対応に設け、この格納手段に格納される更新回数情報の
照合によってマスタデータベースと複数の分散データベ
ース間の整合性を管理するようにしたものである。
【0011】
【作用】上記手段によれば、例えば、分散データベース
に対する情報の参照要求時は、その分散データベースを
管理するプロセッサからマスタプロセッサに対し、参照
対象情報に対応した更新回数情報を問い合わせ、当該デ
ータベース対応の前記格納手段に格納されている参照対
象情報の更新回数と一致するかどうかを判定し、一致す
る時は分散データベース内の参照対象の情報を読出して
利用者に提示する。
【0012】従って、分散データベース側の更新回数情
報とマスタデータベース側の更新回数情報とが一致する
時は、分散データベース内の参照対象の情報を読出して
利用者に提示することになるので、マスタデータベース
の情報を送信してもらう必要がない。
【0013】従って、情報参照時のトラフィック量を減
少させることができ、しかも最新の情報を利用者に提示
することができる。
【0014】
【実施例】以下、本発明を図示する実施例に基づき詳細
に説明する。
【0015】なお、以下では、管理単位となる関連項目
の集まりをレコードと言い、そのレコードの集合体をデ
ータベースと言う。
【0016】また、全てのデータベースの複製元になる
データベースをマスタデータベースと言い、マスタデー
タベースの複製である分散配置されたデータベースのこ
とを分散データベースと言う。
【0017】図1は、本発明を適用した分散データベー
スシステムの一実施例を示すシステム構成図であり、マ
スタデータベース100と、このマスタデータベース1
00内の情報を管理する管理プロセッサ200と、前記
マスタデータベース100の一部または全部の内容を複
写した複数の分散データベース300a,300bと、
管理プロセッサ200と伝送路400によってネットワ
ーク接続され、複数の分散データベース300a,30
0b内の情報を管理する複数のプロセッサ500a,5
00bとから構成されている。
【0018】管理プロセッサ200は、管理プログラム
201と管理情報格納部202とから構成され、またプ
ロセッサ500a,500bは制御プログラム501
a,501bおよび制御情報格納部502a,502b
とで構成される。
【0019】ここで、管理プログラム200はレコード
毎の更新状況を統括管理することにより、分散データベ
ース300a,300b毎に独立した更新が行われるこ
とを防止する。
【0020】また、何れかの分散データベース300
a,300bにおいて更新が行われたときには、その更
新内容をマスタデータベース100に格納し、該当レコ
ードの更新回数情報を更新すると共に、その更新内容と
更新後の更新回数情報をメッセージにセットし、各制御
プログラム501a,501bに対して送信する。この
ことにより、データベース間の整合性を確保し、不整合
が生じた場合の回復に備える。
【0021】管理情報格納部202は、レコードの更新
状況と更新回数をそれぞれ示す更新状況情報および更新
回数情報の集合体を管理情報として格納する部分であ
り、具体的には、管理プロセッサ200に内蔵されたI
Cメモリに格納される。
【0022】この場合、更新状況を示す情報とは、該当
レコードが更新中であるか否か、更新中であるときは、
何れの分散データベースにおいて更新中であるかを表す
ものを言う。また、更新回数情報とは、レコードが新規
作成された時に初期値が与えられ、その後レコードが更
新される度に一定の値が加算されていくものを言う。
【0023】一方、制御プログラム501a,501b
は、分散データベース毎に用意され、利用者からのデー
タベースへのアクセスは、この制御プログラム501
a,501bに対する依頼として行われる。依頼を受け
た制御プログラム501a,501bでは、管理プログ
ラム201と連携することにより、分散データベース3
00a,300bに対する入出力を行う。
【0024】具体的には、利用者からレコードの入力の
依頼があったとき、自己の管理下にあるレコードの整合
性を更新回数情報により確認し、自己の管理下にある分
散データベース(300aまたは300b)よりレコー
ドの入力を行う。
【0025】また、利用者からレコードの出力(更新)
の依頼があったとき、その更新内容を管理プログラム2
01に対して送信する。
【0026】さらに、管理プログラム201から最新の
レコード内容とその更新回数情報が送信されてきたと
き、該当レコードの更新回数を再設定し、更新内容を自
己の管理下にある分散データベース(300aまたは3
00b)に出力する。
【0027】制御情報格納部502a,502bは、各
レコードの更新回数を示す更新回数情報の集合体を制御
情報として格納する部分であり、具体的には、各プロセ
ッサ500a,500bに内蔵されたICメモリに格納
される。
【0028】なお、更新状況情報が管理プログラム20
1側にみ存在するのに対し、更新回数情報は管理プログ
ラム201側と制御プログラム501,501b側の両
方に存在しているが、更新回数の加算は管理プログラム
201によってのみ行われ、制御プログラム501a,
501bはレコードの内容と同期して送られてきた値を
格納するだけで、更新回数を独自に操作することはしな
い。
【0029】ゆえに、管理プログラム201側の更新回
数が常にシステム中の最大値を維持しているのに対し、
制御プログラム501a,501b側の更新回数は、常
にシステム中の最大値を維持しているとは限らない。管
理プログラム201より送信された最新のレコード内容
とその更新回数が、ネットワークの障害などにより受信
できなかったとき、すなわち、他との不整合が生じたと
き、ここでの更新回数はシステム中の最大値である管理
プロセッサ200側の更新回数を下まわる値を示すこと
になる。
【0030】本発明では、分散データベース300a,
300bからのレコードの入力に際し、その更新回数が
システム中の最大値を示しているかの確認を行うことに
より、その整合性の確認を行う。
【0031】図2は更新回数の確認のために使用される
更新回数メッセージ300の形式を示すものであり、3
01には当該メッセージの内容を示す区分情報がセット
される。302には対象となるレコード番号情報がセッ
トされる。303には対象となるレコードの更新回数情
報がセットされる。
【0032】図3はレコード内容を送信するために使用
されるレコード内容メッセージ310の形式を示すもの
であり、311には当該メッセージの内容を示す区分情
報がセットされる。312には対象となるレコード番号
情報がセットされる。313には対象となるレコードの
更新回数情報がセットされる。314には対象となるレ
コードの内容がセットされる。
【0033】なお、更新回数メッセージ300、レコー
ド内容メッセージ310ともに、その前後に、送信先の
宛先や送信元の宛先や誤り検出用の情報などがネットワ
ークの基本機能により付加される。
【0034】図4は、レコード毎に用意される管理情報
320の形式を示すものであり、対象となるレコード番
号情報321、対象となるレコードの更新回数情報32
2、対象となるレコードの更新状況情報323の各情報
から成り、何れかのプロセッサ500a,500bにお
いて該当レコードが更新中であるとき、更新状況情報3
23には、更新中のプロセッサを特定できる値がセット
される。例えば、プロセッサ500a,500bの宛先
がセットされる。更新中でないときは、更新中でないこ
とを示す規定値がセットされる。以下、更新中でないこ
とを示す規定値のことをNULL値と言う。
【0035】図5は、レコード毎に用意される制御情報
330の形式を示すものであり、対象となるレコード番
号情報331と、対象となるレコードの更新回数情報3
32とから成っている。
【0036】図6は、マスタデータベース100、分散
データベース300a,300bにおけるレコードの形
式を示すものであり、レコード番号情報341、更新回
数情報342、レコード内容343から成っている。
【0037】なお、更新回数情報は、管理情報320と
制御情報330の両方に存在しているが、両者は常に同
期して更新され、プログラムが正常に動作する限りにお
いては同じ値がセットされているものである。主として
使用されるのは管理情報320側の値であるのに対し、
制御情報330側の値は管理情報320が失われた場合
のバックアップとしての意味を持つものである。ここで
は、磁気ディスク装置よりも一般的に信頼性が低いと考
えられるICメモリ上に管理情報320を格納している
ので、運用上必要と考えたが、本発明にとって必須の項
目ではない。従って、適用時に不要と判断されるときは
削除することも可能である。また、この他にも例えばマ
スタデータベース100が失われたような場合に、分散
したデータベース300a,300b中より最新のレコ
ードを拾い出す手段として、管理情報320中に「最後
に更新を行ったプロセッサの宛先」といった項目を設け
ること等も考えられるが、適用時に実情に合わせて付加
される。
【0038】以上の構成において、まず、利用者からレ
コードの参照の依頼あった場合の処理の概要を図7を参
照して説明する。
【0039】A.レコード参照処理 まず、制御プログラム501aに対し利用者よりレコー
ド参照の依頼があったとき、制御プログラム501a
は、制御情報格納部502aの中の制御情報330から
該当するレコードの更新回数情報332を取り出し、こ
れを図2に示したような形式の更新回数メッセージ15
0として組立てて送信する。
【0040】これに対し、管理プログラム201は、更
新回数メッセージ150を受信すると、管理情報格納部
202の管理情報320から該当レコードの更新回数情
報323を取り出し、これを図2に示したような形式の
更新回数メッセージ151として組立てて送信する。さ
らに、制御プログラム501aから送信されて来た更新
回数情報303の照合を行い、照合の結果が不一致であ
ったときに限り、マスタデータベース100から該当レ
コードの内容と更新回数情報を図3に示したような形式
のメッセージ152に組立てて送信する。
【0041】しかし、一致したときは、メッセージ15
2は送信しない。
【0042】これに対し、制御プログラム501aで
は、メッセージ151を受信し、該当レコードの更新回
数の一致が確認できたときは、自己の管理下のデータベ
ース300aから該当レコードの内容を読出し、利用者
に提供する。
【0043】不一致であったときは、メッセージ151
内の更新回数情報と一致するレコードの内容が送られて
くるのを待つ。そして、メッセージ152を受信し、デ
ータベース300aの該当レコードの内容が最新の内容
に更新され、メッセージ151にある更新回数情報との
一致が確認できたとき、該当レコードの最新の内容を利
用者に提供する。
【0044】以上で、参照に関する一連の処理が完結す
る。
【0045】B.レコード更新処理 次に、図8を参照して、利用者からレコードの更新依頼
あった場合の処理の概要を説明する。
【0046】まず、制御プログラム501aに対し、利
用者よりレコードの更新開始の依頼があったとき、制御
プログラム501aは制御情報格納部502aの制御情
報330から該当レコードの更新回数情報332を取り
出し、これを図2に示したような形式のメッセージ25
0に組み立てて送信する。
【0047】これに対し、管理プログラム201は、メ
ッセージ250を受信すると、管理情報格納部202に
格納されている管理情報320から該当レコードの更新
状況情報323を取り出し、該当レコードが他のプロセ
ッサによって更新中であるかどうかを調べる。
【0048】該当レコードが更新中でないときは、該当
レコードの更新回数情報322を取り出し、これを図2
に示したような形式のメッセージ251に組み立てて送
信する。
【0049】さらに、受信した更新回数情報303の照
合を行い、照合の結果が不一致であったときに限り、デ
ータベース100から該当レコードの内容と更新回数情
報とを図3に示したような形式のメッセージ252に組
み立てて送信する。
【0050】しかし、一致したときはメッセージ252
は送信しない。
【0051】一方、該当レコードが他のプロセッサによ
って更新中であったときは、その更新に関する処理が終
了した後、該当レコードの更新後の更新回数情報を図2
に示したような形式のメッセージ251に組み立てて送
信する。
【0052】これに対し、制御プログラム501aは、
メッセージ251を受信し、該当レコードの更新回数の
一致が確認できたときは、データベース300aから該
当レコードの内容を入力し、利用者に提供する。
【0053】しかし、不一致であったときは、メッセー
ジ251にある更新回数情報303と一致するレコード
の内容が送られてくるまで待機する。そして、メッセー
ジ252を受信するか、他のプロセッサで行われた更新
の内容が図3の形式のメッセージとして送られて来たな
らば、データベース300aの該当レコードの内容を最
新の内容に更新し、メッセージ251にある更新回数情
報との一致が確認できたとき、該当レコードの最新の内
容を利用者に提供する。
【0054】次に、利用者による該当レコードの更新が
終了し、制御プログラム501aに対し、利用者からレ
コードの更新終了の依頼があったとき、制御プログラム
501aは、その更新されたレコードの内容を図3の形
式のメッセージ253にセットし送信する。この時、デ
ータベース300aに対する出力は行わない。
【0055】これに対し、管理プログラム201は、メ
ッセージ253を受信すると、管理情報320の該当レ
コードの更新回数情報に所定値を加算することによって
更新し、データベース100の該当レコードの内容を更
新する。また、更新後のレコードの内容343と更新回
数情報342を図3に示した形式のメッセージ254に
組み立て、ネットワーク内に存在する全ての制御プログ
ラム501a,501bに向けて送信する。
【0056】制御プログラム501a,501bは、メ
ッセージ254を受信すると、制御情報格納部502
a,502b内の該当レコードの更新回数情報を再設定
し、データベース300a,300bの該当レコードの
内容を更新する。
【0057】以上で、更新に関する一連の処理が完結す
る。
【0058】図9は管理プログラム201における処理
手順の詳細を示すフロ−チャ−トであり、図10は制御
プログラム501a,501bにおける処理手順の詳細
を示すフロ−チャ−トである。
【0059】C.参照処理の詳細説明 利用者からレコードの参照の依頼があった場合の処理の
詳細を説明する。
【0060】プロセッサ500aにおいて、制御プログ
ラム501aに対し利用者よりレコードの参照の依頼が
あったとき(ステップ902、907)、制御プログラ
ム501aは、制御情報330から該当レコードのレコ
ード番号331を取り出し、これを図2に示す形式のメ
ッセージ300のレコード番号情報302としてセット
し、さらに更新回数情報332を同メッセージ300の
更新回数情報303としてセットし、さらに「参照要
求」を表す区分を区分情報301としてセットすること
によって、更新回数メッセージ150を管理プログラム
201に向けて送信する(ステップ908)。
【0061】ここで、マスタデータベース100が分割
されている場合の処理について述べる。メッセージの送
信先を制御情報中に持たせて、送信先を特定することも
可能であるが、ここでは、制御プログラム501aから
管理プログラム201に向けてメッセージを送信する方
法を採る。メッセージの取捨選択が管理プログラム20
1側で行われているので、メッセージは該当レコードを
管理下に持つ管理プログラム201によってのみ受信さ
れる(詳細は後述)。この送信方法を採った場合、無駄
なメッセージが送信されることになるが、制御プログラ
ム501a側では、該当レコードが何れの管理下にある
のかを意識する必要がなくなり、管理が容易である。
【0062】管理プログラム201では、更新回数メッ
セージ150を受信すると(ステップ801)、その中
のレコード番号情報302により、管理情報格納部20
2内の管理情報320からレコード番号情報321を検
索し(ステップ802)、該当するレコード番号が存在
したとき以下の処理を行う。
【0063】本実施例においては、マスタデータベース
100の分割が行われていないので、該当レコードは常
に存在することになるが、マスタデータベース100の
分割が行われているときは、該当レコードが管理下にな
いケースも発生し、以下の処理は行われない。
【0064】まず、区分情報301が「参照要求」であ
ることから(ステップ812)、管理情報320から該
当レコードのレコード番号情報321を取り出し、これ
を図2に示した形式のメッセージのレコード番号情報3
02としてセットし、さらに更新回数情報322を同メ
ッセージの更新回数情報303としてセットし、さらに
「更新回数」を表す区分に区分情報301をセットし、
更新回数メッセージ151として制御プログラム501
aに向けて送信する(ステップ815)。
【0065】次に、受信した更新回数情報303と管理
情報320内の更新回数情報322との照合を行い(ス
テップ816)、不一致であったとき、管理情報320
から該当レコードのレコード番号情報321を図3に示
す形式のメッセージのレコード番号情報312としてセ
ットし、さらに更新回数情報322を同メッセージの更
新回数情報313としてセットし、さらにデータベース
100からレコード内容343を取り出し、レコード内
容314として同メッセージにセットし、さらに、「レ
コード内容」を表す区分を区分情報311にセットし、
レコード内容メッセージ152として制御プログラム5
01aに向けて送信する(ステップ817)。
【0066】制御プログラム501aでは、更新回数メ
ッセージ151を受信すると(ステップ901)、区分
情報301が「更新回数」であることから(ステップ9
13)、制御情報330内の該当レコードの更新回数情
報332と受信した更新回数情報303との照合を行う
(ステップ914)。一致したとき、データベース30
0aより該当レコードのレコード内容343を入力し、
依頼のあった利用者に対し提供する(ステップ91
5)。
【0067】しかし、不一致のときは、受信した更新回
数情報303と一致する更新回数情報がセットされたレ
コード内容メッセージ152が受信されるのを待つ(ス
テップ916)。
【0068】レコード内容メッセージ152を受信する
と(ステップ901)、区分情報311が「レコード内
容」であることから(ステップ909)、制御情報33
0内の該当レコードの更新回数情報332を受信した更
新回数情報313に置換する(ステップ910)。
【0069】次に、データベース300aの該当レコー
ドの更新回数情報342を、受信した更新回数情報31
3に置換し、レコード内容343を、受信したレコード
内容314に置換する(ステップ911)。
【0070】次に、レコード内容メッセージの受信待ち
となっているものがあるかを確認し(ステップ91
2)、受信したレコード番号情報312と更新回数情報
313に一致するものがあるとき、データベース300
aより該当レコードのレコード内容343を入力し、依
頼のあった利用者に対し提供する(ステップ915)。
【0071】以上で、参照に関する一連の処理が完結す
る。
【0072】D.更新処理詳細 利用者からレコードの更新の依頼があった場合の処理の
詳細を説明する。
【0073】プロセッサ500aにおいて、制御プログ
ラム501aに対し、利用者よりレコードの更新開始の
依頼があったとき(ステップ902、905)、制御プ
ログラム501aは、制御情報330から該当レコード
のレコード番号情報331を取り出し、これを図2に示
す形式のメッセージのレコード番号情報302としてセ
ットし、さらに更新回数情報332を同メッセージの更
新回数情報303としてセットし、さらに「更新要求」
を表す区分を区分情報301としてセットし、これを更
新回数メッセージ250として管理プログラム201に
向けて送信する(ステップ906)。
【0074】管理プログラム201では、更新回数メッ
セージ250を受信すると(ステップ801)、レコー
ド番号302により、管理情報320内のレコード番号
情報321を検索し(ステップ802)、該当するレコ
ード番号が存在したとき、以下の処理を行う。
【0075】区分情報301が「更新要求」であること
から(ステップ811)、管理情報320より、該当レ
コードの更新状況情報323により更新状況を確認する
(ステップ813)。
【0076】更新状況がNULL値であったとき、すな
わち、該当レコードが他のプロセッサで更新中でないと
きは、更新状況情報323に当メッセージ250の送信
元の識別情報(メッセージに付加されてくるものとす
る)をセットする(ステップ814)。
【0077】次に、管理情報320より、該当レコード
のレコード番号情報321を取り出し、これを図2の形
式のメッセージのレコード番号情報302としてセット
し、さらに更新回数情報322を同メッセージの更新回
数情報303としてセットし、さらに「更新回数」を表
す区分を区分情報301にセットし、これを更新回数メ
ッセージ251として制御プログラム501aに向けて
送信する(ステップ815)。
【0078】次に、受信した更新回数情報303と管理
情報320内の該当レコードの更新回数情報322との
照合を行い(ステップ816)、不一致であったとき、
管理情報320より該当レコードのレコード番号情報3
21を取り出し、これを図3の形式のメッセージのレコ
ード番号312としてセットし、さらに更新回数情報3
22を同メッセージの更新回数情報313としてセット
し、さらにデータベース100よりレコード内容343
を取り出してレコード内容314としてセットし、さら
に「レコード内容」を表す区分を区分情報311にセッ
トし、レコード内容メッセージ252として制御プログ
ラム501aに向けて送信する(ステップ817)。
【0079】一方、上記更新状況の確認(ステップ81
3)において、更新状況情報323がNULL値以外の
とき、すなわち、他のプロセッサによって更新中であっ
たとき、その更新が終了するまでメッセージ251の送
信を待機させる(ステップ818)。そして、該当レコ
ードの更新が終了したとき(ステップ808)、更新状
況情報323にメッセージ250の送信元の識別宛先を
セットする(ステップ809)。
【0080】次に、管理情報320より該当レコードの
レコード番号情報321を取り出し、これを図2に示す
形式のメッセージのレコード番号情報302としてセッ
トし、さらに更新回数情報322を同メッセージの更新
回数情報303としてセットし、さらに「更新回数」を
表す区分を区分情報301にセットし、更新回数メッセ
ージ251として制御プログラム501aに向けて送信
する(ステップ810)。
【0081】これに対し、制御プログラム501aで
は、更新回数メッセージ251を受信すると(ステップ
901)、区分情報301が「更新回数」であることか
ら(ステップ913)、制御情報330内の該当レコー
ドの更新回数情報332と受信した更新回数情報303
との照合を行う(ステップ914)。
【0082】この結果、一致しているときは、データベ
ース300aより該当レコードのレコード内容343を
入力し、依頼のあった利用者に対し提供する(ステップ
915)。
【0083】しかし、不一致のときは、受信した更新回
数情報303と一致する更新回数情報がセットされたレ
コード内容メッセージ254が受信されるのを待つ(ス
テップ916)。
【0084】レコード内容メッセージ254を受信する
と(ステップ901)、区分情報311が「レコード内
容」であることから(ステップ909)、制御情報33
0内の該当レコードの更新回数情報332を受信した更
新回数情報313に置換する(ステップ910)。ま
た、データベース300aの該当レコードの更新回数情
報342を受信した更新回数情報313に置換し、さら
にレコード内容343を受信したレコード内容314に
置換する(ステップ911)。
【0085】次に、レコード内容メッセージの受信待ち
となっているものがあるかを確認し(ステップ91
2)、受信したレコード番号情報312と更新回数情報
313に一致するものがあるとき、データベース300
aより該当レコードのレコード内容343を入力し、依
頼のあった利用者に対し提供する(ステップ915)。
【0086】次に、利用者によるレコードの更新が終了
し、制御プログラム501aに対し、利用者からレコー
ドの更新終了の依頼があったとき(ステップ902、9
03)、制御プログラム501aは、制御情報330内
から該当レコードのレコード番号情報331を取り出
し、図3の形式のメッセージのレコード番号情報312
としてセットし、さらに更新回数情報332を同メッセ
ージの更新回数情報313としてセットし、さらに利用
者によって更新されたレコードの内容をレコード内容3
14としてセットし、さらに「レコード内容」を表す区
分を区分情報311としてセットし、これをレコード内
容メッセージ253として管理プログラム201に向け
て送信する(ステップ904)。
【0087】管理プログラム201では、レコード内容
メッセージ253を受信すると(ステップ801)、レ
コード番号情報312により、管理情報320内のレコ
ード番号情報321を検索し(ステップ802)、該当
するレコード番号が存在したとき、以下の処理を行う。
【0088】区分情報311が「レコード内容」である
ことから(ステップ803)、管理情報320内の該当
レコードの更新状況情報323にNULL値をセットし
(ステップ804)、該当レコードの更新回数情報32
2に加算を行う(805)。
【0089】次に、データベース100の該当レコード
の更新回数情報342を加算後の更新回数322に置換
し、またレコード内容343を受信したレコード内容3
14に置換する(ステップ806)。
【0090】次に、管理情報320から該当レコードの
レコード番号情報321を取り出し、これを図3の形式
のメッセージのレコード番号312としてセットし、さ
らに更新回数情報322を同メッセージの更新回数情報
313としてセットし、さらにデータベース100から
レコード内容343を取り出してレコード内容314に
セットし、また「レコード内容」を表す区分を区分情報
311にセットし、レコード内容メッセージ254とし
てネットワークに存在する全ての制御プログラム501
a,501bに向けて送信する(ステップ807)。
【0091】制御プログラム501aでは、レコード内
容メッセージ254を受信すると(ステップ901)、
区分情報311が「レコード内容」であることから(ス
テップ909)、制御情報330内の該当レコードの更
新回数情報332を受信した更新回数情報313に置換
する(ステップ910)。次に、データベース300a
の該当レコードの更新回数情報342を受信した更新回
数情報313に置換し、さらにレコード内容343を受
信したレコード内容314に置換する(ステップ91
1)。
【0092】一方、制御プログラム510bでは、同様
にして、レコード内容メッセージ254を受信すると
(ステップ901)、区分情報311が「レコード内
容」であることから(ステップ909)、制御情報33
0内の該当レコードの更新回数情報332を受信した更
新回数情報313に置換する(ステップ910)。次
に、データベース300bの該当レコードの更新回数情
報342を受信した更新回数情報313に置換し、レコ
ード内容343を受信したレコード内容314に置換す
る(ステップ911)。
【0093】以上で、更新に関する一連の処理が完結す
る。
【0094】このように本実施例においては、利用者か
らのデータベース300a,300bへのアクセスは、
制御プログラム501a,501bに対する依頼として
行なわれる。そして、利用者から依頼を受けた制御プロ
グラム501a,501bは、制御情報330内にある
該当レコードの更新回数情報332を管理プログラム2
01に対しメッセージ送信し、更新回数の整合性の確認
を行う。
【0095】更新回数が一致するとき、すなわち自己の
管理下にあるレコードが最新であることが確認できたと
き、制御プログラム501a,501bでは、自己の管
理下にある分散データベース300a,300bからレ
コードを入力し利用者に提供する。
【0096】データベース間の整合性が保たれている限
りにおいては、更新回数情報は常に一致し、管理プログ
ラム201からの最新レコード内容の送信は行われな
い。つまり、管理プログラム201側でのマスタデータ
ベース100からの入力処理は行われない。このことに
より、入力処理の負荷分散が実現する。
【0097】また、更新回数情報が不一致のとき、すな
わち不整合が確認されたとき、管理プログラム201で
は最新のレコード内容と更新回数情報をメッセージにセ
ットし送信する。制御プログラム501a,501bで
は、このメッセージを受信後、自己の管理下にあるデー
タベース300a,300bに格納するとともに、利用
者に対し最新のレコード内容を提供する。このことによ
り、不整合時の回復が行われ、利用者には常に最新のレ
コード内容が提供される。
【0098】また、更新回数の確認において、管理プロ
グラム201では、それが参照によるものであるとき
は、直ちにメッセージを返すが、更新によるものであっ
たときは、管理情報にある該当レコードの更新状況の確
認を行う。該当レコードが他で更新中でないときは直ち
にメッセージを返すが、更新中のときはその更新が終了
するまでメッセージの送信を遅らせる。制御プログラム
501a,501bでは管理プログラム201からメッ
セージが返され、更新回数が確認できるまでは入力処理
を行わないので、結果的に更新処理も行われない。この
ことにより、分散データベース毎に独立した更新処理が
行われることが防止される。
【0099】また、利用者によるレコードの更新が終了
すると制御プログラム501a,501bでは、その更
新内容を管理プログラム201にメッセージ送信する。
管理プログラム201では、その更新内容をマスタデー
タベース100に出力し、該当レコードの更新回数を更
新する。また、その更新内容と加算後の更新回数をメッ
セージにセットし、全ての制御プログラム501a,5
01bに向けて送信する。これを受けて、ネットワーク
に存在する全ての制御プログラム501a,501bは
各々、該当レコードの更新回数を再設定し、自己の管理
下にある分散データベース300a,300bにその更
新内容を出力する。更新の発生した箇所においても、他
の分散データベースが更新されるのと同じタイミングで
更新内容の出力が行われる。つまり、利用者による更新
が終了しても、その更新内容がマスタデータベース10
0に出力されない限りは、更新の発生した箇所において
も、その更新内容は分散データベースへ出力されない。
マスタデータベース100に出力されない時は、その更
新は無効となるが、管理プログラム201(マスタデー
タベース)との連絡がとれない状態での独自の更新は行
われるべきではないので、正しい処理であると言える。
【0100】このことにより、ネットワークが正常に稼
働している限り、分散データベース間の整合性は常に保
たれることになる。
【0101】
【発明の効果】本発明によれば、マスタデータベース
と、このマスタデータベース内の情報を管理する管理プ
ロセッサと、前記マスタデータベースの一部または全部
の内容を複写した複数の分散データベースと、前記管理
プロセッサと伝送路によってネットワーク接続され、前
記複数の分散データベース内の情報を管理する複数のプ
ロセッサとから成る分散データベースシステムにおい
て、前記マスタデータベースおよび複数の分散データベ
ースに格納される情報に対し、内容の更新回数を示す更
新回数情報を所定格納単位毎に更新の都度格納する格納
手段を各データベース対応に設け、この格納手段に格納
される更新回数情報の照合によってマスタデータベース
と複数の分散データベース間の整合性を管理するように
したので、例えば、分散データベースに対する情報の参
照要求時は、その分散データベースを管理するプロセッ
サからマスタプロセッサに対し、参照対象情報に対応し
た更新回数情報を問い合わせ、当該データベース対応の
前記格納手段に格納されている参照対象情報の更新回数
と一致するかどうかを判定し、一致する時は分散データ
ベース内の参照対象の情報を読出して利用者に提示す
る。
【0102】従って、分散データベース側の更新回数情
報とマスタデータベース側の更新回数情報とが一致する
時は、分散データベース内の参照対象の情報を読出して
利用者に提示することになるので、マスタデータベース
の情報を送信してもらう必要がない。
【0103】従って、情報参照時のトラフィック量を減
少させることができ、しかも最新の情報を利用者に提示
することができる。
【図面の簡単な説明】
【図1】本発明を適用した分散データベースの一実施例
を示すシステム構成図である。
【図2】更新回数メッセージの形式を示すメッセージ構
成図である。
【図3】レコード内容メッセージの形式を示すメッセー
ジ構成図である。
【図4】管理情報の形式を示す情報構成図である。
【図5】制御情報の形式を示す情報構成図である。
【図6】データベースレコードの構成図である。
【図7】分散データベースに対する参照時の処理概要を
示す説明図である。
【図8】分散データベースに対する更新時の処理概要を
示す説明図である。
【図9】管理プログラムの処理手順の詳細を示すフロ−
チャ−トである。
【図10】制御プログラムの処理手順の詳細を示すフロ
−チャ−トである。
【符号の説明】
100…マスタデータベース、200…管理プロセッ
サ、201…管理プログラム…202管理情報格納部、
300a,300b…分散データベース、400…伝送
路、500a,500b…プロセッサ、501a,50
1b…制御プログラム、502a,502b…制御情報
格納部。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 マスタデータベースと、このマスタデー
    タベース内の情報を管理する管理プロセッサと、前記マ
    スタデータベースの一部または全部の内容を複写した複
    数の分散データベースと、前記管理プロセッサと伝送路
    によってネットワーク接続され、前記複数の分散データ
    ベース内の情報を管理する複数のプロセッサとから成る
    分散データベースシステムにおいて、 前記マスタデータベースおよび複数の分散データベース
    に格納される情報に対し、内容の更新回数を示す更新回
    数情報を所定格納単位毎に更新の都度格納する格納手段
    を各データベース対応に設け、この格納手段に格納され
    る更新回数情報の照合によってマスタデータベースと複
    数の分散データベース間の整合性を管理することを特徴
    とする分散データベース処理方法。
  2. 【請求項2】 分散データベースに対する情報の参照要
    求時は、その分散データベースを管理するプロセッサか
    らマスタプロセッサに対し、参照対象情報に対応した更
    新回数情報を問い合わせ、当該データベース対応の前記
    格納手段に格納されている参照対象情報の更新回数情報
    と一致するかどうかを判定し、一致する時は分散データ
    ベース内の参照対象の情報を読出して利用者に提供し、
    不一致の時は管理プロセッサにより前記マスタデータベ
    ースに格納されている参照対象情報と共に、マスタデー
    タベース対応の格納手段に格納されている更新回数情報
    を参照要求があった分散データベースに送信させ、分散
    データベース内の参照対象情報および格納手段内の更新
    回数情報を前記受信した情報で更新し、その更新の後に
    参照対象情報を利用者に提供することを特徴とする請求
    項1記載の分散データベース処理方法。
  3. 【請求項3】 前記マスタデータベースに格納される情
    報に対し、所定格納単位毎に、更新中であるか否かを示
    す更新状況情報を格納する格納手段をさらに設け、分散
    データベースにおける情報の更新要求時は、その分散デ
    ータベースを管理するプロセッサからマスタプロセッサ
    に対し、更新対象情報に対応した更新状況情報を問い合
    わせ、更新中でなければ更新対象情報の更新回数情報を
    送信し、マスタデータベース対応の格納手段に格納され
    ている更新回数情報と不一致の時のみ管理プロセッサに
    より前記マスタデータベースに格納されている更新対象
    情報と共に、マスタデータベース対応の格納手段に格納
    されている更新回数情報を更新要求があった分散データ
    ベースに送信させ、分散データベース内の更新対象情報
    および格納手段内の更新回数情報を前記受信した情報で
    更新し、その更新の後に更新対象情報を利用者に提供
    し、 更新対象情報が更新中であれば、その更新処理が終了す
    るまで待機し、更新処理終了後に管理プロセッサにより
    前記マスタデータベースに格納されている更新対象情報
    と共に、マスタデータベース対応の格納手段に格納され
    ている更新回数情報を更新要求があった分散データベー
    スに送信させ、分散データベース内の更新対象情報およ
    び格納手段内の更新回数情報を前記受信した情報で更新
    し、その更新の後に更新対象情報を利用者に提供するこ
    とを特徴とする請求項1記載の分散データベース処理方
    法。
  4. 【請求項4】 分散データベースにおける利用者による
    情報の更新終了時は、その分散データベースを管理する
    プロセッサからマスタプロセッサに対して更新された情
    報を送信し、マスタプロセッサによりマスタデータベー
    ス内の該当情報を更新すると共に、その更新回数情報を
    更新した後、更新内容と更新回数情報とをネットワーク
    内の全てのプロセッサに送信させ、前記受信した情報で
    各分散データベースの該当情報および更新回数情報を更
    新することを特徴とする請求項1記載の分散データベー
    ス処理方法。
JP5074209A 1993-03-31 1993-03-31 分散データベース処理方法 Pending JPH06290098A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5074209A JPH06290098A (ja) 1993-03-31 1993-03-31 分散データベース処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5074209A JPH06290098A (ja) 1993-03-31 1993-03-31 分散データベース処理方法

Publications (1)

Publication Number Publication Date
JPH06290098A true JPH06290098A (ja) 1994-10-18

Family

ID=13540579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5074209A Pending JPH06290098A (ja) 1993-03-31 1993-03-31 分散データベース処理方法

Country Status (1)

Country Link
JP (1) JPH06290098A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314785A (ja) * 1995-05-23 1996-11-29 Mitsubishi Electric Corp データファイル等価処理方法
JP2002530750A (ja) * 1998-11-17 2002-09-17 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 移動通信システムの並列プロセッサを同期化するためのプロトコル
JP2002530751A (ja) * 1998-11-17 2002-09-17 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 変更ログ処理の最適化
JP2007323422A (ja) * 2006-06-01 2007-12-13 Nec Corp 分散データベースシステム及びそのデータ同期方法
JP2010285235A (ja) * 2009-06-09 2010-12-24 Mitsubishi Electric Corp エレベータ用セキュリティシステム
JP2013175079A (ja) * 2012-02-27 2013-09-05 Nippon Telegr & Teleph Corp <Ntt> 分散データ管理システムおよびその動作方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314785A (ja) * 1995-05-23 1996-11-29 Mitsubishi Electric Corp データファイル等価処理方法
JP2002530750A (ja) * 1998-11-17 2002-09-17 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 移動通信システムの並列プロセッサを同期化するためのプロトコル
JP2002530751A (ja) * 1998-11-17 2002-09-17 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) 変更ログ処理の最適化
JP2007323422A (ja) * 2006-06-01 2007-12-13 Nec Corp 分散データベースシステム及びそのデータ同期方法
JP2010285235A (ja) * 2009-06-09 2010-12-24 Mitsubishi Electric Corp エレベータ用セキュリティシステム
JP2013175079A (ja) * 2012-02-27 2013-09-05 Nippon Telegr & Teleph Corp <Ntt> 分散データ管理システムおよびその動作方法

Similar Documents

Publication Publication Date Title
JP3526474B2 (ja) ネットワークにおける配布情報管理システム
JP3887564B2 (ja) 統合型データベース結合システム
US7325041B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
EP0226734B1 (en) Method and apparatus for managing obsolescence of data objects
US4714996A (en) Impact calculation for version management in a distributed information service
US8224860B2 (en) Database management system
US5339247A (en) Distributed data CAD system
US5751581A (en) Material movement server
US6411985B1 (en) Interserver data association apparatus
US7890389B2 (en) Methods and systems for grouping and managing stock requests
US6938070B2 (en) Conflict resolution for collaborative work system
JP2003520363A (ja) 部分的に複製されるデータベースシステムのネットワークにおけるデータメンテナンス方法
JP2003522344A (ja) データベース同期化/組織化システムおよび方法
JPWO2002054263A1 (ja) フレームワークシステム
US8830831B1 (en) Architecture for balancing workload
JPH1021061A (ja) クライアントソフトウェア自動バージョンアップシステム
US6980998B2 (en) Method and apparatus for merging data graphs using data identity control
WO2012053219A1 (ja) 分散型データベースシステムおよび分散型データ処理システム
JPH06290098A (ja) 分散データベース処理方法
JPH0744392A (ja) ソフトウェア配布サービス方式
JPH11272538A (ja) 文書管理システム
JP3944229B2 (ja) フレームワークシステム
US7035859B2 (en) Method and system for intra-table referential integrity for relational database systems
JP2005526328A (ja) データの自動インポート
JP3676564B2 (ja) データベース装置、データベースシステム、データベース装置の制御方法および記録媒体