ファイルアクセスログ圧縮システム、ファイルアクセスログ圧縮方法、及びファイルアクセスログ圧縮プログラム
【課題】ファイルアクセスログを表に格納することにより新たに出来たファイルアクセスの特徴を利用し、ログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更しさらに高い圧縮率を得るファイルアクセスログ圧縮システムを提供する。
【解決手段】本発明のファイルアクセスログ圧縮システムは、ファイルアクセスログを表形式へ格納する手段と、汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、表としたデータ構造を圧縮する手段と、を備える。
【解決手段】本発明のファイルアクセスログ圧縮システムは、ファイルアクセスログを表形式へ格納する手段と、汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、表としたデータ構造を圧縮する手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はファイルアクセスログ圧縮システム、ファイルアクセスログ圧縮方法、及びファイルアクセスログ圧縮プログラムに関する。
【背景技術】
【0002】
情報漏えい、システムの不具合、不正利用などの脅威を監視するために、システムの構成要素が生成するイベントログの監視が行われている。このような監視をする目的の一つは、脅威の発覚後にその脅威の原因を究明することである。しかし監視対象が生成するログは膨大であるため、そのままログを収集すると、以下のような問題がある。
【0003】
・ログの保存に必要な記憶容量が大きくなる
・ログ収集のために、より多くのリソース(ネットワーク容量など)が必要になる
上記のような問題を解決するために、ログのサイズを減らすことが一般的である。ログのサイズを減らすためには、可逆的方法である可逆圧縮や不可逆的方法であるフィルタリングなどが行われている。ここでログを取得する本来の目的は、脅威の発覚後の原因究明であるが、どのログが脅威発覚の原因究明に役に立つのか判断が難しい。そのため原因究明に必要となるであろう情報は可能な限り減らさないよう、可逆的方法である可逆圧縮を用いることが一般的である。
【0004】
圧縮の効果は、圧縮対象の特徴に大きく依存し、同じ圧縮形式を用いてもログを取得する対象や利用環境により大きく変化することが知られている。そのため圧縮対象の特徴をよく理解することが重要となる。圧縮対象の特徴を理解すると、ログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変換することができ、さらに高い圧縮率を期待できる。汎用的な圧縮アルゴリズムが圧縮しやすいデータとは、連続して同じデータが並び、パターンの異なる繰り返しが少ないようなデータであったり、またデータ量として大きくなる文字列のようなデータが少ないデータである。
【0005】
そこで本発明は、圧縮対象をファイルアクセスログに限定し、ファイルアクセスの特徴を利用したデータ格納方法および圧縮方法について述べる。ファイルアクセスログは以下のような特徴を持つ。
【0006】
・複数の要素(ユーザID(Identification)、時間、URL(Uniform Resource Locator)など)を持つ。
【0007】
・空間的局所性により類似した、または同一のファイルアクセスが反復して発生する。
【0008】
・時間的局所性により、タスクが発生した時に、短期間に大量のアクセスが発生する。
【0009】
・システムなどにより周期的にファイルアクセスが発生する。
【0010】
非特許文献1では、ファイルアクセスの類似したまたは同一のファイルアクセスが反復して発生する特徴を利用するためにファイルアクセスログを表として格納している。
【0011】
非特許文献1に記載されたシステムは、図4のようなログが得られた場合、文字列情報をもつ要素に対して、要素別の表とそれぞれのログの要素に対してポインタを保持する表に分割を行う。文字列情報の要素は、要素ごとにテーブルを持つ。出現したログのパターンは、文字列テーブルのインデックスの組み合わせとしてイベントテーブルに記録される。ここでポインタは、要素別のテーブルのインデックスである。ログ情報を記録する際に、文字列情報の代わりにインデックスを持つことにより、文字列情報の繰り返しを回避することができる。また、イベントが発生した順番をイベントストリームテーブルに格納し、そのイベントが起こった時刻をタイムスタンプテーブルに格納する。不要な文字列の繰り返しをテーブルに対するインデックスとして持つことにより、データ量を削減して、圧縮率の向上が見込める。
【0012】
しかし、表に格納することにより、新たに出来たファイルアクセスの特徴が現れる。例えば、表にすることにより、イベントテーブルには同じログのパターンは含まなく、新しいIDが追加されるのは、そのパターンのアクセスが最初に起こった時であるため、連続して起こるアクセスは、IDが近い番号となることが多い。このように表に用いることにより、新たにファイルアクセスログの特徴が出現することが分かるが、非特許文献1ではこのような新たに出来たファイルアクセスの特徴までは考慮していない。
【0013】
また、ファイルアクセスの空間の局所性により、ログの要素にパスのような階層的な構造を持つ文字列に含まれた場合、この階層に適した分割を行うことにより文字列の繰り返しをさらに回避することができるが、これも非特許文献1では行っていない。
【0014】
このようにある対象のログを表に格納することにより、新しい特徴が発生することが分かる。表や表に対する行、列に対してその対象の特徴を用いて、圧縮を行っている既存技術も存在する。
【0015】
特許文献1に記載されたシステムでは、変化があまりない比較的安定した時系列データに対して、差分化手段を用いてデータ圧縮を行っている。しかし、ファイルアクセスログはシステムによる定期的なアクセスやイベントに伴う大量のログが発生するため、安定なデータではないが、ファイルアクセスの短期間に大量に発生するという特徴を利用することにより安定している状態でなくても、差分圧縮を効果的であるといえる。
【0016】
また特許文献2に記載されたシステムでは、画像データをプリンタに送信する際に画像の内容により読み込む方向で圧縮率が変化する特徴を利用し、送信する前に主走査方向と副走査方向の2つの方向に対して圧縮を行う。そして圧縮率の高い方向で送信することにより送信負荷を軽減するものである。この時、画像を表として考えた場合、表の圧縮にも同様のことが言える。ここで画像の場合、主走査方向と副走査方向のどちらが圧縮率が高くなるかは完全に画像依存となるが、ファイルアクセスの場合、副走査方向、つまり要素方向で圧縮することにより、時系列データとして見ることができ、さらにユーザやアクセスの種類のような要素数が少ない要素に対しては、連続して同じ値が続く可能性が高くなり、さらに圧縮率の向上が見込める。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】特開平3−055919号公報
【特許文献2】特開平8−279915号公報
【非特許文献】
【0018】
【非特許文献1】C Verbowski, et.al.”Flight Data Recorder: Monitoring Persistent-State Interactions to Improve Systems Management”, OSDI ’06: 7th USENIX
【発明の概要】
【発明が解決しようとする課題】
【0019】
本発明が解決しようとする課題は、ファイルアクセスログを表に格納することにより、ファイルアクセスログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更するが、表形式として格納することにより新たに出来るファイルアクセスの特徴までは利用していないため、冗長性が残されているという課題である。
【0020】
上述した非特許文献1に記載されたシステムでは、ファイルアクセスログの繰り返し同じものが出力されるという特徴を生かし、ファイルアクセスログを表に格納することにより、文字列情報の繰り返しを回避することが出来る。しかし、ファイルアクセスログを表として格納した時に新たに出来る特徴については利用をしていない。
【0021】
またファイルアクセスログは、パスのような階層的な構造を持つ文字列を含むファイルを持つが、参照の局所性より似たようなパスが発生する可能性が高いため、似たようなパスを分割することにより、さらに文字列の繰り返しを少なくすることができ、冗長性が残されている。
【0022】
表に格納されているデータに対して圧縮を行うものとして、上述した特許文献1では、安定した時系列データに対して差分をとることにより圧縮率を向上している。しかし、ファイルアクセスログはシステムによる定期的なアクセスやイベントに伴う大量のログが発生するため、安定なデータではない。しかし、ファイルアクセスの短期間に大量に発生するという空間的局所性の特徴を利用することにより安定している状態でなくても、表に格納することにより、同一のアクセスには同一のIDを割り当てられるようになるため、これに差分を適用することにより差分を計算することにより一定の値を取得することができる。また、時間的局所性の特徴は、よく起こるアクセスを似たようなインデックスが連続してつけられるため、差分をとることにより、一定の値になる可能性があり、一定の圧縮率向上が見込める。
【0023】
上述した特許文献2では、画像の内容により、主走査方向と副走査方向で圧縮率が違うという特徴を利用し、圧縮率の高い方向で圧縮するというものである。画像を表として考えると表に対しても同様のことが言える。非特許文献1の方法で表にした時のイベントテーブルは、ファイルアクセスの特徴である参照の局所性から、複数の通りの圧縮を試みなくても、各要素方向に圧縮を行ったほうが、圧縮率が高いことが分かる。そのため表を要素方向に圧縮することにより圧縮率向上が見込める。
【0024】
特許文献1および特許文献2は、表についての圧縮率向上を用いているが、それぞれ、安定したデータおよび画像データに対する圧縮方法であり、ファイルアクセスの特徴を利用したものではない。
【0025】
[発明の目的]
本発明の目的は、ファイルアクセスログを表に格納することにより新たに出来たファイルアクセスの特徴を利用し、ログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更しさらに高い圧縮率を得るファイルアクセスログ圧縮システムを提供することにある。
【課題を解決するための手段】
【0026】
本発明のファイルアクセスログ圧縮システムは、ファイルアクセスログを表形式へ格納する表格納手段と、汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、表としたデータ構造を圧縮する圧縮処理手段と、を備える。
【0027】
本発明のファイルアクセスログ圧縮方法は、ファイルアクセスログを表形式へ格納し、汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更し、表としたデータ構造を圧縮する。
【0028】
本発明のファイルアクセスログ圧縮プログラムは、コンピュータを、ファイルアクセスログを表形式へ格納する表格納手段と、汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、表としたデータ構造を圧縮する圧縮処理手段と、して動作させる。
【発明の効果】
【0029】
本発明には、ファイルアクセスログを表として格納した際に新たに出来るファイルアクセスログの特徴を生かし、さらに高い圧縮を行えると言う効果がある。
【図面の簡単な説明】
【0030】
【図1】第1の実施の形態のファイルアクセスログ格納および圧縮システムの構成例を示すブロック図である。
【図2】第1の実施の形態のファイルアクセスログ格納および圧縮システムの表格納手段11の構成例を示すブロック図である。
【図3】第1の実施の形態のファイルアクセスログ格納および圧縮システムの表圧縮前処理手段12の構成例を示すブロック図である。
【図4】ログ一時保存装置2に保存されているログの形式の一例である。
【図5】非特許文献1に記載されているファイルアクセスログの格納形式を示す図である。
【図6】第1の実施の形態のファイルアクセスログ格納および圧縮システムの動作例を示すフローチャートである。
【図7】第1の実施の形態のファイルアクセスログ格納および圧縮システムの表形式による格納S2の動作例を示すフローチャートである。
【図8】第1の実施の形態のファイルアクセスログ格納および圧縮システムの表形式による格納S3の動作例を示すフローチャートである。
【図9】第1の実施の形態のファイルアクセスログ格納形式および非特許文献1の方式をそれぞれ適用した時のファイルアクセスログの圧縮率の結果である。
【発明を実施するための形態】
【0031】
以下で説明する本実施形態は、専用のハードウェア、コンピュータとコンピュータを制御するプログラム、あるいは、専用のハードウェア及びコンピュータとコンピュータを制御するプログラムの組み合わせにより、実現することができる。
【0032】
図1は、本発明を実施するための第1の実施形態を示すブロック図である。図1に示されるように本発明を実施するための第1の実施の形態におけるログ格納および圧縮システム1(ファイルアクセスログ圧縮システム)とは、表格納手段11と表圧縮前処理手段12と圧縮処理手段13を含む。またログ格納および圧縮システム1は入力となるログ一時保存装置2と出力になるログ保存装置3に接続している。
【0033】
表格納手段11は、入力となるログ一時保存装置2と出力となる表圧縮前処理手段12と接続されている。
【0034】
表圧縮前処理手段12は、入力となる表格納手段11と出力となる圧縮処理手段13と接続されている。
【0035】
図2は表格納手段11を表すブロック図である。表格納手段11は、ログ一時保存装置2からの入力を得ると、パス分割手段111により、パスを含む要素をパスと要素に分割を行う。例えば、絶対パスで記述されたファイル名の要素は、ディレクトリパスとファイル名に分けられる。
【0036】
パスが分割がされた表が出来ると、要素別表作成手段112により、図5のように、文字列情報の要素は、要素ごとに文字列表を持つ。出現したログのパターンは、この文字列表のインデックスの組み合わせとして表に記録される。これは[非特許文献1]による表の作成と同様であってもよく、また、別の形式の表として格納してもよい。
【0037】
このようにログ情報を記録する際に、文字列情報の代わりにインデックスを持つことにより、文字列情報の繰り返しを回避する事が出来る。さらにイベントテーブルに格納されたログのパターンの出現順をイベントストリームとして記録することにより、イベントテーブル内の重複したログのパターンを削除することができる。必要な文字列の繰り返しをテーブルに対するインデックスを持つ事により、データ量を削減して、圧縮率の向上を図ることができる。
【0038】
図3は表圧縮前処理手段12を表すブロック図である。表圧縮前処理手段12は、入力として要素別に分割された表が渡されると、各要素のインデックスを持つイベントテーブルに対して、差分計算手段121より要素別方向に差分計算を行う。差分計算が行われると、ファイルアクセスログの参照の局所性の特徴から、同じ値が連続する可能性が増しているため、連長圧縮手段122により連長圧縮を行う。連長圧縮手段122が終了すると、インデックステーブル分割手段123によりイベントテーブルを各要素に分割する。これにより、イベントテーブルを各要素方向へ圧縮を行うことができる。各要素方向へ圧縮を行うと、ファイルアクセスの参照の局所性の特徴からより高い圧縮を期待できる。
【0039】
表圧縮前処理手段12が終了すると圧縮処理手段13により圧縮される。この圧縮方式は、汎用的な圧縮アルゴリズムでよく、例えば、GzipやBzip2などを用いればよい。
【0040】
圧縮処理手段13により圧縮されたデータはログ保存装置3に格納される。
【0041】
図6は、本発明を実施するための第1の実施の形態におけるログ格納および圧縮システム1の動作を示すフローチャートである。まずS1でログの入力があると、S2でログのデータ構造を表形式による格納方式に変形する。
【0042】
図7は表形式による格納の動作のフローチャートである。表形式による格納方法S2は、各要素に対してディレクトリパスを含むか含まないかを検索する(S21)。ディレクトリパスを含む場合、ディレクトリパスと要素のそれぞれの要素に分けられる(S22)。このとき、ディレクトリパスと要素の2つに分けてもよいし、ディレクトリパスの構造を解析し、ディレクトリパスを複数に分割してもよい。次に文字列を持つ要素をそれぞれの文字列テーブルに格納し、文字列の代わりにその文字列テーブルへのインデックスを持つイベントテーブルを作成する(S23)。次にイベントテーブルの行のインデックスをイベントストリームテーブルに格納する。この時イベントテーブルに同じ行が出現した場合、2回目以降の行は削除し、1回目のインデックスをイベントストリームテーブルに格納する。また、ログの発生時刻を持った要素をタイムテーブルとして独立に持つようにする(S24)。例えば、図4のようなログが与えられた時、S2の操作を終えた後のデータ構造は、図5のようになっている。
【0043】
S2でログの表形式にしたことにより、ファイルアクセスログを表にした時に現れる特徴を利用することができる(S3)。図8は圧縮前処理S3の動作のフローチャートである。S3では、まず、イベントテーブルの要素方向への差分を計算し、イベントテーブルの各要素と置き換える(S31)。このとき可逆に戻せるように、例えば先頭の要素はそのままとする。差分をとったことにより同じ要素が多くなったため、イベントテーブルの連長圧縮を行う(S32)。このときすべての要素に対して連長圧縮を行ってもよいし、連長が一定以上ある要素にのみ行ってもよい。連長圧縮を行ったテーブルの各要素を別々のテーブルに分割をする(S33)。
【0044】
以上の処理を行うと、これらテーブルに対して汎用的な圧縮アルゴリズムにより圧縮が行われる。(S4)これにより圧縮したデータが出力され、ログ保存装置3に保存される。なお、本発明により圧縮したファイルを解凍する際は、上記した手順の逆を辿ればよく、自明であるため、詳細は省略する。
【0045】
[効果の説明]
第1の実施形態におけるログ格納および圧縮システム1は、ディレクトリパスの分割(S24)により、文字列の繰り返しをさらに省略でき、イベントテーブルの要素方向への差分計算(S31)を行うことにより、インデックスであらわされる連続する要素を同じものと見なせるようにし、これをS32により連長圧縮することによりさらなる圧縮が望め、さらに、S33でイベントテーブルの要素方向への分割を行うことにより、要素数の少ない要素のテーブルの圧縮率の向上が見込め、これら操作を行うことにより、汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更することができ、結果として、汎用的な圧縮アルゴリズムによる圧縮率の向上が望める。
【0046】
図9は、論文1と本発明とにおける圧縮率を比較したグラフである。ここで圧縮アルゴリズムとしてGzip,Bzip2を用いた。また圧縮率は圧縮対象の動作に影響して変化するので、以下の3つの状態の時のログに対して行った。
【0047】
・Install:インストール作業を含むログ。
【0048】
・Routine:インストール作業を含まない業務ソフトを使用したログ
・Idle: なにも操作を行っていない状態(スクリーンロック)
この結果によれば、本発明のほうが30〜50%圧縮率が向上していることが分かり、本発明の目的を満たしていることが分かる。
【0049】
以上で説明した本実施形態には、ファイルアクセスログを表として格納した際に新たに出来るファイルアクセスログの特徴を生かし、さらに高い圧縮を行えると言う効果がある。
【0050】
その理由は、表として格納した時のイベントテーブルに対する特徴まで考慮し、汎用的な圧縮アルゴリズムが効果的に圧縮できるデータ構造に変更するためである。
【0051】
本発明のログの圧縮方式は、表への階層的な構造を持つパスの要素を分割する手段と、要素に対して差分を計算する手段と、表を要素方向へ圧縮する手段とを備え、このような構成を採用し、ファイルアクセスログを表に格納した際に新たに出来るファイルアクセスの特徴を考慮し、汎用的なアルゴリズムが圧縮しやすいデータ構造に変更をすることにより、本発明の目的を達成することができる。
【0052】
システムを監視するために監視ログを取得することが一般的であるが、監視ログが膨大であり、データ量を減らす必要がある。データ量を減らす方法としては、ログの本来の目的である監視能力をなるべく減らさないように可逆圧縮が用いられる。圧縮率を向上するには圧縮対象の特徴を利用するのが有効であり、ファイルアクセスログは繰り返しが多いため、表として格納することが知られている。しかし、表に格納することにより新たに出来るファイルアクセスの特徴を利用することによりさらに圧縮が望める。
【0053】
本実施形態のファイルアクセスログ圧縮システムは、ファイルアクセスログを表に格納することにより新たに出来たファイルアクセスの特徴を利用し、ログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更しさらに高い圧縮率を得ることができる。
【0054】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【0055】
1 ログ格納および圧縮システム
2 ログ一時保存装置
3 ログ保存装置
11 表格納手段
12 表圧縮前処理手段
13 圧縮処理手段
111 パス分割手段
112 要素別表作成手段
121 差分計算手段
122 連長圧縮手段
123 インデックステーブル分割手段
【技術分野】
【0001】
本発明はファイルアクセスログ圧縮システム、ファイルアクセスログ圧縮方法、及びファイルアクセスログ圧縮プログラムに関する。
【背景技術】
【0002】
情報漏えい、システムの不具合、不正利用などの脅威を監視するために、システムの構成要素が生成するイベントログの監視が行われている。このような監視をする目的の一つは、脅威の発覚後にその脅威の原因を究明することである。しかし監視対象が生成するログは膨大であるため、そのままログを収集すると、以下のような問題がある。
【0003】
・ログの保存に必要な記憶容量が大きくなる
・ログ収集のために、より多くのリソース(ネットワーク容量など)が必要になる
上記のような問題を解決するために、ログのサイズを減らすことが一般的である。ログのサイズを減らすためには、可逆的方法である可逆圧縮や不可逆的方法であるフィルタリングなどが行われている。ここでログを取得する本来の目的は、脅威の発覚後の原因究明であるが、どのログが脅威発覚の原因究明に役に立つのか判断が難しい。そのため原因究明に必要となるであろう情報は可能な限り減らさないよう、可逆的方法である可逆圧縮を用いることが一般的である。
【0004】
圧縮の効果は、圧縮対象の特徴に大きく依存し、同じ圧縮形式を用いてもログを取得する対象や利用環境により大きく変化することが知られている。そのため圧縮対象の特徴をよく理解することが重要となる。圧縮対象の特徴を理解すると、ログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変換することができ、さらに高い圧縮率を期待できる。汎用的な圧縮アルゴリズムが圧縮しやすいデータとは、連続して同じデータが並び、パターンの異なる繰り返しが少ないようなデータであったり、またデータ量として大きくなる文字列のようなデータが少ないデータである。
【0005】
そこで本発明は、圧縮対象をファイルアクセスログに限定し、ファイルアクセスの特徴を利用したデータ格納方法および圧縮方法について述べる。ファイルアクセスログは以下のような特徴を持つ。
【0006】
・複数の要素(ユーザID(Identification)、時間、URL(Uniform Resource Locator)など)を持つ。
【0007】
・空間的局所性により類似した、または同一のファイルアクセスが反復して発生する。
【0008】
・時間的局所性により、タスクが発生した時に、短期間に大量のアクセスが発生する。
【0009】
・システムなどにより周期的にファイルアクセスが発生する。
【0010】
非特許文献1では、ファイルアクセスの類似したまたは同一のファイルアクセスが反復して発生する特徴を利用するためにファイルアクセスログを表として格納している。
【0011】
非特許文献1に記載されたシステムは、図4のようなログが得られた場合、文字列情報をもつ要素に対して、要素別の表とそれぞれのログの要素に対してポインタを保持する表に分割を行う。文字列情報の要素は、要素ごとにテーブルを持つ。出現したログのパターンは、文字列テーブルのインデックスの組み合わせとしてイベントテーブルに記録される。ここでポインタは、要素別のテーブルのインデックスである。ログ情報を記録する際に、文字列情報の代わりにインデックスを持つことにより、文字列情報の繰り返しを回避することができる。また、イベントが発生した順番をイベントストリームテーブルに格納し、そのイベントが起こった時刻をタイムスタンプテーブルに格納する。不要な文字列の繰り返しをテーブルに対するインデックスとして持つことにより、データ量を削減して、圧縮率の向上が見込める。
【0012】
しかし、表に格納することにより、新たに出来たファイルアクセスの特徴が現れる。例えば、表にすることにより、イベントテーブルには同じログのパターンは含まなく、新しいIDが追加されるのは、そのパターンのアクセスが最初に起こった時であるため、連続して起こるアクセスは、IDが近い番号となることが多い。このように表に用いることにより、新たにファイルアクセスログの特徴が出現することが分かるが、非特許文献1ではこのような新たに出来たファイルアクセスの特徴までは考慮していない。
【0013】
また、ファイルアクセスの空間の局所性により、ログの要素にパスのような階層的な構造を持つ文字列に含まれた場合、この階層に適した分割を行うことにより文字列の繰り返しをさらに回避することができるが、これも非特許文献1では行っていない。
【0014】
このようにある対象のログを表に格納することにより、新しい特徴が発生することが分かる。表や表に対する行、列に対してその対象の特徴を用いて、圧縮を行っている既存技術も存在する。
【0015】
特許文献1に記載されたシステムでは、変化があまりない比較的安定した時系列データに対して、差分化手段を用いてデータ圧縮を行っている。しかし、ファイルアクセスログはシステムによる定期的なアクセスやイベントに伴う大量のログが発生するため、安定なデータではないが、ファイルアクセスの短期間に大量に発生するという特徴を利用することにより安定している状態でなくても、差分圧縮を効果的であるといえる。
【0016】
また特許文献2に記載されたシステムでは、画像データをプリンタに送信する際に画像の内容により読み込む方向で圧縮率が変化する特徴を利用し、送信する前に主走査方向と副走査方向の2つの方向に対して圧縮を行う。そして圧縮率の高い方向で送信することにより送信負荷を軽減するものである。この時、画像を表として考えた場合、表の圧縮にも同様のことが言える。ここで画像の場合、主走査方向と副走査方向のどちらが圧縮率が高くなるかは完全に画像依存となるが、ファイルアクセスの場合、副走査方向、つまり要素方向で圧縮することにより、時系列データとして見ることができ、さらにユーザやアクセスの種類のような要素数が少ない要素に対しては、連続して同じ値が続く可能性が高くなり、さらに圧縮率の向上が見込める。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】特開平3−055919号公報
【特許文献2】特開平8−279915号公報
【非特許文献】
【0018】
【非特許文献1】C Verbowski, et.al.”Flight Data Recorder: Monitoring Persistent-State Interactions to Improve Systems Management”, OSDI ’06: 7th USENIX
【発明の概要】
【発明が解決しようとする課題】
【0019】
本発明が解決しようとする課題は、ファイルアクセスログを表に格納することにより、ファイルアクセスログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更するが、表形式として格納することにより新たに出来るファイルアクセスの特徴までは利用していないため、冗長性が残されているという課題である。
【0020】
上述した非特許文献1に記載されたシステムでは、ファイルアクセスログの繰り返し同じものが出力されるという特徴を生かし、ファイルアクセスログを表に格納することにより、文字列情報の繰り返しを回避することが出来る。しかし、ファイルアクセスログを表として格納した時に新たに出来る特徴については利用をしていない。
【0021】
またファイルアクセスログは、パスのような階層的な構造を持つ文字列を含むファイルを持つが、参照の局所性より似たようなパスが発生する可能性が高いため、似たようなパスを分割することにより、さらに文字列の繰り返しを少なくすることができ、冗長性が残されている。
【0022】
表に格納されているデータに対して圧縮を行うものとして、上述した特許文献1では、安定した時系列データに対して差分をとることにより圧縮率を向上している。しかし、ファイルアクセスログはシステムによる定期的なアクセスやイベントに伴う大量のログが発生するため、安定なデータではない。しかし、ファイルアクセスの短期間に大量に発生するという空間的局所性の特徴を利用することにより安定している状態でなくても、表に格納することにより、同一のアクセスには同一のIDを割り当てられるようになるため、これに差分を適用することにより差分を計算することにより一定の値を取得することができる。また、時間的局所性の特徴は、よく起こるアクセスを似たようなインデックスが連続してつけられるため、差分をとることにより、一定の値になる可能性があり、一定の圧縮率向上が見込める。
【0023】
上述した特許文献2では、画像の内容により、主走査方向と副走査方向で圧縮率が違うという特徴を利用し、圧縮率の高い方向で圧縮するというものである。画像を表として考えると表に対しても同様のことが言える。非特許文献1の方法で表にした時のイベントテーブルは、ファイルアクセスの特徴である参照の局所性から、複数の通りの圧縮を試みなくても、各要素方向に圧縮を行ったほうが、圧縮率が高いことが分かる。そのため表を要素方向に圧縮することにより圧縮率向上が見込める。
【0024】
特許文献1および特許文献2は、表についての圧縮率向上を用いているが、それぞれ、安定したデータおよび画像データに対する圧縮方法であり、ファイルアクセスの特徴を利用したものではない。
【0025】
[発明の目的]
本発明の目的は、ファイルアクセスログを表に格納することにより新たに出来たファイルアクセスの特徴を利用し、ログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更しさらに高い圧縮率を得るファイルアクセスログ圧縮システムを提供することにある。
【課題を解決するための手段】
【0026】
本発明のファイルアクセスログ圧縮システムは、ファイルアクセスログを表形式へ格納する表格納手段と、汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、表としたデータ構造を圧縮する圧縮処理手段と、を備える。
【0027】
本発明のファイルアクセスログ圧縮方法は、ファイルアクセスログを表形式へ格納し、汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更し、表としたデータ構造を圧縮する。
【0028】
本発明のファイルアクセスログ圧縮プログラムは、コンピュータを、ファイルアクセスログを表形式へ格納する表格納手段と、汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、表としたデータ構造を圧縮する圧縮処理手段と、して動作させる。
【発明の効果】
【0029】
本発明には、ファイルアクセスログを表として格納した際に新たに出来るファイルアクセスログの特徴を生かし、さらに高い圧縮を行えると言う効果がある。
【図面の簡単な説明】
【0030】
【図1】第1の実施の形態のファイルアクセスログ格納および圧縮システムの構成例を示すブロック図である。
【図2】第1の実施の形態のファイルアクセスログ格納および圧縮システムの表格納手段11の構成例を示すブロック図である。
【図3】第1の実施の形態のファイルアクセスログ格納および圧縮システムの表圧縮前処理手段12の構成例を示すブロック図である。
【図4】ログ一時保存装置2に保存されているログの形式の一例である。
【図5】非特許文献1に記載されているファイルアクセスログの格納形式を示す図である。
【図6】第1の実施の形態のファイルアクセスログ格納および圧縮システムの動作例を示すフローチャートである。
【図7】第1の実施の形態のファイルアクセスログ格納および圧縮システムの表形式による格納S2の動作例を示すフローチャートである。
【図8】第1の実施の形態のファイルアクセスログ格納および圧縮システムの表形式による格納S3の動作例を示すフローチャートである。
【図9】第1の実施の形態のファイルアクセスログ格納形式および非特許文献1の方式をそれぞれ適用した時のファイルアクセスログの圧縮率の結果である。
【発明を実施するための形態】
【0031】
以下で説明する本実施形態は、専用のハードウェア、コンピュータとコンピュータを制御するプログラム、あるいは、専用のハードウェア及びコンピュータとコンピュータを制御するプログラムの組み合わせにより、実現することができる。
【0032】
図1は、本発明を実施するための第1の実施形態を示すブロック図である。図1に示されるように本発明を実施するための第1の実施の形態におけるログ格納および圧縮システム1(ファイルアクセスログ圧縮システム)とは、表格納手段11と表圧縮前処理手段12と圧縮処理手段13を含む。またログ格納および圧縮システム1は入力となるログ一時保存装置2と出力になるログ保存装置3に接続している。
【0033】
表格納手段11は、入力となるログ一時保存装置2と出力となる表圧縮前処理手段12と接続されている。
【0034】
表圧縮前処理手段12は、入力となる表格納手段11と出力となる圧縮処理手段13と接続されている。
【0035】
図2は表格納手段11を表すブロック図である。表格納手段11は、ログ一時保存装置2からの入力を得ると、パス分割手段111により、パスを含む要素をパスと要素に分割を行う。例えば、絶対パスで記述されたファイル名の要素は、ディレクトリパスとファイル名に分けられる。
【0036】
パスが分割がされた表が出来ると、要素別表作成手段112により、図5のように、文字列情報の要素は、要素ごとに文字列表を持つ。出現したログのパターンは、この文字列表のインデックスの組み合わせとして表に記録される。これは[非特許文献1]による表の作成と同様であってもよく、また、別の形式の表として格納してもよい。
【0037】
このようにログ情報を記録する際に、文字列情報の代わりにインデックスを持つことにより、文字列情報の繰り返しを回避する事が出来る。さらにイベントテーブルに格納されたログのパターンの出現順をイベントストリームとして記録することにより、イベントテーブル内の重複したログのパターンを削除することができる。必要な文字列の繰り返しをテーブルに対するインデックスを持つ事により、データ量を削減して、圧縮率の向上を図ることができる。
【0038】
図3は表圧縮前処理手段12を表すブロック図である。表圧縮前処理手段12は、入力として要素別に分割された表が渡されると、各要素のインデックスを持つイベントテーブルに対して、差分計算手段121より要素別方向に差分計算を行う。差分計算が行われると、ファイルアクセスログの参照の局所性の特徴から、同じ値が連続する可能性が増しているため、連長圧縮手段122により連長圧縮を行う。連長圧縮手段122が終了すると、インデックステーブル分割手段123によりイベントテーブルを各要素に分割する。これにより、イベントテーブルを各要素方向へ圧縮を行うことができる。各要素方向へ圧縮を行うと、ファイルアクセスの参照の局所性の特徴からより高い圧縮を期待できる。
【0039】
表圧縮前処理手段12が終了すると圧縮処理手段13により圧縮される。この圧縮方式は、汎用的な圧縮アルゴリズムでよく、例えば、GzipやBzip2などを用いればよい。
【0040】
圧縮処理手段13により圧縮されたデータはログ保存装置3に格納される。
【0041】
図6は、本発明を実施するための第1の実施の形態におけるログ格納および圧縮システム1の動作を示すフローチャートである。まずS1でログの入力があると、S2でログのデータ構造を表形式による格納方式に変形する。
【0042】
図7は表形式による格納の動作のフローチャートである。表形式による格納方法S2は、各要素に対してディレクトリパスを含むか含まないかを検索する(S21)。ディレクトリパスを含む場合、ディレクトリパスと要素のそれぞれの要素に分けられる(S22)。このとき、ディレクトリパスと要素の2つに分けてもよいし、ディレクトリパスの構造を解析し、ディレクトリパスを複数に分割してもよい。次に文字列を持つ要素をそれぞれの文字列テーブルに格納し、文字列の代わりにその文字列テーブルへのインデックスを持つイベントテーブルを作成する(S23)。次にイベントテーブルの行のインデックスをイベントストリームテーブルに格納する。この時イベントテーブルに同じ行が出現した場合、2回目以降の行は削除し、1回目のインデックスをイベントストリームテーブルに格納する。また、ログの発生時刻を持った要素をタイムテーブルとして独立に持つようにする(S24)。例えば、図4のようなログが与えられた時、S2の操作を終えた後のデータ構造は、図5のようになっている。
【0043】
S2でログの表形式にしたことにより、ファイルアクセスログを表にした時に現れる特徴を利用することができる(S3)。図8は圧縮前処理S3の動作のフローチャートである。S3では、まず、イベントテーブルの要素方向への差分を計算し、イベントテーブルの各要素と置き換える(S31)。このとき可逆に戻せるように、例えば先頭の要素はそのままとする。差分をとったことにより同じ要素が多くなったため、イベントテーブルの連長圧縮を行う(S32)。このときすべての要素に対して連長圧縮を行ってもよいし、連長が一定以上ある要素にのみ行ってもよい。連長圧縮を行ったテーブルの各要素を別々のテーブルに分割をする(S33)。
【0044】
以上の処理を行うと、これらテーブルに対して汎用的な圧縮アルゴリズムにより圧縮が行われる。(S4)これにより圧縮したデータが出力され、ログ保存装置3に保存される。なお、本発明により圧縮したファイルを解凍する際は、上記した手順の逆を辿ればよく、自明であるため、詳細は省略する。
【0045】
[効果の説明]
第1の実施形態におけるログ格納および圧縮システム1は、ディレクトリパスの分割(S24)により、文字列の繰り返しをさらに省略でき、イベントテーブルの要素方向への差分計算(S31)を行うことにより、インデックスであらわされる連続する要素を同じものと見なせるようにし、これをS32により連長圧縮することによりさらなる圧縮が望め、さらに、S33でイベントテーブルの要素方向への分割を行うことにより、要素数の少ない要素のテーブルの圧縮率の向上が見込め、これら操作を行うことにより、汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更することができ、結果として、汎用的な圧縮アルゴリズムによる圧縮率の向上が望める。
【0046】
図9は、論文1と本発明とにおける圧縮率を比較したグラフである。ここで圧縮アルゴリズムとしてGzip,Bzip2を用いた。また圧縮率は圧縮対象の動作に影響して変化するので、以下の3つの状態の時のログに対して行った。
【0047】
・Install:インストール作業を含むログ。
【0048】
・Routine:インストール作業を含まない業務ソフトを使用したログ
・Idle: なにも操作を行っていない状態(スクリーンロック)
この結果によれば、本発明のほうが30〜50%圧縮率が向上していることが分かり、本発明の目的を満たしていることが分かる。
【0049】
以上で説明した本実施形態には、ファイルアクセスログを表として格納した際に新たに出来るファイルアクセスログの特徴を生かし、さらに高い圧縮を行えると言う効果がある。
【0050】
その理由は、表として格納した時のイベントテーブルに対する特徴まで考慮し、汎用的な圧縮アルゴリズムが効果的に圧縮できるデータ構造に変更するためである。
【0051】
本発明のログの圧縮方式は、表への階層的な構造を持つパスの要素を分割する手段と、要素に対して差分を計算する手段と、表を要素方向へ圧縮する手段とを備え、このような構成を採用し、ファイルアクセスログを表に格納した際に新たに出来るファイルアクセスの特徴を考慮し、汎用的なアルゴリズムが圧縮しやすいデータ構造に変更をすることにより、本発明の目的を達成することができる。
【0052】
システムを監視するために監視ログを取得することが一般的であるが、監視ログが膨大であり、データ量を減らす必要がある。データ量を減らす方法としては、ログの本来の目的である監視能力をなるべく減らさないように可逆圧縮が用いられる。圧縮率を向上するには圧縮対象の特徴を利用するのが有効であり、ファイルアクセスログは繰り返しが多いため、表として格納することが知られている。しかし、表に格納することにより新たに出来るファイルアクセスの特徴を利用することによりさらに圧縮が望める。
【0053】
本実施形態のファイルアクセスログ圧縮システムは、ファイルアクセスログを表に格納することにより新たに出来たファイルアクセスの特徴を利用し、ログのデータ構造を汎用的な圧縮アルゴリズムが圧縮しやすいデータ構造に変更しさらに高い圧縮率を得ることができる。
【0054】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
【符号の説明】
【0055】
1 ログ格納および圧縮システム
2 ログ一時保存装置
3 ログ保存装置
11 表格納手段
12 表圧縮前処理手段
13 圧縮処理手段
111 パス分割手段
112 要素別表作成手段
121 差分計算手段
122 連長圧縮手段
123 インデックステーブル分割手段
【特許請求の範囲】
【請求項1】
ファイルアクセスログを表形式へ格納する表格納手段と、
汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、
表としたデータ構造を圧縮する圧縮処理手段と、
を備えるファイルアクセスログ圧縮システム。
【請求項2】
ファイルアクセスログを表形式へ格納する際、文字列情報の繰り返しをなるべく少なくするように要素を分割して、表形式を作成する要素別表作成手段
を備える、請求項1に記載のファイルアクセスログ圧縮システム。
【請求項3】
ファイルアクセスログを表形式へ格納する際、要素ごとに差分をとる差分計算手段と、
差分をとった要素に対して連長圧縮をする連長圧縮手段と、
要素ごとに分割するインデックステーブル分割手段
を備えた、請求項1または請求項2に記載のファイルアクセスログ圧縮システム。
【請求項4】
ファイルアクセスログを表形式へ格納し、
汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更し、
表としたデータ構造を圧縮する、
ファイルアクセスログ圧縮方法。
【請求項5】
ファイルアクセスログを表形式へ格納する際、文字列情報の繰り返しをなるべく少なくするように要素を分割して、表形式を作成する
請求項4に記載のファイルアクセスログ圧縮方法。
【請求項6】
ファイルアクセスログを表形式へ格納する際、要素ごとに差分をとり、
差分をとった要素に対して連長圧縮をし、
要素ごとに分割する
請求項4または請求項5に記載のファイルアクセスログ圧縮方法。
【請求項7】
コンピュータを、
ファイルアクセスログを表形式へ格納する表格納手段と、
汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、
表としたデータ構造を圧縮する圧縮処理手段と、
して動作させるファイルアクセスログ圧縮プログラム。
【請求項8】
コンピュータを、
ファイルアクセスログを表形式へ格納する際、文字列情報の繰り返しをなるべく少なくするように要素を分割して、表形式を作成する要素別表作成手段
して動作させる、請求項7に記載のファイルアクセスログ圧縮プログラム。
【請求項9】
コンピュータを、
ファイルアクセスログを表形式へ格納する際、要素ごとに差分をとる差分計算手段と、
差分をとった要素に対して連長圧縮をする連長圧縮手段と、
要素ごとに分割するインデックステーブル分割手段
して動作させる、請求項7または請求項8に記載のファイルアクセスログ圧縮プログラム。
【請求項1】
ファイルアクセスログを表形式へ格納する表格納手段と、
汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、
表としたデータ構造を圧縮する圧縮処理手段と、
を備えるファイルアクセスログ圧縮システム。
【請求項2】
ファイルアクセスログを表形式へ格納する際、文字列情報の繰り返しをなるべく少なくするように要素を分割して、表形式を作成する要素別表作成手段
を備える、請求項1に記載のファイルアクセスログ圧縮システム。
【請求項3】
ファイルアクセスログを表形式へ格納する際、要素ごとに差分をとる差分計算手段と、
差分をとった要素に対して連長圧縮をする連長圧縮手段と、
要素ごとに分割するインデックステーブル分割手段
を備えた、請求項1または請求項2に記載のファイルアクセスログ圧縮システム。
【請求項4】
ファイルアクセスログを表形式へ格納し、
汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更し、
表としたデータ構造を圧縮する、
ファイルアクセスログ圧縮方法。
【請求項5】
ファイルアクセスログを表形式へ格納する際、文字列情報の繰り返しをなるべく少なくするように要素を分割して、表形式を作成する
請求項4に記載のファイルアクセスログ圧縮方法。
【請求項6】
ファイルアクセスログを表形式へ格納する際、要素ごとに差分をとり、
差分をとった要素に対して連長圧縮をし、
要素ごとに分割する
請求項4または請求項5に記載のファイルアクセスログ圧縮方法。
【請求項7】
コンピュータを、
ファイルアクセスログを表形式へ格納する表格納手段と、
汎用的な圧縮アルゴリズムが圧縮しやすい形式に表のデータ構造を変更する表圧縮前処理手段と、
表としたデータ構造を圧縮する圧縮処理手段と、
して動作させるファイルアクセスログ圧縮プログラム。
【請求項8】
コンピュータを、
ファイルアクセスログを表形式へ格納する際、文字列情報の繰り返しをなるべく少なくするように要素を分割して、表形式を作成する要素別表作成手段
して動作させる、請求項7に記載のファイルアクセスログ圧縮プログラム。
【請求項9】
コンピュータを、
ファイルアクセスログを表形式へ格納する際、要素ごとに差分をとる差分計算手段と、
差分をとった要素に対して連長圧縮をする連長圧縮手段と、
要素ごとに分割するインデックステーブル分割手段
して動作させる、請求項7または請求項8に記載のファイルアクセスログ圧縮プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【公開番号】特開2012−226502(P2012−226502A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−92565(P2011−92565)
【出願日】平成23年4月19日(2011.4.19)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願日】平成23年4月19日(2011.4.19)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】
[ Back to top ]