(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022049408
(43)【公開日】2022-03-29
(54)【発明の名称】情報処理システム、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G06F 11/14 20060101AFI20220322BHJP
G06F 11/20 20060101ALI20220322BHJP
G06F 3/06 20060101ALI20220322BHJP
【FI】
G06F11/14 669
G06F11/14 671
G06F11/14 664
G06F11/20 664
G06F11/20 674
G06F3/06 301X
G06F3/06 304F
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2020155603
(22)【出願日】2020-09-16
(71)【出願人】
【識別番号】598057291
【氏名又は名称】株式会社富士通エフサス
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】玉木 義彦
(72)【発明者】
【氏名】奥中 康弘
(72)【発明者】
【氏名】小木曽 満宜
(72)【発明者】
【氏名】奥山 賢二
(72)【発明者】
【氏名】▲高▼橋 学
(72)【発明者】
【氏名】福田 彰
(72)【発明者】
【氏名】金子 幹也
(72)【発明者】
【氏名】山田 貴裕
【テーマコード(参考)】
5B034
【Fターム(参考)】
5B034BB01
5B034CC01
5B034CC04
(57)【要約】
【課題】複数のディスク筐体を用いて同期を行う場合でもデータを保証すること。
【解決手段】情報処理システムは、第1センタと第2センタとを有する。第1センタは、複数の業務データと、複数の業務データの編集履歴を示すログデータとの組を時系列に第2センタに送信する。第2センタは、複数の業務データと、ログデータとの組を受信するたびに、複数の業務データを、第1ディスクと第2ディスクとに振り分けて格納し、同一のログデータを、第1ディスクおよび第2ディスクに格納する処理を繰り返し実行し、第1ディスクのログデータと、第2ディスクのログデータとを基にして、欠損した業務データを特定し、欠損した業務データを復元する処理を実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
第1センタと第2センタとを有する情報処理システムであって、
前記第1センタは、複数の業務データと、前記複数の業務データの編集履歴を示すログデータとの組を時系列に前記第2センタに送信し、
前記第2センタは、
複数の業務データと、前記ログデータとの組を受信するたびに、前記複数の業務データを、第1ディスクと第2ディスクとに振り分けて格納し、同一のログデータを、前記第1ディスクおよび第2ディスクに格納する処理を繰り返し実行し、
前記第1ディスクのログデータと、前記第2ディスクのログデータとを基にして、欠損した業務データを特定し、
前記欠損した業務データを復元する処理を実行する
ことを特徴とする情報処理システム。
【請求項2】
前記第2センタは、前記第1ディスクに第1ログデータと、前記第1ログデータに続く第2ログデータとが格納され、前記第2ディスクに前記第1ログデータが格納され、前記第2ログデータが格納されていない場合に、前記第1ログデータに対応する第1業務データと、前記第2ログデータに対応する第2業務データとを欠損した業務データとして特定することを特徴とする請求項1に記載の情報処理システム。
【請求項3】
前記第2センタは、前記第1ログデータおよび前記第2ログデータを基にして、前記第1業務データおよび前記第2業務データを復元し、前記第2ディスクに格納することを特徴とする請求項2に記載の情報処理システム。
【請求項4】
前記第2センタは、前記第1センタに異常が発生した場合に、前記欠損した業務データを特定する処理と、前記欠損した業務データを復元する処理を実行することを特徴とする請求項1、2または3に記載の情報処理システム。
【請求項5】
第1センタは、複数の業務データと、前記複数の業務データの編集履歴を示すログデータとの組を時系列に前記第2センタに送信し、
前記第2センタは、複数の業務データと、前記ログデータとの組を受信するたびに、前記複数の業務データを、第1ディスクと第2ディスクとに振り分けて格納し、同一のログデータを、前記第1ディスクおよび第2ディスクに格納する処理を繰り返し実行し、
前記第2センタは、前記第1ディスクのログデータと、前記第2ディスクのログデータとを基にして、欠損した業務データを特定し、
前記第2センタは、欠損した業務データを復元する処理を実行する
ことを特徴とする情報処理方法。
【請求項6】
コンピュータに、
他のコンピュータから、複数の業務データと、前記複数の業務データの編集履歴を示すログデータとの組を時系列に受信し、
複数の業務データと、前記ログデータとの組を受信するたびに、前記複数の業務データを、第1ディスクと第2ディスクとに振り分けて格納し、同一のログデータを、前記第1ディスクおよび第2ディスクに格納する処理を繰り返し実行し、
前記第1ディスクのログデータと、前記第2ディスクのログデータとを基にして、欠損した業務データを特定し、
欠損した業務データを復元する処理
を実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム等に関する。
【背景技術】
【0002】
企業では、大規模地震や記録的な豪雨、洪水等の異常事態に対応するため、基幹システムの冗長化を行っている。以下の説明では、冗長化を行った基幹システムをGS(Global Server)システムと表記する。GSシステムでは、レプリケーション方式、または、バックアップ転送方式によって、冗長化を行っている。
【0003】
ここでは、レプリケーション方式によって、冗長化を行うGSシステムについて説明する。レプリケーション方式では、GSシステムに含まれる正センタのディスクと、副センタのディスクとの間で、データの同期を行っており、正センタに異常が発生した場合に、副センタに切り替えを行うことで、正センタで実行中の処理を、副センタで引き継ぐことが可能となる。
【0004】
たとえば、レプリケーション方式によって、データの同期を行う場合には、Consistency REC機能が利用される。このConsistency REC機能は、ディスク筐体間で、更新順序を保証したデータ転送を行うものであり、すべてのデータを時系列に転送するため、データの整合性を確保することができる。
【0005】
図9は、Consistency REC機能を説明するための図である。
図9に示すように、正センタ10と、副センタ20とは、ネットワークNを介して、相互に接続される。正センタ10には、ディスク筐体10Aが含まれ、副センタ20には、ディスク筐体20Aが含まれる。ディスク筐体10Aには、履歴ログ格納部11と、DB(Data Base)12とが含まれる。ディスク筐体20Aには、履歴ログ格納部21と、DB22とが含まれる。
【0006】
履歴ログ格納部11は、ログデータを時系列に格納し、DB12は、業務データを時系列に格納する。履歴ログ格納部21は、ログデータを時系列に格納し、DB22は、業務データを時系列に格納する。ログデータは、業務データの編集履歴等に関する情報を有する。
【0007】
たとえば、正センタ10において、ログデータ(1)、業務データ(1)、ログデータ(2)、業務データ(2)、ログデータ(3)、業務データ(3)が順に生成された場合について説明する。業務データ(n)と、ログデータ(n+1)との区切りを、トランザクションの区切りとする。
【0008】
正センタ10は、履歴ログ格納部11にログデータ(1)を格納し(ステップS1a)、DB12に業務データ(1)を格納する。(ステップS2a)。正センタ10は、履歴ログ格納部11にログデータ(2)を格納し(ステップS3a)、DB12に業務データ(2)を格納する。(ステップS3a)。正センタ10は、履歴ログ格納部11にログデータ(3)を格納し(ステップS4a)、DB12に業務データ(3)を格納する。(ステップS5a)。
【0009】
正センタ10は、上記順序によって、ログデータ、業務データを格納する処理を実行しつつ、ログデータ、業務データを副センタ20に時系列で送信する。たとえば、正センタ10は、ログデータ(1)、業務データ(1)、ログデータ(2)、業務データ(2)、ログデータ(3)、業務データ(3)の順に、ログデータ、業務データを、副センタ20に送信する。
【0010】
副センタ20では、正センタ10から、ログデータ、業務データを受信すると、受信した順序で、ログデータ、業務データを、履歴ログ格納部21、DB22に格納する。
【0011】
すなわち、副センタ20は、履歴ログ格納部21にログデータ(1)を格納し(ステップS1b)、DB22に業務データ(1)を格納する(ステップS2b)。副センタ20は、履歴ログ格納部21にログデータ(2)を格納し(ステップS3b)、DB22に業務データ(2)を格納する。(ステップS3b)。副センタ20は、履歴ログ格納部21にログデータ(3)を格納し(ステップS4b)、DB22に業務データ(3)を格納する。(ステップS5b)。
【0012】
図9で説明したように、ディスク筐体が1つの場合には、Consistency REC機能によって、更新順序を保証したデータ転送を行っているため、ネットワーク遅延が発生した場合でも、データ保証を行うことができる。たとえば、正センタ10に障害が発生し、副センタ側で、ログデータ(2)までの受信が完了している場合には、ログデータ(2)の次に、業務データ(2)が送信されることが保証されているため、業務データ(2)の受信が未完了であっても、ログデータ(2)を用いて、業務データ(2)を生成し、データ保証を行うことができる。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2009-123055号公報
【特許文献2】特開2007-264946号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
しかしながら、上述した従来技術では、ディスク筐体が複数存在する場合に、ネットワーク遅延の発生によって、データ保証を行うことができないという問題がある。
【0015】
まず、2つのディスク筐体についてConsistency REC機能を利用する正常時の処理を説明する。
図10は、2つのディスク筐体についてConsistency REC機能を利用する正常時の処理を説明するための図である。
図10に示すように、正センタ15と、副センタ25とは、ネットワークNを介して、相互に接続される。正センタ15には、ディスク筐体15A,15Bが含まれ、副センタ25には、ディスク筐体25A,25Bが含まれる。
【0016】
ディスク筐体15Aには、履歴ログ格納部15A-1と、DB15A-2とが含まれる。ディスク筐体15Bには、DB15B-1が含まれる。ディスク筐体25Aには、履歴ログ格納部25A-1と、DB25A-2とが含まれる。ディスク筐体25Bには、DB25B-1が含まれる。
【0017】
履歴ログ格納部15A-1は、ログデータを時系列に格納し、DB15A-2,15B-1は、業務データを時系列に格納する。履歴ログ格納部25A-1は、ログデータを時系列に格納し、DB25A-2,25B-1は、業務データを時系列に格納する。
【0018】
たとえば、正センタ15において、ログデータ(1)(2)、業務データ(1)、業務データ(2)、ログデータ(3)(4)、業務データ(3)、業務データ(4)、ログデータ(5)(6)、業務データ(5)、業務データ(6)が順に生成された場合について説明する。ログデータ(n)(n+1)は、業務データ(n)および業務データ(n+1)に対応するログデータである。業務データ(n)と、ログデータ(n+1)(n+2)との区切りを、トランザクションの区切りとする。
【0019】
正センタ15は、履歴ログ格納部15A-1にログデータ(1)(2)を格納し(ステップS1c)、DB15A-2に業務データ(1)を格納する(ステップS2c)。正センタ15は、DB15B-1に業務データ(2)を格納する(ステップS3c)。
【0020】
正センタ15は、履歴ログ格納部15A-1にログデータ(3)(4)を格納し(ステップS4c)、DB15A-2に業務データ(3)を格納する(ステップS5c)。正センタ15は、DB15B-1に業務データ(4)を格納する(ステップS6c)。
【0021】
正センタ15は、履歴ログ格納部15A-1にログデータ(5)(6)を格納し(ステップS7c)、DB15A-2に業務データ(5)を格納する(ステップS8c)。正センタ15は、DB15B-1に業務データ(6)を格納する(ステップS9c)。
【0022】
正センタ15は、上記順序によって、ログデータ、業務データを格納する処理を実行しつつ、ログデータ、業務データを副センタ25に時系列で送信する。たとえば、正センタ15は、ログデータ(1)(2)、業務データ(1)、業務データ(2)、ログデータ(3)(4)、業務データ(3)、業務データ(4)、ログデータ(5)(6)、業務データ(5)、業務データ(6)の順に、ログデータ、業務データを、副センタ25に送信する。
【0023】
副センタ25では、正センタ15から、ログデータ、業務データを受信すると、受信した順序で、ログデータ、業務データを、履歴ログ格納部25A-1、DB25A-2、25B-1に格納する。
【0024】
すなわち、副センタ25は、履歴ログ格納部25A-1にログデータ(1)(2)を格納し(ステップS1d)、DB25A-2に業務データ(1)を格納する(ステップS2d)。副センタ25は、DB25B-1に業務データ(2)を格納する(ステップS3d)。
【0025】
副センタ25は、履歴ログ格納部25A-1にログデータ(3)、(4)を格納し(ステップS4d)、DB25A-2に業務データ(3)を格納する(ステップS5d)。副センタ25は、DB25B-1に業務データ(4)を格納する(ステップS6d)。
【0026】
副センタ25は、履歴ログ格納部25A-1にログデータ(5)、(6)を格納し(ステップS7d)、DB25A-2に業務データ(5)を格納する(ステップS8d)。副センタ25は、DB25B-1に業務データ(6)を格納する(ステップS9d)。
【0027】
なお、ログデータ(1)(2)、(3)(4)、(5)(6)、業務データ(1)、(3)、(5)については、ディスク筐体15Aから、ディスク筐体25Aに送信される。業務データ(2)、(4)、(6)については、ディスク筐体15Bから、ディスク筐体25Bに送信される。
【0028】
続いて、2つのディスク筐体についてConsistency REC機能を利用する場合の異常時の処理の問題点について説明する。
図11は、従来技術の問題点を説明するための図である。たとえば、ネットワーク負荷によって、ディスク筐体15Bから、ディスク筐体25Bのデータ転送が遅延した場合について説明する。
【0029】
図11の正センタ15では、
図10で説明したように、履歴ログ格納部15A-1にログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)が格納される。DB15A-2には、業務データ(1)、業務データ(3)、業務データ(5)が格納される。DB15B-1には、業務データ(2)、業務データ(4)、業務データ(6)が格納される。
【0030】
また、ディスク筐体15Aと、ディスク筐体25Aとの間で遅延が発生していないものとすると、履歴ログ格納部25A-1には、
図10で説明したように、履歴ログ格納部25A-1にログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)が格納される。DB25A-2には、業務データ(1)、業務データ(3)、業務データ(5)が格納される。
【0031】
ここで、ディスク筐体15Bと、ディスク筐体25Bとの間で遅延が発生し、DB25B-1に、業務データ(2)が格納され、業務データ(4)、業務データ(6)できていない状況が発生すると、データ欠損となるが、従来技術では、ディスク筐体25Bがどこまで業務データを正常に格納しているかを特定することができない。たとえば、
図11に示す例では、業務データ(4)、業務データ(6)が欠損範囲となるが、従来技術では、かかる欠損範囲を特定できず、欠損範囲をリカバリすることができない。
【0032】
たとえば、欠損範囲を特定しないまま、欠損範囲の対象を最新の業務データ(6)として、リカバリを行うと、欠損範囲に含まれる業務データ(4)がリカバリされないままとなり、DB25B-1を破壊してしまう場合がある。
【0033】
1つの側面では、本発明は、複数のディスク筐体を用いて同期を行う場合でもデータを保証することができる情報処理システム、情報処理方法および情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0034】
第1の案では、情報処理システムは、第1センタと第2センタとを有する。第1センタは、複数の業務データと、複数の業務データの編集履歴を示すログデータとの組を時系列に第2センタに送信する。第2センタは、複数の業務データと、ログデータとの組を受信するたびに、複数の業務データを、第1ディスクと第2ディスクとに振り分けて格納し、同一のログデータを、第1ディスクおよび第2ディスクに格納する処理を繰り返し実行し、第1ディスクのログデータと、第2ディスクのログデータとを基にして、欠損した業務データを特定し、欠損した業務データを復元する処理を実行する。
【発明の効果】
【0035】
複数のディスク筐体を用いて同期を行う場合でもデータを保証することができる。
【図面の簡単な説明】
【0036】
【
図1】
図1は、本実施例に係る情報処理システムの正常時の処理を説明するための図である。
【
図2】
図2は、本実施例に係る情報処理システムの異常時の処理を説明するための図である。
【
図3】
図3は、本実施例に係る正センタの構成を示す機能ブロック図である。
【
図4】
図4は、本実施例に係る副センタの構成を示す機能ブロック図である。
【
図5】
図5は、正センタの処理手順を示すフローチャートである。
【
図6】
図6は、副センタの処理手順を示すフローチャートである。
【
図7】
図7は、本実施例に係る正センタと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図8】
図8は、本実施例に係る副センタと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【
図9】
図9は、Consistency REC機能を説明するための図である。
【
図10】
図10は、2つのディスク筐体についてConsistency REC機能を利用する正常時の処理を説明するための図である。
【
図11】
図11は、従来技術の問題点を説明するための図である。
【発明を実施するための形態】
【0037】
以下に、本願の開示する情報処理システム、情報処理方法および情報処理プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例0038】
本実施例に係る情報処理システムの処理を説明するための図である。まず、本実施例に係る情報処理システムの正常時の処理について説明する。
図1は、本実施例に係る情報処理システムの正常時の処理を説明するための図である。
【0039】
図1に示すように、情報処理システムは、正センタ100と、副センタ200とを有する。正センタ100は、ネットワークNを介して相互に接続される。正センタ100には、第1ディスク筐体140および第2ディスク筐体150が含まる。副センタ200には、第1ディスク筐体240および第2ディスク筐体250が含まれる。
【0040】
第1ディスク筐体140には、履歴ログ格納部141と、DB142とが含まれる。第2ディスク筐体150には、履歴ログ格納部151と、DB152とが含まれる。
【0041】
第1ディスク筐体240には、履歴ログ格納部141と、DB142とが含まれる。第2ディスク筐体150には、履歴ログ格納部151と、DB152とが含まれる。
【0042】
たとえば、正センタ100において、ログデータ(1)(2)、業務データ(1)、業務データ(2)、ログデータ(3)(4)、業務データ(3)、業務データ(4)、ログデータ(5)(6)、業務データ(5)、業務データ(6)が順に生成された場合について説明する。ログデータ(n)(n+1)は、業務データ(n)および業務データ(n+1)に対応するログデータである。業務データ(n)と、ログデータ(n+1)(n+2)との区切りを、トランザクションの区切りとする。
【0043】
正センタ100は、第1ディスク筐体140の履歴ログ格納部141にログデータ(1)(2)を格納し(ステップS1e)、DB142に業務データ(1)を格納する(ステップS2e)。正センタ100は、第2ディスク筐体150の履歴ログ格納部151にログデータ(1)(2)を格納し(ステップS3e)、DB152に業務データ(2)を格納する(ステップS4e)。
【0044】
正センタ100は、第1ディスク筐体140の履歴ログ格納部141にログデータ(3)(4)を格納し(ステップS5e)、DB142に業務データ(3)を格納する(ステップS6e)。正センタ100は、第2ディスク筐体150の履歴ログ格納部151にログデータ(3)(4)を格納し(ステップS7e)、DB152に業務データ(4)を格納する(ステップS8e)。
【0045】
正センタ100は、第1ディスク筐体140の履歴ログ格納部141にログデータ(5)(6)を格納し(ステップS9e)、DB142に業務データ(5)を格納する(ステップS10e)。正センタ100は、第2ディスク筐体150の履歴ログ格納部151にログデータ(5)(6)を格納し(ステップS11e)、DB152に業務データ(6)を格納する(ステップS12e)。
【0046】
正センタ100は、上記順序によって、ログデータ、業務データを格納する処理を実行しつつ、ログデータ、業務データを副センタ25に時系列で送信する。たとえば、正センタ100は、ログデータ(1)(2)、業務データ(1)、ログデータ(1)(2)、業務データ(2)、ログデータ(3)(4)、業務データ(3)、ログデータ(3)(4)、業務データ(4)、ログデータ(5)(6)、業務データ(5)、ログデータ(5)(6)、業務データ(6)の順に、ログデータ、業務データを、副センタ25に送信する。
【0047】
より具体的には、正センタ100の第1ディスク筐体140から、副センタ200の第1ディスク筐体240に対して、ログデータ(1)(2)、業務データ(1)、ログデータ(3)(4)、業務データ(3)、ログデータ(5)(6)、業務データ(5)を順に送信する。
【0048】
正センタ100の第2ディスク筐体150から、副センタ200の第2ディスク筐体250に対して、ログデータ(1)(2)、業務データ(2)、ログデータ(3)(4)、業務データ(4)、ログデータ(5)(6)、業務データ(6)を順に送信する。
【0049】
副センタ200では、正センタ100から、ログデータ、業務データを受信すると、受信した順序で、ログデータ、業務データを、履歴ログ格納部241,251、DB242,252に格納する。
【0050】
すなわち、副センタ200は、第1ディスク筐体240の履歴ログ格納部241にログデータ(1)(2)を格納し(ステップS1f)、DB242に業務データ(1)を格納する(ステップS2f)。副センタ200は、第2ディスク筐体250の履歴ログ格納部251にログデータ(1)(2)を格納し(ステップS3f)、DB252に業務データ(2)を格納する(ステップS4f)。
【0051】
副センタ200は、第1ディスク筐体240の履歴ログ格納部241にログデータ(3)(4)を格納し(ステップS5f)、DB242に業務データ(3)を格納する(ステップS6f)。副センタ200は、第2ディスク筐体250の履歴ログ格納部251にログデータ(3)(4)を格納し(ステップS7f)、DB252に業務データ(4)を格納する(ステップS8f)。
【0052】
副センタ200は、第1ディスク筐体240の履歴ログ格納部241にログデータ(5)(6)を格納し(ステップS9f)、DB242に業務データ(5)を格納する(ステップS10f)。副センタ200は、第2ディスク筐体250の履歴ログ格納部251にログデータ(5)(6)を格納し(ステップS11f)、DB252に業務データ(6)を格納する(ステップS12f)。
【0053】
上記のように、正センタ100は、トランザクションの区切り毎に、同一のログデータを、第1ディスク筐体140および第2ディスク筐体150に格納する。また、正センタ100は、複数の業務データを、第1ディスク筐体140および第2ディスク筐体150に振り分けて格納する。また、正センタ100は、トランザクションの区切り毎に、ログデータと、複数の業務データとを、副センタ200に送信する。
【0054】
副センタ200は、トランザクションの区切り毎に、ログデータと、複数の業務データとを受信すると、トランザクションの区切り毎に、同一のログデータを、第1ディスク筐体240および第2ディスク筐体250に格納する。また、副センタ200は、複数の業務データを、第1ディスク筐体240および第2ディスク筐体250に振り分けて格納する。
【0055】
次に、本実施例に係る情報処理システムの異常時の処理について説明する。
図2は、本実施例に係る情報処理システムの異常時の処理を説明するための図である。
図2では一例として、ネットワークNの負荷によって、第2ディスク筐体150から、第2ディスク筐体250への転送が遅延した場合について説明する。
【0056】
図2の正センタ100では、
図1で説明したように、履歴ログ格納部141に、ログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)が格納される。DB142に、業務データ(1)、業務データ(3)、業務データ(5)が格納される。履歴ログ格納部151に、ログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)が格納される。DB152に、業務データ(2)、業務データ(4)、業務データ(6)が格納される。
【0057】
また、第1ディスク筐体140と、第1ディスク筐体240との間で遅延が発生しないものとすると、
図1で説明したように、履歴ログ格納部241に、ログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)が格納される。DB242には、業務データ(1)、業務データ(3)、業務データ(5)が格納される。
【0058】
一方、第2ディスク筐体150から、第2ディスク筐体250への転送が遅延し、履歴ログ格納部251には、ログデータ(1)(2)、ログデータ(3)(4)が格納され、DB252には、業務データ(2)が格納されていないものとする。
【0059】
副センタ200は、所定の時間間隔において、履歴ログ格納部241に格納されたログデータと、履歴ログ格納部251に格納されたログデータとを比較して、欠損した業務データを特定する処理を実行する。
図2で説明した例では、履歴ログ格納部241には、ログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)が格納されており、
図1で説明したデータ送信の順序性に基づくと、正センタ100から、副センタ200へ、業務データ(1)~(6)が送信されていることが特定される。また、履歴ログ格納部251には、ログデータ(1)(2)、ログデータ(3)(4)が格納されているため、DB252には、少なくとも、業務データ(2)までの格納が完了していることが特定される。これによって、副センタ200は、欠損範囲の業務データとして、業務データ(4)、業務データ(6)を特定する。
【0060】
副センタ200は、欠損範囲の業務データを特定すると、欠損した業務データに対応するログデータを用いて、欠損した業務データを復元(リカバリ)する。たとえば、欠損した業務データを業務データ(4)、業務データ(6)とすると、副センタ200は、ログデータ(3)(4)、ログデータ(5)(6)に含まれる編集履歴を基にして、業務データ(4)、業務データ(6)を復元する。副センタ200は、復元した業務データ(4)、業務データ(6)を、DB252に格納する。また、副センタ200は、ログデータ(5)(6)を、履歴ログ格納部251に格納してもよい。
【0061】
上記のように、本実施例に係る情報処理システムは、正センタ100と、副センタ200とが、複数のディスク筐体を用いて、Consistency REC方式によって同期を行う場合に、ディスク筐体毎にログデータおよび業務データを時系列で格納する。ここで、副センタ200は、各ディスク筐体のログデータを比較することで、欠損範囲の業務データを特定することができ、欠損範囲の業務データを復元することができる。すなわち、ディスク筐体が複数存在する場合に、ネットワーク遅延が発生しても、データ保証を行うことができる。
【0062】
次に、
図1、2で説明した正センタ100の構成の一例について説明する。
図3は、本実施例に係る正センタの構成を示す機能ブロック図である。
図3に示すように、この正センタ100は、通信部110と、入力部120と、出力部130と、第1ディスク筐体140と、第2ディスク筐体150と、制御部160とを有する。
【0063】
通信部110は、ネットワークNを介して、副センタ200とデータ通信を実行する処理部である。たとえば、通信部110は、NIC(Network Interface Card)等によって実現される。
【0064】
入力部120は、正センタ100に各種の情報を入力するための入力装置である。入力部120は、キーボード、マウス、タッチパネル等に対応する。
【0065】
出力部130は、制御部160から出力される情報を表示する表示装置である。出力部130は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ、タッチパネル等に対応する。
【0066】
第1ディスク筐体140は、履歴ログ格納部141と、DB142とを有する。
図1で説明したように、履歴ログ格納部141は、ログデータを時系列に格納する。DB142は、業務データを時系列に格納する。履歴ログ格納部141、DB142は、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、SSD(Solid State Drive)、HDD(Hard Disk Drive)等に対応する。
【0067】
第2ディスク筐体150は、履歴ログ格納部151と、DB152とを有する。
図1で説明したように、履歴ログ格納部151は、ログデータを時系列に格納する。DB152は、業務データを時系列に格納する。履歴ログ格納部151、DB152は、フラッシュメモリ等の半導体メモリ素子、SSD、HDD等に対応する。
【0068】
制御部160は、取得部161と、第1ディスク筐体管理部162と、第2ディスク筐体管理部163とを有する。制御部160は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)により実現される。また、制御部160は、たとえば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実行されてもよい。
【0069】
取得部161は、正センタ100側で生成されるログデータおよび業務データを時系列に取得する処理部である。ログデータおよび業務データは、正センタ100が生成してもよいし、正センタ100に接続される外部装置が生成してもよい。
【0070】
たとえば、取得部161は、トランザクションの区切り毎に、ログデータ(n)(n+1)と、業務データ(n)、業務データ(n+1)を取得するものとする。取得部161は、ログデータ(n)(n+1)と、業務データ(n)とを、第1ディスク筐体管理部162に出力し、ログデータ(n)(n+1)と、業務データ(n)とを、第2ディスク筐体管理部163に出力する。
【0071】
取得部161は、ログデータ(n)(n+1)と、業務データ(n)、業務データ(n+1)とを取得するたびに、上記処理を繰り返し実行する。
【0072】
第1ディスク筐体管理部162は、ログデータ(n)(n+1)と、業務データ(n)とを取得するたびに、取得したログデータ(n)(n+1)を、履歴ログ格納部141に格納し、業務データ(n)を、DB142に格納する処理を繰り返し実行する。
【0073】
第1ディスク筐体管理部162は、ログデータ(n)(n+1)と、業務データ(n)とを取得するたびに、ログデータ(n)(n+1)と、業務データ(n)とを、副センタ200に送信する。
【0074】
第2ディスク筐体管理部163は、ログデータ(n)(n+1)と、業務データ(n+1)とを取得するたびに、取得したログデータ(n)(n+1)を、履歴ログ格納部151に格納し、業務データ(n+1)を、DB152に格納する処理を繰り返し実行する。
【0075】
第2ディスク筐体管理部163は、ログデータ(n)(n+1)と、業務データ(n+1)とを取得するたびに、ログデータ(n)(n+1)と、業務データ(n+1)とを、副センタ200に送信する。
【0076】
ここで、第1ディスク筐体管理部162および第2ディスク筐体管理部163は、ログデータ、業務データを副センタ200に送信する場合に、順序性を保証する。たとえば、第1ディスク筐体管理部162が、ログデータ(n)(n+1)と、業務データ(n)とを副センタ200に送信した後に、第2ディスク筐体管理部163が、ログデータ(n)(n+1)と、業務データ(n+1)とを副センタ200に送信する。
【0077】
第1ディスク筐体管理部162および第2ディスク筐体管理部163は、データを副センタ200に送信する場合に、同一のネットワーク回線を用いてもよいし、それぞれ異なる固有のネットワーク回線を使って、データを副センタ200に送信してもよい。
【0078】
次に、
図1、2で説明した副センタ200の構成の一例について説明する。
図4は、本実施例に係る副センタの構成を示す機能ブロック図である。
図4に示すように、この副センタ200は、通信部210と、入力部220と、出力部230と、第1ディスク筐体240と、第2ディスク筐体250と、制御部260とを有する。
【0079】
通信部210は、ネットワークNを介して、正センタ100とデータ通信を実行する処理部である。たとえば、通信部210は、NIC等によって実現される。
【0080】
入力部220は、副センタ200に各種の情報を入力するための入力装置である。入力部220は、キーボード、マウス、タッチパネル等に対応する。
【0081】
出力部230は、制御部260から出力される情報を表示する表示装置である。出力部230は、液晶ディスプレイ、有機ELディスプレイ、タッチパネル等に対応する。
【0082】
第1ディスク筐体240は、履歴ログ格納部241と、DB242とを有する。
図1で説明したように、履歴ログ格納部241は、ログデータを時系列に格納する。DB242は、業務データを時系列に格納する。履歴ログ格納部241、DB242は、フラッシュメモリ等の半導体メモリ素子、SSD、HDD等に対応する。
【0083】
第2ディスク筐体250は、履歴ログ格納部251と、DB252とを有する。
図1で説明したように、履歴ログ格納部251は、ログデータを時系列に格納する。DB252は、業務データを時系列に格納する。履歴ログ格納部151、DB152は、フラッシュメモリ等の半導体メモリ素子、SSD、HDD等に対応する。
【0084】
第1ディスク筐体管理部261は、正センタ100の第1ディスク筐体管理部162から、ログデータと、業務データとを時系列に取得する。第1ディスク筐体管理部261は、ログデータを時系列に履歴ログ格納部241に格納する。
【0085】
たとえば、第1ディスク筐体管理部261は、ログデータ(n)(n+1)と、業務データ(n)とを取得するたびに、取得したログデータ(n)(n+1)を、履歴ログ格納部241に格納し、業務データ(n)を、DB242に格納する処理を繰り返し実行する。
図1で説明した例では、第1ディスク筐体管理部261は、ログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)を順に、履歴ログ格納部241に格納する。第1ディスク筐体管理部261は、業務データ(1)、業務データ(3)、業務データ(5)を順に、DB242に格納する。
【0086】
第2ディスク筐体管理部262は、正センタ100の第2ディスク筐体管理部163から、ログデータと、業務データとを時系列に取得する。第2ディスク筐体管理部262は、ログデータを時系列に履歴ログ格納部251に格納する。第2ディスク筐体管理部262は、ログデータ(n)(n+1)と、業務データ(n+1)とを取得するたびに、取得したログデータ(n)(n+1)を、履歴ログ格納部251に格納し、業務データ(n+1)を、DB252に格納する処理を繰り返し実行する。
図1で説明した例では、第1ディスク筐体管理部261は、ログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)を順に、履歴ログ格納部241に格納する。第2ディスク筐体管理部262は、業務データ(2)、業務データ(4)、業務データ(6)を順に、DB252に格納する。
【0087】
一方、正センタ100の第2ディスク筐体管理部163と、副センタ200の第2ディスク筐体管理部262とのネットワーク回線が遅延している場合には、
図2で説明したように、履歴ログ格納部241では、ログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)を格納し、履歴ログ格納部251では、ログデータ(1)(2)、ログデータ(3)(4)を格納することが起こり得る。
【0088】
また、正センタ100の第2ディスク筐体管理部163と、副センタ200の第2ディスク筐体管理部262とのネットワーク回線が遅延している場合には、
図2で説明したように、DB252では、業務データ(2)のみを格納することが起こり得る。
【0089】
特定部263は、所定の時間間隔で、履歴ログ格納部241のログデータと、履歴ログ格納部251のログデータとを基にして、欠損した業務データを特定する処理部である。
【0090】
特定部263の処理を、
図2を用いて説明する。特定部263は、履歴ログ格納部241には、ログデータ(1)(2)、ログデータ(3)(4)、ログデータ(5)(6)が格納されており、
図1で説明したデータ送信の順序性に基づくと、正センタ100から、副センタ200へ、業務データ(1)~(6)が送信されていることが特定される。また、履歴ログ格納部251には、ログデータ(1)(2)、ログデータ(3)(4)が格納されているため、DB252には、少なくとも、業務データ(2)までの格納が完了していることが特定される。これによって、特定部263は、欠損した業務データとして、業務データ(4)、業務データ(6)を特定する。欠損した業務データを識別する情報を、欠損範囲情報と表記する。特定部263は、欠損範囲情報を、復元部264に出力する。
【0091】
上記の例では、特定部263は、所定の時間間隔で、欠損した業務データを特定する場合について説明したが、これに限定されるものではない。たとえば、特定部263は、正センタ100に異常が発生したことを外部装置等から受け付けた場合に、欠損した業務データを特定する処理を実行してもよい。
【0092】
復元部264は、欠損した業務データを復元する処理部である。復元部264は、特定部263から、欠損範囲情報を取得し、欠損した業務データを識別する。復元部264は、欠損した業務データに対応するログデータを履歴ログ格納部241から取得する。
【0093】
復元部264は、
図2で説明したように欠損した業務データを業務データ(4)、(6)とすると、業務データ(4)に対応するログデータ(3)(4)と、業務データ(6)に対応するログデータ(5)(6)を取得する。
【0094】
復元部264は、ログデータ(3)(4)を基にして、業務データ(3)から、業務データ(4)にいたる編集履歴を組み合わせることで、業務データ(4)を復号する。復元部264は、ログデータ(5)(6)を基にして、業務データ(5)から、業務データ(6)にいたる編集履歴を組み合わせることで、業務データ(6)を復号する。
【0095】
復元部264は、復号した業務データを、DB252に格納する。復元部254は、業務データを、DB252に格納する場合には、時系列に基づいて、業務データを格納する。たとえば、業務データ(4)、業務データ(6)を復号した場合には、すでに格納されている業務データ(2)の次に、業務データ(4)を格納し、業務データ(4)の次に、業務データ(6)を格納する。
【0096】
次に、本実施例に係る情報処理システムの正センタ100および副センタ200が実行する処理手順について説明する。
図5は、正センタの処理手順を示すフローチャートである。
図5に示すように、正センタ100の取得部161は、ログデータ、業務データを時系列に取得する(ステップS101)。
【0097】
正センタ100の第1ディスク筐体管理部162は、ログデータ、業務データを第1ディスク筐体140に時系列に格納する(ステップS102)。正センタ100の第2ディスク筐体管理部163は、ログデータ、業務データを第2ディスク筐体150に時系列に格納する(ステップS103)。
【0098】
正センタ100は、順序性を保証して、ログデータ、業務データを副センタ200に送信する(ステップS104)。正センタ100は、処理を継続する場合には(ステップS105,Yes)、ステップS101に移行する。一方、正センタ100は、処理を継続しない場合には(ステップS105,No)、処理を終了する。
【0099】
図6は、副センタの処理手順を示すフローチャートである。
図6に示す例では、副センタ200は、正センタ100に異常が発生した場合に、業務データの復元を行う場合について説明する。副センタ200は、順序性が保証された、ログデータ、業務データを正センタ100から時系列に受信する(ステップS201)。
【0100】
副センタ200の第1ディスク筐体管理部261は、第1ディスク筐体240にログデータ、業務データを時系列に格納する(ステップS202)。副センタ200の第2ディスク筐体管理部262は、第2ディスク筐体250にログデータ、業務データを時系列に格納する(ステップS203)。
【0101】
副センタ200は、正センタ100に異常が発生していない場合には(ステップS204,No)、ステップS201に移行する。一方、副センタ200は、正センタ100に異常が発生した場合には(ステップS204,Yes)、ステップS205に移行する。
【0102】
副センタ200の特定部263は、第1ディスク筐体240のログデータと、第2ディスク筐体250のログデータとを比較して、欠損した業務データを特定する(ステップS205)。
【0103】
副センタ200の復元部264は、ログデータを基にして、欠損した業務データを復元する(ステップS206)。復元部264は、復元した業務データを、第2ディスク筐体250に格納する(ステップS207)。
【0104】
次に、本実施例に係る情報処理システムの効果について説明する。情報処理システムの正センタ100は、複数の業務データと、複数の業務データに対応するログデータを時系列で副センタ200に送信する。副センタ200は、複数の業務データと、ログデータとの組を受け付ける度に、複数の業務データを、第1ディスク筐体240および第2ディスク筐体250に振り分けて格納し、同一のログデータを、第1ディスク筐体240および第2ディスク筐体250に格納しておく。これによって、副センタ200は、第1ディスク筐体240のログデータと、第2ディスク筐体250のログデータとを基にして、欠損した業務データを特定し、特定した業務データを復元することができる。すなわち、ディスク筐体が複数存在する場合に、ネットワーク遅延が発生しても、データ保証を行うことができる。
【0105】
情報処理システムは、第1ディスク筐体240に、第1ログデータと、第2ログデータとが格納され、第2ディスク筐体250に、第1ログデータが格納されている場合に、第1ログデータに対応する第1業務データと、第2ログデータに対応する第2業務データとを欠損した業務データとして特定する。これによって、順序性を利用して、欠損範囲の業務データを特定することができる。
【0106】
情報処理システムは、ログデータを基にして、欠損範囲の業務データを復元する。このため、欠損範囲の業務データを受信できなくても、ログデータを利用して、欠損範囲の業務データを復元することができる。
【0107】
情報処理システムは、正センタ100に異常が発生した場合に、欠損した業務データを特定する処理、復元する処理を実行する。このため、正センタ100から業務データが送信されなくても、ログデータのみ受信できれば、ログデータに対応する業務データを復元することができる。
【0108】
ところで、本実施例に係る情報処理システムでは、正センタ100および副センタ200が、それぞれ、第1ディスク筐体と、第2ディスク筐体とを用いて同期を行う場合について説明したが、これに限定されるものではなく、2つ以上のディスク筐体を用いて、同期を行ってもよい。たとえば、副センタ200は、第1ディスク筐体と、複数の第2ディスク筐体とを備えている場合には、第1ディスク筐体、複数の第2ディスク筐体に、同一のログデータを格納する処理を繰り返し、第1ディスク筐体のログデータと、複数の第2ディスク筐体のログデータとをそれぞれ比較して、欠損範囲の業務データを特定し、復元を行う。
【0109】
次に、本実施例に示した正センタ100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図7は、本実施例に係る正センタと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0110】
図7に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、有線または無線ネットワークを介して、副センタ200等との間でデータの授受を行うインタフェース装置305とを有する。コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。コンピュータ300は、第1ディスク筐体308と、第2ディスク筐体309を有する。そして、各装置301~309は、バス310に接続される。第1ディスク筐体308と、第2ディスク筐体309は、
図3で説明した、第1ディスク筐体140、第2ディスク筐体150に対応する。
【0111】
ハードディスク装置307は、取得プログラム307a、第1ディスク筐体管理プログラム307b、第2ディスク筐体管理プログラム307cを有する。CPU301は、取得プログラム307a、第1ディスク筐体管理プログラム307b、第2ディスク筐体管理プログラム307cを読み出してRAM306に展開する。
【0112】
取得プログラム307aは、取得プロセス306aとして機能する。第1ディスク筐体管理プログラム307bは、第1ディスク筐体管理プロセス306bとして機能する。第2ディスク筐体管理プログラム307cは、第2ディスク筐体管理プロセス306cとして機能する。
【0113】
取得プロセス306aの処理は、取得部161の処理に対応する。第1ディスク筐体管理プロセス306bの処理は、第1ディスク筐体管理部162の処理に対応する。第2ディスク筐体管理プロセス306cの処理は、第2ディスク筐体管理部163の処理に対応する。
【0114】
なお、各プログラム307a~307cついては、必ずしも最初からハードディスク装置307に記憶させておかなくてもよい。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a~307cを読み出して実行するようにしてもよい。
【0115】
次に、本実施例に示した副センタ200と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。
図8は、本実施例に係る副センタと同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【0116】
図8に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る読み取り装置404と、有線または無線ネットワークを介して、正センタ100等との間でデータの授受を行うインタフェース装置405とを有する。コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。コンピュータ400は、第1ディスク筐体408と、第2ディスク筐体409を有する。そして、各装置401~409は、バス410に接続される。第1ディスク筐体408と、第2ディスク筐体409は、
図3で説明した、第1ディスク筐体240、第2ディスク筐体250に対応する。
【0117】
ハードディスク装置407は、第1ディスク筐体管理プログラム407a、第2ディスク筐体管理プログラム407b、特定プログラム407c、復元プログラム407dを有する。CPU401は、第1ディスク筐体管理プログラム407a、第2ディスク筐体管理プログラム407b、特定プログラム407c、復元プログラム407dを読み出してRAM406に展開する。
【0118】
第1ディスク筐体管理プログラム407aは、第1ディスク筐体管理プロセス406aとして機能する。第2ディスク筐体管理プログラム407bは、第2ディスク筐体管理プロセス406bとして機能する。特定プログラム407cは、特定プロセス406cとして機能する。復元プログラム407dは、復元プロセス406dとして機能する。
【0119】
第1ディスク筐体管理プロセス406aの処理は、第1ディスク筐体管理部261の処理に対応する。第2ディスク筐体管理プロセス406bの処理は、第2ディスク筐体管理部262の処理に対応する。特定プロセス406cは、特定部263の処理に対応する。復元プロセス406dは、復元部264の処理に対応する。
【0120】
なお、各プログラム407a~407dついては、必ずしも最初からハードディスク装置407に記憶させておかなくてもよい。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム407a~407dを読み出して実行するようにしてもよい。