(57)【要約】【課題】  データベースの形式に応じたデータ整形処理を前もって行わずに、同一項目の複数のデータを一つのレコードに格納することを可能にする。【解決手段】  入力ファイル読出し装置１１が読み出した入力ファイルをレコード分割装置７１がデータ項目ごとに分割し、レコードバッファ書き込み装置７２が各データ項目に対応したバッファ７５〜７７のそれぞれに分割されたデータを書き込み、レコードバッファ読出し装置７３が、データ項目ごとに連続読出し数を示すデータ配置情報７に従ってバッファ７５〜７７からデータを読出し、複数の連続読出し数が示されたデータ項目については連続読出しを行い、レコード作成装置１４が読み出されたデータからレコードを作成し、作成されたレコードがデータベースに書き込まれる。【選択図】        図６
2006031214.tif 000002
【特許請求の範囲】
【請求項１】
相互に対応関係にある複数のデータを、それぞれのデータのデータ種別に従って分類して蓄積するバッファ部と、
前記バッファ部からデータを読み出す際の連続読出し数をデータ種別ごとに示す制御情報を読み出す制御情報読出し部と、
読出しの対象となる相互に対応関係にある複数のデータを特定し、読出し対象である相互に対応関係にある複数のデータを前記バッファ部から読み出すとともに、制御情報に示された連続読出し数が複数であるデータ種別について、当該データ種別の連続読出し数に従って当該データ種別のデータを前記バッファ部から連続して読み出すデータ読出し部とを有することを特徴とするデータ処理装置。
【請求項２】
前記データ読出し部は、
連続読出し数が複数であるデータ種別について、当該データ種別のデータを前記バッファ部に蓄積された順に従って連続して読み出すことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ読出し部は、
連続読出し数が複数であるデータ種別について、当該データ種別の読出し対象のデータの直後に前記バッファ部に蓄積された当該データ種別のデータから順に連続して読み出すことを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記データ処理装置は、更に、
前記データ読出し部により読み出されたデータを相互に対応づけて所定のデータ書き込み先に書き込むデータ書き込み部を有することを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記データ処理装置は、更に、
前記データ読出し部により連続して読み出されたデータの少なくともいずれかを用いて所定の演算を行うデータ演算部を有することを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記データ処理装置は、更に、
前記データ読出し部により読み出されたデータと前記データ演算部の演算結果とを相互に対応づけて所定のデータ書き込み先に書き込むデータ書き込み部を有することを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
相互に対応関係にある複数のデータを、それぞれのデータのデータ種別に従って分類して蓄積するデータ蓄積ステップと、
前記データ蓄積ステップにより蓄積されたデータを読み出す際の連続読出し数をデータ種別ごとに示す制御情報を読み出す制御情報読出しステップと、
読出しの対象となる相互に対応関係にある複数のデータを特定し、読出し対象である相互に対応関係にある複数のデータを読み出すとともに、制御情報に示された連続読出し数が複数であるデータ種別について、当該データ種別の連続読出し数に従って当該データ種別のデータを連続して読み出すデータ読出しステップとを有することを特徴とするデータ処理方法。
【請求項８】
相互に対応関係にある複数のデータを、それぞれのデータのデータ種別に従って分類して蓄積するデータ蓄積処理と、
前記データ蓄積処理により蓄積されたデータを読み出す際の連続読出し数をデータ種別ごとに示す制御情報を読み出す制御情報読出し処理と、
読出しの対象となる相互に対応関係にある複数のデータを特定し、読出し対象である相互に対応関係にある複数のデータを読み出すとともに、制御情報に示された連続読出し数が複数であるデータ種別について、当該データ種別の連続読出し数に従って当該データ種別のデータを連続して読み出すデータ読出し処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力ファイルを所定のデータベースに格納するデータ格納技術に関する。
【背景技術】
【０００２】
従来のデータ格納方式として、入力ファイル以外に、データ格納に関する付加情報を与えることにより、データ格納の効率化を行う方法が提案されている（例えば、特許文献１）。ここで提案されている方法は、入力ファイルから抽出した抽出パターンの文字列において、データベースの各項目と抽出パターンの各項との対応関係や変換形式を指定した「データベース変換テーブル」を参照してデータベースの仕様に応じた文字列に変換する処理を行っている。
【特許文献１】特開平７−１５２７８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のデータ格納方式は、データの型変換を効率化するために、データ格納に関する付加情報を与えるものであり、データ配置に関して格納を効率化するものではない。従来方法では、一つのデータを複数のレコードに格納するようなデータ配置を行うためには、前もってデータベースの形式に対応するように入力ファイルの整形処理を行う必要があるという問題点があった。時系列データの類似パターン検索では、ある項目のデータ値を複数個連続して一つのレコードに格納し、次のレコードには一定期間だけずらした位置から再び同じ個数のデータ値を一つのレコードに格納する形式が用いられるが、このような場合には、データベースの形式に応じたデータ整形処理を前もって行う必要があった。
【０００４】
この発明は上記のような問題点を解決するためになされたもので、同一項目の複数のデータを一つのレコードに格納すること、および、一つのデータを複数のレコードに対応させて格納するデータ格納方式を実現することを主な目的とする。
【課題を解決するための手段】
【０００５】
本発明に係るデータ処理装置は、
相互に対応関係にある複数のデータを、それぞれのデータのデータ種別に従って分類して蓄積するバッファ部と、
前記バッファ部からデータを読み出す際の連続読出し数をデータ種別ごとに示す制御情報を読み出す制御情報読出し部と、
読出しの対象となる相互に対応関係にある複数のデータを特定し、読出し対象である相互に対応関係にある複数のデータを前記バッファ部から読み出すとともに、制御情報に示された連続読出し数が複数であるデータ種別について、当該データ種別の連続読出し数に従って当該データ種別のデータを前記バッファ部から連続して読み出すデータ読出し部とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、複数の連続読出し数が指定されたデータ種別のデータについては当該データ種別のデータを連続して読み出すことにより、前もってデータベースの形式に合わせて整形する処理を行わずに、特定のデータ種別のデータを連続して一つのレコードに格納することができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は、本実施の形態に係るデータ格納装置（データ処理装置）の構成を示す図である。本実施の形態に係るデータ格納装置は、与えられた入力ファイル、および、制御ファイルから、指定された形式のレコードを作成して格納する処理を行う。
【０００８】
図１において、データ格納装置１は、入力ファイル読出し装置１１、レコードバッファ管理装置１２、制御ファイル読出し装置１３（制御情報読出し部）、レコード作成装置１４、レコード書き込み装置１５（データ書込み部）、および、レコードバッファ１６（バッファ部）から構成され、入力ファイル４、および、制御ファイル３を入力とする。制御ファイル３は、入力ファイル内のデータ並びおよびデータ型を記述した入力データ値情報６、入力ファイルのデータからどのようにレコードを構成するかを記述したデータ配置情報７（制御情報）、および、実際にデータを格納するデータベースの表名、列名、データ型を記述したデータベース定義情報８から構成される。
【０００９】
図２は、本実施の形態における入力データ値情報６の構成例を示すものである。入力データ値情報６は、通番２１、データ型情報２２、データ型が文字型、日付型の場合のデータ長２３、および、データ型が数値型の場合の精度２４から構成される。ここで、精度とは、データ型が数値（ＩＮＴＥＧＥＲなど）の場合に、表現できる範囲を表すものであり、図２の例では、３２ビットで数値を表すことを意味する。
【００１０】
図３は、本実施の形態におけるデータ配置情報７の構成例を示すものである。データ配置情報７は、通番３１、連続読出し数３２、次レコードオフセット３３、格納方法指定３４から構成される。格納方法指定３４に記述される数値は、読み出したデータをレコードとして格納する順を示す。
【００１１】
図４は、本実施の形態におけるデータベース定義情報８の構成例を示すものである。データベース定義情報８は、表名情報４１、列名情報４２、データ型情報４３、データ型が文字型、日付型の場合のデータ長４４、および、データ型が数値型の場合の精度４５から構成される。
【００１２】
図６は、本実施の形態におけるレコードバッファ管理装置の構成図である。レコードバッファ管理装置１２は、レコード分割装置７１、レコードバッファ書き込み装置７２、レコードバッファ読出し装置７３（データ読出し部）、データ演算装置７４（データ読出し部）から構成される。
【００１３】
次に動作について説明する。
【００１４】
図５は、本実施の形態におけるデータ格納方式のフローチャートである。
【００１５】
まずデータ格納装置１は、ステップ５２において、制御ファイル読出し装置１３により制御ファイル３を読み出す（制御情報読出しステップ）。レコードバッファ１６内に未処理のデータがない場合で、かつ、入力ファイル４内のデータをすべて処理していない場合は、ステップ５５において、入力ファイル読出し装置１１が入力ファイルからデータを読み出す。レコードバッファ管理装置１２は、読み出したデータに対して、ステップ５６においてレコードバッファの更新（データ蓄積ステップ）、ステップ５７において制御ファイル３の情報をもとに、レコードバッファの現在位置からの必要なデータ読み出し（データ読出しステップ）、ステップ５８において、レコードバッファ内の現在位置の更新を行う。
【００１６】
ステップ５６〜ステップ５８の動作を図６を用いて説明する。入力ファイル４が図６に示すようなデータであり、入力データ値情報６、データ配置情報７が、それぞれ、図２、図３に示す形式であるとする。なお、入力ファイルの「ＡＡ、１、２００３０１０１」等が、相互に対応関係にある複数のデータに相当する。レコード分割装置７１は、入力ファイル読出し装置１１を介して読み出したデータを、項目ごとに分割する。例えば「ＡＡ、１、２００３０１０１」の場合は、「ＡＡ」、「１」、「２００３０１０１」に分割する。レコードバッファ１６は、各項目ごと（データ種別ごと）にバッファ７５からバッファ７７で示すようなバッファを用意しているため、レコードバッファ書き込み装置７２は、分割したデータを項目ごとに分類し、対応するレコードバッファに書き込む（ステップ５６）。各レコードバッファには、現在位置を示すポインタが存在し、レコードバッファ読出し装置７３（データ読出し部）は、各レコードバッファの現在位置から、データ配置情報７で指定された連続読出し数だけのデータを読み出す（ステップ５７）とともに、各レコードバッファの現在位置を、データ配置情報７で指定された次レコードオフセットだけ進める更新処理を行う（ステップ５８）。
【００１７】
ステップ５３において、レコードバッファ内に未処理データが存在する場合は、ステップ５７において、レコードバッファの現在位置から必要なデータを読み出す。
本実施の形態では、図３に示すデータ配置情報７において、各項目の格納方法指定３４がすべて、読み出したデータを順に並べる指定になっているため、読み出されたデータは、データ演算装置７４では何も処理を行わず、ステップ５９において、レコード作成装置１４が単純に並べてレコードイメージを作成し、ステップ６０において、レコード書き込み装置１５が、データベース管理システム２を介してレコードを書き込む。ここで、レコード書き込み装置１５は、図４のデータベース定義情報を参照して、レコードの書き込みを行う。
本実施の形態において、レコード作成装置１４で作成されたレコードイメージは図７に示す形式となる。つまり、図３の通番１は図２の通番１の「ＣＨＡＲＡＣＴＥＲ」に対応しており、「ＡＡ、１、２００３０１０１」のうちの「ＡＡ」のデータが対象となる。また、連続読出し数が「１」なので、「ＡＡ」のみが読み出される。図３の通番２は図２の通番２の「ＩＮＴＥＧＥＲ」に対応しており、「ＡＡ、１、２００３０１０１」のうちの「１」のデータが対象となる。また、連続読出し数が「８」なので、「ＡＡ、１、２００３０１０１」以降のデータの同一項目のデータを連続して読出し、この結果、「１、２、３、４、５、６、７、８」が得られる。図３の通番３は図２の通番３の「ＤＡＴＥ」に対応しており、「ＡＡ、１、２００３０１０１」のうちの「２００３０１０１」のデータが対象となる。また、連続読出し数が「１」なので、「２００３０１０１」のみが読み出される。また、図３の通番１〜３のいずれもが次レコードオフセットが「１」なので、次に「ＢＢ、２、２００３０１０２」について同様の処理を行い、このようにして図７の結果が得られる。
【００１８】
ステップ５４において、入力ファイルのすべてのデータを処理したと判定されると、本実施の形態のデータ格納処理は終了する。
【００１９】
このように、本実施の形態に係るデータ格納装置１は、相互に対応関係にある複数のデータ（入力ファイル）を、それぞれのデータのデータ種別に従って分類して蓄積するレコードバッファ（バッファ部）と、レコードバッファからデータを読み出す際の連続読出し数をデータ種別ごとに示すデータ配置情報（制御情報）を読み出す制御ファイル読出し部（制御情報読出し部）と、読出しの対象となる相互に対応関係にある複数のデータを特定し、読出し対象である相互に対応関係にある複数のデータをレコードバッファから読み出すとともに、データ配置情報に示された連続読出し数が複数であるデータ種別について、当該データ種別の連続読出し数に従って当該データ種別のデータをレコードバッファから連続して読み出すレコードバッファ読出し装置（データ読出し部）とを有する。
【００２０】
以上のように、データ格納処理において、データ配置に関する情報として、連続読出し数、および、格納方法指定を別に与えるようにしているので、前もってデータベースの形式に合わせて入力ファイルを整形する処理を行わずに、入力ファイルのある項目のデータを連続して一つのレコードに格納することができる。
【００２１】
また、次のレコードに格納するデータのオフセットを合わせて指定できることにより、前もってデータベースの形式に合わせて入力ファイルを整形する処理を行わずに、一つのデータを複数のレコードに格納することが可能となる。
【００２２】
時系列データの類似パターン検索を行うためには、連続した一定期間のデータ値を一つのレコードに格納することが要求される。図８を用いて説明する。時系列データ８１は、入力ファイル８２に図８で示す形式で格納されているとする。このとき８個の測定期間での時系列データを切り出し、その切り出したパターンの他のパターンに対する類似度を計算する類似パターン検索を実施する場合は、レコード８３〜レコード８６に示すような形式でデータ格納が行われる。即ち、各レコードには、時刻と８個の連続した測定値が格納され、次のレコードには、１測定期間だけずらした位置から８個の測定値が連続して格納される。このような時系列データの類似パターン検索に対応したデータ格納の場合には、データ配置情報を与える本実施の形態により、入力ファイルをあらかじめ整形する必要なく、データ格納を実現することが可能となる。
【００２３】
実施の形態２．
以上の実施の形態１では、ある項目の連続する複数データを一つのレコードに格納するようにしたものであるが、次に連続するデータ間の演算結果の値をレコードに格納する場合の実施の形態を示す。
【００２４】
図９は、このような場合のデータ配置情報を示す。通番「２」で示す項目において、格納方法指定９４が示す「Ｄｉｆｆ」という値は、読み出したデータの一つ後のデータとの差分値を計算することを意味する。
【００２５】
図１１は、本実施の形態におけるレコードバッファ管理装置の構成図である。レコードバッファ１６には、データ演算結果を格納する演算結果用バッファ１２０が用意されている。
【００２６】
次に、動作について説明する。
【００２７】
図１０は、本実施の形態におけるデータ格納方式のフローチャートである。
【００２８】
まずデータ格納装置１は、ステップ１０２において、制御ファイル読出し装置１３により制御ファイル３を読み出す。レコードバッファ１６内に未処理のデータがない場合で、かつ、入力ファイル４内のデータをすべて処理していない場合は、ステップ１０５において、入力ファイル読出し装置１１が入力ファイルからデータを読み出す。レコードバッファ管理装置１２は、読み出したデータに対して、ステップ１０６においてレコードバッファの更新、ステップ１０７において制御ファイル３の情報をもとに、レコードバッファの現在位置からの必要なデータ読み出し、ステップ１０８において、レコードバッファ内の現在位置の更新を行う。
【００２９】
ステップ１０６〜ステップ１０８の動作を図１１を用いて説明する。入力ファイル４が図１１に示すようなデータであり、入力データ値情報６、データ配置情報７が、それぞれ、図２、図９に示す形式であるとする。レコード分割装置７１は、入力ファイル読出し装置１１を介して読み出したデータを、項目ごとに分割する。レコードバッファ１６は、各項目ごとにバッファ７５からバッファ７７で示すようなバッファを用意しているため、レコードバッファ書き込み装置７２は、項目ごとに分割したデータを対応するレコードバッファに書き込む（ステップ１０６）。各レコードバッファには、現在位置を示すポインタが存在し、レコードバッファ読出し装置７３は、各レコードバッファの現在位置から、データ配置情報７で指定された連続読出し数だけのデータを読み出す（ステップ１０７）とともに、各レコードバッファの現在位置を、データ配置情報７で指定された次レコードオフセットだけ進める更新処理を行う（ステップ１０８）。
【００３０】
必要な数だけ読み出したデータに対して、ステップ１０９において、データ演算装置７４（データ演算部）が演算を行う。本実施の形態では、通番「２」の項目の格納方法指定に差分値の演算「Ｄｉｆｆ」があるため、データ演算装置は、読み出した二つのデータの差分値を計算し、レコードバッファ内の演算結果用バッファ１２０に演算の結果を格納する。ステップ１１０において、レコード作成装置１４が、演算結果用バッファ１２０の内容を利用して、レコードイメージを作成し、ステップ１１１において、レコード書き込み装置１５が、データベース管理システム２を介してレコードを書き込む。本実施の形態において、レコード作成装置１４で作成されたレコードイメージは図１２に示す形式となる。
【００３１】
以上のように、データ格納処理において、データ配置に関する情報として、連続読出し数、および、演算情報を含んだ格納方法指定を別に与えるようにしているので、前もってデータベースの形式に合わせて入力ファイルを整形する処理を行わずに、入力ファイルのある項目の連続したデータ間の演算処理結果をレコードの値として格納することができる。
【００３２】
演算情報として、差分計算を指定することにより、ある項目の値の増分値をレコードに格納することが可能となり、前もって入力ファイルの整形処理を行わずに、増分値を用いた傾向分析を実現するためのデータ格納を実現することができる。
【００３３】
前述した各実施の形態で、データ格納装置は、コンピュータで実現できるものである。
【００３４】
図示していないが、データ格納装置は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。
【００３５】
例えば、ＣＰＵは、バスを介して、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信ボード、表示装置、Ｋ／Ｂ（キーボード）、マウス、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（コンパクトディスクドライブ）、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。
【００３６】
磁気ディスク装置には、オペレーティングシステム（ＯＳ）、ウィンドウシステム、プログラム群等が記憶されている。
【００３７】
プログラム群は、ＣＰＵ、ＯＳ、ウィンドウシステムにより実行される。
【００３８】
上記データ格納装置の各部は、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。
【００３９】
上記プログラム群には、実施の形態の説明において「〜部」として説明した処理をＣＰＵに実行させるプログラムが記憶される。これらのプログラムは、例えば、Ｃ言語やＨＴＭＬやＳＧＭＬやＸＭＬなどのコンピュータ言語により作成される。
【００４０】
また、上記プログラムは、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記憶され、ＣＰＵにより読み出され実行される。
【図面の簡単な説明】
【００４１】
【図１】実施の形態１に係るデータ格納装置の構成例を示すブロック図である。
【図２】実施の形態１、２における入力データ値情報の一構成例を示す図である。
【図３】実施の形態１におけるデータ配置情報の一構成例を示す図である。
【図４】実施の形態１におけるデータベース定義情報の一構成例を示す図である。
【図５】実施の形態１におけるデータの格納処理手順を示すフローチャート図である。
【図６】実施の形態１におけるレコードバッファ管理装置の構成例を示すブロック図である。
【図７】実施の形態１における格納レコードイメージを示す図である。
【図８】時系列データの格納イメージを示す説明図である。
【図９】実施の形態２におけるデータ配置情報の一構成例を示す図である。
【図１０】実施の形態２におけるデータの格納処理手順を示すフローチャート図である。
【図１１】実施の形態２におけるレコードバッファ管理装置の構成例を示すブロック図である。
【図１２】実施の形態２における格納レコードイメージを示す図である。
【符号の説明】
【００４２】
１  データ格納装置、２  データベース管理システム、３  制御ファイル、４  入力ファイル、５  データベース、６  入力データ値情報、７  データ配置情報、８  データベース定義情報、１１  入力ファイル読出し装置、１２  レコードバッファ管理装置、１３  制御ファイル読出し装置、１４  レコード作成装置、１５  レコード書き込み装置、１６  レコードバッファ、７１  レコード分割装置、７２  レコードバッファ書き込み装置、７３  レコードバッファ読出し装置、７４  データ演算装置、７５  バッファ、７６  バッファ、７７  バッファ、１２０  演算結果用バッファ。
【図１】
2006031214.tif 000003
【図２】
2006031214.tif 000004
【図３】
2006031214.tif 000005
【図４】
2006031214.tif 000006
【図５】
2006031214.tif 000007
【図６】
2006031214.tif 000008
【図７】
2006031214.tif 000009
【図８】
2006031214.tif 000010
【図９】
2006031214.tif 000011
【図１０】
2006031214.tif 000012
【図１１】
2006031214.tif 000013
【図１２】
2006031214.tif 000014