JP6282989B2 - データベースシステム及びそのマスター/スレーブ決定方法 - Google Patents

データベースシステム及びそのマスター/スレーブ決定方法 Download PDF

Info

Publication number
JP6282989B2
JP6282989B2 JP2015027414A JP2015027414A JP6282989B2 JP 6282989 B2 JP6282989 B2 JP 6282989B2 JP 2015027414 A JP2015027414 A JP 2015027414A JP 2015027414 A JP2015027414 A JP 2015027414A JP 6282989 B2 JP6282989 B2 JP 6282989B2
Authority
JP
Japan
Prior art keywords
replication
master
slave
master device
control device
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.)
Active
Application number
JP2015027414A
Other languages
English (en)
Other versions
JP2016151795A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015027414A priority Critical patent/JP6282989B2/ja
Publication of JP2016151795A publication Critical patent/JP2016151795A/ja
Application granted granted Critical
Publication of JP6282989B2 publication Critical patent/JP6282989B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、マスター装置からスレーブ装置へデータのレプリケーションを行っている途中でマスター装置に障害が発生した場合にシステム自律で新しいマスター装置を決定するデータベースシステム及びそのマスター/スレーブ決定方法に関する。
従来、複数の制御装置のうちの1台をマスター装置、それ以外の制御装置をスレーブ装置とし、マスター装置からスレーブ装置へデータのレプリケーションを行うデータベースシステムが知られている(例えば、特許文献1参照)。このようなシステムでは、マスター装置に障害が発生した場合、いずれかのスレーブ装置が新しいマスター装置になり、その他のスレーブ装置は新しいマスター装置に追随して動作するようになっている。
特開2013−25765号公報
しかしながら、従来技術によると、マスター装置内のデータ更新時のレプリケーションの途中でマスター装置に障害が発生した場合、次のような問題があった。
すなわち、マスター装置から全てのスレーブ装置へのレプリケーションが完了する前に両系障害等によってマスター装置が不在となる場合がある。このような場合、予め設定された優先順位に基づいて新しいマスター装置が決定されるため、外部端末の保有するデータとシステム内部のデータに不整合が発生する可能性がある。
また、マスター装置から全てのスレーブ装置へのレプリケーションが完了する前に片系障害等によってマスター装置を交代する場合がある。このような場合、マスター装置に最も早くマスター交代要求を届けたスレーブ装置が新しいマスター装置として決定されるため、外部端末の保有するデータとシステム内部のデータに不整合が発生する可能性がある。
本発明は、上述した従来の技術に鑑み、レプリケーションの途中でマスター装置に障害が発生した場合でも、外部端末の保有するデータと整合を図ることができるデータベースシステム及びそのマスター/スレーブ決定方法を提供することを目的とする。
上記目的を達成するため、第1の態様に係る発明は、複数の制御装置のうちの1台をマスター装置、前記マスター装置以外の制御装置をスレーブ装置とし、前記マスター装置から前記スレーブ装置へデータのレプリケーションを行うデータベースシステムであって、前記制御装置の間でレプリケーション情報を相互に交換し、前記レプリケーションを行っている途中で前記マスター装置に障害が発生した場合、最新のデータについて前記レプリケーションが完了している前記スレーブ装置を優先的に新しいマスター装置として決定し、前記制御装置は、前記レプリケーション情報を記憶する記憶部と、他の制御装置との間で前記レプリケーション情報を送受信する送受信部と、所定の条件に基づいてマスター装置を決定する決定部とを備え、前記レプリケーション情報には、前記レプリケーションの状態を示すレプリケーション状態と、前記レプリケーションの対象であるデータの新旧を示すレプリケーション識別子とが含まれ、前記マスター装置更新後から前記スレーブ装置1台目レプリケーション前に前記マスター装置に障害が発生した場合、前記マスター装置自身のレプリケーション状態を変更できていれば、系切替または再開後に前記マスター装置自身が新しいマスター装置として立ち上がり、前記スレーブ装置1台目レプリケーション後に前記マスター装置に障害が発生した場合、レプリケーションが完了している前記スレーブ装置を新しいマスター装置として選定することを要旨とする。
の態様に係る発明は、第の態様に係る発明において、前記マスター装置が不在の場合、前記制御装置間の合議により、前記レプリケーション状態が同期であり、かつ最新の前記レプリケーション識別子を保有するスレーブ装置を新しいマスター装置として決定することを要旨とする。
の態様に係る発明は、第の態様に係る発明において、前記制御装置が、他の制御装置のレプリケーション識別子と自己制御装置のレプリケーション識別子とを比較し、自己制御装置のレプリケーション識別子が最新でないと判定した場合、前記マスター装置にマスター交代要求を送信することなく、自己制御装置のレプリケーション状態を非同期に遷移させることを要旨とする。
また、上記目的を達成するため、第の態様に係る発明は、複数の制御装置のうちの1台をマスター装置、前記マスター装置以外の制御装置をスレーブ装置とし、前記マスター装置から前記スレーブ装置へデータのレプリケーションを行うデータベースシステムにおけるマスター/スレーブ決定方法であって、前記制御装置の間でレプリケーション情報を相互に交換するステップと、前記レプリケーションを行っている途中で前記マスター装置に障害が発生した場合、最新のデータについて前記レプリケーションが完了している前記スレーブ装置を優先的に新しいマスター装置として決定するステップとを備え、前記制御装置は、前記レプリケーション情報を記憶する記憶部と、他の制御装置との間で前記レプリケーション情報を送受信する送受信部と、所定の条件に基づいてマスター装置を決定する決定部とを備え、前記レプリケーション情報には、前記レプリケーションの状態を示すレプリケーション状態と、前記レプリケーションの対象であるデータの新旧を示すレプリケーション識別子とが含まれ、前記マスター装置更新後から前記スレーブ装置1台目レプリケーション前に前記マスター装置に障害が発生した場合、前記マスター装置自身のレプリケーション状態を変更できていれば、系切替または再開後に前記マスター装置自身が新しいマスター装置として立ち上がり、前記スレーブ装置1台目レプリケーション後に前記マスター装置に障害が発生した場合、レプリケーションが完了している前記スレーブ装置を新しいマスター装置として選定することを要旨とする。
本発明によれば、レプリケーションの途中でマスター装置に障害が発生した場合でも、外部端末の保有するデータと整合を図ることができるデータベースシステム及びそのマスター/スレーブ決定方法を提供することができる。
本発明の実施形態に係るデータベースシステムの全体構成図である。 本発明の実施形態に係る制御装置の構成を示すブロック図である。 本発明の実施形態に係るデータベースシステムの要求条件の説明図である。 比較例に係るデータベースシステムの動作例を示す図である。 比較例に係るデータベースシステムの動作例を示す図である。 比較例に係るデータベースシステムの課題の説明図である。 比較例に係るデータベースシステムの課題の説明図である。 本発明の実施例に係るデータベースシステムの説明図である。 本発明の実施例に係るデータベースシステムの動作例を示す図である。 本発明の実施例に係るデータベースシステムの動作例を示す図である。 本発明の実施例に係る制御装置の動作例を示すフローチャートである。
以下、本発明の実施形態について図面を参照して詳細に説明する。
(データベースシステム)
図1は、本発明の実施形態に係るデータベースシステムの全体構成図である。このデータベースシステムは、図1に示すように、マスター状態の1つの制御装置10と、スレーブ状態の少なくとも1つの制御装置10とを備えるマスター/スレーブ構成のシステムである。
以下、マスター状態の制御装置10を「マスター」や「マスター装置」と呼び、符号Mを用いて説明する。また、スレーブ状態の制御装置10を「スレーブ」や「スレーブ装置」と呼び、符号S1,S2,…を用いて説明する。各スレーブS1,S2,…を特に区別しない場合は、符号Sを用いることにする。
全ての制御装置10は、ネットワーク20を介して相互に通信可能であり、マスターMのデータベース1とスレーブSのデータベース1とを同期させるための情報を送受信する。マスターMとスレーブSとが同じデータを保有することにより、図示しない外部端末は、近い位置に配置された制御装置10にアクセスすることができる。これにより、制御装置10の負荷の分散、制御装置10と外部端末との通信時間の短縮、制御装置10の可用性(信頼性)の向上などを図ることが可能となる。マスター状態またはスレーブ状態の各制御装置10は、信頼性を高めるため、個々に2重化構成(現用系、待機系)であってもよい。
(制御装置)
図2は、本発明の実施形態に係る制御装置10の構成を示すブロック図である。この図に示すように、制御装置10は、データベース1と、記憶部2と、送受信部3と、決定部4と、監視部5とを備える。
スレーブSのデータベース1は、マスターMのデータベース1の複製である。
記憶部2は、制御装置状態情報2A、接続状態情報2B、マスター条件情報2C、レプリケーション情報2D等、各種の情報を記憶する。これらの情報2A〜2Dについては後述する。
送受信部3は、ネットワーク20を介して他の制御装置10と各種の情報を送受信する。例えば、他の全ての制御装置10に問合せ要求を送信し、各制御装置自身に関する情報を受信する。また、他の制御装置10から問合せ要求を受信すると、記憶部2に記憶されている情報を要求元の制御装置10に送信する。
決定部4は、所定の条件に基づいてマスター装置Mを決定する。例えば、自己制御装置10がスレーブSである場合は、他の全ての制御装置10から受信した情報に基づいて、自己制御装置10が新しいマスター候補であるか否かを判別し、新しいマスター候補である場合はマスターMにマスター交代要求を送信する。また、他の全ての制御装置10から受信した情報に基づいて、自己制御装置10を新しいマスターMとするか否かを判別する。一方、自己制御装置10がマスターMである場合は、複数のスレーブSからマスター交代要求を受信すると、マスター交代要求を送信したスレーブSのうちのいずれかを新しいマスターMとして決定し、その旨を通知する。
監視部5は、自己制御装置10の状態を監視し、記憶部16に記憶する。
本発明の実施形態に係る制御装置10としては、例えば、CPUと、メモリと、外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このようなコンピュータシステムにおいて、CPUがメモリ上にロードされた制御装置10用のプログラムを実行することにより、制御装置10の各機能が実現される。制御装置10用のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することもできるし、ネットワーク20を介して配信することもできる。
(適用するシステムと要求条件)
次に、図3を用いて、適用するシステムと要求条件について説明する。
本実施形態では、図3に示すように、3台以上の制御装置10が通信網環境等に配置されたデータベースシステムを想定する。このようなデータベースシステムでは、1台の制御装置10をデータの原本を保有するマスターMとし、それ以外をスレーブS1,S2とする。スレーブS1,S2は、マスターMの持つデータのコピーを保有して運用する。
データベースシステムは、外部端末30のキャッシュデータを保有し、外部端末30からのデータ参照要求に応じて、システム内部に保有するデータを提供する。また、外部端末30からのデータ更新要求に応じて、マスターMのデータ更新と、マスターMからスレーブS1,S2へのデータのコピーを非同期に行う(レプリケーション)。図3において、符号(1)は、外部端末30からのデータ更新要求を意味し、符号(2)は、スレーブS1へのレプリケーションを意味し、符号(N)は、スレーブS2へのレプリケーションを意味する。
ここで、マスターMが故障した場合、マスターM自身は冗長系への系切替またはシステム再開動作を行う。その際、スレーブS1(またはS2)をマスターMへ役割変更する。その他のスレーブS2(またはS1)は、新しいマスターMに追随して動作する。
このようなデータベースシステムの要求条件としては、(1)サービス中断時間短縮の観点より、マスターMの不在時間をできる限り極小化すること、(2)システム内データ一貫性の観点より、マスターMの唯一性を保証すること(マスターMを複数存在させないこと)、(3)データの信頼性確保の観点より、できる限りシステムは外部端末30の保有するキャッシュデータとシステム内部のデータの整合をとること、を挙げることができる。
(比較例)
次に、比較例として、従来方式に係るデータベースシステムについて説明する。従来方式に係るデータベースシステムでは、制御装置状態情報2A、接続状態情報2B、マスター条件情報2Cを制御装置10間で相互にやりとりし、その情報を元に自律動作でマスターMとスレーブSを決定する。
図4は、従来方式に係るデータベースシステムの動作例(マスター存在時)を示す図である。まず、図4(a)に示すように、スレーブSは、全ノードを監視している。例えば、図4(b)に示すように、スレーブS1は、マスターMが片系運転になっていることを検知するとともに、自身が両系運転かつデータ同期完了していることを検知したと仮定する。これにより、図4(c)に示すように、スレーブS1は、マスターMにマスター交代要求を送信する。同様に、スレーブS3も、マスターMにマスター交代要求を送信したと仮定する。このような場合、図4(d)に示すように、マスターMは、先着優先でマスター/スレーブ交代を実施する。例えば、スレーブS1からのマスター交代要求をスレーブS3からのマスター交代要求よりも先に受信した場合は、スレーブS1を新しいマスターMとして決定し、その旨をスレーブS1に通知するようになっている。
図5は、従来方式に係るデータベースシステムの動作例(マスター不在時)を示す図である。まず、図5(a)に示すように、スレーブSは、全ノードを監視している。その結果、マスターMが不在であることを検知するとともに、全ノードの存在を確認したと仮定する。このような場合、予め設定された優先順位が最も高いスレーブSがマスターMとなる。例えば、図5(b)に示すように、スレーブS1の優先順位が1位、スレーブS2の優先順位が2位、スレーブS3の優先順位が3位である場合は、図5(c)に示すように、優先順位が1位であるスレーブS1が自律動作でマスターMに昇格するようになっている。
図6は、従来方式に係るデータベースシステムの課題(マスター不在時)の説明図である。ここでは、データAを0から1に更新する旨のデータ更新要求を外部端末30から受信し、マスターMとスレーブS1についてはデータ更新が完了し、スレーブS2についてはデータ更新が完了していない状況を想定している。このような状況において、図6(a)に示すように、マスターMから全てのスレーブSへのレプリケーションが完了する前に両系障害等によってマスターMが不在となる場合がある。このような場合、従来方式によると、予め設定された優先順位に基づいて新しいマスターMが決定される。例えば、図6(b)に示すように、スレーブS2は、レプリケーション前のため実際は非同期であるにもかかわらず、優先順位が最も高いことからマスターMとして決定される。そのため、外部端末30の保有するキャッシュデータとシステム内部のデータに不整合が発生する。言い換えると、上述した要求条件(3)が満たせないこととなる。
図7は、従来方式に係るデータベースシステムの課題(マスター存在時)の説明図である。図7(a)に示すように、マスターMから全てのスレーブSへのレプリケーションが完了する前に片系障害等によってマスターMが交代する場合がある。ここでは、マスターMにマスター交代要求を届けた順番は、図中の符号(3)(4)の順番とする。このような場合、従来方式によると、マスターMに最も早くマスター交代要求を届けたスレーブSが新しいマスターMとして決定される。例えば、図7(b)に示すように、スレーブS2は、レプリケーション前のため実際は非同期であるにもかかわらず、マスターMに最も早くマスター交代要求を届けたことからマスターMとして決定される。そのため、外部端末30の保有するキャッシュデータとシステム内部のデータに不整合が発生する。言い換えると、上述した要求条件(3)が満たせないこととなる。
(実施例)
図8は、本発明の実施例に係るデータベースシステムの説明図である。このデータベースシステムでは、個々の制御装置10にレプリケーションの状態を管理する機能を備える。また、制御装置10の間で相互に交換する情報として、制御装置状態情報2A、接続状態情報2B、マスター条件情報2Cに加え、レプリケーション情報2Dを備える。これにより、以下に説明するように、マスターMの障害とレプリケーションが競合した場合でも、外部端末30とシステム間のデータの整合をとることが可能となる。
制御装置状態情報2Aは、問合せを受けた制御装置10の状態を示す情報である。問合せを受けた制御装置10の状態とは、例えば、マスターM、スレーブS、状態切り替わりの過渡状態、立ち上がり時の状態不定、等である
接続状態情報2Bは、他の制御装置10との接続状態を示す情報である。他の制御装置10との接続状態とは、例えば、問合せを受けた制御装置10が他の全ての制御装置10と通信可能であるか否か、等である。
マスター条件情報2Cは、問合せを受けた制御装置10がマスターMとなる条件を満たしているか否かを示す情報である。マスターMとなる条件を満たしているか否かとは、例えば、両系動作であるか否か、メモリ・CPU状態は良好であるか否か、等である。
レプリケーション情報2Dは、レプリケーションに関する情報である。レプリケーション情報2Dには、各制御装置10のレプリケーション状態とレプリケーション識別子とが含まれる。レプリケーション状態とは、例えば「同期」「非同期」「同期しかかり中」等、レプリケーションの状態を示す情報である。レプリケーション識別子とは、レプリケーションの対象であるデータの新旧を示す情報であり、例えば「0001」「002」「0003」等、レプリケーション毎にユニークな番号である。データが更新されたタイミングで、その制御装置10についてのレプリケーション識別子も更新されるようになっている。
マスターMは、各スレーブSへのレプリケーション情報を保有し、各スレーブSは、マスターMとの同期状態を保有する。図8中の符号Tは、各スレーブSへのレプリケーション情報を管理するための管理テーブルを示している。このような管理テーブルTの構成としては、各スレーブS1,S2,…毎に、レプリケーション状態とレプリケーション識別子とを対応付けた構成を採用することができる。
図9は、本発明の実施例に係るデータベースシステムの動作例(マスター不在時)を示す図である。このデータベースシステムでは、マスター不在となった場合、予め設定された優先順位よりもレプリケーション状態が優先されるようになっている。
例えば、図9(a)に示すように、マスターMから全てのスレーブSへのレプリケーションが完了する前に両系障害等によってマスターMが不在となったと仮定する。このように、マスターMがスレーブSを決定できずに不在となった場合、各スレーブSは、レプリケーション状態が同期であり、かつ最新のレプリケーション識別子を保有する制御装置10を合議により判定する。この合議の結果、図9(b)に示すように、予め設定された優先順位よりもレプリケーション状態が優先され、スレーブS1がマスターMとして決定される。これにより、マスターMの障害とレプリケーションが競合した場合でも、外部端末30とシステム間のデータの整合をとることが可能となる。
図10は、本発明の実施例に係るデータベースシステムの動作例(マスター存在時)を示す図である。このデータベースシステムでは、マスター交代する場合、予め設定された優先順位よりもレプリケーション状態を優先するようになっている。
例えば、図10(a)に示すように、マスターMから全てのスレーブSへのレプリケーションが完了する前に片系障害等によってマスターMを交代することになったと仮定する。このように、マスターMがスレーブSを決定できる場合、マスターMは、マスター交代要求を受信すると、レプリケーション状態が同期であり、かつ自身が保持するレプリケーション識別子と同一のレプリケーション識別子を保持する制御装置10をマスターMに選定する。この結果、図10(b)に示すように、予め設定された優先順位よりもレプリケーション状態が優先され、スレーブS1がマスターMとして決定される。これにより、マスターMの障害とレプリケーションが競合した場合でも、外部端末30とシステム間のデータの整合をとることが可能となる。
なお、スレーブSは、レプリケーション情報2Dを取得した時、他の制御装置10のレプリケーション識別子と自己制御装置10のレプリケーション識別子とを比較し、自己制御装置10のレプリケーション識別子が最新でないと判定した場合、マスターMにマスター交代要求を送信することなく、自己制御装置10のレプリケーション状態を非同期に遷移させてもよい。例えば、スレーブS2は、スレーブS1のレプリケーション識別子「0002」と自己のレプリケーション識別子「0001」とを比較し、自己のレプリケーション識別子「0001」が最新でないと判定すると、マスターMにマスター交代要求を送信することなく、自己のレプリケーション状態を非同期に遷移させる。これにより、マスターMに不要なマスター交代要求が送信されないため、マスターM側において新しいマスターMを選定する処理が軽減される。
このように、本発明の実施例に係るデータベースシステムによれば、レプリケーションのどのようなタイミングでマスター障害が発生した場合でも不整合を発生させない。すなわち、マスター更新後〜スレーブ1台目レプリケーション前にマスター障害が発生した場合、マスターM自身のレプリケーション状態を変更できていれば、系切替または再開後に自身がマスターMで立ち上がることで不整合を発生させない。また、スレーブ1台目レプリケーション後〜スレーブN台目レプリケーション前にマスター障害が発生した場合、レプリケーション状態が判明しているため、レプリケーションが完了しているスレーブSを確実に選定することができる。更に、スレーブN台目レプリケーション後にマスター障害が発生した場合、レプリケーションが完了しているスレーブSにマスター交代することができる。
図11は、本発明の実施例に係る制御装置10の動作例を示すフローチャートである。
まず、制御装置10は、他の全ての制御装置10へ制御装置状態情報2A、接続状態情報2B、マスター条件情報2C、レプリケーション情報2Dをリクエストする(S1)。これにより、他の全ての制御装置10から制御装置状態情報2A、接続状態情報2B、マスター条件情報2C、レプリケーション情報2Dを受信すると、制御装置状態情報2Aに基づいてマスター存在の有無を判定する(S2)。
ステップS2において、マスターMが存在しない、かつマスター状態への切り替わりの過渡状態が存在しないと判定した場合、接続状態情報2Bに基づいて全ての制御装置10と相互に通信可能か否かを判定する(S3)。一方、ステップS2において、マスターMが1つ存在する、かつマスター状態への切り替わりの過渡状態が存在しないと判定した場合、ステップS7に移行する。
ステップS3において、通信可能であると判定した場合、レプリケーション情報2Dに基づいて自己制御装置10のレプリケーション状態が同期、かつレプリケーション識別子が最新であるか否かを判定する(S4)。一方、ステップS3において、通信不可であると判定した場合、処理を終了する。
ステップS4において、レプリケーション状態が同期、かつレプリケーション識別子が最新であると判定した場合、自己制御装置10の重み(優先順位)が最大か否かを判定する(S5)。一方、ステップS4において、レプリケーション状態が非同期、または同期であるがレプリケーション識別子が最新でないと判定した場合、処理を終了する。
ステップS5において、自己制御装置10の重みが最大であると判定した場合、自己制御装置10をマスターMと決定し(S6)、処理を終了する。
ステップS7では、マスター条件情報2Cに基づいて現マスターMのマスター条件を判定する。ステップS7において、現マスターMのマスター条件を満たさないと判定した場合、新しいマスターMを選定するため、マスター条件情報2Cに基づいて自己制御装置10のマスター条件を判定する(S8)。一方、ステップ7において、現マスターMのマスター条件を満たすと判定した場合、マスターMを変更する必要がないため、処理を終了する。
ステップS8において、自己制御装置10のマスター条件を満たすと判定した場合、レプリケーション情報2Dに基づいて自己制御装置10のレプリケーション状態が同期、かつレプリケーション識別子が最新であるか否かを判定する(S9)。一方、ステップ8において、自己制御装置10のマスター条件を満たさないと判定した場合、処理を終了する。
ステップS9において、自己制御装置10のレプリケーション状態が同期、かつレプリケーション識別子が最新であると判定した場合、自己制御装置10から現マスターMの制御装置10へマスター交代要求を送信し(S10)、現マスターMからのマスター交代要求に対する新しいマスターMの指定とリプライを受信する(S11)。一方、ステップ9において、自己制御装置10のレプリケーション状態が非同期、または同期であるがレプリケーション識別子が最新でないと判定した場合、処理を終了する。
ステップS11において、現マスターMは、レプリケーション状態が同期、かつレプリケーション識別子が最新であると判定した場合、マスター交代要求を了解する。マスター交代要求を了解された制御装置10は、自己制御装置10をマスターMと決定し(S6)、処理を終了する。一方、ステップS11において、現マスターMは、レプリケーション状態が非同期、または同期であるがレプリケーション識別子が最新でないと判定した場合、マスター交代要求を拒否する。マスター交代要求を拒否された制御装置10は、処理を終了する。
以上のように、本発明の実施形態に係るデータベースシステムは、複数の制御装置10のうちの1台をマスター装置M、マスター装置M以外の制御装置10をスレーブ装置Sとし、マスター装置Mからスレーブ装置Sへデータのレプリケーションを行うデータベースシステムであって、制御装置10の間でレプリケーション情報2Dを相互に交換し、レプリケーションを行っている途中でマスター装置Mに障害が発生した場合、最新のデータについてレプリケーションが完了しているスレーブ装置Sを優先的に新しいマスター装置Mとして決定する。これにより、レプリケーションの途中でマスター装置Mに障害が発生した場合でも、外部端末30の保有するデータと整合を図ることが可能となる。
具体的には、制御装置10は、レプリケーション情報を記憶する記憶部2と、他の制御装置10との間でレプリケーション情報2Dを送受信する送受信部3と、所定の条件に基づいてマスター装置Mを決定する決定部4とを備え、レプリケーション情報2Dには、レプリケーションの状態を示すレプリケーション状態と、レプリケーションの対象であるデータの新旧を示すレプリケーション識別子とが含まれてもよい。これにより、レプリケーション状態が同期、かつレプリケーション識別子が最新であるか否かを判定することが可能である。
また、マスター装置Mが不在の場合、制御装置10間の合議により、レプリケーション状態が同期であり、かつ最新のレプリケーション識別子を保有するスレーブ装置Sを新しいマスター装置Mとして決定してもよい。これにより、両系障害等によってマスター装置Mが不在となった場合でも、外部端末30の保有するデータと整合を図ることが可能である。
また、制御装置10は、他の制御装置10のレプリケーション識別子と自己制御装置10のレプリケーション識別子とを比較し、自己制御装置10のレプリケーション識別子が最新でないと判定した場合、マスター装置Mにマスター交代要求を送信することなく、自己制御装置10のレプリケーション状態を非同期に遷移させてもよい。これにより、マスター装置Mに不要なマスター交代要求が送信されないため、マスター装置M側において新しいマスター装置Mを選定する処理が軽減される。
なお、本発明は、このようなデータベースシステムとして実現することができるだけでなく、このようなデータベースシステムが備える特徴的な処理部をステップとするマスター/スレーブ決定方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
1…データベース
2…記憶部
2A…制御装置状態情報
2B…接続状態情報
2C…マスター条件情報
2D…レプリケーション情報
3…送受信部
4…決定部
5…監視部
10…制御装置
30…外部端末
M…マスター装置(マスター)
S,S1,S2…スレーブ装置(スレーブ)

Claims (4)

  1. 複数の制御装置のうちの1台をマスター装置、前記マスター装置以外の制御装置をスレーブ装置とし、前記マスター装置から前記スレーブ装置へデータのレプリケーションを行うデータベースシステムであって、
    前記制御装置の間でレプリケーション情報を相互に交換し、前記レプリケーションを行っている途中で前記マスター装置に障害が発生した場合、最新のデータについて前記レプリケーションが完了している前記スレーブ装置を優先的に新しいマスター装置として決定し、
    前記制御装置は、
    前記レプリケーション情報を記憶する記憶部と、
    他の制御装置との間で前記レプリケーション情報を送受信する送受信部と、
    所定の条件に基づいてマスター装置を決定する決定部と
    を備え、
    前記レプリケーション情報には、前記レプリケーションの状態を示すレプリケーション状態と、前記レプリケーションの対象であるデータの新旧を示すレプリケーション識別子とが含まれ、
    前記マスター装置更新後から前記スレーブ装置1台目レプリケーション前に前記マスター装置に障害が発生した場合、前記マスター装置自身のレプリケーション状態を変更できていれば、系切替または再開後に前記マスター装置自身が新しいマスター装置として立ち上がり、前記スレーブ装置1台目レプリケーション後に前記マスター装置に障害が発生した場合、レプリケーションが完了している前記スレーブ装置を新しいマスター装置として選定する
    ことを特徴とするデータベースシステム。
  2. 前記マスター装置が不在の場合、前記制御装置間の合議により、前記レプリケーション状態が同期であり、かつ最新の前記レプリケーション識別子を保有するスレーブ装置を新しいマスター装置として決定することを特徴とする請求項に記載のデータベースシステム。
  3. 前記制御装置は、他の制御装置のレプリケーション識別子と自己制御装置のレプリケーション識別子とを比較し、自己制御装置のレプリケーション識別子が最新でないと判定した場合、前記マスター装置にマスター交代要求を送信することなく、自己制御装置のレプリケーション状態を非同期に遷移させることを特徴とする請求項に記載のデータベースシステム。
  4. 複数の制御装置のうちの1台をマスター装置、前記マスター装置以外の制御装置をスレーブ装置とし、前記マスター装置から前記スレーブ装置へデータのレプリケーションを行うデータベースシステムにおけるマスター/スレーブ決定方法であって、
    前記制御装置の間でレプリケーション情報を相互に交換するステップと、
    前記レプリケーションを行っている途中で前記マスター装置に障害が発生した場合、最新のデータについて前記レプリケーションが完了している前記スレーブ装置を優先的に新しいマスター装置として決定するステップと
    を備え
    前記制御装置は、
    前記レプリケーション情報を記憶する記憶部と、
    他の制御装置との間で前記レプリケーション情報を送受信する送受信部と、
    所定の条件に基づいてマスター装置を決定する決定部と
    を備え、
    前記レプリケーション情報には、前記レプリケーションの状態を示すレプリケーション状態と、前記レプリケーションの対象であるデータの新旧を示すレプリケーション識別子とが含まれ、
    前記マスター装置更新後から前記スレーブ装置1台目レプリケーション前に前記マスター装置に障害が発生した場合、前記マスター装置自身のレプリケーション状態を変更できていれば、系切替または再開後に前記マスター装置自身が新しいマスター装置として立ち上がり、前記スレーブ装置1台目レプリケーション後に前記マスター装置に障害が発生した場合、レプリケーションが完了している前記スレーブ装置を新しいマスター装置として選定する
    ことを特徴とするマスター/スレーブ決定方法。
JP2015027414A 2015-02-16 2015-02-16 データベースシステム及びそのマスター/スレーブ決定方法 Active JP6282989B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015027414A JP6282989B2 (ja) 2015-02-16 2015-02-16 データベースシステム及びそのマスター/スレーブ決定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015027414A JP6282989B2 (ja) 2015-02-16 2015-02-16 データベースシステム及びそのマスター/スレーブ決定方法

Publications (2)

Publication Number Publication Date
JP2016151795A JP2016151795A (ja) 2016-08-22
JP6282989B2 true JP6282989B2 (ja) 2018-02-21

Family

ID=56696597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015027414A Active JP6282989B2 (ja) 2015-02-16 2015-02-16 データベースシステム及びそのマスター/スレーブ決定方法

Country Status (1)

Country Link
JP (1) JP6282989B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018510A (ja) * 2003-06-27 2005-01-20 Hitachi Ltd データセンタシステム及びその制御方法
US7111139B2 (en) * 2004-03-02 2006-09-19 Hitachi, Ltd. Data synchronization of multiple remote storage
JP5395517B2 (ja) * 2009-05-29 2014-01-22 日本電信電話株式会社 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム
JP5900094B2 (ja) * 2012-03-28 2016-04-06 日本電気株式会社 データ整合システム、データ整合方法およびデータ整合プログラム

Also Published As

Publication number Publication date
JP2016151795A (ja) 2016-08-22

Similar Documents

Publication Publication Date Title
JP5819996B2 (ja) 印刷システム、クラスタ環境における印刷制御方法および印刷制御用プログラム
CN111368002A (zh) 一种数据处理方法、系统、计算机设备和存储介质
CN107153660B (zh) 分布式数据库系统的故障检测处理方法及其系统
JP6511739B2 (ja) 冗長システムおよび冗長化方法
JP5613119B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
JP6282989B2 (ja) データベースシステム及びそのマスター/スレーブ決定方法
JP4806382B2 (ja) 冗長化システム
JP2015130038A (ja) 印刷システム、プリントサーバおよび印刷ジョブの投入方法
JP5867902B2 (ja) データベースの非同期レプリケーション方式
JP4645435B2 (ja) 情報処理装置、通信負荷分散方法及び通信負荷分散プログラム
JP4579850B2 (ja) ブレード型システムおよびコネクション管理方法
US20220327033A1 (en) Distributed consensus method, distributed system and distributed consensus program
JP6555353B2 (ja) クラスタシステム、情報処理装置、クラスタシステムの同期方法、及びプログラム
JP5956940B2 (ja) 冗長化システムおよび現用機決定方法
JP6040180B2 (ja) マスター/スレーブシステム、制御装置、マスター/スレーブ切替方法、および、マスター/スレーブ切替プログラム
WO2013084305A1 (ja) 仮想化多重系構成制御方法及び計算機システム
JP6289214B2 (ja) 情報処理システム及びその方法
US9019964B2 (en) Methods and systems for routing application traffic
JP2016051256A (ja) Dbシステム及びデータ要求信号のプロキシ方法
JP3989447B2 (ja) 通信切替方法およびデータ通信装置
JP6733417B2 (ja) 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
JP2009128987A (ja) 計算機管理システム、計算機管理方法および計算機管理制御プログラム
JP5431551B1 (ja) イベント配送装置、イベント配送システム、イベント配送方法およびイベント配送プログラム
CN116367202A (zh) 一种集群仲裁方法、网络设备及系统
JP5153310B2 (ja) フォールトトレラントコンピュータシステム、並びに再同期稼働化処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180125

R150 Certificate of patent or registration of utility model

Ref document number: 6282989

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150