特許第6251965号(P6251965)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気株式会社の特許一覧

特許6251965情報システムおよびデータベース復旧方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6251965
(24)【登録日】2017年12月8日
(45)【発行日】2017年12月27日
(54)【発明の名称】情報システムおよびデータベース復旧方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20171218BHJP
   G06F 11/14 20060101ALI20171218BHJP
【FI】
   G06F12/00 531D
   G06F11/14 666
【請求項の数】4
【全頁数】17
(21)【出願番号】特願2013-41505(P2013-41505)
(22)【出願日】2013年3月4日
(65)【公開番号】特開2014-170352(P2014-170352A)
(43)【公開日】2014年9月18日
【審査請求日】2016年2月3日
【前置審査】
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】中西 祥人
【審査官】 田中 幸雄
(56)【参考文献】
【文献】 特開2009−157785(JP,A)
【文献】 特開2000−99383(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
G06F 11/14
(57)【特許請求の範囲】
【請求項1】
第1システムと、第2システムと、を有する情報システムであって、
前記第1システムは、
マスターデータベースと、
前記マスターデータベースのレプリカを構成する第1レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列が格納される第1更新ログ管理表と、
前記第1レプリカデータベースに反映した前記更新ログの通番が格納される第1処理済通番管理表と、
前記第1処理済通番管理表と前記第1更新ログ管理表との比較に基づいて、前記第1レプリカデータベースに未反映の前記更新ログを取得して反映させる第1更新ログ反映手段と、
前記第1処理済通番管理表と前記第1更新ログ管理表との比較に基づいて、反映済みの更新ログおよび前記更新ログの通番を前記第2システムに送信する更新ログ送信手段と、
を備え、
前記第2システムは、
前記マスターデータベースのレプリカを構成する第2レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列が格納される第2更新ログ管理表と、
前記第2レプリカデータベースに反映した前記更新ログの通番が格納される第2処理済通番管理表と、
前記反映済み更新ログおよび前記更新ログの通番を前記第1システムから受信し、前記反映済みの更新ログおよび前記更新ログの通番を、前記第2更新ログ管理表に更新する更新ログ受信手段と、
前記第2レプリカデータベースの異常時に前記マスターデータベースへの更新を停止させずに前記第1レプリカデータベースの更新を停止して全データを取得し、取得した全データを用いて前記第2レプリカデータベースを再構築する再構築手段と、
前記第2処理済通番管理表と前記第2更新ログ管理表との比較に基づいて、前記第2レプリカデータベースに未反映の前記更新ログを取得して反映させる第2更新ログ反映手段と、
を有する、情報処理システム。
【請求項2】
前記第1処理済通番管理表の管理する通番よりも前の発生順序を示す通番と関連付けられたデータ列を前記第1更新ログ管理表から削除する第1更新ログ削除手段を有する、請求項1に記載の情報処理システム。
【請求項3】
前記第2処理済通番管理表の管理する通番よりも前の発生順序を示す通番と関連付けられたデータ列を前記第2更新ログ管理表から削除する第2更新ログ削除手段を有する、請求項1または請求項2に記載の情報処理システム。
【請求項4】
マスターデータベースと、前記マスターデータベースのレプリカを構成する第1レプリカデータベースと、を有する第1システムと、前記マスターデータベースのレプリカを構成する第2レプリカデータベースを有する第2システムと、を備える情報システムにおけるデータベース復旧方法であって、
前記第1システムは、前記マスターデータベースに適応されたトランザクションを示す更新ログと当該更新ログの発生順序を示す通番とを関連付けたデータ列が格納される第1更新ログ管理表と、前記第1レプリカデータベースに反映した前記更新ログの通番が格納される第1処理済通番管理表と、を備え、
前記第2システムは、前記マスターデータベースに適応されたトランザクションを示す更新ログと当該更新ログの発生順序を示す通番とを関連付けたデータ列が格納される第2更新ログ管理表と、前記第2レプリカデータベースに反映した前記更新ログの通番が格納される第2処理済通番管理表と、を備え、
前記第1システムは前記マスターデータベースの更新中に前記第1レプリカデータベースの処理を中断し、
前記第2システムはその中断した第1レプリカデータベースのデータを前記第1システムから取得し、
前記第2システムは前記取得したデータを基に第2レプリカデータベースを再構築し、
前記第1システムは、前記第1処理済通番管理表と前記第1更新ログ管理表との比較に基づいて、反映済みの更新ログおよび前記更新ログの通番を前記第2システムに送信し、
前記第2システムは、前記反映済み更新ログおよび前記更新ログの通番を前記第1システムから受信し、前記反映済みの更新ログおよび前記更新ログの通番を、前記第2更新ログ管理表に更新し、
前記第1システムは、前記第1処理済通番管理表と前記第1更新ログ管理表との比較に基づいて、前記第1レプリカデータベースに未反映の前記更新ログを取得して反映させ、
前記第2システムは、前記第2処理済通番管理表と前記第2更新ログ管理表との比較に基づいて、前記第2レプリカデータベースに未反映の前記更新ログを取得して反映させる、
データベース復旧方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報システムおよびデータベース復旧方法に関し、特にレプリケーション機能を有する情報システムおよびデータベース復旧方法に関する。
【背景技術】
【0002】
各種システム内のデータベースは多重化されることが一般的である。フロントシステムのマスターデータベースを基にバックアップシステムのレプリカデータベースにレプリケーションを行う方法として、フロントシステムのマスターデータベースを更新した際の更新ログをバックアップシステムに非同期で転送し、この更新ログを用いた同様の更新処理をバックアップシステムにおいて実行する方式が挙げられる。このような非同期レプリケーションを行う場合、同期方式でレプリケーションを行う場合に比べてフロントシステムの処理に与える影響を軽減できる。これによりレプリケーション処理によるフロントシステム処理のスループット低下という問題を軽減することができる。
【0003】
非同期レプリケーションを行う場合、レプリケーションの開始直前にマスターデータベースとレプリカデータベースのデータ状態を一致させる必要がある。そのため、レプリカデータベースの障害が生じた場合等にレプリケーションを再開するためには、(1)マスターベータベースの全データの取得、(2)取得した全データを用いたレプリカデータベースの再構築、といった処理が必要となる。例えば特許文献1には、当該手法の一態様が開示されている。しかしながら特許文献1の手法では、マスターデータベースに対して常時更新が生じるような場合(例えばオンライントランザクション処理システムにおいてマスターデータベースが使用される場合)、マスターデータベースから整合性の保たれた状態で全データを取得するために、マスターデータベースへの更新を停止する必要がある。このため、マスターベータベースの可用性が低下してしまっていた。
【0004】
そこで、マスターデータベースへの更新を停止させずにマスターデータベースから全データを取得してレプリカデータベースを復旧する方法が提案されている。本方式では、マスターデータベースを無停止のまま全データを取得するため、取得したデータは整合性を保っていない状態となる。そのため本方式では、取得したデータを基にレプリカデータベースを復旧し、マスターベータベースからのデータ取得時に生じた更新内容を解析し、更新内容をレプリカデータベースに反映させる必要がある。
【0005】
これに対し、例えば特許文献2では、マスターデータベースからのデータ取得中に生じたデータ更新ジャーナルを用いてレプリカデータベースの整合性を保つ手法が開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−257416号公報
【特許文献2】特開2008−250717号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献2に記載の手法では、トランザクション単位でレプリカデータベースの各レコードの整合性を保った状態に復旧することが可能となる。しかし特許文献2の手法では、マスターデータベースから取得した全データをレプリカデータベースに入力した後に、マスターデータベースからのデータ取得中に生じた各トランザクションをレプリカデータベースに反映させるか否かの判断を行う必要がある。このようにマスターベータベースを停止させずにレプリカデータベースを復旧する場合、マスターデータベースの解析等が必要となり、レプリカデータベースの復旧に時間を要するという問題が生じていた。
【0008】
本発明は上記の問題に鑑みてなされたものであり、マスターデータベースの可用性を損なうことなくレプリカデータベースの復旧を素早く行うことができる情報システムを提供することを主たる目的とする。
【課題を解決するための手段】
【0009】
本発明にかかる情報システムの一態様は、
第1システムと、第2システムと、を有する情報システムであって、
前記第1システムは、
マスターデータベースと、
前記マスターデータベースのレプリカを構成する第1レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する第1更新ログ管理表と、
前記第1レプリカデータベースに反映した前記更新ログの通番を管理する第1処理済管理表と、
前記第1処理済管理表と前記第1更新ログ管理表との比較に基づいて、前記第1レプリカデータベースに未反映の前記更新ログを取得して反映させる第1更新ログ反映手段と、
を備え、
前記第2システムは、
前記マスターデータベースのレプリカを構成する第2レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する第2更新ログ管理表と、
前記第2レプリカデータベースに反映した前記更新ログの通番を管理する第2処理済管理表と、
前記第2レプリカデータベースの異常時に前記マスターデータベースへの更新を停止させずに前記第1レプリカデータベースを停止して全データを取得し、取得した全データを用いて前記第2レプリカデータベースを再構築する再構築手段と、
前記第2処理済管理表と前記更新ログ管理表との比較に基づいて、前記第2レプリカデータベースに未反映の前記更新ログを取得して反映させる第2更新ログ反映手段と、
を有する、ものである。
【0010】
本発明にかかる情報システムの一態様は、
マスターデータベースと、
前記マスターデータベースのレプリカを構成する第1及び第2レプリカデータベースと、
前記マスターデータベースに適応されたトランザクションを示す更新ログと、当該更新ログの発生順序を示す通番と、を関連付けたデータ列を管理する更新ログ管理表と、
前記第1レプリカデータベースに反映した前記更新ログの通番を管理する第1処理済管理表と、
前記第2レプリカデータベースに反映した前記更新ログの通番を管理する第2処理済管理表と、
前記第2レプリカデータベースの異常時に前記マスターデータベースへの更新を停止させずに前記第1レプリカデータベースを停止して全データを取得し、取得した全データを用いて前記第2レプリカデータベースを再構築する再構築手段と、
前記第1処理済管理表と前記第1更新ログ管理表との比較に基づいて、前記第1レプリカデータベースに未反映の前記更新ログを取得して反映させる第1更新ログ反映手段と、
前記第2処理済管理表と前記更新ログ管理表との比較に基づいて、前記第2レプリカデータベースに未反映の前記更新ログを取得して反映させる第2更新ログ反映手段と、
を有する、情報処理システム。
【0011】
本発明にかかるデータベース復旧方法の一態様は、
マスターデータベース、第1レプリカデータベース、第2レプリカデータベースを備える情報システムにおけるデータベース復旧方法であって、
前記マスターデータベースの更新中に前記第1レプリカデータベースの処理を中断し、その中断した第1レプリカデータベースのデータを基に第2レプリカデータベースを再構築し、
更新ログ管理表により前記マスターデータベースに適用された更新ログを取得しておき、未反映の更新ログを前記第1レプリカデータベース及び前記第2レプリカデータベースに反映する、ものである。
【発明の効果】
【0012】
本発明では、マスターデータベースの可用性を損なうことなくレプリカデータベースの復旧を素早く行うことができる情報システムを提供することができる。
【図面の簡単な説明】
【0013】
図1】実施の形態1にかかる情報システムの構成を示すブロック図である。
図2】実施の形態1にかかる処理済通番管理表107の構成例を示す概念図である。
図3】実施の形態1にかかる処理済通番管理表205の構成例を示す概念図である。
図4】実施の形態1にかかるレプリカデータベース201の復旧手順を示すフローチャートである。
図5】実施の形態1にかかる処理済通番管理表107及び処理済通番管理表205のデータ列の変化を示す概念図である。
図6-1】実施の形態2にかかる情報システムの構成を示すブロック図である。
図6-2】実施の形態2にかかる情報システムの構成を示すブロック図である。
図7】実施の形態2にかかるレプリカデータベース201の復旧手順を示すフローチャートである。
図8-1】実施の形態2にかかる処理済通番管理表のデータ遷移を示す図である。
図8-2】実施の形態2にかかる処理済通番管理表のデータ遷移を示す図である。
図8-3】実施の形態2にかかる処理済通番管理表のデータ遷移を示す図である。
図8-4】実施の形態2にかかる処理済通番管理表のデータ遷移を示す図である。
図9】本発明にかかる情報システムの構成を示すブロック図である。
【発明を実施するための形態】
【0014】
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。図1は、本実施の形態にかかる情報システムの構成を示すブロック図である。当該情報システムは、フロントシステム1とバックアップシステム2を含む。フロントシステム1及びバックアップシステム2は、例えば一般的なITシステムにおけるサーバ装置である。フロントシステム1とバックアップシステム2は、インターネットを通じて相互に通信可能に構成されている。
【0015】
フロントシステム1(第1システム)は、マスターデータベース101、レプリカデータベース102、更新ログ格納手段103、更新ログ管理表104、更新ログ反映手段105、更新ログ送信手段106、処理済通番管理表107、更新ログ削除手段108、及び更新ログ処理制御手段109を有する。
【0016】
バックアップシステム2(第2システム)は、レプリカデータベース201、更新ログ受信手段202、更新ログ管理表203、更新ログ反映手段204、処理済通番管理表205、更新ログ削除手段206、更新ログ処理制御手段207、及び再構築手段208を有する。
【0017】
はじめにフロントシステム1内の各処理部について説明する。マスターデータベース101は、レプリカデータベース102及びレプリカデータベース201のレプリケーション元となるデータベースである。マスターデータベース101は、一般的なアプリケーションソフトウェアからデータ入力、更新等が行われるデータベースである。
【0018】
レプリカデータベース102は、マスターデータベース101からコピーしたデータが格納されるデータベースである。
【0019】
更新ログ格納手段103は、任意のアプリケーションがマスターデータベース101を更新した場合に、その更新ログを更新ログ管理表104に格納する。すなわち更新ログ格納手段103は、各種アプリケーションの一機能として実現される。更新ログ格納手段103は、更新ログ管理表104に更新ログを格納すると同時に更新ログの発生順序を示す通番を関連付けて格納する。
【0020】
更新ログ管理表104は、マスターデータベース101に対して行われたデータベーストランザクションを把握可能な更新ログと、更新ログの発生順序を示す通番と、が関連付けられたデータ列を格納するテーブルである。なお更新ログ管理表104は、フロントシステム1のハードディスク上等に設けられ、そのデータ容量が限られている場合や一定データ量以下に抑えられた方がよい場合が一般的である。そのため、後述する更新ログ削除手段108は、不要となった更新ログ管理表104内のデータ列を削除する。
【0021】
処理済通番管理表107は、各処理手段の処理済みとなった処理の情報を通番形式で保持するテーブルである。図2は、処理済通番管理表107の構成例を示す概念図である。当該テーブルには、更新ログ反映手段105が最後に終了した処理済通番と、更新ログ送信手段106が最後に終了した処理済通番と、が格納されている。
【0022】
更新ログ反映手段105は、一定時間毎に更新ログ管理表104及び処理済通番管理表107を参照する。更新ログ反映手段105は、更新ログ管理表104に格納されている最新の通番と、処理済通番管理表107における更新ログ反映手段105に関する処理済通番と、が等しいかを判定する。等しくない場合、更新ログ反映手段105は更新ログ管理表104からレプリカデータベース102に未反映の更新ログと当該更新ログと関連付けられた通番を取得する。そして更新ログ反映手段105は、取得した更新ログを用いてレプリカデータベース102を更新する。更新ログ反映手段105は、当該更新が完了した後に当該更新にかかる更新ログの通番を用いて処理済通番管理表107内の処理済通番を更新する。
【0023】
更新ログ送信手段106は、一定時間毎に更新ログ管理表104及び処理済通番管理表107を参照する。更新ログ送信手段106は、更新ログ管理表104に格納されている最新の通番と、処理済通番管理表107における更新ログ送信手段106に関する処理済通番と、が等しいかを判定する。等しくない場合、更新ログ送信手段106は更新ログ管理表104からバックアップシステム2に未送信の更新ログを取得する。そして更新ログ送信手段106は、未送信の更新ログ及びその通番情報をバックアップシステム2に送信する。更新ログ送信手段106は、当該送信が完了した後に、処理済通番管理表107内の処理済通番を更新する。
【0024】
更新ログ反映手段105及び更新ログ送信手段106は、マスターデータベース101を更新する各種アプリケーションとは非同期に動作を行う。そのため各種アプリケーションがデータベースのレプリケーションのために行う操作は、更新ログ格納手段103による更新ログ管理表104へのデータ格納のみとなる。
【0025】
更新ログ削除手段108は、定期的に処理済通番管理表107を参照し、削除可能な更新ログを判定する。当該判定は、例えば更新ログ管理表104内に格納された全てのデータ列において、処理済通番管理表107において記述された処理済通番よりも小さな通番と関連付けられたデータ列を削除可能と判断する。例えば処理済通番管理表107が図2の状態である場合、更新ログ削除手段108は、更新ログ管理表104内の通番8以下のデータ列が削除可能であると判定する。
【0026】
更新ログ処理制御手段109は、更新ログ反映手段105及び更新ログ送信手段106の処理の開始/停止を制御する。さらに更新ログ処理制御手段109は、処理済通番管理表107に対してデータ列を追加/削除する。
【0027】
続いてバックアップシステム2内の各構成について説明する。処理済通番管理表2055は、図2に示す処理済通番管理表107と同様のテーブルであり、例えば図3に示す構成のテーブルである。処理済通番管理表205は、更新ログ受信手段202の処理済通番と、更新ログ反映手段204の処理済通番と、を管理する。
【0028】
更新ログ受信手段202は、フロントシステム1の更新ログ送信手段106から送信された更新ログ及び通番情報を受信し、受信した更新ログ及び通番情報を更新ログ管理表203に格納する。また更新ログ受信手段202は、更新ログ管理表203の更新後に処理済通番管理表205の更新(更新ログ受信手段202にかかるデータ列の通番の更新)を行う。
【0029】
更新ログ管理表203は、更新ログ管理表104と同等のデータ列を保持するテーブルである。すなわち更新ログ管理表203は、更新ログと通番を関連付けたデータ列を複数保持する。
【0030】
更新ログ反映手段204は、更新ログ反映手段105と略同一の処理を行うものである。すなわち更新ログ反映手段204は、一定時間毎に更新ログ管理表203及び処理済通番管理表205を参照し、更新ログ管理表203からレプリカデータベース201に未反映の更新ログを取得し、取得した更新ログをレプリカデータベース201に反映する。更新ログ反映手段204は、当該更新が完了した後に、当該更新にかかる更新ログの通番を用いて処理済通番管理表205内の処理済通番を更新する。
【0031】
更新ログ削除手段206は、更新ログ削除手段108と略同一の処理を行うものである。すなわち更新ログ削除手段206は、定期的に処理済通番管理表205を参照し、更新ログ管理表203から削除可能な更新ログを判定し、削除可能な更新ログを更新ログ管理表203から削除する。
【0032】
更新ログ処理制御手段207は、更新ログ処理制御手段109と略同一の処理を行うものである。すなわち更新ログ処理制御手段207は、更新ログ受信手段202及び更新ログ反映手段204の処理の開始/終了を制御する。さらに更新ログ処理制御手段207は、処理済通番管理表205に対してデータ列を追加/削除する。
【0033】
再構築手段208は、レプリカデータベース201の再構築時に、レプリカデータベース102から全データを取得し、取得した全データを初期化状態のレプリカデータベース201に挿入することにより再構築する。
【0034】
続いて、本実施の形態にかかる情報システムにおいてバックアップシステム2内のレプリカデータベース201を復旧する具体的な処理について説明する。はじめにレプリカデータベース201に障害が発生した場合における非同期レプリケーションの停止動作について説明する。
【0035】
レプリカデータベース201に障害が発生した場合、更新ログ処理制御手段109は、レプリカデータベース201へのレプリケーションを停止するために更新ログ送信手段106の動作を停止する。そして更新ログ処理制御手段109は、処理済通番管理表107に格納されている更新ログ送信手段106に関するデータ列を削除する。
【0036】
なお更新ログ格納表104に格納された更新ログは、更新ログ反映手段105によってレプリカデータベース102に反映された後に更新ログ削除手段108による削除対象となる。
【0037】
バックアップシステム2において、更新ログ処理制御手段207は、更新ログ反映手段204及び更新ログ受信手段202の動作を停止する。更新ログ処理制御手段207は、処理済通番管理表205から更新ログ反映手段204及び更新ログ受信手段202に関するデータ列を削除する。これにより更新ログ管理表203に格納された更新ログは、更新ログ削除手段206により削除される。以上がレプリカデータベース201を復旧する前に行う前処理、すなわち非同期レプリケーションの停止動作である。
【0038】
この状態からのレプリカデータベース201の復旧手順を図4及び図5を参照して説明する。図4は、レプリカデータベース201の復旧手順を示すフローチャートである。図5は、処理済通番管理表107及び処理済通番管理表205のデータ列の変化を示す概念図である。
【0039】
はじめに更新ログ処理制御手段109は、更新ログ反映手段105の動作を停止する(S101)。これによりレプリカデータベース102の更新が停止する。この更新の停止により、レプリカデータベース102の全データを整合性のある状態でコピーすることが可能な状態となる。
【0040】
再構築手段208はレプリカデータベース102の全データを取得する(S102)。ここで取得した全データは、処理済通番管理表107における更新ログ反映手段105のデータ列の処理済通番までの各更新ログが反映された後のデータとなる。例えば図5では、更新ログ反映手段105が通番100の更新ログを反映した後のデータが取得される。
【0041】
更新ログ処理制御手段109は、処理済通番管理表107から更新ログ反映手段105の処理済通番を取得する。更新ログ処理制御手段109は、取得した更新ログ反映手段105の処理済通番をバックアップシステム2の更新ログ処理制御手段207に送信する(S103)。
【0042】
更新ログ処理制御手段109は、処理済通番管理表107内の更新ログ送信手段106の処理済通番を更新ログ反映手段105の通番と同じ値に設定する(S104)。例えば図5の例では更新ログ処理制御手段109は、更新ログ送信手段106の処理済通番を更新ログ反映手段105と同じ値である"100"に設定する。
【0043】
更新ログ処理制御手段109は、この後に更新ログ反映手段105の処理を開始させ、レプリカデータベース102へのレプリケーションを再開させる(S105)。更新ログ反映手段105の処理が再開した場合であっても、更新ログ送信手段106は停止したままとなる。そのため、処理済通番管理表107における更新ログ送信手段106の処理済通番は変更されない。よって、S102の処理の後に生じた更新ログは、更新ログ管理表104内に保持される。
【0044】
バックアップシステム2において、再構築手段208はS102において取得したレプリカデータベース102の全データを基にレプリカデータベース201を再構築する(S106)。その後に更新ログ処理制御手段207は、更新ログ処理制御手段109から受信した更新ログ反映手段105の処理済通番を、更新ログ受信手段202及び更新ログ反映手段204の処理済通番として処理済通番管理表205に格納する(S107)。図5の例では更新ログ処理制御手段207は、更新ログ受信手段202及び更新ログ反映手段204の処理済通番として"100"を処理済通番管理表205に格納する。
【0045】
その後に更新ログ処理制御手段109は、更新ログ送信手段106の処理を再開する(S108)。また更新ログ処理制御手段207は、更新ログ受信手段202及び更新ログ反映手段204の処理を再開する(S108)。なお更新ログ処理制御手段109及び更新ログ処理制御手段207は互いにどの処理が終了しているかを定期的に相互通知し、上記の開始タイミングを決定する。
【0046】
上記の処理によりS102の全データ取得よりも後に発生した更新ログが、処理再開された更新ログ送信手段106によって更新ログ受信手段202に送信される。そして更新ログ反映手段204は、レプリカデータベース201への更新ログの反映処理を行う。この結果、レプリカデータベース201の完全復旧が終了する。
【0047】
なお上述のS104〜S105の処理とS106〜S108の処理は独立している。そのため、どちらの処理が先に実行されもよい。両方の処理が終了した後に、マスターデータベース101からレプリカデータベース201への非同期レプリケーションが再開する。
【0048】
続いて本実施の形態にかかる情報システムの効果について説明する。本実施の形態にかかる情報システムは、レプリカデータベース201の復旧時にマスターデータベース101を停止させることなく動作させ続けている。このため、レプリカデータベース201の復旧作業に起因するマスターデータベースの性能低下が生じない。
【0049】
またレプリカデータベース201の復旧時に再構築手段208が使用する全データは既に整合性のあるデータとなっている。そのため、更新ログの解析等の作業を要することなく、差分となる更新ログを反映するだけでレプリカデータベース102及び201を使用した非同期レプリケーションを再開することが可能となる。
【0050】
さらに更新ログ削除手段108が更新ログ管理表104から不要なデータ列を削除している。これにより、フロントシステム1におけるディスク容量の圧迫を回避することができる。
【0051】
<実施の形態2>
本実施の形態にかかる情報システムは、マスターデータベース101と異なるシステム内にレプリカデータベースが存在することを特徴とする。本実施の形態にかかる情報システムについて実施の形態1とは異なる点を以下に説明する。
【0052】
図6−1及び図6−2は、本実施の形態にかかる情報システムの構成を示すブロック図である。本実施の形態にかかる情報システムは、フロントシステム1に加えて2つのバックアップシステム(バックアップシステム2、バックアップシステム3)を有する。なお、実施の形態1と同一構成については同一名称、同一符号を付し、その詳細な説明は適宜省略する。
【0053】
フロントシステム1は、図1の構成と比べてレプリカデータベース102及び更新ログ反映手段105を有さない。これに代わりフロントシステム1は、更新ログ送信手段110を有する。更新ログ送信手段106はバックアップシステム2に対して更新ログを送信し、更新ログ送信手段110はバックアップシステム3に対して更新ログを送信する。処理済通番管理表107は、更新ログ送信手段110の処理済通番も管理する。
【0054】
バックアップシステム2の構成は図1の構成と同様であり、各処理手段は実施の形態1と同様に動作する。
【0055】
バックアップシステム3は、レプリカデータベース301、更新ログ受信手段302、更新ログ管理表303、更新ログ反映手段304、処理済通番管理表305、更新ログ削除手段306、更新ログ処理制御手段307、及び再構築手段308を有する。バックアップシステム3は、バックアップシステム2と略同一の構成を有する。すなわちレプリカデータベース301はレプリカデータベース201と略同一の構成を有する。更新ログ受信手段302は更新ログ受信手段202と略同一の機能を有する。更新ログ管理表303は更新ログ管理表303と略同一のデータを管理する。更新ログ反映手段304は更新ログ反映手段204と略同一の機能を有する。処理済通番管理表305は処理済通番管理表205と略同一のデータを管理する。更新ログ削除手段306は更新ログ削除手段206と略同一の機能を有する。更新ログ処理制御手段307は更新ログ処理制御手段207と略同一の機能を有する。再構築手段308は再構築手段208と略同一の機能を有する。
【0056】
続いて、本実施の形態にかかる情報システムにおいてバックアップシステム2内のレプリカデータベース201を復旧する場合の具体的な処理について説明する。レプリカデータベース201に障害が発生した場合における非同期レプリケーションの停止動作については、実施の形態1と略同一の処理であるため詳細説明は省略する。
【0057】
続いてレプリカデータベース201の復旧手順を図7及び図8−1〜図8−4を参照して説明する。図7は、本実施の形態にかかるレプリカデータベース201の復旧手順を示すフローチャートである。図8−1〜図8−4は、処理済通番管理表107、処理済通番管理表205、及び処理済通番管理表305のデータ列の変化を示す概念図である。
【0058】
本実施の形態では、更新ログ処理制御手段109は、処理済通番管理表107の更新ログ送信手段106の処理済通番を取得し、その値を更新ログ送信手段110の処理済通番として処理済通番管理表107に登録する(S201)。また更新ログ処理制御手段109は、更新ログ処理制御手段307を介して更新ログ反映手段304に対し、S201で書き込んだ処理済通番までの更新ログの反映を指示する。これに応じて更新ログ反映手段304は、レプリカデータベース301に対する更新ログの反映処理を実行する(S202)。
【0059】
このS201及びS202は、S102において取得する全データより後に反映する更新ログが更新ログ管理表104内に確実に残されるために行うための処理である。S201を行うことにより、更新ログ削除手段108は、更新ログ送信手段110が送信していない更新ログを削除しない。これによりレプリカデータベース301に反映されていない更新ログが削除されることが無くなる。よってレプリカデータベース201に反映すべき更新ログが更新ログ管理表104から削除されないようにすることができる。
【0060】
なおS202以降の処理(S101〜S109)は、レプリカデータベースが共にバックアップシステム内にあるため制御対象が若干異なるものの、実施の形態1と略同一の処理である。そのため詳細な説明は省略する。
【0061】
図8−1は、S201実行前の状態を示す。図8−2は、S202実行後の状態を示す。図示するように処理済通番管理表107内の更新ログ送信手段106の通番が"100"(更新ログ送信手段110)と同じ値に設定されている。
【0062】
図8−3は、S202実行後の状態を示す。更新ログ反映手段304が通番"100"まで処理を進めるため、処理済通番管理表305内の更新ログ反映手段304の処理済通番が"100"となる。
【0063】
図8−4は、S104及びS107の処理が終了した状態を示す。S106においてレプリカデータベース201のデータ再構築を行い、S107において処理済通番管理表205の更新を行っているため、処理済通番管理表205内の更新ログ受信手段202及び更新ログ反映手段204の処理済通番は共に"100"となっている。
【0064】
続いて本実施の形態にかかる情報システムの効果について説明する。上述のように本実施の形態にかかる情報システムは、複数のバックアップシステムを有し、フロントシステム内にレプリカデータベースを有さない構成である。実施の形態1の構成では、同一システム内にあるマスターデータベース101からレプリカデータベース102へのデータコピーを速やかに行えるものの、フロントシステム1に障害(例えば自然災害)が生じた場合に可用性が低いという問題があった。
【0065】
一方、本実施の形態にかかる情報システムでは、フロントシステム1はレプリカデータベースを有さず、複数のバックアップシステムがそれぞれレプリカデータベースを有する構成である。これにより、マスターデータベースとレプリカデータベースに対して同時に障害が生じる可能性が減少し、システム全体としての可用性を高めることができる。
【0066】
上述した実施の形態は本件発明者により得られた技術思想の適用に関する例に過ぎない。すなわち、当該技術思想は、上述した実施の形態のみに限定されるものではなく、種々の変更が可能であることは勿論である。
【0067】
上述のフロントシステム1、の各処理手段(更新ログ格納手段103、更新ログ反映手段105、更新ログ送信手段106、更新ログ削除手段108、更新ログ処理制御手段109、更新ログ送信手段110)は任意のコンピュータ内で動作するプログラムとして実現することが可能である。バックアップシステム2、及びバックアップシステム3の各処理手段についても同様である。
【0068】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0069】
最後に図9を参照して本発明の概略を改めて説明する。図9は、本発明にかかる情報システムの本質的な処理手段を示すブロック図である。
【0070】
レプリカデータベース102及びレプリカデータベース201は、マスターデータベース101のレプリカとなるデータベースである。更新ログ管理表104は、マスターデータベース101に適応されたトランザクションを示す更新ログと、更新ログの発生順序を示す通番と、を関連付けて保持する。処理済通番管理表107は、レプリカデータベース102に反映された更新ログの通番を管理する。処理済通番管理表205は、レプリカデータベース201に反映された更新ログの通番を管理する。再構築手段208は、レプリカデータベース201の異常時にマスターデータベース101の更新を停止させずにレプリカデータベース102を停止して全データを取得し、取得した全データを用いてレプリカデータベース201を再構築する。更新ログ反映手段105は、処理済通番管理表104と更新ログ管理表104の比較に応じて未反映の更新ログをレプリカデータベース102に適応する。同様に更新ログ反映手段204は、処理済通番管理表205と更新ログ管理表104との比較に応じて未反映の更新ログをレプリカデータベース201に適応する。
【0071】
なお図1の構成では、更新ログ送信手段106、更新ログ受信手段202、更新ログ管理表203を明記したが、必ずしもこれに限られない。すなわち本発明にかかる情報システムは、マスターデータベースの更新中に一方のレプリカデータベースの処理を中断して、その中断したレプリカデータベースのデータを基に他方のレプリカデータベースを再構築する。そして、更新ログ管理表によりマスターデータベースへの更新ログを取得しておき、未反映の更新ログを各レプリカデータベースに適応する構成であれば、その内部構成はどのように構成してもよい。
【符号の説明】
【0072】
1 フロントシステム
101 マスターデータベース
102 レプリカデータベース
103 更新ログ格納手段
104 更新ログ管理表
105 更新ログ反映手段
106 更新ログ送信手段
107 処理済通番管理表
108 更新ログ削除手段
109 更新ログ処理制御手段
110 更新ログ送信手段
2 バックアップシステム
201 レプリカデータベース
202 更新ログ受信手段
203 更新ログ管理表
204 更新ログ反映手段
205 処理済通番管理表
206 更新ログ削除手段
207 更新ログ処理制御手段
3 バックアップシステム
301 レプリカデータベース
302 更新ログ受信手段
303 更新ログ管理表
304 更新ログ反映手段
305 処理済通番管理表
306 更新ログ削除手段
307 更新ログ処理制御手段
図1
図2
図3
図4
図5
図6-1】
図6-2】
図7
図8-1】
図8-2】
図8-3】
図8-4】
図9