(57)【特許請求の範囲】
【請求項１】
ディスク装置に格納されている同一のオンラインファイルへの更新処理が当該オンラインファイルのデータを格納するファイル領域を有するバッファ上で複数のトランザクションにより行われるオンライントランザクションシステムにおいて、
トランザクションからの更新要求によるオンラインファイルの更新処理に際して、空き領域を持ち且つ他のトランザクションによって排他されていない使用可能なブロックを前記バッファ上の前記オンラインファイルの前記ファイル領域から検索する使用可能ブロック検索手段と、
この使用可能ブロック検索手段による検索の結果、前記バッファ上の前記オンラインファイルの前記ファイル領域内に使用可能なブロックがない場合には、そのファイル領域を拡張して新たなブロックを確保するファイル領域拡張手段と、
前記オンラインファイルの更新処理に際して、前記使用可能ブロック検索手段によって検索されたブロックまたは前記ファイル領域拡張手段によって確保されたブロックを更新ブロックとして他のトランザクションから排他する更新ブロック排他手段と、
前記ファイル領域拡張手段によって新たに確保された前記バッファ上のブロックを初期化する使用可能ブロック初期化手段と、
トランザクションのキャンセルが発生した場合に、そのキャンセルに伴うオンラインファイルのロールバック処理で当該トランザクションによるファイル更新を全て無効化する一方、ファイル終端位置の更新については無効化せずにその際の状態を維持するロールバック手段と、
前記キャンセルされたトランザクションからの更新要求によるオンラインファイルの更新処理に際して前記使用可能ブロック初期化手段により初期化されている前記バッファ上のブロックがある場合に、当該バッファ上のブロックに対応する前記ディスク装置に格納されているオンラインファイル上のブロックを初期化し、しかる後に当該初期化されたブロックのデータを前記ロールバック処理内で当該バッファ上のブロックにロードすることにより、当該バッファ上のブロックを再初期化するためのブロック再初期化手段と
を具備することを特徴とするオンライントランザクションシステム。
【請求項２】
ディスク装置に格納されている同一のオンラインファイルへの更新処理が当該オンラインファイルのデータを格納するファイル領域を有するバッファ上で複数のトランザクションにより行われるオンライントランザクションシステムに適用されるファイル管理方法において、
トランザクションからの更新要求によるオンラインファイルの更新処理に際して、空き領域を持ち且つ他のトランザクションによって排他されていない使用可能なブロックを前記バッファ上の前記オンラインファイルの前記ファイル領域から検索し、
使用可能なブロックが検索できた場合には、当該ブロックを更新ブロックとして他のトランザクションから排他した状態で、当該ブロックに対する更新処理を行い、
使用可能なブロックが検索できなかった場合には、前記バッファ上の前記オンラインファイルの前記ファイル領域を拡張して新たなブロックを確保し、当該ブロックを更新ブロックとして他のトランザクションから排他した状態で初期化し、しかる後に当該ブロックに対する更新処理を行い、
前記更新処理を要求したトランザクションのキャンセルが発生した場合には、オンラインファイルのロールバック処理で当該トランザクションによるファイル更新を全て無効化する一方、ファイル終端位置の更新については無効化せずにその際の状態を維持し、この更新処理に際して初期化されている前記バッファ上のブロックがある場合には、当該バッファ上のブロックに対応する前記ディスク装置に格納されているオンラインファイル上のブロックを初期化し、しかる後に当該初期化されたブロックのデータを前記ロールバック処理内で当該バッファ上のブロックにロードすることにより、当該バッファ上のブロックを再初期化する
ようにしたことを特徴とするファイル管理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のトランザクションにより同一のオンラインファイルへの更新処理が行われるオンライントランザクション処理システム及び同システムに適用されるファイル管理方法に関する。
【０００２】
【従来の技術】
従来、計算機を用いて実現されるオンライントランザクションシステムにおいては、複数のトランザクションが同一のオンラインファイル（アクセスに対してジャーナルをとることが要求されているファイル）に対して同時に更新処理を行い、且つファイルの空き領域不足でファイルの領域拡張が発生した場合には、そのファイル領域を拡張した更新要求トランザクションは、ファイル制御情報の中のファイル領域サイズに関する情報を排他してファイル全体をロックするのが一般的であった。
【０００３】
このように、ファイル制御情報の中のファイル領域サイズに関する情報を排他する理由は、もし排他を行わなければ、後続トランザクションがファイル領域を更に拡張する可能性があり、この場合、先行のトランザクションがロールバックして、そのトランザクションによる更新が捨てられると（無効化されると）、ファイルの終端位置は拡張前の状態に戻されて、後続トランザクションがアクセスした箇所はファイル領域外になってしまうことによる。
【０００４】
しかし、ファイル制御情報の中のファイル領域サイズに関する情報を排他した場合、他の更新要求トランザクションは、オンラインファイル上に空き領域がなく、しかも当該ファイル全体がロックされていてファイル領域の拡張もできないことから、ファイル領域を拡張したトランザクションが確定するまで待たされることになる。
【０００５】
つまり、従来のトランザクションシステムにおけるファイル管理手法では、ファイル領域の拡張が発生し始めると、更新アクセスが逐次化され、トランザクションの並列実行が行えなくなるという問題があった。
【０００６】
【発明が解決しようとする課題】
上記したように従来のオンライントランザクションシステムでは、ロールバック後のファイル（オンラインファイル）の整合性を保つために、ファイル領域拡張処理は排他的に行わなければならなかった。
【０００７】
このため、もしトランザクションからの更新要求に対するオンラインファイルの更新処理に際してファイル領域拡張が発生すると、その他のトランザクションは、ファイル領域を拡張したトランザクションが確定するまで処理が待たされてしまい、トランザクションの並列実行性が著しく損なわれるという問題があった。
【０００８】
本発明は上記事情を考慮してなされたものでその目的は、ロールバックでのオンラインファイルの整合性を保ちながら、ファイル領域拡張処理を排他的に行うことなしにファイル領域を更新することができ、複数のトランザクションが同一のオンラインファイルを同時に更新しようとした場合の並列実行性の向上が図れるオンライントランザクションシステム及び同システムに適用されるファイル管理方法を提供することにある。
【０００９】
【課題を解決するための手段】
本発明のオンライントランザクションシステムは、トランザクションからの更新要求によるオンラインファイルの更新処理に際して、空き領域を持ち且つ他のトランザクションによって排他されていない使用可能なブロックを検索する使用可能ブロック検索手段と、このブロック検索の結果、オンラインファイルの領域内に使用可能なブロックがない場合には、そのファイル領域を拡張して新たなブロックを確保するファイル領域拡張手段と、このファイル領域拡張手段によって新たに確保されたブロックを初期化する使用可能ブロック初期化手段と、オンラインファイルの更新処理に際して、使用可能ブロック検索手段によって検索されたブロックまたは使用可能ブロック初期化手段によって初期化されたブロックを更新ブロックとして他のトランザクションから排他する更新ブロック排他手段と、トランザクションのキャンセルが発生した場合に、そのキャンセルに伴うオンラインファイルのロールバック処理で当該トランザクションによるファイル更新を全て無効化する一方、ファイル終端位置の更新については無効化せずにその際の状態を維持するロールバック手段と、キャンセルされたトランザクションからの更新要求によるオンラインファイルの更新処理に際して使用可能ブロック初期化手段により初期化されているブロックがある場合に、そのブロックをロールバック処理内で再初期化するための再初期化手段とを備えたことを特徴とするものである。
【００１０】
また、本発明のオンライントランザクションシステムに適用されるファイル管理方法は、トランザクションからの更新要求によるオンラインファイルの更新処理に際して、空き領域を持ち且つ他のトランザクションによって排他されていない使用可能なブロックを検索し、使用可能なブロックが検索できた場合には、当該ブロックを更新ブロックとして他のトランザクションから排他した状態で、当該ブロックに対する更新処理を行い、使用可能なブロックが検索できなかった場合には、上記オンラインファイルのファイル領域を拡張して新たなブロックを確保し、当該ブロックを更新ブロックとして他のトランザクションから排他した状態で初期化し、しかる後に当該ブロックに対する更新処理を行い、この更新処理を要求したトランザクションのキャンセルが発生した場合には、オンラインファイルのロールバック処理で当該トランザクションによるファイル更新を全て無効化する一方、ファイル終端位置の更新については無効化せずにその際の状態を維持し、この更新処理に際して初期化されているブロックがある場合には、そのブロックをロールバック処理内で再初期化するようにしたことを特徴とするものである。
【００１１】
このように本発明においては、トランザクションからの更新要求によるオンラインファイルの更新処理に際し、オンラインファイル全体でなく、更新の対象となるブロック（更新ブロック）だけを他のトランザクションから排他することから、他のトランザクションの処理が待たされないで済む。
【００１２】
また、更新処理を要求したトランザクションのキャンセルが発生した場合には、オンラインファイルのロールバック処理で当該トランザクションによるファイル更新を全て無効化するものの、ファイル終端位置の更新については無効化せずにその際の状態を維持することから、ファイル終端位置がファイル領域の拡張前の状態に戻されることはない。このため、キャンセルが発生したトランザクションに後続するトランザクションの更新処理のためにファイル領域が拡張されて新たなブロックが確保されている場合に、そのブロックがオンラインファイルのファイル領域外となることが防止される。
【００１３】
しかも、キャンセルされたトランザクションからの更新要求によるオンラインファイルの更新処理に際して初期化されているブロックがある場合には、そのブロックがロールバック処理の中で再初期化されるため、後続のトランザクションが当該ブロックをアクセスした際に矛盾を検出することはなく、当該ブロックは、後続のトランザクションにとってレコード未格納ではあるが、他のブロックと同等に扱うことができる。
【００１４】
このように本発明においては、ロールバック後のファイルの整合性を保ちながら、ファイル領域拡張処理を排他的に行うことなしに（ファイル全体をロックすることなしに）ファイル領域を更新することが可能となり、ファイル更新処理の並列性の向上を図ることができる。
【００１５】
【発明の実施の形態】
図１は本発明の一実施形態を示すオンライントランザクションシステムのブロック構成図である。
図１において、１１は外部記憶装置、例えば磁気ディスク装置である。この磁気ディスク装置１１には、オンラインファイル１１１など、複数ブロックからなる各種ファイルが格納されている。
【００１６】
１２はメモリである。このメモリ１２には、オンラインファイル１１１など、磁気ディスク装置１１上の各種ファイルに対する更新を当該メモリ１２上で高速に行うための一種のキャッシュとしてのバッファ１２１が確保されている。このバッファ１２１には、各種ファイルの（一部の）データ（ファイルイメージ）が格納される。このバッファ１２１上のファイルのデータが格納される領域をファイルイメージ領域と呼ぶ。
【００１７】
メモリ１２にはまた、オンラインファイル１１１を管理するためのファイル制御情報１２２を初めとするファイル制御情報群、及び各ファイル内のブロックのうちのロックされているブロックを管理するためのロック管理情報１２３が格納されている。
【００１８】
ファイル制御情報１２２は、対応するオンラインファイル１１１の識別子（ファイルＩＤ）１２２ａ、当該ファイル１１１の有効データの領域（特にファイル終端位置）を管理するためのファイルサイズ１２２ｂ、及び当該ファイル１１１の有効データ領域における空き領域（空きブロック）を管理するための空き領域管理情報１２２ｃ等の設定領域を有している。この空き領域管理情報１２２ｃは、空きブロック（空きレコード領域を持つブロック）の情報のチェーン（空きブロックチェーン）を持つ。なお、磁気ディスク装置１１上のオンラインファイル１１１には、ファイルサイズ１２２ｂの示す領域より大きな領域が予め割当てられている。
【００１９】
ロック管理情報１２３は、ロック（排他）されているファイル内のブロックの情報（ファイルＩＤとブロック番号からなる情報）のチェーン（排他ブロックチェーン）を持つ。
【００２０】
１３-1〜１３-nはトランザクション、１４はトランザクション１３-1〜１３-nからの更新要求（ここではレコード追加要求）を受けた場合に、要求されたオンラインファイルから空き領域（空きレコード）を持ち且つ他のトランザクションによって排他されていない使用可能なブロックを検索する使用可能ブロック検索部である。このブロック検索は、オンラインファイル１１１に対する更新要求の場合であれば、ファイル制御情報１２２中の空き領域管理情報１２２ｃ（の持つ空きブロックチェーン）を検査（参照）することで行われる。
【００２１】
１５は使用可能ブロック検索部１４によるブロック検索の結果、要求されたオンラインファイルの領域内に使用可能なブロックがない場合には、そのファイル領域を（バッファ１２１上で）拡張して新たなブロックを確保するファイル領域拡張部である。
【００２２】
１６は更新ブロック排他部、１７は使用可能ブロック初期化部である。更新ブロック排他部１６は、使用可能ブロック検索部１４またはファイル領域拡張部１５からの排他要求に応じ、使用可能ブロック検索部１４によって検索されたブロックまたはファイル領域拡張部１５によって確保されたブロックを更新ブロックとして排他（ロック）する。このブロックの排他は、対応するオンラインファイルの例えばファイルＩＤとブロック番号をロック管理情報１２３のチェーン（排他ブロックチェーン）につなぐことにより実現される。使用可能ブロック初期化部１７は、ファイル領域拡張部１５によって確保され（て更新ブロック排他部１６により排他され）たブロック（使用可能ブロック）を初期化する。
【００２３】
１８はトランザクション１３-i（ｉは１〜ｎのいずれか）のキャンセルが発生した場合に、そのキャンセルに伴うオンラインファイルのロールバック処理で当該トランザクション１３-iによるファイル更新を全て無効化する一方、ファイル制御情報の示すファイル終端位置の更新については無効化せずにその際の状態を維持するロールバック部、１９はブロック再初期化部である。ブロック再初期化部１９は、キャンセルされたトランザクション１３-iからの更新要求によるオンラインファイルの更新処理に際して使用可能ブロック初期化部１７により初期化されているブロックがある場合に、そのブロックをロールバック処理内で再初期化する。
【００２４】
次に、図１の構成の動作を、図２の動作説明図を参照して説明する。
まず、トランザクション１３-1がオンラインファイル１１１に対するレコードＲ１の追加処理のために、更新要求を発したものとする。このトランザクション１３-1からの更新要求は、使用可能ブロック検索部１４で受け取られる。
【００２５】
すると使用可能ブロック検索部１４は、メモリ１２に格納されている、オンラインファイル１１１用のファイル制御情報１２２に設定されている空き領域管理情報１２２ｃ中の空きブロックチェーンと、ロック管理情報１２３中の排他ブロックチェーンとを参照することで、オンラインファイル１１１の領域（有効データ領域）内に、空き領域（空きレコード）を持ち且つ他のトランザクションによって排他（ロック）されていないブロック、即ちレコード格納可能なブロック（使用可能ブロック）が存在するか検索する。
【００２６】
もし、使用可能ブロックが存在するならば、使用可能ブロック検索部１４は更新ブロック排他部１６に対して当該ブロックに対する排他を要求する。この場合には、検索できた使用可能ブロックが更新ブロック排他部１６により他のトランザクションから排他され、しかる後に、要求されたレコードが当該ブロックに追加されることになる。
【００２７】
これに対し、使用可能ブロックが存在しないならば、使用可能ブロック検索部１４はファイル領域拡張部１５に対してオンラインファイル１１１のファイル領域の拡張を要求する。
【００２８】
ここでは、オンラインファイル１１１の領域（有効データ領域）内に使用可能ブロックが存在しないために、使用可能ブロック検索部１４からファイル領域拡張部１５に対してオンラインファイル１１１のファイル領域の拡張が要求されたものとする。
【００２９】
ファイル領域拡張部１５は、使用可能ブロック検索部１４からオンラインファイル１１１のファイル領域の拡張が要求された場合、図２（ａ）において符号２１で示すように、メモリ１２内のバッファ１２１上にあるオンラインファイル１１１のファイルイメージ領域１１１ａを拡張して、使用可能な新たなブロックＢm を確保する。
【００３０】
このファイル領域拡張部１５によるファイルイメージ領域拡張（使用可能ブロック確保）動作は、オンラインファイル１１１用のファイル制御情報１２２中のファイルサイズ１２２ｂ（の示すファイル終端位置）を更新することで行われ、磁気ディスク装置１１上のオンラインファイル１１１のファイル領域（有効データ領域）を拡張したことと等価である。
【００３１】
ファイル領域拡張部１５は、バッファ１２１上にあるオンラインファイル１１１のファイルイメージ領域１１１ａを拡張して使用可能なブロックＢm を確保すると、当該ブロックＢm を他のトランザクションから排他することを更新ブロック排他部１６に要求する。
【００３２】
更新ブロック排他部１６は、ファイル領域拡張部１５からオンラインファイル１１１（に対応するファイルイメージ領域１１１ａ）上のブロックＢm の排他要求を受け取ると、当該ブロックＢm のロックを図２（ｂ）において符号２２で示すように確保して（ブロックＢm 全体にロックをかけて）、当該ブロックＢm を他のトランザクションから排他する。
【００３３】
このブロックＢm のロック２２を確保する動作は、当該ブロックＢm に対応するオンラインファイル１１１のファイルＩＤと当該ブロックＢm のブロック番号の対を、ロック管理情報１２３の排他ブロックチェーンにつなぐことにより行われる。
【００３４】
ファイル領域拡張部１５は、要求したブロックＢm が更新ブロック排他部１６によりロックされると、当該ブロックＢm を初期化することを使用可能ブロック初期化部１７に要求する。
【００３５】
使用可能ブロック初期化部１７は、ファイル領域拡張部１５からブロックＢm の初期化要求を受け取ると、当該ブロックＢm を図２（ｂ）において符号２３で示すように初期化する。
【００３６】
この初期化処理は、磁気ディスク装置１１内のオンラインファイル１１１に対して直接行われるのではなく、ファイル領域拡張部１５によってメモリ１２のバッファ１２１上で拡張された、オンラインファイル１１１のファイルイメージ領域１１１ａのブロックＢm の領域に対して行われる。したがって、この段階では、磁気ディスク装置１１に格納されているオンラインファイル１１１上のブロックＢm の領域は（いわゆるゴミのある）不定状態（未初期化状態）にある。
【００３７】
トランザクション１３-1は、このようにオンラインファイル１１１（に対応する拡張されたファイルイメージ領域１１１ａ上）のブロックＢm のロック２２が確保された状態で、図示せぬ更新処理部を介して、図２（ｃ）に示すように、レコードＲ１を当該ブロックＢm にファイルイメージ領域１１１ａ上で格納する動作を行う。
【００３８】
以上のトランザクション１３-1の処理と並行して、トランザクション１３-nからオンラインファイル１１１に対するレコード追加処理のために、更新要求が発せられたものとする。
【００３９】
使用可能ブロック検索部１４は、トランザクション１３-1に後続するトランザクション１３-nから更新要求を受け取ると、前記したトランザクション１３-1からの更新要求時と同様にして、オンラインファイル１１１の領域内にレコード格納可能なブロック（使用可能ブロック）が存在するか検索する。
【００４０】
この場合、使用可能ブロック検索部１４は、ファイル制御情報１２２の空き領域管理情報１２２ｃからブロックＢm に空き領域があることを検出する。しかし、当該ブロックＢm は前記したように（トランザクション１３-1により更新ブロック排他部１６を介して）ロックされており、その旨がロック管理情報１２３により示されていることから、使用可能ブロック検索部１４は、ブロックＢm はレコード格納可能なブロックでないと判断し、ファイル領域拡張部１５に対してオンラインファイル１１１の領域拡張を要求する。
【００４１】
これによりファイル領域拡張部１５は、前記したブロックＢm の確保時と同様にして、図２（ｄ）において符号２４で示すように、バッファ１２１上にあるオンラインファイル１１１のファイルイメージ領域１１１ａを拡張して、使用可能な新たなブロックＢm+1 を確保する。
【００４２】
ファイル領域拡張部１５は、新たなブロックＢm+1 を確保すると、当該ブロックＢm+1 を他のトランザクションから排他することを更新ブロック排他部１６に要求する。
【００４３】
すると更新ブロック排他部１６は、要求されたブロックＢm+1 のロックを図２（ｅ）において符号２５で示すように確保して、当該ブロックＢm+1 を他のトランザクションから排他する。
【００４４】
ファイル領域拡張部１５は、要求したブロックＢm+1 が更新ブロック排他部１６によりロックされると、当該ブロックＢm+1 を初期化することを使用可能ブロック初期化部１７に要求する。
【００４５】
すると使用可能ブロック初期化部１７は、要求されたブロックＢm+1 を図２（ｅ）において符号２６で示すように初期化する。
トランザクション１３-nは、このようにオンラインファイル１１１（に対応する拡張されたファイルイメージ領域１１１ａ上）のブロックＢm+1 のロック２５が確保された状態で、図示せぬ更新処理部を介して、図２（ｆ）に示すように、レコードＲ２を当該ブロックＢm+1 にファイルイメージ領域１１１ａ上で格納する動作を行う。
【００４６】
次に、このような状態においてトランザクション１３-1がキャンセルされ、そのキャンセルに伴うオンラインファイル１１１を対象とするロールバック要求（ロールバック処理の要求）１３１が当該トランザクション１３-1から発せられたものとする。このトランザクション１３-1からのロールバック要求１３１はロールバック部１８で受け取られる。
【００４７】
するとロールバック部１８は、オンラインファイル１１１を対象とするロールバック処理を行い、トランザクション１３-1による当該オンラインファイル１１１の更新を全て無効化する。このときロールバック部１８は、従来のロールバック処理とは異なって、ファイル終端位置の更新（ファイルサイズの更新）については無効化せずに、その際のファイル制御情報１２２中のファイルサイズ１２２ｂの状態を維持する。
【００４８】
このように、トランザクション１３-1によるオンラインファイル１１１の更新は無効化しても、ファイル終端位置の更新については無効化しないことで、即ちオンラインファイル１１１のファイル領域を拡張してブロックＢm を確保する以前の状態に戻さないことで、トランザクション１３-1に後続するトランザクション１３-nからの更新要求に応じて確保されたレコードＲ２が格納されたブロックＢm+1 （即ちトランザクション１３-nがアクセスしたブロックＢm+1 ）がファイル領域外となることを防止できる。
【００４９】
ところが、オンラインファイル１１１を対象とするロールバック処理でトランザクション１３-1による当該オンラインファイル１１１の更新を無効化した場合、一般にはメモリ１２のバッファ１２１上での対応する更新内容が捨てられ、磁気ディスク装置１１上のオンラインファイル１１１からデータがロードされることから、次のような問題が生じる。
【００５０】
まず、トランザクション１３-1からの更新要求に従うオンラインファイル１１１の更新処理に際し、前記したように、メモリ１２のバッファ１２１上で、オンラインファイル１１１のファイルイメージ領域１１１ａを拡張してブロックＢm を確保した場合、当該バッファ１２１（のファイルイメージ領域１１１ａ）上のブロックＢm へのロード元となる磁気ディスク装置１１上のオンラインファイル１１１のブロックＢm の領域は不定状態（未初期化状態）にある。
【００５１】
このため、磁気ディスク装置１１上のオンラインファイル１１１のブロックＢm からバッファ１２１（のファイルイメージ領域１１１ａ）上のブロックＢm にデータがロードされると、当該バッファ１２１上のブロックＢm の初期化データは無効化され、当該ブロックＢm はオンラインファイル１１１のファイル領域内にあるにも拘らず、図２（ｇ）に示すように不定状態（未初期化状態）になる。したがって、このような状態となったならば、後続トランザクションがブロックＢm をアクセスしたときに矛盾を検出するという問題が生じる。
【００５２】
そこで本実施形態では、前記したようにキャンセルされたトランザクション１３-1により初期化されていたブロックが存在する場合には、ロールバック部１８からブロック再初期化部１９に対し、当該ブロックを初期化するための初期化要求をロールバック処理の中で発行するようにしている。ここでは、ブロックＢm を初期化するための初期化要求が発行されることになる。
【００５３】
ブロック再初期化部１９は、ロールバック部１８からブロックＢm の初期化要求を受け取ると、磁気ディスク装置１１に格納されているオンラインファイル１１１上で、この要求されたブロックＢm の領域を初期化し、しかる後に初期化終了をロールバック部１８に通知する。
【００５４】
ロールバック部１８は、ブロック再初期化部１９から初期化終了通知を受け取ると、磁気ディスク装置１１内のオンラインファイル１１１上のブロックＢm の領域のデータ（ディスクイメージ）を、メモリ１２のバッファ１２１上で拡張された当該オンラインファイル１１１のファイルイメージ領域１１１ａのブロックＢm にロードする。
【００５５】
これにより、バッファ１２１上のファイルイメージ領域１１１ａのブロックＢm は、図２（ｈ）において符号２７で示すように再初期化される。この結果、後続のトランザクションにとって、ブロックＢm はレコード未格納であるが、他のブロックと同等に扱うことができる。
【００５６】
【発明の効果】
以上詳述したように本発明によれば、トランザクションからの更新要求によるオンラインファイルの更新処理に際して、更新ブロックだけを他のトランザクションから排他し、更新処理を要求したトランザクションのキャンセルが発生した場合には、オンラインファイルのロールバック処理で当該トランザクションによるファイル更新を全て無効化するものの、ファイル終端位置の更新については無効化しないようにして、ファイル終端位置がファイル領域の拡張前の状態に戻されないようにし、更にキャンセルされたトランザクションからの更新要求によるオンラインファイルの更新処理に際して初期化されているブロックがある場合には、そのブロックをロールバック処理の中で再初期化するようにしたので、ロールバックでのオンラインファイルの整合性を保ちながら、ファイル領域拡張処理を排他的に行うことなしにファイル領域を更新することができ、複数のトランザクションが同一のオンラインファイルを同時に更新しようとした場合の並列実行性が向上する。
【図面の簡単な説明】
【図１】本発明の一実施形態を示すオンライントランザクションシステムのブロック構成図。
【図２】同実施形態におけるトランザクション１３-1，１３-nによるレコード追加時とトランザクション１３-1のロールバック時の動作を説明するための図。
【符号の説明】
１１…磁気ディスク装置、
１２…メモリ、
１３-1〜１３-n…トランザクション、
１４…使用可能ブロック検索部、
１５…ファイル領域拡張部、
１６…更新ブロック排他部、
１７…使用可能ブロック初期化部、
１８…ロールバック部、
１９…ブロック再初期化部、
１１１…オンラインファイル、
１１１ａ…ファイルイメージ領域、
１２１…バッファ、
１２２…ファイル制御情報、
１２３…ロック管理情報、
１２２ｂ…ファイルサイズ、
１２２ｃ…空き領域管理情報、
Ｂm ，Ｂm+1 …ブロック。
【図１】
0003857335.tif 000002
【図２】
0003857335.tif 000003