Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Financial Service Platform 使用の手引


5.4.2 バッチ制御

OBM状態は,APIまたはコマンドによって制御できます。OBMの状態遷移を次に示します。

〈この項の構成〉

(1) データ型OBMの状態遷移

図5‒8 データ型OBMの状態遷移

[図データ]

図5-8の状態の意味を次の表に示します。

表5‒2 状態の意味

状態

意味

未実行

バッチ処理を開始していない状態です。またはバッチ処理が終了した状態です。

初期化中

バッチ実行環境を初期化している(オープントランザクションを実行している)状態です。

実行中

バッチ処理を実行している状態です。

クローズ中

クローズトランザクションを実行している状態です。

終了中

バッチ実行環境の後処理をしている状態です。

停止処理中

バッチ処理の停止処理を行っている状態です。

強制停止

障害によってバッチ処理を停止した状態です。

再開始処理中

バッチ処理の再開処理を行っている状態です。

一時休止

状態遷移処理で障害が発生して,状態の更新ができない状態です。

図5-8の状態遷移の説明を次の表に示します。項番は図の番号に対応しています。

表5‒3 状態遷移

項番

状態遷移

1.

OBM開始コマンドによる開始です。開始UOCが正常終了すると初期化中に遷移します。

2.

オープントランザクションを呼び出します。オープントランザクションが正常終了すると実行中に遷移します。

3.

すべてのロットのバッチデータの処理が終了したことによって呼び出されたクローズトランザクション,またはOBM強制終了コマンドによって呼び出されたクローズトランザクションが正常終了すると終了中に遷移します。

4.

終了UOCを呼び出します。終了UOCが正常終了すると未実行に遷移します。

5.

停止要求を検知したことによって呼び出されたクローズトランザクションが正常終了すると停止処理中に遷移します。

クローズトランザクションが異常終了した場合は,クローズトランザクションの実行を中止して停止処理中に遷移します※1

6.

停止UOCを呼び出します。停止UOCが正常終了すると強制停止に遷移します。

終了UOCが異常終了した場合は停止UOCの呼び出しを中止して強制停止に遷移します※2

7.

OBM強制終了コマンドによる強制終了です。クローズ中に遷移してクローズトランザクションを呼び出します。

8.

OBM開始コマンドによる再開始です。再開始UOCが正常終了すると再開始処理中に遷移します。

9.

オープントランザクションを呼び出します。オープントランザクションが正常終了すると実行中に遷移します。

10.

すべてのロットのバッチデータの処理が終了するか,停止要求を検知し全ロットのノーマルトランザクションが終了すると,クローズ中に遷移してクローズトランザクションを呼び出します。

停止要求は,次のどれかによって要求されます。

  • OBM強制停止コマンド

  • OBM強制停止API

  • ノーマルトランザクションの異常終了

  • ノーマルトランザクションを実行しているTP1/EEの異常終了,または計画停止

  • BCMのTP1/EEの再開始※2

11.

オープントランザクションの異常終了による強制停止です。停止UOCを呼び出します。停止UOCが正常終了すると強制停止に遷移します。

12.

状態遷移処理での障害です。定義に指定した回数だけリトライを実施しますが,リトライしても障害から回復しなかった場合は,一時休止状態となります。

13.

一時休止状態になるとOBM機能は定期的に障害から回復しているかどうかをチェックします。回復している場合は,一時休止状態となる前の状態に復帰します。

14.

BCMのTP1/EEの再開始時に停止UOCを呼び出します。停止UOCが正常終了すると強制停止状態に遷移します。

終了UOCが異常終了した場合は停止UOCの呼び出しを中止して強制停止に遷移します※2

15.

ハートビート障害検知による強制停止です。ハートビート障害となったBCS側で実行中のトランザクションの2重コミットを防ぐために停止処理中に遷移します。

注※1

異常終了の原因によっては一時休止します。

異常終了については,「5.4.5(3)(c) クローズトランザクション」の「異常終了時の動作」または「5.4.7(1)(d) OBMスキップデータUOC」の「異常終了時の動作」を参照してください。

注※2

BCMが存在するTP1/EEが異常終了,または計画停止した場合は,BCMの再開始時にクローズトランザクションを起動して状態が遷移します。

(2) イベント型OBMの状態遷移

図5‒9 イベント型OBMの状態遷移

[図データ]

図5-9の状態の意味を次の表に示します。

表5‒4 状態の意味

状態

意味

未実行

バッチ処理を開始していない状態です。またはバッチ処理が終了した状態です。

初期化中

バッチ実行環境を初期化している(オープントランザクションを実行している)状態です。

実行中

バッチ処理を実行している状態です。

クローズ中

クローズトランザクションを実行している状態です。

終了中

バッチ実行環境の後処理をしている状態です。

停止処理中

バッチ処理の停止処理を行っている状態です。

計画停止

運用によって計画的にバッチ処理を停止した状態です。

強制停止

障害によってバッチ処理を停止した状態です。

再開始処理中

バッチ処理の再開処理を行っている状態です。

一時休止

状態遷移処理で障害が発生して,状態の更新ができない状態です。

図5-9の状態遷移の説明を次の表に示します。項番は図の番号に対応しています。

表5‒5 状態遷移

項番

状態遷移

1.

OBM開始コマンドによる開始です。開始UOCが正常終了すると初期化中に遷移します。

2.

オープントランザクションを呼び出します。オープントランザクションが正常終了すると実行中に遷移します。

3.

すべてのロットの処理が終了したことで呼び出されたクローズトランザクション,またはOBM強制終了コマンドによって呼び出されたクローズトランザクションが正常終了すると,終了中に遷移します。

4.

終了UOCを呼び出します。終了UOCが正常終了すると未実行に遷移します。

5.

停止要求を検知したことで呼び出されたクローズトランザクションが正常終了すると停止処理中に遷移します。

クローズトランザクションが異常終了した場合は,クローズトランザクションの実行を中止して停止処理中に遷移します※1

6.

停止UOCを呼び出します。停止UOCが正常終了すると,計画停止または強制停止に遷移します。どちらに遷移するかは,停止要求をした要因によります(項番5.参照)※2

終了UOCが異常終了した場合は,停止UOCの呼び出しを中止して強制停止に遷移します※1

7.

OBM強制終了コマンドによる強制終了です。クローズ中に遷移してクローズトランザクションを呼び出します。

8.

OBM開始コマンドによる再開始です。再開始UOCが正常終了すると再開始処理中に遷移します。

9.

オープントランザクションを呼び出します。オープントランザクションが正常終了すると実行中に遷移します。

10.

すべてのロットの処理が終了するか,停止要求を検知し全ロットのノーマルトランザクションが終了すると,クローズ中に遷移してクローズトランザクションを呼び出します。

障害による停止要求は,次のどれかによって要求されます。

  • OBM強制停止コマンド

  • OBM強制停止API

  • ノーマルトランザクションの異常終了

  • ノーマルトランザクションを実行しているTP1/EEの異常終了,または計画停止B

  • BCMのTP1/EEの再開始※3

運用による計画停止要求は,次のどちらかによって要求されます。

  • OBM計画停止コマンド

  • OBM計画停止API

11.

オープントランザクションの異常終了による強制停止です。停止UOCを呼び出します。停止UOCが正常終了すると強制停止に遷移します。

12.

状態遷移処理での障害です。定義に指定した回数だけリトライを実施しますが,リトライしても障害から回復しなかった場合は,一時休止状態となります。

13.

一時休止状態になるとOBM機能は定期的に障害から回復しているかどうかをチェックします。回復している場合は,一時休止状態となる前の状態に復帰します。

14.

BCMのTP1/EEの再開始時に停止UOCを呼び出します。停止UOCが正常終了すると強制停止状態に遷移します。

終了UOCが異常終了した場合は,停止UOCの呼び出しを中止して強制停止に遷移します※1

15.

ハートビート障害検知による強制停止です。ハートビート障害となったBCS側で実行中のトランザクションの2重コミットを防ぐために停止処理中に遷移します。

注※1

異常終了の原因によっては一時休止します。異常終了については,「5.4.5(3)(c) クローズトランザクション」の「異常終了時の動作」または「5.4.7(1)(d) OBMスキップデータUOC」の「異常終了時の動作」を参照してください。

注※2

イベント型OBMを構成するロットの状態が,正常終了,計画停止,強制停止が混在している場合は,OBMの状態は強制停止となります。強制停止状態のロットがなく,正常終了,計画停止が混在している場合は,計画停止状態となります。

注※3

BCMが存在するTP1/EEが,異常終了または計画停止した場合は,BCMの再開始時にクローズトランザクションを起動して状態が遷移します。

(3) OBM実行結果の出力

OBMが終了/停止すると,OBMの実行結果をOBM開始コマンドの標準出力に出力します。これによってOBMの実行結果を確認できます。

また,OBM終了時は,OBM実行結果ファイルを出力できます。OBM実行結果ファイルに出力される内容は,OBM開始コマンドの標準出力に出力する内容と同じです。OBMは正常に終了したが,実行結果を標準出力に出力する前にOBM開始コマンドが異常終了した場合や,OBM開始コマンドの標準出力を再度確認する場合に使用できます。

OBM実行結果ファイルは,OBMが終了するたびに1ファイル作成します。作成するファイル数は,OBM構成定義ファイルのobmstartコマンド-fオプションfile_noオペランドで定義します。ファイル名には1から順に番号を振ります。OBM定義で設定した番号までファイルを作成した場合は,1から順に上書きされます。

OBM実行結果ファイルの出力先は,BCMのTP1/EEの$DCDIR/spool/dceeinf/obmです。ファイル名は,「BCMのサービスグループ名_OBM名_001からの通番」となります。ディレクトリは,TP1/EEがオンライン開始時に作成します。

OBM停止時には,OBM実行結果ファイルは出力されません。代わりにOBM状態表示コマンド(eeobmstatls)で確認できます。eeobmstatlsコマンドでは,停止中のOBMの実行結果を標準出力に出力できます。出力する内容は,OBM開始コマンドの標準出力の内容と同じです。

OBM実行結果の出力先と出力契機を次の表に示します。

表5‒6 OBM実行結果の出力先と出力契機

項番

出力先

出力契機

備考

1

OBM開始コマンドの標準出力

OBM停止

(計画停止,強制停止)

OBM終了

(正常終了,強制終了)

2

$DCDIR/spool/dceeinf/obm

OBM終了

(正常終了,強制終了)

OBMごとに複数世代保存できます。

3

OBM状態表示コマンドの標準出力

OBM状態表示コマンド実行

停止中のOBMの実行結果を出力できます。終了したOBMの実行結果は出力できません。

(凡例)

−:特にありません。

(4) TP1/EE終了時のOBM状態監視

TP1/EEが終了する場合に,未実行状態でないOBMがある場合は,状態の監視を行います。

(a) BCMの終了

BCMのTP1/EEが正常終了,または計画停止Aで停止する場合は,すべてのOBMが監視対象の状態でなくなるまで監視を行います。監視対象の状態のOBMがある間は,TP1/EEを終了しません。監視中は,obm_endchkmsg_interval定義に設定した間隔でKFSB55718-Wを出力します。KFSB55718-Wは,監視対象状態のOBMの数を通知します。

なお,TP1/EEの終了処理の開始後は,監視対象でない状態から監視対象の状態に変更できません(例えば,未実行状態のOBMに対してOBM開始コマンドを実行できません)。

BCMのTP1/EEが計画停止B,または強制停止する場合は,OBMの状態に関係なくTP1/EEは停止します。

表5‒7 TP1/EEの終了形態とOBM状態

項番

TP1/EEの

終了形態

OBM状態

未実行

初期化中

実行中

クローズ中

終了中

停止処理中

強制停止

計画停止

再開始処理中

一時休止

1

正常終了

2

計画停止A

3

計画停止B

4

強制停止

(凡例)

○:監視対象。監視対象のOBMが1つでもあるとTP1/EEを終了しません。

−:監視対象ではない状態です。

(b) BCSの終了

BCSのTP1/EE終了時は,BCMのTP1/EEに終了連絡を通知して仕掛かり中のOBMトランザクションが終了するまで待ち合わせます。データ型OBMの場合は,受信済みブロックのバッチデータがすべて処理済みとなるまで待ち合わせます。イベント型OBMの場合は,ロットが処理済みとなるまで待ち合わせます。

BCMでは,BCSからの終了連絡を受け取ると,該当BCSに新たな実行要求を送信しないようにトランザクション実行要求の送信先を切り替えます。

BCSでは,BCMが送信先を切り替えたことを確認するまでTP1/EEの終了を待ち合わせます。