JP2817705B2 - 更新後ジャーナル採取方式 - Google Patents

更新後ジャーナル採取方式

Info

Publication number
JP2817705B2
JP2817705B2 JP8111216A JP11121696A JP2817705B2 JP 2817705 B2 JP2817705 B2 JP 2817705B2 JP 8111216 A JP8111216 A JP 8111216A JP 11121696 A JP11121696 A JP 11121696A JP 2817705 B2 JP2817705 B2 JP 2817705B2
Authority
JP
Japan
Prior art keywords
update area
update
updated
area information
data buffer
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
JP8111216A
Other languages
English (en)
Other versions
JPH09282211A (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 JP8111216A priority Critical patent/JP2817705B2/ja
Publication of JPH09282211A publication Critical patent/JPH09282211A/ja
Application granted granted Critical
Publication of JP2817705B2 publication Critical patent/JP2817705B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データファイルの
障害復旧に利用する更新後ジャーナルを採取する更新後
ジャーナル採取方式に関する。
【0002】
【従来の技術】一般に、複数のプログラムで共有される
データファイルの更新処理では、更新途中の状態を他の
プログラムに見られないようにしたり、また途中で処理
を取り止めたい時に処理前の状態に戻すことができるよ
うに、一連の更新を1つの単位処理として扱うようにな
っている。例えば、1つの銀行口座に対して入金処理と
出金処理とを同時に実行した場合を考える。ここで、入
金処理では、口座から現在の金額を読み込み、現在
の金額に入金額を足し、口座へ結果を出力し、出金処
理では、口座から現在の金額を読み込み、現在の金
額から出金額を引き、口座へ結果を出力するという処
理が行われるとする。今、現在の金額を10,000
円、入金額を2,000円、出金額を3,000円とす
ると、もし入金処理のを実行する前に出金処理のが
実行された場合、入金処理の結果は12,000円、出
金処理の結果は7,000円となり、不正な結果とな
る。そこで、各処理の〜を1つの単位処理として扱
い、この単位処理の間はこの口座にアクセスする他の処
理を排他制御によって待たせるようにして、正しい処理
を保証する。一般に、この単位処理をトランザクション
と呼び、単位処理の完結時点を静止点と呼ぶ。
【0003】ところで、大量のレコードが頻繁にアクセ
スされるデータファイルでは、そのアクセス性能を向上
させるため、通常、計算機システムの主記憶上にデータ
ファイル用のバッファ(データ用バッファ)を複数もっ
ている。データ用バッファを複数持つと、静止点確立時
に更新されたデータ用バッファだけをデータファイルに
出力すればいいので、データファイルへの出力回数を減
らすことができる。
【0004】また、このようなデータファイルが媒体障
害等で壊れた場合でも復旧できるようにするために、或
る時点のデータファイルの内容を別の媒体に保存してお
き、その後データファイルが更新される度に更新後デー
タ等の復旧に必要な情報を更新後ジャーナルとして更新
後ジャーナルファイルに採取することが行われている。
こうしておくと、上記別の媒体にリストアされたファイ
ルに更新後ジャーナルを用いて更新処理をやり直すこと
により、データファイルを復旧(ロールフォワード復
旧)することができる。
【0005】上記のような機能を実装している計算機シ
ステムにおいて、従来では、更新後ジャーナルの採取は
更新命令実行毎に行われ、採取された更新後ジャーナル
は更新後ジャーナル用バッファを介して更新後ジャーナ
ルファイルに出力されていた。しかし、この従来技術で
は、データ用バッファ内の同じ領域が1トランザクショ
ン内に複数回更新された場合、更新後ジャーナルとして
は静止点直前の更新後データがあれば十分であるのに、
その前の更新後データも更新後ジャーナルファイルに出
力されるため、余分な更新後ジャーナルが出力されると
いう問題点があった。
【0006】このような問題点を解決する1つの考え方
として、例えば特開平5−108444号公報に示され
るように、変更された最終レコードの内容だけをジャー
ナルに採取することにより、更新後ジャーナルの容量を
削減することが提案されている。
【0007】
【発明が解決しようとする課題】しかしながら、このよ
うに最終レコードの内容だけをジャーナルに採取するよ
うにしても、更新後ジャーナルの容量の削減効果は未だ
小さい。何故なら、例えば可変長レコードで更新する場
合のようにレコードの或る領域のみ更新されても、その
レコード全体がジャーナルとして採取されるからであ
る。
【0008】そこで本発明の目的は、更新後ジャーナル
の容量をより一層削減することのできる更新後ジャーナ
ル採取方式を提供することにある。
【0009】
【課題を解決するための手段】本発明は、データファイ
ルの1ブロック分のデータを保持するデータ用バッファ
を主記憶装置上に複数備え、補助記憶装置に格納された
データファイルのブロックをデータ用バッファに入力
し、データ用バッファ上で参照,更新する計算機システ
ムにおいて、主記憶装置上にデータ用バッファと1対1
に対応して設けられ、対応するデータ用バッファが更新
されたときの、更新データのデータ用バッファ内の更新
領域の開始位置と更新領域長との組を更新領域情報とし
て、複数格納できる更新領域情報保存領域と、主記憶装
置上にデータ用バッファと1対1に対応して設けられ、
対応するデータ用バッファの前回のデータファイルへの
出力後に格納された更新領域情報の数を格納する有効保
存数領域と、データ用バッファの更新時、更新したデー
タ用バッファを指定して、今回の更新にかかる更新領域
の開始位置と更新領域長とを含む新更新領域情報を出力
するデータアクセス手段と、前記新更新領域情報の出力
時、更新されたデータ用バッファに対応する有効保存数
領域の値が0か、1から保存可能数までの何れかの値
か、或いは保存可能数を超えているかを調べ、保存可能
数を超えている場合には今回の新更新領域情報の格納処
理を終了する保存数比較手段と、該保存数比較手段で有
効保存数領域の値が1から保存可能数までの何れかの値
であると判断された場合に、更新されたデータ用バッフ
ァに対応する更新領域情報保存領域中に更新領域の開始
位置が新更新領域情報と同じ更新領域情報が存在するか
否かを調べる更新領域開始位置比較手段と、前記保存数
比較手段で有効保存数領域の値が0と判断された場合お
よび前記更新領域開始位置比較手段で同じ開始位置の更
新領域情報が存在しないと判断された場合に、更新され
たデータ用バッファに対応する有効保存数領域の値を1
加算し、保存可能数を超えていれば今回の新更新領域情
報の格納処理を終了し、保存可能数を超えていなければ
今回の新更新領域情報を、更新領域情報保存領域の空き
部分に格納する更新領域情報保存手段と、前記更新領域
開始位置比較手段で新更新領域情報と同じ更新領域の開
始位置であると判断された更新領域情報の更新領域長と
新更新領域情報の更新領域長とを比較し、新更新領域情
報の更新領域長の方が長くなければ今回の新更新領域情
報の格納処理を終了する更新領域長比較手段と、前記更
新領域長比較手段で新更新領域情報の更新領域長の方が
長いと判断された場合に、前記比較対象となった更新領
域情報の更新領域長を新更新領域情報の更新領域長で書
き換える更新領域長変更手段と、更新されたデータ用バ
ッファのデータファイルへの出力時、そのデータ用バッ
ファに対応する有効保存数領域の値を調べ、保存可能数
を超えていればそのデータ用バッファ内の全データの更
新後ジャーナルを作成し、保存可能数を超えていなけれ
ばそのデータ用バッファに対応する更新領域情報保存領
域中の更新領域情報が示すデータ部分についての更新後
ジャーナルを作成する更新後ジャーナル作成手段と、該
更新後ジャーナル作成手段で作成された更新後ジャーナ
ルを補助記憶装置上の更新後ジャーナルファイルに出力
する更新後ジャーナル出力手段と、前記更新後ジャーナ
ル作成手段による処理を終えたデータ用バッファに対応
する有効保存数領域の値を初期化する保存数初期化手段
とを備えることを特徴とする。
【0010】このような構成の更新後ジャーナル採取方
式にあっては、データ用バッファが更新されたとき、更
新領域情報保存手段によって、更新された領域のデータ
用バッファ内の開始位置および領域長を示す更新領域情
報が、そのデータ用バッファに対応する更新領域情報保
存領域に保存される。従ってレコードの或る部分のみ更
新された場合にその部分だけの更新後ジャーナルを採取
することができる。また、データ用バッファ内の既に更
新されている領域と開始位置が同じで領域長の長い領域
が更新されると、更新領域開始位置比較手段によって開
始位置が同じであることが検出されると共に更新領域長
比較手段によって領域長が今回の更新の方が長いことが
検出され、更新領域長変更手段によって、保存されてい
る開始位置が同じ更新領域情報の更新領域長の部分が今
回の更新領域長で上書きされて保存領域が再利用され
る。更に、データ用バッファ内の既に更新されている領
域と開始位置が同じで領域長の長くない領域が更新され
ると、そのことが更新領域長比較手段で検出され、今回
の新更新領域情報は保存されない。以上のことから、採
取する更新後ジャーナル量を削減することができ、ロー
ルフォワード復旧処理時間を短縮することができる。
【0011】なお、オーバフローする恐れがないほど各
データ用バッファに対応する更新領域情報保存領域が十
分な容量を有する場合は、次のような構成にすることが
可能である。
【0012】データファイルの1ブロック分のデータを
保持するデータ用バッファを主記憶装置上に複数備え、
補助記憶装置に格納されたデータファイルのブロックを
データ用バッファに入力し、データ用バッファ上で参
照,更新する計算機システムにおいて、主記憶装置上に
データ用バッファと1対1に対応して設けられ、対応す
るデータ用バッファが更新されたときの、更新データの
データ用バッファ内の更新領域の開始位置と更新領域長
との組を更新領域情報として格納する更新領域情報保存
領域と、データ用バッファの更新時、更新したデータ用
バッファを指定して、今回の更新にかかる更新領域の開
始位置と更新領域長とを含む新更新領域情報を出力する
データアクセス手段と、更新されたデータ用バッファに
対応する更新領域情報保存領域中に更新領域の開始位置
が新更新領域情報と同じ更新領域情報が存在するか否か
を調べる更新領域開始位置比較手段と、該更新領域開始
位置比較手段で同じ開始位置の更新領域情報が存在しな
いと判断された場合に、今回の新更新領域情報を更新さ
れたデータ用バッファに対応する更新領域情報保存領域
に格納する更新領域情報保存手段と、前記更新領域開始
位置比較手段で新更新領域情報と同じ更新領域の開始位
置であると判断された更新領域情報の更新領域長と新更
新領域情報の更新領域長とを比較し、新更新領域情報の
更新領域長の方が長くなければ今回の新更新領域情報の
格納処理を終了する更新領域長比較手段と、前記更新領
域長比較手段で新更新領域情報の更新領域長の方が長い
と判断された場合に、前記比較対象となった更新領域情
報の更新領域長を新更新領域情報の更新領域長で書き換
える更新領域長変更手段と、更新されたデータ用バッフ
ァのデータファイルへの出力時、そのデータ用バッファ
に対応する更新領域情報保存領域中の更新領域情報が示
すデータ部分についての更新後ジャーナルを作成する更
新後ジャーナル作成手段と、該更新後ジャーナル作成手
段で作成された更新後ジャーナルを補助記憶装置上の更
新後ジャーナルファイルに出力する更新後ジャーナル出
力手段とを備える構成。
【0013】
【発明の実施の形態】次に本発明の実施の形態の例につ
いて図面を参照して詳細に説明する。
【0014】図1は本発明の一実施例のブロック図であ
る。同図において、142がデータファイル、143が
データファイル142の更新後ジャーナルを格納する更
新後ジャーナルファイルであり、それぞれ補助記憶装置
141,144に格納されている。なお、データファイ
ル142および更新後ジャーナルファイル143は同一
の補助記憶装置に格納される場合もある。
【0015】主記憶装置121には、データ用バッファ
群122とデータ用バッファ管理テーブル群123と更
新後ジャーナル用バッファ124とが設けられている。
【0016】データ用バッファ群122は複数のデータ
用バッファ211の集合である。1つのデータ用バッフ
ァ211は、データファイル142の1ブロックのアク
セス用に利用される。ここで、1ブロックとはデータフ
ァイル142を構成する所定サイズの個々のブロックの
ことであり、各ブロックにはブロック番号が振られてい
て、他のブロックと区別できるようになっている。
【0017】更新後ジャーナル用バッファ124は、更
新後ジャーナルファイル143へ出力する更新後ジャー
ナルを一時的に保持するバッファである。
【0018】データ用バッファ管理テーブル群123は
複数のデータ用バッファ管理テーブル201の集合であ
り、データ用バッファ群122を構成するデータ用バッ
ファ211の数に等しいデータ用バッファ管理テーブル
201から構成されている。各データ用バッファ管理テ
ーブル201とデータ用バッファ211とは1対1に対
応する。各データ用バッファ管理テーブル201には、
対応するデータ用バッファ211の前回のデータファイ
ル142への出力後に更新された領域を管理する情報が
格納される。
【0019】図2に1つのデータ用バッファ211とそ
れに対応するデータ用バッファ管理テーブル211とを
示す。データ用バッファ管理テーブル201には、更新
領域情報を複数個(図示の例では更新領域情報203−
1〜203−3の合計3個)格納できる更新領域情報保
存領域203と、この更新領域情報保存領域203にそ
の先頭から幾つの有効な更新領域情報が現在保存されて
いるかを示す有効保存数を格納する有効保存数領域20
2とがある。1つの更新領域情報は、更新データのデー
タ用バッファ211内の更新領域の開始位置ddと更新
領域長llとから構成される。例えば、図2のデータ用
バッファ211の領域aが更新された場合、それに対応
する更新領域情報としては、更新領域の開始位置として
dda 、更新領域長としてlla を含む更新領域情報が
データ用バッファ管理テーブル201の更新領域情報保
存領域203の1つの情報として格納される。但し、後
述するように、当該データ用バッファ211の次の出力
時点までの間に領域aと開始位置が同じで更新領域長が
より長い領域cが更新された場合、領域aに対応する更
新領域情報が、更新領域の開始位置ddc (=d
a ),更新領域長llcの更新領域情報によって上書
きされる。
【0020】再び図1を参照すると、101は、データ
ファイル142をアクセスしつつ所定の処理を実行する
プログラムである。このプログラム101は、データフ
ァイル142内のレコードを参照,更新するとき、それ
に必要な情報を通知してデータアクセス手段102を呼
び出す。また、静止点を確立するとき、その旨を通知し
てデータアクセス手段102を呼び出す。なお、図1で
は説明を簡略化するために、データファイル142をア
クセスするプログラムを1つしか示していないが、通常
は複数存在し、従来技術の項で述べたように排他制御が
行われる。
【0021】データアクセス手段102は、データファ
イル142内のレコードの参照,更新については、主記
憶装置121上のデータ用バッファ群122上で参照,
更新を行う。参照,更新するレコードを含むブロックが
データ用バッファ群122上に存在しない場合は、デー
タ用バッファ管理手段103により、該当するブロック
をデータファイル142からデータ用バッファ群122
に入力した上で、参照,更新する。このとき、空きのデ
ータ用バッファ211が存在しなければ、最近使用して
いないデータ用バッファ211の内容をデータファイル
142に出力して空きを作る。また、レコードの更新
時、データアクセス手段102は、更新したデータ用バ
ッファ211を指定して、そのデータ用バッファの更新
開始位置および更新領域長を含む更新領域情報110を
パラメータとして保存数比較手段111を呼び出す。な
お、この更新領域情報110を、データ用バッファ管理
テーブル群123中の更新領域情報と区別するために、
以下、新更新領域情報と呼ぶ。更に、データアクセス手
段102は、静止点の確立時には、データ用バッファ管
理手段103にその旨を通知する。
【0022】データ用バッファ管理手段103は、参
照,更新対象レコードを含むブロックがデータ用バッフ
ァ群122内に存在しない場合に、そのブロックをデー
タファイル142からデータ用バッファ群122のデー
タ用バッファ211に入力したり、静止点確立時に、前
回の静止点確立後に更新された全てのデータ用バッファ
211をデータファイル142に出力するといったよう
に、データファイル142とデータ用バッファ群122
との間で参照・更新対象レコードが含まれるブロックの
入出力を行う。ここで、データ用バッファ管理手段10
3は、更新された1つ以上のデータ用バッファ211を
データファイル142に出力するに当たっては、その直
前に、更新された全てのデータ用バッファ211を通知
して更新後ジャーナル作成手段131を呼び出す。ま
た、静止点確立時には、更新された全てのデータ用バッ
ファ211を更新後ジャーナル作成手段131に通知し
て処理させた後、静止点の確立を更新後ジャーナル作成
手段131に要求する。なお、データ用バッファ群12
2のうち何れのデータ用バッファ211が更新されたか
は、例えばデータ用バッファ211に対応するデータ用
バッファ管理テーブル201に更新されたときオンとな
るフラグを設けて管理する方法や、更新されたデータ用
バッファの番号をチェーンでつなげて管理する方法等の
任意の方法が採用される。
【0023】保存数比較手段111,更新領域開始位置
比較手段112,更新領域情報保存手段113,更新領
域長比較手段114および更新領域長変更手段115
は、データ用バッファ管理テーブル群123に更新領域
情報を格納する更新領域情報管理部を構成する。この更
新領域情報管理部の処理の流れを図3に示す。更新領域
情報管理部を構成する各手段は以下のような機能を持
つ。
【0024】保存数比較手段111は、1つのデータ用
バッファ211が更新された時にデータアクセス手段1
02から更新したデータ用バッファ211を指定して新
更新領域情報110が通知されると、その更新されたデ
ータ用バッファ211に対応するデータ用バッファ管理
テーブル201中の有効保存数領域202の値Sを調
べ、その値Sが0か、1から保存可能数(更新領域情報
保存領域203に格納できる最大の更新領域情報の数
で、システムで予め定められており、図2の例では3)
までの何れかの値か、あるいは保存可能数を超えている
か否かを判断し、以降の処理を切りわける(ステップ3
01)。ここで、有効保存数領域202の値Sが0のと
きは、更新領域情報保存領域203に1つも有効な更新
領域情報が保存されていないため、更新領域情報保存手
段113に制御を移す。また、有効保存数領域202の
値が1から保存可能数までの何れかの値のときは、更新
領域情報保存領域203に幾つかの有効な更新領域情報
が保存されているため、更新領域開始位置比較手段11
2に制御を移す。さらに、有効保存数領域202の値S
が保存可能数を超えている場合は、もはや限られたサイ
ズの更新領域情報保存領域203では更新領域情報を管
理できなくなっているため、新更新領域情報110の格
納を断念し、処理を終える。この場合には後述するよう
に、当該データ用バッファ211全体がジャーナルとし
て採取される。
【0025】更新領域開始位置比較手段112は、更新
されたデータ用バッファ211に対応するデータ用バッ
ファ管理テーブル201の更新領域情報保存領域203
中に、新更新領域情報110と同じ更新領域開始位置を
持つ有効な更新領域情報が存在するか否かを調べる(ス
テップ302)。同じ更新領域開始位置を持つ有効な更
新領域情報が存在した場合には、制御を更新領域長比較
手段114に渡す。他方、同じ更新領域開始位置を持つ
有効な更新領域情報が存在しなければ、制御を更新領域
情報保存手段113に渡す。
【0026】更新領域情報保存手段113は、更新され
たデータ用バッファ211に対応するデータ用バッファ
管理テーブル201の更新領域情報保存領域203に新
更新領域情報を格納する手段である。この更新領域情報
保存手段113は、まず、該当するデータ用バッファ管
理テーブル201の有効保存数領域202の値Sに1を
加算し(ステップ305)、その加算後の値Sが保存可
能数より大きくなったか否かを判定する(ステップ30
6)。そして、大きくなっていなければ、更新領域情報
保存領域203に少なくとも1つの更新領域情報を格納
できる空きがあるので、今回の新更新領域情報110を
更新領域情報保存領域203に格納する(ステップ30
7)。他方、加算後の有効保存数領域202の値Sが保
存可能数を超えていれば、もはや更新領域情報保存領域
203では更新領域を管理できないため、処理を終了す
る。この場合は後述するように、当該データ用バッファ
211全体がジャーナルとして採取される。
【0027】更新領域長比較手段114は、更新領域開
始位置比較手段112から制御が渡された場合、つまり
新更新領域情報110の更新領域開始位置と同じ更新領
域開始位置を持つ更新領域情報が、更新されたデータ用
バッファ211に対応するデータ用バッファ管理テーブ
ル201の更新領域情報保存領域203に存在していた
場合、その存在していた更新領域情報の更新領域長と新
更新領域情報110の更新領域長とを比較する(ステッ
プ303)。そして、新更新領域情報110の更新領域
長の方が、既に格納されている更新領域情報の更新領域
長より長いときは、制御を更新領域長変更手段115に
移す。更新領域長変更手段115は、既に格納されてい
る更新領域情報の更新領域長を新更新領域情報110の
更新領域長で書き換える(ステップ304)。他方、比
較結果が上記以外の場合、更新領域長比較手段114は
今回の更新領域の範囲が既登録の更新領域の範囲に包含
されているため、何もせずに処理を終了する。
【0028】次いで、図1の更新後ジャーナル作成手段
131は、データ用バッファ管理手段103がデータフ
ァイル142に出力しようとするデータ用バッファ群1
22中の更新されたデータ用バッファ211にかかる更
新後ジャーナルを作成して、更新後ジャーナル用バッフ
ァ124に蓄積する手段である。この更新後ジャーナル
作成手段131は、データ用バッファ211の出力直前
にデータ用バッファ管理手段103から呼ばれる。更新
後ジャーナル作成手段131は呼ばれると、通知された
全てのデータ用バッファ211の各々について、それに
対応するデータ用バッファ管理テーブル201の有効保
存数領域202の値が保存可能数を超えていれば、その
データ用バッファ211内の全データを更新後ジャーナ
ル用バッファ124へ複写し、保存可能数を超えていな
ければ、その更新領域情報保存領域203内の全ての有
効な更新領域情報が示す更新データを更新後ジャーナル
用バッファ124へ順次複写して、更新後ジャーナルを
作成し、蓄積する。ここで、更新後ジャーナル作成手段
131は、更新された1つのデータ用バッファ211に
ついての更新後ジャーナル作成処理が終わると、そのデ
ータ用バッファ211を通知して保存数初期化手段13
3を呼び出す。また、更新された全データ用バッファ2
11の更新後ジャーナルを蓄積し終えた場合に更新後ジ
ャーナル出力手段132を呼び出す。なお、更新後ジャ
ーナルの蓄積中に更新後ジャーナル用バッファ124が
一杯になった場合には、その時点で一時処理を中断し
て、更新後ジャーナル出力手段132を呼び出し、更新
後ジャーナル出力手段132による処理後に残りの処理
を続け、処理完了後に再び更新後ジャーナル出力手段1
32を呼び出す。また、データ用バッファ管理手段10
3から静止点の確立が要求されると、静止点確立用のジ
ャーナルを更新後ジャーナル用バッファ124に作成
し、更新後ジャーナル出力手段132を呼び出す。
【0029】更新後ジャーナル出力手段132は、更新
後ジャーナル作成手段131の処理において更新後ジャ
ーナル用バッファ124が一杯になった場合、更新され
た全データ用バッファ211の更新後ジャーナルが蓄積
された場合、または静止点確立用ジャーナルが蓄積され
た場合、更新後ジャーナル用バッファ124のデータを
更新後ジャーナルの1ブロックとして更新後ジャーナル
ファイル143に出力する手段である。
【0030】また保存数初期化手段133は、更新後ジ
ャーナル作成手段131において、1つのデータ用バッ
ファ211についての更新後ジャーナル作成処理が終わ
った時に、そのデータ用バッファ211に対応するデー
タ用バッファ管理テーブル201の有効保存数領域20
2を0に初期化する手段である。
【0031】図4(a)は更新後ジャーナルの1ブロッ
クの構成例を示す。更新後ジャーナルの1ブロックは、
ジャーナルブロック情報と1つ以上のジャーナルレコー
ドとから構成される。ジャーナルブロック情報には、ジ
ャーナルブロック長,ジャーナルブロック番号,プログ
ラム101にかかるジョブ識別名が含まれる。また、1
つのジャーナルレコードは、ジャーナルレコード情報と
1つ以上のジャーナルレコードデータとから構成され
る。ジャーナルレコード情報には、ジャーナルレコード
長,ジャーナルレコード種別,データファイル名,デー
タファイルの存在する補助記憶装置名,データファイル
のブロック番号が含まれる。また、1つのジャーナルレ
コードデータには、更新領域開始位置,更新領域長,更
新データが含まれる。
【0032】なお、ジャーナルレコード種別には、「ジ
ャーナル」と「静止点」との2種類があり、図4(a)
はジャーナルレコード種別が「ジャーナル」の構成例を
示す。ジャーナルレコード種別が「静止点」の場合に
は、データファイル関係の情報が出力されず、更新後ジ
ャーナルの1ブロックの構成は図4(b)に示すように
なる。
【0033】次に本実施例の動作を各図を参照して説明
する。なお、説明を簡略化するため、データ用バッファ
群122とデータ用バッファ管理テーブル群123の中
の、図2に示した1対のデータ用バッファ211とデー
タ用バッファ管理テーブル201とに着目して説明し、
他の対については同一の制御となるので説明は省略す
る。また、データ用バッファ管理テーブル201の更新
領域情報保存領域203内には更新領域情報を3つまで
格納できること(即ち、保存可能数=3)とし、有効保
存数領域202は既に0で初期化されているものとす
る。また、静止点確立後、データ用バッファ211に対
して図2に示す領域a,領域b,領域cの順に更新が行
われ、再び静止点が確立されるまでの動作を説明する。
なお、領域a,cの更新領域開始位置は同じであり、更
新領域長は領域cの方が長くなっている(つまり、dd
a =ddc ,lla <llc )。
【0034】プログラム101の領域aにかかる更新要
求によりデータアクセス手段102が呼ばれ、データア
クセス手段102がデータ用バッファ管理手段103に
て領域aを含むブロックをデータ用バッファ211に入
力し、データ用バッファ211内の領域aを更新する
と、更新したデータ用バッファ211の指定と、パラメ
ータとして更新領域開始位置dda ,更新領域長lla
を含む新更新領域情報110とが、保存数比較手段11
1,更新領域開始位置比較手段112,更新領域情報保
存手段113,更新領域長比較手段114および更新領
域長変更手段115から構成される更新領域情報管理部
に渡される。
【0035】保存数比較手段111は、データ用バッフ
ァ211に対応するデータ用バッファ管理テーブル20
1の有効保存数領域202の値が0であるため更新領域
情報保存領域203が空であると判断し、更新領域情報
保存手段113を呼び出す(ステップ301)。更新領
域情報保存手段113は、有効保存数領域202に1を
足し込んで1とし(ステップ305)、その値1が更新
領域情報保存領域203の保存可能数3を超えていない
ので(ステップ306)、更新領域情報保存領域203
の1番目の更新領域情報203−1に新更新領域情報1
10を設定する(ステップ307)。これで、領域aに
かかる処理を終了する。
【0036】次にプログラム101の領域bにかかる更
新要求によりデータアクセス手段102が呼ばれ、デー
タアクセス手段102がデータ用バッファ211内の領
域bを更新すると、パラメータとして更新領域開始位置
ddb ,更新領域長llb を含む新更新領域情報110
が保存数比較手段111以降に渡される。保存数比較手
段11は、有効保存数領域202の値が1で、1〜3
(保存可能数)の間の値であるため更新領域情報保存領
域203内に有効な更新領域情報が存在すると判断し、
更新領域開始位置比較手段112を呼び出す(ステップ
301)。更新領域開始位置比較手段112は、新更新
領域情報110と更新領域情報保存領域203内の有効
な更新領域情報(更新領域情報保存領域203の先頭か
ら有効保存数領域202の値分の更新領域情報で、今の
場合は更新領域情報203−1の1つだけ)との更新領
域開始位置を比較する(ステップ302)。この結果は
ddb ≠dda で、更新領域開始位置が一致しないた
め、更新領域開始位置比較手段112は更新領域情報保
存手段113を呼び出す。更新領域情報保存手段113
は、有効保存数領域202に1を足し込んで2とし(ス
テップ305)、その値2が保存可能数3を超えていな
いので(ステップ306)、更新領域情報保存領域20
3の2番目の更新領域情報203−2に新更新領域情報
110を設定する(ステップ307)。これで、領域b
の処理を終了する。
【0037】次にプログラム101の領域cにかかる更
新要求によりデータアクセス手段102が呼ばれ、デー
タアクセス手段102がデータ用バッファ211内の領
域cを更新すると、パラメータとして更新領域開始位置
ddc ,更新領域長llc を含む新更新領域情報110
が保存数比較手段111以降に渡される。保存数比較手
段11は、有効保存数領域202の値が2で、1〜3
(保存可能数)の間の値であるため更新領域情報保存領
域203内に有効な更新領域情報が存在すると判断し、
更新領域開始位置比較手段112を呼び出す(ステップ
301)。更新領域開始位置比較手段112は、新更新
領域情報110と更新領域情報保存領域203内の有効
な更新領域情報(更新領域情報保存領域203の先頭か
ら有効保存数領域202の値分の更新領域情報で、今の
場合は更新領域情報203−1,203−2の2つ)と
の更新領域開始位置を比較する(ステップ302)。こ
こで、最初の更新領域情報203−1の更新領域開始位
置dda が新更新領域情報110の更新領域開始位置d
c と一致するため、残りの有効な更新領域情報203
−2との比較は省略して更新領域長比較手段114を呼
び出す(ステップ302)。更新領域長比較手段114
は、新更新領域情報110の更新領域長llcと更新領
域情報203−1の更新領域長lla とを比較する(ス
テップ303)。この結果は、llc >lla であり、
新更新領域情報110の更新領域長の方が長いので、更
新領域長比較手段114は更新領域長変更手段115を
呼び出す。更新領域長変更手段115は、新更新領域情
報110の更新領域長llc を、更新領域情報203−
1の更新領域長の部分に設定する(ステップ304)。
これで領域cの処理を終了する。
【0038】ここで、プログラム101から静止点確立
要求でデータアクセス手段102が呼ばれると、データ
アクセス手段102はデータ用バッファ管理手段103
を呼び出す。データ用バッファ管理手段103は、先
ず、更新されたデータ用バッファ211を通知して更新
後ジャーナル作成手段131を呼び出した後、更新され
たデータ用バッファ211をデータファイル142に出
力し、再び更新後ジャーナル作成手段131を呼び出し
て静止点の確立を要求する。
【0039】更新後ジャーナル作成手段131では、更
新されたデータ用バッファ211が通知されて呼ばれる
と、データ用バッファ201に対応するデータ用バッフ
ァ管理テーブル201の有効保存数領域202の値2を
更新領域情報保存領域203の保存可能数3と比較する
ことにより、オーバフローが生じておらず、更新領域情
報保存領域203内に2個の有効な更新領域情報203
−1,203−2が存在することを認識し、それらを参
照して以下の処理を行う。先ず、更新領域情報203−
1を参照してデータ用バッファ211内の領域cのデー
タを更新後ジャーナル用バッファ124に複写して領域
cの分の更新後ジャーナルを作成し、更に更新領域情報
203−2を参照してデータ用バッファ211内の領域
bのデータを更新後ジャーナル用バッファ124に複写
して領域bの分の更新後ジャーナルを作成する。そし
て、データ用バッファ211の更新後データを全て複写
し終わったので、更新後ジャーナル作成手段131は更
新後ジャーナル出力手段132と保存数初期化手段13
3とを呼び出す。
【0040】更新後ジャーナル出力手段132は、更新
後ジャーナル用バッファ124を更新後ジャーナルファ
イル143に出力し、保存数初期化手段133は、デー
タ用バッファ211に対応するデータ用バッファ管理テ
ーブル201の有効保存数領域202に0を設定する。
これでデータ用バッファ211の処理を終了する。
【0041】また、更新後ジャーナル作成手段131
は、データ用バッファ管理手段103から静止点の確立
が要求されると、図4(b)に示したような静止点確立
用のジャーナルを更新後ジャーナル用バッファ124に
作成し、更新後ジャーナル出力手段132を呼び出す。
更新後ジャーナル出力手段132は、更新後ジャーナル
用バッファ124の内容を更新後ジャーナル1ブロック
として更新後ジャーナルファイル143に出力する。
【0042】この時点での更新後ジャーナルファイル1
43の内容は図5のようになっている。
【0043】以上により、本発明の実施例の動作である
更新後ジャーナルの採取処理が完了する。
【0044】なお、更新後ジャーナルファイル143を
用いた装置障害などによるデータファイル142のロー
ルフォワード復旧処理方法の一例を説明すると、更新後
ジャーナルファイル143の先頭のブロックから最後の
静止点のブロックまでを読み込み、ジャーナルレコード
情報内に格納されているデータファイル名のデータファ
イル(予め退避しておいた更新前のデータファイル)の
ブロックに対してジャーナルレコードデータの更新領域
開始位置から更新領域長の部分に更新データを順次上書
きすることにより、ロールフォワード復旧処理が完了す
る。
【0045】図6は本発明の別の実施例のブロック図で
ある。この実施例では、1トランザクションの処理中に
オーバフローする恐れがないほど各データ用バッファ管
理テーブル201中の更新領域情報保存領域203が十
分な容量を有している場合のものである。このため、保
存数比較手段111は存在しない。またその他の手段の
機能も以下に述べるように一部変更されている。
【0046】データ用バッファ211の更新時、更新し
たデータ用バッファ211を指定して、今回の更新にか
かる更新領域の開始位置と更新領域長とを含む新更新領
域情報110がデータアクセス手段102から出力され
ると、更新領域開始位置比較手段112は、更新された
データ用バッファ211に対応するデータ用バッファ管
理テーブル201の更新領域情報保存領域203中に更
新領域の開始位置が新更新領域情報110と同じ有効な
更新領域情報が存在するか否かを調べ、存在しなければ
更新領域情報保存手段113を呼び出し、存在すれば更
新領域長比較手段114を呼び出す。なお、有効な更新
領域情報の範囲は、有効保存数領域202の値で認識で
きる。
【0047】更新領域情報保存手段113は、有効保存
数領域202の値を+1し、今回の新更新領域情報11
0を更新されたデータ用バッファ211に対応するデー
タ用バッファ管理テーブル201における更新領域情報
保存領域203の、有効保存数領域202の値が示す位
置に格納する。
【0048】また、更新領域長比較手段114は、更新
領域開始位置比較手段112で新更新領域情報110と
同じ更新領域の開始位置であると判断された更新領域情
報の更新領域長と新更新領域情報110の更新領域長と
を比較し、新更新領域情報110の更新領域長の方が長
くなければ今回の新更新領域情報110の格納処理を終
了し、新更新領域情報110の更新領域長の方が長けれ
ば更新領域長変更手段115を呼び出す。
【0049】更新領域長変更手段115は、更新領域長
比較手段114で新更新領域情報110の更新領域長の
方が長いと判断された場合に、前記比較対象となった更
新領域情報の更新領域長を新更新領域情報110の更新
領域長で書き換える。
【0050】他方、データ用バッファ管理手段103
は、更新されたデータ用バッファ211をデータファイ
ル142へ出力する直前に更新後ジャーナル作成手段1
31を呼び出し、更新後ジャーナル作成手段131は、
そのデータ用バッファに対応するデータ用バッファ管理
テーブル201の更新領域情報保存領域203中の更新
領域情報が示すデータ部分についての更新後ジャーナル
を作成して更新後ジャーナル用バッファ124に蓄積す
る。そして、保存数初期化手段133を呼び出し、有効
保存数領域202の値を0に初期化させる。その後、更
新後ジャーナルバッファ124の内容は更新後ジャーナ
ル出力手段132によって更新後ジャーナルファイル1
43に出力される。
【0051】
【発明の効果】以上説明したように本発明によれば、デ
ータファイルのブロックを格納する主記憶上のデータ用
バッファが更新されたとき、更新領域情報保存手段によ
って、更新された領域のデータ用バッファ内の開始位置
および領域長を示す更新領域情報を更新領域情報保存領
域に保存し、この保存した更新領域情報に従って更新後
ジャーナルを作成するため、例えば可変長レコードで更
新する場合のようにレコードの或る部分のみ更新された
場合にその部分だけの更新後ジャーナルを採取すること
ができ、更新後ジャーナルの容量を削減することができ
る。
【0052】1トランザクション内で、データ用バッフ
ァ内の既に更新されている領域と開始位置が同じで領域
長の長くない領域が更新されると、今回の新更新領域情
報は保存せず、また、既に更新されている領域と開始位
置が同じで領域長の長い領域が更新されると、既に保存
されている更新領域情報の更新領域長の部分が今回の更
新領域長で上書きされて保存領域が再利用されるため、
更新後ジャーナル量をより一層削減することができる。
【0053】以上のように更新後ジャーナル量を削減で
きることにより、それを用いたロールフォワード復旧処
理時間を短縮することができる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】1対のデータ用バッファおよびデータ用バッフ
ァ管理テーブルの説明図である。
【図3】保存数比較手段,更新領域開始位置比較手段,
更新領域情報保存手段,更新領域長比較手段,更新領域
長変更手段の処理例を示すフローチャートである。
【図4】更新後ジャーナルの1ブロックの構成例を示す
図である。
【図5】図2に示すような更新が行われた場合に出力さ
れる更新後ジャーナルの例を示す図である。
【図6】本発明の別の実施例のブロック図である。
【符号の説明】
101…プログラム 102…データアクセス手段 103…データ用バッファ管理手段 110…新更新領域情報 111…保存数比較手段 112…更新領域開始位置比較手段 113…更新領域情報保存手段 114…更新領域長比較手段 115…更新領域長変更手段 121…主記憶装置 122…データ用バッファ群 123…データ用バッファ管理テーブル群 124…更新後ジャーナル用バッファ 131…更新後ジャーナル作成手段 132…更新後ジャーナル出力手段 133…保存数初期化手段 141…補助記憶装置 142…データファイル 143…更新後ジャーナルファイル 201…データ用バッファ管理テーブル 202…有効保存数領域 203…更新領域情報保存領域 211…データ用バッファ
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 12/00

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 データファイルの1ブロック分のデータ
    を保持するデータ用バッファを主記憶装置上に複数備
    え、補助記憶装置に格納されたデータファイルのブロッ
    クをデータ用バッファに入力し、データ用バッファ上で
    参照,更新する計算機システムにおいて、 主記憶装置上にデータ用バッファと1対1に対応して設
    けられ、対応するデータ用バッファが更新されたとき
    の、更新データのデータ用バッファ内の更新領域の開始
    位置と更新領域長との組を更新領域情報として、複数格
    納できる更新領域情報保存領域と、 主記憶装置上にデータ用バッファと1対1に対応して設
    けられ、対応するデータ用バッファの前回のデータファ
    イルへの出力後に格納された更新領域情報の数を格納す
    る有効保存数領域と、 データ用バッファの更新時、更新したデータ用バッファ
    を指定して、今回の更新にかかる更新領域の開始位置と
    更新領域長とを含む新更新領域情報を出力するデータア
    クセス手段と、 前記新更新領域情報の出力時、更新されたデータ用バッ
    ファに対応する有効保存数領域の値が0か、1から保存
    可能数までの何れかの値か、或いは保存可能数を超えて
    いるかを調べ、保存可能数を超えている場合には今回の
    新更新領域情報の格納処理を終了する保存数比較手段
    と、 該保存数比較手段で有効保存数領域の値が1から保存可
    能数までの何れかの値であると判断された場合に、更新
    されたデータ用バッファに対応する更新領域情報保存領
    域中に更新領域の開始位置が新更新領域情報と同じ更新
    領域情報が存在するか否かを調べる更新領域開始位置比
    較手段と、 前記保存数比較手段で有効保存数領域の値が0と判断さ
    れた場合および前記更新領域開始位置比較手段で同じ開
    始位置の更新領域情報が存在しないと判断された場合
    に、更新されたデータ用バッファに対応する有効保存数
    領域の値を1加算し、保存可能数を超えていれば今回の
    新更新領域情報の格納処理を終了し、保存可能数を超え
    ていなければ今回の新更新領域情報を、更新領域情報保
    存領域の空き部分に格納する更新領域情報保存手段と、 前記更新領域開始位置比較手段で新更新領域情報と同じ
    更新領域の開始位置であると判断された更新領域情報の
    更新領域長と新更新領域情報の更新領域長とを比較し、
    新更新領域情報の更新領域長の方が長くなければ今回の
    新更新領域情報の格納処理を終了する更新領域長比較手
    段と、 前記更新領域長比較手段で新更新領域情報の更新領域長
    の方が長いと判断された場合に、前記比較対象となった
    更新領域情報の更新領域長を新更新領域情報の更新領域
    長で書き換える更新領域長変更手段と、 更新されたデータ用バッファのデータファイルへの出力
    時、そのデータ用バッファに対応する有効保存数領域の
    値を調べ、保存可能数を超えていればそのデータ用バッ
    ファ内の全データの更新後ジャーナルを作成し、保存可
    能数を超えていなければそのデータ用バッファに対応す
    る更新領域情報保存領域中の更新領域情報が示すデータ
    部分についての更新後ジャーナルを作成する更新後ジャ
    ーナル作成手段と、 該更新後ジャーナル作成手段で作成された更新後ジャー
    ナルを補助記憶装置上の更新後ジャーナルファイルに出
    力する更新後ジャーナル出力手段と、 前記更新後ジャーナル作成手段による処理を終えたデー
    タ用バッファに対応する有効保存数領域の値を初期化す
    る保存数初期化手段とを備えることを特徴とする更新後
    ジャーナル採取方式。
  2. 【請求項2】 データファイルの1ブロック分のデータ
    を保持するデータ用バッファを主記憶装置上に複数備
    え、補助記憶装置に格納されたデータファイルのブロッ
    クをデータ用バッファに入力し、データ用バッファ上で
    参照,更新する計算機システムにおいて、 主記憶装置上にデータ用バッファと1対1に対応して設
    けられ、対応するデータ用バッファが更新されたとき
    の、更新データのデータ用バッファ内の更新領域の開始
    位置と更新領域長との組を更新領域情報として格納する
    更新領域情報保存領域と、 データ用バッファの更新時、更新したデータ用バッファ
    を指定して、今回の更新にかかる更新領域の開始位置と
    更新領域長とを含む新更新領域情報を出力するデータア
    クセス手段と、 更新されたデータ用バッファに対応する更新領域情報保
    存領域中に更新領域の開始位置が新更新領域情報と同じ
    更新領域情報が存在するか否かを調べる更新領域開始位
    置比較手段と、 該更新領域開始位置比較手段で同じ開始位置の更新領域
    情報が存在しないと判断された場合に、今回の新更新領
    域情報を更新されたデータ用バッファに対応する更新領
    域情報保存領域に格納する更新領域情報保存手段と、 前記更新領域開始位置比較手段で新更新領域情報と同じ
    更新領域の開始位置であると判断された更新領域情報の
    更新領域長と新更新領域情報の更新領域長とを比較し、
    新更新領域情報の更新領域長の方が長くなければ今回の
    新更新領域情報の格納処理を終了する更新領域長比較手
    段と、 前記更新領域長比較手段で新更新領域情報の更新領域長
    の方が長いと判断された場合に、前記比較対象となった
    更新領域情報の更新領域長を新更新領域情報の更新領域
    長で書き換える更新領域長変更手段と、 更新されたデータ用バッファのデータファイルへの出力
    時、そのデータ用バッファに対応する更新領域情報保存
    領域中の更新領域情報が示すデータ部分についての更新
    後ジャーナルを作成する更新後ジャーナル作成手段と、 該更新後ジャーナル作成手段で作成された更新後ジャー
    ナルを補助記憶装置上の更新後ジャーナルファイルに出
    力する更新後ジャーナル出力手段とを備えることを特徴
    とする更新後ジャーナル採取方式。
  3. 【請求項3】 主記憶装置上に更新後ジャーナル用バッ
    ファを備え、 前記更新後ジャーナル作成手段は前記更新後ジャーナル
    用バッファに更新後ジャーナルを蓄積し、前記更新後ジ
    ャーナル出力手段は前記更新後ジャーナル用バッファの
    内容を前記更新後ジャーナルファイルに出力する構成を
    有することを特徴とする請求項1または2記載の更新後
    ジャーナル採取方式。
JP8111216A 1996-04-08 1996-04-08 更新後ジャーナル採取方式 Expired - Fee Related JP2817705B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8111216A JP2817705B2 (ja) 1996-04-08 1996-04-08 更新後ジャーナル採取方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8111216A JP2817705B2 (ja) 1996-04-08 1996-04-08 更新後ジャーナル採取方式

Publications (2)

Publication Number Publication Date
JPH09282211A JPH09282211A (ja) 1997-10-31
JP2817705B2 true JP2817705B2 (ja) 1998-10-30

Family

ID=14555476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8111216A Expired - Fee Related JP2817705B2 (ja) 1996-04-08 1996-04-08 更新後ジャーナル採取方式

Country Status (1)

Country Link
JP (1) JP2817705B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4551096B2 (ja) * 2004-02-03 2010-09-22 株式会社日立製作所 ストレージサブシステム
JP4636008B2 (ja) * 2006-11-17 2011-02-23 日本電気株式会社 データレプリケーションシステム、データレプリケーション方法、データレプリケーションプログラム
JP5365236B2 (ja) 2009-02-16 2013-12-11 日本電気株式会社 ストレージシステム
JP5291166B2 (ja) * 2011-10-04 2013-09-18 株式会社日立製作所 記憶装置システム及びデータ回復方法

Also Published As

Publication number Publication date
JPH09282211A (ja) 1997-10-31

Similar Documents

Publication Publication Date Title
US5386554A (en) Method and apparatus for reducing data locking time by removing a lock when journal data is written into a main memory journal queue
KR100398753B1 (ko) 효과적인 파일 갱신 처리 및 복구 처리를 이용하는트랜잭션 처리 시스템
JP3050510B2 (ja) イメージデータ管理装置
JP3386823B2 (ja) ファイルの管理方法及び装置
EP0501180A2 (en) Dynamic, finite versioning for concurrent transaction and query processing
JPH0773087A (ja) データ処理システムにおけるファイル状態の回復方法
JPH07110784A (ja) 追加形式レコード格納方法及び装置
JPH06266597A (ja) ログ取得方式
JP2817705B2 (ja) 更新後ジャーナル採取方式
JPH08328933A (ja) 並列処理システムのファイルアクセス制御方式
Rosenkrantz Dynamic database dumping
AU653044B2 (en) Data processing system
JPH11120051A (ja) データベース内の情報を修正するためのコンピュータ装置およびその修正方法
US7051051B1 (en) Recovering from failed operations in a database system
JP3594248B2 (ja) ログデータの分類取得システム
JPH0816881B2 (ja) データベース更新方法
US7376678B2 (en) Database management program and recording medium
JP3240990B2 (ja) トランザクションレコード管理装置及びトランザクションレコード管理方法
JP4027055B2 (ja) トランザクション管理装置
JP2933011B2 (ja) ファイルの排他制御システム
JP2980610B2 (ja) トランザクション管理装置
JPH07200372A (ja) バッファ制御システム
JPH08249217A (ja) キャッシュ管理装置
JP2818538B2 (ja) ジャーナルファイルの分割管理方式およびジャーナルファイルの分割管理方法
JP2513160B2 (ja) オブジェクト指向デ−タベ−スにおけるマルチバ−ジョン並行制御方法およびマルチバ−ジョン並行制御方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070821

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080821

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees