JP5103807B2 - 制御プログラム、制御方法、情報処理装置及び情報処理システム - Google Patents

制御プログラム、制御方法、情報処理装置及び情報処理システム Download PDF

Info

Publication number
JP5103807B2
JP5103807B2 JP2006180839A JP2006180839A JP5103807B2 JP 5103807 B2 JP5103807 B2 JP 5103807B2 JP 2006180839 A JP2006180839 A JP 2006180839A JP 2006180839 A JP2006180839 A JP 2006180839A JP 5103807 B2 JP5103807 B2 JP 5103807B2
Authority
JP
Japan
Prior art keywords
update
data
information
information processing
database
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.)
Expired - Fee Related
Application number
JP2006180839A
Other languages
English (en)
Other versions
JP2008009809A (ja
Inventor
和也 大村
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 JP2006180839A priority Critical patent/JP5103807B2/ja
Priority to US11/586,911 priority patent/US7870099B2/en
Publication of JP2008009809A publication Critical patent/JP2008009809A/ja
Application granted granted Critical
Publication of JP5103807B2 publication Critical patent/JP5103807B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データベース(記憶部)間の同期処理を行う技術に関する。
処理能力向上などを目的として、既存のコンピュータシステムから新規のコンピュータシステムへの移行を行うときに、既存のサーバを運用したまま、データベースの更新を行う業務アプリケーションを新規のサーバに段階的に移行することがある。このような移行においては、既存のサーバと新規のサーバとの両方に夫々備えられた等値となるべきデータベースに対し、夫々のサーバの業務アプリケーションが独立して更新を行う必要がある。かかる構成では、既存のサーバのデータベースと新規のサーバのデータベースとの整合性を保つため、データベースにおける更新を他のデータベースに夫々反映し合う同期処理が不可欠である。
一般的に、同期処理を行う従来技術として、特開2002−366407号公報に記載されるように、マスタデータベースに対する更新をレプリカデータベースに反映させる技術が広く用いられている。
特開2002−366407号公報
しかしながら、このような、マスタデータベースに対する更新をレプリカデータベースに反映させる従来の同期処理の技術は、2つのデータベース間に主従関係を持たせ、一方のデータベースに対する更新を他方のデータベースに一方的に反映するものであった。このため、夫々のデータベースに対して独立して更新がなされたときに、かかる従来の同期処理を行うと、次のように、論理的な矛盾が発生するおそれがあった。具体的には、業務アプリケーションにより変更されたレコードが、他のデータベースの更新内容で上書きされてしまうおそれがあった。また、夫々のデータベースに対し同じキーを持つレコードが登録される更新がなされた状態で同期処理を行うと、同じキーを有するレコードの二重登録となり同期処理がエラーとなってしまうおそれがあった。更に、夫々のデータベースから同じキーを持つレコードが削除される更新がなされた状態で同期処理を行うと、同じキーを有するレコードの二重削除となり同期処理がエラーとなってしまうおそれがあった。
そこで、本発明は以上のような従来の問題点に鑑み、等値となるべきデータベースに対し夫々独立して更新がなされていても、これらのデータベース間に論理的な矛盾を発生させずに同期処理を行うことを目的とする。
このため、本発明においては、データを記憶する記憶部を備え、他の情報処理装置のデータとの同期を行う情報処理装置が、更新命令に基づいて、記憶部に記憶されたデータを更新し、更新された後の更新後データを収集する。また、情報処理装置は、開始命令と、更新される前の更新前データと、収集された更新後データと、終了命令とを含む更新情報データを生成する。そして、情報処理装置は、生成された更新情報データを、開始命令に応じて更新情報データに含まれる更新前データおよび更新後データに基づいて更新内容が特定されるデータの更新処理を開始対象の処理として特定して開始し、終了命令に応じて更新処理を終了する他の情報処理装置に送信する。
また、情報処理装置はさらに、他の情報処理装置が送信した更新情報データを受信し、受信した更新情報データから、更新前データおよび更新後データを取得し、取得した更新前データおよび更新後データに基づいて更新内容が特定されるデータの更新処理を実行する。
本発明によれば、他のサーバに備えられたデータベースの更新をデータベースに反映すると、データベース間に論理的な矛盾が発生するか否かが判定される。そして、かかる矛盾が発生しないときにのみ、更新の反映が行われる。このため、データベース間に論理的な矛盾が発生するときには更新が反映されず、業務アプリケーションにより変更されたレコードが他のデータベースの更新内容で上書きされたり、同じキーを持つレコードの二重登録や二重削除がなされたりすることを回避することができる。従って、データベース間に論理的な矛盾を発生させずに、同期処理を行うことが可能となる。
以下、添付された図面を参照して本発明を詳述する。
図1は、本発明を具現化したデータベース同期処理装置の機能概要を示す。このデータベース同期処理装置は、データベースの更新を行う業務アプリケーションを備えたサーバ10及びサーバ20を含んで構成される。なお、「更新」とは、INSERT命令による登録処理、UPDATE命令による変更処理及びDELETE命令による削除処理を含むものとする。
サーバ10及びサーバ20は、少なくとも中央処理装置(CPU)、メモリ及び外部記憶装置を備えたコンピュータで構成される。サーバ10は、業務アプリケーション10A、DBMS(DataBase Management System)により管理されるデータベース10B、更新情報収集部10C及び更新情報反映部10Dを含んで構成される。なお、CD−ROM、DVD−ROMなどのコンピュータ読取可能な記録媒体に記録されたデータベース同期処理プログラムがサーバ10にインストールされることにより、更新情報収集部10C及び更新情報反映部10Dの機能が実現される。サーバ20も同様に、業務アプリケーション20A、DBMSにより管理されるデータベース20B、更新情報収集部20C及び更新情報反映部20Dを含んで構成される。サーバ10のデータベース10B及びサーバ20のデータベース20Bは、運用上等値となるべきものである。
サーバ10の業務アプリケーション10Aは、データベース操作命令を含んだトランザクションを処理してデータベース10Bを更新する。更新情報収集部10Cは、データベース10Bを更新するトランザクションが処理されたときに、トランザクションの開始及び終了の制御情報、並びに、データベース10Bにおける更新前後の状態を特定可能な更新情報を収集し、更新情報がトランザクションごとに保持された更新情報データ30を生成する。更に、更新情報収集部10Cは、更新情報データ30を、サーバ20にネットワークを介して伝送する。更新情報反映部10Dは、判定ステップ、判定手段、更新ステップ、更新手段、生成ステップ、生成手段、出力ステップ及び出力手段として機能し、サーバ20から更新情報データ30を受信したときに、その更新情報に応じてデータベース10Bを更新すると論理的な矛盾が発生するか否かを判定する。そして、更新情報反映部10Dは、矛盾が発生しないときには更新情報に応じてデータベース10Bを更新し、矛盾が発生するときには、サーバ10の外部記憶装置に矛盾内容を示すエラーログ10Eを生成及び出力する。
なお、サーバ20の業務アプリケーション20A、データベース20B、更新情報収集部20C及び更新情報反映部20Dは、夫々、サーバ10の業務アプリケーション10A、データベース10B、更新情報収集部10C及び更新情報反映部10Dと同じ機能を有する。
次に、サーバ10において業務アプリケーション10Aによりデータベース10Bに対してなされた更新を、サーバ20においてデータベース20Bに反映させる同期処理の流れを説明する。更新情報収集部10Cでは、業務アプリケーション10Aによりデータベース10Bが更新されたときに、更新情報が収集され、更新情報データ30が生成される。また、更新情報収集部10Cでは、この更新情報データ30が、サーバ20の更新情報反映部20Dに伝送される。一方、サーバ20では、更新情報反映部20Dにおいて、受信した更新情報データ30の更新情報に応じてデータベース20Bを更新すると、データベース10Bとデータベース20Bとの間に論理的な矛盾が発生するか否かが判定される。そして、更新情報反映部20Dでは、矛盾が発生しないときに、更新情報データ30に応じてデータベース20Bが更新され、矛盾が発生するときには、エラーログ20Eが生成及び出力される。
図2は、業務アプリケーション10Aにより、データベース10Bに対する更新のトランザクションのデータベース操作命令が処理されるごとに、更新情報収集部10Cにより実行される収集処理の内容を示す。
ステップ1(図では「S1」と略記する。以下同様)では、データベース操作命令がトランザクション開始命令であるか否かを判定する。データベース操作命令がトランザクション開始命令であるときにはステップ2に進み(Yes)、データベース操作命令がトランザクション開始命令でないときにはステップ3に進む(No)。
ステップ2では、更新情報データ30に、これを構成する更新情報として、図3に示すように、トランザクション開始命令であることを示すデータ30Aを設定する。
ステップ3では、データベース操作命令がINSERT命令であるか否かを判定する。データベース操作命令がINSERT命令であるときにはステップ4に進み(Yes)、データベース操作命令がINSERT命令でないときにはステップ6に進む(No)。
ステップ4では、更新情報データ30に、データベース10Bにおいて更新対象となった更新済みレコードの更新前の状態を示す更新前データとして、図3に示すように、レコードが存在しないことを示す識別子(例えばNULL値)30Bを設定する。
ステップ5では、更新情報データ30に、更新済みレコードの更新後の状態を示す更新後データとして、図3に示すように、登録されたレコード30Cを設定する。なお、ステップ4及びステップ5において夫々設定された更新前データ及び更新後データは、これらで1つの更新情報とされる。
ステップ6では、データベース操作命令がDELETE命令であるか否かを判定する。データベース操作命令がDELETE命令であるときにはステップ7に進み(Yes)、データベース操作命令がDELETE命令でないときにはステップ9に進む(No)。
ステップ7では、更新情報データ30に、更新前データとして、図3に示すように、削除されたレコード30Dを設定する。
ステップ8では、更新情報データ30に、更新後データとして、図3に示すように、レコードが存在しないことを示す識別子30Eを設定する。なお、ステップ7及びステップ8において夫々設定された更新前データ及び更新後データは、これらで1つの更新情報とされる。
ステップ9では、データベース操作命令がUPDATE命令であるか否かを判定する。データベース操作命令がUPDATE命令であるときにはステップ10に進み(Yes)、データベース操作命令がUPDATE命令でないときにはステップ12に進む(No)。
ステップ10では、更新情報データ30に、更新前データとして、図3に示すように、変更前のレコード30Fを設定する。
ステップ11では、更新情報データ30に、更新後データとして、図3に示すように、変更後のレコード30Gを設定する。なお、ステップ10及びステップ11において夫々設定された更新前データ及び更新後データは、これらで1つの更新情報とされる。
ステップ12では、データベース操作命令がトランザクションの終了命令であるか否かを判定する。データベース操作命令がトランザクション終了命令であるときにはステップ13に進み(Yes)、データベース操作命令がトランザクション終了命令でないときには処理を終了する(No)。
ステップ13では、更新情報データ30に、更新情報として、図3に示すように、トランザクション終了命令であることを示すデータ30Hを設定する。
かかる収集処理により、データベース10Bにおける更新前後の状態を夫々特定可能な更新前データ及び更新後データ、又はトランザクションの開始若しくは終了命令であることを示すデータを有する更新情報が収集され、これがトランザクションごとに保持された更新情報データ30が生成される。ここで、データベース10Bに対する更新処理が登録処理のときには、更新前データ及び更新後データに、レコードが存在しないことを示す識別子及びデータベースに登録されたレコードが夫々設定される。また、データベース10Bに対する更新処理が削除処理のときには、更新前データ及び更新後データに、データベースから削除されたレコード及び識別子が夫々設定される。更に、データベース10Bに対する更新処理が変更処理のときには、更新前データ及び更新後データに、変更前のレコード及び変更後のレコードが夫々設定される。このため、更新前データ及び更新後データに識別子又はレコードがどのように設定されているかに基づいて、データベース10Bの更新内容が特定可能となる。
更に、更新情報収集部10Cでは、更新情報データ30がサーバ20の更新情報反映部20Dに伝送される。ここでは、データベース10Bに対する更新のトランザクションが処理されるごとに更新情報データ30が送信されても良いし、予め設定された所定時間ごとにスケジューリングされたジョブにより、複数のトランザクションの更新情報を有する更新情報データ30がファイルインタフェースなどで送信されても良い。更新のトランザクションが処理されるごとに更新情報データ30が送信されれば、データベース間の同期処理の頻度が高くなることで、データベース間の矛盾が発生し難くなる。また、所定時間ごとに更新情報データ30が送信されれば、ネットワークの負荷が軽減される。
図4は、更新情報反映部20Dにより実行される反映処理の内容を示す。この反映処理は、更新情報反映部20Dで更新情報データ30が受信されたときに実行される。
ステップ21では、更新情報データ30から、更新情報を、収集処理において更新情報データ30に設定された順、即ちデータベース10Bに対する更新が行われた順に、1つ読み込む。
ステップ22では、更新情報がトランザクション開始を示すデータであるか否かを判定する。更新情報がトランザクション開始を示すデータであるときにはステップ23に進み(Yes)、更新情報がトランザクション開始を示すデータでないときにはステップ24に進む(No)。
ステップ23では、データベース20Bに対し、データベース10Bの更新を反映させるトランザクションを開始する。
ステップ24では、更新情報がINSERT命令によるものであるか否かを判定する。ここでは、更新前データに、レコードが存在しないことを示す識別子が設定されているときに、更新情報がINSERT命令によるものであると判定する。更新情報がINSERT命令によるものであるときにはステップ25に進み(Yes)、更新情報がINSERT命令によるものでないときにはステップ28に進む(No)。
ステップ25では、更新後データに設定されたレコードと同じキーを有する対応レコードをデータベース20Bにおいて検索し、対応レコードが存在するか否かを判定する。対応レコードが存在しないときにはステップ26に進み(Yes)、対応レコードが存在するときにはステップ27に進む(No)。
ステップ26では、更新後データに設定されたレコードを、データベース20Bに登録する。
ステップ27では、エラーログ20Eを生成し、サーバ20の外部記憶装置に出力する。エラーログ20Eには、更新対象のデータベース名、エラーログを出力する日時、データベース操作命令がINSERT命令である旨の情報、更新後データに設定されたレコード及び更新後データに設定されたレコードと同じキーを有するデータベース20Bの対応レコードなどを含める。
ステップ28では、更新情報がDELETE命令によるものであるか否かを判定する。ここでは、更新後データに、レコードが存在しないことを示す識別子が設定されているときに、更新情報がDELETE命令であると判定する。更新情報がDELETE命令によるものであるときにはステップ29に進み(Yes)、更新情報がDELETE命令によるものでないときにはステップ33に進む(No)。
ステップ29では、更新前データに設定されたレコードと同じキーを有する対応レコードをデータベース20Bにおいて検索し、対応レコードが存在するか否かを判定する。対応レコードが存在するときにはステップ30に進み(Yes)、存在しないときにはステップ32に進む(No)。
ステップ30では、更新前データに設定されたレコードが、これと同じキーを有するデータベース20Bの対応レコードと一致するか否かを判定する。対応レコードが更新前データに設定されたレコードと一致するときにはステップ31に進み(Yes)、対応レコードが更新前データに設定されたレコードと一致しないときにはステップ32に進む(No)。
ステップ31では、データベース20Dから、更新前データに設定されたレコードと同じキーを有する対応レコードを削除する。
ステップ32では、エラーログ20Eを生成し、サーバ20の外部記憶装置に出力する。エラーログ20Eには、更新対象のデータベース名、エラーログを出力する日時、データベース操作命令がDELETE命令である旨の情報、更新前データに設定されたレコード及びこれと同じキーを有するデータベース20Bの対応レコードなどを含める。
ステップ33では、更新情報がUPDATE命令によるものであるか否かを判定する。ここでは、更新前データ及び更新後データにレコードが設定されているときに、更新情報がUPDATE命令であると判定する。更新情報がUPDATE命令によるものであるときにはステップ34に進み(Yes)、更新情報がUPDATE命令によるものでないときにはステップ37に進む(No)。
ステップ34では、更新前データに設定されたレコードと同じキーを有する対応レコードをデータベース20Dにおいて検索し、対応レコードが、更新前データに設定されたレコードと一致するか否かを判定する。なお、対応レコードがデータベース20Dに存在しないときは、対応レコードが更新前データに設定されたレコードと一致しないものとして判定する。対応レコードが、更新前データに設定されたレコードと一致するときにはステップ35に進み(Yes)、対応レコードが更新前データに設定されたレコードと一致しない場合にはステップ36に進む(No)。
ステップ35では、更新前データに設定されたレコードと同じキーを有するデータベース20Dの対応レコードを更新後データに設定されたレコードに一致させるように、データベース20Dを変更する。即ち、更新前データに設定されたレコードと同じキーを有するデータベース20Dの対応レコードが、更新後データに設定されたレコードで上書きされる。
ステップ36では、エラーログ20Eを生成し、サーバ20の外部記憶装置に出力する。エラーログ20Eには、更新対象のデータベース名、エラーログを出力する日時、データベース操作命令がUPDATE命令である旨の情報、更新前データ及び更新後データに設定されたレコード並びに更新前データに設定されたレコードと同じキーを有するデータベース20Dの対応レコードなどを含める。
ステップ37では、データベース20Bに対し、データベース10Bの更新を反映させるトランザクションを終了する。
なお、かかる反映処理のうち、ステップ25、ステップ29、ステップ30及びステップ34が、判定ステップ及び判定手段に相当する。また、ステップ26、ステップ31及びステップ35が、更新ステップ及び更新手段に相当する。更に、ステップ27、ステップ32及びステップ36が、生成ステップ、生成手段、出力ステップ及び出力手段に相当する。
かかる反映処理によれば、更新情報の更新前データ及び更新後データにどのようにレコード又は識別子が設定されているかに基づいてデータベース10Bの更新内容が特定され、その更新内容に応じてデータベース20Bの更新を行うと論理的な矛盾が発生するか否かが判定される。そして、矛盾が発生しないと判定されたときにのみ、データベース10Bにおける更新がデータベース20Bに反映される。
具体的には、更新前データにレコードが存在しないことを示す識別子が設定されていれば、更新後データに設定されたレコードがINSERT命令によりデータベース10Bに登録されたことが特定される。そして、その更新後データに設定されたレコードと同じキーを有する対応レコードがデータベース20Bに存在しないときにのみ、更新後データに設定されたレコードがデータベース20Bに登録される。このため、更新後データに設定されたレコードと同じキーを有する対応レコードがデータベース20Bに存在するときにはかかる登録がなされないことで、同じキーを有するレコードの二重登録が回避される。
また、更新後データに識別子が設定されていれば、更新前データに設定されたレコードがDELETE命令によりデータベース10Bから削除されたことが特定される。そして、その更新前データに設定されたレコードと同じキーを有する対応レコードがデータベース20Bに存在するときにのみ、その対応レコードがデータベース20Bから削除される。このため、更新前データに設定されたレコードと同じキーを有する対応レコードがデータベース20Bに存在しないときにはかかる削除がなされないことで、同じキーを有するレコードの二重削除が回避される。
更に、更新前データ及び更新後データにレコードが設定されていれば、更新前データに設定されたレコードがUPDATE命令により更新後データに設定されたレコードになるようにデータベース10Bが変更されたことが特定される。そして、その更新前データに設定されたレコードがこれと同じキーを有するデータベース20Bの対応レコードと一致するときにのみ、その対応レコードを更新後データに設定されたレコードに一致させるようにデータベース20Bが変更される。このため、更新前データに設定されたレコードがこれと同じキーを有するデータベース20Bの対応レコードと一致しないときにはかかる変更がなされないことで、業務アプリケーションにより変更されたレコードがデータベース10Bの更新内容で上書きされることが回避される。
このように、データベース間に論理的な矛盾が発生するときには更新の反映が回避されることで、データベース間に論理的な矛盾を発生させずに、同期処理を行うことが可能となる。
また、論理的な矛盾が発生するときに、矛盾内容を示す情報を含んだエラーログ20Eが生成され、外部記憶装置に出力される。このため、システム管理者は、エラーログ20Eを参照すれば、その矛盾内容とデータベースの運用状況を考慮して対処方法を決定し、データベースの整合性をとることができる。
なお、エラーログ20Eは、紙やディスプレイ装置などのように、視覚により把握可能な媒体に出力されても良い。同期処理において更新の反映が回避されたときに、エラーログ20Eが紙に印刷されて出力されたり、ディスプレイ装置の画面上に出力されたりすれば、システム管理者はその矛盾内容を早急に把握し、対処することができる。
なお、更新情報収集部10Cにおける収集処理において、データベース10Bに対する更新のデータベース操作命令を特定可能な情報が、更新情報に設定されても良い。具体的には、データベース10Bに対する更新処理が登録処理であれば、データベース操作命令がINSERT命令であることを特定可能な情報及び登録されたレコードが更新情報として設定される。また、データベース10Bに対する更新処理が削除処理であれば、データベース操作命令がDELETE命令であることを特定可能な情報及び削除されたレコードが更新情報に設定される。更に、データベース10Bに対する更新が変更処理であれば、データベース操作命令がUPDATE命令であることを特定可能な情報並びに更新前及び更新後の状態として変更前のレコード及び変更後のレコードが更新情報に夫々設定される。このようにすれば、更新情報に設定されたデータベース操作命令を特定可能な情報及びレコードに基づいて、データベース10Bにおける更新内容が特定される。
更に、このようにデータベース操作命令の内容を特定可能な情報及びレコードが更新情報に設定されたときには、更新情報反映部20Dでは、更新情報に基づき次のように反映処理が行われる。即ち、データベース操作命令がINSERT命令であるときには、設定されたレコードと同じキーを有する対応レコードがデータベース20Bに存在しないときにのみ、設定されたレコードがデータベース20Bに登録される。また、データベース操作命令がDELETE命令であるときには、設定されたレコードと同じキーを有する対応レコードがデータベース20Bに存在するときにのみ、その対応レコードがデータベース20Bから削除される。更に、データベース操作命令がUPDATE命令であるときには、更新前の状態として設定されたレコードがこれと同じキーを有するデータベース20Bの対応レコードと一致するときにのみ、その対応レコードを更新後の状態として設定されたレコードに一致させるようにデータベース20Bが変更される。このように、更新情報にデータベース操作命令の内容を特定可能な情報及びレコードが設定されていても、データベース間に論理的な矛盾が発生するときに更新の反映を回避することができ、データベース間に論理的な矛盾を発生させずに同期処理を行うことが可能となる。
また、サーバ20においてなされた更新を、サーバ10において反映させるときには同様にすれば良い。
このように、2つのサーバに夫々備えられた等値となるべきデータベースに対し、夫々独立して更新が行われる構成において、夫々のサーバで、かかる収集処理、判定処理及び反映処理が行われることで、データベース間に論理的な矛盾を発生させずに、データベースにおける更新を他のデータベースに夫々反映し合う同期処理が可能となる。
なお、本発明は、3つ以上のサーバにより構築されたネットワークコンピューティング環境においても、適用可能である。
(付記1)データベースを夫々備えたサーバにより構築されたネットワークコンピューティング環境において、他のサーバにおけるデータベースとの間で同期処理を行うためのデータベース同期処理プログラムであって、前記他のサーバにおいて収集された、データベースにおける更新前後の状態を特定可能な更新情報を参照し、その更新情報に応じてデータベースを更新すると、データベース間に論理的な矛盾が発生するか否かを判定する判定ステップと、前記判定ステップにより矛盾が発生しないと判定されたときに、前記更新情報に応じてデータベースを更新する更新ステップと、をサーバに実現させるためのデータベース同期処理プログラム。
(付記2)前記判定ステップにより矛盾が発生すると判定されたときに、矛盾内容を示すエラーログを生成する生成ステップを更に含むことを特徴とする付記1記載のデータベース同期処理プログラム。
(付記3)前記エラーログは、前記更新情報及びこれにより更新対象となるレコードの内容を示す情報を含んで構成されることを特徴とする付記2記載のデータベース同期処理プログラム。
(付記4)前記生成ステップにより生成されたエラーログを、外部記憶装置又は視覚により把握することが可能な媒体に出力する出力ステップを更に含むことを特徴とする付記2又は付記3に記載のデータベース同期処理プログラム。
(付記5)前記更新情報には、データベースの更新済みレコードの更新前の状態を示す更新前データ及び更新後の状態を示す更新後データとして、データベースに対する更新処理が登録処理のとき、レコードが存在しないことを示す識別子及び登録されたレコードが夫々設定され、データベースに対する更新処理が削除処理のとき、削除されたレコード及び前記識別子が夫々設定され、データベースに対する更新処理が変更処理のとき、変更前のレコード及び変更後のレコードが夫々設定されることを特徴とする付記1〜付記4のいずれか1つに記載のデータベース同期処理プログラム。
(付記6)前記判定ステップは、前記更新前データに前記識別子が設定され且つ前記更新後データに設定されたレコードと同じキーを有する対応レコードがデータベースに存在するとき、前記更新後データに前記識別子が設定され且つ前記更新前データに設定されたレコードと同じキーを有する対応レコードがデータベースに存在しない若しくは前記更新前データに設定されたレコードと異なるとき、又は、前記更新前データ及び前記更新後データに夫々レコードが設定され且つ前記更新前データに設定されたレコードと同じキーを有する対応レコードが前記更新前データに設定されたレコードと異なるときに、データベース間に論理的な矛盾が発生すると判定することを特徴とする付記5記載のデータベース同期処理プログラム。
(付記7)前記更新ステップは、前記更新前データに前記識別子が設定されているときに、前記更新後データに設定されたレコードをデータベースに登録し、前記更新後データに前記識別子が設定されているときに、前記更新前データに設定されたレコードと同じキーを有する対応レコードをデータベースから削除し、それ以外のときに、前記更新前データに設定されたレコードと同じキーを有する対応レコードを前記更新後データに設定されたレコードに一致させるようにデータベースを変更することを特徴とする付記5又は付記6に記載のデータベース同期処理プログラム。
(付記8)前記更新情報には、データベースに対する更新処理が登録処理のとき、データベース操作命令が登録処理命令であることを特定可能な情報及び登録されたレコードが設定され、データベースに対する更新処理が削除処理のとき、データベース操作命令が削除処理命令であることを特定可能な情報及び削除されたレコードが設定され、データベースに対する更新処理が変更処理のとき、データベース操作命令が変更処理命令であることを特定可能な情報並びに更新済みレコードの更新前及び更新後の状態として変更前のレコード及び変更後のレコードが夫々設定されることを特徴とする付記1〜付記3のいずれか1つに記載のデータベース同期処理プログラム。
(付記9)前記判定ステップは、データベース操作命令が登録処理命令であり且つ設定されたレコードと同じキーを有する対応レコードがデータベースに登録されているとき、データベース操作命令が削除処理命令であり且つ設定されたレコードと同じキーを有する対応レコードがデータベースに存在しない若しくは設定されたレコードと異なるとき、又は、データベース操作命令が変更処理命令であり且つ更新前の状態として設定されたレコードがこれと同じキーを有する対応レコードと異なるときに、データベース間に論理的な矛盾が発生すると判定することを特徴とする付記8記載のデータベース同期処理プログラム。
(付記10)前記更新ステップは、データベース操作命令が登録処理命令であるときに、設定されたレコードをデータベースに登録し、データベース操作命令が削除処理命令であるときに、設定されたレコードと同じキーを有する対応レコードをデータベースから削除し、データベース操作命令が変更処理命令であるときに、更新前の状態として設定されたレコードと同じキーを有する対応レコードを更新後の状態として設定されたレコードに一致させるようにデータベースを更新することを特徴とする付記8又は付記9に記載のデータベース同期処理プログラム。
(付記11)前記更新情報は、トランザクションごとに保持されていることを特徴とする付記1〜付記10のいずれか1つに記載のデータベース同期処理プログラム。
(付記12)データベースを夫々備えたサーバにより構築されたネットワークコンピューティング環境において、他のサーバにおけるデータベースとの間で同期処理を行うためのデータベース同期処理装置であって、前記他のサーバにおいて収集された、データベースにおける更新前後の状態を特定可能な更新情報を参照し、その更新情報に応じてデータベースを更新すると、データベース間に論理的な矛盾が発生するか否かを判定する判定手段と、前記判定手段により矛盾が発生しないと判定されたときに、前記更新情報に応じてデータベースを更新する更新手段と、を含んで構成されたことを特徴とするデータベース同期処理装置。
(付記13)データベースを夫々備えたサーバにより構築されたネットワークコンピューティング環境において、他のサーバにおけるデータベースとの間で同期処理を行うためのデータベース同期処理方法であって、前記他のサーバにおいて収集された、データベースにおける更新前後の状態を特定可能な更新情報を参照し、その更新情報に応じてデータベースを更新すると、データベース間に論理的な矛盾が発生するか否かを判定する判定ステップと、前記判定ステップにより矛盾が発生しないと判定されたときに、前記更新情報に応じてデータベースを更新する更新ステップと、をサーバが実行することを特徴とするデータベース同期処理方法。
(付記14)データベースを夫々備えたサーバにより構築されたネットワークコンピューティング環境において、他のサーバにおけるデータベースとの間で同期処理を行うためのデータベース同期処理プログラムを記録したコンピュータ読取可能な記録媒体であって、前記他のサーバにおいて収集された、データベースにおける更新前後の状態を特定可能な更新情報を参照し、その更新情報に応じてデータベースを更新すると、データベース間に論理的な矛盾が発生するか否かを判定する判定ステップと、前記判定ステップにより矛盾が発生しないと判定されたときに、前記更新情報に応じてデータベースを更新する更新ステップと、をサーバに実現させるためのデータベース同期処理プログラムを記録したコンピュータ読取可能な記録媒体。
本発明を具現化したデータベース同期処理装置の機能概要図 更新情報収集部により実行される処理を示すフローチャート 更新情報データの説明図 更新情報反映部により実行される処理を示すフローチャート 更新情報反映部により実行される処理を示すフローチャート
符号の説明
10 サーバ
10A 業務アプリケーション
10B データベース
10C 更新情報収集部
10D 更新情報反映部
10E エラーログ
20 サーバ
20A 業務アプリケーション
20B データベース
20C 更新情報収集部
20D 更新情報反映部
20E エラーログ
30 更新情報データ

Claims (11)

  1. データを記憶する記憶部を備え、他の情報処理装置のデータとの同期を行う情報処理装置の制御プログラムにおいて、
    前記情報処理装置に、
    更新命令に基づいて、前記記憶部に記憶されたデータを更新させ、
    更新された後の更新後データを収集させ、
    開始命令と、更新される前の更新前データと、収集された前記更新後データと、終了命令とを含む更新情報データを生成させ、
    生成された前記更新情報データを、前記開始命令に応じて前記更新情報データに含まれる更新前データおよび更新後データに基づいて更新内容が特定されるデータの更新処理を開始対象の処理として特定して開始し、前記終了命令に応じて前記更新処理を終了する他の情報処理装置に送信させる、
    ことを特徴とする制御プログラム。
  2. 前記制御プログラムはさらに、
    前記情報処理装置に、
    前記他の情報処理装置が送信した更新情報データを受信させ、
    受信した前記更新情報データから、更新前データおよび更新後データを取得させ、
    取得した前記更新前データおよび前記更新後データに基づいて更新内容が特定されるデータの更新処理を実行させる、
    ことを特徴とする請求項1記載の制御プログラム。
  3. 前記記憶部は、
    データと、前記データを特定する特定情報とを対応付けて記憶し、
    前記制御プログラムは、
    前記情報処理装置に、
    更新される前の前記更新前データと前記更新後データを収集させ、
    データの更新を開始する開始命令と、収集された前記更新前データと、前記更新前データに対応する収集された前記更新後データと、データの更新を終了する終了命令とを含む更新情報データを生成させ、
    受信した前記更新情報データから、前記更新前データと前記更新後データとを取得させ、
    前記更新前データと同一の更新対象データが、前記更新前データを特定する特定情報と同一の特定情報に対応付けられて前記記憶部に記憶されている場合、前記更新対象データを前記更新後データに更新させる、
    ことを特徴とする請求項2記載の制御プログラム。
  4. 前記制御プログラムはさらに、
    前記情報処理装置に、
    前記更新前データを特定する特定情報と同一の特定情報に対応付けられて前記更新前データと異なるデータが、前記記憶部に記憶されている場合、エラーを出力させる、
    ことを特徴とする請求項3記載の制御プログラム。
  5. 前記制御プログラムは、
    前記情報処理装置に、
    前記更新前データが、前記更新前データを特定する特定情報と同一の特定情報に対応付けられたデータが存在しないことを示す識別子である場合、前記更新後データを、前記更新前データを特定する特定情報に対応付けて前記記憶部に記憶させる、
    ことを特徴とする請求項3記載の制御プログラム。
  6. 前記制御プログラムはさらに、
    前記情報処理装置に、
    前記更新前データを特定する特定情報と同一の特定情報に対応付けられたデータが、前記記憶部に記憶されている場合、エラーを出力させる、
    ことを特徴とする請求項5記載の制御プログラム。
  7. 前記制御プログラムは、
    前記情報処理装置に、
    前記更新後データが、前記更新後データを特定する特定情報と同一の特定情報に対応付けられたデータが存在しないことを示す識別子である場合、前記更新対象データを前記記憶部から削除させる、
    ことを特徴とする請求項3記載の制御プログラム。
  8. 前記制御プログラムはさらに、
    前記情報処理装置に、
    前記更新対象データが前記記憶部に記憶されていない場合、エラーを出力させる、
    ことを特徴とする請求項7記載の制御プログラム。
  9. データを記憶する記憶部を備え、他の情報処理装置のデータとの同期を行う情報処理装置が、
    更新命令に基づいて、前記記憶部に記憶されたデータを更新し、
    更新した後の更新後データを収集し、
    開始命令と、更新される前の更新前データと、収集した前記更新後データと、終了命令とを含む更新情報データを生成し、
    生成した前記更新情報データを、前記開始命令に応じて前記更新情報データに含まれる更新前データおよび更新後データに基づいて更新内容が特定されるデータの更新処理を開始対象の処理として特定して開始し、前記終了命令に応じて前記更新処理を終了する他の情報処理装置に送信する、
    ことを特徴とする制御方法。
  10. 他の情報処理装置のデータとの同期を行う情報処理装置において、
    データを記憶する記憶部と、
    更新命令に基づいて、前記記憶部に記憶されたデータを更新する更新部と、
    更新した後の更新後データを収集する収集部と、
    開始命令と、更新される前の更新前データと、前記収集部が収集した前記更新後データと、終了命令とを含む更新情報データを生成する生成部と、
    前記生成部が生成した前記更新情報データを、前記開始命令に応じて前記更新情報データに含まれる更新前データおよび更新後データに基づいて更新内容が特定されるデータの更新処理を開始対象の処理として特定して開始し、前記終了命令に応じて前記更新処理を終了する他の情報処理装置に送信する送信部と、
    を備えたことを特徴とする情報処理装置。
  11. 第1の情報処理装置と、前記第1の情報処理装置とデータの同期を行う第2の情報処理装置とを備えた情報処理システムにおいて、
    前記第1の情報処理装置は、
    データを記憶する第1の記憶部と、
    更新命令に基づいて、前記記憶部に記憶されたデータを更新する更新部と、
    更新した後の更新後データを収集する収集部と、
    開始命令と、更新される前の更新前データと、前記収集部が収集した前記更新後データと、終了命令とを含む更新情報データを生成する生成部と、
    前記生成部が生成した前記更新情報データを前記第2の情報処理装置に送信する送信部と、
    を備え、
    前記第2の情報処理装置は、
    データを記憶する第2の記憶部と、
    前記送信部が送信した更新情報データを受信する受信部と、
    前記受信部が受信した更新情報データから、更新前データおよび更新後データを取得する取得部と、
    前記開始命令に応じて前記更新前データおよび前記更新後データに基づいて更新内容が特定されるデータの更新処理を開始対象の処理として特定して開始し、前記終了命令に応じて前記更新処理を終了する更新処理部と、
    を備えたことを特徴とする情報処理システム。
JP2006180839A 2006-06-30 2006-06-30 制御プログラム、制御方法、情報処理装置及び情報処理システム Expired - Fee Related JP5103807B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006180839A JP5103807B2 (ja) 2006-06-30 2006-06-30 制御プログラム、制御方法、情報処理装置及び情報処理システム
US11/586,911 US7870099B2 (en) 2006-06-30 2006-10-26 Computer readable recording medium having stored therein database synchronizing process program, and apparatus for and method of performing database synchronizing process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006180839A JP5103807B2 (ja) 2006-06-30 2006-06-30 制御プログラム、制御方法、情報処理装置及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2008009809A JP2008009809A (ja) 2008-01-17
JP5103807B2 true JP5103807B2 (ja) 2012-12-19

Family

ID=38878026

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006180839A Expired - Fee Related JP5103807B2 (ja) 2006-06-30 2006-06-30 制御プログラム、制御方法、情報処理装置及び情報処理システム

Country Status (2)

Country Link
US (1) US7870099B2 (ja)
JP (1) JP5103807B2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827138B2 (en) * 2006-10-02 2010-11-02 Salesforce.Com, Inc. Method and system for synchronizing a server and an on-demand database service
US8799213B2 (en) * 2007-07-31 2014-08-05 Oracle International Corporation Combining capture and apply in a distributed information sharing system
US7801852B2 (en) 2007-07-31 2010-09-21 Oracle International Corporation Checkpoint-free in log mining for distributed information sharing
US7769714B2 (en) * 2007-11-06 2010-08-03 Oracle International Corporation Automatic error correction for replication and instantaneous instantiation
US7783601B2 (en) 2007-11-08 2010-08-24 Oracle International Corporation Replicating and sharing data between heterogeneous data systems
US9230002B2 (en) * 2009-01-30 2016-01-05 Oracle International Corporation High performant information sharing and replication for single-publisher and multiple-subscriber configuration
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
JP5108914B2 (ja) * 2010-04-20 2012-12-26 日本電信電話株式会社 データ投入方法及びデータ投入システム
US20120323955A1 (en) * 2011-06-15 2012-12-20 Microsoft Corporation Relational modeling and runtime for date effective entities
US9032385B2 (en) 2011-12-28 2015-05-12 Lg Electronics Inc. Mobile terminal and control method thereof
CN106156094B (zh) 2015-04-01 2019-09-17 阿里巴巴集团控股有限公司 一种数据库的远程数据同步方法和装置
CN109597690B (zh) * 2018-11-14 2019-10-22 浙江远算云计算有限公司 一种高性能云计算云爆发同步方法
JP7373314B2 (ja) * 2019-07-01 2023-11-02 キヤノンメディカルシステムズ株式会社 通信制御装置および通信制御方法
WO2023053357A1 (ja) * 2021-09-30 2023-04-06 株式会社アイ・エル・シー データ処理システムおよびデータ処理方法
CN116414844A (zh) * 2021-12-31 2023-07-11 华为技术有限公司 一种数据库处理方法及相关设备
US11947559B1 (en) 2022-10-10 2024-04-02 Bank Of America Corporation Dynamic schema identification to process incoming data feeds in a database system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774717A (en) * 1995-12-15 1998-06-30 International Business Machines Corporation Method and article of manufacture for resynchronizing client/server file systems and resolving file system conflicts
US6212529B1 (en) * 1996-11-13 2001-04-03 Puma Technology, Inc. Synchronization of databases using filters
JPH11312112A (ja) * 1998-04-30 1999-11-09 Pfu Ltd データベース複製機能を持つ計算機システム
JP3501968B2 (ja) * 1998-05-18 2004-03-02 シャープ株式会社 データベース管理装置、および、そのプログラムが記録された記録媒体
US6301643B1 (en) * 1998-09-03 2001-10-09 International Business Machines Corporation Multi-environment data consistency
US6779042B1 (en) * 1999-09-10 2004-08-17 Ianywhere Solutions, Inc. System, method, and computer program product for enabling on-device servers, offline forms, and dynamic ad tracking on mobile devices
US6643669B1 (en) * 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database
US6820088B1 (en) * 2000-04-10 2004-11-16 Research In Motion Limited System and method for synchronizing data records between multiple databases
US6631386B1 (en) * 2000-04-22 2003-10-07 Oracle Corp. Database version control subsystem and method for use with database management system
US6581075B1 (en) * 2000-12-28 2003-06-17 Nortel Networks Limited System and method for database synchronization
US20030131009A1 (en) * 2002-01-07 2003-07-10 International Business Machines Corporation Transaction method and system
JP2004152136A (ja) * 2002-10-31 2004-05-27 Matsushita Electric Ind Co Ltd データ更新システム、データ更新システムの差分データ生成装置及びプログラム、並びに更新後ファイル復元装置及びプログラム
JP4153324B2 (ja) * 2003-01-31 2008-09-24 松下電器産業株式会社 差分データ生成装置及び方法、更新後データ復元装置及び方法、並びにプログラム
JP4307121B2 (ja) * 2003-03-25 2009-08-05 三菱電機株式会社 地図データ処理装置
JP2005250819A (ja) 2004-03-04 2005-09-15 Hitachi Ltd レプリケーションdb整合性確認方法
JP4477950B2 (ja) * 2004-07-07 2010-06-09 株式会社日立製作所 リモートコピーシステム及び記憶装置システム
US7454581B2 (en) * 2004-10-27 2008-11-18 International Business Machines Corporation Read-copy update grace period detection without atomic instructions that gracefully handles large numbers of processors
JP4839010B2 (ja) * 2005-03-29 2011-12-14 シスメックス株式会社 分析システム、データ処理装置、及びアプリケーションプログラム
JP4727437B2 (ja) * 2006-02-03 2011-07-20 株式会社日立製作所 データベースを有するストレージシステムの記憶制御方法
US7603587B2 (en) * 2006-05-26 2009-10-13 Intel Corporation Updating a memory block without status logging

Also Published As

Publication number Publication date
JP2008009809A (ja) 2008-01-17
US20080005189A1 (en) 2008-01-03
US7870099B2 (en) 2011-01-11

Similar Documents

Publication Publication Date Title
JP5103807B2 (ja) 制御プログラム、制御方法、情報処理装置及び情報処理システム
JP4741371B2 (ja) システム、サーバ装置及びスナップショットの形式変換方法
WO2011108021A1 (en) File level hierarchical storage management system, method, and apparatus
AU2013210018B2 (en) Location independent files
EP1942421A1 (en) Data management system and data management method
US20110167045A1 (en) Storage system and its file management method
JP4354314B2 (ja) サーバ差分管理システム及び情報処理装置の制御方法
US9690796B2 (en) Non-transitory computer-readable media storing file management program, file management apparatus, and file management method
CN101681256A (zh) It自动化装置成像系统和方法
JP4575762B2 (ja) データ処理方法および装置並びにストレージ装置およびその処理プログラム
JP2018538600A (ja) データ準備のためのシグニチャベースのキャッシュ最適化
JP2011191862A (ja) ファイル管理装置、ファイル管理システム、およびファイル管理プログラム
JP6598997B2 (ja) データ準備のためのキャッシュ最適化
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
US7194486B2 (en) Method and system for data processing with data replication for the same
JP2008033527A (ja) ストレージ装置、ディスク装置及びデータ復元方法
US20120209891A1 (en) Database management method, database management system and database management program
CN110928494B (zh) 一种虚拟磁盘数据同步服务器、客户端及系统
WO2016117007A1 (ja) データベースシステム及びデータベース管理方法
JP5063465B2 (ja) 文書管理装置、文書管理方法、情報処理プログラム及び記録媒体
JP2004252957A (ja) 分散ファイルシステムのファイルレプリケーション方法及び装置
JP7381290B2 (ja) 計算機システム及びデータの管理方法
JP2006004024A (ja) ディレクトリサーバに実行させるためのプログラム
JPH0844609A (ja) データバックアップ方法
JP7141908B2 (ja) データ管理システムおよびデータ管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120815

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: 20120904

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120917

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: 20151012

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees