(57)【要約】【課題】  圧縮したファイルの復元のスピードが速く、全体復元と部分復元の双方が可能なログのテキストデータの圧縮復元装置、および圧縮復元方法を提供する。【解決手段】  圧縮復元装置１は、パターン当てはめ部１０と圧縮部２０と復元部３０とを含み、パターン当てはめ部１０は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、前記パターンは、固定部分および可変部分を含み、圧縮部２０は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、復元部３０は、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する。【選択図】  図１
2020135772.tif 000002
【特許請求の範囲】
【請求項１】
パターン当てはめ部、圧縮部、および復元部を含み、
前記パターン当てはめ部は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮部は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記復元部は、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する、ログのテキストデータの圧縮復元装置。
【請求項２】
前記パターン当てはめ部は、さらに、前記ログのテキストデータについて、前記単位毎に、モデルに含まれる前記パターンのうちのいずれの前記パターンであるかを決定し、前記パターンへの当てはめを行う、請求項１記載の圧縮復元装置。
【請求項３】
前記パターン当てはめ部は、さらに、パターン作成部を含み、
前記パターン作成部は、前記ログのテキストデータを分析することにより、前記パターンを作成する、請求項２記載の圧縮復元装置。
【請求項４】
前記パターン当てはめ部は、可変部分分析部を含み、
前記可変部分分析部は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータを分析する、請求項１から３のいずれか一項に記載の圧縮復元装置。
【請求項５】
前記可変部分分析部は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータが、変数情報に適合するかを分析する、請求項４記載の圧縮復元装置。
【請求項６】
パターン当てはめ工程、圧縮工程、および復元工程を含み、
前記パターン当てはめ工程は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮工程は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記復元工程は、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する、ログのテキストデータの圧縮復元方法。
【請求項７】
前記パターン当てはめ工程は、さらに、前記ログのテキストデータについて、前記単位毎に、モデルに含まれる前記パターンのうちのいずれの前記パターンであるかを決定し、前記パターンへの当てはめを行う、請求項６記載の圧縮復元方法。
【請求項８】
前記パターン当てはめ工程は、さらに、パターン作成工程を含み、
前記パターン作成工程は、前記ログのテキストデータを分析することにより、前記パターンを作成する、請求項７記載の圧縮復元方法。
【請求項９】
前記パターン当てはめ工程は、可変部分分析工程を含み、
前記可変部分分析工程は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータを分析する、請求項６から８のいずれか一項に記載の圧縮復元方法。
【請求項１０】
前記可変部分分析工程は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータが、変数情報に適合するかを分析する、請求項９記載の圧縮復元方法。
【請求項１１】
パターン当てはめ部、圧縮部、および送信部を含み、
前記パターン当てはめ部は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮部は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記送信部は、前記圧縮データを送信する、ログのテキストデータの送信装置。
【請求項１２】
受信部、記憶部、および復元部を含み、
前記受信部は、圧縮データを受信し、
前記圧縮データは、ログのテキストデータについて、単位毎に、パターン、および、前記パターンの可変部分に対応するテキストデータ、を含むデータであり、
前記パターンは、固定部分および前記可変部分を含み、
前記記憶部は、前記モデルを記憶し、
前記復元部は、前記記憶部に記憶された前記モデルに基づき、前記決定されたパターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する、ログのテキストデータの受信装置。
【請求項１３】
請求項６から１０のいずれか一項に記載の方法をコンピュータ上で実行可能なプログラム。
【請求項１４】
請求項１３記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログのテキストデータの圧縮復元装置、ログのテキストデータの圧縮復元方法、ログのテキストデータの送信装置、ログのテキストデータの受信装置、プログラムおよび記録媒体に関する。
【背景技術】
【０００２】
装置やソフトウェア等が出力するログの蓄積および保管にともない、ディスク装置の使用量が増加する。
【０００３】
ログの容量を削減する方法として、ｚｉｐ形式等で圧縮する方法があげられる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の圧縮方法では、圧縮したファイルの全てを解凍しないと必要なログが抽出できないため、解凍のために一時的にディスク使用量が増える、必要なログの抽出に時間がかかる等の問題があった。
【０００５】
そこで、本発明は、圧縮したファイルの復元のスピードが速く、全体復元と部分復元の双方が可能なログのテキストデータの圧縮復元装置、および圧縮復元方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、本発明のログのテキストデータの圧縮復元装置は、
パターン当てはめ部、圧縮部、および復元部を含み、
前記パターン当てはめ部は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮部は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記復元部は、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する。
【０００７】
本発明のログのテキストデータの圧縮復元方法は、
パターン当てはめ工程、圧縮工程、および復元工程を含み、
前記パターン当てはめ工程は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮工程は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記復元工程は、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する。
【０００８】
本発明のログのテキストデータの送信装置は、
パターン当てはめ部、圧縮部、および送信部を含み、
前記パターン当てはめ部は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮部は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記送信部は、前記圧縮データを送信する。
【０００９】
本発明のログのテキストデータの受信装置は、
受信部、記憶部、および復元部を含み、
前記受信部は、圧縮データを受信し、
前記圧縮データは、ログのテキストデータについて、単位毎に、パターン、および、前記パターンの可変部分に対応するテキストデータ、を含むデータであり、
前記パターンは、固定部分および前記可変部分を含み、
前記記憶部は、前記モデルを記憶し、
前記復元部は、前記記憶部に記憶された前記モデルに基づき、前記決定されたパターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する。
【００１０】
本発明のプログラムは、前記本発明のログのテキストデータの圧縮復元方法をコンピュータに実行させることを特徴とする。
【００１１】
本発明の記録媒体は、前記本発明のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１２】
本発明によれば、圧縮したファイルの復元のスピードが速く、全体復元と部分復元の双方が可能なログのテキストデータの圧縮復元装置、および圧縮復元方法を提供できる。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施形態１のログのテキストデータの圧縮復元装置の一例の構成を示すブロック図である。
【図２】図２は、実施形態１のログのテキストデータの圧縮復元装置のハードウェア構成の一例を示すブロック図である。
【図３】図３は、実施形態１のログのテキストデータおよびモデルの一例を示す表である。
【図４】図４は、実施形態１のログのテキストデータが、パターンに適合するか否かを判定する場合の一例を示す表である。
【図５】図５は、実施形態１の可変部分のテキストデータが、変数情報に適合するかを分析する場合の一例を示す表である。
【図６】図６は、実施形態１の分析結果を出力する場合の一例を示す表である。
【図７】図７は、実施形態１の圧縮データの一例を示す表である。
【図８】図８は、実施形態１の圧縮データから、前記ログのテキストデータの一部を復元する場合の一例を示す表である。
【図９】図９は、実施形態１のログのテキストデータの圧縮復元装置における処理の一例を示すフローチャートである。
【図１０】図１０は、実施形態２のログのテキストデータの分析により、モデルを作成する場合の一例を示す表である。
【図１１】図１１は、実施形態２の可変部分のテキストデータの分析の一例を示す表である。
【図１２】図１２は、実施形態２の作成したモデルを出力する場合の一例を示す表である。
【図１３】図１３は、実施形態２のログのテキストデータの圧縮復元装置における処理の一例を示すフローチャートである。
【図１４】図１４は、実施形態３のログのテキストデータの圧縮復元装置の一例の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
次に、本発明の実施形態について、図１から図１４を用いて説明する。本発明は、下記の実施形態によって何ら限定および制限されない。なお、図１から図１４において、同一部分には、同一符号を付している。各実施形態における説明は、それぞれ、互いを援用できる。
【００１５】
［実施形態１］
図１は、本実施形態のログのテキストデータの圧縮復元装置の一例の構成を示すブロック図である。図１に示すように、圧縮復元装置１は、パターン当てはめ部１０と圧縮部２０と復元部３０とを含む。圧縮復元装置１は、例えば、システムとしてサーバーに組み込まれてもよいし、本発明のプログラムがインストールされたパーソナルコンピューター（ＰＣ）でもよい。
【００１６】
圧縮復元装置１は、例えば、前記各部を含む１つの装置でもよいし、複数の装置を含むシステムでもよい。後者の場合、例えば、後述するように、パターン当てはめ部１０および圧縮部２０を含む送信装置１００と復元部３０を含む受信装置２００とが、通信回線網３００を介して接続されていてもよい。通信回線網３００は、特に制限されず、公知のネットワークを使用でき、例えば、有線でも無線でもよい。通信回線網３００は、例えば、インターネット回線、電話回線、ＬＡＮ（Local  Area  Network）、ＷｉＦｉ（Wireless  Fidelity）等があげられる。
【００１７】
図２に、圧縮復元装置１のハードウェア構成のブロック図を例示する。以下において、圧縮復元装置１が、前記各部を含む１つの装置として示すが、前述したように、これには限定されない。圧縮復元装置１は、例えば、ＣＰＵ（中央処理装置）１０１、メモリ１０２、記憶装置１０４、入力装置１０５、ディスプレイ１０６、通信デバイス１０７等を有する。圧縮復元装置１の各部は、例えば、バス１０３を介して、相互に接続されている。
【００１８】
ＣＰＵ１０１は、圧縮復元装置１の全体の制御を担う。圧縮復元装置１において、ＣＰＵ１０１により、例えば、本発明のプログラムやその他のプログラムが実行され、また、各種情報の読み込みや書き込みが行われる。具体的に、圧縮復元装置１は、例えば、ＣＰＵ１０１が、パターン当てはめ部１０、圧縮部２０および復元部３０として機能する。
【００１９】
バス１０３は、例えば、外部機器とも接続できる。前記外部機器は、例えば、外部記憶装置（外部データベース等）、プリンター等があげられる。圧縮復元装置１は、例えば、バス１０３に接続された通信デバイス１０７により、通信回線網（図示せず）に接続でき、前記通信回線網を介して、前記外部機器と接続することもできる。
【００２０】
メモリ１０２は、例えば、メインメモリを含み、前記メインメモリは、主記憶装置ともいう。ＣＰＵ１０１が処理を行う際には、例えば、後述する記憶装置１０４に記憶されている、本発明のプログラム等の種々の動作プログラムを、メモリ１０２が読み込み、ＣＰＵ１０１は、メモリ１０２からデータを受け取って、プログラムを実行する。前記メインメモリは、例えば、ＲＡＭ（ランダムアクセスメモリ）である。メモリ１０２は、例えば、さらに、ＲＯＭ（読み出し専用メモリ）を含む。
【００２１】
記憶装置１０４は、例えば、前記メインメモリ（主記憶装置）に対して、いわゆる補助記憶装置ともいう。前述のように、記憶装置１０４には、本発明のプログラムを含む動作プログラムが格納されている。記憶装置１０４は、例えば、記憶媒体と、前記記憶媒体に読み書きするドライブとを含む。前記記憶媒体は、特に制限されず、例えば、内蔵型でも外付け型でもよく、ＨＤ（ハードディスク）、ＦＤ（フロッピー（登録商標）ディスク）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＭＯ、ＤＶＤ、フラッシュメモリー、メモリーカード等が挙げられ、前記ドライブは、特に制限されない。記憶装置１０４は、例えば、記憶媒体とドライブとが一体化されたハードディスクドライブ（ＨＤＤ）であってもよい。
【００２２】
圧縮復元装置１は、例えば、さらに、入力装置１０５、ディスプレイ１０６を有する。入力装置１０５は、例えば、タッチパネル、キーボード、マウス等である。ディスプレイ１０６は、例えば、ＬＥＤディスプレイ、液晶ディスプレイ等が挙げられる。
【００２３】
圧縮復元装置１において、メモリ１０２および記憶装置１０４は、ログのテキストデータ、パターンおよびモデルのデータ、ならびに圧縮データを記憶することも可能である。
【００２４】
次に、圧縮復元装置１の各部について説明する。
【００２５】
パターン当てはめ部１０は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行う。前記ログは、テキスト形式のデータであればよく、特に制限されず、例えば、操作ログ、アクセスログ、認証ログ、イベントログ、通信ログ、エラーログ等があげられる。前記単位は、例えば、前記ログのテキストデータにおける、行、および、所定の文字列で区切られる範囲等があげられる。前記行は、１行でもよいし、複数行でもよい。
【００２６】
前記パターンは、前記ログのテキストデータのパターンであり、固定部分および可変部分を含む。前記固定部分は、例えば、前記ログのテキストデータにおける、前記単位毎に共通する（変化しない）部分である。一方、前記可変部分は、例えば、前記ログのテキストデータにおける、前記単位毎に変化する部分である。なお、前記可変部分は、例えば、前記単位毎に変化し得る部分であればよく、例えば、所定の前記ログのテキストデータにおいて、前記単位毎に変化しない場合があってもよい。
【００２７】
パターン当てはめ部１０において、前記パターンを当てはめる方法は、特に制限されず、例えば、既知の解析手法を用いることができる。
【００２８】
前記パターンへの当てはめにより、前記ログのテキストデータについて、前記固定部分および前記可変部分への対応づけを行うことができる。
【００２９】
パターン当てはめ部１０は、さらに、ログのテキストデータについて、前記単位毎に、モデルに含まれるパターンのうちのいずれの前記パターンであるかを決定してもよい。
【００３０】
パターン当てはめ部１０による前記パターンの決定および前記当てはめについて、以下に、図３（Ａ）〜（Ｃ）を用いて説明する。図３（Ａ）は、前記ログのテキストデータの一例を示す表である。図３の表において、前記ログのテキストデータとして、８行のデータが示されている。
【００３１】
図３（Ｂ）に、前記モデルの一例を示す。図３（Ｂ）の表において、パターン１およびパターン２を含む前記モデルが示されている。図３（Ｂ）において、黒枠で囲んだ部分が、前記可変部分であり、黒枠で囲んだ以外の部分が、前記固定部分である。
【００３２】
パターン当てはめ部１０は、例えば、図３（Ａ）に示す前記ログのテキストデータについて、１行毎に、図３（Ｂ）に示す前記モデルに含まれる前記複数のパターンのうちのいずれの前記パターンであるかを決定する。具体的には、例えば、パターン当てはめ部１０は、前記ログのテキストデータについて、奇数行目がパターン１であり、偶数行目がパターン２であると決定する。前記パターンの決定方法は、特に制限されず、例えば、既知のログ構造解析手法、パターンマッチング手法等を用いることができる。
【００３３】
そして、パターン当てはめ部１０は、前記ログのテキストデータについて、１行毎に、前記決定されたパターン１またはパターン２への当てはめを行う。図３（Ｃ）は、図３（Ａ）に示す前記ログのテキストデータに、前記固定部分および可変部分の情報を追加した表である。図３（Ｃ）において、黒枠で囲んだ前記テキストデータが、前記可変部分であり、黒枠で囲んだ以外の前記テキストデータが、前記固定部分である。
【００３４】
パターン当てはめ部１０は、例えば、前記パターンへの当てはめを行い、前記ログのテキストデータが、前記パターンに適合するか否かを判定してもよい。そして、パターン当てはめ部１０は、例えば、さらに、前記パターンに適合すると判定された前記ログのテキストデータを出力してもよい。そして、例えば、後述する圧縮部３０において、圧縮対象の前記ログのテキストデータとして、前記パターンに適合すると判定された前記ログのテキストデータを使用してもよい。
【００３５】
図４に、前記ログのテキストデータが、前記パターンに適合するか否かを判定する場合の一例を示す。図４に示すように、パターン当てはめ部１０は、１から４の行番号のテキストデータを含む入力テキスト（ログのテキストデータ）について、１行毎に、前記パターンへの当てはめを行う。そして、行番号２から４については、前記パターンに適合し、行番号１については、前記パターンに適合しないと判定する。
【００３６】
パターン当てはめ部１０は、例えば、可変部分分析部を含んでもよい。前記可変部分分析部は、例えば、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータを分析する。前記分析は、例えば、前記可変部分の性質（タイプ）の分析があげられる。前記可変部分の性質は、例えば、タイムスタンプ、数値、ＩＰアドレス、ユーザＩＤ、エラーコード、その他等があげられる。
【００３７】
前記可変部分分析部は、例えば、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータが、変数情報に適合するかを分析してもよい。前記変数情報は、例えば、前記可変部分のテキストデータとして適合する変数の情報であり、例えば、値の集合（リスト）でもよいし、数値範囲の情報でもよい。前記変数情報は、例えば、前記パターンに紐づけて、圧縮復元装置１の記憶装置１０４等の記憶部に記憶されてもよい。
【００３８】
図５に、前記可変部分のテキストデータが、前記変数情報に適合するかを分析する場合の一例を示す。図５に示すように、前記可変部分分析部は、２から４の行番号のテキストデータを含む入力テキスト（ログのテキストデータ）について、１行毎に、前記可変部分（図中、黒枠で示す部分）のテキストデータが、「最小値２４０００、最大値２６６１９」という前記変数情報に適合するかを分析する。そして、行番号２および３については、前記変数情報に適合し、行番号４については、前記変数情報に適合しないという分析結果を得ることができる。
【００３９】
前記可変部分分析部は、例えば、前記分析結果を出力してもよい。図６に、前記分析結果を出力する場合の一例を示す。図６の例において、１行目の前記分析結果が出力された状態を示す。図６に示すように、前記可変部分分析部は、分析データ（ログのテキストデータ）について、１行毎に、前記可変部分のテキストデータを分析する。そして、前記ログのテキストデータについて、前記可変部分毎に、前記分析結果として、“ｆｉｅｌｄ＿ｎｕｍ”（可変部分の番号（可変部分のタイプ毎の出現順））、“ｆｉｅｌｄ＿ｔｙｐｅ”（可変部分のタイプ）、“ｖａｒｉａｂｌｅ＿ｖａｌｕｅ”（可変部分のテキストデータ）、“ａｎａｌｙｚｉｎｇ＿ｒｅｓｕｌｔ”（前記変数情報への適合・不適合）を出力する。具体的には、図６の例において、前記分析結果として、前記ログのテキストデータの１行目について、「11001」が、タイプ２（数値）の１番目の前記可変部分であり、「user00x000083」が、タイプ４（ユーザＩＤ）の１番目の前記可変部分であり、「192.168.12.01」が、タイプ１（ＩＰアドレス）の１番目の前記可変部分であり、「230086」が、タイプ２の２番目の前記可変部分であることが示されている。
【００４０】
圧縮部２０は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮する。前記圧縮データは、例えば、テキストデータである。前記パターンの情報は、例えば、前記パターンのテキストデータでもよいし、前記モデルに含まれるパターンの番号等でもよい。また、前記パターンの前記可変部分に対応するテキストデータの情報は、前記パターンの前記可変部分に対応するテキストデータでもよいし、前記変数情報のリストにおける番号等でもよい。
【００４１】
図７に、前記圧縮データの一例を示す。図７は、図６に示す前記ログのテキストデータを１行毎に圧縮した場合の前記圧縮データであり、図中、左から順に、前記パターンの情報（「１」または「２」）、および、前記パターンの前記可変部分に対応するテキストデータを示す。
【００４２】
ここで、例えば、図６に示す前記ログのテキストデータのファイルサイズは10,100,000バイトであるのに対し、図７に示す前記圧縮データのファイルサイズは5,200,000バイトである。そして、前記パターンのテキストデータのサイズは、例えば、5,886バイトである。このため、前記ログのテキストデータを、前記圧縮データと前記パターンのテキストデータとの組合せに圧縮した場合、前記圧縮により、例えば、4,894,114バイトの削減をすることができる。なお、前記削減量は一例であり、例えば、前記ログのテキストデータにおいて、前記固定部分が多いほど、データ削減量を多くすることができる。また、前記圧縮において、前記パターンのテキストデータを含めなくてもよい。
【００４３】
復元部３０は、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する。前記パターン、前記可変部分に対応する前記テキストデータ、前記圧縮データ等は、例えば、前述の通りである。
【００４４】
具体的には、復元部３０は、例えば、前記圧縮データについて、１行毎に、前記パターンの情報を読込み、これに対応する前記パターンのテキストデータを取得する。前記パターンのテキストデータの取得は、前述のように、前記圧縮において、前記圧縮データと前記パターンのテキストデータとの組合せに圧縮した場合、このデータから取得できる。また、前記パターンのテキストデータを、圧縮復元装置１の記憶装置１０４等の記憶部に記憶させておき、前記記憶部から取得してもよい。
【００４５】
次に、取得した前記パターンのテキストデータに、前記圧縮データに含まれる、前記パターンの前記可変部分に対応するテキストデータを当てはめる。これを、前記圧縮データの全ての行について繰り返す。これにより、前記圧縮データの全ての行を復元することができる。
【００４６】
復元部３０は、例えば、前記圧縮データから、前記ログのテキストデータの一部を復元してもよい。前記一部は、例えば、前記単位毎である。
【００４７】
図８は、前記圧縮データから、前記ログのテキストデータの一部を復元する場合の一例を示し、具体的には、３行目の前記ログのテキストデータを復元する場合の一例を示す。図８に示すように、復元部３０は、まず、前記圧縮データにおける、１および２行目に対応するデータについてはスキップ（空読み）し、３行目に対応する前記データ（図中、黒枠で囲んだ部分）を取得する（処理１）。そして、復元部３０は、前記３行目に対応する前記データにおいて、対応する前記パターンが「１」であることから、前記モデルを参照し、パターン番号１の前記パターンのテキストデータを取得する（処理２）。そして、前記取得したパターンのテキストデータに、前記パターンの前記可変部分に対応するテキストデータを当てはめて、前記ログのテキストデータを復元する（処理３）。このようにして、３行目の前記ログのテキストデータのみを復元することができる。復元した前記３行目の前記ログのテキストデータを、図８中、一番下の行に示す。
【００４８】
次に、本実施形態のログのテキストデータの圧縮復元方法の一例を、図９（Ａ）および（Ｂ）のフローチャートに基づき説明する。図９（Ａ）における工程（Ａ０）〜（Ａ２）、および図９（Ｂ）における工程（Ｂ０）〜（Ｂ１）は、例えば、それぞれ独立して行うこともできるし、工程（Ａ２）において出力した前記圧縮データを、工程（Ｂ０）において取得することにより、連続して行うこともできる。
【００４９】
まず、工程（Ａ１）に先立って、圧縮復元装置１が、前記ログのテキストデータを取得する（Ａ０）。前記ログのテキストデータの取得は、特に制限されず、例えば、圧縮復元装置１の記憶装置１０４等の記憶部から取得してもよいし、外部データベース等にアクセスして取得してもよい。
【００５０】
次に、パターン当てはめ部１０により、前記ログのテキストデータについて、単位毎に、パターンへの当てはめを行う（Ａ１）。
【００５１】
次に、圧縮部２０により、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し（Ａ２）、終了する（ＥＮＤ）。前記工程（Ａ２）において、例えば、前記圧縮データを出力してもよい。前記出力は、特に制限されず、例えば、ファイルへの出力である。
【００５２】
一方、工程（Ｂ１）に先立って、圧縮復元装置１が、前記圧縮データを取得する（Ｂ０）。前記圧縮データの取得は、特に制限されず、例えば、圧縮復元装置１の記憶装置１０４等の記憶部から取得してもよいし、外部データベース等にアクセスして取得してもよい。
【００５３】
次に、復元部３０により、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元し（Ｂ１）、終了する（ＥＮＤ）。前記工程（Ｂ１）において、例えば、前記ログのテキストデータを出力してもよい。前記出力は、特に制限されず、例えば、ファイルへの出力である。
【００５４】
［実施形態２］
本実施形態の圧縮復元装置１は、パターン当てはめ部１０が、さらに、パターン作成部を含み、前記パターン作成部が、前記ログのテキストデータを分析することにより、前記パターンを作成する点以外、実施形態１の圧縮復元装置１と同様である。
【００５５】
前記ログのテキストデータの分析は、特に制限されず、既知の手法を用いて行うことができ、例えば、前記ログのテキストデータについて、フォーマットを学習し、パターンを抽出することができる。前記フォーマットの学習は、例えば、前記ログのテキストデータに含まれる、変化する文字列と変化しない文字列とを分離して、学習を行うことができる。
【００５６】
前記ログのテキストデータの分析において用いられる前記ログのテキストデータは、例えば、圧縮対象の前記ログのテキストデータと同じでもよいし、異なっていてもよい。後者の場合、例えば、前記圧縮対象の前記ログのテキストデータに含まれる全てのパターンを含む前記ログのテキストデータを用いることができる。
【００５７】
図１０に、前記ログのテキストデータの分析により、前記パターンを含む前記モデルを作成する場合の一例を示す。図１０において、前記パターン作成部により、１から８の行番号のテキストデータを含む入力テキスト（ログのテキストデータ）を分析し、パターン１からパターン４を含むモデルが作成されたことが示されている。
【００５８】
前記パターン作成部は、前記ログのテキストデータの分析において、さらに、前記ログのテキストデータにおける前記可変部分のテキストデータについて、分析を行ってもよい。前記可変部分のテキストデータの分析は、例えば、要素数、要素リスト、各要素の出現数（全体、要素毎）、および、変化度（１−（要素数／全体の出現数））等があげられる。前記可変部分のテキストデータの分析の一例を、図１１に示す。図１１の例では、前記ログのテキストデータ（入力データ）における、黒枠で囲んだ部分の可変部分の「server001、server002、server003」の要素について、前記要素数が３であり、前記要素リストが「server001、server002、server003」であり、前記出現数（全体）が６であり、前記出現数（要素毎）が「server001：２」、「server002：２」、「server003：２」であり、前記変化度が０．５であることが示されている。
【００５９】
前記作成されたモデルは、前記可変部分のテキストデータの前記分析結果を含んでもよい。
【００６０】
前記パターン作成部は、前記作成したモデルを出力してもよい。図１２に、前記作成したモデルを出力する場合の一例を示す。図１２の例において、前記モデルに含まれるパターン１、およびパターン２のパターンのテキストデータ、ならびに前記可変部分のテキストデータの前記分析結果が出力された状態を示す。前記分析結果としては、パターン１における、前記可変部分を示す「%｛ＮＵＭＢＥＲ：Ｐ１Ｎ１｝」の変数についての前記分析結果が示されている。図１２の例において、前記分析結果は、“ｐａｔｔｅｒｎ＿ｎｕｍ”（変数が含まれるパターンの番号）、“ｆｉｅｌｄ＿ｎｕｍ”（変数の番号（変数のタイプ毎の出現順））、“ｆｉｅｌｄ＿ｔｙｐｅ”（変数のタイプ）、“ｅｌｅｍｅｎｔ＿ｃｏｕｎｔ”（要素数）、“ａｐｐｅａｒ＿ｃｏｕｎｔ”（出現数（全体））、“ｉｍｐｏｒｔａｎｃｅ”（変化度）、“ｅｌｅｍｅｎｔ＿ｍａｐ”（要素情報（各要素についての情報））等を含む。
【００６１】
次に、本実施形態の圧縮復元装置１における処理の一例を、図１３のフローチャートに基づき説明する。
【００６２】
まず、実施形態１と同様にして、前記ログのテキストデータを取得する（Ａ０）。
【００６３】
次に、前記パターン作成部は、前記取得した前記ログのテキストデータを分析することにより、前記パターンを作成する（Ａ３）。そして、パターン当てはめ部１０は、前記ログのテキストデータについて、単位毎に、前記作成した前記パターンへの当てはめを行う（Ａ１）。
【００６４】
次に、実施形態１と同様にして、圧縮部２０により、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し（Ａ２）、終了する（ＥＮＤ）。
【００６５】
本実施形態によれば、前記ログのテキストデータを分析することにより得られた前記パターンを用いて、前記ログのテキストデータを圧縮および復元できる。
【００６６】
［実施形態３］
図１４に示すように、本実施形態の圧縮復元装置１は、パターン当てはめ部１０および圧縮部２０を含む送信装置１００と復元部３０を含む受信装置２００とが、通信回線網３００を介して接続されている以外は、実施形態１および実施形態２の圧縮復元装置１と同様である。
【００６７】
送信装置１００は、例えば、パターン当てはめ部１０、圧縮部２０、および送信部１１０を含み、送信部１１０は、通信回線網３００を介して、前記圧縮データを送信する。受信装置２００は、例えば、受信部２１０、記憶部２２０、および復元部３０を含み、受信部２１０は、圧縮データを受信し、記憶部２２０は、前記モデルを記憶する。送信部１１０および受信部２１０は、例えば、それぞれ、ＣＰＵである。記憶部２２０は、例えば、記憶装置１０４と同様である。
【００６８】
送信装置１００において、パターン当てはめ部１０は、例えば、送信対象の前記ログのテキストデータが、送信装置１００の記憶部等に記憶された前記パターンに適合するか否かを判定してもよい。そして、前記パターンに適合する場合、送信部１１０は、パターン番号と前記パターンの前記可変部分に対応するテキストデータとを送信する。これにより、パターンそのもののデータを送信する必要がないため、送受信のデータ量を削減することができる。一方、前記パターンに適合しない場合、パターン当てはめ部１０は、例えば、前記記憶部等に記憶された前記モデルを更新し、新たな前記パターンを記憶させる。その後、送信部１１０は、新たな前記パターンと、これに対応するパターン番号と、前記パターンの前記可変部分に対応するテキストデータとを送信する。
【００６９】
受信装置２００において、受信部２１０は、例えば、前記受信するパターン番号に対応する前記パターンが、記憶部等に記憶された前記モデルに含まれる場合、パターン番号と前記パターンの前記可変部分に対応するテキストデータとを受信する。そして、復元部３０は、前記受信したパターン番号に対応する前記パターンのテキストデータを、記憶部２２０に記憶された前記モデルから取得し、データを復元する。一方、前記受信するパターン番号に対応する前記パターンが、記憶部２２０に記憶された前記モデルに含まれない場合、受信部２１０は、例えば、新たなパターンと、パターン番号と、前記パターンの前記可変部分に対応するテキストデータとを受信する。そして、受信装置２００は、記憶部２２０に記憶された前記モデルを更新し、新たな前記パターンを記憶させる。その後、復元部３０は、前記新たなパターンと、前記パターンの前記可変部分に対応するテキストデータとから、データを復元する。
【００７０】
［実施形態４］
本実施形態のプログラムは、前記実施形態の圧縮復元方法を、コンピュータ上で実行可能なプログラムである。または、本実施形態のプログラムは、例えば、コンピュータ読み取り可能な記録媒体に記録されてもよい。前記記録媒体としては、特に限定されず、例えば、読み出し専用メモリ（ＲＯＭ）、ハードディスク（ＨＤ）、光ディスク、フロッピー（登録商標）ディスク（ＦＤ）等があげられる。
【００７１】
以上、実施形態を参照して本発明を説明したが、本発明は、上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をできる。
【産業上の利用可能性】
【００７２】
本発明によれば、圧縮したファイルの復元のスピードが速く、全体復元と部分復元の双方が可能なログのテキストデータの圧縮復元装置、および圧縮復元方法を提供可能となる。
【００７３】
上記の実施形態の一部または全部は、以下の付記のようにも記載しうるが、以下には限定されない。
（付記１）
パターン当てはめ部、圧縮部、および復元部を含み、
前記パターン当てはめ部は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮部は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記復元部は、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する、ログのテキストデータの圧縮復元装置。
（付記２）
前記パターン当てはめ部は、さらに、前記ログのテキストデータについて、前記単位毎に、モデルに含まれる前記パターンのうちのいずれの前記パターンであるかを決定し、前記パターンへの当てはめを行う、付記１記載の圧縮復元装置。
（付記３）
前記パターン当てはめ部は、さらに、パターン作成部を含み、
前記パターン作成部は、前記ログのテキストデータを分析することにより、前記パターンを作成する、付記２記載の圧縮復元装置。
（付記４）
前記パターン当てはめ部は、可変部分分析部を含み、
前記可変部分分析部は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータを分析する、付記１から３のいずれかに記載の圧縮復元装置。
（付記５）
前記可変部分分析部は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータが、変数情報に適合するかを分析する、付記４記載の圧縮復元装置。
（付記６）
パターン当てはめ工程、圧縮工程、および復元工程を含み、
前記パターン当てはめ工程は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮工程は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記復元工程は、前記パターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する、ログのテキストデータの圧縮復元方法。
（付記７）
前記パターン当てはめ工程は、さらに、前記ログのテキストデータについて、前記単位毎に、モデルに含まれる前記パターンのうちのいずれの前記パターンであるかを決定し、前記パターンへの当てはめを行う、付記６記載の圧縮復元方法。
（付記８）
前記パターン当てはめ工程は、さらに、パターン作成工程を含み、
前記パターン作成工程は、前記ログのテキストデータを分析することにより、前記パターンを作成する、付記７記載の圧縮復元方法。
（付記９）
前記パターン当てはめ工程は、可変部分分析工程を含み、
前記可変部分分析工程は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータを分析する、付記６から８のいずれかに記載の圧縮復元方法。
（付記１０）
前記可変部分分析工程は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータが、変数情報に適合するかを分析する、付記９記載の圧縮復元方法。
（付記１１）
パターン当てはめ部、圧縮部、および送信部を含み、
前記パターン当てはめ部は、ログのテキストデータについて、単位毎に、パターンへの当てはめを行い、
前記パターンは、固定部分および可変部分を含み、
前記圧縮部は、前記ログのテキストデータについて、前記単位毎に、前記パターン、および、前記パターンの前記可変部分に対応するテキストデータ、の情報を含む圧縮データに圧縮し、
前記送信部は、前記圧縮データを送信する、ログのテキストデータの送信装置。
（付記１２）
前記パターン当てはめ部は、さらに、前記ログのテキストデータについて、前記単位毎に、モデルに含まれる前記パターンのうちのいずれの前記パターンであるかを決定し、前記パターンへの当てはめを行う、付記１１記載の送信装置。
（付記１３）
前記パターン当てはめ部は、さらに、パターン作成部を含み、
前記パターン作成部は、前記ログのテキストデータを分析することにより、前記パターンを作成する、付記１２記載の送信装置。
（付記１４）
前記パターン当てはめ部は、可変部分分析部を含み、
前記可変部分分析部は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータを分析する、付記１１から１３のいずれかに記載の送信装置。
（付記１５）
前記可変部分分析部は、前記ログのテキストデータについて、前記単位毎に、前記可変部分のテキストデータが、変数情報に適合するかを分析する、付記１４記載の送信装置。
（付記１６）
受信部、記憶部、および復元部を含み、
前記受信部は、圧縮データを受信し、
前記圧縮データは、ログのテキストデータについて、単位毎に、パターン、および、前記パターンの可変部分に対応するテキストデータ、を含むデータであり、
前記パターンは、固定部分および前記可変部分を含み、
前記記憶部は、前記モデルを記憶し、
前記復元部は、前記記憶部に記憶された前記モデルに基づき、前記決定されたパターンに、前記可変部分に対応する前記テキストデータを当てはめて、前記圧縮データから前記ログのテキストデータを復元する、ログのテキストデータの受信装置。
（付記１７）
付記６から１０のいずれかに記載の方法をコンピュータ上で実行可能なプログラム。
（付記１８）
付記１７記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。
【符号の説明】
【００７４】
１              圧縮復元装置
１０            パターン当てはめ部
２０            圧縮部
３０            復元部
【図１】
2020135772.tif 000003
【図２】
2020135772.tif 000004
【図３】
2020135772.tif 000005
【図４】
2020135772.tif 000006
【図５】
2020135772.tif 000007
【図６】
2020135772.tif 000008
【図７】
2020135772.tif 000009
【図８】
2020135772.tif 000010
【図９】
2020135772.tif 000011
【図１０】
2020135772.tif 000012
【図１１】
2020135772.tif 000013
【図１２】
2020135772.tif 000014
【図１３】
2020135772.tif 000015
【図１４】
2020135772.tif 000016