(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-13
(45)【発行日】2022-12-21
(54)【発明の名称】転送方式制御プログラム、転送方式制御装置及び転送方式制御方法
(51)【国際特許分類】
G06F 16/11 20190101AFI20221214BHJP
G06F 16/178 20190101ALI20221214BHJP
G06F 16/182 20190101ALI20221214BHJP
【FI】
G06F16/11
G06F16/178
G06F16/182 100
(21)【出願番号】P 2018205018
(22)【出願日】2018-10-31
【審査請求日】2021-07-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】高橋 良平
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2006-011848(JP,A)
【文献】特開2006-268740(JP,A)
【文献】国際公開第2015/145536(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
障害の発生から復旧までの間に発生した第1データベースに蓄積されたデータに対する第1更新ログを前記第1データベースから第2データベースに転送する際に、前記第1更新ログのデータ量
を、
前記第1データベースから前記第2データベースへの単位時間あたりのデータ転送量
から前記第1データベースに蓄積されたデータに対する単位時間あたりのデータ更新量を減算したデータ量で除算することによって、前記第1データベースから前記第2データベースに対する前記第1更新ログの第1転送時間を算出し、
前記第1データベースに蓄積された全データのデータ量
を、前記データ転送量
で除算することによって、前記第1データベースから前記第2データベースに対する前記第1データベースに蓄積された全データの第2転送時間を算出し、前記第2転送時間において発生した前記第1データベースに蓄積されたデータに対する第2更新ログのデータ量
を、前記データ転送量から前記データ更新量を減算したデータ量で除算することによって、前記第1データベースから前記第2データベースに対する前記第2更新ログの第3転送時間を算出し、算出した前記第2転送時間と前記第3転送時間とを合計することによって第4転送時間を算出し、
前記第1転送時間が前記第4転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1更新ログの転送を行う旨を決定し、前記第4転送時間が前記第1転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1データベースに蓄積された全データの転送を行う旨を決定する、
処理をコンピュータに実行させることを特徴とする転送方式制御プログラム。
【請求項2】
請求項
1において、
前記決定する処理では、前記第4転送時間が前記第1転送時間よりも短い場合であって
、前記障害の発生から前記障害の復旧までの時間と前記第2転送時間との合計時間が所定の閾値よりも長い場合、前記第1データベースから前記第2データベースに対して前記第1更新ログの転送を行う旨
を決定する、
ことを特徴とする転送方式制御プログラム。
【請求項3】
障害の発生から復旧までの間に発生した第1データベースに蓄積されたデータに対する第1更新ログを前記第1データベースから第2データベースに転送する際に、前記第1更新ログのデータ量
を、
前記第1データベースから前記第2データベースへの単位時間あたりのデータ転送量
から前記第1データベースに蓄積されたデータに対する単位時間あたりのデータ更新量を減算したデータ量で除算することによって、前記第1データベースから前記第2データベースに対する前記第1更新ログの第1転送時間を算出する第1算出部と、
前記第1データベースに蓄積された全データのデータ量
を、前記データ転送量
で除算することによって、前記第1データベースから前記第2データベースに対する前記第1データベースに蓄積された全データの第2転送時間を算出し、前記第2転送時間において発生した前記第1データベースに蓄積されたデータに対する第2更新ログのデータ量
を、前記データ転送量から前記データ更新量を減算したデータ量で除算することによって、前記第1データベースから前記第2データベースに対する前記第2更新ログの第3転送時間を算出し、算出した前記第2転送時間と前記第3転送時間とを合計することによって第4転送時間を算出する第2算出部と、
前記第1転送時間が前記第4転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1更新ログの転送を行う旨を決定し、前記第4転送時間が前記第1転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1データベースに蓄積された全データの転送を行う旨を決定する方式決定部と、を有する、
ことを特徴とする転送方式制御装置。
【請求項4】
障害の発生から復旧までの間に発生した第1データベースに蓄積されたデータに対する第1更新ログを前記第1データベースから第2データベースに転送する際に、前記第1更新ログのデータ量
を、
前記第1データベースから前記第2データベースへの単位時間あたりのデータ転送量
から前記第1データベースに蓄積されたデータに対する単位時間あたりのデータ更新量を減算したデータ量で除算することによって、前記第1データベースから前記第2データベースに対する前記第1更新ログの第1転送時間を算出し、
前記第1データベースに蓄積された全データのデータ量
を、前記データ転送量
で除算することによって、前記第1データベースから前記第2データベースに対する前記第1データベースに蓄積された全データの第2転送時間を算出し、前記第2転送時間において発生した前記第1データベースに蓄積されたデータに対する第2更新ログのデータ量
を、前記データ転送量から前記データ更新量を減算したデータ量で除算することによって、前記第1データベースから前記第2データベースに対する前記第2更新ログの第3転送時間を算出し、算出した前記第2転送時間と前記第3転送時間とを合計することによって第4転送時間を算出し、
前記第1転送時間が前記第4転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1更新ログの転送を行う旨を決定し、前記第4転送時間が前記第1転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1データベースに蓄積された全データの転送を行う旨を決定する、
処理をコンピュータが実行することを特徴とする転送方式制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、転送方式制御プログラム、転送方式制御装置及び転送方式制御方法に関する。
【背景技術】
【0002】
例えば、利用者に対してサービスを提供する情報処理システムにおいて、運用中のサーバ(以下、稼働サーバとも呼ぶ)で動作している処理と同じ処理を実行可能なサーバ(以下、災対サーバとも呼ぶ)が配備される場合がある。具体的に、このような災対サーバは、例えば、稼働サーバが設置されたリージョン(以下、稼働側リージョンとも呼ぶ)から数十kmから数百km程度離れた場所にあるリージョン(以下、災対側リージョンとも呼ぶ)に配備される。
【0003】
これにより、利用者に対してサービスを提供する事業者は、例えば、自然災害等の発生によって稼働サーバでの処理の継続が困難になった場合であっても、稼働サーバで実行していた処理を災対サーバに実行させることで、利用者に対するサービスの提供を継続することが可能になる(例えば、特許文献1乃至3参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2006-268740号公報
【文献】特開2011-209816号公報
【文献】特開2005-122611号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のような情報処理システムにおいて、事業者は、災対サーバがアクセスするデータベース(以下、第2データベースとも呼ぶ)に蓄積されているデータと、稼働サーバがアクセスするデータベース(以下、第1データベースとも呼ぶ)に蓄積されているデータとを予め同期させる。具体的に、第1データベースは、例えば、第1データベースに蓄積されたデータに対して発生した更新履歴(以下、更新ログとも呼ぶ)を、所定のタイミングにおいて第2データベースに転送する。そして、第2データベースは、第1データベースから受信した更新ログを第2データベースに蓄積されたデータに反映させる。
【0006】
これにより、事業者は、第1データベースに蓄積されたデータと第2データベースに蓄積されたデータとを随時同期させることが可能になる。そのため、事業者は、自然災害等が発生した場合、稼働サーバから災対サーバに対する処理の引き継ぎを迅速に行うことが可能になる。
【0007】
ここで、例えば、自然災害等の発生に伴って、稼働側リージョンと災対側リージョンとの間における通信ができなくなる状況が発生した場合、第1データベースでは、第2データベースに対する更新ログの転送を行うことができなくなる。そして、第1データベースでは、この場合、通信ができない時間の長さに応じて、第2データベースに対して転送を行っていない更新ログ(以下、未転送の更新ログとも呼ぶ)が蓄積される。
【0008】
そのため、第1データベースは、稼働側リージョンと災対側リージョンとの間における通信が復旧した場合、再度の自然災害等の発生に伴って稼働サーバから災対サーバに対して処理の引き継ぎを行う必要性が生じる場合に備えて、未転送の更新ログを第2データベースに対して効率的に転送する必要がある。
【0009】
そこで、一つの側面では、本発明は、データベース間においてデータの転送を効率的に行うことを可能とする転送方式制御プログラム、転送方式制御装置及び転送方式制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
実施の形態の一態様では、障害の発生から復旧までの間に発生した第1データベースに蓄積されたデータに対する第1更新ログを前記第1データベースから第2データベースに転送する際に、前記第1更新ログのデータ量と、前記第1データベースに蓄積されたデータに対する単位時間あたりのデータ更新量と、前記第1データベースから前記第2データベースへの単位時間あたりのデータ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第1更新ログの第1転送時間を算出し、前記第1データベースに蓄積された全データのデータ量と、前記データ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第1データベースに蓄積された全データの第2転送時間を算出し、前記第2転送時間において発生した前記第1データベースに蓄積されたデータに対する第2更新ログのデータ量と、前記データ更新量と、前記データ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第2更新ログの第3転送時間を算出し、算出した前記第2転送時間と前記第3転送時間とを合計することによって第4転送時間を算出し、算出した前記第1転送時間と前記第4転送時間との比較結果に基づいて、前記第1データベースに蓄積されたデータの転送方式を決定する、処理をコンピュータに実行させる。
【発明の効果】
【0011】
一つの側面によれば、データベース間においてデータの転送を効率的に行うことを可能とする。
【図面の簡単な説明】
【0012】
【
図1】
図1は、情報処理システム10の構成について説明する図である。
【
図2】
図2は、情報処理システム10の構成について説明する図である。
【
図3】
図3は、情報処理システム10の構成について説明する図である。
【
図4】
図4は、第1データベース1のハードウエア構成を説明する図である。
【
図5】
図5は、第1データベース1の機能のブロック図である。
【
図6】
図6は、第1の実施の形態における転送方式制御処理の概略を説明するフローチャート図である。
【
図7】
図7は、第1の実施の形態における転送方式制御処理の概略を説明する図である。
【
図8】
図8は、第1の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図9】
図9は、第1の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図10】
図10は、第1の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図11】
図11は、第1の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図12】
図12は、遅延情報133の具体例について説明する図である。
【
図13】
図13は、RPO情報134の具体例について説明する図である。
【
図14】
図14は、転送方式制御処理の具体例について説明するグラフである。
【
図15】
図15は、転送方式制御処理の具体例について説明するグラフである。
【
図16】
図16は、転送方式制御処理の具体例について説明するグラフである。
【
図17】
図17は、第2の実施の形態における情報処理システム10の構成について説明する図である。
【
図18】
図18は、第2の実施の形態における管理装置3のハードウエア構成を説明する図である。
【
図19】
図19は、第2の実施の形態における管理装置3の機能のブロック図である。
【
図20】
図20は、第2の実施の形態における第1データベース1の機能のブロック図である。
【
図21】
図21は、第2の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図22】
図22は、第2の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図23】
図23は、第2の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図24】
図24は、第2の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図25】
図25は、第2の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【
図26】
図26は、第2の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。
【発明を実施するための形態】
【0013】
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。
図1から
図3は、情報処理システム10の構成について説明する図である。
【0014】
情報処理システム10は、
図1に示すように、稼働サーバ1a(以下、第1情報処理装置1aとも呼ぶ)と、第1データベース1と、災対サーバ2a(以下、第2情報処理装置2aとも呼ぶ)と、第2データベース2とを有する。
図1に示す例において、第1情報処理装置1a及び第1データベース1は、稼働側リージョンRE1に配備されており、第2情報処理装置2a及び第2データベース2は、災対側リージョンRE2に配備されている。
【0015】
具体的に、第1情報処理装置1aは、例えば、1以上の物理マシンであり、利用者に対してサービスを提供するための処理を実行する装置である。第1情報処理装置1aは、例えば、必要に応じて第1データベース1にアクセスし、第1データベース1に蓄積されたデータに対する各種操作を行う。
【0016】
第2情報処理装置2aは、例えば、1以上の物理マシンであり、自然災害等の発生に伴って第1情報処理装置1aが処理の実行を継続することができなくなった場合、第1情報処理装置1aに代わって、利用者に対してサービスを提供するための処理を実行する装置である。第2情報処理装置2aは、例えば、必要に応じて第2データベース2にアクセスし、第2データベース2に蓄積されたデータに対する各種操作を行う。
【0017】
また、第1データベース1は、
図2に示すように、第1情報処理装置1aによる処理の実行に伴ってデータに対する操作が行われた場合、その操作の内容を示す更新ログを第2データベース2に送信する。そして、第2データベース2は、第1データベース1から受信した更新ログを第2データベース2に格納されているデータに反映させる。
【0018】
これにより、事業者は、第1データベース1に格納されているデータと第2データベース2に格納されているデータとを同期させることが可能になる。
【0019】
ここで、
図3に示すように、自然災害等の発生に伴って、第1情報処理装置1aから第2情報処理装置2aに対する処理の引き継ぎを行う必要はないが、稼働側リージョンRE1と災対側リージョンRE2との間における通信ができないような状況が発生した場合、第1データベース1では、第2データベース2に対する更新ログの転送を行うことができなくなる。そして、第1データベース1では、この場合、通信ができない時間の長さに応じて、第2データベース2に対して未転送の更新ログが蓄積されていく。
【0020】
そのため、第1データベース1は、稼働側リージョンRE1と災対側リージョンRE2との間における通信が復旧した場合、再度の自然災害等の発生に伴って第1情報処理装置1aから第2情報処理装置2aに対して処理の引き継ぎを行う必要性が生じる場合に備えて、未転送の更新ログを第2データベース2に対して効率的に転送する必要がある。
【0021】
すなわち、第1データベース1は、稼働側リージョンRE1と災対側リージョンRE2との間における通信の復旧後であって未転送の更新ログの転送が完了する前に、第1情報処理装置1aから第2情報処理装置2aに対する処理の引き継ぎが発生した場合であっても、第2データベース2におけるRPO(Recovery Point Objective)を短縮させることができるように、未転送の更新ログを効率的に転送する必要がある。
【0022】
そこで、本実施の形態における第1データベース1は、障害の発生から復旧までの間に発生した第1データベース1に蓄積されたデータに対する更新ログ(以下、第1更新ログとも呼ぶ)を第1データベース1から第2データベース2に転送する際に、第1更新ログのデータ量と、第1データベース1に蓄積されたデータに対する単位時間あたりのデータ更新量と、第1データベース1から第2データベース2への単位時間あたりのデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第1更新ログの転送時間(以下、第1転送時間とも呼ぶ)を算出する。
【0023】
また、第1データベース1は、第1データベース1に蓄積された全データのデータ量と、第1データベース1から第2データベース2への単位時間あたりのデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第1データベース1に蓄積された全データの転送時間(以下、第2転送時間とも呼ぶ)を算出する。
【0024】
続いて、第1データベース1は、第2転送時間において発生した第1データベース1に蓄積されたデータに対する更新ログ(以下、第2更新ログとも呼ぶ)のデータ量と、第1データベース1に蓄積されたデータに対する単位時間あたりのデータ更新量と、第1データベース1から第2データベース2への単位時間あたりのデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第2更新ログの転送時間(以下、第3転送時間とも呼ぶ)を算出する。
【0025】
さらに、第1データベース1は、算出した第2転送時間と第3転送時間との合計値(以下、第4転送時間とも呼ぶ)を算出する。
【0026】
その後、第1データベース1は、算出した第1転送時間と第4転送時間との比較結果に基づいて、第1データベース1に蓄積されたデータの転送方式を決定する。
【0027】
すなわち、本実施の形態における第1データベース1は、第1データベース1に蓄積されたデータのうち、障害の発生から復旧までの間に発生した更新ログ(第1更新ログ)を第2データベース2に送信する場合に要するデータの転送時間(第1転送時間)と、第1データベース1に蓄積された全データを第2データベース2に送信する場合に要するデータの転送時間(第4転送時間)とを算出する。そして、第1データベース1は、算出した各転送時間のうち、短い方に対応するデータの転送方式を採用する。
【0028】
これにより、第1データベース1は、例えば、自然災害等の発生に伴う通信障害からの復旧後において、第1データベース1と第2データベース2との同期を行うために必要なデータ(更新ログ)の転送を迅速に行うことが可能になる。そのため、第1データベース1は、データの転送完了前に自然災害等が再度発生し、第1情報処理装置1aで実行していた処理の実行を第2情報処理装置2aが引き継ぐ必要性が生じた場合であっても、第2データベース2におけるRPOを短縮させることが可能になる。
【0029】
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。
図4は、第1データベース1のハードウエア構成を説明する図である。
【0030】
第1データベース1は、
図4に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0031】
記憶媒体104は、例えば、データの転送方式を制御する処理(以下、転送方式制御処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、転送方式制御処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Sokid State Drive)であってよい。
【0032】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して転送方式制御処理を行う。
【0033】
外部インターフェース103は、例えば、第1情報処理装置1aと通信を行う。また、外部インターフェース103は、例えば、ネットワークNWを介することによって第2データベース2と通信を行う。
【0034】
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。
図5は、第1データベース1の機能のブロック図である。
【0035】
第1データベース1は、
図5に示すように、例えば、第1データベース1のCPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、情報取得部111と、情報管理部112と、第1算出部113と、第2算出部114と、方式決定部115と、データ転送部116とを含む各種機能を実現する。
【0036】
また、第1データベース1は、例えば、
図5に示すように、格納済データ131と、更新ログ132と、遅延情報133と、RPO情報134とを情報格納領域130に記憶する。
【0037】
格納済データ131は、第1情報処理装置1aが利用者に対してサービスを提供するための処理の実行に伴って第1データベース1(情報格納領域130)に記憶されたデータである。具体的に、格納済データ131は、例えば、サービスを利用する利用者の個人情報等を含むものであってよい。
【0038】
更新ログ132は、例えば、情報格納領域130に記憶された格納済データ131に対して行われた操作(例えば、新たなデータの追加、データの更新またはデータの削除)の内容をそれぞれ示す情報である。なお、更新ログ132には、例えば、操作が行われた後のデータ自体(例えば、新たに追加されたデータ自体または更新が行われた後のデータ自体)が含まれるものであってもよい。
【0039】
情報取得部111は、例えば、第2データベース2にアクセスすることによって、第2データベース2の情報格納領域(図示しない)に記憶されている遅延情報133及びRPO情報134を取得する。具体的に、情報取得部111は、例えば、定期的に第2データベース2にアクセスすることによって、最新の情報が反映された遅延情報133及びRPO情報134の取得を行う。
【0040】
遅延情報133は、例えば、第1データベース1から送信された更新ログ132を第2データベース2が最後に受信した時刻から現在時刻までの時間(以下、遅延時間とも呼ぶ)を示す情報である。また、RPO情報134は、例えば、第2データベース2において許容されているRPOの最大時間を示す情報である。なお、遅延情報133及びRPO情報134は、第2データベース2から随時送信されるものであってもよい。
【0041】
また、情報取得部111は、第2データベース2から取得した遅延情報133が示す時間内に発生した更新ログ132(以下、第1更新ログ132aとも呼ぶ)のデータ量と、第1データベース1に蓄積された全データ(格納済データ131)のデータ量とを取得する。さらに、情報取得部111は、第1データベース1に蓄積されたデータに対する単位時間あたりのデータ更新量(単位時間あたりの更新ログ132の発生頻度)と、第1データベース1から第2データベース2への単位時間あたりのデータ転送量とを取得する。
【0042】
情報管理部112は、例えば、情報取得部111が第2データベース2から取得した遅延情報133及びRPO情報134を情報格納領域130に記憶する。
【0043】
第1算出部113は、情報取得部111が取得した第1更新ログ132aのデータ量と、情報取得部111が取得したデータ更新量と、情報取得部111が取得したデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第1更新ログ132aの第1転送時間を算出する。
【0044】
第2算出部114は、情報取得部111が全データのデータ量と、情報取得部111が取得したデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第1データベース1に蓄積された全データの第2転送時間を算出する。
【0045】
また、第2算出部114は、算出した第2転送時間において発生する更新ログ132(以下、第2更新ログ132bとも呼ぶ)のデータ量と、情報取得部111が取得したデータ更新量と、情報取得部111が取得したデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第2更新ログ132bの第3転送時間を算出する。
【0046】
さらに、第2算出部114は、算出した第2転送時間と第3転送時間とを合計することによって、第4転送時間を算出する。
【0047】
方式決定部115は、第1算出部113が算出した第1転送時間と、第2算出部114が算出した第4転送時間との比較結果に基づいて、第1データベース1に蓄積されたデータの転送方式を決定する。具体的に、方式決定部115は、第1データベース1に蓄積されたデータの転送方式として、第1更新ログ132aの転送を行う転送方式(第1転送時間を要する転送方式)と、第1データベース1に蓄積された全データ及び第2更新ログ132bの転送を行う転送方式(第4転送時間を要する転送方式)とのうちのいずれかを決定する。
【0048】
データ転送部116は、方式決定部115が転送方式の決定を行った場合、方式決定部115が決定した転送方式に従って、第2データベース2に対して必要なデータを転送する。
【0049】
なお、方式決定部115が転送方式の決定を行っていない場合(すなわち、通信障害が発生していない場合)、データ転送部116は、通常処理として、情報格納領域130に記憶された更新ログ132を第2データベース2に転送する。具体的に、データ転送部116は、例えば、定期的な間隔において、更新ログ132の転送を前回行った時刻から現在時刻までの間に発生した更新ログ132を第2データベース2に転送する。
【0050】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。
図6は、第1の実施の形態における転送方式制御処理の概略を説明するフローチャート図である。また、
図7は、第1の実施の形態における転送方式制御処理の概略を説明する図である。
【0051】
第1データベース1は、
図6に示すように、データ転送タイミングになるまで待機する(S1のNO)。データ転送タイミングは、例えば、自然災害等に起因して第1データベース1と第2データベース2との間で発生した通信障害が復旧したタイミングであってよい。
【0052】
そして、データ転送タイミングになった場合(S1のYES)、第1データベース1は、
図7に示すように、障害の発生から復旧までの間に発生した第1更新ログ132aの第1転送時間を算出する(S2)。
【0053】
また、第1データベース1は、第1データベース1に蓄積された全データ(格納済データ131)の第2転送時間を算出する(S3)。続いて、第1データベース1は、S3の処理で算出した第2転送時間において発生した第2更新ログ132bの第3転送時間を算出する(S4)。さらに、第1データベース1は、S3の処理で算出した第2転送時間と、S4の処理で算出した第3転送時間とを合計することによって第4転送時間を算出する(S5)。
【0054】
その後、第1データベース1は、S2の処理で算出した第1転送時間と、S5の処理で算出した第4転送時間との比較結果に基づいて、第1データベース1に蓄積されたデータの転送方式を決定する(S6)。
【0055】
これにより、第1データベース1は、例えば、自然災害等の発生に伴う通信障害からの復旧後において、第1データベース1と第2データベース2との同期を行うために必要なデータ(更新ログ132)の転送を迅速に行うことが可能になる。そのため、第1データベース1は、データの転送完了前に自然災害等が再度発生し、第1情報処理装置1aで実行していた処理の実行を第2情報処理装置2aが引き継ぐ必要性が生じた場合であっても、第2データベース2におけるRPOを短縮させることが可能になる。
【0056】
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。
図8から
図11は、第1の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。また、
図12から
図16は、第1の実施の形態における転送方式制御処理の詳細を説明する図である。なお、以下、遅延情報133及びRPO情報134が情報格納領域130に予め記憶されているものとして説明を行う。
【0057】
第1データベース1の情報取得部111は、
図8に示すように、データ転送タイミングになるまで待機する(S11のNO)。
【0058】
そして、データ転送タイミングになった場合(S11のYES)、情報取得部111は、情報格納領域130に記憶された遅延情報133が示す時間に発生した第1更新ログ132aのデータ量を取得する(S12)。以下、遅延情報133の具体例について説明を行う。
【0059】
[遅延情報の具体例]
図12は、遅延情報133の具体例について説明する図である。
【0060】
図12に示す遅延情報133は、遅延情報133に含まれる各情報を識別する情報が記憶される「項番」と、各データベースの名称が記憶される「データベース名」と、各データベースにおける遅延時間が記憶される「遅延時間」とを項目として有する。
【0061】
具体的に、
図12に示す遅延情報133において、「項番」が「1」である情報には、「データベース名」として「データベース2」が記憶され、「遅延時間」として「5(時間)」が記憶されている。
【0062】
すなわち、
図12に示す遅延情報133は、例えば、第2データベース2が第1情報処理装置1aからの更新ログ132を最後に受信した時刻から現在時刻までの時間が5時間であることを示している。そのため、情報取得部111は、S12の処理において、例えば、
図12に示す遅延情報133を参照し、5時間前から現在時刻までの間に発生した更新ログ132を第1更新ログ132aとして取得する。
【0063】
なお、情報取得部111は、S12の処理において、例えば、情報格納領域130に蓄積されている更新ログ132のうち、第2データベース2に対してまだ転送していない更新ログ132を第1更新ログ132aとして取得するものであってもよい。
【0064】
図8に戻り、情報取得部111は、第1データベース1に蓄積されたデータに対する単位時間あたりのデータ更新量を取得する(S13)。具体的に、情報取得部111は、例えば、更新ログ132の発生状況を一定時間監視し、単位時間あたりの更新ログ132の発生頻度を計測することにより、単位時間あたりのデータ更新量を特定するものであってよい。
【0065】
さらに、情報取得部111は、第1データベース1から第2データベース2に対する単位時間あたりのデータ転送量を取得する(S14)。具体的に、情報取得部111は、例えば、第1データベース1と第2データベース2との間のネットワークに配備されたネットワーク機器(図示しない)から、第1データベース1と第2データベース2との間におけるネットワークの通信帯域を取得し、取得した通信帯域を単位時間あたりのデータ転送量として特定するものであってよい。
【0066】
その後、第1データベース1の第1算出部113は、S12の処理で取得した第1更新ログ132aのデータ量を、S14の処理で取得したデータ転送量からS13の処理で取得したデータ更新量を減算したデータ量で除算することによって、第1転送時間を算出する(S15)。
【0067】
すなわち、第1算出部113は、第1データベース1に蓄積された第1更新ログ132aと、第1更新ログ132aの転送中に発生した新たな更新ログ132とを第2データベース2に転送する場合の転送時間(第1転送時間)を算出する。
【0068】
続いて、情報取得部111は、
図9に示すように、第1データベース1に蓄積された全データ(格納済データ131)のデータ量を取得する(S21)。
【0069】
そして、第1データベース1の第2算出部114は、S21の処理で取得したデータ量を、S14の処理で取得したデータ転送量で除算することによって、第2転送時間を算出する(S22)。
【0070】
すなわち、第2算出部114は、第1データベース1に蓄積された全データを、第2データベース2に転送した場合の転送時間(第2転送時間)を算出する。
【0071】
次に、情報取得部111は、S22の処理で算出した第2転送時間において発生する第2更新ログ132bのデータ量を取得する(S23)。
【0072】
そして、第2算出部114は、S23の処理で取得した第2更新ログ132bのデータ量を、S14の処理で取得したデータ転送量からS13の処理で取得したデータ更新量を減算したデータ量で除算することによって、第3転送時間を算出する(S24)。
【0073】
すなわち、第2算出部114は、第2転送時間において発生した第2更新ログ132bと、第2更新ログ132bの転送中に発生した新たな更新ログ132とを第2データベース2に転送した場合の転送時間(第3転送時間)を算出する。
【0074】
その後、第2算出部114は、S22の処理で算出した第2転送時間と、S24の処理で算出した第3転送時間とを合計することによって第4転送時間を算出する(S25)。
【0075】
すなわち、第2算出部114は、通信障害の復旧時において第1データベース1に蓄積されていた全データと、通信障害の復旧後において発生した新たな更新ログ132とを第2データベース2に転送した場合の転送時間(第4転送時間)を算出する。
【0076】
そして、第1データベース1の方式決定部115は、
図10に示すように、S15の処理で算出した第1転送時間と、S25の処理で算出した第4転送時間とを比較する(S31)。
【0077】
その結果、第4転送時間が第1転送時間よりも長い場合(S32のYES)、方式決定部115は、第1更新ログ132aを含む更新ログ132のみを第2データベース2に対して転送する旨の決定を行う(S33)。
【0078】
その後、第1データベース1のデータ転送部116は、第1更新ログ132aを含む更新ログ132のみを第2データベースに対して転送する(S34)。
【0079】
すなわち、方式決定部115は、第4転送時間が第1転送時間よりも長い場合、第1データベース1に蓄積された全データの転送を行うよりも、第1更新ログ132aを含む更新ログ132のみの転送を行う方が、第1データベース1と第2データベース2との同期を迅速に行うことができると判定する。そのため、データ転送部116は、この場合、第2データベース2に対して第1更新ログ132aの転送を行う。
【0080】
これにより、第1データベース1は、第1データベース1と第2データベース2との同期を迅速に行うことが可能な転送方式を採用することが可能になる。
【0081】
一方、第4転送時間が第1転送時間よりも短い場合(S32のNO)、方式決定部115は、
図11に示すように、S22の処理で算出した第2転送時間と、情報格納領域130に記憶された遅延情報133が示す時間との合計時間と、情報格納領域130に記憶されたRPO情報134が示す時間とを比較する(S41)。以下、RPO情報134の具体例について説明を行う。
【0082】
[RPO情報の具体例]
図13は、RPO情報134の具体例について説明する図である。
【0083】
図13に示すRPO情報134は、RPO情報134に含まれる各情報を識別する情報が記憶される「項番」と、各データベースの名称が記憶される「データベース名」と、各データベースにおいて予め決められたRPOの最大許容時間が記憶される「最大RPO」とを項目として有する。
【0084】
具体的に、
図13に示すRPO情報134において、「項番」が「1」である情報には、「データベース名」として「データベース2」が記憶され、「最大RPO」として「8(時間)」が記憶されている。
【0085】
すなわち、
図13に示すRPO情報134は、例えば、第2データベース2において許容されているRPOの最大時間が8時間であることを示している。
【0086】
図11に戻り、情報格納領域130に記憶されたRPO情報134が示す時間が、S22の処理で算出した第2転送時間と情報格納領域130に記憶された遅延情報133が示す時間との合計時間よりも長い場合(S42のYES)、方式決定部115は、第1データベース1に蓄積された全データを第2データベース2に対して転送する旨の決定を行う(S43)。
【0087】
その後、データ転送部116は、第1データベース1に蓄積された全データを第2データベース2に対して転送する(S44)。
【0088】
一方、情報格納領域130に記憶されたRPO情報134が示す時間が、S22の処理で算出した第2転送時間と情報格納領域130に記憶された遅延情報133が示す時間との合計時間よりも短い場合(S42のNO)、方式決定部115は、S33以降の処理を行う。
【0089】
すなわち、方式決定部115は、第4転送時間が第1転送時間よりも短い場合、第1更新ログ132aを含む更新ログ132のみの転送を行うよりも、第1データベース1に蓄積された全データの転送を行う方が、第1データベース1と第2データベース2との同期を迅速に行うことができると判定する。
【0090】
ここで、第1更新ログ132aを含む更新ログ132のみの転送が行われる場合、第2データベース2では、第1データベース1から受信した更新ログ132から順に、第2データベース2の情報格納領域(図示しない)に蓄積された格納済データ(図示しない)に反映することが可能である。そのため、第1更新ログ132aを含む更新ログ132のみの転送が行われる場合、第2データベース2におけるRPOは、障害復旧時(更新ログ132の転送開始時)をピークとして減少する。
【0091】
これに対し、第1データベース1に蓄積された全データの転送を行う場合、第2データベース2におけるRPOは、第1データベース1に蓄積された全データの転送が完了するまで増加し続ける。
【0092】
そのため、方式決定部115は、第4転送時間が第1転送時間よりも短い場合であっても、第1データベース1に蓄積された全データの転送が完了する前に第2データベース2におけるRPOが最大許容時間を上回る場合(すなわち、S42の処理が「NO」である場合)、第1データベース1に蓄積された全データの転送を行う方式を採用せず、第1更新ログ132aを含む更新ログ132のみの転送を行う方式を採用する。
【0093】
これにより、第1情報処理装置1aは、第2データベース2に対するデータの転送方式を、第2データベース2におけるRPOが最大許容時間を超えない範囲内で決定することが可能になる。
【0094】
[転送方式制御処理の具体例]
次に、転送方式制御処理の具体例について説明を行う。
図14から
図16は、転送方式制御処理の具体例について説明するグラフである。
図14から
図16に示すグラフでは、横軸が経過時間を示しており、縦軸が遅延時間を示している。
【0095】
具体的に、
図14に示す例では、S22の処理で算出した第2転送時間(横軸に対応するt2)と、S24の処理で算出した第3転送時間(横軸に対応するt3)との合計時間である第4転送時間(横軸に対応するt4)が、S15の処理で算出した第1転送時間(横軸に対応するt1)よりも長い。
【0096】
そのため、方式決定部115は、この場合、S33の処理において、第1更新ログ132aを含む更新ログ132のみの転送を行う旨を決定する。
【0097】
また、
図15に示す例では、S22の処理で算出した第2転送時間(横軸に対応するt2)と、S24の処理で算出した第3転送時間(横軸に対応するt3)との合計時間である第4転送時間(横軸に対応するt4)が、S15の処理で算出した第1転送時間(横軸に対応するt1)よりも短い。そして、
図15に示す例では、遅延情報133が示す時間(縦軸に対応するt0)と、S22の処理で算出した第2転送時間(縦軸に対応するt2)との合計時間が、最大RPOよりも短い。
【0098】
そのため、方式決定部115は、この場合、S44の処理において、第1データベース1に蓄積された全データの転送を行う旨を決定する。
【0099】
一方、
図16に示す例では、S22の処理で算出した第2転送時間(横軸に対応するt2)と、S24の処理で算出した第3転送時間(横軸に対応するt3)との合計時間である第4転送時間(横軸に対応するt4)が、S15の処理で算出した第1転送時間(横軸に対応するt1)よりも短い。しかしながら、
図16に示す例では、遅延情報133が示す時間(縦軸に対応するt0)と、S22の処理で算出した第2転送時間(縦軸に対応するt2)との合計時間が、最大RPOよりも長い。
【0100】
そのため、方式決定部115は、この場合、S33の処理において、第1更新ログ132aを含む更新ログ132のみの転送を行う旨を決定する。
【0101】
このように、本実施の形態における第1データベース1は、障害の発生から復旧までの間に発生した第1データベース1に蓄積されたデータに対する第1更新ログ132aを第1データベース1から第2データベース2に転送する際に、第1更新ログ132aのデータ量と、第1データベース1に蓄積されたデータに対する単位時間あたりのデータ更新量と、第1データベース1から第2データベース2への単位時間あたりのデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第1更新ログ132aの第1転送時間を算出する。
【0102】
また、第1データベース1は、第1データベース1に蓄積された全データのデータ量と、第1データベース1から第2データベース2への単位時間あたりのデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第1データベース1に蓄積された全データの第2転送時間を算出する。
【0103】
続いて、第1データベース1は、第2転送時間において発生した第1データベース1に蓄積されたデータに対する第2更新ログ132bのデータ量と、第1データベース1に蓄積されたデータに対する単位時間あたりのデータ更新量と、第1データベース1から第2データベース2への単位時間あたりのデータ転送量とに基づいて、第1データベース1から第2データベース2に対する第2更新ログ132bの第3転送時間を算出する。
【0104】
さらに、第1データベース1は、算出した第2転送時間と第3転送時間とを合計することによって第4転送時間を算出する。
【0105】
その後、第1データベース1は、算出した第1転送時間と第4転送時間との比較結果に基づいて、第1データベース1に蓄積されたデータの転送方式を決定する。
【0106】
すなわち、本実施の形態における第1データベース1は、第1データベース1に蓄積されたデータのうち、障害の発生から復旧までの間に発生した第1更新ログ132aを第2データベース2に送信する場合に要するデータの第1転送時間と、第1データベース1に蓄積された全データを第2データベース2に送信する場合に要するデータの第4転送時間とを算出する。そして、第1データベース1は、算出した各転送時間のうち、短い方に対応するデータの転送方式を採用する。
【0107】
これにより、第1データベース1は、例えば、自然災害等の発生に伴う通信障害からの復旧後において、第1データベース1と第2データベース2との同期を行うために必要なデータ(更新ログ132)の転送を迅速に行うことが可能になる。そのため、第1データベース1は、データの転送完了前に自然災害等が再度発生し、第1情報処理装置1aで実行していた処理の実行を第2情報処理装置2aが引き継ぐ必要性が生じた場合であっても、第2データベース2におけるRPOを短縮させることが可能になる。
【0108】
なお、第1の実施の形態では、稼働側リージョンRE1及び災対側リージョンRE2に1組のデータベース(第1データベース1及び第2データベース2)のみが配備されている場合について説明したが、複数組のデータベースがそれぞれ配備されているものであってもよい。そして、この場合、第1の実施の形態における転送方式制御処理は、稼働側リージョンRE1に配備されたデータベースのそれぞれにおいて行われるものであってよい。
【0109】
[第2の実施の形態]
次に、第2の実施の形態について説明を行う。第2の実施の形態における転送方式制御処理は、後述する管理装置3が情報処理システム10に含まれる場合において行われる処理である。
【0110】
[第2の実施の形態における情報処理システムの構成]
初めに、第2の実施の形態における情報処理システム10の構成について説明を行う。
図17は、第2の実施の形態における情報処理システム10の構成について説明する図である。以下、第1の実施の形態と異なる内容についてのみ説明を行う。
【0111】
情報処理システム10は、
図17に示すように、第1の実施の形態における場合と異なり、管理装置3とを有する。
図17に示す例において、管理装置3は、災対側リージョンRE2に配備されている。
【0112】
管理装置3は、例えば、1以上の物理マシンであり、必要に応じて第1データベース1及び第2データベース2のそれぞれにアクセスを行い、第1データベース1から第2データベース2に対するデータの転送を制御する装置である。
【0113】
なお、以下、管理装置3が災対側リージョンRE2に配備されている場合について説明を行うが、管理装置3は、稼働側リージョンRE1に配備されているものであってもよく、稼働側リージョンRE1及び災対側リージョンRE2にそれぞれ配備されているものであってもよい。
【0114】
[第2の実施の形態における情報処理システムのハードウエア構成]
次に、第2の実施の形態における情報処理システム10のハードウエア構成について説明する。
図18は、管理装置3のハードウエア構成を説明する図である。
【0115】
管理装置3は、
図18に示すように、プロセッサであるCPU301と、メモリ302と、外部インターフェース(I/Oユニット)303と、記憶媒体304とを有する。各部は、バス305を介して互いに接続される。
【0116】
記憶媒体304は、例えば、転送方式制御処理を行うためのプログラム310を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体304は、例えば、転送方式制御処理を行う際に用いられる情報を記憶する記憶部330(以下、情報格納領域330とも呼ぶ)を有する。なお、記憶媒体304は、例えば、HDDやSSDであってよい。
【0117】
CPU301は、記憶媒体304からメモリ302にロードされたプログラム310を実行して転送方式制御処理を行う。
【0118】
外部インターフェース303は、例えば、第1データベース1と通信を行う。また、外部インターフェース303は、例えば、ネットワークNWを介することによって第2データベース2と通信を行う。
【0119】
[第2の実施の形態における情報処理システムの機能]
次に、第2の実施の形態における情報処理システム10の機能について説明を行う。
図19は、第2の実施の形態における管理装置3の機能のブロック図である。また、
図20は、第2の実施の形態における第1データベース1の機能のブロック図である。
【0120】
初めに、管理装置3の機能について説明を行う。管理装置3は、
図19に示すように、例えば、管理装置3のCPU301やメモリ302等のハードウエアとプログラム310とが有機的に協働することにより、情報取得部311と、情報管理部312と、情報送受信部313とを含む各種機能を実現する。
【0121】
また、管理装置3は、例えば、
図19に示すように、遅延情報331と、RPO情報332とを情報格納領域130に記憶する。なお、遅延情報331及びRPO情報332は、第1の実施の形態における遅延情報133及びRPO情報134と同じ内容の情報である。
【0122】
情報取得部311は、例えば、第2データベース2にアクセスすることによって、第2データベース2の情報格納領域(図示しない)に記憶されている遅延情報331及びRPO情報332を取得する。具体的に、情報取得部311は、例えば、定期的に第2データベース2にアクセスすることによって、最新の情報が反映された遅延情報331及びRPO情報332の取得を行う。なお、遅延情報331及びRPO情報332は、第2データベース2から随時送信されるものであってもよい。
【0123】
情報管理部312は、例えば、情報取得部311が第2データベース2から取得した遅延情報331及びRPO情報332を情報格納領域330に記憶する。
【0124】
情報送受信部313は、例えば、情報取得部311が第2データベース2から取得した遅延情報331及びRPO情報332を第1データベース1に送信する。また、情報送受信部313は、第1データベース1から送信された転送方式情報を受信する。
【0125】
さらに、情報送受信部313は、第1データベース1から送信された転送方式情報を受信した場合、転送方式情報が示す内容に従って、第1データベース1に蓄積された全データ(格納済データ131)の第2データベース2への転送、または、第1更新ログ132aを含む更新ログ132の第2データベース2への転送を第1データベース1に指示する。なお、情報送受信部313は、第1データベース1に蓄積された全データの第2データベース2への転送を指示する場合、データの転送を開始する前に、第1データベース1から転送されるデータ(第1データベース1に蓄積された全データ)の格納領域を第2データベース2内に確保するものであってもよい。
【0126】
次に、第1データベース1の機能について説明を行う。第1データベース1は、
図20に示すように、例えば、第1データベース1のCPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、情報取得部111と、情報管理部112と、第1算出部113と、第2算出部114と、方式決定部115と、データ転送部116と、情報送受信部117とを含む各種機能を実現する。
【0127】
また、第1データベース1は、例えば、
図20に示すように、格納済データ131と、更新ログ132とを情報格納領域130に記憶する。
【0128】
なお、第1算出部113、第2算出部114、方式決定部115及びデータ転送部116については、第1の実施の形態と同じ内容であるため説明を省略する。また、格納済データ131及び更新ログ132については、第1の実施の形態と同じ内容であるため説明を省略する。
【0129】
情報送受信部117は、例えば、管理装置3から送信された遅延情報331及びRPO情報332を受信する。また、情報送受信部117は、方式決定部115が転送方式の決定を行った場合、方式決定部115が決定した転送方式を示す情報(転送方式情報)を管理装置3に送信する。さらに、情報送受信部117は、管理装置3から、第1データベース1に蓄積された全データを第2データベース2に転送する旨の指示、または、第1更新ログ132aを含む更新ログ132のみの第2データベース2への転送を第1データベース1に転送する旨の指示を受信する。
【0130】
情報管理部112は、例えば、情報送受信部117が管理装置3から受信した遅延情報133及びRPO情報134を情報格納領域130に記憶する。
【0131】
情報取得部111は、情報格納領域130に記憶された遅延情報133が示す時間に発生した第1更新ログ132aのデータ量と、第1データベース1に蓄積された全データのデータ量とを取得する。また、情報取得部111は、第1データベース1に蓄積されたデータに対する単位時間あたりのデータ更新量と、第1データベース1から第2データベース2への単位時間あたりのデータ転送量とを取得する。なお、第2の実施の形態における情報取得部111は、第1の実施の形態における場合と異なり、第2データベース2からの情報の取得を行わない。
【0132】
[第2の実施の形態の詳細]
次に、第2の実施の形態の詳細について説明する。
図21から
図26は、第2の実施の形態における転送方式制御処理の詳細を説明するフローチャート図である。以下、遅延情報331及びRPO情報332が情報格納領域330に予め記憶されているものとして説明を行う。
【0133】
[管理装置における転送方式制御処理(1)]
初めに、管理装置3における転送方式制御処理の一部について説明を行う。
図21は、管理装置3における転送方式制御処理の一部について説明するフローチャート図である。
【0134】
管理装置3の情報取得部311は、
図21に示すように、データ転送タイミングになるまで待機する(S51のNO)。
【0135】
そして、データ転送タイミングになった場合(S51のYES)、情報取得部311は、情報格納領域330に記憶された遅延情報331を取得する(S52)。また、情報取得部311は、この場合、情報格納領域330に記憶されたRPO情報332を取得する(S53)。
【0136】
その後、管理装置3の情報送受信部313は、S52の処理で取得した遅延情報331と、S53の処理で取得したRPO情報332とを第1データベース1に送信する(S54)。
【0137】
[第1データベースにおける転送方式制御処理]
次に、第1データベース1における転送方式制御処理について説明を行う。
図22から
図25は、第1データベース1における転送方式制御処理について説明するフローチャート図である。
【0138】
第1データベース1の情報送受信部117は、
図22に示すように、管理装置3から遅延情報331及びRPO情報332を受信するまで待機する(S61のNO)。
【0139】
そして、管理装置3から遅延情報331及びRPO情報332を受信した場合(S61のYES)、第1データベース1の情報取得部111は、情報格納領域130に記憶された遅延情報133が示す時間に発生した第1更新ログ132aのデータ量を取得する(S62)。
【0140】
また、情報取得部111は、この場合、第1データベース1に蓄積されたデータに対する単位時間あたりのデータ更新量を取得する(S63)。
【0141】
さらに、情報取得部111は、第1データベース1から第2データベース2への単位時間あたりのデータ転送量を取得する(S64)。
【0142】
その後、第1データベース1の第1算出部113は、S62の処理で取得した第1更新ログ132aのデータ量を、S64の処理で取得したデータ転送量からS63の処理で取得したデータ更新量を減算したデータ量で除算することによって、第1転送時間を算出する(S65)。
【0143】
続いて、情報取得部111は、
図23に示すように、第1データベース1に蓄積された全データのデータ量を取得する(S71)。
【0144】
そして、第1データベース1の第2算出部114は、S71の処理で取得した全データのデータ量を、S64の処理で取得したデータ転送量で除算することによって、第2転送時間を算出する(S72)。
【0145】
次に、情報取得部111は、S72の処理で算出した第2転送時間において発生する第2更新ログ132bのデータ量を取得する(S73)。
【0146】
そして、第2算出部114は、S73の処理で取得した第2更新ログ132bのデータ量を、S64の処理で取得したデータ転送量からS63の処理で取得したデータ更新量を減算したデータ量で除算することによって、第3転送時間を算出する(S74)。
【0147】
その後、第2算出部114は、S72の処理で算出した第2転送時間と、S74の処理で算出した第3転送時間とを合計することによって第4転送時間を算出する(S75)。
【0148】
そして、第1データベース1の方式決定部115は、
図24に示すように、S65の処理で算出した第1転送時間と、S75の処理で算出した第4転送時間とを比較する(S81)。
【0149】
その結果、第4転送時間が第1転送時間よりも長い場合(S82のYES)、方式決定部115は、第1更新ログ132aを含む更新ログ132のみを第2データベース2に対して転送する旨の決定を行う(S83)。
【0150】
その後、情報送受信部117は、S83の処理で決定した転送方式を示す情報(転送方式情報)を管理装置3に送信する(S84)。
【0151】
そして、情報送受信部117は、管理装置3からデータの転送指示を受信するまで待機する(S85のNO)。具体的に、情報送受信部117は、S83の処理で決定した転送方式に従ったデータの転送指示を受信するまで待機する。
【0152】
その後、管理装置3からデータの転送指示を受信した場合(S85のYES)、第1データベース1のデータ転送部116は、第1更新ログ132aを含む更新ログ132のみを第2データベース2に対して転送する(S86)。
【0153】
一方、第4転送時間が第1転送時間よりも短い場合(S82のNO)、方式決定部115は、
図25に示すように、S62の処理で算出した第2転送時間と、S61の処理で受信した遅延情報331が示す時間との合計時間と、S61の処理で受信したRPO情報134が示す時間とを比較する(S91)。
【0154】
その結果、S61の処理で受信したRPO情報134が示す時間が、S62の処理で算出した第2転送時間とS61の処理で受信した遅延情報331が示す時間との合計時間よりも長い場合(S92のYES)、方式決定部115は、第1データベース1に蓄積された全データを第2データベース2に対して転送する旨の決定を行う(S93)。
【0155】
その後、情報送受信部117は、S93の処理で決定した転送方式を示す情報(転送方式情報)を管理装置3に送信する(S94)。
【0156】
そして、情報送受信部117は、管理装置3からデータの転送指示を受信するまで待機する(S95のNO)。具体的に、情報送受信部117は、S93の処理で決定した転送方式に従ったデータの転送指示を受信するまで待機する。
【0157】
その後、管理装置3からデータの転送指示を受信した場合(S95のYES)、データ転送部116は、第1データベース1に蓄積された全データを第2データベース2に対して転送する(S96)。
【0158】
一方、S61の処理で受信したRPO情報134が示す時間が、S62の処理で算出した第2転送時間とS61の処理で受信した遅延情報331が示す時間との合計時間よりも短い場合(S92のNO)、方式決定部115は、S83以降の処理を行う。
【0159】
[管理装置における転送方式制御処理(2)]
次に、管理装置3における転送方式制御処理の一部について説明を行う。
図26は、管理装置3における転送方式制御処理の一部について説明するフローチャート図である。
【0160】
情報送受信部313は、
図26に示すように、第1データベース1から転送方式情報を受信するまで待機する(S101のNO)。
【0161】
そして、第1データベース1から転送方式情報を受信した場合であって、受信した転送方式情報が第1データベース1に蓄積された全データを転送する方式を示している場合(S101のYES、S102のYES)、情報送受信部313は、第1データベース1に蓄積された全データの第2データベース2に対する転送を第1データベース1に指示する(S103)。
【0162】
なお、情報送受信部313は、この場合、S103の処理を行う前に、第1データベース1から転送されるデータ(第1データベース1に蓄積された全データ)の格納領域を第2データベース2内に確保する処理を行うものであってもよい。
【0163】
一方、第1データベース1から転送方式情報を受信した場合であって、受信した転送方式情報が第1更新ログ132aを含む更新ログ132のみを転送する方式を示している場合(S101のYES、S102のNO)、情報送受信部313は、第1更新ログ132aを含む更新ログ132の第2データベース2に対する転送を第1データベース1に指示する(S104)。
【0164】
すなわち、第2の実施の形態では、第1の実施の形態において第1データベース1が行っていた処理の負担を、第1データベース1と管理装置3との間で分散する。
【0165】
これにより、第2の実施の形態では、第1データベース1における処理の負担を軽減させることが可能になる。
【0166】
なお、第2の実施の形態では、稼働側リージョンRE1及び災対側リージョンRE2に1組のデータベース(第1データベース1及び第2データベース2)のみが配備されている場合について説明したが、複数組のデータベースがそれぞれ配備されているものであってもよい。そして、この場合、第2の実施の形態における転送方式制御処理は、稼働側リージョンRE1に配備されたデータベースのそれぞれにおいて行われるものであってよい。
【0167】
以上の実施の形態をまとめると、以下の付記のとおりである。
【0168】
(付記1)
障害の発生から復旧までの間に発生した第1データベースに蓄積されたデータに対する第1更新ログを前記第1データベースから第2データベースに転送する際に、前記第1更新ログのデータ量と、前記第1データベースに蓄積されたデータに対する単位時間あたりのデータ更新量と、前記第1データベースから前記第2データベースへの単位時間あたりのデータ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第1更新ログの第1転送時間を算出し、
前記第1データベースに蓄積された全データのデータ量と、前記データ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第1データベースに蓄積された全データの第2転送時間を算出し、前記第2転送時間において発生した前記第1データベースに蓄積されたデータに対する第2更新ログのデータ量と、前記データ更新量と、前記データ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第2更新ログの第3転送時間を算出し、算出した前記第2転送時間と前記第3転送時間とを合計することによって第4転送時間を算出し、
算出した前記第1転送時間と前記第4転送時間との比較結果に基づいて、前記第1データベースに蓄積されたデータの転送方式を決定する、
処理をコンピュータに実行させることを特徴とする転送方式制御プログラム。
【0169】
(付記2)
付記1において、
前記第1転送時間を算出する処理では、前記第1更新ログのデータ量を前記データ転送量から前記データ更新量を減算したデータ量で除算することによって、前記第1転送時間を算出する、
ことを特徴とする転送方式制御プログラム。
【0170】
(付記3)
付記1において、
前記第4転送時間を算出する処理では、前記第1データベースに蓄積された全データのデータ量を前記データ転送量で除算することによって、前記第2転送時間を算出する、
ことを特徴とする転送方式制御プログラム。
【0171】
(付記4)
付記1において、
前記第4転送時間を算出する処理では、前記第2更新ログのデータ量を前記データ転送量から前記データ更新量を減算したデータ量で除算することによって、前記第3転送時間を算出する、
ことを特徴とする転送方式制御プログラム。
【0172】
(付記5)
付記1において、
前記決定する処理では、前記第1転送時間が前記第4転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1更新ログの転送を行う旨の決定する、
ことを特徴とする転送方式制御プログラム。
【0173】
(付記6)
付記1において、
前記決定する処理では、前記第4転送時間が前記第1転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1データベースに蓄積された全データの転送を行う旨の決定する、
ことを特徴とする転送方式制御プログラム。
【0174】
(付記7)
付記6において、
前記決定する処理では、前記第4転送時間が前記第1転送時間よりも短い場合であって、前記障害の発生から前記障害の復旧までの時間と前記第2転送時間との合計時間が所定の閾値よりも長い場合、前記第1データベースから前記第2データベースに対して前記第1更新ログの転送を行う旨の決定する、
ことを特徴とする転送方式制御プログラム。
【0175】
(付記8)
障害の発生から復旧までの間に発生した第1データベースに蓄積されたデータに対する第1更新ログを前記第1データベースから第2データベースに転送する際に、前記第1更新ログのデータ量と、前記第1データベースに蓄積されたデータに対する単位時間あたりのデータ更新量と、前記第1データベースから前記第2データベースへの単位時間あたりのデータ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第1更新ログの第1転送時間を算出する第1算出部と、
前記第1データベースに蓄積された全データのデータ量と、前記データ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第1データベースに蓄積された全データの第2転送時間を算出し、前記第2転送時間において発生した前記第1データベースに蓄積されたデータに対する第2更新ログのデータ量と、前記データ更新量と、前記データ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第2更新ログの第3転送時間を算出し、算出した前記第2転送時間と前記第3転送時間とを合計することによって第4転送時間を算出する第2算出部と、
算出した前記第1転送時間と前記第4転送時間との比較結果に基づいて、前記第1データベースに蓄積されたデータの転送方式を決定する方式決定部と、を有する、
ことを特徴とする転送方式制御装置。
【0176】
(付記9)
付記8において、
前記方式決定部は、前記第1転送時間が前記第4転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1更新ログの転送を行う旨の決定する、
ことを特徴とする転送方式制御装置。
【0177】
(付記10)
付記8において、
前記方式決定部は、前記第4転送時間が前記第1転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1データベースに蓄積された全データの転送を行う旨の決定する、
ことを特徴とする転送方式制御装置。
【0178】
(付記11)
障害の発生から復旧までの間に発生した第1データベースに蓄積されたデータに対する第1更新ログを前記第1データベースから第2データベースに転送する際に、前記第1更新ログのデータ量と、前記第1データベースに蓄積されたデータに対する単位時間あたりのデータ更新量と、前記第1データベースから前記第2データベースへの単位時間あたりのデータ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第1更新ログの第1転送時間を算出し、
前記第1データベースに蓄積された全データのデータ量と、前記データ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第1データベースに蓄積された全データの第2転送時間を算出し、前記第2転送時間において発生した前記第1データベースに蓄積されたデータに対する第2更新ログのデータ量と、前記データ更新量と、前記データ転送量とに基づいて、前記第1データベースから前記第2データベースに対する前記第2更新ログの第3転送時間を算出し、算出した前記第2転送時間と前記第3転送時間とを合計することによって第4転送時間を算出し、
算出した前記第1転送時間と前記第4転送時間との比較結果に基づいて、前記第1データベースに蓄積されたデータの転送方式を決定する、
ことを特徴とする転送方式制御方法。
【0179】
(付記12)
付記11において、
前記決定する工程では、前記第1転送時間が前記第4転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1更新ログの転送を行う旨の決定する、
ことを特徴とする転送方式制御方法。
【0180】
(付記13)
付記11において、
前記決定する工程では、前記第4転送時間が前記第1転送時間よりも短い場合、前記第1データベースから前記第2データベースに対して前記第1データベースに蓄積された全データの転送を行う旨の決定する、
ことを特徴とする転送方式制御方法。
【符号の説明】
【0181】
1:第1データベース 1a:第1情報処理装置
2:第2データベース 2a:第2情報処理装置
NW:ネットワーク 3:管理装置