説明

ログファイル管理システム、ログファイル管理方法及びプログラム

【課題】保管しているログファイルと、収集対象の複数のログファイルとを比較して、その更新箇所のみを抽出する処理を行う際に、必要となるディスクの容量の増大を抑制すること。
【解決手段】ログファイル保存管理情報119は、保存対象となるログファイルを管理する保存対象ログ管理情報120、ブロック単位で差分比較する保存ログブロック管理情報121、及び最終更新ブロック情報122の情報を含む。差分ブロック判定機能部110は、ブロック管理情報107と、ログファイル保存管理情報119とを比較し、差分が存在するブロックを差分ブロック情報111に記録する。ブロック内差分抽出機能部112は、差分ブロック情報111に記録されたブロックに対して、ブロック内の差分レコード位置を判定する。ログ保存機能部118は、ブロック内差分抽出機能部112が取得した差分情報に基づいて、データ圧縮されたログファイルを更新し、保管する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はログファイル管理システム、及びログファイル管理方法に係り、特に、分割された複数のブロックを含むログファイルの管理を行うと共に、ログファイル中の追加レコードを少ないディスク容量で抽出することができるログファイル管理システム、ログファイル管理方法及びプログラムに関する。
【背景技術】
【0002】
従来、一般的なアプリケーションプログラムの実行システムでは、該実行システムが実行する各種アプリケーションプログラムやオペレーティングシステムのログ(即ちログファイル)を管理することでシステムの運用状況を監視している。
しかしながら、ログファイルを長期間保存して管理する場合、大量のディスク容量を必要とする。このため、従来から、保存のためのディスク容量を最小化することがログ保存を行う場合の課題であり、保存するログファイルを圧縮して保存管理することは勿論のこと、日時差分のみ追加保存していく方式も一般化している。ここで差分を判断する際には圧縮した大容量ファイルを展開する必要があり、一時的ではあるが大容量ディスクを必要とするので、この差分判断の処理を少ない容量で実行することも課題であった。
【0003】
ログファイル管理システムの一時領域(テンポラリ領域)には、ログファイルをオリジナル形式で保存するため、ログファイル管理システムのオリジナル形式でのファイルサイズ分の容量が必要になり、さらに、差分抽出の対象となるログファイルも同様に一時領域に該オリジナル形式で保存し、両者の比較処理を行う必要がある。このため、ファイル単位に処理する従来方式では、圧縮前のログファイルのサイズ分容量が一時領域の使用容量として必要になる。一般の実行システムでは、複数のログファイルの差分比較処理を並列して実行することになり、よって、同時に処理するログファイルの圧縮前のサイズ分の一時領域が必要になるという問題点があった。
【0004】
なお、本発明と部分的に関連する技術は、例えば、特許文献1の「データファイル保存方法」、特許文献2の「ストレージ装置、及びストレージシステム」、及び特許文献3の「プログラムのトレース方法」などに開示されているが、これらの技術は、本発明と部分的には同様の概念の構成要素も有るが、いずれも本発明の本質を示すものではない。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−100007号公報
【特許文献2】特開2007−200182号公報
【特許文献3】特開平01−300349号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記背景技術で述べた関連するログファイル管理システムにあっては、例えば、一般的なITシステムの場合は、その機能が、多種のアプリケーションソフトウェア(以後「AP」と略称する)を組み合わせて実現されており、即ち、様々なメーカーのソフトウェアやハードウェアを組み合わせたオープンシステムで構築されている。ここで、個々のAPは動作した記録としてログファイルを出力する。
【0007】
昨今、システムのセキュリティ監視が強化され、不正アクセスが無く、システムが正常に運用されていることを保証するための記録として、システム内のAPのログファイルを収集し、一年または半年という一定期間だけ保存・管理し、システム運用の確証にしてシステムのセキュリティ監査に使用するような方法が一般化してきている。前述のとおり、一年といった長期の単位でシステムのログファイルを保管するには、大容量のディスクが必要となるため、長期間保管するデータは圧縮して保存するのが一般的である。
【0008】
一方、ログファイルは、各APから逐次出力されるため、システム運用中はログ情報のデータがログファイルに出力され続ける。一般のAPは特定のログファイルサイズを設定し、設定されたファイルサイズの範囲内に繰り返しログ情報の書き換えを行いながら、動作しつづける機能を備えている。そのため、ログファイルの保存・管理を行うソフトウェアは、繰り返し書き換えられる各APが出力するログファイルの更新部分を抽出し、保管しているログファイルに追加保存していく。
オープンシステムでは、ログファイルを保存・管理するソフトウェアと、ログを出力するAPとの間で密な情報連携を行うことができないため、更新部分を抽出するための処理は、APで出力されたログファイルを用いてログファイルを保存・管理するソフトウェア側で行う必要がある。
【0009】
しかしながら、関連する既成のログファイルの保存・管理を行うソフトウェアは、保管しているログファイルと、収集対象のログファイルとを比較して、追加保存すべき更新部分を判断する方式がとられているが、保管ファイルは圧縮されているため比較を行うためには、一時的に元の形式に復元する必要があった。前述のとおり、ログファイルは多数存在し、日時でログファイルの差分を取り込むような運用を行う場合、多数のログファイルを多重度を上げて処理を行う必要があり、このため、ログファイルを復元するための一時的なディスク容量が大量に必要となるという問題点があり、また、ファイルサイズの大きなログを多数処理する場合は、圧縮保存されたログファイルを復元するための時間が長く掛かるようになるという問題点があった。
【0010】
本発明は、上記問題点に鑑みてなされたものであって、保管しているログファイルと、収集対象の複数のログファイルとを比較して、その追加保存すべき更新箇所のみを抽出する処理を行う際に、必要となるディスクの容量の増大を抑制することを可能にしたログファイル管理システムを提供することを目的としている。
また、本発明の他の目的は、圧縮保管しているログファイルと、収集対象の複数のログファイルとを比較して、その追加保存すべき更新箇所のみを抽出する処理を行う際に、圧縮保管しているログファイルの復元に必要な復元時間を短縮することができるログファイル管理システムを提供することにある。
【0011】
また、本発明の他の目的は、保管しているログファイルと、収集対象の多数のログファイルとを比較して、その追加保存すべき更新箇所のみを抽出する処理を行う際に、必要となるディスクの容量の増大を抑制することを可能にしたログファイル管理システム方法を提供することにある。
また、本発明の他の目的は、圧縮保管しているログファイルと、収集対象の多数のログファイルとを比較して、その追加保存すべき更新箇所のみを抽出する処理を行う際に、圧縮保管しているログファイルの復元に必要な復元時間を短縮することができるログファイル管理方法を提供することにある。
【課題を解決するための手段】
【0012】
上記課題を解決するために、本発明は、ログファイル管理システムとして、保存・管理の対象となる所与のカレントログファイルを、管理に適した形態で管理するログファイル管理システムであって、所与のカレントログファイルのデータを、複数のブロックに分割して保管するブロック分割手段と、前記カレントログファイルの複数のブロックの各々の誤り検出符号を取得する誤り検出符号取得手段と、前記カレントログファイルの複数のブロック内の各々のデータを圧縮するデータ圧縮手段とを有し、前記誤り検出符号取得手段によって得られた前記複数のブロック各々の誤り検出符号、及び前記圧縮手段によってデータ圧縮された前記複数のブロック各々の圧縮後サイズを、前記複数のブロックのブロック番号に対応付けて成る一覧情報をカレントログファイルのブロック管理情報として記録するブロック管理情報取得手段と、データ圧縮された歴代のログファイルを管理するためのログファイル保存管理情報に含まれる保存ログブロック管理情報と、前記カレントログファイルのブロック管理情報とを比較し、前記誤り検出符号または前記圧縮後サイズに相違が有るブロックを差分ブロックとして抽出する差分ブロック判定手段と、前記差分ブロックの前記圧縮手段によるデータ圧縮を解凍すると共に、前記差分ブロック内で差分を有するレコードのレコード位置を判定するブロック内差分位置取得手段と、
前記ブロック内差分位置取得手段が取得した差分情報に基づいて、前記データ圧縮された歴代のログファイルを更新し、保管するログ保存手段と、を備えたことを特徴とするログファイル管理システムを提供するものである。
【0013】
また、本発明は、ログファイル管理方法として、保存・管理の対象となる所与のカレントログファイルを、管理に適した形態で管理するログファイル管理方法であって、所与のカレントログファイルのデータを、複数のブロックに分割して保管するブロック分割ステップと、前記カレントログファイルの複数のブロックの各々の誤り検出符号を取得する誤り検出符号取得ステップと、前記カレントログファイルの複数のブロック内の各々のデータを圧縮するデータ圧縮ステップとを含み、前記誤り検出符号取得手段によって得られた前記複数のブロック各々の誤り検出符号、及び前記圧縮手段によってデータ圧縮された前記複数のブロック各々の圧縮後サイズを、前記複数のブロックのブロック番号に対応付けて成る一覧情報をカレントログファイルのブロック管理情報として記録するブロック管理情報取得ステップと、データ圧縮された歴代のログファイルを管理するためのログファイル保存管理情報に含まれる保存ログブロック管理情報と、前記カレントログファイルのブロック管理情報とを比較し、前記誤り検出符号値または前記圧縮後サイズに相違が有るブロックを差分ブロックとして抽出する差分ブロック判定ステップと、前記差分ブロックの前記圧縮手段によるデータ圧縮を解凍すると共に、前記差分ブロック内で差分を有するレコードのレコード位置を判定するブロック内差分位置取得手段と、前記ブロック内差分位置取得手段が取得した差分情報に基づいて、前記データ圧縮された歴代のログファイルを更新し、保管するログ保存ステップと、を有することを特徴とするログファイル管理方法を提供するものである。
【発明の効果】
【0014】
本発明に係るログファイル管理システムは、元のログファイルのサイズが大きい場合でも、事前に定義しておいた固定ブロックサイズの2個分(比較先と比較元の分)の一時領域を用意するだけで差分を有するレコードの抽出が可能であり、また、複数のファイルの比較を多重度を上げて同時処理する場合にも、同時実行する数に比例した領域を確保するだけで処理できることになり、さらに、分割したブロック単位で差分比較を行うため、ファイル全体に対してレコード比較を行う必要がなく、最後の差分を有するブロック1つ分のみを比較するだけで効率的に差分レコードを抽出することができる効果がある。
【図面の簡単な説明】
【0015】
【図1】本発明の実施形態に係るログファイル管理システムの全体構成を示す構成図である。
【図2】本実施形態のログファイル管理システムにおいてログファイルのレコード情報の記録方法を示す説明図である。
【図3】本実施形態のログファイル管理システムにおいて追加ログが存在するブロックを特定する場合の処理動作を示す説明図である。
【図4】本実施形態のログファイル管理システムにおいて追加ログレコードを抽出する場合の処理動作を説明する説明図である。
【図5】本発明の実施形態に係るログファイル管理システムの動作手順を示すフローチャート図である。
【図6】本発明の他の実施形態に係るログファイル管理システムの1構成例を示す構成図である。
【発明を実施するための形態】
【0016】
本発明に係るログファイル管理システムは、追加ログレコードの抽出方法として、まず、ログファイルを複数のブロックに分割して管理を行い、ログファイル中の追加レコードを少ないディスク容量で抽出する。より具体的には、本発明に係るログファイル管理システムでは、ログファイルを一定の固定サイズのブロックに分割して管理を行う。
また、ログファイルから差分レコードを抽出するためには、圧縮保存されたファイルを元のログファイルの形式に復元して比較処理を行う必要があるが、本発明に係るログファイル管理システムでは、ログファイルを固定長サイズのブロックに分割し、該分割したログファイルの単位で圧縮管理及び差分比較処理を行うことにより、復元のために必要となる一時領域の容量の増大を抑制している。
【0017】
さらに、ブロック分割して圧縮したファイルを、纏めて1つのログファイルとして保存管理することを行う。ログファイルの管理情報として、ブロック分割した各ファイルの誤り検出符号(チェックサム値、CRC、ハッシュ値等)と、圧縮後ブロックサイズと、最終ログレコードの出力位置の情報とを記憶しておくが、この管理情報を用いて、元ログ形式に復元して差分レコードを抽出する必要のあるブロックを特定することができる。
具体的には、各ブロック単位の誤り検出符号と圧縮後ブロックサイズとを、保存ログファイルの管理情報の誤り検出符号と圧縮後ブロックサイズと比較することで、これらの情報が一致しないものは追加レコードが含まれたブロックと判断できる。よって、この管理情報に相違点が有ったブロックを、追加保存対象のブロックとして抽出している。
【0018】
ログレコードは連続して記録されるため、追加レコードの含まれたブロックも連続することになる。この連続するブロックの先頭と末尾のブロックには、既に保存管理済みのログレコードが存在する可能性があるが、中間のブロックはすべて追加ログレコードで構成されたブロックと判断することができるので、ブロック内差分抽出の処理対象から除外できる。
管理情報に相違点が有った先頭と末尾のブロックに対しては、保存ログから対応する圧縮ブロックを取り出し、そのブロックを復元して差分比較を行い、追加レコードを抽出することができる。
【0019】
本発明に係るログファイル管理システムにおける上記のログ管理手段では、追加レコードの抽出において必要となる圧縮ファイルの復元のための一時領域のサイズは、1ファイルにつき1ブロック分で十分であるため、関連する既成のシステムのように、元のログのファイルサイズに依存した一時領域を確保する必要がなくなる。さらに、サイズの大きな複数のログファイルの差分比較処理を、多重度を上げて同時に実行する場合にも、必要となる一時保存領域の容量を少なくすることが可能となる。
【0020】
以下、本発明のログファイル管理システムの実施形態について、図面を参照して説明する。
図1は、本発明の実施形態に係るログファイル管理システムの全体構成を示す構成図である。
同図において、本実施形態のログファイル管理システムは、カレントログファイル101と、ブロック管理情報取得機能部102と、追加ログレコード取得機能部109と、ログファイル保存管理情報119と、ログ保存機能部118と、を備えて構成される。
【0021】
ここで、ブロック管理情報取得機能部102は、ブロック分割機能部104と、チェックサム取得機能部105(誤り検出符号取得取得手段)と、ブロック圧縮機能部106と、を備える。
また、追加ログレコード取得機能部109は、差分ブロック判定機能部110と、ブロック内差分抽出機能部112と、を備える。
【0022】
ここで、ブロック内差分抽出機能部112は、圧縮ブロック復元機能部113と、ブロック内差分位置取得機能部115と、最終収集ログ管理情報更新機能部117と、を備える。
【0023】
なお、ログファイル保存管理情報119は、保存対象ログ管理情報120と、保存ログブロック管理情報と、最終更新ブロック情報122と、を含んで構成されている。
以下、本実施形態のログファイル管理システムが有する機能を各構成要素毎に説明する。但し、以下では、符号付きの情報の各々については、該情報に対応する記憶部が存在するものとして、「〜情報に保存する」または「〜情報に記録する」、或いは「〜情報に保持する」といった表現は、該情報を対応する該記憶部に格納することを意味するものとする。
カレントログファイル101は、保存・管理を行う対象となるログファイルであり、追加ログレコードを抽出する対象となるログファイルである。
ブロック管理情報取得機能部102は、カレントログファイル101から、ブロック管理情報107を生成する。
【0024】
ブロック分割機能部104は、カレントログファイル101を固定長ブロックに分割し、カレントログ分割ブロック103を生成する。
チェックサム取得機能部105は、カレントログ分割ブロック103のチェックサム値を計算し、ブロック管理情報107に値を保存する。
ブロック圧縮機能部106は、カレントログ分割ブロック103を圧縮し、カレントログ圧縮ブロック108を生成し、圧縮後のサイズをブロック管理情報107に保存する。
追加ログレコード取得機能部109は、ログ保存機能部118により、カレントログファイル101をログファイル123として蓄積管理する。
【0025】
ログファイル保存管理情報119は、保存対象となるログファイルを管理するための保存対象ログ管理情報120、ブロック単位で差分比較するための保存ログブロック管理情報121、及び最終更新ブロック情報122の情報を含む。
差分ブロック判定機能部110は、ブロック管理情報107の情報と、ログファイル保存管理情報119の情報とを比較し、差分が存在するブロックを、差分ブロック情報111に記録する。
ブロック内差分抽出機能部112は、差分ブロック情報111に記録されたブロックに対して、ブロック内の差分レコード位置を判定する。
圧縮ブロック復元機能部113は、ログファイル123のログ圧縮保存ブロック124を比較元ログブロック125に復元し、カレントログ圧縮ブロック108をカレントログ差分ブロック114に復元する。
【0026】
ブロック内差分位置取得機能部115は、復元された2つのブロック内で追加レコードの先頭位置と終端位置を取得し、差分位置情報116に保持する。
最終収集ログ管理情報更新機能部117は、差分ブロック情報111と、差分位置情報116とを参照し、ログファイル保存管理情報119を更新する。
【0027】
図5は、本発明の実施形態に係るログファイル管理システムの動作手順を示すフローチャート図である。
以下、図1を参照しながら、図5に示すフローチャートを使用して、本実施形態のログファイル管理システムの動作を説明する。
(ステップS1)
ステップS1では、ブロック管理情報取得機能部102は、カレントログファイル101を読み込み、差分管理に必要なブロック管理情報107を生成する。
(ステップS2)
ステップS2では、ブロック分割機能部104は、カレントログファイル101を読み込み、ログファイル保存管理情報119に指定されたブロックサイズにより、ブロック分割を行い、カレントログ分割ブロック103を生成する。
【0028】
(ステップS3)
ステップS3では、チェックサム取得機能部105は、カレントログ分割ブロック103を読み込み、チェックサム値を分割ブロック単位に取得し、ブロック管理情報107に保存する。さらに、読み込んだカレントログ分割ブロック103を、ブロック圧縮機能部106により、ブロック単位に圧縮し、カレントログ圧縮ブロック108を生成すると共に、圧縮後のブロックサイズをブロック管理情報107に保存する。
ここで、カレントログ分割ブロック103として圧縮されたブロックは、ブロック管理情報107と関連付けて、ログ保存機能部118により、蓄積管理する。
【0029】
(ステップS4)
ステップS4では、差分ブロック判定機能部110は、ログ保存機能部118で管理している前回収集ログの情報である保存ログブロック管理情報121を取得し、ブロック管理情報107と情報(内容)の比較を行う。この情報比較において、管理情報に保存されているチェックサム値と圧縮後サイズが一致しないものについては、差分レコードの存在するブロックと判断し、該ブロックのブロック番号を差分ブロック情報111に保存する。
一般に、ログ出力は連続して記録されるため、追加ログレコードが記録されて差分が発生したブロックにも連続性が存在する。分割したブロック内の全てのログレコードが追加ログレコードである場合は、前記の差分比較を行う必要がない。管理情報で差分の有った連続したブロック番号において、先頭と末尾のブロック番号のみがブロック内に追加ログレコードが一部含まれるブロックであり、ブロック内で差分レコードを抽出する必要のあるブロックである。
【0030】
但し、追加ログレコードの先頭レコードが存在する先頭の差分ブロックは、最終更新ブロック情報122に記録された保存ログにおける末尾レコード位置からブロック終端までが追加ログと判断できる。
(ステップS5)
ステップS5では、上記の理由により、追加ログレコードの末尾レコードが存在する末尾の差分ブロックのみを対象にして、ブロック内差分抽出機能部112により、末尾レコードの位置を特定する。
【0031】
(ステップS6)
ステップS6では、ブロック内差分抽出機能部112では、差分ブロック情報111から、末尾ブロック番号を取得し、カレントログ圧縮ブロック108から、対応する圧縮ブロックを取り出す。取り出した圧縮ブロックは、圧縮ブロック復元機能部113により、テキストなどの元の形式のログファイルに復元し、カレントログ差分ブロック114に一時保存する。
(ステップS7)
ステップS7では、さらに圧縮ブロック復元機能部113は、ログ保存機能部118により、保存管理しているログ圧縮保存ブロック124から、末尾ブロック番号に対応する圧縮ブロックを取得し、比較元ログブロック125に一時保存する。
【0032】
(ステップS8)
ステップS8では、ブロック内差分位置情報取得機能部115は、カレントログ差分ブロック114と、比較元ログブロック125とから、それぞれログレコードを取り出し、ログレコード単位での両者の差分比較を行う。このログレコード単位の差分比較は、ブロックの先頭から末尾までの全ての情報(内容)に渡って比較を行い、最後に検出された差分レコードの末尾位置を、差分ログレコードの末尾位置として差分位置情報116に記録する。
(ステップS9)
ステップS9では、差分ログ情報保存機能部117は、カレントログ圧縮ブロック108の差分レコードが存在するブロックを、ログ保存機能部118を介して保存ログファイル123に保存し、差分位置情報116に記録された差分ログレコード位置を、最終更新ブロック情報122に保存する。
【0033】
図2は、本実施形態のログファイル管理システムにおいてログファイルのレコード情報の記録方法を示す説明図である。
以下、図2を参照し、具体例に基づいて本実施形態のログファイル管理システムの動作を説明する。
本実施形態のログファイル管理システムでは、サイクリックに上書きされるログについて、図2に示すようにレコード情報が記録されていく。
時刻T1のログファイル201は、ログファイルの上限サイズに達していない。この場合、前回の最終レコード位置から今回の最終レコード位置までが追加ログレコードであると簡単に判断できる。
【0034】
時刻T2のログファイル202は、ログファイルサイズの上限サイズに達して、ファイル先頭からレコードが上書きされる例である。この場合の追加ログレコードは、ログファイルの末尾と先頭に分離して存在するが、末尾に追加されたレコードは、上限サイズに満たない場合の追加レコード抽出処理と同様に処理できる。ファイル先頭に存在する追加レコードは、前回保存されたログファイルとの内容比較を行うことで最終レコードの位置が特定できる。
【0035】
時刻T3のログファイル203は、追加ログレコードの開始位置と終了位置が上書き保存されてファイル途中に存在する場合である。この時、追加ログレコードの開始位置は、時刻T2の最終レコード位置となるが、最終レコード位置を取得するためには、追加ログレコードの開始位置からレコード単位に前回保存されたログとの内容比較を行う必要がある。
ログファイルをブロック分割して処理することで、ログレコードの内容比較を行う範囲を特定し、ログ管理に要する処理時間を短縮することができる。以下、この点について詳説する。
【0036】
時刻T3のログファイル203の例では、ブロック1とブロック5は差分レコードが存在しないブロックとして比較処理対象から除外でき、ブロック3も全て追加ログが記録されたブロックであるため、比較対象から除外できる。ブロック2は、次のブロックに追加ログレコードが記録されているため、前回保存された最終レコード位置からブロック末尾までが、追加ログレコードと判断できる。このため、差分ブロックの末尾となるブロック4のみに対して内容比較の処理を行えばよいことになる。
【0037】
図3は、本実施形態のログファイル管理システムにおいて追加ログが存在するブロックを特定する場合の処理動作を示す説明図である。
以下、図3を参照し、追加ログが存在するブロックを特定する場合の処理動作について説明する。
ここでは、カレントログファイル301については、図2に示す時刻T3のログファイル203のように、ファイル途中に追加ログレコードが存在する場合を例にして説明する。まず、カレントログファイル101は、ブロック分割機能部104により、ログファイル保存管理情報119で指定された固定サイズでもってブロック分割を行い、カレント分割ブロック103に一時保存する。
【0038】
次に、カレント分割ブロック103に保存されたブロック1〜5を、チェックサム取得機能部105により、ブロック単位で、チェックサム値を取得して、ブロック管理情報107に該チェックサム値を保存する。さらに、チェックサム値を取得したブロックに対してブロック圧縮機能106により、ファイルを圧縮してカレントログ圧縮ブロック108に保存し、圧縮後のファイルサイズを、ブロック管理情報107に保存する。
このブロック管理情報107の情報は、次回の差分レコード比較のために使用するので、ログ保存機能により、情報(内容)を保存するものである。
【0039】
カレントログ分割ブロック103に保存された5つのブロック全てに対する、ブロック管理情報107の情報設定の処理が完了すると、差分ブロック判定機能部110は、前回差分レコード抽出時に保存された情報である保存ログブロック管理情報121を取得し、ブロック管理情報107の情報とで、ブロック単位に内容を比較する処理を行う。
【0040】
図3に示す例では、ブロック2〜4に追加ログレコードが出力されているため、このブロック2〜4に対応したブロック管理情報107のチェックサム値と、圧縮後サイズの値とは、前回保存管理されたログの情報である保存ログブロック管理情報121の各値とは異なる。そこで、差分ブロック判定機能部110の処理結果として、差分ブロック情報111に、ブロック2、ブロック3、及びブロック4に差分があったことが記録される。
なお、追加ログレコードが出力されるブロックは、ブロック2〜4と連続するため、先頭と末尾のブロック番号の間のブロックとなるブロック3は、ブロック全体が追加レコードで構成されたものであると判断することができるので、差分比較する必要がない。
また、連続するブロックの先頭であるブロック2は、前回収集して保存されたときに追加ログレコードの末尾位置が保存されているため、その位置からブロック末尾までを追加レコードとして管理することができる。
【0041】
図4は、本実施形態のログファイル管理システムにおいて追加ログレコードを抽出する場合の処理動作を説明する説明図である。
以下、図4を参照して、本実施形態のログファイル管理システムにおいて追加ログレコードを抽出する場合の処理動作について説明する。但し、時刻T3のログファイル203(図2)と同じように、レコード#0021〜#0025の追加ログレコードがブロック2〜4に出力されている場合の例で説明する。
【0042】
管理情報の内容比較により、差分ブロック情報404には、ブロック2、ブロック3、及びブロック4に差分が有ることが記録され、この差分の有る連続したブロックにおいて、末尾ブロックとなるブロック4が差分比較の対象であることが記録されている。
そこで、圧縮ブロック復元機能部113は、差分ブロック情報111から、差分比較対象であるブロック4の情報を取得し、カレントログを分割管理しているカレントログ分割ブロック108を取得し、さらに、収集したログを蓄積保存管理しているログ圧縮保存ブロック124からは対応するブロックを取得し、元のログ形式に復元する。ここで、カレントログはカレントログ差分ブロック114に復元し、保存管理されているログは比較元ログブロック125に復元する。
【0043】
次に、ブロック内差分位置取得機能部115は、復元されたカレントログ差分ブロック114と、比較元ログブロック125とに対しては、両者のファイル内容をレコード単位で比較する。
図4に示す例では、カレントログ差分ブロック114内のブロック4のレコード#0025と、比較元ログブロック125内の同じくブロック4のレコード#0010とで違いがあるため、ブロック内差分位置取得機能部115は、差分位置情報116に、差分有りレコードのブロック番号(即ち「4」)を記録すると共に、追加レコードの終端位置として、カレントログ差分ブロック114内のブロック4のレコード#0025の末尾位置(即ち「4」)を一時保存する。次のレコードの比較では、両ブロック共レコード#0011であり、内容が一致するため、次のレコード比較処理を続けて行う。次のレコードも、両ブロック共レコード#0012であって内容が一致し、しかも、ブロック終端となったため比較処理を終了する。
【0044】
上記のブロック内差分位置情報取得機能115のレコード比較処理が終了した時点では、差分位置情報116には、差分位置情報として、差分有りレコードのブロック番号(即ち「4」)と、終端位置(即ち「Offset-T3」)が記録されている。
【0045】
この実施形態に係るログファイル管理システムによれば、元のログファイルのサイズが大きな場合であっても、事前に定義しておいた固定ブロックサイズの2個分(比較先の分と、比較元の分)の一時領域が有りさえすれば、差分抽出(差分有りレコードの抽出)を行うことができる。
また、複数のファイルに対して、差分抽出のための比較を多重度を上げて同時実行処理することが可能であり、この場合にも、同時実行処理するファイル数分だけの一時領域を確保するだけで同時実行処理することができる。
【0046】
さらに、分割したブロック単位で差分比較を行うため、ファイル内の全ブロックに渡ってレコード比較を行う必要がなく、最後の差分の有ったブロック1つ分のレコードのみを比較するだけでよいため、効率的に差分レコードを抽出することができる。
なお、ここでは、誤り検出符号としてチェックサムを用いたが、一般に、本発明の誤り検出符号は、チェックサムとは限らず、例えば、CRCやハッシュ値を用いることができる。
【0047】
(他の実施の形態)
本発明は他の実施形態が可能であり、以下、本発明の他の実施形態の1つを説明する。図6は、本発明の他の実施形態に係るログファイル管理システムの1構成例を示す構成図である。同図は、複数のサーバ装置(以下、単に「サーバ」と略称する)に存在するログファイルを管理サーバで収集して一元保存管理する場合の構成例を示している。
【0048】
図6に示す本発明の他の実施形態に係るログファイル管理システムの1構成例は、ログ収集対象サーバA501と、ログ収集対象サーバB502との2台のサーバのログを、ログ管理サーバ503で管理する構成例を示すものであり、図1に示した本発明の実施形態の機能が、各サーバに分担されていると共に、サーバ間で情報転送を行うためにデータ転送機能部504が追加されている。この点を除いては、図1に示した本発明の実施形態の構成と同じである。
データ転送機能部504は、ブロック管理情報を転送するための管理情報転送機能部505と、追加ログが保存された圧縮ブロックを転送するための圧縮ブロック転送機能部506とを備える。
【0049】
以下、図6を参照して、本発明の他の実施形態に係るログファイル管理システムの1構成例の動作を説明する。
ログ収集対象のサーバ内のブロック管理情報取得機能部102は、収集対象となるカレントログファイル101を、固定長ブロックに分割し、ブロック管理情報107と、カレントログ分割ブロック108とを生成する。
ログ収集対象サーバ内のブロック管理情報取得機能部102が生成したブロック管理情報107は、管理情報転送機能部505を介してログ管理サーバ502に転送し、ログ管理サーバ側の差分ブロック判定機能部110において、差分を有するブロックか否かを判断する。
【0050】
ログ管理サーバ503の追加ログレコード取得機能部109は、圧縮ブロック転送機能部506を介して、カレントログ圧縮ブロック108に保存されている差分の有ったブロックのみを取得する。取得した差分ブロックの末尾ブロックのみをブロック内差分抽出機能112の処理対象とし、他の差分ブロックはログ保存機能部118により、ログファイル123に履歴として保存管理する。
なお、末尾ブロックに対する差分ログレコードの抽出処理であるブロック内差分抽出機能部112の動作は、図1に示す実施形態と同様である。
【0051】
この実施形態によれば、ログ収集対象サーバA501から、ログ管理サーバ503に転送するログデータは、ログファイル全体を圧縮したものではなく、差分の有ったブロックのみを圧縮したものだけを転送することになり、複数のサーバのログを管理サーバで一元管理する場合のデータ転送量を削減できるという新たな効果を有する。
【0052】
上述のログファイル管理システムは内部に、コンピュータシステムを有している。そして、上述した各機能部の動作は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【0053】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【産業上の利用可能性】
【0054】
本発明は、システムの運用ログや、セキュリティアクセスログなど、ログファイルの保存管理を行う分野に好適に適用可能である。また、ログファイル以外にも、時間の経過に伴ってデータが追記される態様のデータ(例えば映像データ)の保存管理にも好適に適用することができる。
【符号の説明】
【0055】
101 カレントログファイル
102 ブロック管理情報取得機能部
103 カレントログ分割ブロック
104 ブロック分割機能部
105 チェックサム取得機能部
106 ブロック圧縮機能部106
107 ブロック管理情報
108 カレントログ圧縮ブロック
109 追加ログレコード取得機能部
110 差分ブロック判定機能部
111 差分ブロック情報
112 ブロック内差分抽出機能部
113 圧縮ブロック復元機能部
114 カレントログ差分ブロック
115 ブロック内差分位置取得機能部
116 差分位置情報
117 最終収集ログ管理情報更新機能部
118 ログ保存機能部
119 ログファイル保存管理情報
120 保存対象ログ管理情報
121 保存ログブロック管理情報
122 最終更新ブロック情報
123 ログファイル
124 ログ圧縮保存ブロック
125 比較元ログブロック
501 ログ収集対象サーバA
503 ログ管理サーバ
504 データ転送機能部

【特許請求の範囲】
【請求項1】
保存・管理の対象となる所与のカレントログファイルを、管理に適した形態で管理するログファイル管理システムであって、
所与のカレントログファイルのデータを、複数のブロックに分割して保管するブロック分割手段と、
前記カレントログファイルの複数のブロックの各々の誤り検出符号を取得する誤り検出符号取得手段と、
前記カレントログファイルの複数のブロック内の各々のデータを圧縮するデータ圧縮手段と、
前記複数のブロックのブロック番号に対応付けて、前記誤り検出符号取得手段によって得られた前記複数のブロック各々の誤り検出符号と前記データ圧縮手段によってデータ圧縮された前記複数のブロック各々の圧縮後サイズとを格納する一覧情報をカレントログファイルのブロック管理情報として記録するブロック管理情報取得手段と、
データ圧縮された歴代のログファイルを管理するためのログファイル保存管理情報に含まれる保存ログブロック管理情報と、前記カレントログファイルのブロック管理情報とを比較し、前記誤り検出符号または前記圧縮後サイズに相違が有るブロックを差分ブロックとして抽出する差分ブロック判定手段と、
前記差分ブロックの前記圧縮手段によるデータ圧縮を解凍すると共に、前記差分ブロック内で差分を有するレコードのレコード位置を判定するブロック内差分位置取得手段と、
前記ブロック内差分位置取得手段が取得した差分情報に基づいて、前記データ圧縮された歴代のログファイルを更新し、保管するログ保存手段と、
を備えたことを特徴とするログファイル管理システム。
【請求項2】
前記ブロック内差分位置取得手段は、
前回処理終了時にブロック内に未追加のレコード領域を有するとき、
当該前回処理終了時の未追加のレコード領域における先頭の位置を今回処理における前記レコード位置の始点であると判定し、
前記差分ブロックのうち、次ブロックが差分ブックでない差分ブロックのみを解凍し、
当該解凍した差分ブロックにおいて差分を有するレコードの末尾の位置を前記レコード位置の終点であると判定する、
ことを特徴とする請求項1記載のログファイル管理システム。
【請求項3】
前記ブロック内差分位置取得手段は、
ブロック内の全レコードが追加ログレコードであるとき、
前記差分ブロックの解凍を行わず、当該追加ログレコードの先頭の位置から末尾の位置までを前記レコード位置と判定する、
ことを特徴とする請求項1または請求項2の何れか1項に記載のログファイル管理システム。
【請求項4】
前記各手段のうち、前記カレントログファイルを対象とする前記ブロック管理情報取得手段をログ収集対象サーバ装置に配し、前記ブロック管理情報取得手段を除く他の全ての手段をログ管理サーバ装置に配すると共に、前記ログ収集対象サーバ装置から前記ログ収集対象サーバ装置へデータを転送するデータ転送手段を前記両サーバに備えたことを特徴とする請求項1から請求項3の何れか1項に記載のログファイル管理システム。
【請求項5】
保存・管理の対象となる所与のカレントログファイルを、管理に適した形態で管理するログファイル管理方法であって、
所与のカレントログファイルのデータを、複数のブロックに分割して保管するブロック分割ステップと、
前記カレントログファイルの複数のブロックの各々の誤り検出符号を取得する誤り検出符号取得ステップと、
前記カレントログファイルの複数のブロック内の各々のデータを圧縮するデータ圧縮ステップと
前記誤り検出符号取得手段によって得られた前記複数のブロック各々の誤り検出符号、及び前記圧縮手段によってデータ圧縮された前記複数のブロック各々の圧縮後サイズを、前記複数のブロックのブロック番号に対応付けて成る一覧情報をカレントログファイルのブロック管理情報として記録するブロック管理情報取得ステップと、
データ圧縮された歴代のログファイルを管理するためのログファイル保存管理情報に含まれる保存ログブロック管理情報と、前記カレントログファイルのブロック管理情報とを比較し、前記誤り検出符号または前記圧縮後サイズに相違が有るブロックを差分ブロックとして抽出する差分ブロック判定ステップと、
前記差分ブロックの前記圧縮手段によるデータ圧縮を解凍すると共に、前記差分ブロック内で差分を有するレコードのレコード位置を判定するブロック内差分位置取得ステップと、
前記ブロック内差分位置取得手段が取得した差分情報に基づいて、前記データ圧縮された歴代のログファイルを更新し、保管するログ保存ステップと、
を有することを特徴とするログファイル管理方法。
【請求項6】
前回処理終了時にブロック内に未追加のレコード領域を有するとき、
前記ブロック内差分位置取得ステップは、
当該前回処理終了時の未追加のレコード領域における先頭の位置を今回処理における前記レコード位置の始点であると判定し、
前記差分ブロックのうち、次ブロックが差分ブックでない差分ブロックのみを解凍し、
当該解凍した差分ブロックにおいて差分を有するレコードの末尾の位置を前記レコード位置の終点であると判定する、
ことを特徴とする請求項5に記載のログファイル管理方法。
【請求項7】
ブロック内の全レコードが追加ログレコードであるとき、
前記ブロック内差分位置取得ステップは、
前記差分ブロックの解凍を行わず、当該追加ログレコードの先頭の位置から末尾の位置までを前記レコード位置と判定する、
ことを特徴とする請求項5または請求項6の何れか1項に記載のログファイル管理方法。
【請求項8】
前記各ステップのうち、前記カレントログファイルを対象とする前記ブロック管理情報取得ステップをログ収集対象サーバ装置側にて実行し、前記ブロック管理情報取得手段を除く他の全ての手段をログ管理サーバ装置側にて実行すると共に、前記ログ収集対象サーバ装置から前記ログ収集対象サーバ装置へデータを転送するデータ転送ステップを前記両サーバ装置において実行することを特徴とする請求項5から請求項7の何れか1項に記載のログファイル管理方法。
【請求項9】
保存・管理の対象となる所与のカレントログファイルを、管理に適した形態で管理するログファイル管理システムを、
所与のカレントログファイルのデータを、複数のブロックに分割して保管するブロック分割手段、
前記カレントログファイルの複数のブロックの各々の誤り検出符号を取得する誤り検出符号取得手段、
前記カレントログファイルの複数のブロック内の各々のデータを圧縮するデータ圧縮手段、
前記複数のブロックのブロック番号に対応付けて、前記誤り検出符号取得手段によって得られた前記複数のブロック各々の誤り検出符号と前記データ圧縮手段によってデータ圧縮された前記複数のブロック各々の圧縮後サイズとを格納する一覧情報をカレントログファイルのブロック管理情報として記録するブロック管理情報取得手段、
データ圧縮された歴代のログファイルを管理するためのログファイル保存管理情報に含まれる保存ログブロック管理情報と、前記カレントログファイルのブロック管理情報とを比較し、前記誤り検出符号または前記圧縮後サイズに相違が有るブロックを差分ブロックとして抽出する差分ブロック判定手段、
前記差分ブロックの前記圧縮手段によるデータ圧縮を解凍すると共に、前記差分ブロック内で差分を有するレコードのレコード位置を判定するブロック内差分位置取得手段、
前記ブロック内差分位置取得手段が取得した差分情報に基づいて、前記データ圧縮された歴代のログファイルを更新し、保管するログ保存手段、
として動作させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−257330(P2010−257330A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−108235(P2009−108235)
【出願日】平成21年4月27日(2009.4.27)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】