JP4710380B2 - 分散処理システム及び分散処理方法 - Google Patents

分散処理システム及び分散処理方法 Download PDF

Info

Publication number
JP4710380B2
JP4710380B2 JP2005103805A JP2005103805A JP4710380B2 JP 4710380 B2 JP4710380 B2 JP 4710380B2 JP 2005103805 A JP2005103805 A JP 2005103805A JP 2005103805 A JP2005103805 A JP 2005103805A JP 4710380 B2 JP4710380 B2 JP 4710380B2
Authority
JP
Japan
Prior art keywords
processing
data
storage device
input
container
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
JP2005103805A
Other languages
English (en)
Other versions
JP2006285576A (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 JP2005103805A priority Critical patent/JP4710380B2/ja
Publication of JP2006285576A publication Critical patent/JP2006285576A/ja
Application granted granted Critical
Publication of JP4710380B2 publication Critical patent/JP4710380B2/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

本発明は、通信によってデータを複数の処理装置で順に処理する分散処理システム、及びその分散システムにおける再処理(トランザクションリカバリ)方法に関する。
企業の経理などの金銭に関わる業務や、電子商取引などを支える基幹システムに誤りや中断、セキュリティ上の問題が発生すると、業務の中断だけでなく巨額の損失の発生や信用の失墜を招く危険性がある。このため、このような業務に使用されるシステムには、極めて高い信頼性や耐障害性、障害発生時に被害を最小に食い止める様々な機能、万全のサポート体制などが必要となる。
24時間365日、止まらないことを要求される業務を遂行のために使用されるコンピュータシステムでは、極めて高い信頼性や耐障害性、障害発生時に被害を最小に食い止めるミッションクリティカル性が重要視されている。このため、この種のコンピュータシステムでは、障害等による業務停止の極小化、業務停止範囲の局所化によってサービスを中断させない技術が強く求められている。
ネットワークに接続され、複数の処理装置に各種データの処理を実行させるコンピュータシステムにおいて、障害が発生した場合の再処理方式として、バッチ処理などで使用されるチェックポイント・リスタート方式や、OLTP(On−Line Transaction Processing)処理などで使用されるコミット・ロールバック方式がある。
チェックポイント・リスタート方式では、処理対象の一連の処理を複数の処理単位に論理的に分割し、分割した処理単位で処理完了/未完了の管理を行う。この方式の場合、処理の途中で処理装置に故障が発生すると、該当する処理単位を対象に処理済の結果を破棄し、再実行を行う必要があった。このため、再処理に長時間がかかるという問題があった。
また、コミット・ロールバック方式では、多くの場合1件または数件程度の入力データ(電文)をトランザクションとして処理状態を管理する。処理装置の故障が発生した場合は、個々のトランザクションについてコミットが完了しているか未完了かを判断する。この際、未完了のトランザクションがある場合は処理途中の結果をロールバックするなどのリカバリを行った後に再処理を行う必要があった。このため、多くのトランザクションを対象にリカバリ処理が必要となるため、オーバヘッドが大きくなり手順が複雑になるという問題があった。
(開示例1)
開示例1として、ネットワークを介して互いに接続された複数の計算機上で処理プログラムからなるジョブの一連の処理を容易に且つ確実に実行するバッチジョブ制御システムが、特開2002−073576号公報に開示されている(特許文献1参照)。
開示例1のバッチジョブ制御システムは、ジョブ中の各処理プログラムの実行順序及び実行先となる計算機を管理する管理サーバと、ジョブ中の各処理プログラムを実行する複数の実行サーバ2と、管理サーバに接続された管理端末とを備える。管理サーバと各実行サーバとはネットワークを介して接続され、管理サーバ及び各実行サーバはそれぞれ非同期のメッセージ通信を行うためのメッセージキューイング機構を有し、管理サーバと各実行サーバとの間でメッセージキューイング機構を介してジョブ中の各処理プログラムの実行要求をメッセージとしてやり取りし、各処理プログラムを連携する。開示例1では、次の処理を実行する計算機を特定するため、管理サーバのような専用サーバが必要となる。
(開示例2)
開示例2として、メッセージキューイングシステムにおいて、キューファイルファイル障害の回復時間の短縮を実現するメッセージキューファイル回復制御装置が、特開2003−256255号公報に開示されている(特許文献2参照)。
開示例2では、任意の時点でログ取得位置を示す情報をメモリ上に記憶しておき、その時点以前にキューファイルに格納されたメッセージが全て取り出された状態のときに、当該ログ位置情報を回復用ログ位置情報としてファイルに出力する。キューファイル障害時は、回復用ログ位置情報以降のログ情報を、再作成した空のキューファイルに反映してキューファイルを回復する。
開示例3として、データの非同期処理を実行する分散処理システムにおいて、実行情報、障害情報、非同期処理の親子の関係を一元管理し、その情報から障害が起こった場合でもリトライが容易に行える技術が、特開2004−157776号公報に開示されている(特許文献3参照)。
開示例3では、リレーショナルデータベースを用いて、データ処理の処理状況や障害情報、コミット/ロールバック情報を一元管理している。このため、リレーショナルデータベースに障害が発生すると、各処理状態の管理ができなくなるため、すべての処理装置に影響が出るという問題がある。
尚、障害の発生した装置のデータリカバリに関する技術が、特開2002−108640号公報(特許文献4参照)、特開平08−263351号公報に開示されている(特許文献5参照)。
特開2002−073576号公報 特開2003−256255号公報 特開2004−157776号公報 特開2002−108640号公報 特開平08−263351号公報
本発明の目的は、通信によってデータを複数の処理装置で順に処理する分散処理システムにおいて、処理装置に障害が発生した際、処理装置毎に容易に再処理(トランザクションリカバリ)を実行できる分散処理システム及び再処理方法を提供することにある。
本発明の他の目的は、前記処理装置の障害に伴う再処理(トランザクションリカバリ)を高速に実行できる分散シテム及び再処理方法を提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を括弧付きで用いて、[課題を解決するための部]を説明する。この番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために付加されたものであるが、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明による分散処理システムは、ネットワーク(3)と、ネットワーク(3)に接続される処理装置(2)と、ネットワーク(3)を介して処理装置(2)に接続される記憶装置(1)とを具備する。処理装置(2)は、入力される第1の入力データ(111)を処理し、処理結果として第1の出力データ(123)を記憶装置(1)に格納し、他の処理装置(2)に対し第1の出力データ(123)の処理依頼を発行する。処理依頼を受け付けた他の処理装置(2)は、処理依頼に応答して記憶装置(1)から第1の出力データ(123)を第2の入力データ(111)として抽出して処理し、処理結果を第2の出力データ(123)として出力する。この際、処理装置(2)は、第1の入力データ(111)の処理状況を示す管理情報(105)を作成して保持し、その管理情報(105)を記憶装置(1)に格納する。
記憶装置(1)は、第1の出力データ(123)が格納される記憶領域である第1の出力コンテナ(102)を有し、処理装置(2)は、入力される第1の入力データ(111)を格納するための記憶領域である入力コンテナ(101)を有し、第1の入力コンテナ(101)内の第1の入力データ(111)を処理して、第1の出力データ(123)を出力して、記憶装置(1)の第1の出力コンテナ(102)に格納する。この際、他の処理装置(2)に対し第1の出力コンテナ(102)を読み取り可能にして、第1の出力コンテナ(102)内に格納された第1の出力データ(123)の処理依頼を他の処理装置(2)に発行する。処理依頼を受け付けた他の処理装置(2)は、処理依頼に応答して第1の出力コンテナ(102)から第1の出力データ(123)を第2の入力データ(111)として、第2の入力コンテナ(101)に格納して、第2の入力データ(111)を処理する。
処理装置(2)は、一定量の入力データ(111)を記憶装置(1)から取得して、複数の入力コンテナ(101)に格納し、複数の入力コンテナ(101)を入力コンテナ群(103)として関連付け、入力コンテナ群(103)に関連付けられた複数の入力コンテナ(101)内の入力データ(111)を処理し、処理結果である出力データ(123)を記憶装置(1)の複数の出力コンテナ(102)に格納し、複数の出力コンテナ(102)を入力コンテナ群(103)に関連付け、入力データ(111)の処理状況である管理情報(105)を入力コンテナ群(103)に対応付けて保持し、入力コンテナ群(103)に対応付けてその管理情報(105)を記憶装置(1)に格納する。
又、処理装置(2)は、入力された入力データ(111)を示す識別子(152)や他の処理装置(2)に対して読み取り可能にした出力コンテナ(102)を示す識別子(153)を管理情報(105)に含めて保持し、その管理情報(105)を記憶装置(1)に格納する。
処理装置(2)は、入力コンテナ群(103)に対応する全ての出力データ(123)を、出力コンテナ群(104)に対応する全ての出力コンテナ(102)に格納すると、管理情報(105)に処理完了フラグを含めて保持し、その管理情報(105)を記憶装置(1)に格納する。
処理装置(2)に障害が発生した場合、処理装置(2)は、障害からの復旧後、処理装置(2)から見て出力側の記憶装置(1)に格納した管理情報(164)を参照し、管理情報(164)に処理完了フラグがない場合、管理情報(164)に対応する入力コンテナ群(103)に関連付けられた出力コンテナ群(104)内の全ての出力データ(123)を記憶装置(1)から削除し、入力コンテナ群(103)に対応する全ての入力データ(111)を処理する。
又、処理装置(2)から見て出力側の記憶装置(1)の管理情報(164)を参照し、管理情報(164)に処理完了フラグがある場合、管理情報(164)に対応する入力コンテナ群(103)に関連付けられた全ての入力データ(111)を削除し、記憶装置(1)の管理情報(106)を削除し、他の処理装置(2)に入力コンテナ群(103)に関連付けられた出力データ(123)の処理依頼を発行する。
記憶装置(1)は、管理情報が格納されるGrp情報コンテナ(現)(106)と、Grp情報コンテナ(履歴)(107)を有し、入力コンテナ群(103)に対応する全ての出力データ(123)が出力コンテナ群(104)に対応する全ての出力コンテナ(102)に格納されると、Grp情報コンテナ(現)(106)に格納された管理情報を、履歴情報としてGrp情報コンテナ(履歴)(107)に格納し、Grp情報コンテナ(現)(106)から管理情報を削除する。
処理装置(2)において、入力コンテナ群(103)に対応する全ての入力データ(111)を処理したが、履歴情報をまだ作成していない時に障害が発生した場合、処理装置(2)は、障害からの復旧後、処理装置(2)から見て出力側の記憶装置(1)のGrpコンテナ(現)(106)を検索し、該当する管理情報がない場合、記憶装置(1)のGrpコンテナ(履歴)内の履歴情報を参照して、履歴情報に関連付けられた出力コンテナ(102)に格納されている出力データ(123)の処理依頼を他の処理装置(2)に対し発行する。
処理装置(2)に対し入力側の記憶装置(1)に障害が発生した場合、処理装置(2)は、正常な他の記憶装置(1)から入力データ(111)を取得して処理を行い、記憶装置(1)の復旧後、記憶装置(1)から入力データ(111)を取得して処理を実行する。
処理装置(2)に対し出力側の記憶装置(1)に障害が発生し、記憶装置(1)内の管理情報(164)に処理完了フラグがない場合、処理装置(2)は、入力データ(111)の処理を中断し、処理中であった入力コンテナ群(103)に対応する全ての入力データ(111)の再処理を実行し、再処理結果である出力データ(123)を他の記憶装置(1)の出力コンテナ群(104)の出力コンテナ(102)に格納する。
処理装置(2)に対し出力側の記憶装置(1)に障害が発生し、記憶装置(1)内の管理情報に処理完了フラグがある場合、他の処理装置(2)は、記憶装置(1)の復旧後、処理装置(2)の出力コンテナ(102)に格納された出力データ(123)を入力データ(111)として取得して処理する。
又、本発明による分散処理システムは、ネットワーク(3)を介して処理装置(2)に接続される退避装置(4)を更に具備する。処理装置(2)は、入力コンテナ群(103)に対応する全ての入力データ(111)を取得すると、管理情報を退避装置(4)に格納し、 障害が発生した処理装置(2)は、障害復旧後、退避装置(4)から管理情報を取得する。
このように、本発明による分散処理システムによれば、ネットワーク(3)を介する通信によって入力データ(111)を複数の処理装置(2)で順に処理を行うシステムにおいて、処理装置(2)間のデータ(100)受け渡しとデータ(100)の処理状態管理に不揮発記憶装置(1)を用いることで処理装置(2)の故障等に伴う再処理(トランザクションリカバリ)を容易に、かつ高速に実現することができる。
本発明による分散処理システム及び再処理方法によれば、処理装置に障害が発生した際、処理装置毎に容易に再処理(トランザクションリカバリ)を実行できる。
又、処理装置の障害に伴う再処理(トランザクションリカバリ)を高速に実行できる。
以下、添付図面を参照して、本発明による分散処理システム及び再処理方法の実施の形態が説明される。本発明による分散処理システムは、通信によってデータ100を複数の処理装置2で順に処理を行うシステムであり、トランザクション処理を実行する分散処理システムが好適である。例えば、ミッションクリティカル性の高い、電子商取引や企業内システムで利用されるオープンシステムプラットフォームへの利用が好適である。
(構成)
図1は、本発明による分散システムの構成図である。本発明による分散システムは、ネットワーク3を介して相互に接続された複数の不揮発記憶装置1(1−A〜N)と、各種データを処理するサーバ等のコンピュータ装置である処理装置2(2−A〜N)と、処理装置2で作成されるデータの処理状況を含む情報を保管する退避装置4と、不揮発記憶装置1に障害が発生した際に不揮発記憶装置として使用される予備不揮発記憶装置5とを具備する。退避装置4や予備不揮発記憶装置5は、複数であることが好ましい。ここで、処理装置2に対応する退避装置4の数は、処理装置2の個々に対して1つ以上でも、複数の処理装置2に対して1つでも良い。又、不揮発記憶装置1に対応する予備不揮発装置5は、不揮発記憶装置1の個々に対して1つ以上でも、複数の不揮発記憶装置1に対して1つでも良い。尚、予備不揮発記憶装置5は、不揮発記憶装置1が使用可能の場合は使用されず、不揮発記憶装置1に障害等が発生して使用不可能になった場合に使用される。
図2は、本発明による分散処理システムの分散処理の概念図である。
図2を参照して、データ100の処理内容に対応するサービス単位で、処理装置2が分割される。この分割単位を処理ステージ10と定義する。すなわち、データ100A〜Fを処理する処理装置2−A〜Cを処理ステージ10Aとし、データ100G〜Iを処理する処理装置2−D〜Eを処理ステージ10Aとする。処理ステージ10Aでは、不揮発記憶装置1−A上のデータ100A〜Cを処理装置2−Aで、データ100Dを処理装置2−Bで、データ100E、Fを処理装置2−Cで、それぞれ入力データ111として取得し、それぞれの処理装置2で処理を実行する。処理結果は、各処理装置2から出力データ123としてデータ100G〜Iがそれぞれ出力され、不揮発記憶装置1−Cに格納される。この際、各処理装置2から出力される出力データ123は、次の処理ステージ10Bで処理を行う処理装置2毎にまとめられる。又、処理ステージ10Aの各処理装置2が出力した出力データ123の格納が完了すると、処理装置2−A〜Cの各々は、それぞれのデータの出力が完了したことを不揮発記憶装置1−C上の管理情報164A〜Cのそれぞれに記録し、出力データ123の次の処理先(処理ステージ10B)の処理装置2−D及びEに処理依頼を行う。処理ステージ10Bの処理装置2−Dは、処理依頼を受信した後に不揮発記憶装置1−Cに格納されたデータ100G及びHを入力データ111として取得して処理し、出力データ123としてデータ100Jを不揮発記憶装置1−Dに格納する。同様に、処理装置2−Eは、データ100Iを処理してデータ100Kを不揮発記憶装置1−Dに格納する。又、処理装置2−D及びEは、それぞれ出力完了したことを管理情報164D及び164Eに記録する。以降に複数のステージ10が存在した場合も上記と同様に処理を行う。
本発明に係る不揮発記憶装置1は、好ましくは、高速で複数の処理装置2で共有可能なNASストレージである。特に、各種コンポーネントの冗長化とクラスタ構成が可能な製品が有効である。本実施の形態における不揮発記憶装置1はクラスタ構成が可能なNASストレージを使用することを一例に説明される。
図3を参照して、不揮発記憶装置1は、ネットワーク3を介して処理装置2に接続されるデータ制御部11と、次に処理を実施するステージ10(以下、次ステージと呼ぶ)の処理装置2(ここでは、処理装置2−A)において処理されるデータ100が格納されるデータ記憶部12と、処理中のステージ10(以下、現ステージと呼ぶ)の処理装置2において処理中のデータ100の処理状況を示すGpr情報(現)106が格納されるGrp情報(現)記憶部13と、現ステージの処理装置2で処理が完了したデータの処理履歴を示すGrp情報(履歴)107が格納されるGrp情報(履歴)記憶部14とを具備する。
データ制御部11は、処理装置2の処理部21からの各種信号や各種データに応じて、データ記憶部12の入力コンテナ101からのデータ100の抽出や、出力コンテナ102に対するデータ100の格納を行う。又、Grp情報(現)記憶部13のGrp情報コンテナ(現)106や、Grp情報(履歴)記憶部13のGrp情報コンテナ(履歴)107への各種情報の更新・削除を行う。更に、抽出した各種データを処理装置2に対し転送する。
ステージ間(処理装置2間)の入力データ111や出力データ123の受け渡しは、全て不揮発記憶装置1のデータ記憶部11内における記憶領域であるコンテナを介して行われる。図4は、本発明に係るコンテナ及びコンテナ群の構造図である。
データ記憶部11は、入力データ111が格納される領域として入力コンテナ101と、出力データ123が格納される領域として出力コンテナ102とを具備する。入力コンテナ101には、入力コンテナ101を識別するための入力コンテナID110と対応付けられて、次ステージの各処理装置2が処理するための複数のデータ100が入力データ111として格納される。又、出力コンテナ102には、出力コンテナ102を識別するための出力コンテナID121と対応付けられて、現ステージの各処理装置2の処理結果である複数のデータ100が出力データ123として格納される。
次ステージの各処理装置2は、一定量のデータ量に相当する複数の入力コンテナ101を取得し、これらの入力コンテナ101に含まれる入力データ111を処理する。このように、各処理装置2に入力される複数の入力コンテナ101を、入力コンテナ群103と定義し、各処理装置2の処理単位とする。入力コンテナ群103を特定するため、処理装置2が処理する複数の入力コンテナ101に、入力コンテナ群101を識別するコンテナ群ID131が対応付けられる。尚、入力コンテナ群103に対応する入力コンテナ101は、1つの不揮発記憶装置1から処理装置2に入力される入力コンテナ101でも良いし、複数の不揮発記憶装置1から処理装置2に入力される入力コンテナ101でも良い。
出力コンテナ102には、宛て先(次に処理を行う処理装置2)毎に複数の出力データ123が格納される。出力コンテナ102には、出力コンテナ102を識別するための出力コンテナID121と、宛て先の処理装置2を特定するための宛て先ID122と、現ステージの処理装置2の処理によって出力された出力データ123と、出力コンテナの処理が完了したか否かのフラグが書き込まれる処理情報124とが関連付けられて格納される。又、各処理装置2に入力される入力コンテナ群103の処理結果(出力データ123)に対応する複数の出力コンテナ142を出力コンテナ群104として定義する。このため、出力コンテナ群104は、入力コンテナ群103の持つコンテナ群ID131と同じコンテナ群ID141が付けられ、処理装置2毎に、入力コンテナ群103と出力コンテナ群104が対応付けられる。
現ステージの各処理装置2は、処理中の入力コンテナ群103と、その入力コンテナ群103に対応する出力コンテナ群104の情報や、入力コンテナ群103の処理が完了しているか未完了かの状態を、処理装置2上のGrp情報メモリ23と不揮発記憶装置1上のGrp情報(現)記憶部13に記録する。又、入力コンテナ群103の全ての処理が完了すると、その完了情報は、Grp情報(履歴)記憶部14に記録される。Grp情報(現)記憶部13は、入力コンテナ群103毎に、その処理状況を示す管理情報164を格納するためのGrp情報コンテナ(現)106を備える。又、Grp情報(履歴)記憶部14は、入力コンテナ群103毎に、その処理の完了情報を格納するためのGrp情報コンテナ(履歴)107を備える。図5は、Grp情報コンテナ(現)106と、Gp情報コンテナ(履歴)107の構造図である。
Grp情報記憶部13のGrp情報コンテナ(現)106には、処理装置2への入力コンテナ101の読み込み状況(読み込み完了/未完了)、次ステージの処理装置2に対する出力コンテナ102のオープン状況(オープン完了/未完了)、入力コンテナ群103内の入力コンテナ101の処理状況(処理完了/未完了)が、入力コンテナ群103に対応付けられて格納される。例えば、Grp情報コンテナ(現)106は、読み込みコンテナID162と、オープンコンテナID163と、管理情報164とが入力コンテナ群103のコンテナ群ID131と同じコンテナ群ID161に対応付けられて格納される。ここで、読み込みコンテナID162は、現ステージの処理装置2に読み込まれた入力コンテナ101の入力コンテナID110であり、オープンコンテナID163は、当該処理装置2によって次ステージの処理装置2に対してオープンされた出力コンテナ102の出力コンテナID121である。又、管理情報164は、読み込まれた入力コンテナ101の処理状況(処理完了/未完了)を示す情報であり、例えば処理完了フラグが書き込まれる。
Grp情報コンテナ(履歴)107には、現ステージにおける処理装置2において処理が完了した入力コンテナ群103に対応する出力コンテナ103の情報が関連付けられて格納される。例えば、Grp情報コンテナ(履歴)107には、処理完了コンテナID172と、出力コンテナID173と、当該入力コンテナ群103のコンテナ群ID131と同じコンテナ群ID171に関連付けられて格納される。ここで、処理完了コンテナID172は、処理が完了した入力コンテナ101の入力コンテナID110であり、出力コンテナID173は、この入力コンテナ101の処理結果である出力コンテナ102の出力コンテナID121である。
図3を参照して、処理装置2(ここでは、処理装置2−A)は、不揮発記憶装置1(ここでは、不揮発記憶装置1−A)から入力コンテナ群103が入力される入力部22と、前のステージの処理装置2からの処理依頼に応じて、入力部22から入力される入力データ111を処理し、出力データ123を不揮発記憶装置1(ここでは、不揮発記憶装置1−C)に出力する処理部21と、処理部21で作成されるデータの処理状況を示すGrp情報を格納するGpr情報メモリとを具備する。
処理部21はCPUやメモリで構成され、入力部22が取得した入力コンテナ101内の入力データ111を処理し、その処理状況(処理完了/未完了)を、Grp情報メモリ23に格納する。又、出力データ123を次の不揮発記憶装置1(ここでは、不揮発記憶装置1−A)の出力コンテナ102に格納し、当該出力コンテナ102をオープンにして、次ステージの処理装置2の処理部21に処理依頼を発行する。この際、出力コンテナ102に対する処理状況(オープン処理完了/未完了)をGrp情報メモリ23に格納する。更に、Grp情報メモリ23に格納した入力コンテナ101及び出力コンテナ102の処理状況と同じ情報を退避装置4のGrp情報メモリ41に格納する。
入力部22は、メモリやハードディスク等の記憶装置と入力制御装置を具備し、処理部22からの各種信号に応じて不揮発記憶装置1から入力コンテナ101を一定量まで入力し、入力コンテナ群103として保持する。又、入力された入力コンテナ101を処理部に転送する。
Grp情報メモリ23は、入力コンテナ101及び出力コンテナ102の処理状況を管理するためのGrp情報105が格納される。図6は、Grp情報105の構成図である。Grp情報105は、入力コンテナ101が入力部22に入力されたか否かを示す読み込み状況(読み込み完了/未完了)と、次ステージの処理装置2に対する出力コンテナ102のオープン状況(オープン完了/未完了)と、入力コンテナ群103内の入力コンテナ101のデータ処理状況(処理完了/未完了)とを含み、不揮発記憶装置1(ここでは、不揮発記憶装置1−A)から入力される入力コンテナ群103を識別するためのコンテナ群ID151に関連付けられている。例えば、Grp情報105には、入力コンテナ群103のコンテナ群ID131と同じコンテナ群ID151と、読み込みコンテナID152と、オープンコンテナID153と、管理情報154とが対応付けられて格納される。ここで、読み込みコンテナID152は、処理装置2の入力部22に読み込まれた入力コンテナ101の入力コンテナID110であり、オープンコンテナID163は、当該処理装置2によってオープンされた出力コンテナ102の出力コンテナID121である。又、管理情報154は、読み込まれた入力コンテナ101の処理状況(処理完了/未完了)や出力コンテナを示す情報である。又、処理部22は、退避装置4にもGrp情報(現)105を格納し、処理装置2において処理する入力コンテナ群103の処理状況等の管理情報を退避装置4に退避する。尚、処理部21は、出力コンテナ104の出力先となる不揮発記憶装置1(ここでは、不揮発記憶装置1−C)のデータ制御部11(ここでは、データ制御部11−C)を制御して、当該Grp情報105と同じ情報を、Grp情報(現)記憶部13(ここでは、Grp情報(現)記憶部13−C)のGrp情報コンテナ(現)106に格納する。
以上の構成により、障害復旧後の処理装置2の処理部21は、Grp情報メモリ23のGrp情報105を確認することによって、処理が未完了となっているデータの有無を判定し、未完了のデータがあった場合は該当する入力コンテナ群103を再処理することで、入力データ111の再実行を実現できる。従って、本再実行処理は、故障した処理装置2内のみで実行することができ、他の処理装置2やデータ処理に影響を与えることがなくなる。
(動作)
図3、図7から図13を参照して、本発明による分散処理システムの実施の形態における動作が説明される。以下、本発明における分散処理システムについて、上位のステージ10から処理依頼を受けた処理装置2−Aにおける分散処理動作、及び障害復旧時の再処理動作について説明される。又、処理装置2−Aに対して入力側の不揮発記憶装置1−A、及び出力側の不揮発記憶装置1−Cに障害が発生した場合の障害回避動作が説明される。
(分散処理動作)
図3は、本発明による分散処理システムの実施の形態における「分散処理」の機能ブロック図である。
先ず、データ100を分散処理するため、上位のステージ10から、データ処理の依頼が処理装置2−Aに発行される。処理依頼には、処理装置2−Aが処理すべき入力コンテナ101の格納場所である不揮発記憶装置1(ここでは、不揮発記憶装置1−A)の識別子(アドレス等)と、当該入力コンテナ101の入力コンテナID110が含まれている。処理依頼を受け付けた処理装置2−Aの処理部21は、処理依頼に従って不揮発記憶装置1−Aのデータ制御部11−Aに対し、入力コンテナID110を含んだ入力コンテナ101の転送要求を発行する(S1)。データ制御部11−Aは、転送要求に含まれる入力コンテナID110に対応する入力コンテナ101をデータ記憶部から抽出し(S3)、転送要求元の処理装置2−Aに転送する(S5)。
入力部22に入力コンテナ101が入力されると、処理部21は、Grp情報メモリ23を初期化し、処理単位となる入力コンテナ群103を一意に特定するためのコンテナ群ID131を、コンテナ群ID151としてGrp情報105に書き込む(S7)。又、同時に、処理部21は、出力側の不揮発記憶装置1−Cのデータ制御部11−Cに対し、Grp情報コンテナ(現)106の初期化命令を発行し、同様に、処理単位となる入力コンテナ群103を一意に特定するためのコンテナ群ID131を、コンテナ群ID161としてGrp情報コンテナ(現)106に書き込む(S9及びS11)。以後、処理部21は、Grp情報105とGrp情報コンテナ(現)106が常に同一状態となるように更新を行う。Grp情報コンテナ(現)106を更新する場合、処理部21は、データ制御部11−Cに更新命令を発行して更新する(S9及びS11)。
処理部21は、処理依頼に基づき入力コンテナ103を順次読み込み、処理を行う(S1、S5、S13)。この際、処理部21は、入力部22に入力された入力コンテナ103の入力コンテナID110を、読み込みコンテナID152としてGrp情報105に順次記録し、又、同様に入力部22に入力された入力コンテナ103の入力コンテナID103を読み込みコンテナID161としてGrp情報コンテナ(現)106に順次記録する(S7、S9及びS11)。
処理部21は、入力コンテナ101内の入力データ111の処理結果である複数の出力データ123を、データ制御部11−Cを介して、データ記憶部11−Cの出力コンテナ102に格納する(S9、S15)。この際、出力データ123は、出力コンテナID121と、次のステージ10の処理装置2に対応する宛て先ID122とに関連付けられて出力コンテナ102に格納される。又、個々の出力コンテナ102にはGrp情報メモリ23とGrp情報コンテナ(現)105に書き込んだコンテナ群IDと同じコンテナ群ID141が対応付けられる。すなわち出力コンテナ102は、入力コンテナ群103に対応する出力コンテナ群104に対応付けられる。これにより、Grp情報105のコンテナ群ID151とGrp情報コンテナ(現)に付与されたコンテナ群ID161とに対応する出力コンテナ105の特定が可能となる。
出力コンテナ102は、処理部21からのオープン指令に基づき、宛て先ID122(宛て先処理装置)毎にオープンされる(S9、S15)。処理部21は、オープンが完了した出力コンテナ103の出力コンテナID121を、Grp情報105のオープンコンテナID153としてGrp情報メモリ23、及びGrp情報記憶部13−CのGrp情報コンテナ(現)106に順次書き込む(S7、S9及びS11)。
入力部222に入力される入力コンテナ101のデータ量が一定量に達すると、一旦不揮発記憶装置1−Aからの入力処理を中断する。ここまでの入力コンテナ101が処理単位の入力コンテナ群103となる。入力コンテナ群103の入力処理が全て完了すると処理部21は、Grp情報メモリ23内のGrp情報105を退避装置4へ転送する(S7、S17)。このとき退避装置4のGrp情報メモリ41には上書きせずに、上書き準備状態とする。又、入力処理がすべて終了すると、処理部21は、記憶装置1−Aのデータ制御部11−Aに削除指令を発行し、入力部22に入力された入力データ111を記憶装置1−Aのデータ記憶部12−Aから削除させる。
処理部21は、入力コンテナ群103の全ての入力コンテナ101の処理を終了すると、データ記憶部12−C内の出力コンテナ群104に対応するすべての出力コンテナ102の処理情報124に処理完了フラグを書き込む(S9、S15)。次にGrp情報105の管理情報154とGrp情報コンテナ(現)106の管理情報164に完了フラグを書き込む(S7、S9及びS11)。このように、入力コンテナ群103のデータ処理の完了/未完了の状況を、処理装置2−A及び出力側の不揮発記憶装置1−Cに記録することができる。すべての管理情報154及び164に完了フラグを書き込むと、処理部21は、退避装置4へ転送したGrp情報105の上書き指示を発行し、Grp情報メモリ41にGrp情報(現)105を書き込む(上書きする)。このように、処理装置2の入力部に入力コンテナ群103内の入力データが全て入力されたことを示すGrp情報(現)105が、入力コンテナ群103の全ての処理を完了した後に、退避装置4へ転送される。
退避装置4にGrp情報105を書き込むと、処理部21は、入力部22に対し削除指令を発行し、入力部22にある入力コンテナ群103を削除する(S13)。又、処理部21はデータ制御部11−Cに対し、Grp情報(履歴)作成指令を発行し(S9)、データ制御部11−Cは、Grp情報(履歴)作成指令に基づき、Grp情報コンテナ(現)106内の処理状況を示す情報をGrp情報(履歴)記憶部14−CのGrp情報コンテナ(履歴)107に転送する(S11、S19)。又、転送後、Grp情報コンテナ(現)106内の情報を削除する。この際、Grp情報コンテナ(履歴)107には、管理情報164の完了フラグが立てられた読み込みコンテナID162及びオープンコンテナID167を、それぞれ処理完了コンテナID172及び出力完了ID173として格納される。
Grp情報(履歴)作成指令を発行した処理部21は、Grp情報コンテナ(履歴)107に記録された出力完了ID173に対応する出力コンテナ102の処理依頼を次のステージの処理装置2(例えば、図2に示される処理装置2−D)に発行する(S221)。
以上のように、本発明による分散システムは、処理装置2毎においてデータ100を入力コンテナ群単位で処理し、その処理状況を管理することができるため、チェックポイント・リスタート方式のように各ステージで処理済みの大量データを破棄し、チェックポイントからやりなおす必要がない。また、コミット・ロールバック方式のような入力データ単位で処理状態を管理する方式と比べてコミット制御のオーバヘッドが少なくなる。更に、処理装置2が故障した場合、他の正常な処理装置2は、障害による影響を受けることなくデータ処理を継続して行えるため、影響範囲の局所化が可能となる。
(処理装置2における障害後の再処理動作)
次に、図7から図10を参照して、本発明にかかる処理装置2に故障が発生した場合の、分散処理システムの再処理動作について説明される。尚、処理装置2の再処理動作は、障害が発生した処理装置2の復旧後に行われる。
図7は、処理装置2の再処理動作のフロー図である。図8は、処理装置2−Aの再処理動作において、出力側の不揮発記憶装置1−Cに、完了フラグが書き込まれたGrp情報コンテナ(現)106が存在する場合の機能ブロック図である。図7及び図8を参照して、完了フラグが書き込まれたGrp情報コンテナ(現)106が存在する場合の再処理動作が説明される。障害から復旧した処理装置2−Aの処理部21は、不揮発記憶装置1−Cのデータ制御部11−Cを介してGrp情報(現)記憶部13−Cを参照し、Grp情報コンテナ(現)106の有無を確認する(ステップA1、S22、S24)。又、Grp情報コンテナ(現)106がある場合、管理情報164を参照して処理完了フラグが書き込まれているかを確認する(ステップA2、S22、S24)。ステップA2において、処理完了フラグが書き込まれている場合、処理部21は退避装置4のGrp情報メモリ41からGrp情報(現)105を抽出し、リカバリを実行する処理装置2−AのGrp情報メモリ23に転送及び格納する(ステップA3、S26、S28)。本実施例では、再処理する処理装置2−Aとして、復旧後の処理装置2−Aを用いるが、リカバリ用の他の処理装置2を用意して、その処理装置2に再処理を実行させても構わない。
次に、処理部21は、入力部22にコンテナ群ID131を含む削除指令を発行し、現在入力部22に格納されている入力コンテナ群103(当該コンテナ群ID131に対応)を削除する(ステップA4、S30)。又、処理部21はデータ制御部11−Cに対し、Grp情報コンテナ(履歴)作成指令を発行し(S22)、データ制御部11−Cは、Grp情報コンテナ(履歴)作成指令に基づき、Grp情報コンテナ(現)106内の処理状況を示す情報を、Grp情報(履歴)記憶部14−CのGrp情報コンテナ(履歴)107に転送する(S24、S32)。又、転送後、Grp情報コンテナ(現)106内の情報を削除する。この際、Grp情報コンテナ(履歴)107には、完了フラグが立てられた読み込みコンテナID162及びオープンコンテナID167が、それぞれ処理完了コンテナID172及び出力コンテナID173として格納される。Grp情報コンテナ(履歴)作成指令を発行した処理部21は、作成したGrp情報コンテナ(履歴)107を参照し、出力コンテナID173に対応する出力コンテナ102の処理依頼を、次のステージの処理装置2(例えば、図2に示される処理装置2−D)に発行する(ステップA6、S34)。
図9は、処理装置2の再処理動作において、不揮発記憶装置1−Cに、完了フラグか書き込まれていないGrp情報コンテナ(現)106が存在する場合の機能ブロック図である。図7及び図9を参照して、不揮発記憶装置1−Cに、完了フラグか書き込まれていないGrp情報コンテナ(現)106が存在する場合の再処理動作が説明される。ステップA2において、Grp情報コンテナ(現)106の管理情報164に処理完了フラグが書き込まれていない場合、処理部21は、不揮発記憶装置1−Cに対し出力途中であった出力コンテナ102を削除するため、削除対象となる出力コンテナID121を含む削除指令を発行する(ステップA7、S36)。データ制御部11−Bは、削除指令に含まれる出力コンテナID121に対応する出力コンテナ102をデータ記憶部12−C内から全て削除する(ステップA7、S38)。次に、処理部21は退避装置4のGrp情報メモリ41からGrp情報(現)105を抽出し、リカバリを実行する処理装置2のGrp情報メモリ23に転送及び格納する(ステップA8、S40、S42)。処理部21はデータ制御部11−Cに対し、当該Grp情報(現)105のコンテナ群ID151を含むGrp情報コンテナ(現)の削除指令を発行する(S36)。データ制御部11−Cは、Grp情報コンテナ(現)作成指令に含まれるコンテナ群ID151と同じコンテナ群ID161に対応するGrp情報コンテナ(現)106を、Grp情報(現)記憶部11−Cから消去する(ステップA9、S44)。処理部21は、ステップA8においてGrp情報メモリ23に格納されたGrp情報105のコンテナ群ID151と同じコンテナ群ID131を持つ入力コンテナ群103を、入力部22から抽出して再処理を実行する(ステップA10、S46)。尚、再処理後の動作は、通常の処理動作と同じである。
図10は、処理装置2の再処理動作において、出力側の不揮発記憶装置1−CにGrp情報コンテナ(現)106がない場合の機能ブロック図である。図7及び図10を参照して、不揮発記憶装置1−CにGrp情報コンテナ(現)106がない場合の再処理動作が説明される。ステップA1において、不揮発記憶装置1−CのGrp情報(現)記憶部13−CにGrp情報コンテナ(現)106がない場合、処理装置2−Aの処理部21は、退避装置4のGrp情報メモリ41からGrp情報(現)105を抽出し、リカバリを実行する処理装置2−AのGrp情報メモリ23に転送及び格納する(ステップA11、S48、S50)。次に処理部21は、データ制御部11−Cを介してGrp情報(履歴)記憶部14−C内を参照し、Grp情報コンテナ(履歴)107に含まれる全ての出力コンテナID173を検索し、次ステージの処理装置2−Dで処理されずに残っていないかを確認する(ステップA12、S52〜S56)。
ステップA12において、未処理の出力コンテナ102がある場合、次ステージ10の処理装置2−Dへの処理依頼が完了していない可能性があるため、処理部21は、該当する出力コンテナ102の処理依頼を処理装置2−Dに対し発行する(ステップA13、S58)。ステップA12において、未処理の出力コンテナ102がない場合、処理部21はデータ制御部11−Cを介して参照したGrp情報(履歴)記憶部14−C内のGrp情報コンテナ(履歴)107を削除する(ステップA14、S52、S54)。
本発明による分散処理システムは、処理装置2間(ステージ10間)において直接データ100の送受信は行わず、不揮発記憶装置1を介して、データ100の送受信を行っている。このため、処理装置2が故障した場合でも、他の処理装置2は不揮発記憶装置からデータの読み込みと処理を継続することが可能となる。
又、処理装置の故障時に実行中であったデータ100の特定とリカバリ処理は、故障した処理装置2でのみ行えばよいため、他の正常な処理装置2における当該リカバリに伴う特別な処理は不要となる。
(不揮発記憶装置1の障害発生時の処理動作)
図11から図13を参照して、不揮発記憶装置1に障害が発生した場合における分散処理システムの再処理動作が説明される。
図11は、本発明による分散処理システムの通常の分散処理動作の概念図である。図11を参照して、処理装置2−Aは、不揮発記憶装置1−A及び1−Bに格納される入力コンテナ101−A〜Nを入力コンテナ群103としてデータ処理を実行する。又、処理装置2−Aは処理結果である出力データ123を不揮発記憶装置1−Cの出力コンテナ102−A〜Nに格納する。更に、処理状況を示すGrp情報(現)105を退避装置4に格納し、Grp情報(現)と同じ情報を、不揮発記憶装置1−CのGrpコンテナ(現)106ーAに格納する。又、分散処理システムは、通常動作では用いられない予備不揮発記憶装置5を具備している。
不揮発記憶装置1は、クラスタ構成が可能なNASストレージを採用することを想定しており、各コンポーネントの故障が発生した場合でも出力データ123が保護され、クラスタ制御機構によるノード切り替え完了後に処理の継続が可能となる。
不揮発記憶装置1に障害が発生した場合は、そのコミット状態と故障した不揮発記憶装置1が入力コンテナ側か、出力コンテナ側かにより動作が異なる。以下では、入力コンテナ側の不揮発記憶装置1−Aに故障が発生した場合と、出力コンテナ側の不揮発記憶装置2−Dに故障が発生した場合に分類して動作が説明される。
(入力コンテナ側の不揮発記憶装置2の障害発生時の処理動作)
図12は、図11に示される分散処理動作を行う分散システムにおいて、処理装置2−Aから見て入力コンテナ側の不揮発記憶装置1−Aに障害が発生した場合の処理動作の概念図である。
処理装置2−Aの処理部21は、処理中の入力コンテナ101−A〜Cの入力処理及びデータ処理を保留し、正常な不揮発記憶装置1−Bから入力される入力コンテナ101−Nの処理を先行して行う。保留した入力コンテナ101−A〜Cの処理は、不揮発記憶装置1−Aのクラスタ制御機構により復旧した後に処理を再開する。
(出力コンテナ側の不揮発記憶装置2の障害発生時の処理動作)
図13は、図11に示される分散処理動作を行う分散システムにおいて、処理装置2−Aから見て出力コンテナ側の不揮発記憶装置1−Cに障害が発生した場合の処理動作の概念図である。
不揮発記憶装置1−Cに障害が発生した場合、処理装置2−Aの処理部21は、現処理に対応するGrp情報(現)105を参照して、管理情報154に処理完了フラグが書き込まれているか否かを確認する。この際、処理完了フラグが書き込まれていない場合、すなわち、処理完了フラグが書き込まれる前に不揮発記憶装置1−Cに故障が発生した場合、処理装置2−Aの処理部21は、実行中の処理を中断し、Grp情報メモリ23内のGrp情報(現)105を削除した後、予備不揮発記憶装置5を使用して該当入力コンテナ群103の処理を再実行する。
Grp情報(現)105の管理情報154に処理完了フラグが書き込まれていた場合(例えば出力コンテナ102−Aに対応するオープンコンテナID153に処理完了フラグが書き込まれている場合)、不揮発記憶装置1−Cに出力済みの出力コンテナ102−Aは故障した不揮発記憶装置のクラスタ制御機構により復旧した後に次ステージの先処理装置2−Dで処理が継続される。又、処理装置2−Aへ入力される後続の入力コンテナ102−B〜Nについては、予備不揮発記憶装置5を使用して処理が継続される。
以上のように、本発明による分散処理システムによれば、障害が発生した場合、処理装置2は該当するGrp情報(現)105、Grp情報コンテナ(現)106、Grp情報コンテナ(履歴)107のいずれかを確認することで再処理の要否を判断できる。このため、処理装置2が故障した場合における再実行の要否の判断が容易となり、高速に再処理することができる。又、チェックポイント・リスタート方式のように大量の処理済データの破棄と再処理が不要であり、コミット・ロールバック方式のように入力データ(電文)単位でのコミット制御が不要で複数の入力データをまとめた入力コンテナ群単位で再実行の要否を管理できるという利点がある。
又、処理装置2間に不揮発記憶装置1等を設けずに直接データの送受信を行う方式の場合は、サーバ故障が発生すると上位の処理装置(データ入力元)や下位の処理装置(データ出力先)と連携して実行途中の処理の同期等を行う必要があり、再処理方式が複雑になる。本発明によれば、処理装置2間に不揮発記憶装置1を相互に接続し、データの送受信や処理状態の管理に利用することで正常な処理装置2と連携することなく容易に処理の再開が可能となり、処理装置2の故障が発生した場合でも該当処理装置2のみでリカバリ処理を実行することができる。
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
図1は、本発明による分散処理システムの構成図である。 図2は、本発明による分散処理システムのデータの分散処理動作の概念図である。 図3は、本発明による分散処理システムの実施の形態における「分散処理」の機能ブロック図である。 図4は、本発明に係るコンテナ及びコンテナ群の実施の形態における構造図である。 図5は、本発明に係るGrp情報コンテナ(現)と、Gp情報コンテナ(履歴)の実施の形態における構造図である。 図6は、本発明に係るGrp情報の実施の形態における構成図である。 図7は、本発明に係る処理装置の実施の形態における再処理動作のフロー図である 図8は、本発明に係る処理装置の実施の形態における再処理動作において、出力側の不揮発記憶装置に、完了フラグが書き込まれたGrp情報コンテナ(現)が存在する場合の機能ブロック図である。 図9は、本発明に係る処理装置の実施の形態における再処理動作において、出力側の不揮発記憶装置に、完了フラグか書き込まれていないGrp情報コンテナ(現)が存在する場合の機能ブロック図である。 図10は、処理装置の実施の形態における再処理動作において、出力側の不揮発記憶装置にGrp情報コンテナ(現)がない場合の機能ブロック図である。 図11は、本発明による分散処理システムの実施の形態における通常時の分散処理動作の概念図である。 図12は、本発明による分散システムの実施の形態における、入力側の不揮発記憶装置に障害が発生した場合の処理動作の概念図である。 図13は、本発明による分散システムの実施の形態における、出力側の不揮発記憶装置に障害が発生した場合の処理動作の概念図である。
符号の説明
1、1−A〜N:不揮発記憶装置
2、2−A〜N:処理装置
3:ネットワーク
4:退避装置
5:予備不揮発記憶装置
11、11−A、11−C:データ制御部
12、12−A、12−C:データ記憶部
13、13−A、13−C:Grp情報(現)記憶部
14、14−A,14−C:Grp情報(履歴)記憶部
21:処理部
22:入力部
23、41:Grp情報メモリ
100:データ
101:入力コンテナ
102:出力コンテナ
103:入力コンテナ群
104:出力コンテナ群
105:Grp情報(現)
106:Grp情報コンテナ(現)
107:Grp情報コンテナ(履歴)

Claims (18)

  1. 連の複数の処理に対応して設けられ、前記一連の複数の処理を所定の順で実行する複数の処理装置群と、
    前記複数の処理装置群のそれぞれに対応して設けられ、前記複数の処理装置群の処理結果及び処理状況を記憶する複数の記憶装置と
    を具備し、
    前記複数の処理装置群のそれぞれにおける処理装置は、自身の前段の記憶装置において、自身に対応付けられて記録された処理結果に対して処理を行い、当該処理の処理結果及び処理状況を自身の次段の処理装置に対応付けて、自身の次段の記憶装置に記録し、
    前記複数の処理装置群において、異常状態から正常状態に復旧した理装置は、自身の次段の記憶装置に記録された理状況を参照して、自身の前段の記憶装置に記録された処理結果に対する処理を完了したか否かを確認する
    分散処理システム。
  2. 請求項1に記載の分散処理システムにおいて、
    前記複数の記憶装置のそれぞれは、自身の前段の処理装置におけるデータの入力処理の状況を記録し、
    前記復旧した理装置は、自身の次段の記憶装置に記録された入力処理の状況を参照して、自身に対するデータの入力の有無を確認する
    分散処理システム。
  3. 請求項2に記載の分散処理システムにおいて、
    前記複数の処理装置群のそれぞれにおける処理装置は、自身に入力される一定量の入力データ全てに対する処理が完了した場合、記一定量の入力データに対する処理完了フラグを、自身の次段の記憶装置に設定し、
    前記復旧した理装置は、自身の次段の記憶装置に前記処理完了フラグが設定されているか否かを確認することで、前記一定量の入力データに対して処理が完了したか否かを確認する
    分散処理システム。
  4. 請求項3に記載の分散処理システムにおいて、
    前記複数の処理装置群のそれぞれにおける処理装置は、自身の前段の記憶装置から読み込み済みのデータを特定する読み込みIDを、前記データに対する処理結果に対応付けて、自身の次段の記憶装置に記録し、
    前記復旧した理装置は、前記処理完了フラグが設定された前記読み込みIDに対応付けられた処理結果に対する処理依頼を、自身の次段の処理装置に対して発行し、
    前記次段の処理装置は、前記処理依頼によって指定された記憶装置内の前記処理結果を読み出して処理を行う
    分散処理システム。
  5. 請求項3に記載の分散処理システムにおいて、
    前記複数の処理装置群のそれぞれにおける処理装置は、自身の前段の記憶装置から読み込み済みのデータを特定する読み込みIDを、前記データに対する処理結果に対応付けて自身の次段の記憶装置に記録し、
    前記復旧した理装置は、前記処理完了フラグが設定されていない前記読み込みIDに対応づけられた処理結果に対応するデータを、自身の前段の記憶装置から再度読み出して処理を行う
    分散処理システム。
  6. 請求項1から5のいずれか1項に記載の分散処理システムにおいて、
    退避装置を更に具備し、
    前記複数の処理装置群のそれぞれにおける処理装置は、定量の入力データの入力処理が完了すると、前記一定量の入力データを保持するとともに、前記一定量の入力データに対する処理状況を前記退避装置に転送し、
    前記復旧した理装置は、前記退避装置に転送した前記処理状況を参照して、前記保持する一定量の入力データの処理状況を確認する
    分散処理システム。
  7. 請求項4又は5に記載の分散処理システムにおいて、
    前記複数の処理装置群のそれぞれにおける処理装置は、自身の前段の記憶装置から一定量のデータを入力すると、前記前段の記憶装置から前記一定量のデータを削除し、前記一定量のデータに対する処理結果に対する処理依頼を次段の処理装置に発行すると、前記次段の記憶装置に記録した前記読み込みIDを削除し、
    前記復旧した処理装置は、読み込みIDが対応付けられていない処理結果が、自身の次段の記憶装置に記録されている場合、当該処理結果の処理依頼を自身の次段の処理装置に発行する
    分散処理システム。
  8. 請求項1からのいずれか1項に記載の分散処理システムにおいて、
    前記複数の処理装置群のそれぞれにおける処理装置は、自身の次段の処理装置に対して読み取り可能とした処理結果を特定するオープンID前記読み取り可能とした処理結果に対応付けて自身の次段の記憶装置に記録し、
    前記復旧した理装置は、前記オープンIDを参照して、自身に対して読み取り可能となった処理結果を特定する
    分散処理システム。
  9. 請求項1からのいずれか1項に記載の分散処理システムにおいて、
    予備記憶装置を更に具備し、
    前記複数の処理装置群のそれぞれにおける処理装置は、一定量の入力データの全てに対する処理が完了した場合、記一定量の入力データが処理済みであることを示す処理完了フラグを自身の保持する管理情報に書き込み、入力データの処理結果を記録する次段の記憶装置に障害が発生した場合、記管理情報に前記処理完了フラグが書き込まれているか否かを確認し、前記処理完了フラグが書き込まれていない場合、記一定量の入力データに対する処理を再実行し、前記一定量の入力データに対する処理結果、及び理状況を、自身の次段の処理装置に対応付けて前記予備記憶装置に記録し、前記処理結果に対する処理依頼を前記次段の処理装置に発行し、
    前記次段の処理装置は、前記処理依頼に基づいて特定した前記予備記憶装置に記録された処理結果を用いて次の処理を行う
    分散処理システム。
  10. 連の複数の処理に対応して設けられた複数の処理装置群によって、前記一連の複数の処理を所定の順で実行する分散処理方法において、
    前記複数の処理装置群のそれぞれに対応して設けられた複数の記憶装置のそれぞれが、前記複数の処理装置群のそれぞれにおける処理装置の処理結果及び処理状況を記憶するステップと
    前記複数の処理装置群のそれぞれにおける処理装置が、自身の前段の記憶装置において、自身に対応付けられて記録された処理結果に対して処理を行うステップと、
    前記処理装置が、前記前段の記憶装置に記録された処理結果に対して行った処理の結果と処理状況とを、自身の次段の処理装置に対応付けて、自身の次段の記憶装置に記録するステップと
    前記複数の処理装置群のそれぞれにおける処理装置において、異常状態から正常状態に復旧した理装置が、自身の次段の記憶装置に記録された理状況を参照して、自身の前段の記憶装置に記録された処理結果に対する処理を完了したか否かを確認するステップと
    を具備する
    分散処理方法。
  11. 請求項10に記載の分散処理方法において、
    前記処理結果及び処理状況を記憶するステップは、前記複数の記憶装置のそれぞれが、自身の前段の処理装置におけるデータの入力処理の状況を記録するステップを備え、
    前記確認するステップは、前記復旧した理装置が、前記次段の記憶装置に記録された入力処理の状況を参照して、自身に対するデータの入力の有無を確認するステップを更に備える
    分散処理方法。
  12. 請求項11に記載の分散処理方法において、
    前記処理結果及び処理状況を記憶するステップは、
    前記複数の処理装置群のそれぞれにおける処理装置が、自身に入力される一定量の入力データ全てに対する処理が完了した場合、記一定量の入力データに対して処理完了フラグを自身の次段の記憶装置に設定するステップ備え、
    前記確認するステップは、
    前記復旧した理装置が、自身の次段の記憶装置に前記処理完了フラグが設定されているか否かを確認することで、前記一定量の入力データに対して処理が完了したか否かを確認するステップを更に備える
    分散処理方法。
  13. 請求項12に記載の分散処理方法において、
    複数の処理装置群のそれぞれにおける処理装置が自身の前段の記憶装置から読み込み済みのデータを特定する読み込みIDを、前記データに対する処理結果に対応付けて、自身の次段の記憶装置に記録するステップと、
    前記復旧した理装置が、前記処理完了フラグが設定された前記読み込みIDに対応付けられた処理結果に対する処理依頼を、自身の次段の処理装置に対して発行するステップと、
    前記次段の処理装置が、前記処理依頼によって指定された記憶装置内の前記処理結果を読み出して処理を行うステップと
    を更に具備する
    分散処理方法。
  14. 請求項12に記載の分散処理方法において、
    複数の処理装置群のそれぞれにおける処理装置が、自身の前段の記憶装置から読み込み済みのデータを特定する読み込みIDを、前記データに対する処理結果に対応付けて自身の次段の記憶装置に記録するステップと、
    前記復旧した理装置が、前記処理完了フラグが設定されていない前記読み込みIDに対応づけられた処理結果に対応するデータを、自身の前段の記憶装置から再度読み出して処理を行うステップと
    を更に具備する
    分散処理方法。
  15. 請求項10から14のいずれか1項に記載の分散処理方法において、
    複数の処理装置群のそれぞれにおける処理装置が、
    定量の入力データの入力処理が完了すると、前記一定量のデータを保持するステップと、
    前記一定量の入力データに対する処理状況を前記退避装置に転送するステップと、
    前記復旧した理装置が、前記退避装置に転送した前記処理状況を参照して、前記保持する一定量の入力データの処理状況を確認するステップと
    を更に具備する
    分散処理方法。
  16. 請求項13又は14に記載の分散処理方法において、
    前記複数の処理装置群のそれぞれにおける処理装置が、
    自身の前段の記憶装置から一定量のデータを入力すると、前記前段の記憶装置から前記一定量のデータを削除するステップと、
    前記一定量のデータに対する処理結果に対する処理依頼を次段の処理装置に発行すると、前記次段の記憶装置に記録した前記読み込みIDを削除するステップと、
    前記復旧した処理装置が、読み込みIDが対応付けられていない処理結果が、自身の次段の記憶装置に記録されている場合、当該処理結果の処理依頼を自身の次段の処理装置に発行するステップと
    を更に具備する
    分散処理方法。
  17. 請求項10から16のいずれか1項に記載の分散処理方法において、
    前記処理結果及び処理状況を記憶するステップは、前記複数の処理装置群のそれぞれにおける処理装置が、自身の次段の処理装置に対して読み取り可能とした処理結果を特定するオープンID前記読取可能とした処理結果に対応付けて自身の次段の記憶装置に記録するステップを備え、
    前記確認するステップは、
    前記復旧した理装置が、前記オープンIDを参照して、自身に対して読み取り可能となった出力データを特定するステップを更に備える
    分散処理方法。
  18. 請求項10から17のいずれか1項に記載の分散処理方法において、
    複数の処理装置群のそれぞれにおける処理装置が、
    一定量の入力データの全てに対する処理が完了した場合、記一定量の入力データが処理済みであることを示す処理完了フラグを自身の保持する管理情報に書き込むステップと、
    入力データの処理結果を記録する次段の記憶装置に障害が発生した場合、記管理情報に前記処理完了フラグが書き込まれているか否かを確認するステップと、
    前記処理完了フラグが書き込まれていない場合、記一定量の入力データに対する再処理を実行するステップと、
    前記一定量の入力データに対する処理結果、及び理状況を、自身の次段の処理装置に対応付けて前記予備記憶装置に記録するステップと、
    前記処理結果に対する処理依頼を前記次段の処理装置に発行するステップと、
    前記次段の処理装置が、前記処理依頼に基づいて特定した前記予備記憶装置に記録された処理結果を用いて次の処理を行うステップと
    を更に備える
    分散処理方法。
JP2005103805A 2005-03-31 2005-03-31 分散処理システム及び分散処理方法 Expired - Fee Related JP4710380B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005103805A JP4710380B2 (ja) 2005-03-31 2005-03-31 分散処理システム及び分散処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005103805A JP4710380B2 (ja) 2005-03-31 2005-03-31 分散処理システム及び分散処理方法

Publications (2)

Publication Number Publication Date
JP2006285576A JP2006285576A (ja) 2006-10-19
JP4710380B2 true JP4710380B2 (ja) 2011-06-29

Family

ID=37407451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005103805A Expired - Fee Related JP4710380B2 (ja) 2005-03-31 2005-03-31 分散処理システム及び分散処理方法

Country Status (1)

Country Link
JP (1) JP4710380B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5439014B2 (ja) * 2009-04-10 2014-03-12 株式会社日立製作所 データ処理システム、その処理方法、及び計算機
US8205113B2 (en) * 2009-07-14 2012-06-19 Ab Initio Technology Llc Fault tolerant batch processing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0517751U (ja) * 1991-08-20 1993-03-05 日本電気ソフトウエア株式会社 データの一元管理による伝票エントリ装置
JP2002073576A (ja) * 2000-08-31 2002-03-12 Toshiba Corp バッチジョブ制御システム
JP2004288112A (ja) * 2003-03-25 2004-10-14 Fuji Xerox Co Ltd 情報処理装置及び方法
JP2004288025A (ja) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd サービス処理装置、サービス処理システム、サービス処理システムの元データ保管方法、及びサービス処理プログラム
JP2004288026A (ja) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd サービス処理システム、サービス処理システムの処理結果確認方法、及びサービス処理プログラム
JP2004287932A (ja) * 2003-03-24 2004-10-14 Bank Of Tokyo-Mitsubishi Ltd データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05165539A (ja) * 1991-12-18 1993-07-02 Hitachi Ltd バッチプログラムの自動再起動制御方式
JPH07160352A (ja) * 1993-12-09 1995-06-23 Nec Corp プログラム実行方式
JP2878159B2 (ja) * 1995-08-29 1999-04-05 中国日本電気ソフトウェア株式会社 トランザクション処理システム
JPH1031616A (ja) * 1996-07-17 1998-02-03 Nec Corp プロセス間通信システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0517751U (ja) * 1991-08-20 1993-03-05 日本電気ソフトウエア株式会社 データの一元管理による伝票エントリ装置
JP2002073576A (ja) * 2000-08-31 2002-03-12 Toshiba Corp バッチジョブ制御システム
JP2004288025A (ja) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd サービス処理装置、サービス処理システム、サービス処理システムの元データ保管方法、及びサービス処理プログラム
JP2004288026A (ja) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd サービス処理システム、サービス処理システムの処理結果確認方法、及びサービス処理プログラム
JP2004287932A (ja) * 2003-03-24 2004-10-14 Bank Of Tokyo-Mitsubishi Ltd データベース更新処理システム、データベース更新のための更新データ入力方法、更新データ処理方法、およびプログラム
JP2004288112A (ja) * 2003-03-25 2004-10-14 Fuji Xerox Co Ltd 情報処理装置及び方法

Also Published As

Publication number Publication date
JP2006285576A (ja) 2006-10-19

Similar Documents

Publication Publication Date Title
US10235375B1 (en) Persistent file system objects for management of databases
US7543181B2 (en) Recovery from failures within data processing systems
US7831561B2 (en) Automated disk-oriented backups
US6018746A (en) System and method for managing recovery information in a transaction processing system
EP1764693B1 (en) Data restoring apparatus using journal data and identification information
US8468313B2 (en) Asynchronous replication with write concurrency grouping
US20050267916A1 (en) Data backup system and method
US8874508B1 (en) Systems and methods for enabling database disaster recovery using replicated volumes
US20040215998A1 (en) Recovery from failures within data processing systems
US8554733B2 (en) Disaster recovery method, disaster recovery system, remote copy method and storage system
US8806264B2 (en) Methods for detecting split brain in a distributed system
US20050262170A1 (en) Real-time apply mechanism in standby database environments
US20050144406A1 (en) Data storage systems and processes, such as one-way data mirror using write mirroring
US7216210B2 (en) Data I/O system using a plurality of mirror volumes
CN103890736A (zh) 灾难恢复期间的消息对账
US7254683B2 (en) Speculative data mirroring apparatus method and system
US11200122B2 (en) Barrierless snapshots
CN104166605A (zh) 基于增量数据文件的数据备份方法及系统
CN102667720A (zh) 没有排序依赖的一致性
US20140172802A1 (en) Information processor and backup method
CN102597995B (zh) 同步数据库和非数据库资源
US20060004879A1 (en) Data backup system and method
JP4710380B2 (ja) 分散処理システム及び分散処理方法
WO2013091183A1 (zh) 一种键值对的操作方法及装置
US11163799B2 (en) Automatic rollback to target for synchronous replication

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100323

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110125

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110307

LAPS Cancellation because of no payment of annual fees