[go: up one dir, main page]

JP2002116940A - データ分散管理装置、データ分散管理プログラムおよび記録媒体 - Google Patents

データ分散管理装置、データ分散管理プログラムおよび記録媒体

Info

Publication number
JP2002116940A
JP2002116940A JP2001211557A JP2001211557A JP2002116940A JP 2002116940 A JP2002116940 A JP 2002116940A JP 2001211557 A JP2001211557 A JP 2001211557A JP 2001211557 A JP2001211557 A JP 2001211557A JP 2002116940 A JP2002116940 A JP 2002116940A
Authority
JP
Japan
Prior art keywords
update
server
received
lock
priority
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
JP2001211557A
Other languages
English (en)
Inventor
Takao Okubo
隆夫 大久保
Hirotaka Hara
裕貴 原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001211557A priority Critical patent/JP2002116940A/ja
Publication of JP2002116940A publication Critical patent/JP2002116940A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 ネットワークに接続された複数のサーバが保
持するデータを更新するデータ分散管理装置、データ分
散管理プログラムおよび記録媒体に関し、複数サーバで
それぞれオブジェクト管理時に競合を簡易に検出して迅
速に解決することを目的とする。 【解決手段】 一意のオブジェクトIDおよび更新ID
を付加したオブジェクトと、あるサーバで受信したオブ
ジェクトに付加されているオブジェクトIDおよび更新
IDと自己が保持するオブジェクトIDおよび更新ID
とを比較し、包含関係の有無を検出する手段と、包含関
係がありと判明したときに受信したオブジェクトで自己
が保持するオブジェクトを更新し、一方、包含関係なし
と判明したときに包含関係にない更新IDを抽出し、当
該抽出した更新IDに対応する優先度に従い受信したオ
ブジェクトで自己が保持するオブジェクトを更新する、
あるいは更新を抑止する手段とを備えるように構成す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークに接
続された複数のサーバが保持するデータを更新するデー
タ分散管理装置、データ分散管理プログラムおよび記録
媒体に関するものである。
【0002】
【従来の技術】従来、ネットワークに接続された複数の
サーバが同じ内容のオブジェクトをそれぞれ保持して更
新するシステムにおいて、更新は1つのサーバに限定
し、更新を行ったサーバから他のサーバに対する一方的
な複製(コピー)をするいわゆるシングルマスタ形式が
主流である。また、複数のサーバによる更新を前提とし
た複製方式としてマルチマスタ形式も存在する。
【0003】
【発明が解決しようとする課題】上記前者のシングルマ
スタ形式は、競合は発生しないが、1つの更新サーバで
のみ更新して他のサーバに複製を行うため、複数個所で
更新できないという問題があった。
【0004】また、後者のマルチマスタ形式は、競合を
解決するルールが固定であり、利用者の意図する解決方
法でない場合でもそれを利用者の意図する解決方法にし
得ないと共に、競合の検出が困難であるという問題があ
った。
【0005】本発明は、これらの問題を解決するため、
オブジェクト毎に一意のオブジェクトIDと更新IDを
付与し、各サーバで受信オブジェクト中のオブジェクト
IDと更新IDと自己が保持するものとを比較して包含
関係にあるときに上書きして更新し、包含関係にないと
きに優先度に応じて上書きあるいは上書き抑止して競合
を解決し、複数サーバでそれぞれオブジェクト管理時に
競合を簡易に検出して迅速に解決することを目的として
いる。
【0006】
【課題を解決するための手段】図1を参照して課題を解
決するための手段を説明する。図1において、サーバ1
は、オブジェクトを更新したり、管理したりするもので
あって、ここでは、オブジェクト管理モジュール2およ
びサービスモジュール10などから構成されるものであ
る。
【0007】オブジェクト管理モジュール2は、オブジ
ェクトを管理するものであって、ここでは、更新したり
などするものである。サービスモジュール10は、各種
サービスを提供するものであって、ここでは、ロックし
たり、オブジェクトの更新に失敗したサーバや利用者に
その旨を通知したりなどするものである。
【0008】次に、動作を説明する。あるサーバ1のオ
ブジェクト管理モジュール2が受信したオブジェクトに
付加されているオブジェクトIDおよび更新IDと自己
が保持するオブジェクトIDおよび更新IDとを比較
し、包含関係の有無を検出し、包含関係がありと判明し
たときに受信したオブジェクトで自己が保持するオブジ
ェクトを更新し、一方、包含関係なしと判明したときに
包含関係にない更新IDを抽出し、抽出した更新IDに
対応する優先度に従い受信したオブジェクトで自己が保
持するオブジェクトを更新する、あるいは更新を抑止す
るようにしている。
【0009】この際、優先度を、利用者が予めテーブル
に定義した優先度とするようにしている。また、優先度
を、抽出した更新IDに対応するサーバの優先度とする
ようにしている。
【0010】また、優先度を、抽出した更新IDに対応
する更新者の優先度とするようにしている。また、サー
ビスモジュール10が更新の前にロックして更新させる
ようにしている。
【0011】また、サービスモジュール10が更新と同
時にロックして更新させるようにしている。また、サー
ビスモジュール10が更新に失敗したサーバに更新失敗
を通知するようにしている。
【0012】また、オブジェクトの種別に対応づけてロ
ック(同期、非同期)、あるいはロックなしをテーブル
に設定し、受信したオブジェクトの種別をもとにテーブ
ルを参照して該当するロック、あるいはロックしないの
いずれかを実行するようにしている。
【0013】従って、オブジェクト毎に一意のオブジェ
クトIDと更新IDを付与し、各サーバで受信オブジェ
クト中のオブジェクトIDと更新IDと自己が保持する
ものとを比較して包含関係にあるときに上書きして更新
し、包含関係にないときに優先度に応じて上書きあるい
は上書き抑止して競合を解決することにより、複数サー
バでそれぞれオブジェクト管理時に競合を簡易に検出し
て迅速に解決することが可能となる。
【0014】
【発明の実施の形態】次に、図1から図8を用いて本発
明の実施の形態および動作を順次詳細に説明する。
【0015】図1は、本発明のシステム構成図を示す。
図1において、サーバ1は、オブジェクトを更新した
り、管理したりするものであって、ここでは、オブジェ
クト管理モジュール2、サービスモジュール10、オブ
ジェクトデータベース9、クライアント14などから構
成されるものである。
【0016】オブジェクト管理モジュール2は、オブジ
ェクトを管理するものであって、ここでは、更新したり
などするものであり、更新ID生成モジュール3、競合
解決ルール4、競合検出モジュール5、オブジェクト送
信モジュール6、オブジェクト受信モジュール7、DB
アクセスモジュール8などから構成されるものである。
【0017】更新ID生成モジュール3は、オブジェク
トの更新時に固有の更新IDを作成するものである。更
新IDには、サーバ情報と、更新順番を含む。サーバ情
報には、サーバID、更に更新者および優先度(サーバ
間での優先度)を設定する。これにより、オブジェクト
に付加された更新IDをもとに、いずれのサーバで更新
されたものか、いずれの更新者(利用者)により更新さ
れたものか、更に、サーバ間(利用者間)などでの優先
度を認識することができる。
【0018】競合解決ルール4は、オブジェクトの更新
が競合したときに、競合を解決するルール(優先度)で
あって、例えばオブジェクトに付加された更新ID中の
サーバの優先度、更新者(利用者)の優先度などのいず
れを利用するかの競合解決ルールである。
【0019】競合検出モジュール5は、受信したオブジ
ェクトに付加されている更新ID(更新ID履歴)をも
とに競合を検出するものである(図2のフローチャート
参照)。
【0020】オブジェクト送信モジュール6は、更新し
たオブジェクト(更新ID含む)の複製を他のサーバに
送信したり、更新の失敗の旨を該当サーバ(利用者)に
送信したりなどするものである。
【0021】オブジェクト受信モジュール7は、他サー
バから配布されたオブジェクトを受信したり、更新の失
敗の旨のメッセージを受信したりなどするものである。
DBアクセスモジュール8は、オブジェクトデータベー
ス9をアクセスし、オブジェクトの参照や更新などを行
うものである。
【0022】オブジェクトデータベース9は、オブジェ
クト(更新ID含む)を格納して管理するものである。
サービスモジュール10は、各種サービスを提供するも
のであって、ロックモジュール11、ロック機能設定テ
ーブル12、通知モジュール13などから構成されるも
のである。
【0023】ロックモジュール11は、モジュールの更
新時にロック(同期ロック、非同期ロック)などするも
のである(図2、図6、図7参照)。ロック機能設定テ
ーブル12は、ロック機能を設定するテーブルである
(図8参照)。
【0024】通知モジュール13は、利用者に対して各
種通知を行うものである。クライアント14は、利用者
が操作する各種インタフェースであって、利用者からの
オブジェクトの更新を取り込んだりなどするものであ
る。
【0025】次に、図2のフローチャートの順番に従
い、図1の構成の動作を詳細に説明する。図2は、本発
明の動作説明フローチャートを示す。
【0026】図2において、S1は、オブジェクト受信
する。これは、他のサーバ1から送信されてきた複製の
ためのオブジェクトを受信する。S2は、履歴の包含関
係ありか判別する。これは、S1で受信したオブジェク
トの更新IDと、自己が保持する同一のオブジェクトの
更新IDとを比較し、包含関係にある(例えば受信した
オブジェクトの更新ID(更新した全ての履歴の更新I
D)が自己が保持する同一オブジェクトの更新IDを全
部含む)か判別する。例えば後述する図3の場合は包含
関係あり、図4の場合は包含関係なしとなる。YESの
場合には、包含関係にありと判明したので(例えば図3
の場合)、上書きして更新し、終了する。一方、NOの
場合には、包含関係なしと判明し、競合が発生している
と判明したので、S4以降の競合解決の処理を実行す
る。
【0027】S4は、包含関係にないオブジェクトの履
歴情報を抽出する。例えば後述する図4の包含関係にな
いオブジェクトの更新履歴として、更新ID0とID1
を抽出する。
【0028】S5は、履歴情報から更新サーバを抽出す
る。これは、S4で抽出した包含関係にない更新履歴の
例えば更新ID0とID1から、更新サーバとして、図
4のサーバi(更新ID0)およびサーバj(更新(I
D1)を抽出する。
【0029】S6は、優先度を比較(受信したもの>保
存しているもの)する。これは、S5で抽出したサーバ
の優先度をもとに、・受信したオブジェクトを更新した
サーバの優先度>保存しているオブジェクトを更新した
サーバの優先度の比較を行う。YESの場合には、受信
したオブジェクを更新したサーバの優先度が高いと判明
したので、S7で受信したオブジェクトで上書きして更
新し、終了する。一方、NOの場合には、受信したオブ
ジェクを更新したサーバの優先度が低いと判明したの
で、S87で受信したオブジェクトで上書きしないでS
9に進む。
【0030】S9は、使われなかったオブジェクトの利
用者(サーバ)を抽出する。S10は、S9で抽出した
利用者に対して失敗を通知する。これらS9、S10
は、S6のNOで受信したオブジェクトの優先度が低い
と判明してS8で上書きしなかったので、当該受信した
オブジェクトの利用者(サーバ、更新者など)を抽出
し、失敗の旨のメッセージを通知する(図4参照)。
【0031】以上のように、受信したオブジェクトの更
新IDが保持する同一オブジェクトの更新IDを包含し
ていた場合には上書きして更新し、包含していなかった
ときは包含関係にないオブジェクトの履歴(更新ID)
を抽出し、受信したオブジェクトの優先度が保持してい
るオブジェクトの優先度より高いときは上書きして更新
し、一方、低いときは上書きしないで更新失敗の旨をそ
の利用者(サーバ)に通知することにより、複数サーバ
でそれぞれオブジェクト管理時に競合を簡易に検出して
迅速に解決することが可能となる。以下具体例をもとに
順次詳細に説明する。
【0032】図3は、本発明の説明図(競合が発生しな
い場合)を示す。ここで、左側はサーバiのオブジェク
トの処理を示し、右側はサーバjのオブジェクトの処理
を示す。
【0033】(a)は、サーバiがオブジェクトTxを
更新して更新ID=ID0を作成して付加し、更新ID
履歴(H0)から(H0,ID0)にした状態を示す。
(b)は、サーバjがサーバiから複製を受信した状態
を示す。この状態で、受信したオブジェクトの更新ID
履歴(H0,ID0)と、サーバjが保持する更新ID
履歴(H0)とを比較し、ここでは、前者が後者を包含
するので、上書きして更新する(図2のS2のYES,
S3)。
【0034】(c)は、サーバjがオブジェクトTxを
更新して更新ID=ID1を作成して付加し、、更新I
D履歴(H0、ID0)から(H0,ID0,ID1)
にした状態を示す。
【0035】(d)は、サーバiがサーバjから複製を
受信した状態を示す。この状態で、受信したオブジェク
トの更新ID履歴(H0,ID0,ID1)と、サーバ
iが保持する更新ID履歴(H0,ID0)とを比較
し、ここでは、前者が後者を包含するので、上書きして
更新する(図2のS2のYES,S3)。
【0036】以上のように、図3の場合には、いずれも
受信したオブジェクトの更新ID履歴が受信先のサーバ
が保持する更新ID履歴を包含して競合が発生しないの
で、いずれも上書きして更新することが可能となる。
【0037】図4は、本発明の説明図(競合が発生する
場合)を示す。ここで、左側はサーバiのオブジェクト
の処理を示し、右側はサーバjのオブジェクトの処理を
示す。
【0038】(a)は、サーバiがオブジェクトTxを
更新して更新ID=ID0を作成して付加し、、更新I
D履歴(H0)から(H0,ID0)にした状態を示
す。(b)は、(a)と同時に、サーバjがオブジェク
トTxを更新して更新ID=ID1を作成して付加
し、、更新ID履歴(H0)から(H0,ID1)にし
た状態を示す。
【0039】(c)は、サーバiがサーバjから複製を
受信した状態を示す。この状態で、受信したオブジェク
トの更新ID履歴(H0,ID1)と、サーバiが保持
する更新ID履歴(H0,ID0)とを比較し、ここで
は、前者が後者を包含しないので競合が発生したと判明
し、異なる更新ID履歴である、ID1とID0を抽出
し、受信したオブジェクトを作成したID1(サーバ
j)の優先度と、保持するオブジェクトのID0(サー
バi)の優先度とを比較し、前者の優先度が高いときは
上書きして更新し、低いときは上書きをしないで、更新
に失敗した旨をサーバjに通知する。尚、サーバi,j
の更新度は、更新ID中にサーバの優先度順情報を埋め
込んでおき両者を比較していずれのサーバの優先度が高
いか決めたり、あるいは更に、更新者の優先度を埋め込
んでおき両者を比較していずれの更新者の優先度が高い
か決めたり、更に、予めテーブルにサーバ、更新者の優
先度順を設定しておきこれを参照して優先度の高い方を
決めたりする。
【0040】(d)は、(c)と同様に、サーバjにつ
いて行い、受信したオブジェクトの優先度と保持するオ
ブジェクトの優先度を比較し、受信したオブジェクトの
優先度が高いときは上書きし、一方、低いときは更新に
失敗した旨をサーバiに通知する。
【0041】以上のように、図4の場合には、いずれも
受信したオブジェクトの更新ID履歴が受信先のサーバ
が保持する更新ID履歴を包含しなくて競合が発生した
ので、優先度をもとに上書きしたり、あるいは上書きを
抑止して失敗の旨を返答したりし、競合を解決すること
が可能となる。
【0042】次に、システムで利用するオブジェクトに
は、 ・プロジェクト情報 ・ドキュメント ・進捗情報 という種別がある。
【0043】・プロジェクト情報は、更新頻度は低いが
1回の変更量が多く、待ち時間を犠牲にしても完全に排
他する必要があるので、同期ロックする(後述する図7
を用いて説明する)。
【0044】・ドキュメントは、更新頻度、更新する担
当者(更新者、利用者)の数はプロジェクトよりやや多
い。更新についてはある程度の排他は必要であるが、利
用者はロックのために待たされないようにする必要があ
るので、非同期ロックする(後述する図6を用いて説明
する)。
【0045】・進捗情報は、更新頻度が非常に高いが、
更新者(利用者)は少数であるため、即時性が要求さ
れ、排他の必要性は低いので、ロックなしとする(後述
する図5を用いて説明する)。以下順次詳細に説明す
る。
【0046】図5は、本発明の説明図(進捗情報(ロッ
ク無し))を示す。(1)は、クライアント14からサ
ーバAのサービスモジュール10がオブジェクトの更新
を受け取り、ここでは、進捗情報の更新であり、ロック
なしと判定し、ロックをとることなく、オブジェクトの
更新をオブジェクト管理モジュール2に通知する。オブ
ジェクト管理モジュール2は、通知を受けたオブジェク
トの更新に対して更新IDを作成し、オブジェクトの更
新ID履歴に追加する。
【0047】(2)は、(1)で更新したオブジェクト
を、他のサーバBに送信する(複製のために送信す
る)。更新されたオブジェクトを受信したサーバBは、
既述した図2のフローチャートに従い、包含関係ありの
ときは上書きして更新し、包含関係がないときは包含関
係にない更新IDを抽出してその優先度に従い上書きし
て更新、あるいは上書きすることなく更新失敗の旨を返
信する。
【0048】(3)は、(2)と同様に、他のサーバC
でも処理する。以上のように、オブジェクトの更新がド
キュメントの更新の場合には、ロックすることなく、更
新IDを付加したオブジェクトを他のサーバに送信して
上書きしたり、あるいは更新失敗の旨を返信したり、高
速に処理することが可能となる。
【0049】図6は、本発明の説明図(ドキュメント
(非同期ロック))を示す。(1)は、利用者がクライ
アント14からサーバAにオブジェクトの更新を行う。
【0050】(2)は、利用者により(1)でオブジェ
クトの更新を行われたことに対して、サービスモジュー
ル10は更新がここでは、ドキュメントが更新されたこ
とを判定して非同期ロックを行う必要があると判定す
る。
【0051】(3)は、(2)で非同期ロックのために
更新権のあるサーバBに対してロック依頼を送信する。
(4)は、(3)のロック依頼を受けたサーバBがその
オブジェクトのロックを獲得してロック成功のメッセー
ジをサーバAに送信する。
【0052】(5)は、ロック依頼をしたサーバAが
(4)のロック成功のメッセージを受信後にオブジェク
トの更新を行う。(6)は、サーバAが更新後の複製用
のオブジェクトをサーバBに送信する。サーバBは更新
する。
【0053】(7)、(7)’は、サーバBが他のサー
バA,Cに複製用のオブジェクトを送信して更新させ
る。一方、サーバCが、ロック獲得後に更新する場合に
ついて説明する。
【0054】(1)’は、利用者がクライアント14か
らサーバCにオブジェクトの更新(あるいは削除)を行
う。(2)’は、利用者により(1)’でオブジェクト
の更新を行われたことに対して、サービスモジュール1
0は更新がここでは、ドキュメントが更新されたことを
判定して非同期ロックを行う必要があると判定する。
【0055】(3)’は、(2)’で非同期ロックのた
めに更新権のあるサーバBに対してロック依頼を送信す
る。(4)’は、(3)’のロック依頼を受けたサーバ
Bがそのオブジェクトのロックを獲得しようとするが、
既に(4)でロック済であるので、ロック失敗のメッセ
ージをサーバCに送信する。
【0056】(5)’は、ロック依頼をしたサーバCが
(4)’のロック失敗のメッセージをクライアントに送
信する。以上によって、更新したオブジェクトがドキュ
メントと判明したときに、更新権のあるサーバBにロッ
ク依頼してロックを獲得した後に更新、複製することに
より、ドキュメントなどのように、更新についてはある
程度の排他し、ロックのために待たされないようにする
必要がある場合に最適な非同期ロックして更新すること
が可能となる。
【0057】図7は、本発明の説明図(プロジェクト情
報(同期ロック))を示す。(1)は、利用者がクライ
アント14からサーバAにオブジェクトの更新依頼を行
う。
【0058】(2)は、サービスモジュール10が更新
依頼のオブジェクトがプロジェクト情報の更新であると
判定し、同期ロックが必要と判断し、当該プロジェクト
情報(オブジェクト)の、ここでは、更新権がないと判
明する。
【0059】(3) サーバAが更新権のあるサーバB
にロック依頼を送信する。(4)(3)のロック依頼を
受けたサーバBがそのオブジェクトのロックを獲得して
ロック成功のメッセージをサーバAに送信する。
【0060】(5)は、サーバAがロック成功メッセー
ジを受信後に、利用者に更新許可を通知する。(6)
は、(5)の更新許可に対応して、利用者がオブジェク
ト(プロジェクト情報)の更新を行う。
【0061】(7)は、サーバAが(6)の更新結果の
オブジェクトをサーバBに送信する。サーバBは更新す
る。(8)、(8)’は、サーバBが他のサーバA,C
に複製用のオブジェクトを送信して更新させる。
【0062】一方、サーバCが、ロック獲得後に更新す
る場合について説明する。(1)’は、利用者がクライ
アント14からサーバCにオブジェクトの更新要求を行
う。
【0063】(2)’は、利用者により(1)’でオブ
ジェクトの更新要求が行われたことに対して、サービス
モジュール10は更新要求がここでは、プロジェクト情
報が更新されると判定して同期ロックを行う必要がある
と判定する。
【0064】(3)’は、(2)’で同期ロックのため
に更新権のあるサーバBに対してロック依頼を送信す
る。(4)’は、(3)’のロック依頼を受けたサーバ
Bがそのオブジェクトのロックを獲得しようとするが、
既に(4)でロック済であるので、ロック失敗のメッセ
ージをサーバCに送信する。
【0065】(5)’は、ロック依頼をしたサーバCが
(4)’のロック失敗のメッセージをクライアントに送
信する。以上によって、更新しようとするオブジェクト
がプロジェクト情報と判明したときに、更新権のあるサ
ーバBにロック依頼してロックを獲得した後に利用者が
更新、複製することにより、プロジェクト情報などのよ
うに、更新頻度は低いが1回の変更量が多く、待ち時間
を犠牲にしても完全に排他する必要がある場合に同期ロ
ックを獲得して効率的に更新処理することが可能とな
る。
【0066】図8は、本発明のロック機能設定テーブル
例を示す。これは、オブジェクトの更新を行う場合に、
オブジェクトの種別に対応づけて最適な非同期ロック、
同期ロック、ロックしないを予め設定した例を示す。こ
こでは、図示の下記のように設定し、図5から図7で説
明したようにそれぞれ処理を行う。
【0067】・プロジェクト情報:同期ロック ・ドキュメント:非同期ロック ・進捗情報:ロックなし
【0068】(付記1)ネットワークに接続された複数
のサーバが保持するデータを更新するデータ分散管理装
置において、一意のオブジェクトIDおよび更新IDを
付加したオブジェクトと、あるサーバで受信したオブジ
ェクトに付加されているオブジェクトIDおよび更新I
Dと自己が保持するオブジェクトIDおよび更新IDと
を比較し、包含関係の有無を検出する手段と、上記包含
関係がありと判明したときに受信したオブジェクトで自
己が保持するオブジェクトを更新し、一方、包含関係な
しと判明したときに包含関係にない更新IDを抽出し、
当該抽出した更新IDに対応する優先度に従い受信した
オブジェクトで自己が保持するオブジェクトを更新す
る、あるいは更新を抑止する手段とを備えたことを特徴
とするデータ分散管理装置。
【0069】(付記2)上記優先度を、利用者が予めテ
ーブルに定義した優先度としたことを特徴とする請求項
1記載のデータ分散管理装置。
【0070】(付記3)上記優先度を、上記抽出した更
新IDに対応するサーバの優先度としたことを特徴とす
る請求項1あるいは請求項2記載のデータ分散管理装
置。
【0071】(付記4)上記優先度を、上記抽出した更
新IDに対応する更新者の優先度としたことを特徴とす
る請求項1あるいは請求項2記載のデータ分散管理装
置。
【0072】(付記5)上記更新の前にロックして更新
することを特徴とする請求項1から請求項4のいずれか
に記載のデータ分散管理装置。
【0073】(付記6)上記更新と同時にロックして更
新することを特徴とする請求項1から請求項4のいずれ
かに記載のデータ分散管理装置。
【0074】(付記7)上記更新が抑止されて失敗した
サーバに更新失敗を通知する手段を備えたことを特徴と
する請求項1から請求項6のいずれかに記載のデータ分
散管理装置。
【0075】(付記8)上記オブジェクトの種別に対応
づけてロック、およびロックなしをテーブルに設定し、
受信したオブジェクトの種別をもとに当該テーブルを参
照して該当するロック、あるいはロックしないのいずれ
かを実行することを特徴とする請求項1から請求項7の
いずれかに記載のデータ分散管理装置。
【0076】(付記9)あるサーバで受信したオブジェ
クトに付加されているオブジェクトIDおよび更新ID
と自己が保持するオブジェクトIDおよび更新IDとを
比較し、包含関係の有無を検出する手段と、上記包含関
係がありと判明したときに受信したオブジェクトで自己
が保持するオブジェクトを更新し、一方、包含関係なし
と判明したときに包含関係にない更新IDを抽出し、当
該抽出した更新IDに対応する優先度に従い受信したオ
ブジェクトで自己が保持するオブジェクトを更新する、
あるいは更新を抑止する手段として機能させるプログラ
ムを記録したコンピュータ読取可能な記録媒体。
【0077】
【発明の効果】以上説明したように、本発明によれば、
オブジェクト毎に一意のオブジェクトIDと更新IDを
付与し、各サーバで受信オブジェクト中のオブジェクト
IDと更新IDと自己が保持するものとを比較して包含
関係にあるときに上書きして更新し、包含関係にないと
きに優先度に応じて上書きあるいは上書き抑止して競合
を解決する構成を採用しているため、複数サーバでそれ
ぞれオブジェクト管理時に競合を簡易に検出して迅速に
解決できる。
【図面の簡単な説明】
【図1】本発明のシステム構成図である。
【図2】本発明の動作説明フローチャートである。
【図3】本発明の説明図(競合が発生しない場合)であ
る。
【図4】本発明の説明図(競合が発生する場合)であ
る。
【図5】本発明の説明図(進捗情報(ロックしない))
である。
【図6】本発明の説明図(ドキュメント(非同期ロッ
ク))である。
【図7】本発明の説明図(プロジェクト情報(同期ロッ
ク))である。
【図8】本発明のロック機能設定テーブル例である。
【符号の説明】
1:サーバ 2:オブジェクト管理モジュール 3:更新ID生成モジュール 4:競合解決ルール 5:競合検出モジュール 6:オブジェクト送信モジュール 7:オブジェクト受信モジュール 9:オブジェクトデータベース 10:サービスモジュール 11:ロックモジュール 12:ロック機能設定テーブル 13:通知モジュール 14:クライアント

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】ネットワークに接続された複数のサーバが
    保持するデータを更新するデータ分散管理装置におい
    て、 一意のオブジェクトIDおよび更新IDを付加したオブ
    ジェクトと、 あるサーバで受信したオブジェクトに付加されているオ
    ブジェクトIDおよび更新IDと自己が保持するオブジ
    ェクトIDおよび更新IDとを比較し、包含関係の有無
    を検出する手段と、 上記包含関係がありと判明したときに受信したオブジェ
    クトで自己が保持するオブジェクトを更新し、一方、包
    含関係なしと判明したときに包含関係にない更新IDを
    抽出し、当該抽出した更新IDに対応する優先度に従い
    受信したオブジェクトで自己が保持するオブジェクトを
    更新する、あるいは更新を抑止する手段とを備えたこと
    を特徴とするデータ分散管理装置。
  2. 【請求項2】上記優先度を、上記抽出した更新IDに対
    応するサーバの優先度としたことを特徴とする請求項1
    記載のデータ分散管理装置。
  3. 【請求項3】上記優先度を、上記抽出した更新IDに対
    応する更新者の優先度としたことを特徴とする請求項1
    記載のデータ分散管理装置。
  4. 【請求項4】上記オブジェクトの種別に対応づけてロッ
    ク、およびロックなしをテーブルに設定し、受信したオ
    ブジェクトの種別をもとに当該テーブルを参照して該当
    するロック、あるいはロックしないのいずれかを実行す
    ることを特徴とする請求項1から請求項3のいずれかに
    記載のデータ分散管理装置。
  5. 【請求項5】あるサーバで受信したオブジェクトに付加
    されているオブジェクトIDおよび更新IDと自己が保
    持するオブジェクトIDおよび更新IDとを比較し、包
    含関係の有無を検出する手段と、 上記包含関係がありと判明したときに受信したオブジェ
    クトで自己が保持するオブジェクトを更新し、一方、包
    含関係なしと判明したときに包含関係にない更新IDを
    抽出し、当該抽出した更新IDに対応する優先度に従い
    受信したオブジェクトで自己が保持するオブジェクトを
    更新する、あるいは更新を抑止する手段として機能させ
    るプログラムを記録したコンピュータ読取可能な記録媒
    体。
  6. 【請求項6】あるサーバで受信したオブジェクトに付加
    されているオブジェクトIDおよび更新IDと自己が保
    持するオブジェクトIDおよび更新IDとを比較し、包
    含関係の有無を検出する手段と、 上記包含関係がありと判明したときに受信したオブジェ
    クトで自己が保持するオブジェクトを更新し、一方、包
    含関係なしと判明したときに包含関係にない更新IDを
    抽出し、当該抽出した更新IDに対応する優先度に従い
    受信したオブジェクトで自己が保持するオブジェクトを
    更新する、あるいは更新を抑止する手段として機能させ
    るためのデータ分散管理プログラム。
JP2001211557A 2000-07-31 2001-07-12 データ分散管理装置、データ分散管理プログラムおよび記録媒体 Pending JP2002116940A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001211557A JP2002116940A (ja) 2000-07-31 2001-07-12 データ分散管理装置、データ分散管理プログラムおよび記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000231134 2000-07-31
JP2000-231134 2000-07-31
JP2001211557A JP2002116940A (ja) 2000-07-31 2001-07-12 データ分散管理装置、データ分散管理プログラムおよび記録媒体

Publications (1)

Publication Number Publication Date
JP2002116940A true JP2002116940A (ja) 2002-04-19

Family

ID=26597040

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001211557A Pending JP2002116940A (ja) 2000-07-31 2001-07-12 データ分散管理装置、データ分散管理プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP2002116940A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234486A (ja) * 2007-03-22 2008-10-02 Nec Corp 情報更新システム、情報記憶サーバ、情報更新方法、及び、プログラム
JP2010506273A (ja) * 2006-10-05 2010-02-25 ワラテック プロプライエタリー リミテッド 高度な競合検出
JP2014106785A (ja) * 2012-11-28 2014-06-09 Mitsubishi Electric Corp 計算機
CN113726845A (zh) * 2021-07-14 2021-11-30 深圳市有为信息技术发展有限公司 车载终端的数据传输方法、装置、车载终端和商用车辆

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010506273A (ja) * 2006-10-05 2010-02-25 ワラテック プロプライエタリー リミテッド 高度な競合検出
JP2008234486A (ja) * 2007-03-22 2008-10-02 Nec Corp 情報更新システム、情報記憶サーバ、情報更新方法、及び、プログラム
US8346720B2 (en) 2007-03-22 2013-01-01 Nec Corporation Information update system, information update method, and computer-readable medium
JP2014106785A (ja) * 2012-11-28 2014-06-09 Mitsubishi Electric Corp 計算機
CN113726845A (zh) * 2021-07-14 2021-11-30 深圳市有为信息技术发展有限公司 车载终端的数据传输方法、装置、车载终端和商用车辆

Similar Documents

Publication Publication Date Title
US6012059A (en) Method and apparatus for replicated transaction consistency
CN109923534B (zh) 对具有未提交事务的数据库记录的多版本并发控制
CN107577678B (zh) 处理数据库事务的方法、客户端和服务器
EP2047382B1 (en) Two-way and multi-master synchronization over web syndications
JP2705717B2 (ja) ロック装置及び方法、ロック要求の細分性を判別するための装置及び方法
EP1241592A2 (en) Collision avoidance in Bidirectional database replication
US5434994A (en) System and method for maintaining replicated data coherency in a data processing system
US6934727B2 (en) Dynamic synchronization of tables
JP4301937B2 (ja) 分散データベース環境での一貫した読取
US20030115268A1 (en) Conflict resolution for collaborative work system
US10275347B2 (en) System, method and computer program product for managing caches
US8255360B1 (en) Synchronization of database changes among multiple devices
KR20110110223A (ko) 선택적 데이터베이스 복제
CN113010549B (zh) 基于异地多活系统的数据处理方法、相关设备及存储介质
US8996484B2 (en) Recursive lock-and-propagate operation
JP2007219598A (ja) 多重化データベースシステム及びその同期化方法、データベースサーバ、並びに、データベースサーバプログラム
CN112749172A (zh) 一种缓存与数据库之间的数据同步方法及系统
JP6192423B2 (ja) 情報処理装置及び情報処理方法、情報処理システム、プログラム
WO2017077616A1 (ja) データベースシステム、トランザクション管理ノード、方法およびプログラム
JPH1124973A (ja) 分散トランザクション整合方法及びプログラムを記録した機械読み取り可能な記録媒体
CN112328637B (zh) 高速分布式数据缓存方法、装置、计算机设备及存储介质
JP4189332B2 (ja) データベース管理システム、データベース管理方法、データベース登録要求プログラムおよびデータベース管理プログラム
JP2002116940A (ja) データ分散管理装置、データ分散管理プログラムおよび記録媒体
JP5416490B2 (ja) 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム
JP2001034518A (ja) 分散データベースシステムにおける主従関係情報同期方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080114

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080325