(57)【要約】【課題】  ログファイル等の大規模なファイルの解析にも向いたファイル解析プログラム、ファイル解析方法、ファイル解析システムの提供。【解決手段】  ログファイルを分割し、それぞれを解析スレッドを複数用いて多重に解析するプログラムを用いてファイル解析システムを構成する。この解析システムは、それぞれスレッドで構成されたユーザインタフェース部及び解析制御部と、ログファイルを分割した分割ファイルをそれぞれ解析し、その結果を保持する複数の解析スレッドとを有し、前記解析制御部が、前記各解析スレッドに解析動作を行わせるとともに、解析処理中もユーザインタフェース部を介したユーザからの操作を受け付ける。【選択図】  図２
2006107198.tif 000002
【特許請求の範囲】
【請求項１】
解析対象ファイルを分割した分割ファイルをそれぞれ解析する解析スレッドを複数用いてファイルを解析するよう構成したこと、
を特徴とする解析プログラム。
【請求項２】
ファイルを解析し、その結果を保持する複数の解析スレッドと、
それぞれスレッドで構成されたユーザインタフェース部及び解析制御部と、を有し、
前記解析制御部が、解析対象ファイルを所定の大きさに分割し、前記各解析スレッドに前記分割したファイルをそれぞれ解析させること、
を特徴とする解析プログラム。
【請求項３】
請求項２に記載の解析プログラムにおいて、
前記解析制御部が、前記解析スレッドを複数生成するよう構成したこと、
を特徴とする解析プログラム。
【請求項４】
請求項３に記載の解析プログラムにおいて、
前記解析制御部が、解析対象ファイルのサイズに応じて、ファイルの分割数を増減し、
前記分割したファイル毎に、解析スレッドを生成すること、
を特徴とする解析プログラム。
【請求項５】
請求項１乃至４いずれか一に記載の解析プログラムにおいて、
前記ファイルは、ログファイルであって、前記分割数に上限を設けたこと、
を特徴とする解析プログラム。
【請求項６】
ファイルを解析するためのファイル解析方法であって、
解析対象ファイルにアクセス可能なコンピュータが、解析対象ファイルを所定のサイズに分割するとともに、解析スレッドを複数生成し、
前記コンピュータの解析スレッドが、前記分割されたファイルをそれぞれ解析し、
前記コンピュータが、各解析スレッドの解析結果を取りまとめて出力すること、
を特徴とするファイル解析方法。
【請求項７】
解析対象ファイルを分割した分割ファイルをそれぞれ解析する複数の解析スレッドと、
それぞれスレッドで構成されたユーザインタフェース部及び解析制御部と、を有し、
前記解析制御部が、ファイルを所定の大きさに分割し、前記各解析スレッドに前記分割したファイルをそれぞれ解析させること、
を特徴とするファイル解析システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログファイル等の比較的大規模のファイルの解析に適した解析プログラム、ファイル解析方法、ファイル解析システムに関する。
【背景技術】
【０００２】
装置の試験や障害対応の際に、これら装置又は専用の計測器に出力させたログファイルを解析する手法が多く用いられている。多くの場合、ログファイルは膨大なサイズであり、数ギガバイト、場合によっては数テラバイトに及ぶこともある。例えば、特開平５−２８９８９８号公報に、この種のログファイルの解析プログラムを利用した自動診断方式が紹介されている。
【０００３】
【特許文献１】特開平５−２８９８９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記公報の図３にも記載されているようにログファイルは、特定のコードや数値データで記述されているフィールドを含む一方で、全体としては冗長な情報も多く、専用の解析プログラムを作成し、これをもって変換処理を行って解析することも多い。
【０００５】
図５は、従来の解析プログラムの構成と動作概要を表した図である。図５に示されたように、従来の解析プログラムは、ファイルの先頭から１レコード単位で、最後のレコードの読み込みが終了するまで、読み込み、解析し、出力するという一連の処理を、繰り返し行うよう構成されている。
【０００６】
以上のような従来の技術の問題点は、非常に大きいファイルの解析に時間がかかることである。本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、ログファイル等の大きなファイルの解析に好適に適用できるファイル解析プログラム、ファイル解析方法、ファイル解析システムを提供することにある。
【課題を解決するための手段】
【０００７】
前記課題を解決するための手段を提供する本発明の第１の視点によれば、ファイルを解析するための解析プログラムであって、解析対象ファイルを分割した分割ファイルをそれぞれ解析する解析スレッドを複数用いてファイルを解析するファイル解析プログラムが提供される。この解析プログラムは、それぞれスレッドで構成されたユーザインタフェース部及び解析制御部と、解析対象ファイルを分割した分割ファイルをそれぞれ解析する複数の解析スレッドとを有し、前記解析制御部が、前記各解析スレッドに解析動作を行わせる。また、解析制御部は、解析処理中もユーザインタフェース部を介したユーザからの操作を受け付ける。
【発明の効果】
【０００８】
本発明によれば、ファイルの解析効率を飛躍的に向上させることが可能となる。その理由は、複数の解析スレッドを用い、ログファイルを多重に解析可能としたことにある。
【発明を実施するための最良の形態】
【０００９】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は、本発明の構成と動作の概要を表した図である。図１を参照すると、本発明の第１の実施の形態は、解析対象ファイルのそれぞれ担当部分について読み込み・解析・出力を行うスレッドを複数用意し、動作させるものである。解析部分は、複数のスレッド６１〜６３にて動作させるため、見かけ上同時実行が可能であり、また、他の入力を許可することも可能となる。
【００１０】
図２は、本発明を適用したログファイル解析システムの構成を表した図である。図２を参照すると、ユーザ（オペレータ）１と、解析対象のログファイル２と、解析プログラム３が示されている。
【００１１】
解析プログラム３は、ログファイル解析システムを構成するコンピュータ（図示省略）にインストールされたプログラムであって、マルチスレッド環境をサポートしたＯＳで動作される。
【００１２】
解析プログラム３の構成についてみると、解析プログラム３は、ユーザ１からの入力を受け付けて解析制御部５へ通知するユーザインタフェース部４と、解析制御部５と、複数の解析スレッド６１〜６ｎとから構成されている。また、ユーザインタフェース部４と、解析制御部５もそれぞれ一つのスレッドとして構成され、動作するようになっている。
【００１３】
解析制御部５は、ログファイル２の大きさに応じて、解析スレッド６１〜６ｎを生成する。また、個々の解析スレッド６１〜６ｎは、それぞれファイルの指定範囲のレコードを読み込み、解析し、結果を保持する処理を繰り返し、指定範囲の最後のレコードの解析処理が完了すると、解析結果をまとめて解析制御部５に渡し、消滅するよう構成されている。
【００１４】
続いて、本実施の形態の動作について図面を参照して説明する。図３は、本実施の形態の全体の動作を表した図である。起動直後の段階では、ユーザインタフェース部４と、解析制御部５と、スレッドして動作しているため、ユーザ１からの入力を受け付けられる状態となっている。この状態から、ユーザ１よりログファイル２の解析要求を受けると、スレッド生成、解析動作が行われる（ステップＳ００１）。より具体的には、ログファイル２の解析要求を受けたユーザインタフェース部４が、ログファイル２に関する情報（場所、ファイル名等）を解析制御部５へ通知する。解析制御部５は、ログファイル２の大きさに応じて、ログファイル２を分割し、分割した数だけ解析スレッド６１〜６ｎを生成し、解析を開始させる。
【００１５】
解析スレッド６１〜６ｎによるスレッドの生成・解析動作中も、解析制御部５は、解析の終了、ユーザインタフェース部４からの途中経過報告要求、ユーザインタフェース部４からのキャンセル要求等をチェックする（ステップＳ００２、Ｓ００３、Ｓ００４）。解析制御部５は、すべての解析スレッドからの解析結果を受け取り、解析が終了した場合（ステップＳ００２のＹＥＳ）、結果を出力し終了する（ステップＳ００５）のが基本的な流れであるが、途中経過報告要求を受け付けた場合は（ステップＳ００３のＹＥＳ）、解析制御部５は、解析スレッド６１〜６ｎが保持している現時点の解析結果を取得し、出力する（ステップＳ００６）。
【００１６】
また、キャンセル要求（ステップＳ００４のＹＥＳ）を受けた場合は、解析制御部５は、解析スレッド６１から６ｎを途中で停止・消滅させ、解析処理を停止する（ステップＳ００４のＮＯ）。
【００１７】
図４は、上記解析スレッド６１〜６ｎの動作を表した図である。図４を参照すると、解析スレッド６１〜６ｎは、生成された後、指定された分割ファイルのレコード（データ）の読み込み（ステップＳ１０１）、解析（ステップＳ１０２）、解析結果の保持（ステップＳ１０３）処理を繰り返す。その一方で、解析スレッド６１〜６ｎは、解析制御部５からの要求有無（ステップＳ１０４）、指定された分割ファイルに次データがあるか否か（ステップＳ１０５）をチェックする。次データが無くなれば、解析を終了したことになるので、その旨を解析制御部５へ通知し、保持しておいた解析結果データをまとめて渡し、自身を終了させる（ステップＳ１０５のＹＥＳ）。
【００１８】
一方、解析制御部５からの要求があった場合には（ステップＳ１０４のＹＥＳ）、解析制御部５からの要求内容に応じて、途中結果の出力、解析処理の終了等を適宜実行する（ステップＳ１０６）。
【００１９】
以上の実施の形態の説明からも明らかなとおり、大規模のファイルも見かけ上同時に解析して行うことができるため、大規模のファイルの解析を効率的に行うことができる。
【００２０】
また、従来の解析プログラムでは、読み込み、解析、出力のループに入ってしまうと、その間、ユーザからの入力を受け付けることは勿論他の処理を行うことが不可能であったところ、マルチスレッド方式を導入したことにより、ファイルの解析処理中に、解析処理の中断、途中結果表示等のユーザ１からの他の入力を受け付け、また、他の処理を行うことができるものとなっている。
【００２１】
なお、上記した実施の形態では、解析制御部５が、解析対象ファイルのサイズに応じて、ファイルの分割数を増減し、前記分割したファイル毎に、解析スレッドを生成することとして説明したが、複数の解析スレッドを用いて解析対象ファイルの解析を分担させるものであればよく、規定数の解析スレッドを生成するものとし、それぞれに複数の分割ファイルを割り当てて解析させるようにしても良い。
【００２２】
また、上記した実施の形態では、ログファイルを解析するものとして説明したが、その他のファイルにも適用可能であることは勿論である。また、解析対象ファイルのサイズについても制限はなく、コンピュータの能力に応じ分割サイズを調節することで良好な結果を得ることができる。ただし、コンピュータの処理能力、資源に限界があることに照らせば、ファイルの分割数、即ち、生成する解析スレッドの数に、一定の上限を設けることが好ましいといえる。
【００２３】
またスレッドを利用する本発明の原理からすれば、上記した例に限らず、解析処理の優先度の変更や、その他の処理の実行等、ユーザの他の指示を受け付けることも可能となっている。
【００２４】
以上列記した点を含め、本発明の技術的範囲は、上記実施の形態にのみ限定されるものでなく、本発明の当業者のであればなしうるであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００２５】
【図１】本発明の構成と動作の概要を表した図である。
【図２】本発明の一実施の形態を説明するための図である。
【図３】本発明の一実施の形態の動作を説明するためのフローチャートである。
【図４】本発明の一実施の形態の動作を説明するためのフローチャートである。
【図５】従来技術の構成と動作の概要を表した図である。
【符号の説明】
【００２６】
１  ユーザ
２  ログファイル
３  解析プログラム
４  ユーザインタフェース部
５  解析制御部
７  プロセス
６１、６２、６３、６ｎ  解析スレッド
【図１】
2006107198.tif 000003
【図２】
2006107198.tif 000004
【図３】
2006107198.tif 000005
【図４】
2006107198.tif 000006
【図５】
2006107198.tif 000007