JP2002244908A - データベース同期制御方法及び該方法によるdbシステム - Google Patents

データベース同期制御方法及び該方法によるdbシステム

Info

Publication number
JP2002244908A
JP2002244908A JP2001042236A JP2001042236A JP2002244908A JP 2002244908 A JP2002244908 A JP 2002244908A JP 2001042236 A JP2001042236 A JP 2001042236A JP 2001042236 A JP2001042236 A JP 2001042236A JP 2002244908 A JP2002244908 A JP 2002244908A
Authority
JP
Japan
Prior art keywords
data
difference
storage unit
file
transmission
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
JP2001042236A
Other languages
English (en)
Inventor
Ayafumi Nunobiki
純史 布引
Teruaki Kodera
輝明 小寺
Takashi Yamakawa
剛史 山川
Hiroyuki Hoshikawa
広之 干川
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
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West 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, Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001042236A priority Critical patent/JP2002244908A/ja
Publication of JP2002244908A publication Critical patent/JP2002244908A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 データベース間の同期制御を、低コストで実
施でき、セキュリティも保持できるデータベース同期制
御方法及び該方法によるDBシステムを提供する。 【解決手段】 伝送回線を介して接続された2以上のD
Bシステム間において、送信側DBシステムでは、この
送信側に蓄積された元データの変更に伴う、元データと
変更後のデータとの差分データを抽出し、抽出された差
分データから送信側DBシステムに依存しない汎用ファ
イルフォーマットの差分ファイルを生成し、この差分フ
ァイルを受信側DBシステムに送信し、受信側DBシス
テムでは、受信した差分ファイルを、この受信側DBシ
ステムで用いる専用フォーマットの差分データに変換
し、変換した差分データの内容に基づき、受信側に蓄積
された元データを変更し、受信側と送信側のそれぞれに
蓄積されたデータを一致させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、互いに離れてある
2以上のデータベース間で、伝送回線を介して行うデー
タベース同期制御技術に関する。
【0002】
【従来の技術】従来は、物理的に離れた位置にあるデー
タベース(以下、DBと略する)間の同期を、下記のよ
うな手段で実現していた。 (方法1)2つのDBを、インターネットなどの汎用の
データ網に接続し、DB専用の通信口(ポート)を新た
に開放して、2つのDB間で専用の制御方法を用いて同
期させる。 (方法2)2つのDB間を繋ぐ専用の通信回線を設置
し、2つのDB間で専用の制御方法を用いて同期させ
る。
【0003】
【発明が解決しようとする課題】上記に示した方法で
は、以下のような問題があった。(方法1)のように汎
用のデータ網に接続してDBの同期を実現しようとする
と、専用ポートを新たに公開する必要があって、その場
合悪意のある第3者等にデータを盗まれたり改ざんされ
たりする恐れがあり、セキュリティ上大きな問題があっ
た。
【0004】一方、セキュリティを重視すると、(方法
2)のように専用の通信回線が必要となり、新たに追加
すべきコストが生じ高コストとなる。また、この方式は
対象のDBが増えれば相乗的に通信回線を増やす必要が
あって、さらに高コストとなってしまう問題が大きかっ
た。また、(方法1)や(方法2)のように、専用の同
期制御方式を取る場合は、異なるOSやデータベース管
理システム間で連携させるのが困難であった。
【0005】本発明は、上記の点に鑑みてなされたもの
で、データベース間の同期制御を、低コストで実施で
き、セキュリティも保持できるデータベース同期制御方
法及び該方法によるDBシステムを提供するものであ
る。
【0006】
【課題を解決するための手段】本発明のデータベース同
期制御方法は、伝送回線を介して接続された2以上のD
Bシステムに対するデータベース同期制御方法であっ
て、送信側DBシステムでは、該送信側のデータ蓄積部
に蓄積された元データの変更に伴う、元データと変更後
のデータとの差分データを抽出し、該抽出された差分デ
ータから、該送信側DBシステムに依存しない汎用ファ
イルフォーマットの差分データ・ファイルを生成し、該
差分データ・ファイルを、前記伝送回線を介して受信側
DBシステムに送信し、受信側DBシステムでは、受信
した差分データ・ファイルを、該受信側DBシステムで
用いる専用フォーマットの差分データに変換し、該変換
した差分データの内容に基づき、受信側のデータ蓄積部
の元データを変更し、該受信側のデータ蓄積部のデータ
を前記送信側のデータ蓄積部のデータと一致させること
を特徴とする。
【0007】また、本発明のDBシステムは、伝送回線
を介して接続された2以上のDBシステムにより構成さ
れ、該2以上のDBシステム間でデータベース同期制御
を行うシステムであって、送信側DBシステムは、送信
側データベースとしての送信側データ蓄積部と、該送信
側データ蓄積部に蓄積された元データの変更に伴う、元
データと変更後のデータとの差分データを蓄積する差分
データ蓄積部と、前記差分データを前記元データと変更
後のデータとから抽出し、該抽出された差分データか
ら、該送信側DBシステムに依存しない汎用ファイルフ
ォーマットの差分データ・ファイルを生成する差分デー
タ生成制御部と、該差分データ・ファイルを、前記伝送
回線を介して受信側DBシステムに送信するデータ送信
管理部と、からなり、受信側DBシステムは、受信側デ
ータベースとしての受信側データ蓄積部と、前記伝送回
線を介して前記送信側DBシステムから送信された差分
データ・ファイルを受信するデータ受信管理部と、受信
した差分データ・ファイルを、該受信側DBシステムで
用いる専用フォーマットの差分データに変換し、該変換
した差分データの内容に基づき、受信側データ蓄積部の
元データを変更し、該受信側データ蓄積部のデータを前
記送信側データ蓄積部のデータと一致させる差分データ
格納制御部と、からなることを特徴とする。
【0008】また、本発明のDBシステムは、伝送回線
を介して接続される他のDBシステムと、データベース
同期を行うDBシステムであって、該DBシステムに備
わるデータベースとしてのデータ蓄積部と、該データ蓄
積部に蓄積された元データの変更に伴う、元データと変
更後のデータとの差分データを蓄積する差分データ蓄積
部と、前記差分データを前記元データと変更後のデータ
とから抽出して前記差分データ蓄積部に格納し、さら
に、該抽出された差分データから、該DBシステムに依
存しない汎用ファイルフォーマットの差分データ・ファ
イルを生成する差分データ生成制御部と、該差分データ
・ファイルを、前記伝送回線を介して他のDBシステム
に送信するデータ送信管理部と、前記伝送回線を介して
他のDBシステムから送信された差分データ・ファイル
を受信するデータ受信管理部と、受信した差分データ・
ファイルを、該DBシステムで用いる専用フォーマット
の差分データに変換し、該変換した差分データの内容に
基づき、前記データ蓄積部の元データを変更し、該デー
タ蓄積部のデータを、前記差分データ・ファイルを送信
した他のDBシステムのデータ蓄積部のデータと一致さ
せることを特徴とする。
【0009】また、本発明のDBシステムにおいて、前
記伝送回線として、インターネット等の一般に開放され
たデータ網を使用することを特徴とする。
【0010】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を参照して説明する。図1は、本発明の一実施の形態
であるDBシステムの構成を示す図である。
【0011】本実施の形態のDBシステムは、インター
ネット等の一般的に利用されているデータ網を介して接
続される2以上のDBシステム間でDBの同期制御を行
うシステムである。図1では、符合1aのデータ蓄積部
(DB)に蓄積された元データに対し追加・削除・更新
の操作がなされ、この操作によって変更された部分の差
分データから生成される差分データ・ファイル(以下、
差分ファイルと称す)を送信する側を送信側DBシステ
ム1と称し、この差分ファイルを受信し、この差分ファ
イルに基づき、そのDBの内容を変更する側を受信側D
Bシステム2と称し示している。また、送信側では、送
信側として必要な構成要素のみを、受信側では、受信側
として必要な構成要素のみを図示したものであり、実際
には、送信側にも受信側に示した構成要素があり、受信
側にも送信側に示した構成要素がある。
【0012】ここで、送信側DBシステム1と受信側D
Bシステム2の構成の詳細を説明する。
【0013】図1に示した送信側DBシステム1は、送
信側DBシステム1に備わるDBであるデータ蓄積部1
aと、データ蓄積部1aに蓄積されたデータが変更され
る際、元データと変更後のデータとの差分からなる差分
データを蓄積し管理する差分データ蓄積部1bと、デー
タ蓄積部1aから差分データを抽出し差分データ蓄積部
1bに格納するとともに、差分データ蓄積部1bから、
本送信側DBシステム1に依存しない一般的に使用され
るファイルフォーマット(以下、汎用ファイルフォーマ
ットと称す)の差分ファイルに変換する差分データ生成
制御部1cと、この差分ファイルを、インターネットの
ような一般的な伝送媒体(伝送回線)と送信手続き(プ
ロトコル)を経由して、受信側DBシステム2へ送信
し、その送信結果の情報(送信情報)を送信情報蓄積部
1eに格納し管理するデータ送信管理部1dとから構成
される。
【0014】受信側DBシステム2は、送信側DBシス
テム1から伝送回線を介して送信された差分ファイルを
受信するデータ受信管理部2dと、差分データを蓄積し
管理する差分データ蓄積部2bと、受信側DBシステム
2に備わるDBであるデータ蓄積部2aと、受信した差
分ファイルを解析(解釈)して、当受信側DBシステム
2で用いる専用の形式の差分データに変換し差分データ
蓄積部2bへ格納するとともに、この差分データから追
加・削除・更新されたデータの変更情報を読み出し、デ
ータ蓄積部2aへデータの変更分を反映して格納する差
分データ格納制御部2cとから構成される。
【0015】なお、データ蓄積部1a,2aおよび差分
データ蓄積部1b,2bは、ハードディスク、光磁気デ
ィスク等の不揮発性の記録装置により構成されている。
また、差分データ生成制御部1c、データ送信管理部1
d、データ受信管理部2d、差分データ格納制御部2c
は、メモリおよびCPU(中央処理装置)等により構成
される処理部(図示せず)のメモリに、これら各部の機
能を実現するためのプログラム(図示せず)をロードし
て実行することによりその機能が実現されるものとす
る。また、送信側DBシステム1および受信側DBシス
テム2には、周辺機器として入力装置、表示装置等(い
ずれも図示せず)が接続されるものとする。ここで、入
力装置とはキーボード、マウス等の入力デバイスのこと
をいう。表示装置とはCRT(Cathode Ray
Tube)や液晶表示装置等のことをいう。
【0016】次に、このように構成された本実施形態の
DBシステムの動作について説明する。
【0017】まず、送信側DBシステム1と受信側DB
システム2間のデータベース同期制御の概要を、図2に
示す全体フロー図を参照して説明する。はじめに、送信
側DBシステム1において、データ蓄積部1aのデータ
に何らかの変更操作が行われると(ステップS1)、差
分データ生成制御部1cは、変更情報を差分データとし
て抽出し、抽出した差分データを差分データ蓄積部1b
に格納する(ステップS2)。さらに、差分データ生成
制御部1cは、抽出した差分データを汎用ファイルフォ
ーマットに変換した差分ファイルを生成する(ステップ
S3)。その後、データ送信管理部1dが、差分ファイ
ルを受信側DBシステム2に送信する(ステップS
4)。
【0018】受信側DBシステム2では、データ受信管
理部2dが、送信側DBシステム1から送信された差分
ファイルを受信する(ステップS5)。そして、差分デ
ータ格納制御部2cが、受信した差分ファイルを解析
し、汎用ファイルフォーマットから受信側DBシステム
2で使用する形式の差分データに変換して差分データ蓄
積部2bに格納する(ステップS6)。さらに、差分デ
ータ格納制御部2cは、差分データ蓄積部2bに格納さ
れた差分データを解析し、変更情報のみをデータ蓄積部
2aのデータに反映させる(ステップS7)。
【0019】以上のようなフローにより、インターネッ
ト等の、一般的に利用できるネットワーク(伝送回線)
を使用して、データ量が小さい差分データのやり取りだ
けで、物理的に離れたDB間の同期を高速かつ低コスト
で実施することができる。また、ネットワーク上では、
差分ファイルの転送のみを行うので、一般に利用される
セキュリティが厳しいファイル転送用のポートのみを使
用してDB間の同期を実施でき、従来のようにDB専用
のポートを新たに開放する必要が無い。このことと、さ
らに、DBのデータ全体ではなく、差分データのみをD
Bシステム間で転送することから、DBシステムとして
のセキュリティを保持することができる。
【0020】次に、図2のステップS2に示した「差分
データの抽出格納処理」の詳細を、具体例を挙げ説明す
る(図3参照)。
【0021】はじめに、送信側DBシステム1のデータ
蓄積部1aに対し、変更操作による処理が発生すると、
その処理毎(追加・更新・削除)に、発生したトランザク
ションを以下のように処理する。まず、差分データ蓄積
部1bの差分テーブルに変更情報を追加する。ここで差
分テーブルに設定する内容は、データの変更内容の他
に、ユニーク番号、発生日時、処理フラグ、送信番号と
する。
【0022】なお、ユニーク番号は、差分テーブルで管
理されている番号のMAX+1を設定する。発生日時
は、ここでの差分データの抽出格納処理が起動された日
時を設定する。また、処理フラグは、更新処理内容に応
じて、追加(A:Append)、更新(U:Upda
te)、削除(D:Delete)を設定する。また、
送信番号は、Nullを設定する。なお、この送信番号
は、後述する差分ファイル作成処理にて値を設定する。
【0023】次に、図4のステップS3に示した「差分
データを汎用ファイルフォーマットに変換」の処理の詳
細を、具体例を挙げ説明する(図4参照)。
【0024】[差分ファイル作成処理]はじめに、差分
データ蓄積部1bに格納された全ての差分テーブルを参
照し、対象となるレコードが存在するか判断する(ステ
ップS301)。ここで対象となるレコードが存在する
場合、すなわち、ステップS301の判断でYesと判
定された場合、以下の処理を行う。ここでは、送信情報
蓄積部1eの送信番号テーブル(送信情報)から、送信
番号を取得する(ステップS302)。
【0025】次に、未処理の差分テーブルで対象となる
レコードがある場合、すなわち対象となるレコードのレ
コード数Lが“0”でない場合、次のステップS304
へ進み、“0”の場合、ステップS308の判断へ進む
(ステップS303)。そして、該当の差分テーブルで
送信番号がNullであるレコードの送信番号を、ステ
ップS302取得した送信番号に更新する(ステップS
304)。そして、差分テーブル名とファイル生成日時
を基に、生成する差分ファイルのファイル名を決定する
(ステップS305)。
【0026】そして、該当の差分テーブルで、ステップ
S2で取得した送信番号に一致するレコードを対象とし
て、差分ファイルを作成する(ステップS306)。こ
こでは、汎用ファイルフォーマットの形式で作成する。
そして、差分ファイルの作成に成功した場合、すなわ
ち、ステップS307の判断で、成功と判定された場合
で、さらに、未処理の差分テーブルがある場合、すなわ
ち、ステップS308の判断で、未処理差分テーブル数
Mが、M>0と判定される場合、ステップS303に戻
り、ここまでの処理を未処理の差分テーブルがなくなる
まで行う。この処理の結果、差分テーブル毎にステップ
S302で取得した送信番号に一致するレコードを対象
として、差分ファイルが作成される。なお、ここで作成
される差分ファイルは、最大で、差分テーブルの数とな
る。
【0027】[送信データ作成処理]次に、作成された
差分ファイルが存在する場合、すなわち、ステップS3
09の判断で、作成された差分ファイル数Nが、N>0
と判定された場合、送信データ名(形式例:YYYYM
MDDHHmmSS_送信データ番号)を作成する(ス
テップS310)。なお、上記形式例は、年月日時分秒
と送信データ番号とからなっている。次に、ステップS
306で作成した差分ファイルの全てを、ステップS3
10にて作成した送信データ名の圧縮ファイルとする
(ステップS311)。ここで、圧縮を行うのは、同時
に受信側DBシステム2で更新させる必要のある差分フ
ァイル全てを確実に送信するためと、ネットワーク上の
データ転送量を少なくして送信時間を短くするためであ
る。なお、ここで用いるデータ圧縮の方式は、特に限定
するものではない。
【0028】[送信管理テーブル更新処理]次に、ステ
ップS312において、送信情報蓄積部1eの送信管理
テーブルを以下のように更新する。 (1)送信番号=ステップS302で取得した送信番
号; (2)送信データ名=ステップS310で作成した送信
データ名;
【0029】[差分テーブルのレコード削除処理]次
に、ステップS313において、ステップS304で送
信番号が更新されたレコードを、各差分テーブルから削
除する。なお、ステップS304の処理以降に追加され
た各差分テーブルのレコードについては、送信番号がN
ullのため、削除されない。
【0030】[送信番号テーブルの更新処理]次に、ス
テップS314において、送信番号テーブルの送信番号
に+1加算する。
【0031】[ファイル送信管理処理の起動]次に、ス
テップS315において、送信側DBシステム1のファ
イル送信管理処理を起動する。この処理の詳細は後述す
る。そして、このファイル送信管理処理が終了するまで
待機して終了する。
【0032】次に、図2のステップS4に示した「ファ
イル送信管理処理」の詳細を、具体例を挙げ説明する
(図5参照)。
【0033】[送信データ名取得処理]はじめに、送信
情報蓄積部1eの送信管理テーブルから、状態が“更新
完了”以外(“送信失敗”、“送信完了”、“更新失
敗”、Null)である送信データ名を取得する(ステ
ップS401)。
【0034】[送信データ(差分ファイルの圧縮ファイ
ル)の送信処理]次に、データ送信管理部1dは、ステ
ップS401で取得した送信データ名から、対応する送
信データを読み込み、受信側DBシステム2へ、この送
信データを送信する(ステップS402)。ここで、送
信に失敗した場合、すなわち、ステップS403の判断
で、“失敗”と判定された場合は、送信情報蓄積部1e
にエラーの内容を出力するとともに、送信管理テーブル
の状態を“送信失敗”に更新し、処理を終了する(ステ
ップS404)。一方、送信に成功した場合、すなわ
ち、ステップS403の判断で、“成功”と判定された
場合は、送信に成功した送信データに対応する送信管理
テーブルの状態を“送信完了”に更新する(ステップS
405)。そして、下記のファイル受信管理処理を起動
する(ステップS406)。
【0035】[ファイル受信管理処理]ここでは、受信
側DBシステム2から応答として返される処理結果(更
新完了/更新失敗)を受け、この処理結果に応じて、以
下の処理を行う。受信した処理結果が“更新失敗”だっ
た場合、すなわち、ステップS407の判断で、“失
敗”と判定された場合、送信管理テーブルの状態を“更
新失敗”に更新し(ステップS408)、処理を終了す
る。一方、受信した処理結果が“更新完了”だった場
合、すわなち、ステップS407の判断で“成功”と判
定された場合、送信管理テーブルの状態を“更新完了”
に変更し(ステップS409)、ステップS402で取
得した送信側の送信データを削除する(ステップS41
0)。
【0036】そして、以上の処理を、取得した送信デー
タ毎、送信番号順に未処理(未送信)の送信データがな
くなるまで、すなわち、ステップS411の判断で、未
処理の送信データ数Nが、N=0と判定されるまで繰り
返す。
【0037】次に、図2のステップS6に示した「差分
ファイルの解析及び差分データ蓄積部へ格納」の処理の
詳細を、具体例を挙げ説明する(図6参照)。
【0038】はじめに、受信データ名を取得し、この受
信データ名に対応する受信データを解凍し、解凍して得
られた全ての差分ファイルの差分ファイル名を取得する
(ステップS601)。そして、後述する受信側DB更
新処理を起動する(ステップS602)。そして、受信
側DB更新処理の処理結果が“更新失敗”の場合、すな
わち、ステップS603の判断で、“失敗”と判定され
た場合、送信側DBシステム1のデータ送信管理部1d
に“更新失敗”を返して(ステップS604)、処理を
終了する。一方、受信側DB更新処理の処理結果が“更
新完了”の場合、送信側DBシステム1のデータ送信管
理部1dに“更新完了”を返して(ステップS60
5)、処理を終了する。
【0039】次に、図2のステップS7に示した「差分
データから変更情報解析及びデータ蓄積部への反映」処
理(受信側DB更新処理)の詳細を、具体例を挙げ説明
する(図7参照)。ここでは、受信側DBシステム2に
おいて、差分データ蓄積部2bに格納された差分データ
に基づき、データ蓄積部2aのマスタテーブルを変更し
ている。
【0040】はじめに、DB更新を行う差分ファイル名
(複数可)を取得する(ステップS701)。次に、差
分データ蓄積部2bに存在する差分テーブルのレコード
を全て削除する(ステップS702)。そして、ステッ
プS702で、削除失敗した場合、すなわち、ステップ
S703の判断で“失敗”と判定された場合、DB更新
処理の処理結果を“更新失敗”として(ステップS70
4)、終了する。
【0041】一方、ステップS702で、削除成功した
場合、すなわち、ステップS703の判断で“成功”と
判定された場合、全ての処理対象の差分ファイルを、受
信側DBシステム2で用いる形式の差分データに変換し
て、差分データ蓄積部2bの差分テーブルへ追加する
(ステップS705)。このステップS705での追加
処理が失敗した場合、すなわち、ステップS706の判
断で、“失敗”と判定された場合、DB更新処理の処理
結果を“更新失敗”として(ステップS704)終了す
る。一方、ステップS705での追加処理が成功した場
合、次のステップS707へ進む。
【0042】ステップS707では、データ蓄積部2a
のマスタテーブルに対し、差分データの内容を反映させ
る更新処理を行う。ここでは、各差分テーブル分だけ、
以下の処理を行う。まず、前述したユニーク番号で昇順
にソートされた差分テーブルから処理レコードを1件抽
出する。そして、処理フラグ(追加、更新、削除)に基
づき、この処理レコードからSQL(Structur
ed Query Language)トランザクション
を組み立てる。そして、このSQLトランザクションを
実行し、データ蓄積部2aのマスタテーブルへの反映処
理(追加、更新、削除)を行う。そして処理が正常に完
了した場合、処理結果を“更新完了”とする。一方、エ
ラーの場合、ROLLBACKを行い、トランザクショ
ンを全て破棄し、処理結果を“更新失敗”とする。
【0043】次に、ステップS707の処理後、その処
理結果をステップS708で判断する。このステップS
708の判断で、処理結果が“失敗”と判定されると、
DB更新処理の処理結果を“更新失敗”とし、一方、処
理結果が“成功”と判定されると、DB更新処理の処理
結果を“更新成功”として、この処理結果(更新完了/
更新失敗)を呼び出し元へ返す。
【0044】ここで、送信側DBシステム1における制
御方法を、送信側で扱うデータのデータ構造(例)とそ
のデータに対する処理の流れを示す図8を参照して、さ
らに具体的に説明する。なお、図8は、データ蓄積部1
aに存在するマスタテーブル(マスタTBL)が追加・
削除・更新された場合(図8:)を例にとって、送信
側にあるデータ蓄積部1aのデータ、および差分データ
の内容を説明している。
【0045】図8に示した例では、データ蓄積部1aの
マスタTBLの1つであるkobe_tbl(DB操作
前)に対し、 ・No=2のレコード削除: DELETE FROM kobe_tbl WHER
E No=‘2’; ・No=5をItem=Eに更新: UPDATE kobe_tbl SET Item=
‘E’ WHERENo=‘5’; ・No=6のレコード追加: INSERT INTO kobe_tbl VALU
ES(‘6’,‘FFFFFFFF’);のDB変更操
作が行われて、kobe_tbl(DB操作後)の状態
になっている。
【0046】次に、差分データ生成制御部1cによっ
て、差分データ抽出格納処理(図8:)が行われて、
差分データが生成され、差分データ蓄積部1bに格納さ
れる。diff_kobe_tbl(差分TBL)は、
その差分データの一例である。差分TBLは、更新対象
のテーブル(kobe_tbl)の内更新があった行デ
ータ(2,5,6番行)のみのデータに、変更種別フラ
グ(Flag:削除・更新・追加)と更新日時(Dat
a)が付与された形式になっている。最後に、差分デー
タ生成制御部1cは、汎用ファイルフォーマット変換処
理(図8:)を行って、差分データから差分ファイル
を生成する。この差分ファイルの中身については、下記
で説明する。
【0047】ここで、図9に示す差分ファイルのデータ
構造(例)を参照して、差分ファイルのデータ構造を説
明する。
【0048】図9に示した差分ファイルの例は、インタ
ーネット等で使用される汎用フォーマットであるXML
形式のテキストファイルとなっており、このXML形式
を用いて、差分データを表現している。この例の差分フ
ァイルは、行単位に、<record>というタグで区
切られ、また、列の名前として、<No>、<Item
>、<Flag>、<Date>等のタグ名で各データ
項目を識別している。本実施の形態で特色となっている
データ構造は、差分種別をあらわす部分で、例えば<F
lag>削除</Flag>というのは、その行が削除
されたことを表している。
【0049】このように、差分データをXML等の汎用
ファイルフォーマットに変換して送信するので、受信側
と送信側で用いるOS(オペレーティングシステム)や
DB管理システムが異なっていても、DBの同期が可能
になっている。
【0050】次に、受信側DBシステム2における制御
方法を、受信側で扱うデータのデータ構造(例)とその
データに対する処理の流れを示す図10を参照し、具体
的に説明する。なお、図10では、図中に示した差分フ
ァイルを受信してから、データ蓄積部2aに差分データ
に基づく変更情報を反映するまでの情報内容を説明する
ものである。
【0051】はじめに、差分ファイルを受信すると、差
分データ格納制御部2cが、汎用ファイルフォーマット
の差分ファイルの内容を解釈し、受信側DBシステム2
で用いる形式の差分TBLとして差分データ蓄積部2b
へ格納する(図10:)。この差分ファイルを解釈す
る方法は、<record>タグで行データ単位に区切
られた内容を、<No>、<Item>、<Flag
>、<Date>等の列データタグ名毎に切り出し、1
行ずつ差分TBLに格納する。図10に示すdiff_
kobe_tblが、図10の差分ファイルを、差分デ
ータとして差分データ蓄積部2bに格納した例になって
いる。この例では、図8に示した送信側におけるdif
f_kobe_tblと同じ形式をとっており、同じ内
容になっている。次に、差分データ格納制御部2cは、
差分データ蓄積部2bの差分テーブルから差分情報(変
更情報)を読み出して(図10:)、データ蓄積部2
aのマスタテーブルの1つであるkobe_tblへ差
分情報を反映させる更新処理を行う(図10:)。
【0052】具体例で説明すると、差分データ格納制御
部2cは差分データを読み込んで、下記の3つの差分情
報の、 ・No=2のレコード削除: DELETE FROM kobe_tbl WHER
E No=‘2’; ・No=5のItem=Eに更新: UPDATE kobe_tbl SET Item=
‘E’ WHERENo=‘5’; ・No=6のレコード追加: INSERT INTO kobe_tbl VALU
ES(‘6’,‘FFFFFFFF’);を得る。
【0053】ここで得られた差分情報を元に、データ蓄
積部2aのマスタテーブルのkobe_tbl(更新
前)に、DB更新処理が行われて、kobe_tbl
(更新後)の状態になる。このようにして、受信側のk
obe_tbl(更新後)の状態は、送信側のkobe
_tbl(DB操作後)の状態となって、DB間の同期
が完了する。以上、本実施の形態のDBシステムの動作
の詳細を説明した。なお、上記で説明した各動作フロー
は一例であり、上記の処理の流れに限定されるものでは
ない。
【0054】以上に説明したように、本実施の形態の制
御方法を用いることによって、物理的に離れたDB間で
データベース同期制御を行うことができる。本実施の形
態の特徴は、同期するDBの変更情報だけを、データ量
が小さい差分情報として取り出して転送するため、デー
タ転送に要するトラフィックが少なくて済む。したがっ
て、回線使用料も低く押えることができる。また、差分
情報は、データ蓄積部1aに蓄積されたデータに比べ小
さいものであるので、その転送時間が短くて済む。すな
わち、同期制御に要する時間が短時間で済むため、2つ
のDB間でDBの変更情報を即時に反映できる。
【0055】また、差分データを汎用ファイルフォーマ
ットの形式に変換して送信するので、一般的に利用され
ているインターネット等のネットワークとそのプロトコ
ル上で、データのやり取りが可能である。つまり、専用
ネットワークや通信回線を準備しなくてもよいので、設
備投資コストが少なく済む。また、差分データには変更
情報としてコマンド(追加・追加・更新)を含んでお
り、また、この差分データからなる差分ファイルを送受
信して送信側のDBの変更内容を受信側のDBに反映さ
せるため、異なるDBシステム間でも同期が可能であ
る。また、インターネット等の一般的に利用されている
データ網に接続することで、送信側ひとつに対し、受信
側はいくつでも増やすことができ、複数のDB間でも同
期をとることが可能である。
【0056】なお、本発明は、伝送回線として、インタ
ーネットの他、LANやダイアルアップによるネットワ
ークを利用してもよい。また、図1における差分データ
生成制御部1c、データ送信管理部1d、データ受信管
理部2d、差分データ格納制御部2cの機能の一部ある
いは全部を実現するためのプログラムをコンピュータ読
み取り可能な記録媒体に記録して、この記録媒体に記録
されたプログラムをコンピュータシステムに読み込ま
せ、実行することによりデータベース同期制御を行って
もよい。なお、ここでいう「コンピュータシステム」と
は、OSや周辺機器等のハードウェアを含むものとす
る。
【0057】また、「コンピュータシステム」は、WW
Wシステムを利用している場合であれば、ホームページ
提供環境(あるいは表示環境)も含むものとする。ま
た、「コンピュータ読み取り可能な記録媒体」とは、フ
ロッピー(登録商標)ディスク、光磁気ディスク、RO
M、CD−ROM等の可搬媒体、コンピュータシステム
に内蔵されるハードディスク等の記憶装置のことをい
う。さらに「コンピュータ読み取り可能な記録媒体」と
は、インターネット等のネットワークや電話回線等の通
信回線を介してプログラムが送信された場合のサーバや
クライアントとなるコンピュータシステム内部の揮発性
メモリ(RAM)のように、一定時間プログラムを保持
しているものも含むものとする。
【0058】また、上記プログラムは、このプログラム
を記憶装置等に格納したコンピュータシステムから、伝
送媒体を介して、あるいは、伝送媒体中の伝送波により
他のコンピュータシステムに伝送されてもよい。ここ
で、プログラムを伝送する「伝送媒体」は、インターネ
ット等のネットワーク(通信網)や電話回線等の通信回
線(通信線)のように情報を伝送する機能を有する媒体
のことをいう。また、上記プログラムは、前述した機能
の一部を実現するためのものであっても良い。さらに、
前述した機能をコンピュータシステムにすでに記録され
ているプログラムとの組み合わせで実現できるもの、い
わゆる差分ファイル(差分プログラム)であっても良
い。
【0059】以上、この発明の実施形態を、図面を参照
して詳述してきたが、具体的な構成はこの実施形態に限
られるものではなく、この発明の要旨を逸脱しない範囲
の構成等も含まれる。
【0060】
【発明の効果】以上、詳細に説明したように、本発明に
よれば、データベース同期制御を行うために、伝送回線
上を転送させるデータを差分データのみとすることで、
伝送回線にかかる負荷を軽くし、通信コストを安くする
ことができる。また、伝送回線上では、差分データ・フ
ァイルの転送のみを行うので、新たにDBシステム専用
の通信口を設ける必要がなく、一般に利用されるセキュ
リティが厳しいファイル転送用の通信口のみを使用して
DBシステム間の同期制御を実施できる。このことと、
さらに、データ蓄積部のデータ全体ではなく、差分デー
タのみをDBシステム間で転送することから、DBシス
テムとしてのセキュリティを保持することができる。
【0061】また、汎用ファイルフォーマットに基づい
て作成された差分ファイルを用いて、DB更新のための
情報(差分データ)をやりとりするため、異なるOSを
採用しているDB間でも異なるDBシステム間でも、デ
ータベース同期制御を実行することができる。また、複
数のDBシステム間を繋ぐ伝送回線として、インターネ
ット等の一般に開放されたデータ網を利用することによ
り、1つの送信側DBシステムに対して、複数の受信側
DBシステムを同期させることができる。これにより、
さらに、設備投資コストを安価に抑えることができる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態であるDBシステムの
構成を示す図である。
【図2】 同実施の形態の動作を説明する全体フロー図
である。
【図3】 同実施の形態の「差分データの抽出格納処
理」を説明するフロー図である。
【図4】 同実施の形態の「差分データを汎用ファイル
フォーマットに変換」する処理を説明するフロー図であ
る。
【図5】 同実施の形態の「ファイル送信管理処理」を
説明するフロー図である。
【図6】 同実施の形態の「差分ファイルの解析及び差
分データ蓄積部へ格納」の処理を説明するフロー図であ
る。
【図7】 同実施の形態の「差分データから変更情報解
析及びデータ蓄積部への反映」処理を説明するフロー図
である。
【図8】 同実施の形態の送信側DBシステムにおける
制御方法の詳細を説明する図である。
【図9】 同実施の形態の差分ファイルの一例を示す図
である。
【図10】 同実施の形態の受信側DBシステムにおけ
る制御方法の詳細を説明する図である。
【符号の説明】
1…送信側DBシステム 2…受信側DBシ
ステム 1a,2a…データ蓄積部 1b,2b…差分
データ蓄積部 1c…差分データ生成制御部 1d…データ送信
管理部 1e…送信情報蓄積部 2c…差分データ
格納制御部 2d…データ受信管理部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山川 剛史 大阪府大阪市中央区馬場町3番15号 西日 本電信電話株式会社内 (72)発明者 干川 広之 大阪府大阪市中央区馬場町3番15号 西日 本電信電話株式会社内 Fターム(参考) 5B082 GA02 GA04 GB02 HA03

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 伝送回線を介して接続された2以上のD
    Bシステムに対するデータベース同期制御方法であっ
    て、 送信側DBシステムでは、 該送信側のデータ蓄積部に蓄積された元データの変更に
    伴う、元データと変更後のデータとの差分データを抽出
    し、 該抽出された差分データから、該送信側DBシステムに
    依存しない汎用ファイルフォーマットの差分データ・フ
    ァイルを生成し、 該差分データ・ファイルを、前記伝送回線を介して受信
    側DBシステムに送信し、 受信側DBシステムでは、 受信した差分データ・ファイルを、該受信側DBシステ
    ムで用いる専用フォーマットの差分データに変換し、 該変換した差分データの内容に基づき、受信側のデータ
    蓄積部の元データを変更し、該受信側のデータ蓄積部の
    データを前記送信側のデータ蓄積部のデータと一致させ
    ることを特徴とするデータベース同期制御方法。
  2. 【請求項2】 伝送回線を介して接続された2以上のD
    Bシステムにより構成され、該2以上のDBシステム間
    でデータベース同期制御を行うシステムであって、 送信側DBシステムは、 送信側データベースとしての送信側データ蓄積部と、 該送信側データ蓄積部に蓄積された元データの変更に伴
    う、元データと変更後のデータとの差分データを蓄積す
    る差分データ蓄積部と、 前記差分データを前記元データと変更後のデータとから
    抽出し、該抽出された差分データから、該送信側DBシ
    ステムに依存しない汎用ファイルフォーマットの差分デ
    ータ・ファイルを生成する差分データ生成制御部と、 該差分データ・ファイルを、前記伝送回線を介して受信
    側DBシステムに送信するデータ送信管理部と、からな
    り、 受信側DBシステムは、 受信側データベースとしての受信側データ蓄積部と、 前記伝送回線を介して前記送信側DBシステムから送信
    された差分データ・ファイルを受信するデータ受信管理
    部と、 受信した差分データ・ファイルを、該受信側DBシステ
    ムで用いる専用フォーマットの差分データに変換し、該
    変換した差分データの内容に基づき、受信側データ蓄積
    部の元データを変更し、該受信側データ蓄積部のデータ
    を前記送信側データ蓄積部のデータと一致させる差分デ
    ータ格納制御部と、からなることを特徴とするDBシス
    テム。
  3. 【請求項3】 伝送回線を介して接続される他のDBシ
    ステムと、データベース同期を行うDBシステムであっ
    て、 該DBシステムに備わるデータベースとしてのデータ蓄
    積部と、 該データ蓄積部に蓄積された元データの変更に伴う、元
    データと変更後のデータとの差分データを蓄積する差分
    データ蓄積部と、 前記差分データを前記元データと変更後のデータとから
    抽出して前記差分データ蓄積部に格納し、さらに、該抽
    出された差分データから、該DBシステムに依存しない
    汎用ファイルフォーマットの差分データ・ファイルを生
    成する差分データ生成制御部と、 該差分データ・ファイルを、前記伝送回線を介して他の
    DBシステムに送信するデータ送信管理部と、 前記伝送回線を介して他のDBシステムから送信された
    差分データ・ファイルを受信するデータ受信管理部と、 受信した差分データ・ファイルを、該DBシステムで用
    いる専用フォーマットの差分データに変換し、該変換し
    た差分データの内容に基づき、前記データ蓄積部の元デ
    ータを変更し、該データ蓄積部のデータを、前記差分デ
    ータ・ファイルを送信した他のDBシステムのデータ蓄
    積部のデータと一致させることを特徴とするDBシステ
    ム。
  4. 【請求項4】 前記伝送回線として、インターネット等
    の一般に開放されたデータ網を使用することを特徴とす
    る請求項2または請求項3に記載のDBシステム。
JP2001042236A 2001-02-19 2001-02-19 データベース同期制御方法及び該方法によるdbシステム Pending JP2002244908A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001042236A JP2002244908A (ja) 2001-02-19 2001-02-19 データベース同期制御方法及び該方法によるdbシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001042236A JP2002244908A (ja) 2001-02-19 2001-02-19 データベース同期制御方法及び該方法によるdbシステム

Publications (1)

Publication Number Publication Date
JP2002244908A true JP2002244908A (ja) 2002-08-30

Family

ID=18904562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001042236A Pending JP2002244908A (ja) 2001-02-19 2001-02-19 データベース同期制御方法及び該方法によるdbシステム

Country Status (1)

Country Link
JP (1) JP2002244908A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005209044A (ja) * 2004-01-23 2005-08-04 Masami Yoshioka 医療情報交換システム及び医療情報交換方法
JP2007148772A (ja) * 2005-11-28 2007-06-14 Toshiba Corp エンジニアリングデータベースシステムおよびその取扱方法
JP2007157019A (ja) * 2005-12-08 2007-06-21 Central Japan Railway Co データ処理システム
CN100409220C (zh) * 2003-07-04 2008-08-06 松下电器产业株式会社 数据发送装置、数据接收装置、数据收发系统及收发方法
JP2011060039A (ja) * 2009-09-10 2011-03-24 Hitachi Solutions Ltd 圧縮データの差分配信方式及び圧縮データの差分配信方法
JP2015064777A (ja) * 2013-09-25 2015-04-09 沖電気工業株式会社 データベースシステム、データベース更新方法及びデータベース更新プログラム
US9413857B2 (en) 2007-06-06 2016-08-09 International Business Machines Corporation System, method and program product for backing up data
JP2017037666A (ja) * 2011-05-12 2017-02-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited カテゴリ情報の送信
JP2020154463A (ja) * 2019-03-18 2020-09-24 株式会社日立製作所 データ管理システムおよびデータ管理方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100409220C (zh) * 2003-07-04 2008-08-06 松下电器产业株式会社 数据发送装置、数据接收装置、数据收发系统及收发方法
JP2005209044A (ja) * 2004-01-23 2005-08-04 Masami Yoshioka 医療情報交換システム及び医療情報交換方法
JP2007148772A (ja) * 2005-11-28 2007-06-14 Toshiba Corp エンジニアリングデータベースシステムおよびその取扱方法
JP2007157019A (ja) * 2005-12-08 2007-06-21 Central Japan Railway Co データ処理システム
JP4716861B2 (ja) * 2005-12-08 2011-07-06 東海旅客鉄道株式会社 データ処理システム
US9413857B2 (en) 2007-06-06 2016-08-09 International Business Machines Corporation System, method and program product for backing up data
US11169890B2 (en) 2007-06-06 2021-11-09 International Business Machines Corporation System, method and program product for backing up data
JP2011060039A (ja) * 2009-09-10 2011-03-24 Hitachi Solutions Ltd 圧縮データの差分配信方式及び圧縮データの差分配信方法
JP2017037666A (ja) * 2011-05-12 2017-02-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited カテゴリ情報の送信
JP2015064777A (ja) * 2013-09-25 2015-04-09 沖電気工業株式会社 データベースシステム、データベース更新方法及びデータベース更新プログラム
JP2020154463A (ja) * 2019-03-18 2020-09-24 株式会社日立製作所 データ管理システムおよびデータ管理方法
JP7320962B2 (ja) 2019-03-18 2023-08-04 株式会社日立製作所 データ管理システムおよびデータ管理方法

Similar Documents

Publication Publication Date Title
US7013316B1 (en) System and method for synchronizing multiple database files
US7917606B2 (en) Method and system for message management
US6941327B2 (en) Apparatus and method for database synchronization in a duplex system
JP4599360B2 (ja) 識別情報を同期させる方法およびシステム
US8856068B2 (en) Replicating modifications of a directory
CN113396407A (zh) 用于利用区块链技术扩充数据库应用的系统和方法
US20050055382A1 (en) Universal synchronization
EA002411B1 (ru) Система и способ использования администратора данных рабочей области для доступа, обработки и синхронизации сетевых данных
US8959117B2 (en) System and method utilizing a generic update module with recursive calls
US20040194112A1 (en) Entity linking system
US20070174315A1 (en) Compressing state in database replication
KR102119258B1 (ko) 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
KR20200056357A (ko) 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법
KR100521742B1 (ko) 엑스엠엘 문서의 구조 및 속성 정보의 손실 없이 엑스엠엘문서를 원격 서버로 복제하는 엑스엠엘 데이터베이스이중화 장치 및 그 방법
JP2002244908A (ja) データベース同期制御方法及び該方法によるdbシステム
CN113656384B (zh) 数据处理方法、分布式数据库系统、电子设备及存储介质
US20080077939A1 (en) Solution for modifying a queue manager to support smart aliasing which permits extensible software to execute against queued data without application modifications
US7599903B2 (en) Systems and methods for extracting data sets from an online relational database into a data warehouse
US20050267906A1 (en) Method and system for programming disconnected data
WO2020192663A1 (zh) 一种数据管理方法及相关设备
JP2023501788A (ja) ブロックチェーンベースのバックアップおよび回復のためのシステムおよび方法
JP2002007441A (ja) 分散データベースシステム
CN116821232A (zh) 一种数据同步方法及相关装置
JP2002373101A (ja) ディレクトリ間連携方法
KR20010039125A (ko) 트랜잭션 송신을 통한 분산 데이터베이스의 동기화 시스템