(57)【特許請求の範囲】
【請求項１】
データベースを用いてサービスログの集計を行うためのデータロード手段、ログ集計手段、データベースシステムのディスク装置とクエリ処理手段と、を有するデータ処理システムであって、
前記ディスク装置は、ＣＳＶ（Comma  Separated  Value  format）形式のデータファイルのみを格納する外部表ＣＳＶファイルを有し、
前記クエリ処理手段は、外部表ＣＳＶファイルへの参照及び挿入のアクセスを実現する外部データアクセス手段を有し、
前記データロード手段は、ＣＳＶ形式のサービスログ（以下、「ＣＳＶサービスログ」と記す）をディスク装置に登録する際に、前記データベースシステムに対して、前記外部表ＣＳＶファイルのテーブル名と該ＣＳＶサービスログの形式を対応付けるように変換するリンク要求を送信する手段を有し、
前記ログ集計手段は、前記外部表ＣＳＶファイルのテーブル名を含むログ集計のためのデータ問い合わせを行い、問い合わせ結果に基づいてログ集計処理を行い、集計結果の登録要求をデータベースシステムに対して送信する手段を有し、
前記外部データアクセス手段は、
前記データロード手段から前記リンク要求を取得すると、前記外部表ＣＳＶファイルのテーブル名と前記ＣＳＶサービスログの形式を対応付ける手段と、
前記ログ集計手段から前記ログ集計のためのデータ問い合わせを取得すると、該問い合わせに含まれるテーブル名に基づいて、前記外部表ＣＳＶファイルを検索した結果を返却する手段と、
前記ログ集計手段から前記集計結果の登録要求を取得すると、追記用のレコードを生成し、前記外部表ＣＳＶファイルに追記する手段とを含む
ことを特徴とするデータ処理システム。
【請求項２】
データベースを用いてサービスログの集計を行うデータ処理方法であって、
ＣＳＶ形式のデータファイルのみを格納する外部表ＣＳＶファイルを有するディスク装置と、
前記外部表ＣＳＶファイルへの参照及び挿入のアクセスを実現する外部データアクセス手段と、を有するデータベースシステムと、
ＣＳＶ形式のサービスログ（以下、「ＣＳＶサービスログ」と記す）をディスク装置に登録する際に、データベースシステムに対して、前記外部表ＣＳＶファイルのテーブル名と該ＣＳＶサービスログの形式を対応付けるように変換するリンク要求を送信するデータロード手段と、
データベースシステムに対して、前記外部表ＣＳＶファイルのテーブル名を含むログ集計のためのデータ問い合わせを行い、問い合わせ結果に基づいてログ集計処理を行い、集計結果の登録要求をデータベースシステムに対して送信するログ集計手段と、
を有するシステムにおいて、
前記外部データアクセス手段が、
前記データロード手段から前記リンク要求を取得すると、前記外部表ＣＳＶファイルのテーブル名と前記ＣＳＶサービスログの形式を対応付け、
前記ログ集計手段からログ集計のためのデータ問い合わせを取得すると、該問い合わせに含まれるテーブル名に基づいて、前記外部表ＣＳＶファイルを検索した結果を返却し、
前記集計結果の登録要求を取得すると、追記用のレコードを生成し、前記外部表ＣＳＶファイルに追記する
ことを特徴とするデータ処理方法。
【請求項３】
データベースシステム内で実行されるログ集計のためのプログラムであって、
ロード対象テーブル名とＣＳＶサービスログをリンクさせるためのリンク要求を取得すると、ディスク装置内のＣＳＶ形式のデータファイルのみを格納する外部表ＣＳＶファイルのテーブル名とＣＳＶサービスログの形式を対応付けるように変換するステップと、
ログ集計のためのデータ問い合わせを取得すると、該問い合わせに含まれるテーブル名に基づいて、前記外部表ＣＳＶファイルを検索した結果を返却するステップと、
集計結果の登録要求を取得すると、追記用のレコードを生成し、前記外部表ＣＳＶファイルに追記するステップと、
をコンピュータに実行させるデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システム及び方法及びプログラムに係り、特に、データベースを用いてサービスログの集計を行うためのデータ処理システム及び方法及びプログラムに関する。
【背景技術】
【０００２】
バッチ処理を行うためのデータベースを用いたデータ処理技術として、データの永続化と効率的な（高速な）アクセスとを同時に実現するＲＤＢＭＳ（Relational Data Base Management System）が知られている（例えば、非特許文献１参照）。
【０００３】
また、外部のデータに対し、参照に限定して問い合わせ言語であるＳＱＬ処理を利用できるＳＱＬ機能が標準化されている（例えば、非特許文献２参照）。
【０００４】
また、ＲＤＢＭＳ専用のＤＢファイルでない独自の構造のファイル（例えば、ＣＳＶファイル）に対して、アクセス方法への変換ロジックを用意し、ＳＱＬでアクセスすることを可能とするものがある（例えば、特許文献１）参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2002-268927号公報
【非特許文献】
【０００６】
【非特許文献１】Oracle RDBMS: http://download.oracle.com/docs/cds/E16338_01.zip
【非特許文献２】ISO/IEC 9075-9:2000. Information technology--atabase anguages-SQL--Part9: Management of External Data (SQL/MED). 国際標準化機構（ISO） 2000.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
バッチ処理プログラムの改変を行わず、DBMS(Data Base Management System)内部のロジック改変で入出力量を抑止できれば、処理速度の改善につながる。
【０００８】
しかしながら、バッチ処理システムには以下の問題がある。
【０００９】
まず、多くのバッチ処理で使われるＳＱＬを利用できるという観点でよく用いられる前述の非特許文献１の技術では、データを永続化と効率的なアクセスとを同時に実現するため、データ量の増大を伴う「構造化」、「変更履歴情報出力」により、入出力を増大させる原因となっている。
【００１０】
そこで、非特許文献２の技術のような外部データに対してＳＱＬ処理を利用するＳＱＬ／ＭＥＤ（SQL/Management of External Data）機能のように、参照については外部ファイルへ少ない入出力量でデータ参照アクセスを可能する既存技術があるが、データの挿入、更新、削除処理については機能がないためバッチ処理を構築できないという問題がある。
【００１１】
また、特許文献１の技術のように、独自構造のファイル形式（例えば、ＣＳＶ形式）に対してＳＱＬアクセスできるためのＳＱＬから独自アクセスＡＰＩ(Application Program Interface)への変換ロジックを設けることで入出力量を低減する方法も考えられるが、既存のバッチ処理をベースとしてアプリケーションを変更せずに処理の高速化を行うのは難しい。
【００１２】
本発明は、上記の点に鑑みなされたもので、既存のプログラムを変更せずに高速なＳＱＬデータ処理を実現することが可能なデータ処理システム及び方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
図１は、本発明の原理構成図である。
【００１５】
本発明（請求項１）は、データベースを用いてサービスログの集計を行うためのデータロード手段、ログ集計手段、データベースシステムのディスク装置とクエリ処理手段と、を有するデータ処理システムであって、
ディスク装置５０は、ＣＳＶ形式のデータファイルのみを格納する外部表ＣＳＶファイル５３を有し、
クエリ処理手段４１は、外部表ＣＳＶファイル５３への参照及び挿入のアクセスを実現する外部データアクセス手段４１０を有し、
データロード手段２０は、ＣＳＶ形式のサービスログ（以下、「ＣＳＶサービスログ」と記す）をディスク装置５０に登録する際に、データベースシステム４０に対して、外部表ＣＳＶファイル５３のテーブル名と該ＣＳＶサービスログの形式を対応付けるように変換するリンク要求を送信する手段を有し、
ログ集計手段３０は、外部表ＣＳＶファイル５３のテーブル名を含むログ集計のためのデータ問い合わせを行い、問い合わせ結果に基づいてログ集計処理を行い、集計結果の登録要求をデータベースシステムに対して送信する手段を有し、
外部データアクセス手段４１０は、
データロード手段２０からリンク要求を取得すると、外部表ＣＳＶファイル５３のテーブル名と該ＣＳＶサービスログの形式を対応付ける手段と、
ログ集計手段３０からログ集計のためのデータ問い合わせを取得すると、該問い合わせに含まれるテーブル名に基づいて、外部表ＣＳＶファイル５３を検索した結果を返却する手段と、
ログ集計手段３０から集計結果の登録要求を取得すると、追記用のレコードを生成し、外部表ＣＳＶファイルに追記する手段とを含む。
【００１７】
図２は、本発明の原理を説明するための図である。
【００１８】
本発明（請求項２）は、データベースを用いてサービスログの集計を行うデータ処理方法であって、
ＣＳＶ形式のデータファイルのみを格納する外部表ＣＳＶファイルを有するディスク装置と、
外部表ＣＳＶファイルへの参照及び挿入のアクセスを実現する外部データアクセス手段と、を有するデータベースシステムと、
ＣＳＶ形式のサービスログ（以下、「ＣＳＶサービスログ」と記す）をディスク装置に登録する際に、データベースシステムに対して、外部表ＣＳＶファイルのテーブル名と該ＣＳＶサービスログの形式を対応付けるように変換するリンク要求を送信するデータロード手段と、
データベースシステムに対して、外部表ＣＳＶファイルのテーブル名を含むログ集計のためのデータ問い合わせを行い、問い合わせ結果に基づいてログ集計処理を行い、集計結果の登録要求をデータベースシステムに対して送信するログ集計手段を有するシステムにおいて、
外部データアクセス手段が、
データロード手段からリンク要求を取得する（ステップ１）と、外部表ＣＳＶファイルのテーブル名と該ＣＳＶサービスログの形式を対応付け（ステップ２）、
ログ集計手段からログ集計のためのデータ問い合わせを取得する（ステップ３）と、該問い合わせに含まれるテーブル名に基づいて、外部表ＣＳＶファイルを検索した結果を返却し（ステップ４）、
ログ集計手段から集計結果の登録要求を取得すると、追記用のレコードを生成し、外部表ＣＳＶファイルに追記する（ステップ５）。
【００２０】
本発明（請求項３）は、データベースシステム内で実行されるログ集計のためのプログラムであって、
ロード対象テーブル名とＣＳＶサービスログをリンクさせるためのリンク要求を取得すると、ディスク装置内のＣＳＶ形式のデータファイルのみを格納する外部表ＣＳＶファイルのテーブル名とＣＳＶサービスログの形式を対応付けるように変換するステップと、
ログ集計のためのデータ問い合わせを取得すると、該問い合わせに含まれるテーブル名に基づいて、外部表ＣＳＶファイルを検索した結果を返却するステップと、
集計結果の登録要求を取得すると、追記用のレコードを生成し、外部表ＣＳＶファイルに追記するステップと、
をコンピュータに実行させるデータ処理プログラムである。
【発明の効果】
【００２１】
上記のように本発明によれば、データベースを用いてサービスログの集計を行うシステムにおいて、ログ集計の対象としてＤＢ内部データではなく、構造情報を持たない外部ＣＳＶデータを用いることで、データベースファイルのデータ構造化に伴うデータ容量の増大を抑えること、並びに、ジャーナルファイルの廃止によるロジック削減により、データ出力処理の高速化が可能となる。
【００２２】
また、ファイルアクセスラッパー部を設けることにより、データベースシステム内部のデータアクセス部に対する変更のみであるため、既存の集計処理プログラムを変更せずに性能を向上させることができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の原理構成図である。
【図２】本発明の原理を説明するための図である。
【図３】本発明の一実施の形態におけるシステム構成図である。
【図４】本発明の一実施の形態における概要動作のフローチャートである。
【図５】本発明の一実施の形態におけるデータロード部の処理のフローチャートである。
【図６】本発明の一実施の形態におけるログ集計処理部とデータベースシステム間の処理のシーケンスチャートである。
【図７】本発明の一実施の形態におけるデータ登録要求時のデータベースシステムのフローチャートである。
【図８】ディスク装置のテーブル空間の例である。
【発明を実施するための形態】
【００２４】
以下、図面と共に本発明の実施の形態を説明する。
【００２５】
以下において、『内部表』とは、RDBの内部リソースとして保護されているテーブルであり、DBMSの基本的な耐障害性が確保されるテーブルを指し、『外部表』とは、ＣＳＶ等の構造化ファイルに対し、一般ユーザがＲＤＢから通常のテーブルのようにアクセスできるテーブルを指す。
【００２６】
図３は、本発明の一実施の形態におけるデータ処理システムの構成を示す。
【００２７】
同図に示すデータ処理システム１００は、ジョブ制御部１０、データロード部２０、複数の集計処理部３０Ａ〜３０Ｚ、データベースシステム４０、ディスク装置５０、結果出力部６０から構成され、データロード部２０には、オンライン処理部２１０を有するオンライン処理部２００が接続されている。また、データロード部２０、各集計処理部３０、結果出力部６０にはデータベースシステム４０が接続されている。
【００２８】
ディスク装置５０は、更新履歴記憶部５１とデータ記憶部（内部表）５２からなる既存のＤＢファイルと、ＣＳＶ形式のデータを格納する外部表データファイル５３を有する。
【００２９】
データベースシステム４０は、クエリ処理部４１とカタログ情報管理部４２とを有する。クエリ処理部４１は、ディスク装置５０の既存ＤＢファイルに対して、データアクセス要求を行い、当該要求に対する結果を取得し、問い合わせ元に返却する。カタログ情報管理部４２は、メモリ等の記憶媒体であり、内部テーブル構造定義情報と外部テーブル構造定義情報とを格納管理する。内部テーブル構造定義情報には、データ記憶部５２（ＤＢＭＳ）とテーブル（Create table）との関連付けが定義されており、外部テーブル構造定義情報には、外部表データファイル（ＣＳＶ形式のファイル）５３とテーブル（Create文）の関連付けが定義されている。
【００３０】
クエリ処理部４１にプラグインされているファイルアクセスラッパー部４１０は、ディスク装置５０の外部表データファイル５３に登録要求のあったＣＳＶファイルを追記する。
【００３１】
ジョブ制御部１０は、データロード部２０、集計処理部３０、結果出力部６０を起動する。
【００３２】
データロード部２０は、ジョブ制御部１０により起動され、データベースシステム４０に対して、当該データベースシステム４０内の外部表データファイル５３のロード対象テーブル名とオンラインシステム２００から送られてくるＣＳＶ形式のサービスログ（以下、「ＣＳＶサービスログ」と記す）をリンク付ける要求を行う。
【００３３】
集計処理部３０は、データベースシステム４０にログの問い合わせ要求を行い、返却されたログの集計を行う。
【００３４】
結果出力部６０は、集計処理部３０で集計された結果をデータベースシステム４０に問い合わせ、結果を取得して出力する。
【００３５】
図４は、本発明の一実施の形態における概要動作のフローチャートである。
【００３６】
ステップ１１０）  ジョブ制御部１０は、データロード部２０を起動する。これによりデータロード部２０は、図５に示す処理を行う。詳細は後述する。
【００３７】
ステップ１２０）  ジョブ制御部１０は、データロード部２０の処理が終了すると、各集計処理部３０A〜３０Zを起動する。これにより、図６に示す処理が実行される。詳細は後述する。
【００３８】
ステップ１３０）  ジョブ制御部１０は、各集計処理部３０A〜３０Zからの返却値に基づいて、各集計処理が正常終了したか否かを判定する。ここで、異常となるケースとして、例えば、ＳＱＬの動作異常があった、集計プログラムの起動ができない等がある。
【００３９】
ステップ１４０）  ステップ１３０において、結果が異常と判定された場合は、当該システムの実行を停止し、処理を終了する。
【００４０】
ステップ１５０）  ジョブ制御部１０は、結果出力部６０を起動する。
【００４１】
ステップ１６０）  結果出力部６０は、データベースシステム４０へ結果出力を要求する。
【００４２】
ステップ１７０）  結果出力部６０は、データベースシステム４０から集計結果を取得し、ファイルへ出力する。
【００４３】
次に、上記のステップ１１０の処理について説明する。
【００４４】
図５は、本発明の一実施の形態におけるデータロード部の処理のフローチャートである。
【００４５】
ステップ３１０）  データロード部２０は、データベースシステム４０に対して、ディスク装置５０の外部表データファイル５３のロード対象テーブル名とオンラインシステムから送られてくるＣＳＶファイル（ＣＳＶサービスログ）とをリンク付ける要求を送信する。
【００４６】
これにより、データベースシステム４０のファイルアクセスラッパー部４１０は、カタログ情報管理部４２を参照してＣＳＶファイル（ＣＳＶサービスログ）と外部表データファイル５３内のテーブル名のリンク付けを行い、データロード部２０にリンク付けの結果を返却する。ここでリンク付けとは、ＣＳＶファイルの構造を外部表データファイル５３のテーブルの形式に対応付けるように変換処理を行うことである。
【００４７】
ステップ３２０）  データロード部２０は、データベースシステム４０からリンク付けの結果（テーブル名）を取得する。
【００４８】
従来技術では、ＣＳＶデータに対してＤＢＭＳの内部ディスク装置（データ記憶部５２）に読み込む操作を行っていたが、本発明では、ＣＳＶファイルを読み込むのではなく、データベースシステム４０が外部表データファイル５３にアクセスできるように、外部表データファイル５３のＣＳＶファイルとテーブル名とのリンク付けを行うのみの処理を行う。
【００４９】
次に、図４のステップ１２０の処理について説明する。
【００５０】
図６は、本発明の一実施の形態における集計処理部の処理のフローチャートである。
【００５１】
ステップ４１０）  各集計処理部３０は、データベースシステム４０に対して、ログ集計のためのデータ問い合わせ要求を送信する。このとき、集計処理部３０は、要求にディスク装置５０の外部表データファイル５３のテーブル名を指定して送信する。
【００５２】
ステップ４２０）  データベースシステム４０のファイルアクセスラッパー部４１０は、テーブル名に基づいて、外部表データファイル５３を検索し、ログを取得してログ集計処理部３０に送信する。
【００５３】
ステップ４３０）  各集計処理部３０は、データベースシステム４０から問い合わせ結果を取得し、その結果からログの集計処理を行う。
【００５４】
ステップ４４０）  各集計処理部３０は、データベースシステム４０に対して集計結果の登録を要求する。
【００５５】
ステップ４５０）  データベースシステム４０は、ディスク装置５０のＤＢデータファイルへ集計結果データの登録を行う。当該要求時のデータベースシステムの４０の動作については図７に示す。
【００５６】
ステップ４６０）  データベースシステム５０は、データ登録処理の結果を返却する。
【００５７】
次に、上記の図６のステップ４５０について説明する。
【００５８】
図７は、本発明の一実施の形態におけるデータ登録要求時のデータベースシステムの処理のフローチャートである。
【００５９】
ステップ５１０）  データベースシステム４０のクエリ処理部４１は、集計処理部３０からＳＱＬによるデータ挿入要求を取得すると、当該データ挿入要求から操作対象のテーブル名を抽出する。
【００６０】
ステップ５２０）  クエリ処理部４１は、データ挿入要求の『Create table』に基づいてカタログ情報管理部４２を参照して、操作対象のテーブルが内部表かまたは外部表かを判定し、内部表の場合はステップ５３０に移行し、外部表の場合はステップ６１０に移行する。
【００６１】
ステップ５３０）  内部表であった場合は、内部表（データ記憶部５２）の内部テーブル構造定義情報をカタログ情報管理部４２から取得する。
【００６２】
ステップ５４０）  クエリ処理部４１は、集計処理部３０から取得した挿入用データを内部構造定義情報を元に組み立てる。
【００６３】
ステップ５５０）  クエリ処理部４１は、データ記憶部５２のテーブル空間管理情報を参照して、空き領域を確保する。
【００６４】
ステップ５６０）  クエリ処理部４１は、空き領域に対し、挿入用データを書き込み、ステップ６３０に移行する。
【００６５】
ステップ６１０）  ステップ５２０において外部表であると判断された場合は、ファイルアクセスラッパー部４１０は、外部表データファイル５３に追記するための外部表追記用のレコード情報を生成する。
【００６６】
ステップ６２０）  ファイルアクセスラッパー部４１０は、生成された外部表追記用のレコード情報を外部表データファイル（ＣＳＶファイル）５３に追記する。
【００６７】
ステップ６３０）  処理結果を集計処理部３０に返却する。
【００６８】
上記のステップ５３０〜５６０の処理は既存技術である。本発明では、ステップ４５０で集計処理部３０からデータベースシステム４０に対して集計結果の登録要求を行う際に、外部表データファイル５３のテーブル名を指定する。これにより、ファイルアクセスラッパー部４１０は、上記のステップ６１０〜６３０の処理を行う。
【００６９】
このように、外部データへの参照及び挿入アクセスを実現するファイルアクセスラッパー部４１０を設けることで、ログ集計処理のためのアプリケーションの修正をすることなく、つまり、アプリケーションに影響を及ぼさない形で入出力量を削減することができる。
【００７０】
上記のように、ＳＱＬ操作対象ファイルとして、ディスク装置５０内のデータ記憶部５２を用いることなく、ＣＳＶファイル（外部表データファイル５３）を用いる。
【００７１】
図８にディスク装置のテーブルの例を示す。同図（Ａ）は、従来のデータ記憶部のテーブル空間を示し、同図（Ｂ）は外部表データファイル５３のテーブル空間を示す。
【００７２】
同図（Ａ）では、図３のディスク装置５０内に点線で表される更新履歴記憶部５１とデータ記憶部５２からなる既存のＤＢ内部の構造情報に基づいて挿入用データを組み立てて、空き領域に書き込むため、入出力量が増大する。
【００７３】
これに対し、本発明では、同じ情報量を持つＣＳＶデータは構造情報を含まないため、図８（Ｂ）に示すようにデータファイルサイズが大幅に小さくなる傾向が高く、それにより、ログ集計処理において扱う入出力量を大きく抑止することができる。これは、データの参照処理のみならず、集計結果の中間データを挿入する際にも同様に入出力量が低減される。
【００７４】
また、中間データ挿入においては、従来技術では、ＤＢＭＳのトランザクション保証を行うため更新履歴データ（ジャーナル）を挿入処理と同時に出力していたため、この点においても入出力量を増大させる要因となっていた。しかし、ログ集計の中間データはログ集計バッチ処理の正常または異常によらず終了時には廃棄されるデータであるため、更新履歴データの出力を行わないことにより、入出力量を削減できる。
【００７５】
なお、図３のデータロード部２０、集計処理部３０の動作をプログラムとして構築し、データロード部、集計処理部を有するコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００７６】
また、データベースシステム４０のクエリ処理部４１、ファイルアクセスラッパー部４１０の動作をプログラムとして構築し、データエースシステムにインストールして実行させる、または、ネットワークを介して流通させることが可能である。
【００７７】
また、構築されたプログラムをハードディスクや、フレキシブルディスク・ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。
【００７８】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更・応用が可能である。
【符号の説明】
【００７９】
１０  ジョブ制御部
２０  データロード手段、データロード部
３０  ログ集計手段、ログ集計部
４０  データベースシステム
４１  クエリ処理手段、クエリ処理部
４２  カタログ情報管理手段、カタログ情報管理部
５０  ディスク装置
５１  更新履歴記憶部
５２  データ記憶部
５３  外部表データファイル
６０  結果出力部
５３  外部表ＣＳＶファイル
１００  データ処理システム
２００  オンラインシステム
２１０  オンライン処理部
４１０  外部データアクセス手段
【図１】
0005546909.tif 000002
【図２】
0005546909.tif 000003
【図３】
0005546909.tif 000004
【図４】
0005546909.tif 000005
【図５】
0005546909.tif 000006
【図６】
0005546909.tif 000007
【図７】
0005546909.tif 000008
【図８】
0005546909.tif 000009