JP4916892B2 - トランザクション処理のためのログ情報管理システムおよび方法 - Google Patents

トランザクション処理のためのログ情報管理システムおよび方法 Download PDF

Info

Publication number
JP4916892B2
JP4916892B2 JP2007000560A JP2007000560A JP4916892B2 JP 4916892 B2 JP4916892 B2 JP 4916892B2 JP 2007000560 A JP2007000560 A JP 2007000560A JP 2007000560 A JP2007000560 A JP 2007000560A JP 4916892 B2 JP4916892 B2 JP 4916892B2
Authority
JP
Japan
Prior art keywords
page
buffer
log
free
log information
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
JP2007000560A
Other languages
English (en)
Other versions
JP2007188497A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2007188497A publication Critical patent/JP2007188497A/ja
Application granted granted Critical
Publication of JP4916892B2 publication Critical patent/JP4916892B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery

Description

本発明は、データベース管理システムでのログ情報管理に関し、より詳しくは、新規に割り当てられたデータページに関して発生するログ情報の大きさを最小化するログ情報管理システムおよび方法に関するものである。
データベース管理システムにおける「ログ」または「ロギング」という一般的にアプリケーションプログラムが行う作業によって、変更中であるデータがシステム異常またはユーザの不注意によって正常な値を有することができなくなることを防止するために変更前状態のデータを別途に格納することを意味する。
このようなロギングによりデータベース管理システムは取り消しまたは復旧作業を行うことによって、非正常的に終了したアプリケーションプログラムによって操作中であったデータを本来の正常な状態に戻せるようになる。
図1は、従来技術に係るログ情報管理システムの構成を示すブロック図である。
図1を参照すれば、トランザクションマネージャ110は、トランザクションの開始、終了、取り消し時にログマネージャ130を用いてログ情報を残し、現在進行しているトランザクションの情報を保持する。復旧マネージャ120は特定トランザクションの取り消し時にログマネージャ130を介してログ情報を確保した後、データに行なわれた変更を戻す役割を担当する。特に、復旧マネージャ120は、ログ情報管理システムが非正常的に終了した時に未完了であったトランザクションの影響をデータベースから削除して完了したトランザクションの修正事項をデータベースに反映して、データの一貫性を保持するようにする。ログマネージャ130は、他のモジュールで発生させたデータベースに対する変更されたログ情報を取り集めてバッファ160に反映し、復旧マネージャ120から要請されたログ情報をディスク180から読み込んで提供する。
インデックス/レコード/カタログマネージャ140は、ログ情報管理システムを構成する主要データのインデックス、レコード、カタログ情報を各々管理するモジュールであって、バッファマネージャ150に必要なデータ(インデックス、レコード、カタログ)をバッファ160にロードさせて必要な値を読み込んだり変更したりするように要請する。ログ情報管理システムにおいて、大部分のログ情報はインデックス/レコード/カタログマネージャ140によって発生する。
バッファマネージャ150は、バッファ160を管理しながら、他のモジュールの要請によってディスク180に格納されたインデックス、レコード、またはカタログに対するログ情報を入れたページをバッファにロードさせたり、バッファ160にロードされたページをディスク180に格納したりする。ディスク180でデータページを読み込んだり記録したりする作業は格納マネージャ170によって行われる。
バッファ160は、メモリの一部であって、ログ情報管理システムが確保して専用する空間である。バッファ160にはログ情報が記録され、図2ではこのようなログ情報の例としてログレコードを示している。
ログレコード200は、ログヘッダ210、以前データイメージ220、そして更新データイメージ230を含む。
ログヘッダ210は、ログシーケンス番号(以下、「LSN」)、トランザクション識別情報、以前LSN情報、ページ識別情報、オフセット情報、データ長情報などを含む。
LSNは該当ログレコードを識別する情報であり、トランザクション識別情報は該当ログレコードが意味する変更を発生させたトランザクションの識別情報である。以前LSN情報は、トランザクション識別情報が示すトランザクション内で該当ログ直前に発生させたログレコードの識別情報である。ページ識別情報は、該当ログレコードが含んでいる変更作業がどのページに対して行われたかを示し、オフセット情報は、ページ識別情報によって識別されるページのどの位置からデータ変更が発生したかを示し、データ長情報は変更されたデータの大きさを示す情報である。
以前データイメージ220は変更される以前のデータ値を、更新データイメージ230は変更された以後のデータ値を示す。
バッファマネージャ150はディスク180からページ単位でデータを読み込むため、バッファ160も同様にページ単位で分割して管理される。
格納マネージャ170は、バッファマネージャ150の要請によりディスク180の特定ページを読み込んでバッファ160にロードしたりバッファ160の特定ページをディスク180に記録したりする。また、格納マネージャ170は新しいページが要請される時、該当時点で用いられていないディスクページをデータ格納用として割り当てて、既存のディスクページをそれ以上データ格納用として用いない場合には、該当ディスクページを空のディスクページのうちの1つとして管理する。格納マネージャ170は、ページ使用現況を管理する役割をするページ使用管理モジュールをさらに含むことができる。
アプリケーション190は、クエリープロセッサまたはクエリーエンジンとして動作することができる。アプリケーション190は、トランザクションマネージャ110にトランザクションの開始、取り消しまたは終了を知らせることができ、トランザクションの境界内、即ちトランザクションの開始とトランザクション終了/取り消しの間でインデックス/レコード/カタログマネージャ140を介してログ情報を読み込んだり変更したりすることができる。
図1に示された各構成要素間の動作過程を説明すれば次の通りである。
まず、アプリケーション190がトランザクションの開始をトランザクションマネージャ110に要請すれば、トランザクションマネージャ110は、新しい1つのトランザクションを生成し、生成されたトランザクションに対する情報をトランザクションが終了するまで保持する。
そして、アプリケーションがインデックス/レコード/カタログマネージャ140にデータ更新作業を要請すれば、インデックス/レコード/カタログマネージャ140は必要なページをバッファマネージャ150に要請し、バッファ160内に確保した後に必要な更新作業を行う。各更新作業が行われる時毎にインデックス/レコード/カタログマネージャ140は、変更前のデータと変更後のデータに対するログ情報を生成し、ログマネージャ130に伝送する。データ更新作業に対するより具体的な過程は、後述することにする。
アプリケーション190は、データ更新作業がエラーなしに行われたと判断した場合、トランザクションマネージャ110にトランザクションを終了するようにし、そうではない場合にはトランザクションを中断するように要請する。
トランザクションが終了する場合に、トランザクションマネージャ110は、ログマネージャ130にトランザクションの終了を意味するログ(以下、「Commit_Log」)情報を生成するように指示する。そして、トランザクションマネージャ110は、ログマネージャ130に前記Commit_Log情報を含むすべてのログ情報をディスク180に記録するように要請する。前記Commit_LogのLSN値より小さいLSN値を有するすべてのログ情報がバッファ160内にある場合、ログマネージャ130は、バッファマネージャ150に前記ログ情報をディスク180のログファイルに記録するように要請する。
アプリケーション190がトランザクションを中断すると決定した場合には、トランザクションマネージャ110が復旧マネージャ120にトランザクションの取り消しを要請する。復旧マネージャ120は該当トランザクション内で既に変更したデータ値を復旧するために、以前のデータ値を有するログ情報をログマネージャ130に要請する。前記要請は、バッファマネージャ150と格納マネージャ170に順に伝えられて処理される。
そして、復旧マネージャ120は、以前の値に復旧しなければならないデータページをバッファマネージャ150に要請し、バッファマネージャ150は要請されたページを格納マネージャ170を用いてバッファ160に読み込む。復旧マネージャ120は、ログマネージャ130に要請したログ情報を参照して、変更が発生した部分を探して以前のデータ値(ビフォーイメージ)に復元する。
トランザクションが終了したり取り消されたりした後、トランザクションマネージャ110は該当トランザクションの情報をトランザクションテーブルから削除する。
一方、アプリケーション190がインデックス/レコード/カタログマネージャ140にデータ更新を要請する場合に発生する動作過程を具体的に説明することにする。
インデックス/レコード/カタログマネージャ140は、データ更新が物理的にディスク180に及ぼす影響を把握して、ディスク180内のどのディスクページを修正するべきかを決定する。
インデックス/レコード/カタログマネージャ140は、アプリケーション190から要請された更新作業がディスクページの削除であるか(「デリート」モード)、新しいページにデータを記録することであるか(「インサート」モード)、または既存ページに記録されたデータ値の変更であるか(「モディファイ」モード)を判断する。
「デリート」モードの場合、バッファマネージャ150は、指定されたディスクページがバッファ160内にある場合、該当ページをバッファ160から削除する。そして、バッファマネージャ150は、指定されたディスクページの削除を格納マネージャ170に要請し、格納マネージャ170は該当ページをそれ以上用いないページとして分類する。この時、ディスクページの使用に変更が発生したため、格納マネージャ170は、変更内訳に対するログ情報を生成し、ログマネージャ130に伝送する。
「インサート」モードの場合、バッファマネージャ150は格納マネージャ170に新しいページを割り当てることを要請する。格納マネージャ170が新しいページを割り当てた後にディスクページ使用の変更内訳に対するログ情報を生成してログマネージャ130に伝送する。そして、格納マネージャ170は、要請されたディスクページをバッファマネージャ150が指定したバッファ160の空間にコピーした後、インデックス/レコード/カタログマネージャ140は、該当ページに対するデータ値の挿入を行い、これに対するログ情報を発生させてログマネージャ130に伝送する。
「モディファイ」モードの場合、インデックス/レコード/カタログマネージャ140は、変更するディスクページをバッファマネージャ150に要請する。バッファマネージャ150は、該当ディスクページがバッファ160に存在するか否かを検査する。データ値を更新するページが既にバッファ160内に存在すれば、インデックス/レコード/カタログマネージャ140は、該当ページに対するデータ値の変更を行う。
しかし、データ値を更新するページがバッファ160内に存在しない場合には、格納マネージャ170が要請されたディスクページをバッファマネージャ150が指定したバッファ160の空いた空間にコピーする。この場合、使用可能な空いた空間がない場合にバッファマネージャ150は適切なページを選定して、ディスク180に送ってバッファ160内に空いた空間を確保する。そして、格納マネージャ170が要請されたディスクページをバッファマネージャ150が指定したバッファ160の空いた空間にコピーする。そして、インデックス/レコード/カタログマネージャ140は、該当ページに対するデータ値の変更を行い、データ値変更に対するログ情報を発生させて、ログマネージャ130に伝送する。
一方、データベースでは、ログレコードの大量挿入やインデックスの生成時多くのページが新規に割り当てられ、割り当てられたページに対するデータ値が変更される。ところで、上記のような従来のログ情報管理システムでは、すべてのデータ値の変更に対して以前データイメージ(ビフォーイメージ)と更新データイメージ(アフターイメージ)とがログ情報として残る。このような特性のために、あるページがインデックス、レコードまたはカタログ情報を格納するためのページとして新しく割り当てられた後に、ページ全体に対し新しいデータ値が書き込まれるようになれば、従来技術ではヘッダー情報を無視するとしても、新しく割り当てられたページサイズの2倍に達するログ情報が発生する。即ち、N個のデータページが新規割り当てられた後に各ページ全体に亘って値が書き込まれる時、2N個のページに達するログ情報が発生するようになる。ところで、一度生成されたログ情報は、すべてトランザクションが完了する以前にディスクに記録されなければならないため、ディスクの入出力過程でログ情報管理システムの性能を低下させられる。特に大量のレコード挿入作業を迅速に処理しなければならないシステムでは、大きな問題ともなり得る。
したがって、新規に割り当てられたデータページに関して、発生するログ情報の大きさを最小化することによって、大量のレコード挿入または新しいインデックス生成作業が発生してもシステムの性能が低下することを防止する必要ができるようになっている。
韓国公開特許第10−2002−0030223号公報
本発明は、トランザクション発生時の新規割当ページに対するログ情報を最小化することによって大量のレコード挿入またはインデックス生成作業に対する応答時間を短縮して、ログ情報管理システムの性能を改善することを目的とする。
本発明の目的は、以上で言及した目的に制限されず、言及していないまた他の目的は下記記載によって当業者が明確に理解できるものである。
前記目的を達成するために、本発明の一態様に係るログ情報管理システムは、更新されるページが新しく割り当てられるページであるか否かを判断するインデックス/レコード/カタログ管理モジュールと、フリーページリストと未完了フリーページリストとを管理して、前記更新されるページが新しく割り当てられるページである場合、前記フリーページリストまたは前記未完了フリーページリストから新規ページを割り当てる格納管理モジュールと、前記新規ページに対応するバッファページに対する識別情報を設定するバッファ管理モジュールとを含み、前記バッファページに対するデータ値変更についてはログ情報が発生しない。
また、前記目的を達成するために、本発明の他の態様に係るログ情報管理方法は、更新されるページが新しく割り当てられるページであるか否かを判断する(a)ステップと、前記更新されるページが新しく割り当てられるページである場合、フリーページリストまたは未完了フリーページリストから新規ページを割り当てる(b)ステップと、前記新規ページに対応するバッファページに対する識別情報を設定する(c)ステップとを含み、前記バッファページに対するデータ値変更についてはログ情報が発生しない。
本発明に従えば、ログ情報管理システムにおいて大量で新規ページが割り当てられても割り当てられたページに対するログ情報を最小化することができるため、ディスクの書き込みコストを減少させられる効果がある。
また、本発明に従えば、新しく割り当てられたページをディスクから読み込まないため、ディスクの読み込み費用コストを減少させられる効果がある。
また、本発明に従えば、新しく割り当てられたページに関するログ情報が最小化されるため、データを復旧する場合にも応答速度が速くなる効果がある。
その他、実施形態の具体的な事項は、詳細な説明および図面に含まれている。
本発明の利点および特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述する実施形態を参照すれば明確になる。しかし、本発明は以下にて開示する実施形態に限定されず、互いに異なる多様な形態によって実施され、単に本実施形態は本発明の開示が完全なものとなるようにし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであって、本発明は請求項の範疇によってのみ定義されるものである。
以下、本発明の実施形態によって、ログ情報管理システムおよび方法を説明するためのブロック図または処理フローチャートに対する図面を参考にして本発明について説明する。この時、処理フローチャートの各ブロックとフローチャートの組合せは、コンピュータプログラムインストラクションによって行われることが理解できる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータ、またはその他のプログラム可能なデータプロセシング装備のプロセッサに搭載することができるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備のプロセッサを介して行われるそのインストラクションがフローチャートブロックで説明する機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定方式で機能を具現するために、コンピュータまたはその他のプログラム可能なデータプロセシング装備が備えられるコンピュータによって利用可能または読取可能なメモリに格納されることも可能であるため、そのコンピュータによって利用可能または読取可能なメモリに格納されたインストラクションは、フローチャートブロックで説明する機能を行うインストラクション手段を含む製造品目の生産に用いることも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他のプログラム可能なデータプロセシング装備上に搭載することも可能であるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備上で一連の動作ステップが行われ、コンピュータで実行されるプロセスを生成して、コンピュータまたはその他のプログラム可能なデータプロセシング装備の機能を行うインストラクションはフローチャートブロックで説明する各ステップの機能を実行することも可能である。
また、各ブロックは、特定された論理的機能を実行するための1つ以上の実行可能なインストラクションを含むモジュール、セグメント、またはコードの一部を示すことができる。また、複数の代替実行例ではブロックで言及された機能が順序から外れて行われることも可能であることに注目しなければならない。例えば、連続して図示されている2つのブロックは、実質的に同時に行われることも可能で、またはそのブロックが時には該当機能により逆順に行われることも可能である。
図3は、本発明の一実施形態に係るログ情報管理システムの構成を示すブロック図である。
図3を参照すれば、ログ情報管理システム300は、トランザクション管理モジュール310、復旧管理モジュール320、ログ管理モジュール330、インデックス/レコード/カタログ管理モジュール340、バッファ管理モジュール350、バッファモジュール360、格納管理モジュール370、ディスクモジュール380、およびアプリケーション390を含む。ここで、バッファモジュール360はデータバッファ362とログバッファ364を含み、格納管理モジュール370はページ使用管理モジュール372を含む。
この時、本実施形態で用いられる「モジュール」という用語は、ソフトウェアまたはFPGAまたはASICのようなハードウェア構成要素を意味し、モジュールはある役割を行う。ところが、モジュールは、ソフトウェアまたはハードウェアに限定される意味ではない。モジュールは、アドレッシングできる格納媒体にあるように構成することもでき、1つまたはそれ以上のプロセッサを再生させるように構成することもできる。したがって、一例としてモジュールはソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含む。構成要素とモジュールの中で提供されている機能は、さらに小さい数の構成要素およびモジュールに結合したり、追加的な構成要素とモジュールにさらに分離したりすることができる。それだけでなく、構成要素およびモジュールはデバイスまたは保安マルチメディアカード内の1つまたはそれ以上のCPUを再生させるように具現されることもできる。
アプリケーション390は、クエリープロセッサまたはクエリーエンジンとして動作することができる。アプリケーション390は、トランザクション管理モジュール310にトランザクションの開始、取り消しまたは終了を知らせることができ、トランザクションの境界内、即ちトランザクションの開始とトランザクション終了/取り消しの間でインデックス/レコード/カタログ管理モジュール340を介してログ情報を読み込んだり変更したりすることができる。
トランザクション管理モジュール310は、トランザクションの開始、終了、取り消し時にログ管理モジュール330を用いてログ情報を残し、現在進行しているトランザクションの情報を維持保持する。
復旧管理モジュール320は、特定トランザクションの取り消し時にログ管理モジュール330を介してログ情報を確保した後、データに行なわれた変更を戻す役割を担当する。特に、復旧管理モジュール320は、ログ情報管理システム300が非正常的に終了した時に未完了であったトランザクションの影響をデータベースから削除し、完了したトランザクションの修正事項をデータベースに反映して、データの一貫性を維持保持するようにする。
ログ管理モジュール330は、他のモジュールで発生させたデータベースに対する変更したログ情報を取り集めてバッファモジュール360に反映し、復旧管理モジュール320から要請されたログ情報をディスクモジュール380から読み込んで提供する。
インデックス/レコード/カタログ管理モジュール340は、ログ情報管理システム300を構成する主要データのインデックス、レコード、カタログ情報を管理するモジュールであって、バッファ管理モジュール350に必要なデータ(インデックス、レコード、カタログ)をバッファモジュール360にロードさせて必要な値を読み込んだり変更したりするように要請する。ログ情報管理システム300において、大部分のログ情報はインデックス/レコード/カタログ管理モジュール340によって発生する。
また、インデックス/レコード/カタログ管理モジュール340は、データ値に対する更新が発生する場合、ログ情報を残す前に更新が発生したページが新しく割り当てられたページであるかを確認する。データ値に対する更新が発生したページが該当トランザクション内で新しく割り当てられたページとして判定されれば、インデックス/レコード/カタログ管理モジュール340はデータ値が更新されたとしても、これに対するログ情報を残さない。
バッファ管理モジュール350は、バッファモジュール360を管理しながら、他のモジュールの要請によりディスクモジュール380に格納されたインデックス、レコードまたはカタログに対するログ情報を入れたページをバッファモジュール360のデータバッファ362にロードさせたり、データバッファ362にロードされたページをディスクモジュール380に格納したりする。ディスクモジュール380からデータページを読み込んだり記録したりする作業は、格納管理モジュール370によって行われる。
また、バッファ管理モジュール350は、ログ管理モジュール330の要請によってページLSN値としてMAX_LSN値を有するデータページのみをデータバッファ362から選択し、ディスクモジュール380にすべて記録する。ページLSNは、各ページを識別する識別情報として理解され得る。
バッファモジュール360は、メモリの一部としてログ情報管理システム300が確保して専用する空間である。バッファモジュール360は、ログ情報が格納されるログバッファ364とページが格納されるデータバッファ362とを含む。
格納管理モジュール370は、バッファ管理モジュール350の要請によってディスクモジュール380の特定ページを読み込み、バッファモジュール360にロードしたり、バッファモジュール360の特定ページをディスクモジュール380に記録したりする。また、格納管理モジュール370は新しいページが要請される時、該当時点で用いられていないディスクページをデータ格納用として割り当て、既存のディスクページをそれ以上データ格納用として用いない場合には、該当ディスクページを空のディスクページのうちの1つとして管理する。格納管理モジュール370は、ページ使用現況を管理する役割をするページ使用管理モジュール372を含む。
一方、格納管理モジュール370は、新しく割り当てられたページをバッファモジュール360のデータバッファ362に搬入する時、該当ページをフリーページリストから割り当てられた場合、ディスクモジュール380からページを読み込む代わりに、データバッファ362にある指定されたバッファページのページLSNを変更する作業を行う。この時、フリーページとは、データが新しく割当可能なページを意味し、フリーページリストはこのようなフリーページを管理するデータ構造としてページ使用管理モジュール372によって管理される。
また、データバッファ362内の任意のページをディスクモジュール380に搬出する時には指定されたバッファページのページLSNを任意の値に変更した後に記録する。このようなディスク入出力に関連した格納管理モジュール370の動作は、図7と図8で具体的に説明することにする。
格納管理モジュール370に含まれたページ使用管理モジュール372はフリーページリストと未完了ノンコミッテッドフリーページリストとを管理する。未完了フリーページリストは、まだ完了しない任意のトランザクション内で削除されたページの目録である。ディスクページに対する新規割当が要請されれば、ページ使用管理モジュール372は、先ずフリーページリストで使用可能なフリーページを探して割り当てる。フリーページリストに使用可能なフリーページがない時には、未完了フリーページリストからフリーページを探して割り当てるようになる。フリーページと未完了フリーページを更新する方法については、図9で具体的に説明することにする。
図4は、本発明の一実施形態に係る更新トランザクション過程を示すフローチャートである。
まず、アプリケーション390がトランザクションの開始をトランザクション管理モジュール310に要請すれば、トランザクション管理モジュール310は新しい1つのトランザクションを生成し、生成されたトランザクションに対する情報をトランザクションが終了するまで維持保持する(S405)。
そして、アプリケーション390がインデックス/レコード/カタログ管理モジュール340にデータ更新作業を要請すれば、インデックス/レコード/カタログ管理モジュール340は必要なページをバッファ管理モジュール350に要請して、バッファモジュール360のデータバッファ362内に確保した後に必要な更新作業を行うようになる(S410)。この時、更新が発生したページのうち新しく割り当てられるデータページについてはログ情報が発生しない。一方、データバッファ364にロードされるページは各ページ内部にページLSN値を保有するようになるが、本発明では新しく割り当てられるページについてはこのページLSN値を特定の値(例えば、MAX_LSN値)に設定することによって不要なログ情報を生成しない。即ち、インデックス/レコード/カタログ管理モジュール340は、更新が発生したページのページLSN値がMAX_LSNである場合、ログ情報を生成しない。この時、「MAX_LSN」は該当ログ情報管理システムで生成可能な最も大きいLSN値を示す。
データ更新作業に対するより具体的な過程は、図5で説明することにする。
アプリケーション390は、データ更新作業がエラーなしに行われたと判断した場合、トランザクション管理モジュール310にトランザクションを終了するようにし、そうではない場合にはトランザクションを中断するように要請する(S415)。
アプリケーション390が更新を承認する場合(S415)、該当トランザクションによって削除され、未完了フリーページリストに入っていたページ情報をフリーページリストに反映する(S420)。本発明では従来の方式とは異なり、あるトランザクション内で削除されたページを直ちにフリーページリストに入れずに、別の未完了フリーページリストで管理する。
そして、データバッファ362に入っているデータページのうち、未だディスクモジュール380に記録されていない新規割当ページ(即ち、ページLSNがMAX_LSNであるページ)をディスクモジュール380に記録する(S425)。本発明では、新規割当ページに対してログ情報を残さない代わりに、トランザクションが完了する前にディスクモジュール380に新規割当ページを記録することによって、トランザクション完了後に発生し得る正常ではない終了においてもデータの一貫性が維持保持されるようになる。
一方、新規割当ページをディスクモジュール380にページLSN値がMAX_LSNの状態で記録されるようになれば、他のトランザクション内で該当ページに対する更新を試みる時に、ページLSNを新規に割り当てられたページとして誤認し得る。したがって、格納管理モジュール370はページLSNがMAX_LSNの新規割当ページをディスクモジュール380に記録する時には、ページLSNを任意の他の値に変えた後に記録することが好ましい。
S425のステップが行われた後、トランザクション管理モジュール310はログ管理モジュール330に「Commit_Log」を生成するように指示する(S430)。そして、前記Commit_LogのLSN値より小さいか同じであるLSN値を有するすべてのログ情報がログバッファ364内にある場合、ログ管理モジュール330はバッファ管理モジュール350に前記ログ情報をディスクモジュール380のログファイルに記録するように要請する(S435)。
アプリケーション390がデータ更新を承認しない場合、即ち、トランザクションを中断すると決定した場合には、トランザクション管理モジュール310は復旧管理モジュール320にトランザクションの取り消しを要請する。復旧管理モジュール320は、該当トランザクション内で既に変更したデータ値を復旧するために、以前のデータ値を有するログ情報をログ管理モジュール330に要請する(S445)。前記要請は、バッファ管理モジュール350と格納管理モジュール370に順に伝えられて処理される。
そして、復旧管理モジュール320は、ログ管理モジュール330に要請したログ情報を参照し、変更が発生した部分を探して以前のデータ値に復元する(S450)。
トランザクションが終了するか取り消された後、トランザクション管理モジュール310は、該当トランザクションの情報をトランザクションテーブルから削除する(S440)。
図5は、本発明の一実施形態によりデータを更新する過程を具体的に示すフローチャートである。
まず、アプリケーション390は、インデックス/レコード/カタログ管理モジュール340にデータ更新を要請する(S505)。そして、インデックス/レコード/カタログ管理モジュール340は、前記要請された更新がディスクページを削除する更新であると判断した場合には(S510)、バッファ管理モジュール350が該当するディスクページがデータバッファ362に存在する場合に該当ページを削除し(S515)、格納管理モジュール370のページ使用管理モジュール372は、削除されたページ番号を未完了フリーページリストに挿入した後、このページを削除させたトランザクションが完了するか中断される前まで維持保持するようになる。このページを削除させたトランザクションが完了する場合、完了したトランザクションによって削除されたすべてのページは未完了フリーページリストから削除され、フリーページリストに挿入される。そして、トランザクションが中断される場合には、中断されたトランザクションによって削除されたすべてのページは未完了フリーページリストから削除され、フリーページリストには挿入されない。このような方法によって、要請されたディスクページが削除される(S520)。
格納管理モジュール370は、ページ変更に対するログ情報を生成してログ管理モジュール330に伝送するようになる。
一方、S510のステップで要請された更新がディスクページを削除する更新ではなく、新しいページまたは既存ページに対するデータ値の変更であるとインデックス/レコード/カタログ管理モジュール340によって判断された場合には(S510)、バッファ管理モジュール350は更新されるページがバッファモジュール360に既に存在するか否かを検査する(S530)。更新されるページがバッファモジュール360に既に存在する場合にはページを更新するが(S560)、そうではない場合にはバッファ管理モジュール350はバッファモジュール360に使用可能なバッファ空間があるか否かを検査する(S535)。
S535のステップで使用可能なバッファ空間がない場合、ディスクモジュール380に記録するページが選択され、選択されたページに対するページLSNが処理されるが、このような動作を具体的に説明することにする(S540)。
まず、データバッファ362から選択された特定のページに対するページLSNがMAX_LSNである場合、これは選択されたページがフリーページリストにあってトランザクション内で新しく割り当てられたことを意味する。したがって、この場合、格納管理モジュール370は選択されたページをディスクモジュール380に記録する前に、先ずページLSN値を既に設定された任意のLSN値に変更する。この時、好ましくは変更されたLSN値は、システム内で発生した最も大きいLSN値である。データバッファ362から選択された特定のページに対するページLSNがMAX_LSNでない場合に、格納管理モジュール370は選択されたページのページLSNを変更させずにディスクモジュール380に記録する。
上記のような方法によって、バッファモジュール360に使用可能なバッファ空間が備えられれば、バッファ管理モジュール350は要請されたページが新しく割り当てられなければならないページであるかを検査する(S545)。
要請されたページが新しく割り当てられなければならないページでない場合には、格納管理モジュール372は要請されたディスクページをバッファ管理モジュール350が指定したデータバッファ362にコピーし(S555)、インデックス/レコード/カタログ管理モジュール340は該当ページに対するデータ値の変更を行う(S560)。
S545のステップで要請されたページが新しく割り当てられなければならないページである場合には、新しく割り当てられるページに対する処理動作が行われるが(S550)、以下にて具体的に説明することにする。
まず、ページ使用管理モジュール372は、フリーページリスト内に利用可能なフリーページがある場合にはフリーページリスト内で新規ページを割り当て、そうではない場合には未完了フリーページリストからページを割り当てる。
この時、新しく割り当てられたページがフリーページリストに割り当てられた場合、該当ディスクページがデータバッファ362にロードされ、再びディスクモジュール380に記録される前までは該当ページに対するすべてのデータ値変更についてはログ情報を発生させない。そして、格納管理モジュール370は、ディスクモジュール380で該当ディスクページを読み込まず、バッファ管理モジュール350は指定されたバッファページに対するページLSN値をこのページがフリーページリストで新規割り当てられたページであることを意味するMAX_LSN値として設定する。
フリーページリスト内にフリーページが1つもなく、新規割り当てられたページが未完了フリーページリストから割り当てられた場合には、ディスクモジュール380から該当ページを指定されたバッファ空間に読み込む。
S560のステップでページが更新されれば、更新されたページに対するログ情報が処理される(S565)。
従来技術ではあるページに対するデータ値が更新される毎に必ずログ情報が生成されたが、本発明ではインデックス/レコード/カタログ管理モジュール340がS560のステップでデータ値を更新した後、該当ページに対するログ情報生成が必要であるか否かを判断する。より具体的にインデックス/レコード/カタログ管理モジュール340は、バッファモジュール360に存在する該当ページのページLSN値がMAX_LSNである場合には、ログ情報を生成しなくなる。
図6は、本発明の一実施形態によりディスクページを新しく割り当てる過程を示すフローチャートである。
図6を参照すれば、ページ使用管理モジュール372は、フリーページリストが空いているか否かを検査し(S610)、空いている場合には、未完了フリーページリストから一番目のページを選択して割り当てる(S620)。空いていない場合には、フリーページリストから一番目のページを選択して割り当てる(S630)。
図7は、本発明の一実施形態により新しく割り当てられたディスクページをバッファに搬入する過程を示すフローチャートである。
格納管理モジュール370は、要請を受けたページが新しく割り当てられるページであるかを検査し(S710)、新しく割り当てられるページである場合には、格納管理モジュール370は新しく割り当てられたページがフリーページリストに割り当てられたものか検査し(S720)、フリーページリストに割り当てられたページである場合には、データバッファ362の該当空間(即ち、ディスクページをロードするバッファモジュール360内のバッファページ)のページLSNをMAX_LSNに設定することによって(S730)、新しく割り当てられるディスクページをバッファモジュール360に搬入する過程が終了する。
しかし、S710のステップで新しく割り当てられるページではないか、S720のステップで新しく割り当てられたページがフリーページリストに割り当てられたものでない場合(例えば、新しく割り当てられたページが未完了フリーページリストで割り当てられた新規ページの場合)には、格納管理モジュール370は該当ディスクページをディスクモジュール380から読み込んだ後、バッファモジュール360のデータバッファ362にロードする。
図7のような動作を行うために、格納管理モジュール370はバッファモジュール360を管理するバッファ管理モジュール350と通信を行うようになる。
図8は、本発明の一実施形態によりバッファ内のページをディスクに搬出する過程を示すフローチャートである。
図8を参照すれば、格納管理モジュール370は、ディスクモジュール380に記録するページのページLSNがMAX_LSNであるかを検査する(S810)。この時、MAX_LSNの場合には、ページLSNを既に設定されたLSNに変更し(S820)、バッファモジュール360のデータバッファ362内で要請されたバッファページをディスクモジュール380に記録する(S830)。S810のステップでMAX_LSNでない場合には、バッファモジュール360のデータバッファ362内で要請されたバッファページをディスクモジュール380に記録する(S830)。
図8のような動作を行うために、格納管理モジュール370はバッファモジュール360を管理するバッファ管理モジュール350と通信を行うようになる。
図9は、本発明の一実施形態によりフリーページリストと未完了フリーページリストとの更新過程を示す例示図であって、このような更新過程は格納管理モジュール370のページ使用管理モジュール372によって行われる。
まず最初に、フリーページリストに5個のフリーページがあり、未完了フリーページリストは空いていることを示している(S910)。未完了フリーページリストが空いているとは、現在完了していないトランザクションから削除したディスクページが無いことを意味する。
ページ#1とページ#3とが削除されれば、ページ#1とページ#3とは未完了フリーページリストに入り、フリーページリストには変化がない(S920)。
次に、5個のディスクページが割り当てられれば、先ずフリーページリストにあるページから割り当てられるため、フリーページリストは空くようになり、未完了フリーページリストには変化がない(S930)。
次に、1個のページがさらに割り当てられれば、今は未完了フリーページリストからページ#3を割り当てる。その結果、未完了フリーページリストにはページ#1だけがフリーページとして残る(S940)。
最後に、ページ#1とページ#3とを削除したトランザクションが完了した後には、未完了フリーページリストのフリーページがフリーページリストに併合される。その結果、フリーページリストは、未完了フリーページリストにあったページ#1を有するようになり、未完了フリーページリストは空いているようになる(S950)。
図10は、本発明の一実施形態に係る実験結果を示すグラフであって、3000個のレコードを新しく挿入した時の処理速度を比較している。
この時、1つのレコードは、11個のフィールドから構成され、11個のフィールドのうち9個のフィールドをインデックスとし、1つのレコードの大きさは210バイトとした。
図10を参照すれば、従来技術に係わる場合には、3000個のレコードを新しく挿入する場合に約25秒を必要としたが、本発明に係わる場合には約10秒を必要とし、挿入性能が約2.5倍向上したことが分かる。また、本発明によりログ情報の量が減少したので復旧時所要時間も約1/50で減少した。
以上、添付した図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野で通常の知識を有する者であれば、本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態によって実施することができるということを理解できる。したがって、以上で記述した実施形態はすべての面で例示的なものであり、限定的なものではないことを理解しなければならない。
従来技術に係るログ情報管理システムの構成を示すブロック図である。 従来技術に係る一般的なログレコードの構造を示す例示図である。 本発明の一実施形態に係るログ情報管理システムの構成を示すブロック図である。 本発明の一実施形態に係る更新トランザクション過程を示すフローチャートである。 本発明の一実施形態によりデータを更新する過程を具体的に示すフローチャートである。 本発明の一実施形態によりディスクページを新しく割り当てる過程を示すフローチャートである。 本発明の一実施形態により新しく割り当てられたディスクページをバッファに搬入する過程を示すフローチャートである。 本発明の一実施形態によりバッファ内のページをディスクに搬出する過程を示すフローチャートである。 本発明の一実施形態によりフリーページリストと未完了フリーページリストとの更新過程を示す例示図である。 本発明の一実施形態に係る実験結果を示すグラフである。
符号の説明
300 ログ情報管理システム
310 トランザクション管理モジュール
320 復旧管理モジュール
330 ログ管理モジュール
340 インデックス/レコード/カタログ管理モジュール
350 バッファ管理モジュール
370 格納管理モジュール
390 アプリケーション

Claims (11)

  1. バッファ上の更新されるページが新しく割り当てられるページであるか否かを判断するインデックス/レコード/カタログ管理手段と、
    フリーページのリストと未完了フリーページのリストとを管理して、前記更新されるページが新しく割り当てられるページである場合、前記フリーページのリストまたは前記未完了フリーページのリストから新規ページを割り当てる格納管理手段であって、前記フリーページは、データが新しく割当可能なページであり、前記未完了フリーページは、まだ完了しない任意のトランザクション内で削除されたページであり、前記新規ページは、前記フリーページのリストで使用可能なフリーページを割り当て、前記フリーページのリストに使用可能なフリーページがない時には、前記未完了フリーページのリストから前記フリーページを割り当てる格納管理手段と、
    前記新規ページに対応するバッファページに対する識別情報を設定するバッファ管理手段であって、ージログシーケンス番号を前記識別情報とするバッファ管理手段とを含み、
    前記バッファページに対するデータ値変更については、ディスクのログファイル上に格納されるログ情報が発生しないログ情報管理システム。
  2. 前記バッファ管理手段は、前記識別情報に、生成可能な最も大きいページログシーケンス番号を含める請求項1に記載のログ情報管理システム。
  3. 前記新規ページは、前記フリーページのリストから割り当てられる請求項1に記載のログ情報管理システム。
  4. 前記新規ページが前記未完了フリーページのリストから割り当てられた場合には前記格納管理手段が前記ディスクから該当ページを指定された、前記ディスク上のバッファ空間に読み込む請求項1に記載のログ情報管理システム。
  5. 前記バッファ管理手段によって管理される、前記ディスク上のバッファで任意のページに対するページログシーケンス番号が、生成可能な最も大きい既に設定された値に該当する場合、前記格納管理手段は前記ページを前記ディスクに記録する前に前記ページログシーケンス番号の値を既に設定された任意のページログシーケンス番号に変更する請求項1に記載のログ情報管理システム。
  6. 前記インデックス/レコード/カタログ管理手段は、前記バッファ管理モジュールによって管理される、前記ディスク上のバッファにあるページに対するページログシーケンス番号が、生成可能な最も大きい既に設定された値に該当する場合に、データ値が更新されたページに対するログ情報を生成しない請求項1に記載のログ情報管理システム。
  7. インデックス/レコード/カタログ管理手段、格納管理手段、及びバッファ管理手段を含むシステムが行うログ情報管理方法であって、
    バッファ上の更新されるページが新しく割り当てられるページであるか否かを前記インデックス/レコード/カタログ管理手段によって判断する(a)ステップと、
    前記更新されるページが新しく割り当てられるページである場合、フリーページのリストまたは未完了フリーページのリストから新規ページを前記格納管理手段によって割り当てる(b)ステップであって、 前記フリーページは、データが新しく割当可能なページであり、前記未完了フリーページは、まだ完了しない任意のトランザクション内で削除されたページであり、前記新規ページは、前記フリーページのリストで使用可能なフリーページを割り当て、前記フリーページのリストに使用可能なフリーページがない時には、前記未完了フリーページのリストから前記フリーページを割り当てるステップと、
    前記新規ページに対応するバッファページに対する識別情報を前記バッファ管理手段によって設定する(c)ステップとを含み、ージログシーケンス番号を前記識別情報とし
    前記バッファページに対するデータ値変更については、ディスクのログファイル上に格納されるログ情報が発生しないログ情報管理方法。
  8. 前記(c)ステップは、前記識別情報に、生成可能な最も大きいページログシーケンス番号を前記バッファ管理手段によって含めるステップを含む請求項7に記載のログ情報管理方法。
  9. 前記(b)ステップは、前記新規ページが前記未完了フリーページのリストから割り当てられた場合に前記割り当てられた新規ページがディスクから指定された、前記ディスク上のバッファ空間に前記格納管理手段によってロードされるステップを含む請求項7に記載のログ情報管理方法。
  10. 前記バッファページに対するページログシーケンス番号が、生成可能な最も大きい既に設定された値に該当する場合、前記バッファページをディスクに記録する前に前記ページログシーケンス番号の値を既に設定された任意のページログシーケンス番号に前記格納管理手段によって変更する(d)ステップをさらに含む請求項7に記載のログ情報管理方法。
  11. 前記バッファページに対するページログシーケンス番号が、生成可能な最も大きい既に設定された値に該当する場合、前記バッファページに対するログ情報を前記格納管理手段によって生成しない(d)ステップをさらに含む請求項7に記載のログ情報管理方法。
JP2007000560A 2006-01-10 2007-01-05 トランザクション処理のためのログ情報管理システムおよび方法 Expired - Fee Related JP4916892B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060002867A KR100781515B1 (ko) 2006-01-10 2006-01-10 트랜잭션 처리를 위한 로그 정보 관리 시스템 및 방법
KR10-2006-0002867 2006-01-10

Publications (2)

Publication Number Publication Date
JP2007188497A JP2007188497A (ja) 2007-07-26
JP4916892B2 true JP4916892B2 (ja) 2012-04-18

Family

ID=37983501

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007000560A Expired - Fee Related JP4916892B2 (ja) 2006-01-10 2007-01-05 トランザクション処理のためのログ情報管理システムおよび方法

Country Status (5)

Country Link
US (1) US7849060B2 (ja)
EP (1) EP1806668B1 (ja)
JP (1) JP4916892B2 (ja)
KR (1) KR100781515B1 (ja)
CN (1) CN100511235C (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140483B2 (en) * 2007-09-28 2012-03-20 International Business Machines Corporation Transaction log management
US8108356B2 (en) * 2007-12-24 2012-01-31 Korea Advanced Institute Of Science And Technology Method for recovering data in a storage system
JP5250871B2 (ja) * 2008-12-24 2013-07-31 インターナショナル・ビジネス・マシーンズ・コーポレーション ムラ評価装置、ムラ評価方法、ディスプレイ検査装置、およびプログラム
US9612954B2 (en) * 2008-12-31 2017-04-04 Micron Technology, Inc. Recovery for non-volatile memory after power loss
KR101587995B1 (ko) 2009-10-28 2016-01-22 삼성전자주식회사 적응적 로깅 장치 및 방법
US8266126B2 (en) * 2010-03-24 2012-09-11 Matrixx Software, Inc. System with multiple conditional commit databases
US9195578B2 (en) * 2012-08-24 2015-11-24 International Business Machines Corporation Systems, methods and computer program products memory space management for storage class memory
US9478271B2 (en) * 2013-03-14 2016-10-25 Seagate Technology Llc Nonvolatile memory data recovery after power failure
US20170235781A1 (en) * 2016-02-16 2017-08-17 TmaxData Co., Ltd. Method, server and computer program stored in computer readable medium for managing log data in database
CN108446203A (zh) * 2018-03-20 2018-08-24 万帮充电设备有限公司 服务器事务日志处理方法及装置
US20200050692A1 (en) * 2018-08-10 2020-02-13 Microsoft Technology Licensing, Llc Consistent read queries from a secondary compute node
CN115328878B (zh) * 2022-10-17 2023-04-07 成都卫士通信息产业股份有限公司 日志数据存储系统、方法、设备及介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01261745A (ja) 1988-04-08 1989-10-18 Internatl Business Mach Corp <Ibm> データ・ベース・レコードのトランザクシヨンの回復方法
JPH04148250A (ja) 1990-10-08 1992-05-21 Toshiba Corp オンライントランザクションシステム
JP2631185B2 (ja) * 1993-02-19 1997-07-16 日本電信電話株式会社 データベースバックアップ方法
US5455946A (en) * 1993-05-21 1995-10-03 International Business Machines Corporation Method and means for archiving modifiable pages in a log based transaction management system
JPH07175700A (ja) * 1993-12-20 1995-07-14 Fujitsu Ltd データベース管理方式
JPH08249217A (ja) * 1995-03-15 1996-09-27 Toshiba Corp キャッシュ管理装置
AU6500596A (en) * 1995-07-20 1997-02-18 Novell, Inc. Transaction log management in a disconnectable computer and network
US5903898A (en) * 1996-06-04 1999-05-11 Oracle Corporation Method and apparatus for user selectable logging
US6738790B1 (en) 1997-10-31 2004-05-18 Oracle International Corporation Approach for accessing large objects
US6185663B1 (en) * 1998-06-15 2001-02-06 Compaq Computer Corporation Computer method and apparatus for file system block allocation with multiple redo
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
JP2000339183A (ja) * 1999-05-25 2000-12-08 Nec Corp ワークエリアのデータセット管理方式
KR20010055981A (ko) * 1999-12-13 2001-07-04 오길록 안전기억장치를 이용한 주기억장치 상주형 데이터베이스회복 방법
US6571259B1 (en) * 2000-09-26 2003-05-27 Emc Corporation Preallocation of file system cache blocks in a data storage system
KR20020030223A (ko) 2000-10-16 2002-04-24 주식회사 알라딘소프트 주기억장치 데이터베이스 시스템에서 고성능 트랜잭션을지원하기 위한 로깅 및 회복 방법
KR20020037399A (ko) 2000-11-14 2002-05-21 구자홍 데이터베이스 관리시스템의 트랜잭션처리방법
US20020103815A1 (en) 2000-12-12 2002-08-01 Fresher Information Corporation High speed data updates implemented in an information storage and retrieval system
CA2370601A1 (en) * 2002-02-05 2003-08-05 Ibm Canada Limited-Ibm Canada Limitee Optimizing log usage for temporary objects
US6721765B2 (en) 2002-07-02 2004-04-13 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions
JP4139642B2 (ja) * 2002-07-29 2008-08-27 株式会社日立製作所 データベース管理方法およびシステム
US7747565B2 (en) * 2005-12-07 2010-06-29 Microsoft Corporation Garbage collector support for transactional memory

Also Published As

Publication number Publication date
CN100511235C (zh) 2009-07-08
CN101000630A (zh) 2007-07-18
EP1806668B1 (en) 2011-07-06
KR100781515B1 (ko) 2007-12-03
JP2007188497A (ja) 2007-07-26
US7849060B2 (en) 2010-12-07
KR20070074836A (ko) 2007-07-18
EP1806668A3 (en) 2008-06-18
US20070174355A1 (en) 2007-07-26
EP1806668A2 (en) 2007-07-11

Similar Documents

Publication Publication Date Title
JP4916892B2 (ja) トランザクション処理のためのログ情報管理システムおよび方法
US7107294B2 (en) Method and apparatus for interrupting updates to a database to provide read-only access
US5561795A (en) Method and apparatus for audit trail logging and data base recovery
JP3763992B2 (ja) データ処理装置及び記録媒体
US8024507B2 (en) Transaction-safe FAT file system improvements
US8103840B2 (en) Snapshot mechanism and method thereof
US7640276B2 (en) Backup system, program and backup method
US20060236049A1 (en) Remote copy system and remote copy method
EP2590078B1 (en) Shadow paging based log segment directory
JP2006268503A (ja) 計算機システム、ディスク装置およびデータ更新制御方法
JPH1063555A (ja) ファイル管理方法
JP6445049B2 (ja) ログの管理方法及び計算機システム
US6754842B2 (en) Facilitating a restart operation within a data processing system
JP2006268139A (ja) データ複製装置、方法及びプログラム並びに記憶システム
US8019953B2 (en) Method for providing atomicity for host write input/outputs (I/Os) in a continuous data protection (CDP)-enabled volume using intent log
US20090157767A1 (en) Circular log amnesia detection
KR101738965B1 (ko) 가비지 컬렉션 저널링 장치 및 방법
US6684308B2 (en) Method and system for providing direct access recovery using seekable tape device
US10452496B2 (en) System and method for managing storage transaction requests
CN114780489A (zh) 一种实现分布式块存储底层gc的方法及装置
JPS58223857A (ja) 計算装置の動作方法
JPH0816881B2 (ja) データベース更新方法
US20210034580A1 (en) Method, apparatus and computer program product for maintaining metadata
JP2862431B2 (ja) 情報処理システム
CN113190332A (zh) 用于处理元数据的方法、设备和计算机程序产品

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100609

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101117

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101122

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111201

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120125

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

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4916892

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees