JPH04148250A - オンライントランザクションシステム - Google Patents
オンライントランザクションシステムInfo
- Publication number
- JPH04148250A JPH04148250A JP2268530A JP26853090A JPH04148250A JP H04148250 A JPH04148250 A JP H04148250A JP 2268530 A JP2268530 A JP 2268530A JP 26853090 A JP26853090 A JP 26853090A JP H04148250 A JPH04148250 A JP H04148250A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- queue
- aij
- transaction
- disk
- 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
Links
- 239000000872 buffer Substances 0.000 claims abstract description 63
- 206010047571 Visual impairment Diseases 0.000 claims description 11
- 238000011084 recovery Methods 0.000 claims description 5
- 230000006378 damage Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
この発明は、トランザクションのロールバック・リカバ
リに好適なオンライントランザクションシステムに関す
る。
リに好適なオンライントランザクションシステムに関す
る。
(従来の技術)
オントランザクションシステムでは、トランザクション
自身が異常終了するいわゆるトランザクション中断が発
生することがある。この場合、中断したトランザクショ
ンの開始前の状態に復旧するいわゆるロールバックが必
要となる。従来、このロールバックは、トランザクショ
ン開始時に主記憶上のバッファの更新前のデータ(ビフ
ォアイメージ)を採取保存しておき、このビフォアイメ
ージをトランザクション中断時に上記バッファに書き戻
すことによって行われていた。
自身が異常終了するいわゆるトランザクション中断が発
生することがある。この場合、中断したトランザクショ
ンの開始前の状態に復旧するいわゆるロールバックが必
要となる。従来、このロールバックは、トランザクショ
ン開始時に主記憶上のバッファの更新前のデータ(ビフ
ォアイメージ)を採取保存しておき、このビフォアイメ
ージをトランザクション中断時に上記バッファに書き戻
すことによって行われていた。
(発明が解決しようとする課題)
上記したように従来のロールバック方式(ロールバック
・リカバリ方式)では、トランザクション開始時に主記
憶上のバッファの更新前のデータ、即ちビフォアイメー
ジを保存しておき、トランザクション中断時にこれをバ
ッファに書き戻すことでロールバックを行うようにして
いた。しかし、実際のシステムで、トランザクションが
中断される率(したがってトランザクションがロールバ
ックされる率)は極めて低く、全てのトランザクション
がビフォアイメージを採取する従来方式では、オーバヘ
ッドが大きいという問題があった。
・リカバリ方式)では、トランザクション開始時に主記
憶上のバッファの更新前のデータ、即ちビフォアイメー
ジを保存しておき、トランザクション中断時にこれをバ
ッファに書き戻すことでロールバックを行うようにして
いた。しかし、実際のシステムで、トランザクションが
中断される率(したがってトランザクションがロールバ
ックされる率)は極めて低く、全てのトランザクション
がビフォアイメージを採取する従来方式では、オーバヘ
ッドが大きいという問題があった。
この発明は上記事情に鑑みてなされたものでその目的は
、各トランザクションがとフォアイメージを採取保存し
ておかなくても、トランザクション中断時のロールバッ
ク処理が行え、もってトランザクションの高速実行が図
れるオンライントランザクションシステムを提供するこ
とにある。
、各トランザクションがとフォアイメージを採取保存し
ておかなくても、トランザクション中断時のロールバッ
ク処理が行え、もってトランザクションの高速実行が図
れるオンライントランザクションシステムを提供するこ
とにある。
[発明の構成コ
(課題を解決するための手段)
この発明は、オンライントランザクションシステムにお
いては、ディスク破壊時等のディスクデータの復旧のた
めに、主記憶上のバッファでのデータの更新記録である
アフタイメージジャーナル(以下、AIJと称する)を
トランザクション単位で作成して主記憶上に置かれるキ
ューに登録すると共にファイルに保存するAIJ採取手
段が設けられていることに着目し、このAIJ採取手段
の他に、このAIJ採取手段によって主記憶上のキュー
に登録されているAIJで示されるデータブロックの上
記主記憶上のイメージを適宜ディスクへ書き込んディス
クデータの実更新を行い、該当AIJをキューから外す
実更新手段と、トランザクションの中断時に、少なくと
もキュー上のAIJをもとに、上記バッファを当該トラ
ンザクションの実行前の状態に復旧するロールバックを
行うロールバック処理手段とを設けたことを特徴とする
。
いては、ディスク破壊時等のディスクデータの復旧のた
めに、主記憶上のバッファでのデータの更新記録である
アフタイメージジャーナル(以下、AIJと称する)を
トランザクション単位で作成して主記憶上に置かれるキ
ューに登録すると共にファイルに保存するAIJ採取手
段が設けられていることに着目し、このAIJ採取手段
の他に、このAIJ採取手段によって主記憶上のキュー
に登録されているAIJで示されるデータブロックの上
記主記憶上のイメージを適宜ディスクへ書き込んディス
クデータの実更新を行い、該当AIJをキューから外す
実更新手段と、トランザクションの中断時に、少なくと
もキュー上のAIJをもとに、上記バッファを当該トラ
ンザクションの実行前の状態に復旧するロールバックを
行うロールバック処理手段とを設けたことを特徴とする
。
(作 用)
この発明によれば、バッファ上でのデータの更新記録で
あるAIJがトランザクション単位で作成され、主記憶
上のキュー(A I Jキュー)に登録される(つなが
れる)。このAIJは、該当トランザクションの処理対
象となったデータブロックのバッファ上のイメージの一
部だけが更新された場合には、該当部分だけの更新記録
(以下、レコードログと称する)となっており、データ
ブロックのバッファ上のイメージの全体(バッファ全体
)にわたって更新された場合にはブロック全体の更新記
録(以下、ページログと称する)となっている。実更新
手段は、主記憶上のAIJキューを適宜参照して、既に
完了した(コミットした)トランザクションのAIJを
古い順から取り出し、この取り出したAIJて示される
バッファイメージをディスクへ書き込んディスクデータ
の実更新を行う。この際、実更新手段は該当するAIJ
をAIJキューから外す。
あるAIJがトランザクション単位で作成され、主記憶
上のキュー(A I Jキュー)に登録される(つなが
れる)。このAIJは、該当トランザクションの処理対
象となったデータブロックのバッファ上のイメージの一
部だけが更新された場合には、該当部分だけの更新記録
(以下、レコードログと称する)となっており、データ
ブロックのバッファ上のイメージの全体(バッファ全体
)にわたって更新された場合にはブロック全体の更新記
録(以下、ページログと称する)となっている。実更新
手段は、主記憶上のAIJキューを適宜参照して、既に
完了した(コミットした)トランザクションのAIJを
古い順から取り出し、この取り出したAIJて示される
バッファイメージをディスクへ書き込んディスクデータ
の実更新を行う。この際、実更新手段は該当するAIJ
をAIJキューから外す。
このような状態で、処理中のトランザクション(現トラ
ンザクション)が中断した場合には、ロールバック処理
手段が起動される。このロールバック処理手段は、主記
憶上のキューにつながれているAIJを用い、更に必要
があればディスク上のデータも用い、主記憶上のバッフ
ァの状態を現トランザクションの実行前の状態に復旧す
るロールバックを、例えば次のようにして行う。即ちロ
ールバック処理手段は、トランザクションの中断時には
、AIJキューをたどって最も新しいページログを見付
けて同ページログ(の示すバッファイメージ)をバッフ
ァに書き込み、しかる後に同ページログより後に作成さ
れたレコードログ(の示すバッファイメージ)を古いも
のから順にバッファに書き込む。こうすることにより、
全てのAIJ(レコードログまたはページログ)を古い
ものから順にバッファに書き込まなくても、トランザク
ション開始前の状態に復旧できるので、高速復旧が可能
となる。これに対し、AIJキューにページログがつな
がれていなければ、ロールバック処理手段はディスクの
対象ブロックのデータをバッファに書き込み、しかる後
にAIJキューにつながれているレコードログを古いも
のから順にバッファに書き込む。更に、AIJキューに
ページログおよびレコードログのいずれも存在しない場
合には、ロールバック処理手段はバッファの無効化を行
う。この際、バッファにディスクのデータを書き込まな
い(ローディングしない)のは、同じデータブロックを
処理対象とするトランザクションが起動された場合に、
その対象ブロックがディスクからローディングされるか
らである。
ンザクション)が中断した場合には、ロールバック処理
手段が起動される。このロールバック処理手段は、主記
憶上のキューにつながれているAIJを用い、更に必要
があればディスク上のデータも用い、主記憶上のバッフ
ァの状態を現トランザクションの実行前の状態に復旧す
るロールバックを、例えば次のようにして行う。即ちロ
ールバック処理手段は、トランザクションの中断時には
、AIJキューをたどって最も新しいページログを見付
けて同ページログ(の示すバッファイメージ)をバッフ
ァに書き込み、しかる後に同ページログより後に作成さ
れたレコードログ(の示すバッファイメージ)を古いも
のから順にバッファに書き込む。こうすることにより、
全てのAIJ(レコードログまたはページログ)を古い
ものから順にバッファに書き込まなくても、トランザク
ション開始前の状態に復旧できるので、高速復旧が可能
となる。これに対し、AIJキューにページログがつな
がれていなければ、ロールバック処理手段はディスクの
対象ブロックのデータをバッファに書き込み、しかる後
にAIJキューにつながれているレコードログを古いも
のから順にバッファに書き込む。更に、AIJキューに
ページログおよびレコードログのいずれも存在しない場
合には、ロールバック処理手段はバッファの無効化を行
う。この際、バッファにディスクのデータを書き込まな
い(ローディングしない)のは、同じデータブロックを
処理対象とするトランザクションが起動された場合に、
その対象ブロックがディスクからローディングされるか
らである。
(実施例)
以下、この発明の一実施例を図面を参照して説明する。
第1図はオンライントランザクションシステムの本発明
に直接関係する部分を抜き出して示す機能ブロック構成
図である。同図において、11は現在処理中のトランザ
クションであり、そのトランザクション名をfとする。
に直接関係する部分を抜き出して示す機能ブロック構成
図である。同図において、11は現在処理中のトランザ
クションであり、そのトランザクション名をfとする。
I2は各種データが格納されているディスク、13はデ
ィスク12に置かれ、トランザクション11の処理対象
となるデータブロック(対象ブロック)である。14は
主記憶、15はディスク12上の対象ブロック13のイ
メージを持つ主記憶14上のバッファである。本実施例
では、トランザクション11によるデータの参照/更新
は、データ処理の高速化のために、アクセス速度の遅い
ディスク12上の対象ブロック13に対してではなく、
このバッファ15を対象に行われるようになっている。
ィスク12に置かれ、トランザクション11の処理対象
となるデータブロック(対象ブロック)である。14は
主記憶、15はディスク12上の対象ブロック13のイ
メージを持つ主記憶14上のバッファである。本実施例
では、トランザクション11によるデータの参照/更新
は、データ処理の高速化のために、アクセス速度の遅い
ディスク12上の対象ブロック13に対してではなく、
このバッファ15を対象に行われるようになっている。
したがって、バッファ15に対する更新結果を、ディス
ク12上の対象ブロック13に反映させる実更新が必要
となる。
ク12上の対象ブロック13に反映させる実更新が必要
となる。
lea〜lBeは現在処理中のトランザクション11の
実行前に実行が完了した(コミットした)トランザクシ
ョン名がa −eの(処理対象ブロックがトランザクシ
ョン11と同一の)トランザクションによるバッファ1
5でのデータ更新記録である。
実行前に実行が完了した(コミットした)トランザクシ
ョン名がa −eの(処理対象ブロックがトランザクシ
ョン11と同一の)トランザクションによるバッファ1
5でのデータ更新記録である。
A I J Lea −18−sは、該当トランザクシ
ョンの実行が完了(コミット)した際に、ディスク12
の破壊時等のディスクデータの復旧のために作成された
もので、未だディスクI2への実更新が行われていない
ものである。ここではA I J 16aが最も古<、
AIJ16eが最も新しい。本実施例で作成されるAI
Jには2種ある。1つは、該当トランザクションの対象
ブロック(13)のバッファ(15)上のイメージの一
部だけが更新された場合に作成されるAIJであり、該
当部分のみの更新記録であるレコードログである。残り
の1つは、対象ブロック(13)のバッファ(15)上
のイメージ全体にわたって更新された場合に作成される
AIJであり、ブロック全体の更新記録であるページロ
グである。17は対象ブロック13に固有のAIJキュ
ーであり、ブロック13を処理対象として実行が完了し
た(コミットした)トランザクションによるバッファ1
5でのデータ更新記録CAIJ)のうち、未だディスク
12への実更新が行われていないものが時間順(作成順
)に管理されたデータ構造である。AIJキュ17には
、A I J lea 〜16eがA I J lea
から順につながれている。18は対象ブロック13のイ
メージを持つバッファ15の位置、および同バッファ1
5に対する更新処理の記録(AIJ)を持つAIJキュ
ー17(対象ブロック13に固有のAIJキュー17)
を管理するため制御ブロックである。この制御ブロック
18は主記憶14上に置かれる。この制御ブロック18
と同種の制御ブロック、AIJキュー17と同種のAI
Jキューおよびバッファ15と同種のバッファは、ディ
スク12上の対象ブロック13と同様の各対象プロ・ツ
ク毎に主記憶14上に置かれる。
ョンの実行が完了(コミット)した際に、ディスク12
の破壊時等のディスクデータの復旧のために作成された
もので、未だディスクI2への実更新が行われていない
ものである。ここではA I J 16aが最も古<、
AIJ16eが最も新しい。本実施例で作成されるAI
Jには2種ある。1つは、該当トランザクションの対象
ブロック(13)のバッファ(15)上のイメージの一
部だけが更新された場合に作成されるAIJであり、該
当部分のみの更新記録であるレコードログである。残り
の1つは、対象ブロック(13)のバッファ(15)上
のイメージ全体にわたって更新された場合に作成される
AIJであり、ブロック全体の更新記録であるページロ
グである。17は対象ブロック13に固有のAIJキュ
ーであり、ブロック13を処理対象として実行が完了し
た(コミットした)トランザクションによるバッファ1
5でのデータ更新記録CAIJ)のうち、未だディスク
12への実更新が行われていないものが時間順(作成順
)に管理されたデータ構造である。AIJキュ17には
、A I J lea 〜16eがA I J lea
から順につながれている。18は対象ブロック13のイ
メージを持つバッファ15の位置、および同バッファ1
5に対する更新処理の記録(AIJ)を持つAIJキュ
ー17(対象ブロック13に固有のAIJキュー17)
を管理するため制御ブロックである。この制御ブロック
18は主記憶14上に置かれる。この制御ブロック18
と同種の制御ブロック、AIJキュー17と同種のAI
Jキューおよびバッファ15と同種のバッファは、ディ
スク12上の対象ブロック13と同様の各対象プロ・ツ
ク毎に主記憶14上に置かれる。
20はシステム全体の制御・管理を司るオペレーティン
グシステム(以下、O8と称する)である。OS 20
は、ファイル管理機能の一部として、AIJの作成と図
示せぬAIJファイルへの保存を行うAIJ採取部21
、AIJ採取部21によって作成されてAIJキュー(
17)につながれているAIJで示されるイメージを適
宜ディスク12へ書き込んディスクデータの実更新を行
い、該当AIJをAIJキュー17から外す実更新部2
2、および処理中のトランザクション(11)の中断時
に、主記憶14上のAIJキュー(17)につながれて
いるAIJを用い、更に必要があればディスク12上の
データも用い、バッファ(1513)を当該トランザク
ション(11)の実行前の状態に復旧するロールバック
(ロールバック・リカバリ処理)を行うロールバック処
理部23の各機能ブロックを有している。
グシステム(以下、O8と称する)である。OS 20
は、ファイル管理機能の一部として、AIJの作成と図
示せぬAIJファイルへの保存を行うAIJ採取部21
、AIJ採取部21によって作成されてAIJキュー(
17)につながれているAIJで示されるイメージを適
宜ディスク12へ書き込んディスクデータの実更新を行
い、該当AIJをAIJキュー17から外す実更新部2
2、および処理中のトランザクション(11)の中断時
に、主記憶14上のAIJキュー(17)につながれて
いるAIJを用い、更に必要があればディスク12上の
データも用い、バッファ(1513)を当該トランザク
ション(11)の実行前の状態に復旧するロールバック
(ロールバック・リカバリ処理)を行うロールバック処
理部23の各機能ブロックを有している。
次に、第1図の構成の動作を、第2図のフローチャート
を適宜参照して説明する。
を適宜参照して説明する。
今、第1図のシステムでは、ディスク12上のブロック
13を処理対象とし、トランザクション名がaのトラン
ザクション11が処理中であるものとする。このとき、
対象ブロック13に固有の主記憶14上のAIJキュー
17には、A I J lea 〜16eが最も古いA
I J leaから順につながれているものとする。
13を処理対象とし、トランザクション名がaのトラン
ザクション11が処理中であるものとする。このとき、
対象ブロック13に固有の主記憶14上のAIJキュー
17には、A I J lea 〜16eが最も古いA
I J leaから順につながれているものとする。
このA I J 16a〜leeは、前記したように、
現在処理中のトランザクション11の実行前に既にコミ
ットし、上記ブロック13をトランザクション11と同
様に処理対象とするトランザクション名がa −eのト
ランザクションによるバッファ15でのデータ更新記録
である。0820内の実更新部22は、トランザクショ
ン処理の合間に、AIJキュー17につながれているA
IJを最も古いものから順に取り出し、そのAIJで示
されるブロック(の一部もしくは全体)のバッファイメ
ージをディスク12上の対象ブロック13に書き込んで
、ディスクデータの実更新を行う。本実施例における実
更新では、入出力(I 10)回数を減らすために、複
数のAIJを1回の入出力で書き込むようになっている
。実更新部22は、1回のディスクデータの実更新を終
了する毎に、対応する幾つかのAIJをAIJキュー1
7から外す。このためAIJキュー17には、AIJ採
取部21によって作成されたAIJのうち未だディスク
12への実更新が行われていないものが時間順(作成順
)につながれるでいる。
現在処理中のトランザクション11の実行前に既にコミ
ットし、上記ブロック13をトランザクション11と同
様に処理対象とするトランザクション名がa −eのト
ランザクションによるバッファ15でのデータ更新記録
である。0820内の実更新部22は、トランザクショ
ン処理の合間に、AIJキュー17につながれているA
IJを最も古いものから順に取り出し、そのAIJで示
されるブロック(の一部もしくは全体)のバッファイメ
ージをディスク12上の対象ブロック13に書き込んで
、ディスクデータの実更新を行う。本実施例における実
更新では、入出力(I 10)回数を減らすために、複
数のAIJを1回の入出力で書き込むようになっている
。実更新部22は、1回のディスクデータの実更新を終
了する毎に、対応する幾つかのAIJをAIJキュー1
7から外す。このためAIJキュー17には、AIJ採
取部21によって作成されたAIJのうち未だディスク
12への実更新が行われていないものが時間順(作成順
)につながれるでいる。
ここで、現在処理中のトランザクション11が何らかの
要因で異常終了(中断)したものとする。
要因で異常終了(中断)したものとする。
トランザクショ″L11の中断が発生すると、0820
内のロールバック処理部23が起動される。これにより
ロールバック処理部23は、トランザクション11によ
って更新されたバッファ15のイメージを、AIJキュ
ー17につながれているAIJをもとにトランザクショ
ン11の実行前の状態に復旧するロールバック処理を、
以下に述べるように第2図のフローチャートに従って行
う。
内のロールバック処理部23が起動される。これにより
ロールバック処理部23は、トランザクション11によ
って更新されたバッファ15のイメージを、AIJキュ
ー17につながれているAIJをもとにトランザクショ
ン11の実行前の状態に復旧するロールバック処理を、
以下に述べるように第2図のフローチャートに従って行
う。
まずロールバック処理部23は、AIJキュー17が空
であるか否かを調べる(ステップSl)。
であるか否かを調べる(ステップSl)。
もし、第1図のようにAIJキュー17が空でなければ
、即ちディスク12への実更新が完了していないAIJ
が存在する場合には、ロールバック処理部23はAIJ
キュー17につながれている最新のAIJ(第1図では
AIJ16e)のエントリ(キューエントリ)番号を対
象エントリ番号Nに設定する(ステップS2)。次にロ
ールバック処理部23は、対象エントリ番号NのAIJ
がページログであるか否か(レコードログか)を調べる
(ステップS3)。
、即ちディスク12への実更新が完了していないAIJ
が存在する場合には、ロールバック処理部23はAIJ
キュー17につながれている最新のAIJ(第1図では
AIJ16e)のエントリ(キューエントリ)番号を対
象エントリ番号Nに設定する(ステップS2)。次にロ
ールバック処理部23は、対象エントリ番号NのAIJ
がページログであるか否か(レコードログか)を調べる
(ステップS3)。
もし、対象エントリ番号NのAIJがページログでなけ
れば、ロールバック処理部23は対象エントリ番号Nが
(最も古いAIJを示す)先頭エントリ番号であるか否
かを調べる(ステップS4)。もし、対象エントリ番号
Nが先頭エントリ番号でなければ、ロールバック処理部
23は対象エントリ番号Nを−1して、AIJキュー1
7内の更に1つだけ古いAIJを参照しくステップS5
)、そのAIJについて再びステップS3の判定、即ち
そのAIJがページログであるか否かの判定を行う。
れば、ロールバック処理部23は対象エントリ番号Nが
(最も古いAIJを示す)先頭エントリ番号であるか否
かを調べる(ステップS4)。もし、対象エントリ番号
Nが先頭エントリ番号でなければ、ロールバック処理部
23は対象エントリ番号Nを−1して、AIJキュー1
7内の更に1つだけ古いAIJを参照しくステップS5
)、そのAIJについて再びステップS3の判定、即ち
そのAIJがページログであるか否かの判定を行う。
ここで、対象エントリ番号Nで示されるAIJがページ
ログであることがステップS3にて判定された場合、即
ちAIJキュー17を最も新しいAIJ(第1図ではA
IJ16e)から順にたどってページログを見付けた場
合、ロールバック処理部28はそのページログ(AIJ
キュー17につながっているページログのAIJのうち
、最も新しいAIJ)をAIJキュー17から取り出し
て、そのページログ(AIJ)で示されるブロックのイ
メージをバッファ15に書き込み(ステップS6)、更
にそのページログの次の(そのページログより1つ新し
い)AIJ(レコードログ)をバッファ15への上書き
の開始点とする(ステップS6)。次にロールバック処
理部23は、開始点のAIJ (レコードログ)から
順にAIJキュー17を(新しい方に)戻りながら、開
始点のAIJ(レコードログ)から最も新しいAIJま
での各AIJについて、そのAIJで示されるイメージ
をバッファ15の対応領域に上書きする(ステップS7
)。この結果、バッファ15のイメージは、トランザク
ション11の実行前の状態に復旧される。
ログであることがステップS3にて判定された場合、即
ちAIJキュー17を最も新しいAIJ(第1図ではA
IJ16e)から順にたどってページログを見付けた場
合、ロールバック処理部28はそのページログ(AIJ
キュー17につながっているページログのAIJのうち
、最も新しいAIJ)をAIJキュー17から取り出し
て、そのページログ(AIJ)で示されるブロックのイ
メージをバッファ15に書き込み(ステップS6)、更
にそのページログの次の(そのページログより1つ新し
い)AIJ(レコードログ)をバッファ15への上書き
の開始点とする(ステップS6)。次にロールバック処
理部23は、開始点のAIJ (レコードログ)から
順にAIJキュー17を(新しい方に)戻りながら、開
始点のAIJ(レコードログ)から最も新しいAIJま
での各AIJについて、そのAIJで示されるイメージ
をバッファ15の対応領域に上書きする(ステップS7
)。この結果、バッファ15のイメージは、トランザク
ション11の実行前の状態に復旧される。
このように、AIJキュー17内にページログが存在す
る場合に、まず最も新しいページログをバッファ15へ
の書き込みに用いることにより、そのページログより古
いAIJキューI7内のAIJについては、バッファ1
5への書き込みは不要となり、トランザクション11の
中断時のロールバック処理の高速化が図れる。この考え
方は、前記したディスクデータの実更新にも適用できる
。また、AIJキュー17内にページログが存在する場
合には、(次に述べるページログが存在しない場合と異
なって)ディスク12のアクセス(ディスク12からバ
ッファ15へのローディング)が不要となる。
る場合に、まず最も新しいページログをバッファ15へ
の書き込みに用いることにより、そのページログより古
いAIJキューI7内のAIJについては、バッファ1
5への書き込みは不要となり、トランザクション11の
中断時のロールバック処理の高速化が図れる。この考え
方は、前記したディスクデータの実更新にも適用できる
。また、AIJキュー17内にページログが存在する場
合には、(次に述べるページログが存在しない場合と異
なって)ディスク12のアクセス(ディスク12からバ
ッファ15へのローディング)が不要となる。
次に、ステップS4で対象エントリ番号Nが先頭エント
リであることが判定された場合、即ちAIJキュー17
を最も新しいAIJから最も古いAIJまでたどっても
AIJキュー17内でページログが見付けられなかった
場合について説明する。
リであることが判定された場合、即ちAIJキュー17
を最も新しいAIJから最も古いAIJまでたどっても
AIJキュー17内でページログが見付けられなかった
場合について説明する。
この場合、まずロールバック処理部23はディスク12
上の対象ブロック13のデータをディスク12からバッ
ファ15にローディングし、更にAIJキュー17内で
最も古い(即ち先頭の)AIJ(レコードログ)をバッ
ファ15への上書きの開始点とする(ステップS8)。
上の対象ブロック13のデータをディスク12からバッ
ファ15にローディングし、更にAIJキュー17内で
最も古い(即ち先頭の)AIJ(レコードログ)をバッ
ファ15への上書きの開始点とする(ステップS8)。
次にロールバック処理部23はステップS7に進み、開
始点の(ここではAIJキュー17内で最も古い)AI
J(レコードログ)から順にAIJキュー17を(新し
い方に)戻りながら、開始点のAIJ(レコードログ)
から最モ新しいAIJまでの各AIJについて、そのA
IJで示されるイメージをバッファ15の対応領域に上
書きする(ステップS7)。このように、AIJキュー
17内にページログが存在しない場合には、ディスク1
2上のイメージに対して、AIJキュー17につながれ
たAIJ (レコードログ)を時間順(作成順)に適用
する(データの変更を再現する)ことにより、現トラン
ザクション11の実行開始前のバッファ15のイメージ
を復旧することができる。
始点の(ここではAIJキュー17内で最も古い)AI
J(レコードログ)から順にAIJキュー17を(新し
い方に)戻りながら、開始点のAIJ(レコードログ)
から最モ新しいAIJまでの各AIJについて、そのA
IJで示されるイメージをバッファ15の対応領域に上
書きする(ステップS7)。このように、AIJキュー
17内にページログが存在しない場合には、ディスク1
2上のイメージに対して、AIJキュー17につながれ
たAIJ (レコードログ)を時間順(作成順)に適用
する(データの変更を再現する)ことにより、現トラン
ザクション11の実行開始前のバッファ15のイメージ
を復旧することができる。
最後に、ステップS1でAIJキュー17が空であるこ
とが判定された場合、即ちAIJ採取部21によって作
成された全てのAIJの(実更新部22による)実更新
が完了している場合について説明する。この場合、ロー
ルバック処理部23は使用中のバッファ15を無効にす
ることにより(ステップS9)、ロールバック処理を行
う。この際、バッファ15にディスク12上の対象ブロ
ック13のデータを書き込まない(ローディングしない
)のは、その後、同じブロック13を処理対象とするト
ランザクションが起動された場合に、そのブロック13
がディスク12からバッファ15にローディングされる
からである。
とが判定された場合、即ちAIJ採取部21によって作
成された全てのAIJの(実更新部22による)実更新
が完了している場合について説明する。この場合、ロー
ルバック処理部23は使用中のバッファ15を無効にす
ることにより(ステップS9)、ロールバック処理を行
う。この際、バッファ15にディスク12上の対象ブロ
ック13のデータを書き込まない(ローディングしない
)のは、その後、同じブロック13を処理対象とするト
ランザクションが起動された場合に、そのブロック13
がディスク12からバッファ15にローディングされる
からである。
[発明の効果コ
以上詳述したようにこの発明によれば、ディスク破壊時
等のディスクデータの復旧のためにトランザクション単
位で採取されるAIJ(アフタイメージジャーナル)を
利用してロールバック処理を行う構成としたことにより
、従来ロールバック処理のために各トランザクション開
始時に行われていた更新前のデータ(ビフォアイメージ
)の採取保存処理が不要となり、トランザクションが正
常にコミットされた場合の無駄を無くすことができ、ト
ランザクションを高速に実行することができる。
等のディスクデータの復旧のためにトランザクション単
位で採取されるAIJ(アフタイメージジャーナル)を
利用してロールバック処理を行う構成としたことにより
、従来ロールバック処理のために各トランザクション開
始時に行われていた更新前のデータ(ビフォアイメージ
)の採取保存処理が不要となり、トランザクションが正
常にコミットされた場合の無駄を無くすことができ、ト
ランザクションを高速に実行することができる。
第1図はこの発明の一実施例に係るオンライントランザ
クションシステムのブロック構成図、第2図は同実施例
におけるロールバック処理手順を示すフローチャートで
ある。 11・・・トランザクション、12・・・ディスク、1
3・・・対象ブロック、14・・・主記憶、15・・・
バッファ、lea〜lee・・・AIJ(アフタイメー
ジジャーナル)、17・・・A ■ Jキュー、 20・・・オペレーティングシステ ム (O8) 21・・・A ■ J採取部、 22・・・実更新部、 23・・・ロールバラ ク処理部。
クションシステムのブロック構成図、第2図は同実施例
におけるロールバック処理手順を示すフローチャートで
ある。 11・・・トランザクション、12・・・ディスク、1
3・・・対象ブロック、14・・・主記憶、15・・・
バッファ、lea〜lee・・・AIJ(アフタイメー
ジジャーナル)、17・・・A ■ Jキュー、 20・・・オペレーティングシステ ム (O8) 21・・・A ■ J採取部、 22・・・実更新部、 23・・・ロールバラ ク処理部。
Claims (4)
- (1)ディスク破壊時等のディスクデータの復旧のため
に、主記憶上のバッファでのデータの更新記録であるア
フタイメージジャーナルをトランザクション単位で作成
して上記主記憶上に置かれるキューに登録すると共にフ
ァイルに保存するアフタイメージジャーナル採取手段と
、 このアフタイメージジャーナル採取手段によって上記キ
ューに登録されている上記アフタイメージジャーナルで
示されるデータブロックの上記バッファ上のイメージを
適宜ディスクへ書き込んディスクデータの実更新を行い
、該当アフタイメージジャーナルを上記キューから外す
実更新手段と、 トランザクションの中断時に、少なくとも上記キューに
登録されているアフタイメージジャーナルをもとに、上
記バッファを当該トランザクションの実行前の状態に復
旧するロールバックを行うロールバック処理手段と、 を具備することを特徴とするオンライントランザクショ
ンシステム。 - (2)上記アフタイメージジャーナルには、データブロ
ックの一部のみの更新記録であるレコードログとブロッ
ク全体の更新記録であるページログの2種があり、上記
ロールバック処理手段は、トランザクションの中断時に
は、上記キューをたどって最も新しいページログを見付
けて同ページログを上記バッファに書き込み、しかる後
に同ページログより後に作成された上記レコードログを
古いものから順に上記バッファに書き込むことを特徴と
する請求項1記載のオンライントランザクションシステ
ム。 - (3)上記ロールバック処理手段は、上記キューに上記
ページログが存在しない場合には、上記ディスクのデー
タを上記バッファに書き込み、しかる後に上記キューに
存在する上記レコードログを古いものから順に上記バッ
ファに書き込むことを特徴とする請求項2記載のオンラ
イントランザクションシステム。 - (4)上記ロールバック処理手段は、上記キューに上記
ページログおよびレコードログがいずれも存在しない場
合には、上記バッファを無効化することを特徴とする請
求項3記載のオンライントランザクションシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2268530A JPH04148250A (ja) | 1990-10-08 | 1990-10-08 | オンライントランザクションシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2268530A JPH04148250A (ja) | 1990-10-08 | 1990-10-08 | オンライントランザクションシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04148250A true JPH04148250A (ja) | 1992-05-21 |
Family
ID=17459798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2268530A Pending JPH04148250A (ja) | 1990-10-08 | 1990-10-08 | オンライントランザクションシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04148250A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007188497A (ja) * | 2006-01-10 | 2007-07-26 | Samsung Electronics Co Ltd | トランザクション処理のためのログ情報管理システムおよび方法 |
-
1990
- 1990-10-08 JP JP2268530A patent/JPH04148250A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007188497A (ja) * | 2006-01-10 | 2007-07-26 | Samsung Electronics Co Ltd | トランザクション処理のためのログ情報管理システムおよび方法 |
US7849060B2 (en) | 2006-01-10 | 2010-12-07 | Samsung Electronics Co., Ltd. | System and method for managing log information for transaction |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6018746A (en) | System and method for managing recovery information in a transaction processing system | |
EP2979204B1 (en) | Transaction processing for database in persistent system | |
US5561795A (en) | Method and apparatus for audit trail logging and data base recovery | |
US6253212B1 (en) | Method and system for maintaining checkpoint values | |
JP2531894B2 (ja) | デ―タ処理装置 | |
US6578041B1 (en) | High speed on-line backup when using logical log operations | |
JPH0560617B2 (ja) | ||
US5752268A (en) | Minimum-delay recoverable disk control system using checkpoints and nonvolatile memory | |
JPH0644010A (ja) | タイムゼロ・バックアップ・コピー・プロセスにおける副ファイル状態のポーリングのための方法およびシステム | |
JPH0833860B2 (ja) | データベースの回復方法 | |
JPH0823841B2 (ja) | データ処理システム及びその方法 | |
JPH0683677A (ja) | データの増分タイム・ゼロ・バックアップ・コピーの方法及びシステム | |
JP2003513357A (ja) | 論理フラッシュメモリ装置を用いて原子的更新を実行する方法および装置 | |
JPS62256055A (ja) | ブロック閉塞を用いたロールバックリカバリシステム | |
JPH07210429A (ja) | ダンプ取得方法および制御装置および情報処理システム | |
WO2024139859A1 (zh) | 一种基于预写日志机制提高缓存和数据源数据一致性的方法和装置 | |
Lomet et al. | Logical logging to extend recovery to new domains | |
JPH04148250A (ja) | オンライントランザクションシステム | |
Lomet | High speed on-line backup when using logical log operations | |
JPH05346889A (ja) | キャッシュ制御方法およびキャッシュ制御装置 | |
JP3290182B2 (ja) | 共用環境におけるデータ・セットのバックアップ方法及び装置 | |
JP2708610B2 (ja) | データベースのログ管理処理方式 | |
JPH04170625A (ja) | ファイル回復処理システム | |
JPH05108388A (ja) | プロセス復旧方式 | |
JP4565860B2 (ja) | データバックアップシステム |