JP4765977B2 - レプリケーションシステムおよびデータ同期確認方法 - Google Patents

レプリケーションシステムおよびデータ同期確認方法 Download PDF

Info

Publication number
JP4765977B2
JP4765977B2 JP2007086899A JP2007086899A JP4765977B2 JP 4765977 B2 JP4765977 B2 JP 4765977B2 JP 2007086899 A JP2007086899 A JP 2007086899A JP 2007086899 A JP2007086899 A JP 2007086899A JP 4765977 B2 JP4765977 B2 JP 4765977B2
Authority
JP
Japan
Prior art keywords
master
data synchronization
replica
synchronization information
computer
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
JP2007086899A
Other languages
English (en)
Other versions
JP2008243150A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2007086899A priority Critical patent/JP4765977B2/ja
Publication of JP2008243150A publication Critical patent/JP2008243150A/ja
Application granted granted Critical
Publication of JP4765977B2 publication Critical patent/JP4765977B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、計算機のデータベースを更新したときに、別の計算機に設けた複製のデータベースも同じように更新するレプリケーションシステムに関する。
障害対策や処理の分散化を目的として、計算機に備わるデータベース(以下、DBとも記す)とは別にその複製のDBを別の計算機に備え、双方のDBを同じように更新するレプリケーションシステムが提案ないし実用化されている(例えば特許文献1参照)。本明細書では、複製元のDBをマスタDB、マスタDBを備える計算機をマスタ計算機、複製先のDBをレプリカDB、レプリカDBを備える計算機をレプリカ計算機と呼ぶ。
レプリケーションシステムでは、マスタ計算機でマスタDBを更新したとき、その更新情報を所定のタイミングでレプリカ計算機へ送信し、レプリカ計算機でその更新情報に基づいてマスタDBと同じ更新をレプリカDBに行うことで、マスタDBとレプリカDBのデータ内容を一致させる。データの内容が双方のDBで一致している状態を、データの同期が取れていると言う。ここで、更新情報をマスタ計算機からレプリカ計算機へ送信するタイミングとしては、マスタ計算機で更新が行われる都度や、予め指定した時間間隔毎などの幾つかの設定方法がある。また、一般的にマスタDBの更新とレプリカDBの更新とは非同期で実行される。
従って、マスタDBの更新とレプリカDBの更新とは時間的なズレがあり、システム全体でみるとデータの同期が一時的に取れていない状態になる。このような状態が発生するにもかかわらずレプリケーションシステムが賞用されている背景には、マスタ計算機とレプリカ計算機との間をつなぐネットワークの障害や伝送速度の遅さの影響を受けずにマスタ計算機側でDB処理を進めることができることや、レプリカDBを利用する業務アプリケーションの種類によっては、多少の更新遅れは問題にならないことなどが挙げられる。
しかしながら、マスタDBとレプリカDBとの間に生じる一時的なデータ不整合は、更新情報の反映の遅れに起因するものに過ぎないため、マスタDBで行われた更新のすべてがレプリカDBに正しく反映された後には、双方のDBは完全にデータの同期が取れていなければならない。若しその状態でもデータの同期が取れていなければ、レプリカDBがマスタDBの複製でなくなっているので、レプリケーション機能を停止し、何らかの対処を行う必要がある。
マスタDBとレプリカDBとでデータの同期が取れているかどうかを確認する従来の方法としては、マスタDBを使用する業務アプリケーションおよびレプリカDBを使用する業務アプリケーションを一旦すべて停止させて、マスタDBとレプリカDBの静止点を確立し、マスタDBで行われた更新のすべての更新情報がレプリカDBに反映されるのを待ち合わせた後、マスタDBとレプリカDBに記憶されている全てのデータを比較する方法がある。
特開2000−47918号公報 特開2005−346190号公報
マスタDBとレプリカDBとでデータの同期が常に取れるよう保証できれば、データの同期が取れているかどうかを確認する処理はそもそも不要になるが、現実的にはそのような保証は極めて困難である。
例えば、特許文献2に記載されたチェックサムを用いてデータの正当性をチェックする技術を特許文献1における更新情報に適用し、更新情報にそのチェックサムを付加してマスタ計算機からレプリカ計算機へ送信し、レプリカ計算機において、受信した更新情報から計算したチェックサムと受信したチェックサムとを比較し、一致した場合に限ってレプリカDBに反映することが考えられる。しかし、この方法では、通信途上で破壊された更新情報に基づくレプリカDBの更新によるデータ不整合は防止できるが、通信途上で更新情報が紛失するなど、更新情報の欠落によるデータの不整合は防止できない。
従って、マスタDBとレプリカDBとでデータの同期が取れているかどうかを確認する処理はレプリケーションシステムでは必須になる。しかしながら、上述した従来の方法では、マスタDBとレプリカDBとでデータの同期が取れているかどうかを確認する毎に、マスタDBおよびレプリカDBを使用するすべての業務アプリケーションを一時的に停止する必要があり、業務に与える影響が大きいという課題がある。
また、マスタDBとレプリカDBに記憶されている全てのデータを比較する方法では、データの同期が取れているかどうかを確認するまでに、非常に長い時間を必要とするという課題がある。
本発明の目的は、マスタDBとレプリカDBとでデータの同期が取れているかどうかを、それらのDBを使用する業務アプリケーションを停止させず且つ高速に確認し得るようにすることにある。
本発明の第1のレプリケーションシステムは、マスタ計算機に備わるマスタデータベースの更新情報をレプリカ計算機に備わるレプリカデータベースに反映することで、前記マスタデータベースと前記レプリカデータベースのデータを一致させるレプリケーションシステムにおいて、前記マスタ計算機は、マスタ側データ同期情報を記憶するマスタ側データ同期情報記憶手段と、前記レプリカ計算機にマスタデータベースの更新情報を送信する際に、該更新情報と前記マスタ側データ同期情報との演算前または演算後のマスタ側データ同期情報を付加して送信し、前記演算の演算結果を新たなマスタ側データ同期情報として前記マスタ側データ同期情報記憶手段に記憶するマスタ側レプリケーション管理手段を備え、前記レプリカ計算機は、前記マスタ側データ同期情報の複製であるレプリカ側データ同期情報を記憶するレプリカ側データ同期情報記憶手段と、前記マスタ計算機から受信した更新情報と前記レプリカ側データ同期情報との演算前または演算後のレプリカ側データ同期情報と、受信した更新情報に付加されていたマスタ側のデータ同期情報とを比較すると共に、前記演算の演算結果を新たなレプリカ側データ同期情報として前記レプリカ側データ同期情報記憶手段に記憶するレプリカ側レプリケーション管理手段を備え、前記比較の比較結果に基づいてデータの同期が取れているか否かを判定することを特徴とする。
本発明の第2のレプリケーションシステムは、第1のレプリケーションシステムにおいて、前記比較結果を前記レプリカ計算機から前記マスタ計算機へ送信し、前記マスタ側レプリケーション管理手段は、受信した比較結果が不一致を示す場合にレプリケーション処理を中止することを特徴とする。
本発明の第3のレプリケーションシステムは、第1のレプリケーションシステムにおいて、前記比較結果を前記レプリカ計算機から前記マスタ計算機へ送信し、前記マスタ側レプリケーション管理手段は、受信した比較結果が不一致を示す場合にレプリケーション異常を外部に通報することを特徴とする。
本発明の第4のレプリケーションシステムは、第1のレプリケーションシステムにおいて、前記演算が、更新情報およびデータ同期情報の内容が異なれば異なる演算結果が得られ、且つ、演算結果のビット数がデータ同期情報のビット数と同じになる種類の演算であることを特徴とする。
本発明の第5のレプリケーションシステムは、第1のレプリケーションシステムにおいて、前記演算が、チェックサム演算であることを特徴とする。
本発明のデータ同期確認方法は、マスタ計算機に備わるマスタデータベースの更新情報をレプリカ計算機に備わるレプリカデータベースに反映することで、前記マスタデータベースと前記レプリカデータベースのデータを一致させるレプリケーションシステムにおけるデータ同期確認方法であって、データの同期が取れている場合には互いに値が一致するデータ同期情報を前記マスタ計算機と前記レプリカ計算機のそれぞれの記憶装置に記憶し、前記マスタ計算機は、前記レプリカ計算機にマスタデータベースの更新情報を送信する際に、該更新情報と自計算機で記憶するマスタ側のデータ同期情報との演算前または演算後のマスタ側データ同期情報を付加して送信すると共に、演算の結果を新たなマスタ側のデータ同期情報として記憶し、前記レプリカ計算機は、受信した更新情報と自計算機で記憶するレプリカ側のデータ同期情報との演算前または演算後のレプリカ側データ同期情報と、受信した更新情報に付加されていたマスタ側のデータ同期情報とを比較すると共に、演算の結果を新たなレプリカ側のデータ同期情報として記憶し、前記比較結果に基づいてデータの同期が取れているか否かを判定することを特徴とする。
本発明のマスタ計算機は、レプリカ計算機に備わるレプリカデータベースと自計算機に備わるマスタデータベースとでデータの同期を取るために、前記マスタデータベースの更新情報を前記レプリカ計算機へ送信するマスタ計算機において、マスタ側データ同期情報を保持するデータ同期情報記憶手段と、前記マスタデータベースの更新情報と前記データ同期情報記憶手段から読み出したマスタ側データ同期情報との演算を行い、その演算結果を新たなマスタ側データ同期情報として前記データ同期情報記憶手段に記憶すると共に、前記更新情報に前記演算前または前記演算後のマスタ側データ同期情報を付加してレプリカ側計算機へ送信し、前記送信したマスタ側データ同期情報とレプリカ側データ同期情報との比較を行った比較結果を前記レプリカ計算機から受信し、該受信した比較結果に基づいてデータの同期が取れているかどうかを判定するレプリケーション管理手段とを備えることを特徴とする。
本発明のレプリカ計算機は、マスタ計算機に備わるマスタデータベースの複製であるレプリカデータベースを備え、前記マスタデータベースの更新情報を前記マスタ計算機から受信して前記レプリカデータベースに反映するレプリカ計算機において、マスタ側データ同期情報の複製であるレプリカ側データ同期情報を保持するデータ同期情報演算手段と、前記マスタ計算機から受信した前記マスタデータベースの更新情報と前記データ同期情報記憶手段から読み出したレプリカ側データ同期情報との演算を行い、その演算結果を新たなレプリカ側データ同期情報として前記データ同期情報記憶手段に記憶すると共に、前記演算前または前記演算後の前記レプリカ側データ同期情報と前記更新情報に付加されて前記マスタ計算機から送信されてきた前記マスタ側データ同期情報とを比較し、その比較結果を前記マスタ計算機へ送信すると共にその比較結果に基づいて前記更新情報の前記レプリカデータベースへの反映の可否を制御するレプリケーション管理手段とを備えることを特徴とする。
『作用』
マスタ計算機が、マスタDBで更新が行われる毎にその更新情報とマスタ側データ同期情報とのチェックサム演算などの所定の演算を行い、その演算結果を新たなマスタ側データ同期情報として保存すると共に更新情報に付加してレプリカ計算機へ送信し、レプリカ計算機が、受信した更新情報とレプリカ側データ同期情報とのチェックサム演算などの所定の演算を行い、その演算結果を新たなレプリカ側データ同期情報として作成すれば、この作成した新たなレプリカ側データ同期情報は、マスタDBとレプリカDBとでデータの同期が取れている限り、受信した更新情報に付加されているマスタ側データ同期情報と一致する。
しかし、例えば通信途上で更新情報が紛失する等の何らかの障害によって、マスタDBで行われた更新の更新情報がレプリカDBに反映されなかった事象が過去に発生していた場合、マスタ側データ同期情報だけが更新されてレプリカ側データ同期情報は更新されないため、マスタ側データ同期情報とレプリカ側データ同期情報とで値が異なる。
このため、業務アプリケーションを一時的に停止し、マスタDBで行われた更新のすべてがレプリカDBに反映されるまで待たなくても、同じ更新情報による演算後のマスタ側データ同期情報とレプリカ側データ同期情報とを比較するだけで、マスタDBとレプリカDBとでデータの同期が取れているかどうかを確認することができる。同様の理由で、同じ更新情報による演算前のマスタ側データ同期情報とレプリカ側データ同期情報とを比較しても、マスタDBとレプリカDBとでデータの同期が取れているかどうかを確認することができる。これによって、以下のような効果が得られる。
本発明によれば、マスタDBとレプリカDBとでデータの同期が取れているかどうかを、それらのDBを使用する業務アプリケーションを停止させず且つ高速に確認することができる。
『第1の実施の形態』
図1を参照すると、本発明の第1の実施の形態にかかるレプリケーションシステムは、マスタ計算機100とレプリカ計算機200とで構成され、双方の計算機は通信路300を通じて相互に通信可能に接続されている。
マスタ計算機100は、マスタ表111を記憶するマスタDB110と、マスタ表111の更新情報121を記憶する更新情報記憶部120と、マスタ側のデータ同期情報131を記憶するデータ同期情報記憶部130と、マスタDB110のデータベース管理システム(DBMS)140と、マスタ表111を参照および更新して所定の業務処理を遂行する業務アプリケーション150と、マスタ側のレプリケーションを管理するレプリケーション管理部160と、コンソール170とを備えている。また、レプリケーション管理部160は、マスタDB110の更新情報を抽出する更新情報抽出手段161と、更新情報とデータ同期情報との演算を行うデータ同期情報演算手段162と、レプリカ計算機200との間で通信路300を通じて更新情報、データ同期情報および比較結果などを送受信する転送手段163と、レプリケーション異常時に異常メッセージをコンソール170へ出力する通報手段164とを備えている。
レプリカ計算機200は、レプリカ表211を記憶するレプリカDB210と、マスタ計算機100から受信した更新情報221およびデータ同期情報222を記憶する受信情報記憶部220と、レプリカ側のデータ同期情報231を記憶するデータ同期情報記憶部230と、レプリカDB210のDBMS240と、レプリカ表211を参照して所定の業務処理を遂行する業務アプリケーション250と、レプリカ側のレプリケーションを管理するレプリケーション管理部260とを備えている。また、レプリケーション管理部260は、更新情報とデータ同期情報との演算を行うデータ同期情報演算手段261と、更新情報をレプリカDB210へ反映する更新情報反映手段262と、マスタ計算機100との間で通信路300を通じて更新情報、データ同期情報および比較結果などを送受信する転送手段263とを備えている。
次に、このように構成された本実施の形態にかかるレプリケーションシステムの動作について説明する。
マスタDB110のマスタ表111とレプリカDB210のレプリカ表211とが完全に一致している状態、すなわちデータの同期が取れている状態においては、マスタ側のデータ同期情報131とレプリカ側のデータ同期情報231とは同じ値を示している。
マスタ計算機100で稼動している業務アプリケーション150がマスタ表111に対する更新要求を発行すると、DBMS140はその要求を受信してマスタDB110をアクセスし、マスタ表111を要求された通りに更新する。ここで、更新には、新たなレコードをマスタ表111に追加する処理、マスタ表111に存在するレコードの内容を別の内容に変更する処理、マスタ表111に存在するレコードを削除する処理などの種類がある。
マスタ計算機100においてマスタDB110のマスタ表111が更新されると、レプリケーション管理部160の更新情報抽出手段161は、その更新を検知し、更新情報121を作成して更新情報記憶部120に記録する(図2のS101)。更新情報121は、それを受信したレプリカ計算機200においてマスタ側で行われた更新処理と同じ処理が行えるのに必要十分な情報を含んでいれば、その形式は任意である。
例えば図4(a)に示すように、マスタ表111にレコードが1件存在している状態401において、業務アプリケーション150からレコードが追加され、レコードが2件存在している状態402になった場合、更新情報抽出手段161はマスタ表111の変更部分403を抽出し、この抽出した変更部分403をレプリカDBに反映するための更新情報を作成する。
また、本実施の形態では、更新情報121を更新情報抽出手段161が作成して記録したが、DBMS140自体に更新情報の作成機能があれば、その機能を用いても良い。
その後、マスタ計算機100のデータ同期情報演算手段162は、更新情報記憶部120から更新情報121を読み出すと共に、データ同期情報131をデータ同期情報記憶部130から読み出し、更新情報121とデータ同期情報131との演算を行う(S102)。そして、その演算結果を新たなデータ同期情報131としてデータ同期情報記憶部130に書き戻し(S103)、かつ、更新情報121と新たなデータ同期情報131との組を転送手段163により通信路300を介してレプリカ計算機200へ送信する(S104)。
データ同期情報演算手段162が行う演算は、演算結果のビット数がデータ同期情報131のビット数と同じになり、且つ、更新情報121およびデータ同期情報131の内容が異なれば、異なる演算結果が得られるような種類の演算が望ましい。一例として、本実施の形態では、チェックサム演算を用いる。
チェックサム演算を用いる場合、データ同期情報131は例えば16ビット長のチェックサムになる。データ同期情報演算手段162は、更新情報121全体を16ビット長のn個のデータに分割し、これとデータ同期情報131とを含めたn+1個の16ビット長データの1の補数和を求め、求めた補数和の1の補数を新たなチェックサムとする。
レプリカ計算機200では、マスタ計算機100から送信された更新情報121とデータ同期情報131の組をレプリケーション管理部260の転送手段263が受信し、それぞれ更新情報221およびデータ同期情報222として受信情報記憶部220に記憶する(図3のS201)。
データ同期情報演算手段261は、受信情報記憶部220から更新情報221およびデータ同期情報222の組を読み出すと共に、データ同期情報記憶部230からレプリカ側のデータ同期情報231を読み出し、更新情報221とデータ同期情報231との演算を行う(S202)。この演算の種類は、マスタ側のデータ同期情報演算手段162と全く同一である。従って、チェックサム演算の場合、更新情報221とレプリカ側のデータ同期情報231とのチェックサム演算を行う。
次にデータ同期情報演算手段261は、受信情報記憶部220からマスタ側のデータ同期情報222を読み出し、このマスタ側のデータ同期情報222と前記演算の結果得られたデータ同期情報231とを比較し(S203)、一致するかどうかを判定する(S204)。そして、比較結果が一致の場合(S204YES)、データ同期情報演算手段261は、演算の結果得られたデータ同期情報をデータ同期情報記憶部230に新たなデータ同期情報231として記憶し(S205)、受信情報記憶部220から読み出していた更新情報221を更新情報反映手段262に渡す。更新情報反映手段262は、受け取った更新情報221に基づいて、マスタ側と同一の更新をレプリカDB210のレプリカ表211に対して行う(S206)。その後、データ同期情報演算手段261は、比較一致を示す比較結果を転送手段263により通信路300を介してマスタ計算機100へ送信する(S207)。
他方、マスタ側のデータ同期情報222とレプリカ側のデータ同期情報231とが一致しなかった場合(S204でNO)、ステップS205およびステップS206の処理は実施されず、データ同期情報演算手段261は、比較不一致を示す比較結果を転送手段263により通信路300を介してマスタ計算機100へ送信する(S207)。
マスタ計算機100では、レプリカ計算機200から送信された比較結果を転送手段163が受信し(S105)、比較結果が一致か、不一致かを判別する(S106)。そして、不一致であれば(S106でNO)、その旨が更新情報抽出部161、データ同期情報演算手段162および通報手段164に通知され、更新情報抽出部161およびデータ同期情報演算手段162は更新情報の抽出およびデータ同期情報の演算といったレプリケーションに必要な処理を中止する(S107)。また、通報手段164はコンソール170にレプリケーション異常を示すメッセージを表示する(S108)。異常メッセージをコンソール170に表示する以外の形態で、レプリケーション異常をユーザに通知するようにしても良い。他方、比較結果が一致を示していれば(S106でYES)、レプリケーション処理がその後も同様に継続される。
本実施の形態によれば、以下の(A)〜(D)の効果が奏される。
(A)データの同期が取れているかどうかを確認する際に、マスタDB110およびレプリカDB210を使用する業務アプリケーションを停止させる必要がない。また、マスタ側のデータ同期情報とレプリカ側のデータ同期情報とを比較するだけなので、マスタ表111とレプリカ表211の全データを比較する場合に比べて、データが同期しているか否かを高速に確認することができる。その理由は以下の通りである。
本実施の形態では、データの同期が取れている場合には互いに値が一致するデータ同期情報をマスタ計算機100とレプリカ計算機200のそれぞれに保持しておき、マスタ計算機100からレプリカ計算機200にマスタDB110の更新情報121を送信する際に、その更新情報121とマスタ側のデータ同期情報131との演算結果である新たなマスタ側データ同期情報をあわせて送信し、レプリカ計算機200において、受信した更新情報とレプリカ側のデータ同期情報231との演算結果である新たなレプリカ側データ同期情報と、受信したマスタ側のデータ同期情報とを比較して、その比較結果に基づいてデータの同期が取れているか否かを判定するため、マスタDB110の更新情報の全てがレプリカDB210に反映されていない状態でも、マスタDB110とレプリカDB210とでデータの同期が取れているかどうかを確認することができる。従って、データの同期が取れているかどうかを確認する際に、マスタDB110およびレプリカDB210を使用する業務アプリケーションを停止させる必要がなくなる。また、マスタ側のデータ同期情報とレプリカ側のデータ同期情報とを比較するだけなので、マスタ表111とレプリカ表211の全データを比較する場合に比べて、データが同期しているか否かを高速に確認することができる。
(B)レプリケーションシステムの一般的な処理の流れの中に、データ同期情報の演算、保存、送信、比較といった処理を追加することで実現できるため、既存のレプリケーションシステムに容易に適用することができる。
(C)データ同期情報の演算も特殊な演算でなく、ネットワークデータの送信確認などで一般的に使用されているチェックサム演算を利用できる。
(D)マスタ計算機からレプリカ計算機へ送信しようとしている更新情報との演算後のマスタ側データ同期情報をその更新情報に付加してマスタ計算機からレプリカ計算機へ送信し、レプリカ計算機において、受信した更新情報との演算後のレプリカ側データ同期情報を前記マスタ側データ同期情報と比較するため、今回送受信された更新情報が通信途上で破壊された場合も比較結果は不一致となり、破壊された更新情報でレプリカDBが更新されるのを防止することができる。
『第2の実施の形態』
第1の実施の形態では、マスタDBについて更新情報が得られた場合に、当該更新情報との演算後のマスタ側データ同期情報とレプリカ側データ同期情報とを比較していたが、本実施の形態では、演算前のデータ同期情報どうしを比較する。本実施の形態にかかるレプリケーションシステムの構成は、図1に示される第1の実施の形態と同じであり、処理の手順が一部相違する。以下、第1の実施の形態との相違点を中心に説明する。
マスタ計算機100においてマスタDB110のマスタ表111が更新されると、レプリケーション管理部160の更新情報抽出手段161は、その更新を検知し、更新情報121を作成して更新情報記憶部120に記録する(図5のS301)。
その後、マスタ計算機100のデータ同期情報演算手段162は、更新情報記憶部120から更新情報121を読み出すと共に、データ同期情報131をデータ同期情報記憶部130から読み出し、読み出した更新情報121とデータ同期情報131の組を転送手段163により通信路300を介してレプリカ計算機200へ送信する(S302)。そして、前記読み出した更新情報121とデータ同期情報131との演算を行い(S303)、その演算結果を新たなデータ同期情報131としてデータ同期情報記憶部130に書き戻す(S304)。
レプリカ計算機200では、マスタ計算機100から送信された更新情報121とデータ同期情報131の組をレプリケーション管理部260の転送手段263が受信し、それぞれ更新情報221およびデータ同期情報222として受信情報記憶部220に記憶する(図6のS401)。
データ同期情報演算手段261は、受信情報記憶部220から更新情報221およびデータ同期情報222の組を読み出すと共に、データ同期情報記憶部230からレプリカ側のデータ同期情報231を読み出し、これらの読み出したデータ同期情報222とデータ同期情報231とを比較し(S402)、一致するかどうかを判定する(S403)。そして、比較結果が一致の場合(S403でYES)、データ同期情報演算手段261は、更新情報221とデータ同期情報231との演算を行い(S404)、演算の結果得られたデータ同期情報をデータ同期情報記憶部230に新たなデータ同期情報231として記憶し(S405)、受信情報記憶部220から読み出していた更新情報221を更新情報反映手段262に渡す。更新情報反映手段262は、受け取った更新情報221に基づいて、マスタ側と同一の更新をレプリカDB210のレプリカ表211に対して行う(S406)。その後、データ同期情報演算手段261は、比較一致を示す比較結果を転送手段263により通信路300を介してマスタ計算機100へ送信する(S407)。
他方、マスタ側のデータ同期情報222とレプリカ側のデータ同期情報231とが一致しなかった場合(S403でNO)、ステップS404〜S406の処理は実施されず、データ同期情報演算手段261は、比較不一致を示す比較結果を転送手段263により通信路300を介してマスタ計算機100へ送信する(S407)。
マスタ計算機100では、レプリカ計算機200から送信された比較結果を転送手段163が受信し(S305)、比較結果が一致か、不一致かを判別する(S306)。そして、不一致であれば(S306でNO)、その旨が更新情報抽出手段161、データ同期情報演算手段162および通報手段180に通知され、更新情報抽出手段161およびデータ同期情報演算手段162は更新情報の抽出およびデータ同期情報の演算といったレプリケーションに必要な処理を中止し(S307)、通報手段164はコンソール170にレプリケーション異常を示すメッセージを表示する(S308)。他方、比較結果が一致を示していれば(S306でYES)、レプリケーション処理がその後も同様に継続される。
本実施の形態によれば、第1の実施の形態と同様に前記(A)〜(C)の効果が得られると同時に、次の(E)の効果を得ることができる。
(E)マスタ計算機からレプリカ計算機へ送信しようとしている更新情報との演算前のマスタ側データ同期情報をその更新情報に付加してマスタ計算機からレプリカ計算機へ送信し、レプリカ計算機において、受信した更新情報との演算前のレプリカ側データ同期情報を前記マスタ側データ同期情報と比較するため、今回送受信された更新情報の通信途上での破壊の有無の影響を受けずに、マスタDBとレプリカDBとでデータの同期が取れているかどうかの確認が可能となる。
『その他の実施の形態』
以上の各実施の形態では、データ同期情報演算手段で行う演算として、チェックサム演算を用いたが、更新情報およびデータ同期情報の内容が異なれば、異なる演算結果が得られ、且つ、演算結果のビット数がデータ同期情報のビット数と同じになる演算であれば、チェックサム演算以外の種類の演算でも良い。例えば、更新情報をデータ同期情報と同じビット長のn個のデータに分割し、このn個のデータとデータ同期情報とを含めたn+1個のデータの論理和、論理積、排他的論理和などの論理演算結果を求める種類の演算も、利用は可能である。
また、本発明のマスタ計算機およびレプリカ計算機におけるレプリケーションに関する機能は、ハードウェア的に実現することは勿論、プログラムで実現することができる。プログラムは、磁気ディスクや半導体メモリ等のコンピュータ可読記録媒体に記録されて提供され、コンピュータの立ち上げ時などにコンピュータに読み取られ、そのコンピュータの動作を制御することにより、そのコンピュータを前述した各実施の形態におけるマスタ計算機におけるレプリケーション管理部あるいはレプリカ計算機におけるレプリケーション管理部として機能させる。
本発明の第1の実施の形態のブロック図である。 本発明の第1の実施の形態におけるマスタ計算機のレプリケーション管理部の処理例を示すフローチャートである。 本発明の第1の実施の形態におけるレプリカ計算機のレプリケーション管理部の処理例を示すフローチャートである。 本発明の第1の実施の形態における更新情報の説明図である。 本発明の第2の実施の形態におけるマスタ計算機のレプリケーション管理部の処理例を示すフローチャートである。 本発明の第2の実施の形態におけるレプリカ計算機のレプリケーション管理部の処理例を示すフローチャートである。
符号の説明
100…マスタ計算機
110…マスタデータベース
111…マスタ表
120…更新情報記憶部
121…更新情報
130…データ同期情報記憶部
131…データ同期情報
140…データベース管理システム(DBMS)
150…業務アプリケーション
160…レプリケーション管理部
161…更新情報抽出手段
162…データ同期情報演算手段
163…転送手段
164…通報手段
170…コンソール
200…レプリカ計算機
210…レプリカデータベース
211…レプリカ表
220…受信情報記憶部
221…更新情報
222…データ同期情報
230…データ同期情報記憶部
231…データ同期情報
240…データベース管理システム(DBMS)
250…業務アプリケーション
260…レプリケーション管理部
261…データ同期情報演算手段
262…更新情報反映手段
263…転送手段
300…通信路

Claims (10)

  1. マスタ計算機に備わるマスタデータベースの更新情報をレプリカ計算機に備わるレプリカデータベースに反映することで、前記マスタデータベースと前記レプリカデータベースのデータを一致させるレプリケーションシステムにおいて、
    前記マスタ計算機は、マスタ側データ同期情報を記憶するマスタ側データ同期情報記憶手段と、前記レプリカ計算機にマスタデータベースの更新情報を送信する際に、該更新情報と前記マスタ側データ同期情報との演算前または演算後のマスタ側データ同期情報を付加して送信し、前記演算の演算結果を新たなマスタ側データ同期情報として前記マスタ側データ同期情報記憶手段に記憶するマスタ側レプリケーション管理手段を備え、
    前記レプリカ計算機は、前記マスタ側データ同期情報の複製であるレプリカ側データ同期情報を記憶するレプリカ側データ同期情報記憶手段と、前記マスタ計算機から受信した更新情報と前記レプリカ側データ同期情報との演算前または演算後のレプリカ側データ同期情報と、受信した更新情報に付加されていたマスタ側のデータ同期情報とを比較すると共に、前記演算の演算結果を新たなレプリカ側データ同期情報として前記レプリカ側データ同期情報記憶手段に記憶するレプリカ側レプリケーション管理手段を備え、
    前記比較の比較結果に基づいてデータの同期が取れているか否かを判定することを特徴とするレプリケーションシステム。
  2. 前記比較結果を前記レプリカ計算機から前記マスタ計算機へ送信し、前記マスタ側レプリケーション管理手段は、受信した比較結果が不一致を示す場合にレプリケーション処理を中止することを特徴とする請求項1記載のレプリケーションシステム。
  3. 前記比較結果を前記レプリカ計算機から前記マスタ計算機へ送信し、前記マスタ側レプリケーション管理手段は、受信した比較結果が不一致を示す場合にレプリケーション異常を外部に通報することを特徴とする請求項1記載のレプリケーションシステム。
  4. 前記演算が、更新情報およびデータ同期情報の内容が異なれば異なる演算結果が得られ、且つ、演算結果のビット数がデータ同期情報のビット数と同じになる種類の演算であることを特徴とする請求項1記載のレプリケーションシステム。
  5. 前記演算が、チェックサム演算であることを特徴とする請求項1記載のレプリケーションシステム。
  6. マスタ計算機に備わるマスタデータベースの更新情報をレプリカ計算機に備わるレプリカデータベースに反映することで、前記マスタデータベースと前記レプリカデータベースのデータを一致させるレプリケーションシステムにおけるデータ同期確認方法であって、
    データの同期が取れている場合には互いに値が一致するデータ同期情報を前記マスタ計算機と前記レプリカ計算機のそれぞれの記憶装置に記憶し、
    前記マスタ計算機は、前記レプリカ計算機にマスタデータベースの更新情報を送信する際に、該更新情報と自計算機で記憶するマスタ側のデータ同期情報との演算前または演算後のマスタ側データ同期情報を付加して送信すると共に、演算の結果を新たなマスタ側のデータ同期情報として記憶し、
    前記レプリカ計算機は、受信した更新情報と自計算機で記憶するレプリカ側のデータ同期情報との演算前または演算後のレプリカ側データ同期情報と、受信した更新情報に付加されていたマスタ側のデータ同期情報とを比較すると共に、演算の結果を新たなレプリカ側のデータ同期情報として記憶し、
    前記比較結果に基づいてデータの同期が取れているか否かを判定することを特徴とするデータ同期確認方法。
  7. レプリカ計算機に備わるレプリカデータベースと自計算機に備わるマスタデータベースとでデータの同期を取るために、前記マスタデータベースの更新情報を前記レプリカ計算機へ送信するマスタ計算機において、
    マスタ側データ同期情報を保持するデータ同期情報記憶手段と、前記マスタデータベースの更新情報と前記データ同期情報記憶手段から読み出したマスタ側データ同期情報との演算を行い、その演算結果を新たなマスタ側データ同期情報として前記データ同期情報記憶手段に記憶すると共に、前記更新情報に前記演算前または前記演算後のマスタ側データ同期情報を付加してレプリカ側計算機へ送信し、前記送信したマスタ側データ同期情報とレプリカ側データ同期情報との比較を行った比較結果を前記レプリカ計算機から受信し、該受信した比較結果に基づいてデータの同期が取れているかどうかを判定するレプリケーション管理手段とを備えることを特徴とするマスタ計算機。
  8. マスタ計算機に備わるマスタデータベースの複製であるレプリカデータベースを備え、前記マスタデータベースの更新情報を前記マスタ計算機から受信して前記レプリカデータベースに反映するレプリカ計算機において、
    マスタ側データ同期情報の複製であるレプリカ側データ同期情報を保持するデータ同期情報演算手段と、前記マスタ計算機から受信した前記マスタデータベースの更新情報と前記データ同期情報記憶手段から読み出したレプリカ側データ同期情報との演算を行い、その演算結果を新たなレプリカ側データ同期情報として前記データ同期情報記憶手段に記憶すると共に、前記演算前または前記演算後の前記レプリカ側データ同期情報と前記更新情報に付加されて前記マスタ計算機から送信されてきた前記マスタ側データ同期情報とを比較し、その比較結果を前記マスタ計算機へ送信すると共にその比較結果に基づいて前記更新情報の前記レプリカデータベースへの反映の可否を制御するレプリケーション管理手段とを備えることを特徴とするレプリカ計算機。
  9. レプリカ計算機に備わるレプリカデータベースと自計算機に備わるマスタデータベースとでデータの同期を取るために、前記マスタデータベースの更新情報を前記レプリカ計算機へ送信するマスタ計算機であって、マスタ側データ同期情報を保持するデータ同期情報記憶手段を備えたマスタ計算機を、前記マスタデータベースの更新情報と前記データ同期情報記憶手段から読み出したマスタ側データ同期情報との演算を行い、その演算結果を新たなマスタ側データ同期情報として前記データ同期情報記憶手段に記憶すると共に、前記更新情報に前記演算前または前記演算後のマスタ側データ同期情報を付加してレプリカ側計算機へ送信し、前記送信したマスタ側データ同期情報とレプリカ側データ同期情報との比較を行った比較結果を前記レプリカ計算機から受信し、該受信した比較結果に基づいてデータの同期が取れているかどうかを判定するレプリケーション管理手段として機能させるためのプログラム。
  10. マスタ計算機に備わるマスタデータベースの複製であるレプリカデータベースを備え、前記マスタデータベースの更新情報を前記マスタ計算機から受信して前記レプリカデータベースに反映するレプリカ計算機であって、マスタ側データ同期情報の複製であるレプリカ側データ同期情報を保持するデータ同期情報演算手段を備えたレプリカ計算機を、前記マスタ計算機から受信した前記マスタデータベースの更新情報と前記データ同期情報記憶手段から読み出したレプリカ側データ同期情報との演算を行い、その演算結果を新たなレプリカ側データ同期情報として前記データ同期情報記憶手段に記憶すると共に、前記演算前または前記演算後の前記レプリカ側データ同期情報と前記更新情報に付加されて前記マスタ計算機から送信されてきた前記マスタ側データ同期情報とを比較し、その比較結果を前記マスタ計算機へ送信すると共にその比較結果に基づいて前記更新情報の前記レプリカデータベースへの反映の可否を制御するレプリケーション管理手段として機能させるためのプログラム。
JP2007086899A 2007-03-29 2007-03-29 レプリケーションシステムおよびデータ同期確認方法 Expired - Fee Related JP4765977B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007086899A JP4765977B2 (ja) 2007-03-29 2007-03-29 レプリケーションシステムおよびデータ同期確認方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007086899A JP4765977B2 (ja) 2007-03-29 2007-03-29 レプリケーションシステムおよびデータ同期確認方法

Publications (2)

Publication Number Publication Date
JP2008243150A JP2008243150A (ja) 2008-10-09
JP4765977B2 true JP4765977B2 (ja) 2011-09-07

Family

ID=39914358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007086899A Expired - Fee Related JP4765977B2 (ja) 2007-03-29 2007-03-29 レプリケーションシステムおよびデータ同期確認方法

Country Status (1)

Country Link
JP (1) JP4765977B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038004A (ja) * 2010-08-05 2012-02-23 Nippon Telegr & Teleph Corp <Ntt> 加入者情報バックアップ方法及び加入者情報バックアップ装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07234812A (ja) * 1994-02-23 1995-09-05 Mitsubishi Electric Corp 分散システムにおけるデータコンペア方式
JP2003044338A (ja) * 2001-07-30 2003-02-14 Toshiba Corp Webクラスタシステムにおける配布コンテンツのチェック方法及び配布コンテンツのチェック機能を備えたWebクラスタシステム
FI20031856A0 (fi) * 2003-12-18 2003-12-18 Nokia Corp Menetelmä tietotallenteen eheyden varmistamiseksi
JP4462962B2 (ja) * 2004-03-03 2010-05-12 株式会社日立製作所 不整合データ発見方法及びシステム

Also Published As

Publication number Publication date
JP2008243150A (ja) 2008-10-09

Similar Documents

Publication Publication Date Title
EP3435604B1 (en) Service processing method, device, and system
US8214612B1 (en) Ensuring consistency of replicated volumes
CN101809558B (zh) 远程异步数据复制系统和方法
EP2457173B1 (en) System and method for replicating disk images in a cloud computing based virtual machine file system
US7177886B2 (en) Apparatus and method for coordinating logical data replication with highly available data replication
CN106815218B (zh) 数据库访问方法、装置和数据库系统
KR101052121B1 (ko) 리플리카 서버 수행을 개선하는 방법 및 리플리카 서버시스템
US7434093B2 (en) Dual channel restoration of data between primary and backup servers
CN113396407A (zh) 用于利用区块链技术扩充数据库应用的系统和方法
CN106776130B (zh) 一种日志恢复方法、存储装置和存储节点
US20150347250A1 (en) Database management system for providing partial re-synchronization and partial re-synchronization method of using the same
CN105095245B (zh) 基于关联型数据库的归档日志同步方法及系统
JP5548829B2 (ja) 計算機システム、データ管理方法及びデータ管理プログラム
CN103548010A (zh) 分布式存储环境中的同步复制
CN103548011A (zh) 分布式存储环境中的异步复制
US20130166505A1 (en) Monitoring replication lag between geographically dispersed sites
CN103761162A (zh) 分布式文件系统的数据备份方法
WO2021120880A1 (zh) 数据复制处理方法、装置、容灾系统、设备及存储介质
CN114218193A (zh) 数据迁移方法、装置、计算机设备和可读存储介质
CN111404737B (zh) 一种容灾处理方法以及相关装置
JP4765977B2 (ja) レプリケーションシステムおよびデータ同期確認方法
CN116303789A (zh) 多分片多副本数据库并行同步方法、装置及可读介质
CN102368268B (zh) 一种实现多元数据一致性的方法
JP2002244908A (ja) データベース同期制御方法及び該方法によるdbシステム
CN112860746A (zh) 一种基于缓存削减的方法、设备及系统

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090721

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110530

R150 Certificate of patent or registration of utility model

Ref document number: 4765977

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140624

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees