Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Server Base Enterprise Option 使用の手引


3.2.1 分散トランザクション

トランザクションとは,関連する複数の処理を一つのまとまった処理として扱うための論理的な単位です。一つのトランザクション内で実行した処理は,すべてが有効になるか,すべてが無効になるかのどちらかです。

これまでのオンラインシステムは,トランザクションを単体の大型コンピュータで実行していました。このため,一つのコンピュータ内でしかトランザクションの整合性を保証していませんでした。

分散コンピューティング環境で動作するTP1/EEでは,トランザクションはほかのコンピュータに分散して実行されます。このようなトランザクション処理を分散トランザクションといいます。TP1/EEは,分散して処理する一連のトランザクション全体の整合性を保証しています。

トランザクション制御では,リソースマネジャの排他制御によって,複数のトランザクションが同時に,同じ資源を更新することはありません。資源は常にトランザクションごとに更新されます。

トランザクションが正常に終了して,トランザクションを有効にすると決定した場合,その後のUAPの処理に関係なく資源を更新することをリソースマネジャに指示します。このため,資源間の不整合が起きません。これは,障害が発生しても資源間で不整合が生じないように,トランザクションに関する履歴情報を,ステータスファイルに取得しているためです。トランザクションの処理中に障害が発生して,トランザクションを有効にしないと決定した場合には,トランザクションを開始する前の状態に資源を戻すことをリソースマネジャに指示します。このように,業務をトランザクションとして処理することで,資源の整合性を保てます。

分散トランザクションを次の図に示します。

図3‒19 分散トランザクション

[図データ]

トランザクションは,トランザクションマネジャが管理,実行します。トランザクションマネジャが管理,実行する処理内容の一覧を次の表に示します。トランザクションの種別については,マニュアル「TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。

表3‒16 トランザクションマネジャの処理内容一覧

処理名

処理内容

TP1/EEの開始・終了処理

リソースマネジャとのコネクション確保・解放

トランザクションの回復

仕掛り中トランザクションの終了監視

トランザクションの開始・終了処理

グローバルトランザクションの開始・完了

トランザクションブランチの開始・完了

トランザクション開始・終了出口

同期点処理

2相コミット

トランザクション連携

TP1/Server Baseとの連携

TP1/EEとの連携

トランザクション最適化

1相最適化

リードオンリー最適化

回復処理

プロセスダウンおよびスレッドダウン発生後のトランザクションの回復

通信障害監視処理

通信障害発生時の通信先プロセス監視

リソースマネジャ障害監視処理

リソースマネジャ障害発生時のリソースマネジャ監視

時間監視処理

トランザクション処理時間監視

トランザクションブランチ同期点処理時の最大通信待ち時間監視

XA連携処理

リソースマネジャ接続に関するX/Openインタフェース

XAインタフェース

xa_open関数リトライ

エラートランザクション処理

不正サービス名称検出通知

サービス閉塞通知

UAP異常終了通知

タイマトランザクション起動破棄通知

コミット決着失敗通知

送信障害通知

監視トランザクション処理

オンライン開始監視

プロセス終了監視

インタバルタイマ監視

資源の排他制御

資源の排他制御