(57)【特許請求の範囲】
【請求項１】
１つのトランザクション内において１のデータ更新処理毎に入力され更新前のデータイメージと更新後のデータイメージとを含むデータ更新情報であるログ情報が入力される入力モジュールと、
前記更新後のデータイメージを格納領域に格納する格納領域モジュールと、
データ更新処理されたデータの存在するページ領域が、１つのトランザクション内に複数回データ更新処理されるページ領域であるホットスポットとして予め指定された領域に該当する場合、当該ホットスポットをホットスポットの管理目録に登録するとともに、前記入力されたログ情報に基づいて当該ホットスポット内において更新された前記更新後のデータイメージが格納された前記格納領域を示すアドレス情報を当該ホットスポットの管理目録に記録することにより、当該更新後のデータイメージをホットスポットの管理目録内で管理する制御モジュールと、
データ更新処理されたデータの存在するページ領域が前記ホットスポットである場合、前記ホットスポットに対するログ情報に基づいて、最初の更新前のデータイメージのみを含む１つのログレコードと、最後の更新後のデータイメージのみを含む１つのログレコードとを生成し、データ更新処理されたデータの存在するページ領域が前記ホットスポットでない場合、前記ログ情報に基づいて、前記更新前のデータイメージ及び前記更新されたデータイメージを含むログレコードをデータ更新処理毎に生成するログレコード生成モジュールと、
前記生成されたログレコードをログバッファに記録するログバッファ管理モジュールとを含むが、
前記ホットスポットとして予め指定された領域に該当する場合とは、前記入力されたログ情報にホットスポットに該当することを示すフラグを含む場合、又は設定ファイルにどの領域がホットスポットに該当するか予め設定された場合であり、
前記制御モジュールは、データ更新処理されたデータの存在するページ領域が前記ホットスポットであって当該ホットスポットが前記ホットスポットの管理目録に既に登録されている場合、登録されているホットスポット内において既に記録されているデータイメージが格納された前記格納領域を示すアドレス情報を、前記更新後のデータイメージが格納された前記格納領域を示すアドレス情報に切り替えるログ情報管理システム。
【請求項２】
前記ホットスポットの管理目録は、ページ情報と、ページオフセット情報と、データ長情報とを含む請求項１に記載のログ情報管理システム。
【請求項３】
前記ログ情報は、トランザクション識別子情報と、ログレコードタイプ情報と、ページ情報と、ページオフセット情報と、データ長情報と、以前のデータイメージ情報と、新規データイメージ情報とを含む請求項１に記載のログ情報管理システム。
【請求項４】
トランザクションの完了を要請するメッセージが入力される入力モジュールと、
前記ホットスポットの管理目録にホットスポットが登録された場合、登録されたホットスポットにおいて更新された更新後のデータイメージが格納された前記格納領域を示すアドレス情報を抽出して提供する制御モジュールと、
前記アドレス情報に基づいて更新されたデータイメージを含むログレコードおよび前記トランザクションの完了を示すログレコードを生成するログレコード生成モジュールと、
前記生成されたログレコードを記録するログバッファ管理モジュールとを含む請求項１ないし３いずれか一項記載のログ情報管理システム。
【請求項５】
ログ情報管理システムにおけるログ情報管理方法であって、
１つのトランザクション内において１のデータ更新処理毎に入力され更新前のデータイメージと更新後のデータイメージとを含むデータ更新情報であるログ情報が入力される（ａ）ステップと、
データ更新処理されたデータの存在するページ領域が、１つのトランザクション内に複数回データ更新処理されるページ領域であるホットスポットとして予め指定された領域に該当する場合、当該ホットスポットをホットスポットの管理目録に登録するとともに、前記入力されたログ情報に基づいて当該ホットスポット内において更新された前記更新後のデータイメージが格納された格納領域を示すアドレス情報をホットスポットの管理目録に記録することにより、当該更新後のデータイメージをホットスポットの管理目録内で管理する（ｂ）ステップと、
データ更新処理されたデータの存在するページ領域が前記ホットスポットである場合、前記ホットスポットに対するログ情報に基づいて、最初の更新前のデータイメージのみを含む１つのログレコードと、最後の更新後のデータイメージのみを含む１つのログレコードとを生成し、データ更新処理されたデータの存在するページ領域が前記ホットスポットでない場合、前記ログ情報に基づいて、前記更新前のデータイメージ及び前記更新されたデータイメージを含むログレコードをデータ更新処理毎に生成する（ｃ）ステップと、
前記生成されたログレコードをログバッファに記録する（ｄ）ステップとを含むが、
前記ホットスポットとして予め指定された領域に該当する場合とは、前記入力されたログ情報にホットスポットに該当することを示すフラグを含む場合、又は設定ファイルにどの領域がホットスポットに該当するか予め設定された場合であり、
（ｂ）ステップは、データ更新処理されたデータの存在するページ領域が前記ホットスポットであって当該ホットスポットが前記ホットスポットの管理目録録に既に登録されている場合、登録されているホットスポット内において既に記録されているデータイメージが格納された前記格納領域を示すアドレス情報を、前記更新後のデータイメージが格納された前記格納領域を示すアドレス情報に切り替えるステップを含むログ情報管理方法。
【請求項６】
前記ホットスポットの管理目録は、ページ情報と、ページオフセット情報と、データ長情報とを含む請求項５に記載のログ情報管理方法。
【請求項７】
前記ログ情報は、トランザクション識別子情報と、ログレコードタイプ情報と、ページ情報と、ページオフセット情報と、データ長情報と、以前のデータイメージ情報と、新規データイメージ情報とを含む請求項５に記載のログ情報管理方法。
【請求項８】
トランザクションの完了を要請するメッセージが入力されるステップと、
前記ホットスポットの管理目録にホットスポットが登録された場合、登録されたホットスポットにおいて更新された更新後のデータイメージが格納された前記格納領域を示すアドレス情報を抽出して提供するステップと、
前記アドレス情報に基づいて更新されたデータイメージを含むログレコードおよび前記トランザクションの完了を示すログレコードを生成するステップと、
前記生成されたログレコードを記録するステップとを含む請求項５ないし７いずれか一項に記載のログ情報管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース管理システムにおけるログ情報管理に関し、より詳しくは、多くの更新が発生するデータ領域に対する情報を別に管理することによって、繰り返し生成されるログ情報を最小化するログ情報管理システムおよび方法に関するものである。
【背景技術】
【０００２】
データベース管理システムにおける「ログ」または「ロギング」とは、一般的にアプリケーションプログラムが行う作業によって変更中であるデータが、システム異常またはユーザの不注意によって正常な値を有し得なくなることを防止するために、変更前の状態のデータを別に格納することを意味する。
【０００３】
このようなロギングによりデータベース管理システムは、取り消しまたは復旧作業を行うことで、非正常的に終了したアプリケーションプログラムによって操作中であったデータを本来の正常な状態に戻せるようになる。
【０００４】
図１は、従来技術によって上記のようなロギング作業を行うためのロギングシステムを示す例示図である。
【０００５】
図１を参照すれば、従来のロギングシステム１００は、ログ情報入力部１１０、ログレコードの生成部１２０、ログ要請入力部１３０、ログバッファ管理部１４０、およびログバッファ部１５０を含み、ロギングシステム１００は「ログ管理者」と呼ばれることもある。
【０００６】
従来のロギングシステム１００は、ロギングシステム１００を含むシステム内の他のプログラムモジュールで行ったデータ更新作業に対する情報がログ情報入力部１１０を介して入力される。
【０００７】
そして、ログレコードの生成部１２０は、必要な情報をさらに設定してログレコードを生成する。生成されたログレコードは、ログバッファ管理部１４０によってログバッファ１５０に記録され、この場合ログレコードが生成された順に記録される。
【０００８】
また、ロギングシステム１００のログ要請入力部１３０は、他のモジュールからログ要請メッセージ（例：トランザクション終了）を受信して、ログバッファ管理部１４０に伝達する。ログバッファ管理部１４０は、伝えられたログ要請メッセージに基づいて、ログバッファ１５０に格納されたログレコードをログファイルに記録する。
【０００９】
ログファイルに記録されたログレコードとログバッファ１５０に記録されたログレコードに基づいて、アプリケーションプログラムの非正常的な終了やシステムの故障からデータが安定して復旧されるようになる。
【００１０】
ログレコードは、データを元の状態に復旧するために必要な最小限の重要な情報（またはデータ）を維持するが、図２は、従来技術に係わる一般的なログレコードの構造を示している。
【００１１】
図２を参照すれば、ログレコード２００は、以前のログレコードのログシーケンス番号、以下「ＬＳＮ」と称する）フィールド２０１、トランザクション識別子フィールド２０２、ログレコードタイプフィールド２０３、ページ番号フィールド２０４、ページオフセットフィールド２０５、データ長フィールド２０６、以前のデータイメージフィールド２０７、新規データイメージフィールド２０８、および次に無効にするログレコードのＬＳＮフィールド２０９を含む。以下、ログ諸コード２００に含まれるこのような情報を「ログ情報」という。
【００１２】
以前のログレコードのＬＳＮフィールド２０１は、以前に記録されたログレコードを識別するための番号を示す。
【００１３】
トランザクション識別子フィールド２０２は、ロギングを行うトランザクションの識別子を示す。
【００１４】
ログレコードタイプフィールド２０３は、ログレコードの種類を示すフィールドとして、「更新演算」、「トランザクションの開始または終了演算」などのように、発生した演算ごとに他のタイプを有するようになる。
【００１５】
ページ番号フィールド２０４は更新演算が発生した時に修正されたデータが格納されたページの番号を示し、ページオフセットフィールド２０５は更新演算が発生した時に修正されたデータが格納されたページ内の開始位置を示し、データ長フィールド２０６は更新演算の対象となるデータの大きさを示す。
【００１６】
以前のデータイメージフィールド２０７は更新演算が行われる以前のデータ値を示し、新規データイメージフィールド２０８は更新を行って変更された後のデータ値を示す。
【００１７】
次に無効にするログレコードのＬＳＮフィールド２０９は、取り消しまたは復旧作業時に、次の復旧作業の対象となるログレコードを識別するための番号を示す。
【００１８】
図２に示すログレコード２００の構造は、ロギングを用いるシステムによって差があり得るが、基本的な構成と意味は類似する。
【００１９】
図３Ａおよび図３Ｂは、従来技術によりロギング作業が行われる過程およびトランザクションが取り消される過程を示す例示図であって、図３Ａおよび図３Ｂに示すログバッファまたはログファイルのログレコード構造は、図２に示したログレコードの構造に従う。ただし、図３Ａおよび図３Ｂにおけるログレコード構造では、図２のログレコード構造のうちデータ長フィールド２０６は省略されており、各々のログレコードの前に表示された数字は各々のログレコードを区別するための識別番号に該当する。
【００２０】
ロギング作業を行うために、他のモジュールは、トランザクション実行過程で発生する更新作業の結果として「更新前のデータイメージ」と「更新後のデータイメージ」とをロギングシステム１００のログ情報入力部１１０に伝達する。
【００２１】
ログレコードの生成部１２０は入力された２つのデータイメージ情報に基づいてログレコードを生成し、ログバッファ管理部１４０は生成されたログレコードをログバッファ１５０に記録する。
【００２２】
生成されるすべてのログレコードはログバッファ１５０に順次記録され、記録されるログレコードのＬＳＮの値は昇順で割り当てられる。このように、ログバッファ１５０に記録されたログレコードは、ログバッファが一杯であったり、ログレコードに対する「ディスク書き込み要請」が発生したりした時にログファイルに記録される。
【００２３】
このように、他のモジュールから発生するすべての更新演算に対するログレコードは順次ログファイルに記録され、ロギングシステム１００はアプリケーションプログラムの取り消し要請やシステム復旧要請が発生した時に、ログファイルを読み込んで取り消し作業を行う。
【００２４】
先ず、図３Ａを参照してロギング作業が行われる過程を説明することにするが、ここでトランザクションＴ１は、３つのデータページＰ１，Ｐ２，Ｐ３に対する更新作業を行うものと仮定する。
【００２５】
各データページに対して更新演算が発生する度に、データページ内の該当領域は新しい値に修正される。最初のログレコードは、データページＰ１内の５０バイト位置に記録されていた「ＢＢＢ」という値を「ＡＡＡ」に修正したことを示している。
【００２６】
以降に記録されたログレコードも各々対応するデータページの特定オフセットに格納されていた値を新しい値に修正したことを示している。
【００２７】
特に、データページＰ１の５０バイト位置に記録されたデータは、４回の修正が発生し、修正が発生する度に対応するログレコードが生成されたことが分かる。このように、すべての更新作業に対して、ロギングシステム１００はログレコードを生成するようになり、これを順次ログバッファ１５０またはログファイルに記録する。
【００２８】
一方、図３Ｂではトランザクションが取り消される過程を示しているが、図３Ａのような更新作業が発生した状況で、トランザクションＴ１が正常に完了することができなかったと仮定する。
【００２９】
この場合、トランザクションＴ１が修正したすべてのデータを本来の正常な値に復旧するために、ログバッファ１５０またはログファイルに記録されたトランザクションＴ１に対するすべてのログレコードを逆順に読み込みながら、各ログレコードに記録された以前のデータイメージで該当データページ内のデータ値を修正する。その結果、該当データページＰ１、Ｐ２、Ｐ３において更新されたすべての領域は、トランザクションＴ１が行われる以前の状態の値に復旧する。このような過程で、データページＰ１の５０バイト位置にある値は、「ＥＥＥ」から４回の更新以前の値である「ＢＢＢ」に修正される。
【００３０】
前以て言及したように、他のモジュールで行ったすべての更新作業に対してロギングシステム１００はログレコードを生成し、これを順次ログに記録する。したがって、アプリケーションによって頻繁な修正作業が発生する特定のデータページやデータページ内の特定領域に対しても繰り返し新しいログレコードを生成するようになる。このように、多くの修正が発生するデータ領域を以下では「ホットスポット」と称することにする。
【００３１】
ホットスポットは、システム内の多くの領域に亘って表れることがあり、その大きさも非常に多様となり得る。したがって、１つの単位作業（トランザクション）を行う間に発生するホットスポットに対するログレコードの数は、非常に大きくなり得る。これは、システムを運営する間、ログの大きさを非常に大きく作ることができて、継続的なログレコードの生成によってページ入出力を増加させることによりリアルタイムシステム性能を低下させる可能性がある。
【００３２】
また、アプリケーションに対する取り消し作業やシステム復旧作業を行う過程において、ホットスポットに対して生成されたすべてのログレコードを用いてデータを本来の状態に復旧するため、システムのラン−タイム性能と復旧性能を低下させる可能性がある。
【００３３】
例えば、図３Ｂに示した過程において、データページＰ１の５０バイト位置にある値を復旧するために、１０９，１０６，１０３で識別される３つのログレコードに対する作業は不要な作業である。すなわち、最後に読み込んだ１００で識別されるログレコードだけを行えば本来の値に復旧できるのである。
【００３４】
一方、デジタルＣＥ装置のように多様なエンベデッドシステムが増加するにつれて、エンベデッドシステムに格納されたユーザデータに対する安定した管理の必要性が非常に高まっている。システム内に格納されたデータは、ユーザの不注意やアプリケーションプログラムの非正常的な動作、または電源が終了するなどの状況によって、正常な状態の値に維持されない可能性もある。したがって、このような状況でも安定して正常なデータを維持するためのデータ復旧システムは大変重要なシステム構成要素である。しかし、上記のような従来技術に基づくロギング基盤データ復旧システムはリソースが限定されたエンベデッドシステムが要求する応答時間と性能を保障しにくい。
【００３５】
したがって、従来のロギング基盤データ復旧システムにおけるログ情報管理方法を改善する必要が生じるようになった。
【特許文献１】韓国公開特許第１０−２００５−００５２０１６号公報
【発明の開示】
【発明が解決しようとする課題】
【００３６】
本発明は、ホットスポットに対して繰り返し生成されるログ情報を最小化するシステムおよび方法を提供することを目的とする。
【００３７】
また、本発明は、ホットスポットに対する情報を別に管理することによって、データ復旧性能を高められるログ情報管理システムおよび方法を提供することを目的とする。
【００３８】
本発明の目的は以上で言及した目的に制限されず、言及していないまた他の目的は下記記載によって当業者が明確に理解できるものである。
【課題を解決するための手段】
【００３９】
前記目的を達成するために、本発明の一態様に係るログ情報管理システムは、データ更新に対するログ情報が入力される入力モジュールと、前記更新されたデータが存在するページ領域がホットスポットである場合、前記入力されたログ情報に基づいて更新されたデータイメージを格納する制御モジュールとを含むが、前記制御モジュールは、所定のホットスポットの管理情報を含むホットスポットの管理目録を管理して、前記更新されたデータイメージが格納された格納領域を示すアドレス情報が前記ホットスポットの管理目録に記録される。
【００４０】
また、前記目的を達成するために、本発明の他の態様に係るログ情報管理システムは、トランザクションの完了を要請するメッセージが入力される入力モジュールと、所定のホットスポットの管理情報で構成されるホットスポットの管理目録にホットスポットが登録された場合、登録されたホットスポットの管理情報を抽出して提供する制御モジュールと、前記提供されていたホットスポットの管理情報に基づいて更新されたデータイメージを含むログレコードおよび前記トランザクションの完了を示すログレコードを生成するログレコード生成モジュールと、前記生成されたログレコードを記録するログバッファ管理モジュールとを含む。
【００４１】
また、前記目的を達成するために、本発明のまた他の態様に係るログ情報管理システムは、トランザクションの取り消しを要請するメッセージが入力される入力モジュールと、所定のホットスポットの管理情報で構成されるホットスポットの管理目録にホットスポットが登録された場合、登録されたホットスポットの管理情報を削除する制御モジュールと、前記トランザクションの取り消しを示すログレコードを生成するログレコード生成モジュールと、前記生成されたログレコードを記録するログバッファ管理モジュールとを含む。
【００４２】
また、前記目的を達成するために、本発明のまた他の態様に係るログ情報管理方法は、データ更新に対するログ情報が入力される（ａ）ステップと、前記更新されたデータが存在するページ領域がホットスポットである場合、前記入力されたログ情報に基づいて更新されたデータイメージを格納する（ｂ）ステップとを含むが、前記更新されたデータイメージが格納された格納領域を示すアドレス情報は、所定のホットスポットの管理情報を含むホットスポットの管理目録に記録される。
【００４３】
また、前記目的を達成するために、本発明のまた他の態様に係るログ情報管理方法は、トランザクションの完了を要請するメッセージが入力される（ａ）ステップと、所定のホットスポットの管理情報で構成されるホットスポットの管理目録にホットスポットが登録された場合、登録されたホットスポットの管理情報を抽出して提供する（ｂ）ステップと、前記提供されていたホットスポットの管理情報に基づいて更新されたデータイメージを含むログレコードおよび前記トランザクションの完了を示すログレコードを生成する（ｃ）ステップと、前記生成されたログレコードを記録する（ｄ）ステップとを含む。
【００４４】
また、前記目的を達成するために、本発明のまた他の態様に係るログ情報管理方法は、トランザクションの取り消しを要請するメッセージが入力される（ａ）ステップと、所定のホットスポットの管理情報で構成されるホットスポットの管理目録にホットスポットが登録された場合、登録されたホットスポットの管理情報を削除する（ｂ）ステップと、前記トランザクションの取り消しを示すログレコードを生成する（ｃ）ステップ、および前記生成されたログレコードを記録する（ｄ）ステップとを含む。
【発明の効果】
【００４５】
本発明によれば、より効率的にログ情報を管理できる効果がある。
【００４６】
また、本発明によれば、ログ情報の大きさを減らすことができるためリソースが制限されたシステム環境において、より効率的にログ情報を管理できる効果がある。
【発明を実施するための最良の形態】
【００４７】
その他、実施形態の具体的な事項は、詳細な説明および図面に含まれている。
【００４８】
本発明の利点および特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述する実施形態を参照すれば明確になる。しかし、本発明は以下にて開示する実施形態に限定されず、互いに異なる多様な形態によって実施され、単に本実施形態は本発明の開示が完全なものとなるようにし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであって、本発明は請求項の範疇によってのみ定義されるものである。
【００４９】
以下、本発明の実施例によって、ログ情報を管理するためのシステムおよび方法を説明するためのブロック図または処理フローチャートに対する図面を参考にして、本発明について説明することにする。この時、処理フローチャートの各ブロックとフローチャートの組合せは、コンピュータプログラムインストラクションによって行われることが理解できる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータ、またはその他のプログラム可能なデータプロセシング装備のプロセッサに搭載することができるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備のプロセッサを介して行われるそのインストラクションが、フローチャートブロックで説明する機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定方式によって機能を具現するために、コンピュータまたはその他のプログラム可能なデータプロセシング装備が備えられるコンピュータによって利用可能または読み取り可能なメモリに格納されることも可能であるため、そのコンピュータによって利用可能または読み取り可能なメモリに格納されたインストラクションは、フローチャートブロックで説明する機能を行うインストラクション手段を含む製造品目の生産に用いることも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他のプログラム可能なデータプロセシング装備上に搭載することも可能であるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備上で一連の動作ステップが行われ、コンピュータで実行されるプロセスを生成して、コンピュータまたはその他のプログラム可能なデータプロセシング装備の機能を行うインストラクションは、フローチャートブロックで説明する各ステップの機能を実行することも可能である。
【００５０】
また、各ブロックは、特定された論理的機能を実行するための１つ以上の実行可能なインストラクションを含むモジュール、セグメントまたはコードの一部を示すことができる。また、複数の代替実行例では、ブロックで言及された機能が順序から外れて発生することも可能であることに注目しなければならない。例えば、連続して図示されている２つのブロックは、実質的に同時に行われることも可能で、またはそのブロックが時には該当する機能により逆順に行われることも可能である。
【００５１】
図４は、本発明の一実施形態に係るログ情報管理システムを示す例示図である。
【００５２】
図４を参照すれば、本発明に係るログ情報管理システム４００は、入力モジュール４１０、制御モジュール４２０、ログイメージ格納モジュール４３０、ログレコード生成モジュール４４０、ログバッファ管理モジュール４５０、およびログバッファモジュール４６０を含む。
【００５３】
この時、本実施形態で用いられる「モジュール」という用語は、ソフトウェアまたはＦＰＧＡまたはＡＳＩＣのようなハードウェア構成要素を意味し、モジュールはある役割を行う。ところが、モジュールは、ソフトウェアまたはハードウェアに限定される意味ではない。モジュールは、アドレッシングできる格納媒体にあるように構成することもでき、１つまたはそれ以上のプロセッサを再生させるように構成することもできる。したがって、一例としてモジュールはソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含む。構成要素とモジュールの中で提供されている機能は、さらに小さい数の構成要素およびモジュールに結合したり、追加的な構成要素とモジュールにさらに分離したりすることができる。それだけでなく、構成要素およびモジュールは、デバイスまたは保安マルチメディアカード内の１つまたはそれ以上のＣＰＵを再生させるように具現することもできる。
【００５４】
入力モジュール４１０は、ログ情報管理システム４００を含むシステム内の他のモジュールからデータ更新に対する情報またはログ要請メッセージに対する情報を受信する。ログ要請メッセージの例としてトランザクションの終了またはトランザクションの取り消し、データ復旧などがある。
【００５５】
制御モジュール４２０は、ホットスポットでデータに対する更新作業を管理するために図５に示すホットスポットの管理目録（ホットスポットコントロールリスト；ＨＳＣＬ）４２５を別に管理する。ホットスポットの管理目録４２５に対しては後述することにする。また、制御モジュール４２０は、ログレコード生成モジュール４４０、ログバッファ管理モジュール４５０と連動して、ホットスポットに対する管理作業を行うようになる。
【００５６】
ログイメージ格納モジュール４３０は、ホットスポットに対するログイメージを格納している。
【００５７】
入力モジュール４１０を介して、他のモジュールからデータ更新情報が入力されれば、制御モジュール４２０は更新されたデータがホットスポットに位置するデータであるか否かを検査する。更新されたデータがホットスポットに位置する場合には、制御モジュール４２０によって入力されたデータ更新情報が管理され、ホットスポットに位置しない場合には、入力されたデータ更新情報はログレコード生成モジュール４４０に伝えられる。
【００５８】
ログレコード生成モジュール４４０は、必要な情報をさらに設定してログレコードを生成する。生成されたログレコードは、ログバッファ管理モジュール４５０を介してログバッファモジュール４６０に記録され、この場合ログレコードが生成された順に記録される。
【００５９】
一方、他のモジュールからログ要請メッセージが入力モジュール４１０に入力されれば、メッセージ種類によって制御モジュール４２０、ログレコード生成モジュール４４０およびログバッファ管理モジュール４５０によって該当レコードが処理される。ログ要請メッセージに対するログレコード処理過程は、図７および図８で具体的に説明することにする。
【００６０】
図５は、本発明の一実施形態に係るホットスポット管理目録を示すテーブルであって、ログ情報管理システム４００はホットスポットに対する情報を管理するホットスポットの管理目録４２５の資料構造を維持する。
図５を参照すれば、ホットスポットの管理目録４２５は、ページ番号、オフセット、データ長、ポインタフィールドを有するテーブルの形態を有する。
【００６１】
ページ番号フィールドは更新演算が発生した時に修正されたデータが格納されたページの番号を示し、オフセットフィールドは更新演算が発生した時に修正されたデータが格納されたページ内の開始位置を示し、データ長フィールドは更新演算の対象となるデータの大きさを示す。そして、ポインタフィールドは、更新されたデータイメージが記録されたログイメージ格納モジュール４３０で該当データイメージが格納されたメモリ領域の開始アドレスを示す。
【００６２】
このように、制御モジュール４２０は、ホットスポットの管理目録４２５によってホットスポットが登録されたか、登録されたホットスポットに格納されている現在のデータイメージは何であるかを容易に把握できるようになる。
【００６３】
ログイメージ格納モジュール４３０で任意のホットスポットに対する更新されたイメージの大きさに該当する領域は、該当ホットスポットが登録される時に割り当てられ、該当ホットスポットがホットスポットの管理目録４２５から除去される時に返還される。
【００６４】
図６は、本発明の一実施形態に係るデータ更新時のログ情報管理方法を示すフローチャートである。
【００６５】
先ず、入力モジュール４１０は、他のモジュールからデータ更新情報のようなログ情報が入力される（Ｓ６１０）。この時、前記ログ情報は更新するデータページの識別情報、更新するデータに対するページ内のオフセット情報、更新するデータの大きさ、以前のデータイメージ（ビフォーイメージ）、更新された新規データイメージ（アフタイメージ）を含む。また、前記ログ情報は、データが更新されるページ内の領域がホットスポットに該当するか否かを知らせるタグ情報を含むことができる。この時、前記タグ情報は、他のモジュールが動作する過程で動的に生成されて提供され得る。
【００６６】
前記タグ情報が含まれない場合には、ログ情報管理システム４００を含むシステムが起動する時に用いられる設定ファイルにどの領域がホットスポットに該当するかを予め設定することができる。また、ログ情報管理システム４００の制御モジュール４２０にどの領域がホットスポットに該当するかを予め設定することもできる。
【００６７】
上記のような方法によって、制御モジュール４２０は、入力されたログ情報から更新するデータページの領域がホットスポットに該当するかを判断する（Ｓ６２０）。
【００６８】
ホットスポットに該当しない場合には、入力されたログ情報はログレコード生成モジュール４４０に伝えられ、ログレコード生成モジュール４４０は伝えられたログ情報、追加情報を用いて新しいログレコードを生成する（Ｓ６６０）。
【００６９】
ログバッファ管理モジュール４５０は、ログバッファモジュール４６０の状態を考慮して、ログバッファモジュール４６０に前記生成されたログレコードを追加することができる。ログバッファモジュール４６０に余裕空間がない場合には、ログバッファモジュール４６０に記録されたログレコードをログファイルに記録して空のログバッファモジュール４６０に前記生成されたログレコードを追加する（Ｓ６７０）。
【００７０】
ログバッファモジュール４６０に残った空間が前記生成されたログレコードの大きさより小さければ、残った空間の大きさほどログレコードを記録して、ログファイルに記録して残ったログレコード領域は空のログバッファモジュール４６０の開始位置から記録することができる。
【００７１】
一方、Ｓ６２０段階でホットスポットに該当する場合には、制御モジュール４２０はホットスポットの管理目録４２５に登録されたホットスポットであるか否かを判断する（Ｓ６３０）。
【００７２】
ホットスポットの管理目録４２５に登録されていない場合には、制御モジュール４２０が入力されたログ情報に基づいてホットスポットの管理目録４２５にページ番号、オフセット、データ長に対する情報を設定する。そして、ホットスポットのデータ長ほどの空間をログイメージ格納モジュール４３０に割り当て、新規データイメージを記録する（Ｓ６５０）。
【００７３】
ホットスポットの管理目録４２５に対する登録作業が完了した場合、制御モジュール４２０は入力されたログ情報をログレコード生成モジュール４４０に伝達する。ログレコード生成モジュール４４０は、伝えられたログ情報に基づいてログレコードを生成する（Ｓ６６０）。ただし、この場合には以前のデータイメージは含むが、新規データイメージ情報は含まないログレコードを生成する（Ｓ６６０）。
【００７４】
ログバッファ管理モジュール４５０は、ログバッファモジュール４６０の状態を考慮して、ログバッファモジュール４６０に前記生成されたログレコードを追加することができる。ログバッファモジュール４６０に余裕空間がない場合には、ログバッファモジュール４６０に記録されたログレコードをログファイルに記録して空のログバッファモジュール４６０に前記生成されたログレコードを追加する（Ｓ６７０）。
【００７５】
一方、Ｓ６３０段階で登録されたホットスポットである場合には、制御モジュール４２０はログイメージ格納モジュール４３０に格納されたデータイメージを新しく更新されたデータイメージに切り替える（Ｓ６４０）。そして登録されているホットスポットに対しては新しいログレコードを生成せずにロギング作業を終了する。
【００７６】
図７は、本発明の一実施形態に係るトランザクションの完了要請時のログ情報管理方法を示すフローチャートである。
【００７７】
入力モジュール４１０が他のモジュールからトランザクションの完了要請のようなログ要請メッセージが入力されれば（Ｓ７１０）、前記ログ要請メッセージを制御モジュール４２０に伝達する。制御モジュール４２０はホットスポットの管理目録４２５に登録されたホットスポットがあるか否かを検査して（Ｓ７２０）、登録されたホットスポットがない場合には、制御モジュール４２０は、ログレコード生成モジュール４４０にトランザクションの完了に関するログレコードを生成するように要請する。ログレコード生成モジュール４４０は、トランザクションの完了ログレコードを生成してログバッファ管理モジュール４５０に伝達する（Ｓ７７０）。ログバッファ管理モジュール４５０は、現在ログバッファモジュール４６０にあるすべてのログレコードをログファイルに記録する（Ｓ７８０）。
【００７８】
一方、Ｓ７２０段階でホットスポットの管理目録４２５にホットスポットが登録されていれば、制御モジュール４２０は各々のホットスポット登録情報に対して新規ログレコードを生成するようにログレコード生成モジュールに要請する（Ｓ７３０）。
【００７９】
ログレコード生成モジュール４４０は、ログイメージ格納モジュール４３０に格納された最終データイメージを用いて、新規データイメージは含むが以前のデータイメージは含まないログレコードを生成する（Ｓ７４０）。このような作業は、ホットスポットの管理目録４２５に登録されたすべてのホットスポット情報が処理される時まで繰り返される（Ｓ７５０）。
【００８０】
ホットスポットの管理目録４２５に登録されたすべてのホットスポットに対してログレコードが生成されれば、制御モジュール４２０はホットスポットの管理目録４２５に登録されたすべてのホットスポットに対する情報を削除してホットスポットの管理目録４２５を初期化し、ログイメージ格納モジュール４３０に格納されたデータイメージの格納領域を返還する（Ｓ７６０）。
【００８１】
そして、制御モジュール４２０は、ログレコード生成モジュール４４０にトランザクションの完了ログレコードを生成するように要請する（Ｓ７７０）。ログレコード生成モジュール４４０は、トランザクションの完了ログレコードを生成してログバッファ管理モジュール４５０に伝達する。ログバッファ管理モジュール４５０は、現在ログバッファモジュール４６０にあるすべてのログレコードをログファイルに記録する（Ｓ７８０）。結局、すべてのホットスポットに対して従来技術とは異なり１つの以前のデータイメージと１つの新規データイメージだけが記録される。
【００８２】
図８は、本発明の一実施形態に係るトランザクションの完了要請時のログ情報管理方法を示すフローチャートである。
【００８３】
入力モジュール４１０が他のモジュールからトランザクションの取り消し要請のようなログ要請メッセージが入力されれば（Ｓ８１０）、前記ログ要請メッセージを制御モジュール４２０に伝達する。制御モジュール４２０はホットスポットの管理目録４２５に登録されたホットスポットがあるか否かを検査して（Ｓ８２０）、登録されたホットスポットがない場合、制御モジュール４２０はログレコード生成モジュール４４０にトランザクションの取り消しに関するログレコードを生成するように要請する。
【００８４】
ログレコード生成モジュール４４０は、トランザクションの取り消しログレコードを生成して、生成されたトランザクションの取り消しログレコードをログバッファ管理モジュール４５０に伝達する（Ｓ８４０）。ログバッファ管理モジュール４５０は、生成されたトランザクションの取り消しログレコードをログバッファモジュールまたはログファイルに記録する（Ｓ８５０）。
【００８５】
一方、Ｓ８２０段階でホットスポットの管理目録４２５に登録されたホットスポットが存在する場合には、制御モジュール４２０は登録されたすべてのホットスポットに対する情報を削除してホットスポットの管理目録４２５を初期化する（Ｓ８３０）。
【００８６】
そして、制御モジュール４２０は、ログレコード生成モジュール４４０にトランザクションの取り消しログレコードを生成するように要請する。
【００８７】
ログレコード生成モジュール４４０は、トランザクションの取り消しログレコードを生成して、生成されたトランザクションの取り消しログレコードをログバッファ管理モジュール４５０に伝達する（Ｓ８４０）。ログバッファ管理モジュール４５０は、生成されたトランザクションの取り消しログレコードをログバッファモジュールまたはログファイルに記録する（Ｓ８５０）。
【００８８】
このようなトランザクションの取り消し作業を行うことによって、ホットスポットに関するすべてのログ情報を考慮する必要がないために、従来技術とは異なり、より効率的にトランザクションの取り消し作業を行えるようになる。
【００８９】
図９は、発明の他の実施例に係るデータ更新時のログ情報管理方法を示す例示図であって、更新作業が発生する間、ホットスポットに対する修正が発生すれば、どのように処理されるかを示している。
【００９０】
図９を参照すれば、データページＰ１のオフセット５０位置に格納されたデータがホットスポットの管理目録（Ｈｏｔ  Ｓｐｏｔ  Ｃｏｎｔｒｏｌ  Ｌｉｓｔ；ＨＳＣＬ）に登録されていると仮定する。この時、ログ情報が図９のように順次入力される時、本発明に係るログ情報管理システムは初めて入力されるホットスポット更新情報に対してＨＳＣＬにこれを登録する。そして、以前のデータイメージ（「ＢＢＢ」）だけ有するログレコードを生成する。しかし、以後に入力されるホットスポット更新情報（「ＣＣＣ」、「ＤＤＤ」、「ＥＥＥ」）に対しては、ＨＳＣＬに格納された新規データイメージだけを修正し続け、ログレコードを生成しない。
【００９１】
図１０は、本発明の他の実施例に係るトランザクションの完了要請時のログ情報管理方法を示す例示図である。
【００９２】
図９のような一連の更新作業が行われた後にトランザクションの完了要請が入力されれば、本発明に係るログ情報管理システムは、ＨＳＣＬに登録されているホットスポットに対して新規データイメージ（図１０では「ＥＥＥ」）を含むログレコードを生成し（Ｓ１０１０）、ＨＳＣＬに登録されたホットスポット情報を除去する（Ｓ１０２０）。この時、生成されたレコードは、以前のデータイメージを含まない。そして、トランザクションの完了ログレコードを生成してログバッファに記録し（Ｓ１０３０）、ログバッファの内容をログファイルに記録する。
【００９３】
図１１は、本発明の他の実施例に係るトランザクションの完了要請時のログ情報管理方法を示す例示図である。
【００９４】
図９のような一連の更新作業が行われた後にトランザクションの取り消し要請が入力されれば、本発明に係るログ情報管理システムは、ＨＳＣＬに登録されたホットスポットをすべて除去する（Ｓ１１１０）。そして、トランザクションの取り消しログレコードを生成してログバッファに記録する（Ｓ１１２０）。ホットスポットに対するログレコードは別に生成しない。
【００９５】
結局、本発明の実施例では、登録されたすべてのホットスポットに対するログレコードは１つの以前のデータイメージまたは１つの新規データイメージだけを含むようになる。
【００９６】
以上、添付した図面を参照して本発明の実施形態を説明したが、本発明が属する技術分野で通常の知識を有する者であれば、本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態によって実施することができるということを理解できる。したがって、以上で記述した実施形態はすべての面で例示的なものであり、限定的なものではないことを理解しなければならない。
【図面の簡単な説明】
【００９７】
【図１】従来技術によって上記のようなロギング作業を行うためのロギングシステムを示す例示図である。
【図２】従来技術に係わるログレコードの構造を示す例示図である。
【図３Ａ】従来技術によりロギング作業が行われる過程およびトランザクションが取り消される過程を示す例示図である。
【図３Ｂ】従来技術によりロギング作業が行われる過程およびトランザクションが取り消される過程を示す例示図である。
【図４】本発明の一実施形態に係るログ情報管理システムを示す例示図である。
【図５】本発明の一実施形態に係るホットスポット管理目録を示すテーブルである。
【図６】本発明の一実施形態に係るデータ更新時のログ情報管理方法を示すフローチャートである。
【図７】本発明の一実施形態に係るトランザクションの完了要請時のログ情報管理方法を示すフローチャートである。
【図８】本発明の一実施形態に係るトランザクションの完了要請時のログ情報管理方法を示すフローチャートである。
【図９】発明の他の実施例に係るデータ更新時のログ情報管理方法を示す例示図である。
【図１０】本発明の他の実施例に係るトランザクションの完了要請時のログ情報管理方法を示す例示図である。
【図１１】本発明の他の実施例に係るトランザクションの完了要請時のログ情報管理方法を示す例示図である。
【符号の説明】
【００９８】
４００      ログ情報管理システム
４１０      入力モジュール
４２０      制御モジュール
４３０      ログイメージ格納モジュール
４４０      ログレコードの生成モジュール
４５０      ログバッファ管理モジュール
４６０      ログバッファモジュール
【図１】
0004722029.tif 000002
【図２】
0004722029.tif 000003
【図３Ａ】
0004722029.tif 000004
【図３Ｂ】
0004722029.tif 000005
【図４】
0004722029.tif 000006
【図５】
0004722029.tif 000007
【図６】
0004722029.tif 000008
【図７】
0004722029.tif 000009
【図８】
0004722029.tif 000010
【図９】
0004722029.tif 000011
【図１０】
0004722029.tif 000012
【図１１】
0004722029.tif 000013