JPH10289140A - バッチ処理障害時の復旧方式 - Google Patents

バッチ処理障害時の復旧方式

Info

Publication number
JPH10289140A
JPH10289140A JP9095531A JP9553197A JPH10289140A JP H10289140 A JPH10289140 A JP H10289140A JP 9095531 A JP9095531 A JP 9095531A JP 9553197 A JP9553197 A JP 9553197A JP H10289140 A JPH10289140 A JP H10289140A
Authority
JP
Japan
Prior art keywords
record
file
processing
input
batch
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.)
Pending
Application number
JP9095531A
Other languages
English (en)
Inventor
Kazuyuki Kawahara
和幸 河原
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
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 Hitachi Software Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP9095531A priority Critical patent/JPH10289140A/ja
Publication of JPH10289140A publication Critical patent/JPH10289140A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】入力ファイルとして磁気テープ装置等の順編成
ファイルを使用するバッチ処理では、適性に入力された
ファイルが大量にあると処理済レコードの読み飛ばしが
多く発生し再入力に時間がかかった。また、バッチ処理
が中断すると、中断原因を対策しない限り、再開始を行
っても繰り返し中断となる。さらに、分散コンピュータ
システムではその再開始方式が複雑となる。 【解決手段】本発明は、各ノードへ入力したレコードの
入力順番の一連番号を、バッチ処理中断時の再開始ポイ
ントとして管理ファイルに上書きで格納する。処理をス
キップしたレコードについては再入力ファイルに蓄積す
る。さらに、バッチ処理中断後の再開始時、スキップレ
コードの一連番号を蓄積ファイルに追加書きで格納す
る。中断原因となったレコードを含むブロック内のレコ
ードはスキップレコードとし、次のブロックレコードか
ら処理を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータシス
テムにおけるバッチ処理障害時の復旧処理に関する。
【0002】
【従来の技術】従来の方式では、特開平1−27012
2号の記載のようにデータの品番と1対1対応でそのデ
ータが未処理か処理済であるかを示すフラグを有する管
理レコードをレコードキー対応に設け、データ処理中断
後の再開始時には対応する管理レコード内のフラグを参
照し、未処理のデータからアクセスするようにしてい
た。また、特開平3−91054号の記載のように処理
済となったデータ件数を更新していくことにより、処理
途中で障害となり中断した後の再開始処理において、中
断後から再開始していた。
【0003】
【発明が解決しようとする課題】従来技術特開平1−2
70122号では、あらかじめ入力データのレコードキ
ー対応に管理レコードを作成しておかなくてはならな
い。また、従来技術特開平3−91054号は入力にD
Bを用い、かつ、あらかじめDB構造に対応した入力D
B管理テーブルを作成しておかなくてはならない。この
ため、バッチ入力ファイルとして一般的な磁気テープ装
置等の順編成ファイルには適用できない欠点がある。ま
た、従来技術特開平3−91054号は中断原因レコー
ドの次のレコードから再開始を行うことができるが、レ
コードを順次処理するのが原則であり、ブロック内のレ
コードを並行に処理したときのブロック単位のスキップ
はできていない。さらに、特開平1−270122号、
特開平3−91054号とも分散コンピュータシステム
における処理方式が提示されていない。
【0004】
【課題を解決するための手段】本発明ではバッチ処理ご
と、かつノードごと管理ファイルと蓄積ファイルを持
つ。ある入力レコードが正常に処理完了した場合、この
レコードのノード別入力一連番号をバッチ処理中断時の
再開始ポイントとして管理ファイルに上書きで格納す
る。
【0005】また、レコード不正、タイミングエラー等
で処理をスキップしたレコードについては、別の再入力
ファイルに蓄積し、バッチ終了後の再入力に備えるとと
もに、バッチ中断後の再開始時、入力ファイルから前回
のスキップレコードを抽出し、再入力ファイルを再構築
するため、スキップレコードのノード別入力一連番号を
蓄積ファイルに追加書きで格納する。
【0006】一方、バッチ異常終了後の再開始では、管
理ファイルから処理済レコードの最終一連番号を取得
し、蓄積ファイルからスキップレコードの一連番号を取
得する。これらの情報をもとに入力ファイル読み込み
時、処理済レコードは読み飛ばし、スキップレコードは
再入力ファイルに書き出す。また、処理済の最終一連番
号以降で中断原因となったレコードを含むブロック内の
レコードは再度の中断を避けるため、スキップレコード
として扱い、次のブロックレコードから処理を行う。以
上のように、バッチが異常終了しても、再開始を行い入
力ファイルを最後まで処理する。
【0007】その後、異常終了原因、スキップ原因を対
策してから再入力ファイルを入力してレコード全件の処
理を完了する。
【0008】
【発明の実施の形態】次に本発明について図面を参照し
て説明する。図1は本発明の一実施例を示す図であり、
データの処理の流れに沿って処理方式の概略を示したも
のである。本システムは補助記憶装置である入力ファイ
ル101、管理ファイル109、蓄積ファイル110、
再入力ファイル111、プログラムであるクライアント
102、管理サーバ105、ユーザサーバ107から成
り立っている。図2は管理ファイル109、蓄積ファイ
ル110の詳細図であり、管理ファイル109はバッチ
処理ごとの管理レコードヘッダと並行処理するブロック
内レコード数分の管理レコードからなり、蓄積ファイル
110はスキップレコード対応の蓄積レコードからな
る。
【0009】図3はクライアント処理、図4は管理サー
バ処理、図5はユーザサーバの処理例の手順を示したフ
ローチャートである。
【0010】先ず、図1、図3をもとにクライアント処
理(301)の流れを説明する。クライアント102が
全ノードの管理ファイル109と蓄積ファイル110を
管理サーバ105経由で読み込む(302)。ノードご
との管理レコードヘッダ内の再開始モードフラグ203
の1つでも再開始モードかを判定する(303)。YE
Sであれば処理(305)を行なう。NOであれば、全
ノードの管理ファイル109と蓄積ファイル110を初
期化する(304)。
【0011】入力ファイル101と再入力ファイル11
1をオープンする(305)。入力ファイル101から
入力レコードを入力バッファ103に読み込む(30
6)。入力ファイル101がEOFか判定する(30
7)。YESであれば、全ノードの管理ファイル中の再
開始モードフラグをクリアし(320)、処理(32
1)を行う。NOであれば、入力バッファから1レコー
ドを取り出す(308)。入力バッファがEOFである
かを判定する(309)。YESあれば処理(306)
へ戻る。NOであれば、当該レコードのノード別一連番
号を求める(310)。再開始モードで、かつ、このレ
コードが前回スキップレコードであるかをスキップレコ
ード一連番号211と比較して判定する(311)。Y
ESであれば処理(318)を行う。NOであれば、再
開始でノード内処理済一連番号204以下のレコードか
を判定する(312)。YESであれば処理(308)
へ戻る。NOであれば当該レコードをノード別に送信バ
ッファ104にバッファリングする(313)。管理サ
ーバ105側が処理待ち、又は送信バッファ104が満
杯の状態かを判定する(314)。YESであれば管理
サーバ105に送信する(315)。NOであれば処理
(308)へ戻る。管理サーバ105からリターンした
ならば、バッチ停止要求有りかを判定する(316)。
YESであれば、処理(321)を行う。NOであれ
ば、スキップレコード有りかの判定を行う(317)。
NOであれば、当該送信バッファの全レコードは処理正
常であり、次のレコード処理(306)へ戻る。YES
であれば、応答されたスキップレコードの一連番号から
送信バッファ104中のスキップレコードを求め、再入
力ファイル111に書き出す(318)。再入力ファイ
ルへの書き出しでI/Oエラーが発生したか判定を行う
(319)。YESであれば、処理(321)を行う。
NOであれば、次のレコード処理(308)へ戻る。入
力ファイル、再入力ファイルのクローズ処理を行い(3
21)、さらに、その他のバッチ終了処理を行い(32
2)、バッチを終了する(323)。
【0012】次に、図1、図4をもとに管理サーバ処理
(401)の流れを説明する。管理サーバ105は受信
バッファ106をデブロッキングする(402)。ブロ
ック内先頭レコードをキャッチする(403)。再開始
でかつ当該レコードの一連番号は管理レコードヘッダの
ノード内グレーレコード終端一連番号204以下かの判
定を行う(404)。YESであれば、当該レコードの
一連番号は管理レコードの個別処理済一連番号208と
等しいかの判定を行う(414)。処理(414)でY
ESの場合、前回のバッチ実行で処理完了したレコード
として処理(417)を行う。処理(414)でNOの
場合、前回のバッチ実行で中断原因のある処理未完のレ
コードとして当該レコードの一連番号をスキップレコー
ド一連番号211に登録し、蓄積ファイル110へ追加
する。(415)。さらにスキップレコード番号を応答
エリアにセットする(416)。ブロック内全レコード
処理済かの判定を行う(417)。YESであれば、ク
ライアントヘリターンする(426)。NOであれば、
処理(404)へ戻る。処理(404)でNOであれば
ブロック内終端一連番号を管理レコードヘッダのノード
内グレーレコード終端一連番号205として更新し、再
開始モードフラグ203をセットする(405)。受信
バッファ中の全未処理レコードを並行にユーザサーバへ
送信する(406)。ユーザサーバからあるレコードに
ついての応答が返されたならば、ユーザサーバタイムオ
ーバであるか、又は、バッチ停止応答かを判定する(4
07)。YESであれば、ユーザ処理をロールバックし
(419)、バッチ停止要求コードを応答エリアにセッ
トし(420)、処理(412)を行う。NOであれ
ば、管理レコードの個別処理済一連番号208を更新す
る(408)。当該レコードについてスキップ応答され
たか判定する(409)。YESであれば、ユーザ処理
をロールバックし(421)、スキップレコード一連番
号211に当該レコードの一連番号を登録し、蓄積ファ
イル110に追加する(422)。さらに、スキップレ
コード番号を応答エリアにセットし(423)、処理
(412)を行う。NOであれば、ユーザ処理をコミッ
トし(410)、処理正常コードを応答エリアにセット
する(411)。その後、ブロック内全レコード処理済
かの判定を行う(412)。NOであれば、他のレコー
ドのユーザサーバ処理応答を待ち(413)、応答され
たら処理(407)へ戻る。YESであれば、管理レコ
ードヘッダのグレーレコード終端一連番号205をノー
ド内処理済一連番号204にセットし(424)、クラ
イアントヘリターンする(425)。
【0013】次に、図1、図5をもとにユーザサーバ処
理例(501)の流れを説明する。先ず、処理レコード
108のチェックを行い(502)、入力不正かの判定
を行う(503)。
【0014】YESであれば、スキップ応答(509)
を行い、管理サーバヘリターンする(510)。NOで
あれば、データベースアクセスを伴うユーザ処理を実行
する(504)。その後、ユーザ処理エラーかの判定を
行い(505)、YESであれば、バッチ処理続行不可
かの判定を行う(507)。さらに、YESであれば、
バッチ停止応答を行い(508)、管理サーバヘリター
ンする(510)。処理(507)でNOであれば、ス
キップ応答(509)を行い、管理サーバヘリターンす
る(510)。
【0015】処理(505)でNOであれば、正常応答
を行い(506)、管理サーバヘリターンする(51
0)。
【0016】
【発明の効果】以上説明したように、本発明ではバッチ
入力ファイルとして一般的な磁気テープ装置等の順編成
ファイルを扱うことができ、中断原因を対策せずに、再
開始を行っても繰り返しの中断とならない。さらに、分
散コンピュータシステムにおいても適用ができる効果が
ある。
【図面の簡単な説明】
【図1】本発明によるバッチ処理システムの構成例を示
す図である。
【図2】本発明によるバッチ処理システムが使用する作
業用ファイルの詳細図である。
【図3】本発明によるバッチ処理システムを構成するク
ライアント処理の手順を示したフローチャートである。
【図4】本発明によるバッチ処理システムを構成する管
理サーバ処理の手順を示したフローチャートである。
【図5】本発明によるバッチ処理システムを構成するユ
ーザサーバの処理例の手順を示したフローチャートであ
る。
【符号の説明】
101…入力ファイル、102…クライアント、103
…入力バッファ、104…送信バッファ、105…管理
サーバ、 106…受信バッファ、107…ユーザサー
バ、108…処理レコード、109…管理ファイル、1
10…蓄積ファイル、111…再入力ファイル。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】バッチ処理において、入力レコード不正、
    またはタイミングエラー等で入力レコードが処理できな
    い場合、処理をスキップし、当該レコードを入力ファイ
    ルとは別のファイルに蓄積しつつ処理を進め、バッチ処
    理を終了させた後、スキップレコードを蓄積したファイ
    ルを再入力することによりレコード全件を処理完了とす
    る方式。
  2. 【請求項2】バッチ処理において、プログラム不正等で
    バッチ処理が中断した場合、再開始時、処理完了となっ
    たレコードは読み飛ばし、繰り返しの中断を避けるた
    め、中断原因レコードを含むブロックの次のブロックか
    ら再開始を行い、中断原因レコードを含むブロック内の
    処理未完となったレコードは再入力に備えてスキップレ
    コードとして別のファイルに蓄積する方式。
  3. 【請求項3】分散コンピュータシステムのバッチ処理に
    おいて、各ノードに管理ファイルと蓄積ファイルを持
    ち、各ノードごとに入力レコードの再開始位置、および
    スキップレコードの位置を入力レコードのノード別一連
    番号の形式で保持することにより、バッチ処理が繰り返
    しの中断となっても再開始を繰り返し行うことにより、
    同一レコードの処理重複、およびレコードの処理抜けを
    防止してレコード全件を処理完了とする方式。
JP9095531A 1997-04-14 1997-04-14 バッチ処理障害時の復旧方式 Pending JPH10289140A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9095531A JPH10289140A (ja) 1997-04-14 1997-04-14 バッチ処理障害時の復旧方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9095531A JPH10289140A (ja) 1997-04-14 1997-04-14 バッチ処理障害時の復旧方式

Publications (1)

Publication Number Publication Date
JPH10289140A true JPH10289140A (ja) 1998-10-27

Family

ID=14140147

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9095531A Pending JPH10289140A (ja) 1997-04-14 1997-04-14 バッチ処理障害時の復旧方式

Country Status (1)

Country Link
JP (1) JPH10289140A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085021A (ja) * 2001-09-07 2003-03-20 Nippon Soken Holdings:Kk リカバリ・リスタート機能を備えたバッチ処理システム、リカバリ・リスタート機能を備えたバッチ処理システム用プログラム、及びそのプログラムを記録した記録媒体
CN108536551A (zh) * 2018-03-20 2018-09-14 中国银行股份有限公司 一种批处理程序的中断重入方法及系统
WO2023047450A1 (ja) * 2021-09-21 2023-03-30 楽天モバイル株式会社 ネットワーク管理装置、ネットワーク管理方法およびネットワーク管理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003085021A (ja) * 2001-09-07 2003-03-20 Nippon Soken Holdings:Kk リカバリ・リスタート機能を備えたバッチ処理システム、リカバリ・リスタート機能を備えたバッチ処理システム用プログラム、及びそのプログラムを記録した記録媒体
CN108536551A (zh) * 2018-03-20 2018-09-14 中国银行股份有限公司 一种批处理程序的中断重入方法及系统
WO2023047450A1 (ja) * 2021-09-21 2023-03-30 楽天モバイル株式会社 ネットワーク管理装置、ネットワーク管理方法およびネットワーク管理システム

Similar Documents

Publication Publication Date Title
US5870761A (en) Parallel queue propagation
US5065311A (en) Distributed data base system of composite subsystem type, and method fault recovery for the system
US6247023B1 (en) Method for providing database recovery across multiple nodes
JP3050510B2 (ja) イメージデータ管理装置
US20030191782A1 (en) Data recovery system
US20120254569A1 (en) Creating a buffer point-in-time copy relationship for a point-in-time copy function executed to create a point-in-time copy relationship
JPH0454258B2 (ja)
JPH11184744A (ja) メッセージキューイングシステム
JPS62297950A (ja) デ−タ・システムのジャ−ナリング方法
US8762347B1 (en) Method and apparatus for processing transactional file system operations to enable point in time consistent file data recreation
US20090157767A1 (en) Circular log amnesia detection
US7644396B2 (en) Optimal program execution replay and breakpoints
JPH10289140A (ja) バッチ処理障害時の復旧方式
US20020161789A1 (en) Parallel replication mechanism for state information produced by serialized processing
JP3627619B2 (ja) 二相コミット回避方式およびそのプログラム記録媒体
US20030033440A1 (en) Method of logging message activity
JPH07230401A (ja) ファイル保守方法およびファイル保守システム
JPH0844609A (ja) データバックアップ方法
EP1244015B1 (en) Parallel replication mechanism for state information produced by serialized processing
JPH1040123A (ja) ジョブ管理方式と方法
JPS63262737A (ja) デ−タベ−ス更新記録処理方法
JP3189804B2 (ja) データバックアップ方法および装置
JP2507579B2 (ja) 発生頻度別ロギング情報格納方式
JPH08263350A (ja) 情報管理システム及び方法
JPS6380347A (ja) フアイル転送の再送方式