(57)【要約】【課題】複数のログ種別間で同じデータ処理方式を共用できるようにする。【解決手段】ログエージェント装置１００は、各々が異なる工程に対応し、対応する工程でのデータ処理を実行するログファイル読取り部１０２、レコード取出し部１０３、ワード取出し部１０４、ワード並び替え部１０６を有する。また、ログファイルのログ種別を判別するログ種別判別部と、ログ種別ごとに各工程で実行されるデータ処理の方式が定義される方式定義情報を記憶する方式定義情報記憶部１０７を有する。ログ種別判別部は、ログファイルのログ種別を判別するとともに、判別したログ種別と方式定義情報に基づき、ログファイルに対して各工程で実行されるデータ処理の方式を指定し、ログファイル読取り部１０２等は、複数種類の方式のデータ処理を実行可能であり、ログファイルに対して、ログ種別判別部により指定された方式のデータ処理を実行する。【選択図】図１
2012203500.tif 000002
【特許請求の範囲】
【請求項１】
複数の工程にてデータ処理を行うデータ処理装置であって、
それぞれが異なる工程に対応し、対応する工程でのデータ処理を実行する複数の工程別データ処理実行部と、
各工程でのデータ処理の対象となる対象データのデータ種別を判別するデータ種別判別部と、
データ種別ごとに各工程で実行されるデータ処理の方式が定義される方式定義情報を記憶する方式定義情報記憶部とを有し、
前記データ種別判別部は、
前記対象データのデータ種別を判別するとともに、判別した前記対象データのデータ種別と前記方式定義情報での定義とに基づき、前記対象データに対して各工程で実行されるデータ処理の方式を指定し、
各工程別データ処理実行部は、
複数種類の方式のデータ処理を実行可能であり、前記対象データに対して、前記データ種別判別部により指定された方式のデータ処理を実行することを特徴とするデータ処理装置。
【請求項２】
前記方式定義情報記憶部は、
特定の工程では、異なる２以上のデータ種別に対して同じ方式を定義する方式定義情報を記憶し、
前記データ種別判別部は、
前記方式定義情報において同じ方式が定義されている工程については、２以上の対象データのデータ種別が異なっていても、前記２以上の対象データに対して同じ方式を指定することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ種別判別部は、
前記対象データをログデータとし、
前記ログデータのデータ種別を判別するとともに、判別した前記ログデータのデータ種別と前記方式定義情報での定義とに基づき、前記ログデータに対して各工程で実行されるデータ処理の方式を指定し、
各工程別データ処理実行部は、
複数種類の方式のデータ処理を実行可能であり、前記ログデータに対して、前記データ種別判別部により指定された方式のデータ処理を実行することを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
複数の工程にてデータ処理を行うコンピュータに、
それぞれが異なる工程に対応し、対応する工程でのデータ処理を実行する複数の工程別データ処理実行ステップと、
各工程でのデータ処理の対象となる対象データのデータ種別を判別するデータ種別判別ステップと、
データ種別ごとに各工程で実行されるデータ処理の方式が定義される方式定義情報を参照する方式定義情報参照ステップとを実行させ、
前記データ種別判別ステップにおいて、
前記コンピュータに、
前記対象データのデータ種別を判別させるとともに、判別させた前記対象データのデータ種別と前記方式定義情報での定義とに基づき、前記対象データに対して各工程で実行されるデータ処理の方式を指定させ、
各工程別データ処理実行ステップにおいて、
前記コンピュータは、複数種類の方式のデータ処理を実行可能であり、
前記コンピュータに、
前記対象データに対して、前記データ種別判別ステップにおいて指定された方式のデータ処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の工程にてデータ処理を行う技術に関する。
より具体的には、コンピュータ上のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、ＤＢ（Ｄａｔａ  Ｂａｓｅ）、アプリケーションなどが出力する様々なログを収集・変換して共通形式のデータベースに格納する技術に関する。
【背景技術】
【０００２】
従来、ＯＳ、ＤＢ、アプリケーションなどのソフトウェア（以下、Ｓ／Ｗと表記する）が出力するログを共通形式のデータベースに格納する場合、そのＳ／Ｗに対応した機能を１つのモジュールとして実装していた。
この方式では、新たなＳ／Ｗのログに対応するために１つのモジュールを作成する必要があるため、既存の形式に似たＳ／Ｗログ形式であっても毎回多大な工数が掛かるという課題がある。
なお、本発明に関連する技術として、特許文献１と特許文献２に記載の技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２２４７０５号公報
【特許文献２】特開２０１０−７３１１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のように、従来の方式では、新たなＳ／Ｗのログに対応するために１つのモジュールを作成する必要があるため、既存の形式に似たＳ／Ｗログ形式であっても毎回多大な工数が掛かるという課題がある。
【０００５】
この発明は、このような課題を解決することを主な目的の一つとしており、複数のログ種別間で同じデータ処理方式を共用できるようにすることを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るデータ処理装置は、
複数の工程にてデータ処理を行うデータ処理装置であって、
それぞれが異なる工程に対応し、対応する工程でのデータ処理を実行する複数の工程別データ処理実行部と、
各工程でのデータ処理の対象となる対象データのデータ種別を判別するデータ種別判別部と、
データ種別ごとに各工程で実行されるデータ処理の方式が定義される方式定義情報を記憶する方式定義情報記憶部とを有し、
前記データ種別判別部は、
前記対象データのデータ種別を判別するとともに、判別した前記対象データのデータ種別と前記方式定義情報での定義とに基づき、前記対象データに対して各工程で実行されるデータ処理の方式を指定し、
各工程別データ処理実行部は、
複数種類の方式のデータ処理を実行可能であり、前記対象データに対して、前記データ種別判別部により指定された方式のデータ処理を実行することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、工程ごとに、複数のデータ種別間で同じデータ処理方式を共用できるので、データ種別ごとの個別開発を行う必要がなく、開発期間、開発コスト全体を抑えることができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係るログエージェント装置の動作の概要を示す図。
【図２】実施の形態１に係るログエージェント装置の構成例を示す図。
【図３】実施の形態１に係るログファイル読取り部の構成例を示す図。
【図４】実施の形態１に係るレコード取出し部の構成例を示す図。
【図５】実施の形態１に係るワード取出し部の構成例を示す図。
【図６】実施の形態１に係るワード並び替え部の構成例を示す図。
【図７】実施の形態１に係るログファイル変換手順例を示すフローチャート図。
【図８】実施の形態１に係る方式定義情報の例を示す図。
【図９】実施の形態１に係るログファイル変換手順の具体例を示す図。
【図１０】実施の形態１に係るモジュール選択例を示す図。
【図１１】実施の形態１に係るログエージェント装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
本実施の形態では、コンピュータ上のＯＳ、ＤＢ、アプリケーションなどが出力する様々なログを収集・変換して共通形式のデータベースに格納する仕組みにおいて、収集・変換する機能を幾つかの細かいフェーズに分け、各フェーズを粒度の小さいモジュールで実現することによって、多様なログに効率よく対応する構成を説明する。
【００１０】
図１は、本実施の形態に係るログエージェント装置１００の動作の概要を示す。
図１に示すように、ログエージェント装置１００は、ログ（Ｏ）２０１、ログ（Ｐ）２０２、ログ（Ｑ）２０３からログデータを読み取り、各ログからのログデータを複数の工程にて処理して、最終的に共通形式の最終データ５０１にする。
図１の例では、ログエージェント装置１００は、ログ（Ｏ）２０１のログデータ、ログ（Ｐ）２０２のログデータをファイル読み取り方式Ａ１００１ａで読み取る。
ファイル読み取り方式Ａ１００１ａで読み取られた後のログ（Ｏ）２０１のログデータは中間データ（Ｏ）３０１となり、ファイル読み取り方式Ａ１００１ａで読み取られた後のログ（Ｐ）２０２のログデータは中間データ（Ｐ）３０２となる。
一方、ログエージェント装置１００は、ログ（Ｑ）２０３のログデータは、ファイル読み取り方式Ｂ１００１ｂで読み取る。
ファイル読み取り方式Ｂ１００１ｂで読み取られた後のログ（Ｑ）２０３のログデータは中間データ（Ｑ）３０３となる。
次に、ログエージェント装置１００は、中間データ（Ｏ）３０１のレコードをレコード取出し方式Ｃ１００２ｃで取り出す。
レコード取出し方式Ｃ１００２ｃでレコードが取り出された後の中間データ（Ｏ）３０１は、中間データ（Ｏ）４０１となる。
また、ログエージェント装置１００は、中間データ（Ｐ）３０２のレコードと中間データ（Ｑ）３０３のレコードをレコード取出し方式Ｂ１００２ｂで取り出す。
レコード取出し方式Ｂ１００２ｂでレコードが取り出された後の中間データ（Ｐ）３０２と中間データ（Ｑ）３０３は、中間データ（Ｐ）４０２と中間データ（Ｑ）４０３となる。
このように、本実施の形態に係るログエージェント装置１００では、各ログのログデータに対する処理を複数の工程に分け、工程ごとに共通のデータ処理方式を適用できるログデータに対しては共通の方式でデータ処理を行って、最終的に共通形式の最終データ５０１を得る。
なお、ログエージェント装置１００は、データ処理装置の例である。
【００１１】
次に、ログエージェント装置１００の構成例を図２に示す。
【００１２】
図２に示すように、ログエージェント装置１００は、制御部１０１、ログファイル読取り部１０２、レコード取出し部１０３、ワード取出し部１０４、ワード登録部１０５、ワード並び替え部１０６、方式定義情報記憶部１０７から構成される。
【００１３】
制御部１０１は、ログエージェント装置１００の全体の制御を行う。
ログファイル読取り部１０２、レコード取出し部１０３、ワード取出し部１０４、ワード並び替え部１０６は、それぞれが異なる工程に対応し、対応する工程でのデータ処理を実行する。
ログファイル読取り部１０２、レコード取出し部１０３、ワード取出し部１０４、ワード並び替え部１０６は、それぞれ、工程別データ処理実行部の例に相当する。
【００１４】
方式定義情報記憶部１０７は、方式定義情報を記憶する。
方式定義情報は、図８に示すように、ログ種別（データ種別）ごとに各工程で実行されるデータ処理の方式が定義される。
図８の例では、ログ（Ｏ）に対しては、ファイル読取り工程では方式Ａでのファイル読取りが行われ、レコード取出し工程では方式Ｃでのレコード取出しが行われ、ワード取出し工程では方式Ｃでのワード取出しが行われ、ワード並び替え工程では方式Ａでのワード並び替えが行われる。
ログ（Ｐ）、ログ（Ｑ）についても同様の記述形式となっている。
【００１５】
ログファイル読取り部１０２は、図３に示すように、ログ種別判別部１０２１、実行モジュール選択部１０２２、ログファイル読取りモジュールＡ１０２３ａ、ログファイル読取りモジュールＢ１０２３ｂ、ログファイル読取りモジュールＣ１０２３ｃ等に分かれる。
ログ種別判別部１０２１は、読み取り対象のログファイルのログ種別（データ種別）を判別する。
ログ種別判別部１０２１は、データ種別判別部の例である。
ログファイル読取りモジュールＡ１０２３ａ、ログファイル読取りモジュールＢ１０２３ｂ、ログファイル読取りモジュールＣ１０２３ｃ等は、それぞれ異なるログファイル読取り方式に対応している。
実行モジュール選択部１０２２は、ログ種別判別部１０２１により判別されたログ種別に対応するログファイル読取りモジュールを選択する。
【００１６】
レコード取出し部１０３は、図４に示すように、ログ種別判別部１０３１、実行モジュール選択部１０３２、レコード取出しモジュールＡ１０３３ａ、レコード取出しモジュールＢ１０３３ｂ、レコード取出しモジュールＣ１０３３ｃ等に分かれる。
ログ種別判別部１０３１は、レコード取出し対象のログファイルのログ種別（データ種別）を判別する。
ログ種別判別部１０３１は、データ種別判別部の例である。
レコード取出しモジュールＡ１０３３ａ、レコード取出しモジュールＢ１０３３ｂ、レコード取出しモジュールＣ１０３３ｃ等は、それぞれ異なるレコード取出し方式に対応している。
実行モジュール選択部１０３２は、ログ種別判別部１０３１により判別されたログ種別に対応するレコード取出しモジュールを選択する。
【００１７】
ワード取出し部１０４は、図５に示すように、ログ種別判別部１０４１、実行モジュール選択部１０４２、ワード取出しモジュールＡ１０４３ａ、ワード取出しモジュールＢ１０４３ｂ、ワード取出しモジュールＣ１０４３ｃ等に分かれる。
ログ種別判別部１０４１は、ワード取出し対象のログファイルのログ種別（データ種別）を判別する。
ログ種別判別部１０４１は、データ種別判別部の例である。
ワード取出しモジュールＡ１０４３ａ、ワード取出しモジュールＢ１０４３ｂ、ワード取出しモジュールＣ１０４３ｃ等は、それぞれ異なるワード取出し方式に対応している。
実行モジュール選択部１０４２は、ログ種別判別部１０４１により判別されたログ種別に対応するワード取出しモジュールを選択する。
【００１８】
ワード並び替え部１０６は、図６に示すように、ログ種別判別部１０６１、実行モジュール選択部１０６２、ワード並び替えモジュールＡ１０６３ａ、ワード並び替えモジュールＢ１０６３ｂ、ワード並び替えモジュールＣ１０６３ｃ等に分かれる。
ログ種別判別部１０６１は、ワード並び替え対象のログファイルのログ種別（データ種別）を判別する。
ログ種別判別部１０６１は、データ種別判別部の例である。
ワード並び替えモジュールＡ１０６３ａ、ワード並び替えモジュールＢ１０６３ｂ、ワード並び替えモジュールＣ１０６３ｃ等は、それぞれ異なるワード並び替え方式に対応している。
実行モジュール選択部１０６２は、ログ種別判別部１０６１により判別されたログ種別に対応するワード並び替えモジュールを選択する。
【００１９】
図３〜図６で示したログファイル読取りモジュールＡ〜Ｃ等、レコード取出しモジュールＡ〜Ｃ等、ワード取出しモジュールＡ〜Ｃ等、ワード並び替えモジュールＡ〜Ｃ等は、図８の方式定義情報の方式Ａ〜Ｃ等に対応している。
【００２０】
また、図３〜図６において、ログファイル読取りモジュールＡ〜Ｃ等、レコード取出しモジュールＡ〜Ｃ等、ワード取出しモジュールＡ〜Ｃ等、ワード並び替えモジュールＡ〜Ｃ等を例示しているが、同じアルファベットのモジュールが相互に関連するという意味ではない。
つまり、ログファイル読取りモジュールＡとレコード取出しモジュールＡとが関連するというものではなく、各モジュールは他のいずれのモジュールとも無関係である。
【００２１】
また、図３〜図６では、ログファイル読取り部１０２のログ種別判別部１０２１、レコード取出し部１０３のログ種別判別部１０３１、ワード取出し部１０４のログ種別判別部１０４１、ワード並び替え部１０６のログ種別判別部１０６１が、ログ種別を判別する構成となっている。
これに代えて、制御部１０１が、各工程で処理の対象となるログファイルのログ種別を判別するようにしてもよい。
この場合は、制御部１０１がデータ種別判別部の例となる。
また、この場合は、ログファイル読取り部１０２からログ種別判別部１０２１を省略し、レコード取出し部１０３からログ種別判別部１０３１を省略し、ワード取出し部１０４からログ種別判別部１０４１を省略し、ワード並び替え部１０６からログ種別判別部１０６１を省略することができる。
【００２２】
次に、本実施の形態に係るログエージェント装置１００の処理の流れを図７に示す。
【００２３】
まず、ログ種別毎に、ログファイルから前回読取り部分からの差分を読み取る（Ｓ７０１）。
この処理はログファイル読取り部１０２によって行われるが、図３に示すように、ログ種別判別部１０２１によって読み取り対象のログファイルのログ種別を判別した後、実行モジュール選択部１０２２によってログ種別に合致したログファイル読取りモジュールを、ログファイル読取りモジュールＡ１０２３ａ、ログファイル読取りモジュールＢ１０２３ｂ、ログファイル読取りモジュールＣ１０２３ｃ等から選択して実行する。
ログ種別判別部１０２１は、読み取り対象のログファイルのファイル名からログ種別を判別し、判別したログ種別に対応する方式を図８の方式定義情報から抽出する。
ファイル名からログ種別を判別する方法は、例えば、ファイル名とログ種別とを対応付けるテーブルを予め用意していてもよいし、同じログ種別のログファイルは共通性をもったファイル名とするようにし、ファイル名の特徴からログ種別を判別するようにしてもよい。また、ファイル名からではなく、ファイル名が置かれている場所（ディレクトリ）からログ種別を判別してもよい。
【００２４】
ログファイルからの読取り（Ｓ７０１）の後は、制御部１０１が、レコード終わりかどうか判定し（Ｓ７０２）、レコード終わりでなければレコード取出しを行い（Ｓ７０３）、レコード終わりであれば全レコードにつきワード並び替えを行う（Ｓ７０６）。
レコード取出し（Ｓ７０３）は、レコード取出し部１０３によって行われるが、図４に示すように、ログ種別判別部１０３１によってログ種別を判別した後、実行モジュール選択部１０３２によってログ種別に合致したレコード取出しモジュールを、レコード取出しモジュールＡ１０３３ａ、レコード取出しモジュールＢ１０３３ｂ、レコード取出しモジュールＣ１０３３ｃ等から選択して実行する。
ログ種別判別部１０３１は、レコード取出し対象のログファイルのファイル名からログ種別を判別し、判別したログ種別に対応する方式を図８の方式定義情報から抽出する。
ファイル名からログ種別を判別する方法は、前述の通りである。
【００２５】
レコード取出し（Ｓ７０３）の後は、ワード（複数）取出し（Ｓ７０４）が行われる。
この処理はワード取出し部１０４によって行われるが、図５に示すように、ログ種別判別部１０４１によってログ種別を判別した後、実行モジュール選択部１０４２によってログ種別に合致したワード取出しモジュールを、ワード取出しモジュールＡ１０４３ａ、ワード取出しモジュールＢ１０４３ｂ、ワード取出しモジュールＣ１０４３ｃ等から選択して実行する。
ログ種別判別部１０４１は、ワード取出し対象のログファイルのファイル名からログ種別を判別し、判別したログ種別に対応する方式を図８の方式定義情報から抽出する。
ファイル名からログ種別を判別する方法は、前述の通りである。
なお、ワードとは、レコードに含まれる各カラム値である。
【００２６】
ワード取出し（Ｓ７０４）の後は、ワード登録部１０５によって、取り出されたワード（複数）を登録する（Ｓ７０５）。
ワードの登録とは、後続のワード並び替え処理（Ｓ７０６）のためのバッファメモリに、ワード取出し処理（Ｓ７０４）により得られた各ワードを格納することである。
【００２７】
ログファイルからの読取り（Ｓ７０１）の後、制御部１０１がレコード終わりかどうか判定して（Ｓ７０２）、レコード終わりであれば（Ｓ７０２でＹＥＳ）、全レコードにつきワード並び替えを行う（Ｓ７０６）。
この処理はワード並び替え部１０６によって行われるが、図６に示すように、ログ種別判別部１０６１によってログ種別を判別した後、実行モジュール選択部１０６２によってログ種別に合致したワード並び替えモジュールを、ワード並び替えモジュールＡ１０６３ａ、ワード並び替えモジュールＢ１０６３ｂ、ワード並び替えモジュールＣ１０６３ｃ等から選択して実行する。
ログ種別判別部１０６１は、ワード並び替え対象のログファイルのファイル名からログ種別を判別し、判別したログ種別に対応する方式を図８の方式定義情報から抽出する。
ファイル名からログ種別を判別する方法は、前述の通りである。
【００２８】
これらの処理の流れにおいて、ログファイル読取り、レコード取出し、ワード取出し、ワード並び替えの各処理では、ログ種別に則して複数のモジュール（ＸＸＸモジュールＡ、Ｂ、Ｃ等）の中から適合するモジュールが選択されて実行されるが、複数のログ種別間で共通のモジュールがあるため、開発コスト全体を抑えることができる。
【００２９】
次に、具体例を図９に示す。
ここでは、（ア）（イ）（ウ）の３種類のログ種別がある場合を想定する。
ログ（ア）はログファイルが一つのみで、ログ形式は一般的なＣＳＶ（Ｃｏｍｍａ  Ｓｅｐａｒａｔｅｄ  Ｖａｌｕｅｓ）形式、ワードの並びは、日付、エラー番号、メッセージである。
ログ（ア）に分類されるログファイルのファイル名は、ここでは、「ＸＸＸ．ｌｏｇ」とする。
ログ（イ）はログファイルが日付ごとに別々に作られていくタイプで、ログ形式は一般的なＣＳＶ形式、ワードの並びは、エラー番号、メッセージ、日付である。
ログ（イ）に分類されるログファイルのファイル名は、ここでは、「ＹＹＹ＿２０１１＿０２＿２２．ｌｏｇ」とする。
ログ（ウ）はログファイルが一つのみ、ログ形式は２行で１レコード（１行目に日付、２行目にエラー番号とメッセージ）であり、固定長形式で格納されている。
ログ（ウ）に分類されるログファイルのファイル名は、ここでは、「ＺＺＺ．ｌｏｇ」とする。
【００３０】
ログファイル「ＸＸＸ．ｌｏｇ」（ログ（ア））についての処理を示す。
まずファイル読取り処理では、ログファイル読取り部１０２のログ種別判別部１０２１がログファイル「ＸＸＸ．ｌｏｇ」のログ種別をログ（ア）と判別し、ログ（ア）に対応するファイル読取り方式を特定し、この結果、実行モジュール選択部１０２２によって固定ファイル読取りモジュール（図３のログファイル読取りモジュールＡ、Ｂ、Ｃ等の具体例）が選択される。
そして、固定ファイル読取りモジュールにより前回読取り部分からの差分が読み取られる。
ここでは、以下の２つのレコードが差分データとして読み取られる。
２０１１／２／２２，１，エラー１
２０１１／２／２２，２，エラー２
次にレコード取出しでは、レコード取出し部１０３のログ種別判別部１０３１がログファイル「ＸＸＸ．ｌｏｇ」のログ種別をログ（ア）と判別し、ログ（ア）に対応するレコード取出し方式を特定し、この結果、実行モジュール選択部１０３２によって改行区切りモジュール（図４のレコード取出しモジュールＡ、Ｂ、Ｃ等の具体例）が選択される。
そして、改行区切りモジュールによって以下のように１レコードが取り出される。
２０１１／２／２２，１，エラー１
次にワード取出しでは、ワード取出し部１０４のログ種別判別部１０４１がログファイル「ＸＸＸ．ｌｏｇ」のログ種別をログ（ア）と判別し、ログ（ア）に対応するワード取出し方式を特定し、この結果、実行モジュール選択部１０４２によってＣＳＶ取り込みモジュール（図４のワード取出しモジュールＡ、Ｂ、Ｃ等の具体例）が選択される。
そして、ＣＳＶ取り込みモジュールによって以下のように複数のワードが取り出される。
２０１１／２／２２｜１｜エラー１
このようにしてすべてのレコードデータが登録された後、最後にワード並び替えでは、ワード並び替え部１０６のログ種別判別部１０６１がログファイル「ＸＸＸ．ｌｏｇ」のログ種別をログ（ア）と判別し、ログ（ア）に対応するワード並び替え方式を特定し、この結果、実行モジュール選択部１０４２によってログ（ア）の並びに則した並び替えモジュール（図４のワード並び替えモジュールＡ、Ｂ、Ｃ等の具体例）が選択される。
そして、ログ（ア）の並びに則した並び替えモジュールによってワードが並び替えられる（ここでは、実際には並び替えが行われない）。
２０１１／２／２２｜１｜エラー１
２０１１／２／２２｜２｜エラー２
【００３１】
次に、「ＹＹＹ＿２０１１＿０２＿２２．ｌｏｇ」（ログ（イ））についての処理を示す。
なお、各工程におけるログ種別の判別、モジュールの選択についてはログ（ア）について説明したものと同様であり、以下では、モジュールの選択結果、モジュールによるデータ処理の結果のみを示す。
まずファイル読取り処理では、日付別ファイル読取りモジュールによって前回読取り部分からの差分が読み取られる。
ここでは、以下の２つのレコードが差分データとして読み取られる。
１１，ｅｒｒ１，２０１１／２／２２
２２，ｅｒｒ２，２０１１／２／２２
次にレコード取出しでは、改行区切りモジュールによって以下のように１レコードが取り出される。
１１，ｅｒｒ１，２０１１／２／２２
次にワード取出しでは、ＣＳＶ取り込みモジュールによって以下のように複数のワードが取り出される。
１１｜ｅｒｒ１｜２０１１／２／２２
このようにしてすべてのレコードデータが登録された後、最後にワード並び替えでは、ログ（イ）の並びに則した並び替えモジュールによってワードが並び替えられる。
ワードの並び替えの結果、以下のレコードが得られる。
これらレコードは、ログ（ア）のレコードと共通の形式である。
２０１１／２／２２｜１１｜ｅｒｒ１
２０１１／２／２２｜２２｜ｅｒｒ２
【００３２】
次に「ＺＺＺ．ｌｏｇ」（ログ（ウ））についての処理を示す。
ここでも、各工程におけるログ種別の判別、モジュールの選択についてはログ（ア）について説明したものと同様であり、以下では、モジュールの選択結果、モジュールによるデータ処理の結果のみを示す。
まずファイル読取り処理では、固定ファイル読取りモジュールによって前回読取り部分からの差分が読み取られる。
ここでは、以下の２つのレコード（４行）が差分データとして読み取られる。
２０１１／２／２２
１１１  エラー１発生
２０１１／２／２２
２２２  エラー２発生
次にレコード取出しでは、２改行区切りモジュールによって以下のように１レコードが取り出される。
２０１１／２／２２１１１  エラー１発生
次にワード取出しでは、固定長取り込みモジュールによって以下のように複数のワードが取り出される。
２０１１／２／２２｜１１１｜エラー１発生
このようにしてすべてのレコードデータが登録された後、最後にワード並び替えでは、ログ（ウ）の並びに則した並び替えモジュールによってワードが並び替えられる。
ワードの並び替えの結果、以下のレコードが得られる。
これらレコードは、ログ（ア）のレコードと共通の形式である。
２０１１／２／２２｜１１１｜エラー１発生
２０１１／２／２２｜２２２｜エラー２発生
【００３３】
ログ（ア）、（イ）、（ウ）のログファイルに対して以上のように処理が行われるが、図１０に示すように、ファイル読取りでは（ア）と（ウ）が共通、レコード取出しでは（ア）と（イ）が共通、ワード取出しでは（ア）と（イ）が共通のモジュールを使用するため、開発コストが抑えられる。
つまり、本実施の形態によれば、工程ごとに、複数のログ種別間で同じデータ処理方式を共用できるので、ログ種別ごとのモジュールを個別に開発する必要がなく、開発期間、開発コスト全体を抑えることができる。
このようなコスト抑制効果は、対応するログ種別が多くなるほど、モジュールの共通化が期待できるため、大きくなる。
【００３４】
最後に、本実施の形態に示したログエージェント装置１００のハードウェア構成例について説明する。
図１１は、本実施の形態に示すログエージェント装置１００のハードウェア資源の一例を示す図である。
なお、図１１の構成は、あくまでもログエージェント装置１００のハードウェア構成の一例を示すものであり、ログエージェント装置１００のハードウェア構成は図１１に記載の構成に限らず、他の構成であってもよい。
【００３５】
図１１において、ログエージェント装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
本実施の形態で説明した「方式定義情報記憶部１０７」は、ＲＡＭ９１４、磁気ディスク装置９２０等により実現される。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００３６】
通信ボード９１５は、ネットワークに接続されている。
例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）、ＳＡＮ（ストレージエリアネットワーク）などに接続されている。
【００３７】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００３８】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００３９】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
ログエージェント装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００４０】
上記プログラム群９２３には、本実施の形態の説明において「〜部」（「方式情報記憶部」以外、以下同様）として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００４１】
ファイル群９２４には、本実施の形態の説明において、「〜の判断」、「〜の判別」、「〜の比較」、「〜の参照」、「〜の抽出」、「〜の指定」、「〜の特定」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００４２】
また、本実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、ログエージェント装置１００の動作をデータ処理方法として捉えることができる。
また、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、本実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
【００４３】
このように、本実施の形態に示すログエージェント装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【００４４】
１００  ログエージェント装置、１０１  制御部、１０２  ログファイル読取り部、１０３  レコード取出し部、１０４  ワード取出し部、１０５  ワード登録部、１０６  ワード並び替え部、１０７  方式定義情報記憶部、１０２１  ログ種別判別部、１０２２  実行モジュール選択部、１０２３ａ  ログファイル読取りモジュールＡ、１０２３ｂ  ログファイル読取りモジュールＢ、１０２３ｃ  ログファイル読取りモジュールＣ、１０３１  ログ種別判別部、１０３２  実行モジュール選択部、１０３３ａ  レコード取出しモジュールＡ、１０３３ｂ  レコード取出しモジュールＢ、１０３３ｃ  レコード取出しモジュールＣ、１０４１  ログ種別判別部、１０４２  実行モジュール選択部、１０４３ａ  ワード取出しモジュールＡ、１０４３ｂ  ワード取出しモジュールＢ、１０４３ｃ  ワード取出しモジュールＣ、１０６１  ログ種別判別部、１０６２  実行モジュール選択部、１０６３ａ  ワード並び替えモジュールＡ、１０６３ｂ  ワード並び替えモジュールＢ、１０６３ｃ  ワード並び替えモジュールＣ。
【図１】
2012203500.tif 000003
【図２】
2012203500.tif 000004
【図３】
2012203500.tif 000005
【図４】
2012203500.tif 000006
【図５】
2012203500.tif 000007
【図６】
2012203500.tif 000008
【図７】
2012203500.tif 000009
【図８】
2012203500.tif 000010
【図９】
2012203500.tif 000011
【図１０】
2012203500.tif 000012
【図１１】
2012203500.tif 000013