(57)【要約】【課題】  実時間で持続的に発生するデータの継続的な格納処理において大量データが発生した場合でも、大量データ発生時点以外の定常状態のときには遅延のないデータ格納を実現する。【解決手段】  データ量調整部１０３が、データ解析・正規化部１０２から入力データを入力し、入力データが所定のデータブロック分となった際に、書き込みデータ列１０７のデータブロックの数に基づき、入力データのデータブロックの書き込みが完了する格納予定時間を算出し、格納予定時間を遅延が許容される最大時間である遅延許容時間と比較し、遅延許容時間内に入力データのデータブロックが格納可能か否かを判断し、遅延許容時間内に格納可能な場合には入力データのデータブロックを書き込みデータ列の末尾に追加し、格納不可能な場合には当該データブロックを保留データ列に追加し、保留データ列のデータブロックはデータの入力がないときにデータベースへの書き込みを行う。【選択図】        図１
2006065702.tif 000002
【特許請求の範囲】
【請求項１】
データの格納領域であるデータ格納部と、
前記データ格納部への格納の候補となる格納候補データを取得するデータ取得部と、
前記データ取得部により取得された格納候補データを所定の制限時間内に前記データ格納部に格納できるか否かを判断し、前記制限時間内に格納候補データを格納できる場合に格納候補データを格納処理の対象となる格納対象データに指定し、前記制限時間内に格納候補データを格納できない場合に格納候補データの格納処理を保留するデータ格納調整部と、
前記データ格納調整部により指定された格納対象データを前記データ格納部に格納するデータ格納処理部とを有することを特徴とするデータ処理装置。
【請求項２】
前記データ格納調整部は、
格納候補データのデータ量と当該格納候補データに対する判断の際に前記データ格納処理部による前記データ格納部への格納処理を待っている格納対象データのデータ量とに基づき、所定の制限時間内に格納候補データを前記データ格納部に格納できるか否かを判断することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ格納調整部は、
一定時間の間、前記データ取得部により新たな格納候補データが取得されない場合に、既に格納処理が保留されている格納候補データを格納対象データに指定することを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
前記データ格納処理部は、
所定の単位データブロックごとに格納対象データを前記データ格納部に格納し、
前記データ格納調整部は、
前記データ取得部より格納候補データを入力するとともに、前記データ取得部より単位データブロック分の格納候補データを入力しているか否かを判断し、前記データ取得部より単位データブロック分の格納候補データを入力している場合に、単位データブロック分の格納候補データを所定の制限時間内に前記データ格納部に格納できるか否かを判断し、前記制限時間内に単位データブロック分の格納候補データを格納できる場合に、単位データブロック分の格納候補データを格納処理の対象となる格納対象データに指定し、前記制限時間内に単位データブロック分の格納候補データを格納できない場合に、単位データブロック分の格納候補データの格納処理を保留することを特徴とする請求項１に記載のデータ処理装置。
【請求項５】
前記データ取得部は、
格納候補データを取得する度に、取得時刻を計測し、
前記データ格納調整部は、
前記データ取得部より格納候補データを入力するとともに、入力した格納候補データを前記データ取得部の格納候補データの取得時刻から所定の制限時間内に前記データ格納部に格納できるか否かを判断することを特徴とする請求項１に記載のデータ処理装置。
【請求項６】
前記データ格納調整部は、
格納処理を保留した格納候補データの属性を示す索引情報を所定の索引表に記録することを特徴とする請求項１に記載のデータ処理装置。
【請求項７】
前記データ格納調整部は、
一定時間の間、前記データ取得部により新たな格納候補データが取得されない場合に、既に格納処理が保留されている格納候補データを格納対象データに指定するとともに、格納対象データに指定した格納候補データの索引情報を索引表から削除することを特徴とする請求項６に記載のデータ処理装置。
【請求項８】
前記データ取得部は、
格納候補データの取得に先立ち、格納候補データのデータ量を示すデータ量情報を取得し、
前記データ格納調整部は、
前記データ取得部からデータ量情報を入力し、データ量情報に示された格納候補データのデータ量に基づいて、格納候補データを所定の制限時間内に前記データ格納部に格納できるか否かを判断することを特徴とする請求項１に記載のデータ処理装置。
【請求項９】
前記データ格納調整部は、
データ量情報に示された格納候補データのデータ量と当該格納候補データに対する判断の際に前記データ格納処理部による前記データ格納部への格納処理を待っている格納対象データのデータ量とに基づき、所定の制限時間内に格納候補データを前記データ格納部に格納できるか否かを判断することを特徴とする請求項８に記載のデータ処理装置。
【請求項１０】
前記データ格納調整部は、
格納候補データを所定の制限時間内に前記データ格納部に格納できるか否かを判断した結果、前記制限時間内に格納候補データを格納できる場合に、格納候補データを格納処理の対象となる格納対象データに指定するとともに、格納対象データに指定した格納候補データを取得するよう前記データ取得部に要求することを特徴とする請求項８に記載のデータ処理装置。
【請求項１１】
前記データ格納処理部は、
所定の単位データブロックごとに格納対象データを前記データ格納部に格納し、
前記データ取得部は、
格納候補データの取得に先立ち、単位データブロック分の格納候補データのデータ量を示すデータ量情報を取得し、
前記データ格納調整部は、
前記データ取得部からデータ量情報を入力し、データ量情報に示された単位データブロック分の格納候補データのデータ量に基づいて、単位データブロック分の格納候補データを所定の制限時間内に前記データ格納部に格納できるか否かを判断し、前記制限時間内に単位データブロック分の格納候補データを格納できる場合に、単位データブロック分の格納候補データを格納処理の対象となる格納対象データに指定し、前記制限時間内に単位データブロック分の格納候補データを格納できない場合に、単位データブロック分の格納候補データの格納処理を保留することを特徴とする請求項８に記載のデータ処理装置。
【請求項１２】
データの格納領域であるデータ格納部と、
前記データ格納部への格納の候補となる格納候補データを取得するデータ取得部と、
所定の単位時間の間、前記データ取得部より格納候補データを入力するとともに、入力した格納候補データのデータ総量と所定の制限データ量とを比較し、格納候補データのデータ総量が制限データ量を超過する以前に入力された格納候補データを格納処理の対象となる格納対象データに指定し、格納候補データのデータ総量が制限データ量を超過した後に入力された格納候補データの格納処理を保留するデータ格納調整部と、
前記データ格納調整部により指定された格納対象データを前記データ格納部に格納するデータ格納処理部とを有することを特徴とするデータ処理装置。
【請求項１３】
前記データ格納調整部は、
単位時間内に入力した格納候補データのデータ総量が制限データ量に満たない場合に、単位時間内に入力した格納候補データのデータ総量と制限データ量との差のデータ量分、既に格納処理が保留されている格納候補データを格納対象データに指定することを特徴とする請求項１２に記載のデータ処理装置。
【請求項１４】
前記データ取得部は、
取得した格納候補データを複数の区分のいずれかに分類し、
前記データ格納調整部は、
前記データ取得部による分類結果に基づき、区分ごとに、入力した格納候補データのデータ総量と所定の制限データ量とを比較し、区分ごとに、格納候補データのデータ総量が制限データ量を超過する以前に入力された格納候補データを格納処理の対象となる格納対象データに指定し、格納候補データのデータ総量が制限データ量を超過した後に入力された格納候補データの格納処理を保留することを特徴とする請求項１２に記載のデータ処理装置。
【請求項１５】
前記データ格納調整部は、
単位時間内に入力したいずれかの区分の格納候補データのデータ総量が制限データ量に満たない場合に、単位時間内に入力した当該区分の格納候補データのデータ総量と制限データ量との差のデータ量分、当該区分の既に格納処理が保留されている格納候補データを格納対象データに指定することを特徴とする請求項１４に記載のデータ処理装置。
【請求項１６】
データ格納領域への格納の候補となる格納候補データを取得するデータ取得ステップと、
前記データ取得ステップにより取得された格納候補データを所定の制限時間内に前記データ格納領域に格納できるか否かを判断し、前記制限時間内に格納候補データを格納できる場合に格納候補データを格納処理の対象となる格納対象データに指定し、前記制限時間内に格納候補データを格納できない場合に格納候補データの格納処理を保留するデータ格納調整ステップと、
前記データ格納調整ステップにより指定された格納対象データを前記データ格納領域に格納するデータ格納処理ステップとを有することを特徴とするデータ処理方法。
【請求項１７】
データ格納領域への格納の候補となる格納候補データを取得するデータ取得ステップと、
所定の単位時間の間、前記データ取得ステップにより取得された格納候補データを入力するとともに、入力した格納候補データのデータ総量と所定の制限データ量とを比較し、格納候補データのデータ総量が制限データ量を超過する以前に入力された格納候補データを格納処理の対象となる格納対象データに指定し、格納候補データのデータ総量が制限データ量を超過した後に入力された格納候補データの格納処理を保留するデータ格納調整ステップと、
前記データ格納調整ステップにより指定された格納対象データを前記データ格納領域に格納するデータ格納処理ステップとを有することを特徴とするデータ処理方法。
【請求項１８】
データ格納領域への格納の候補となる格納候補データを取得するデータ取得処理と、
前記データ取得処理により取得された格納候補データを所定の制限時間内に前記データ格納領域に格納できるか否かを判断し、前記制限時間内に格納候補データを格納できる場合に格納候補データを格納の対象となる格納対象データに指定し、前記制限時間内に格納候補データを格納できない場合に格納候補データの格納を保留するデータ格納調整処理と、
前記データ格納調整処理により指定された格納対象データを前記データ格納領域に格納するデータ格納処理とをコンピュータに実行させることを特徴とするプログラム。
【請求項１９】
データ格納領域への格納の候補となる格納候補データを取得するデータ取得処理と、
所定の単位時間の間、前記データ取得処理により取得された格納候補データを入力するとともに、入力した格納候補データのデータ総量と所定の制限データ量とを比較し、格納候補データのデータ総量が制限データ量を超過する以前に入力された格納候補データを格納の対象となる格納対象データに指定し、格納候補データのデータ総量が制限データ量を超過した後に入力された格納候補データの格納を保留するデータ格納調整処理と、
前記データ格納調整処理により指定された格納対象データを前記データ格納領域に格納するデータ格納処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のデータ格納領域にデータを格納するデータ格納技術に関する。
【背景技術】
【０００２】
実時間で持続的に発生するデータを継続的に格納する必要のあるシステムにおけるデータ格納方式において、従来ではデータ格納用の待ち行列のデータ数が一定数を超えたとき、データを別に用意したバッファ領域に溜めるようにして、データをバッファ領域から数件まとめて一括して格納することによって、大量データが発生した場合もデータ格納処理の回数を削減することで、処理能力の向上を行っていた（例えば、特許文献１）。
【特許文献１】特開平４−１２６４９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のデータ格納方式は、データ量が増加したときデータをバッファ領域に溜めて一括処理することで処理能力は向上するが、一時的に処理能力を超えた大量データが発生した場合、データの到着（格納要求）から格納完了までに、システム処理上無視できない遅延が発生する。この遅延はそのまま後続データの格納遅延としてシステムに影響を与えて、データ量が定常状態に戻った後も、データの格納が最新データに追いつくまで遅延として残る。このため、データの完備性よりも実時間性が重要視される、周期的に最新データを使った処理を行うようなシステムにおいては、大量データ発生によりデータ格納遅延が発生すると、大量データ発生時点だけでなく、データ量が定常状態に戻った後も遅延の影響により最新データによる処理ができない期間が発生するという問題点があった。
【０００４】
この発明は上記のような問題点を解決するためになされたもので、実時間で持続的に発生するデータの継続的な格納処理において大量データが発生したとき、格納データ量を調節することによりデータの格納遅延が後続の処理に波及することを防ぎ、大量データ発生時点以外の定常状態のときには遅延のないデータ格納を保障するデータ格納方式を得ることを主な目的とする。
【課題を解決するための手段】
【０００５】
本発明に係るデータ処理装置は、
データの格納領域であるデータ格納部と、
前記データ格納部への格納の候補となる格納候補データを取得するデータ取得部と、
前記データ取得部により取得された格納候補データを所定の制限時間内に前記データ格納部に格納できるか否かを判断し、前記制限時間内に格納候補データを格納できる場合に格納候補データを格納処理の対象となる格納対象データに指定し、前記制限時間内に格納候補データを格納できない場合に格納候補データの格納処理を保留するデータ格納調整部と、
前記データ格納調整部により指定された格納対象データを前記データ格納部に格納するデータ格納処理部とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、大量データが発生したとき、データ格納の遅延の可能性を検出して大量データの一部の格納を保留することができ、これによりデータ格納遅延を大量データの発生時点以外へ波及することを防ぎ、定常状態における遅延のないデータ格納を保障することができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は、本実施の形態に係るデータ格納システム（データ処理装置）１００の構成例を示す図である。
【０００８】
図１において、データ格納システム１００は発生したデータを受け取るデータ入力部１０１、データの内容を解析し、データを実際の記憶形式に変換するデータ解析・正規化部１０２、格納データ量の調節を行いデータベース１０９への格納処理の対象となるデータを指定するデータ量調整部１０３、データ量調整の際に参照されるシステム設定情報１０４、格納するデータブロックの待ち行列を管理するキュー制御部１０６、データの書き込みを行うデータ書き込み部１０８、データ格納領域であるデータベース１０９を有する。
【０００９】
なお、データ入力部１０１はデータ取得部の例であり、データ量調整部１０３はデータ格納調整部の例であり、データ書き込み部１０８はデータ格納処理部の例であり、データベース１０９はデータ格納部の例である。
【００１０】
保留データ列１０５はデータ量調整部１０３においてデータ格納の順序を後回しにされた（保留された）データブロックの列であり、データ量調整部１０３によって管理される。書き込みデータ列１０７は、データ量調整部１０３によりデータベース１０９への格納処理の対象として指定され、データベース１０９への書き込みを待つデータブロックの待ち行列であり、キュー制御部１０６によって管理される。
【００１１】
なお、データ入力部１０１により入力され、データ量調整部１０３によって保留データ列１０５及び書き込みデータ列１０７のいずれに振り分けられるかが決定していないデータは、データベース１０９への格納の候補となるデータであり、格納候補データに相当する。また、書き込みデータ列１０７のデータは格納対象データに相当する。
【００１２】
システム設定情報１０４にはデータ書き込み部１０８が単位データブロックの内容をデータベース１０９に書き込む際に必要となるデータ書き込み時間の情報と、データがデータ入力部１０１に到着してからデータベース１０９に書き込まれるまでの時間として遅れが許される最大時間を示す遅延許容時間（制限時間）の情報が含まれる。
【００１３】
次に動作について説明する。
【００１４】
まずデータ格納システム１００の稼動前の準備段階として、システム設定情報１０４にデータ書き込み時間と遅延許容時間（制限時間）を設定する。データ書き込み時間の値はシステム構成や実行するＨ／Ｗ（Ｈａｒｄ  Ｗａｒｅ）仕様などを勘案してシステム管理者（ユーザ）が導出する。また試験用データなどを使ってデータ書き込み時間の統計情報を採取して、これを元に自動的に導出するようにしてもよい。遅延許容時間の値はデータ書き込み時間とシステム構成などを基にシステム管理者（ユーザ）が導出する。
【００１５】
次にデータ格納システム１００におけるデータ入力部１０１でのデータの受け取りからデータベース１０９へのデータの書き込みまでの処理の流れを図２、図３、図４のフローチャートを用いて説明する。
【００１６】
図２は本実施の形態のデータ入力部１０１及びデータ解析・正規化部１０２によるデータ入力手順（データ取得ステップ）を示すフローチャートである。
【００１７】
ステップ１２１でデータ入力部１０１はデータベース１０９に格納する入力データを受け取る。データ入力部１０１はシステム構成に応じて入力データをネットワーク経由で受け取る場合もあれば、データの発生源から直接受け取る場合もある。入力データはＳＱＬ文のような命令として指定されるか、あるいは予め決められた形式のデータとしてデータ入力部１０１に受け渡される。データ入力部１０１は一度に複数の入力データを受け取ってもよい。データ入力部１０１ではデータを受け取ったときの取得時刻（タイムスタンプ）情報を追加して、データ解析・正規化部１０２に１件ずつ入力データを渡す。
【００１８】
ステップ１２２でデータ解析・正規化部１０２は入力データが不正なデータでないか検査を行う。データが正しいとき、入力データをデータベース１０９に実際に書き込む際の内部データ形式に変換する。
【００１９】
ステップ１２３では内部データ形式に変換したデータをデータ量調整部１０３へ送る。
【００２０】
図３は本実施の形態のデータ量調整部１０３によるデータ量調整手順（データ格納調整ステップ）を示すフローチャートである。
【００２１】
ステップ１３１でデータ量調整部１０３は一定時間、データ解析・正規化部１０２からデータが到着するのを待つ。ここで一定時間とは、システム設定情報１０４に設定されたデータ書き込み時間を基に、書き込みデータ列１０７のデータブロックの１個以上が書き込み完了する時間（例えばデータ書き込み時間×１．２）をシステムが自動算出したものである。
【００２２】
ステップ１３２で一定時間内にデータを受け取った場合はステップ１３３に、受け取らなかった場合はステップ１３８に進む。
【００２３】
ステップ１３３でデータ解析・正規化部１０２から受け取ったデータをデータバッファに蓄積してブロック化する。データがバッファを満たして単位データブロックの１ブロック分のデータが到着した場合はステップ１３４に、１ブロック分に満たない場合はステップ１３１に戻る。
【００２４】
ステップ１３４でデータ量調整部１０３はキュー制御部１０６から書き込みデータ列１０７で待機しているデータブロックの数を取得する。データブロック数とシステム設定情報１０４のデータ書き込み時間から、データ量調整部１０３が保持しているデータブロックを書き込みデータ列１０７に追加した場合に書き込みが完了するのに必要な時間（格納予定時間）を算出する。ここで、データブロックごとのデータ量は一定であるため、待機しているデータブロックのブロック数と判断の対象となっているデータブロックのブロック数を加算し、この加算値にデータ書き込み時間を乗算すれば、格納予定時間を求めることができる。このため、格納予定時間は、判断の対象となっているデータブロックのデータ量と書き込みデータ列で待機しているデータブロックのデータ量とに基づく。
【００２５】
ステップ１３５で格納予定時間と保持しているデータブロックの先頭データの取得時刻（タイムスタンプ）を比較し、システム設定情報１０４の遅延許容時間（制限時間）内にデータ格納が完了するかどうか調べる。データの格納が遅延許容時間（制限時間）内に完了する場合はステップ１３６に、完了しない場合はステップ１３７に進む。
【００２６】
ステップ１３６で保持しているデータブロックをキュー制御部１０６に渡す。キュー制御部１０６はデータブロックを書き込みデータ列１０７の末尾に追加する。
【００２７】
ステップ１３７では保持しているデータブロックを保留データ列１０５の末尾に追加する。
【００２８】
また、ステップ１３２において一定時間内に入力データが到着しなかった場合は、ステップ１３８で、保留データ列１０５にデータブロックが存在するか調べる。保留データ列１０５にデータブロックが存在する場合、ステップ１３９に進む。
【００２９】
ステップ１３９では、保留データ列１０５から先頭のデータブロックを取り出す。その後、ステップ１３６に進み、取り出したデータブロックを書き込みデータ列１０７の末尾に追加する。
【００３０】
図４は本実施の形態のデータ書き込み部１０８によるデータ書き込み手順（データ格納処理ステップ）を示すフローチャートである。
【００３１】
ステップ１４１でデータ書き込み部１０８はキュー制御部１０６にデータブロックを要求する。キュー制御部１０６は書き込みデータ列１０７にデータブロックが存在する場合、先頭データブロックをデータ書き込み部１０８に渡す。データブロックが存在しない場合、データ量調整部１０３からデータブロックが渡されるまで、処理の実行を待つ。
【００３２】
ステップ１４２でデータ書き込み部１０８は受け取ったデータブロックをデータベース１０９に書き込む。
【００３３】
図１５は、以上のデータ格納システム１００の処理を説明するタイミングチャートである。
【００３４】
一定時間内に入力データの入力があった場合に、データブロックの格納予定時間が、当該データブロックの先頭データの取得時刻（タイムスタンプ）に遅延許容時間を加算した格納期限よりも前であれば、当該データブロックを書き込みデータ列の末尾に追加する。一方、当該データブロックの格納予定時間が格納期限の後になる場合は、当該データブロックを保留データ列に追加する。また、一定時間内に入力データがなかった場合は、保留データ列のデータブロックを書き込みデータ列に追加する。
【００３５】
以上のように、データをブロック化して遅延許容時間内に格納が完了するかどうか評価し、完了しない場合はそのデータブロックの格納を保留にしているので、大量データが発生したとき、データ格納の遅延の可能性を検出して大量データの一部の格納を後回しにすることができる。これによりデータ格納遅延を大量データの発生時点以外へ波及することを防ぎ、定常状態における遅延のないデータ格納を保障することができる。
【００３６】
また、大量データによる一部データ格納の保留及びデータ量が戻った時点での保留データの格納は、システムが自動的に検出して処理するので、人手の介入なしで予期しない一時的なデータ増加に対応することができる。
【００３７】
なお、以上では、データブロックごとに書き込みデータ列又は保留データ列への振り分けを行っていたが、データごとに書き込みデータ列又は保留データ列への振り分けを行うことも可能である。この場合は、システム設定情報１０４中のデータ書き込み時間の情報をブロック数に対応させた情報からデータ量に対応させた情報に変更し、また、図３の処理を図１６のように変更する。
【００３８】
図１６は、このような場合のデータ量調整部１０３によるデータ量調整手順（データ格納調整ステップ）を示すフローチャートである。
【００３９】
ステップ１５１でデータ量調整部１０３は一定時間、データ解析・正規化部１０２からデータが到着するのを待つ。
【００４０】
ステップ１５２で一定時間内にデータを受け取った場合はステップ１５３に、受け取らなかった場合はステップ１５７に進む。
【００４１】
ステップ１５３でデータ量調整部１０３はキュー制御部１０６から書き込みデータ列１０７で待機しているデータのデータ量を取得し、また、ステップ１５１で受取った入力データのデータ量を算出する。書き込みデータ列のデータのデータ量と入力データのデータ量とシステム設定情報１０４のデータ書き込み時間から、データ量調整部１０３が保持している入力データを書き込みデータ列１０７に追加した場合に書き込みが完了するのに必要な時間（格納予定時間）を算出する。
【００４２】
ステップ１５４で格納予定時間と入力データの取得時刻（タイムスタンプ）を比較し、システム設定情報１０４の遅延許容時間（制限時間）内にデータ格納が完了するかどうか調べる。データの格納が遅延許容時間（制限時間）内に完了する場合はステップ１５５に、完了しない場合はステップ１５６に進む。
【００４３】
ステップ１５５で保持している入力データをキュー制御部１０６に渡す。キュー制御部１０６は当該入力データを書き込みデータ列１０７の末尾に追加する。
【００４４】
ステップ１５６では保持している入力データを保留データ列１０５の末尾に追加する。
【００４５】
また、ステップ１５２において一定時間内に入力データが到着しなかった場合は、ステップ１５７で、保留データ列１０５にデータが存在するか調べる。保留データ列１０５にデータが存在する場合、ステップ１５８に進む。
【００４６】
ステップ１５８では、保留データ列１０５から先頭のデータを取り出す。その後、ステップ１５５に進み、取り出したデータを書き込みデータ列１０７の末尾に追加する。
【００４７】
以降は、図４と同様のデータ書き込み処理が行われる。
【００４８】
以上より、データごとの書き込みデータ列又は保留データ列への振り分けが可能である。
【００４９】
実施の形態２．
以上の実施の形態１では、遅延許容時間内に格納が完了しないデータの書き込みを保留するようにしたものであるが、次に格納を保留する際にデータの索引情報を管理する実施の形態を示す。
【００５０】
図５は、本実施の形態に係るデータ格納システム（データ処理装置）２００の構成例を示す図である。
【００５１】
図５において、データ格納システム２００は発生したデータを受け取るデータ入力部１０１、データの内容を解析し、データを実際の記憶形式に変換するデータ解析・正規化部１０２、格納データ量の調節を行いデータベース１０９への格納処理の対象となるデータを指定するデータ量調整部２０１、データ量調整の際に参照されるシステム設定情報２０２、格納するデータブロックの待ち行列を管理するキュー制御部１０６、データの書き込みを行うデータ書き込み部１０８、データ格納領域であるデータベース１０９を有する。
【００５２】
なお、データ入力部１０１はデータ取得部の例であり、データ量調整部２０１はデータ格納調整部の例であり、データ書き込み部１０８はデータ格納処理部の例であり、データベース１０９はデータ格納部の例である。
【００５３】
索引表２０３はデータ量調整部２０１においてデータの格納を保留にされたデータに関する索引情報を管理する表であり、データ量調整部２０１によって管理される。
【００５４】
保留データ列２０４はデータ量調整部２０１においてデータ格納の順序を後回しにされたデータブロックの列であり、データ量調整部２０１によって管理される。書き込みデータ列１０７はデータベース１０９への書き込みを待つデータブロックの待ち行列であり、キュー制御部１０６によって管理される。
【００５５】
システム設定情報２０２にはデータ書き込み部１０８がデータブロックの内容をデータベース１０９に書き込む際に必要となるデータ書き込み時間の情報と、データがデータ入力部１０１に到着してからデータベース１０９に書き込まれるまでの時間として遅れが許される最大時間を示す遅延許容時間（制限時間）の情報、及び格納が保留にされたときに索引情報を作成する必要のあるデータの列名を示す索引定義情報が含まれる。
【００５６】
なお、図５と実施の形態１の図１で同一符号の要素については、同じ動作をするものである。
【００５７】
図６は、索引表２０３の一例を示す図である。ブロックＩＤはデータブロックを一意に識別する識別子、表名はシステム設定情報２０２で索引定義が行われているデータの名前、列名は索引情報を作成するデータの列名、値はその列の実際の値である。索引表２０３について索引列を使って検索を行うことにより、保留データ列２０４にあるデータに対して存在の確認を調べることができる。
【００５８】
次に動作について説明する。
【００５９】
まずデータ格納システム２００の稼動前の準備段階として、システム設定情報２０２にデータ書き込み時間と遅延許容時間（制限時間）、索引定義情報を設定する。データ書き込み時間と遅延許容時間については実施の形態１と同様である。索引定義情報はデータベース１０９に定義されている格納対象のデータに対して、格納が保留にされたときのデータの存在確認に使用する列情報を定義する。
【００６０】
次にデータ格納システム２００におけるデータ量調整処理の流れを説明する。なお、データ入力の流れについては実施の形態１の図２の手順と、データ書き込みの流れについては実施の形態１の図４の手順と同様である。
【００６１】
図７は本実施の形態のデータ量調整部２０１によるデータ量調整手順（データ格納調整ステップ）を示すフローチャートである。
【００６２】
ステップ２２１でデータ量調整部２０１は一定時間、データ解析・正規化部１０２からデータが到着するのを待つ。ここで一定時間とは、実施の形態１のステップ１３１と同様である。
【００６３】
ステップ２２２で一定時間内にデータを受け取った場合はステップ２２３に、受け取らなかった場合はステップ２２８に進む。
【００６４】
ステップ２２３でデータ解析・正規化部１０２から受け取ったデータをデータバッファに蓄積してブロック化する。データバッファにはデータ用の領域の他に索引用の領域が用意されている。システム設定情報２０２で索引定義がなされているデータを受け取った場合、索引領域に索引列として指定されている列のデータがコピーされる。データがバッファを満たして１ブロック分データが到着した場合はステップ２２４に、１ブロック分に満たない場合はステップ２２１に戻る。
【００６５】
ステップ２２４でデータ量調整部２０１はキュー制御部１０６から書き込みデータ列１０７で待機しているデータブロックの数を取得する。データブロック数とシステム設定情報２０２のデータ書き込み時間からデータ量調整部２０１が保持しているデータブロックを書き込みデータ列１０７に追加した場合に書き込みが完了するのに必要な時間（格納予定時間）を算出する。
【００６６】
ステップ２２５で格納予定時間と保持しているデータブロックの先頭データの取得時刻（タイムスタンプ）を比較し、システム設定情報２０２の遅延許容時間内にデータ格納が完了するかどうか調べる。データの格納が遅延許容時間内に完了する場合はステップ２２６に、完了しない場合はステップ２２７に進む。
【００６７】
ステップ２２６では保持しているデータブロックをキュー制御部１０６に渡す。キュー制御部１０６はデータブロックを書き込みデータ列１０７の末尾に追加する。
【００６８】
ステップ２２７では保持しているデータブロックの索引領域の情報をブロックＩＤと共に索引表２０３に追加して、データブロックを保留データ列２０４の末尾に追加する。
【００６９】
また、ステップ２２２において一定時間内に入力データが到着しなかった場合は、ステップ２２８で保留データ列２０４にデータブロックが存在するか調べる。保留データ列２０４にデータブロックが存在する場合、ステップ２２９に進む。
【００７０】
ステップ２２９では保留データ列２０４から先頭のデータブロックを取り出し、索引表２０３から取り出したデータブロックのブロックＩＤと一致する情報を削除して、ステップ２２６に進む。
【００７１】
以上のように、データをブロック化して遅延許容時間内に格納が完了するかどうか評価し、完了しない場合はそのデータブロックの格納を保留にしているので、大量データが発生したとき、データ格納の遅延の可能性を検出して大量データの一部の格納を後回しにすることができる。これによりデータ格納遅延を大量データの発生時点以外へ波及することを防ぎ、定常状態における遅延のないデータ格納を保障することができる。
【００７２】
また、格納を保留しているデータの索引情報を管理しているので、データ検索においてデータが存在していない場合に、格納が保留されているだけで到着しているのか、実際に存在していないかの選別を行うことができる。
【００７３】
さらに、大量データによる一部データ格納の保留及びデータ量が戻った時点での保留データの格納は、システムが自動的に検出して処理するので、人手の介入なしで予期しない一時的なデータ増加に対応することができる。
【００７４】
なお、以上では、データブロックごとに書き込みデータ列又は保留データ列への振り分けを行っていたが、データごとに書き込みデータ列又は保留データ列への振り分けを行うことも可能である。この場合は、索引表のブロックＩＤの代わりにデータごとのデータＩＤを用い、更に、図７の処理を図１７のように変更する。
【００７５】
図１７は、この場合のデータ量調整部２０１によるデータ量調整手順（データ格納調整ステップ）を示すフローチャートである。
【００７６】
ステップ２３１でデータ量調整部２０１は一定時間、データ解析・正規化部１０２からデータが到着するのを待つ。
【００７７】
ステップ２３２で一定時間内にデータを受け取った場合はステップ２３３に、受け取らなかった場合はステップ２３７に進む。
【００７８】
ステップ２３３でデータ量調整部２０１はキュー制御部１０６から書き込みデータ列１０７で待機しているデータのデータ量を取得し、またステップ２３１で入力した入力データのデータ量を算出する。書き込みデータ列のデータのデータ量と入力データのデータ量とシステム設定情報２０２のデータ書き込み時間からデータ量調整部２０１が保持している入力データを書き込みデータ列１０７に追加した場合に書き込みが完了するのに必要な時間（格納予定時間）を算出する。
【００７９】
ステップ２３４で格納予定時間と保持している入力データの取得時刻（タイムスタンプ）を比較し、システム設定情報２０２の遅延許容時間内にデータ格納が完了するかどうか調べる。データの格納が遅延許容時間内に完了する場合はステップ２３５に、完了しない場合はステップ２３６に進む。
【００８０】
ステップ２３５では保持している入力データをキュー制御部１０６に渡す。キュー制御部１０６は入力データを書き込みデータ列１０７の末尾に追加する。
【００８１】
ステップ２３６では保持している入力データの索引領域の情報をデータＩＤと共に索引表２０３に追加して、入力データを保留データ列２０４の末尾に追加する。
【００８２】
また、ステップ２３２において一定時間内に入力データが到着しなかった場合は、ステップ２３７で保留データ列２０４にデータが存在するか調べる。保留データ列２０４にデータが存在する場合、ステップ２３８に進む。
【００８３】
ステップ２３８では保留データ列２０４から先頭のデータを取り出し、索引表２０３から取り出したデータのデータＩＤと一致する情報を削除して、ステップ２３５に進む。
【００８４】
以降は、図４と同様のデータ書き込み処理が行われる。
【００８５】
以上より、データごとの書き込みデータ列又は保留データ列への振り分けが可能である。
【００８６】
実施の形態３．
以上の実施の形態１では、格納対象の入力データをメモリ上で受け取るようにしたものであるが、次に入力データをファイルで受け取る実施の形態を示す。
【００８７】
図８は、本実施の形態に係るデータ格納システム（データ処理装置）３００の構成例を示す図である。
【００８８】
図８において、データ格納システム３００は発生データが記録されているデータファイル３０２を受け付けるデータ受信部３０１、格納データ量の調節を行いデータベース１０９への格納処理の対象となるデータを指定するデータ量調整部３０３、データ量調整の際に参照されるシステム設定情報１０４、データファイル３０２から入力データを読み込み、データ内容の解析と、データの記憶形式への変換を行うデータ解析・正規化部３０５、格納するデータブロックの待ち行列を管理するキュー制御部１０６、データの書き込みを行うデータ書き込み部１０８、データ格納領域であるデータベース１０９を有する。保留リスト３０４はデータ量調整部３０３においてデータ格納の順序を後回しにされたデータのファイル名が、ファイルの受付時間順に並べられた一覧であり、データ量調整部３０３によって管理される。書き込みデータ列１０７はデータベース１０９への書き込みを待つデータブロックの待ち行列であり、キュー制御部１０６によって管理される。なお、図８と実施の形態１の図１で同一符号の要素については、同じ動作をするものである。
【００８９】
データファイル３０２はデータベース１０９に格納する入力データが記録されているファイルである。予め決められたファイル命名規則とデータ記録形式に従って作成される。一つのファイルに記録されるデータの最大件数はシステムで決められており、一つのファイルにあるデータが、データベース１０９に書き込むときの一つのデータブロックとなる。
【００９０】
なお、データ受信部３０１及びデータ解析・正規化部３０５はデータ取得部の例であり、データ量調整部３０３はデータ格納調整部の例であり、データ書き込み部１０８はデータ格納処理部の例であり、データベース１０９はデータ格納部の例である。
【００９１】
次に動作について説明する。
【００９２】
まずデータ格納システム３００の稼動前の準備段階として、システム設定情報１０４にデータ書き込み時間と遅延許容時間を設定する。設定内容は実施の形態１と同様である。
【００９３】
次にデータ格納システム３００におけるデータ受信部３０１でのデータ受け付けからデータ量調整部３０３での書き込みデータ列１０７へのデータブロック追加までの処理の流れを図９と図１０のフローチャートを用いて説明する。なお、書き込みデータ列１０７のデータ書き込みの流れについては、実施の形態１の図４の手順と同様である。
【００９４】
図９は、本実施の形態のデータ受信部３０１によるデータ受け付け手順を示すフローチャートである。
【００９５】
ステップ３２１でデータ受信部３０１は入力データとしてデータファイル３０２が生成されたことを検知する。データファイル３０２はネットワーク経由でデータ発生元から転送、生成される。あるいはアプリケーションプログラムなどが直接作成してもよい。データファイル３０２の検知はデータ受信部３０１がファイルシステムの特定の場所を周期的に監視して、新しいファイルが生成されているかどうかを調べることで行う。データファイル３０２を生成するプログラム（ファイル転送プログラム、アプリケーションプログラムなど）がファイル生成後にデータ受信部３０１に通知するようにしてもよい。
【００９６】
ステップ３２２で、検知したデータファイル３０２に関する情報を採取する。ファイル名などから格納先のデータを特定し、ファイルサイズから書き込みデータ量の概算値を求める。採取した情報に、データファイル３０２を検知したときの取得時刻（タイムスタンプ）情報を加えて入力データのファイル情報とする。なお、このファイル情報には格納の候補となるデータのデータ量が示されており、ファイル情報はデータ量情報に相当する。
【００９７】
ステップ３２３で、データファイル３０２のファイル情報をデータ量調整部３０３に渡す。
【００９８】
図１０は、本実施の形態のデータ量調整部３０３によるデータ量調整手順を示すフローチャートである。
【００９９】
ステップ３３１でデータ量調整部３０３はデータ受信部３０１からのファイル情報の到着を一定時間待つ。ここで一定時間とは、実施の形態１のステップ１３１と同様である。ファイル情報が届いた場合はステップ３３２に、届かなかった場合はステップ３３６に進む。
【０１００】
ステップ３３２でデータ量調整部３０３はキュー制御部１０６から現在の書き込みデータ列１０７で待機しているデータブロックの数を取得する。データブロック数とファイル情報に示されたデータ量とシステム設定情報１０４のデータ書き込み時間を使って、データファイル３０２から得られるデータブロックを書き込みデータ列１０７に追加した場合に書き込みが完了するのに必要な時間（格納予定時間）を算出する。
【０１０１】
ステップ３３３で格納予定時間とファイル情報の取得時刻（タイムスタンプ）を比較し、システム設定情報１０４に設定された遅延許容時間内にデータ格納が完了するかどうか調べる。データの格納が遅延許容時間内に完了する場合はステップ３３４に、完了しない場合はステップ３３５に進む。
【０１０２】
ステップ３３４では、データ量調整部３０３はファイル情報をデータ解析・正規化部３０５に渡して対象となるデータの取得を要求する。データ解析・正規化部３０５ではファイル情報を元にデータファイル３０２をオープンしてデータを読み込む。データが不正なデータでないか検査し、データベース１０９に実際に書き込む際の内部データ形式に変換、データバッファにコピーする。データファイル３０２にある全データに対して処理を行ってデータブロックを作成し、データブロックをデータ量調整部３０３へ渡す。
【０１０３】
ステップ３３８では、データ量調整部３０３はデータブロックをキュー制御部１０６に渡し、キュー制御部１０６はデータブロックを書き込みデータ列１０７の末尾に追加する。
【０１０４】
一方、ステップ３３３で遅延許容時間内に格納が完了しないと判断された場合に、ステップ３３５で、ファイル情報を保留リスト３０４の末尾に追加する。
【０１０５】
また、ステップ３３１において一定時間内にファイル情報が到着しなかった場合は、ステップ３３６で、データ量調整部３０３は保留リスト３０４にファイル情報が存在するか調べる。ファイル情報が存在する場合ステップ３３７に進む。
【０１０６】
ステップ３３７では、保留リスト３０４の先頭にあるファイル情報を取り出し、ステップ３３４に進む。
【０１０７】
以上のように、ファイルのデータが遅延許容時間内に格納できるか評価し、格納できない場合はそのファイルのデータ格納処理を保留にすることにより、大量データが発生したとき、データ格納の遅延の可能性を検出して大量データの一部の格納を後回しにすることができる。これによりデータ格納遅延を大量データの発生時点以外へ波及することを防ぎ、定常状態における遅延のないデータ格納を保障することができる。
【０１０８】
また、格納が保留されているデータはそのままファイルとして保存されているため、メモリといった処理実行に必要なシステムリソースを節約することができる。
【０１０９】
さらに、大量データによる一部データ格納の保留及びデータ量が戻った時点での保留データの格納は、システムが自動的に検出して処理するので、人手の介入なしで予期しない一時的なデータ増加に対応することができる。
【０１１０】
実施の形態４．
以上の実施の形態１では、書き込みを保留するデータをデータブロック単位で行うようにしたものであるが、次にデータ一件単位で行う実施の形態を示す。
【０１１１】
図１１は、本実施の形態に係るデータ格納システム（データ処理装置）４００の構成例を示す図である。
【０１１２】
図１１において、データ格納システム４００は発生したデータを受け取るデータ入力部４０１、データの内容を解析し、データを実際の記憶形式に変換するデータ解析・正規化部４０２、格納データ量の調節を行いデータベース１０９への格納処理の対象となるデータを指定するデータ量調整部４０３、データの分類とデータ量調整の際に参照されるシステム設定情報４０４、データの書き込みを行うデータ書き込み部４０６、データ格納領域であるデータベース１０９を有する。保留データバッファ４０５はデータ量調整部４０３においてデータ格納の順序を後回しにされたデータを記憶するバッファである。
【０１１３】
なお、データ入力部４０１はデータ取得部の例であり、データ量調整部４０３はデータ格納調整部の例であり、データ書き込み部４０６はデータ格納処理部の例であり、データベース１０９はデータ格納部の例である。
【０１１４】
システム設定情報４０４には調整単位時間の情報と最大データ量の情報及びデータ区分条件の情報が含まれる。調整単位時間とは格納するデータ量を調節するときの処理の単位時間間隔を示し、この時間毎にデータ量の調整処理を行う。最大データ量とは調整単位時間当たりに格納するデータ量を示す。なお、最大データ量は、制限データ量に相当する。データ区分条件とは入力データを分類してデータの系統毎にデータ量を調整するために、データを分類するのに使用する条件定義である。データ区分条件の定義内容としては、例えば区分の判定で使用するデータの列名、区分の総数、各区分のＩＤ、各区分での列の値の範囲、各区分の格納データ量の割合（最大データ量に占める区分データの割合）がある。
【０１１５】
なお、図１１と実施の形態１の図１で同一符号の要素については、同じ動作をするものである。
【０１１６】
図１２はシステム設定情報４０４のデータ区分条件を表で定義した場合の一例を示す図である。表名４１０のデータ件数が区分の総数を表す。値域４１１は各区分での列の値の範囲を示し、値の比較といった単純な演算によりデータが区分に該当するかどうか判断するのに用いる。比率４１２は各区分の格納データ量の割合として調整単位時間内での相対データ量である。
【０１１７】
次に動作について説明する。
【０１１８】
まずデータ格納システム４００の稼動前の準備段階として、システム設定情報４０４に調整単位時間と最大データ量、データ区分条件を設定する。調整単位時間の値は実行するシステム構成やＨ／Ｗ仕様などを勘案してシステム管理者（ユーザ）が導出する。最大データ量の値は調整単位時間とＨ／Ｗ仕様などを基にシステムで現実的にデータ格納が可能なデータ量をシステム管理者（ユーザ）が導出する。データ区分条件は発生するデータに関する情報を基にシステム管理者（ユーザ）が定義する。
【０１１９】
システム稼動開始時にデータ量調整部４０３では最大データ量とデータ区分条件にある各区分の格納データ量の割合から、データの各区分における調整単位時間での区分最大データ量を算出する。なお、区分最大データ量は、区分ごとの制限データ量に相当する。
【０１２０】
次にデータ格納システム４００におけるデータ入力部４０１でのデータの受け取りからデータベース１０９へのデータの書き込みまでの処理の流れを図１３、図１４のフローチャートを用いて説明する。
【０１２１】
図１３は本実施の形態のデータ入力部４０１及びデータ解析・正規化部４０２によるデータ入力手順（データ取得ステップ）を示すフローチャートである。
【０１２２】
ステップ４２１で、データ入力部４０１はデータベース１０９に格納する入力データを受け取る。データ入力部４０１はシステム構成に応じて入力データをネットワーク経由で受け取る場合もあれば、データの発生源から直接受け取る場合もある。入力データはＳＱＬ文のような命令として指定されるか、あるいは予め決められた形式のデータとしてデータ入力部４０１に受け渡される。データ入力部４０１は一度に複数の入力データを受け取ってもよい。データ入力部４０１はデータ解析・正規化部４０２に１件ずつ入力データを渡す。
【０１２３】
ステップ４２２で、データ解析・正規化部４０２は入力データが不正なデータでないか検査を行う。データが正しいとき、入力データをデータベース１０９に実際に書き込む際の内部データ形式に変換する。
【０１２４】
ステップ４２３で、システム設定情報４０４のデータ区分条件を基に入力データの分類を行う。入力データが属する区分を判定し、その区分ＩＤの情報をデータに付加する。
【０１２５】
ステップ４２４では、内部データ形式に変換したデータをデータ量調整部４０３へ送る。
【０１２６】
図１４は本実施の形態のデータ量調整部４０３によるデータ量調整手順（データ格納調整ステップ）を示すフローチャートである。
【０１２７】
ステップ４３１で、データ量調整部４０３は調整単位時間の間、データ解析・正規化部４０２からデータが到着するのを待つ。
【０１２８】
ステップ４３２で調整単位時間内にデータを受け取った場合はステップ４３３に、受け取らなかった場合はステップ４３７に進む。
【０１２９】
ステップ４３３で、データ解析・正規化部４０２から受け取ったデータの区分ＩＤを参照し、該当区分のデータ総量が調整単位時間の間に区分最大データ量に達しているかどうか調べる。データがまだ区分最大データ量に達していない場合はステップ４３４に、既に達している場合はステップ４３５に進む。
【０１３０】
ステップ４３４ではデータをデータ書き込み部４０６に渡し、ステップ４３６へ進む。
【０１３１】
ステップ４３５ではデータを保留データバッファ４０５の末尾に追加して、ステップ４３６へ進む。
【０１３２】
ステップ４３６で処理時間が調整単位時間を超えていないか調べる。超えていない場合はステップ４３１に戻る。超えている場合はステップ４３７に進む。
【０１３３】
ステップ４３７で調整単位時間内にデータ書き込み部４０６に渡したデータ総量（格納データ量）が最大データ量（制限データ量）に達しているか調べる。達していない場合はステップ４３８に進む。
【０１３４】
ステップ４３８で保留データバッファ４０５にデータがあるか調べる。データがある場合はステップ４３９に進む。
【０１３５】
ステップ４３９で保留データバッファ４０５のデータをデータ書き込み部４０６に渡して、そのデータを保留データバッファ４０５から削除する。データ書き込み部４０６へのデータの受け渡しは保留データバッファ４０５にデータが無くなるか、格納データ量が最大データ量に達するまで行う。
【０１３６】
ステップ４３４、ステップ４３９でデータ書き込み部４０６に渡されたデータは、データ書き込み部４０６によってデータベース１０９に格納される。このときデータの書き込みはデータが渡される毎に１件ずつ行ってもよいし、データ書き込み部４０６でバッファリングして書き込んでもよい。
【０１３７】
なお、図１３、図１４の例では、入力データを区分に分け、区分ごとにデータ総量と区分最大データ量とを比較して書き込み対象のデータを決定したが、入力データを区分に分けることなく、入力データ全体のデータ総量と最大データ量とを比較して書き込み対象のデータを決定することも可能である。
【０１３８】
また、図１４のステップ４３８及びステップ４３９では、保留データバッファ４０５にバッファリングされているデータの区分にかかわらず、保留データバッファ４０５の先頭のデータから順にデータ書き込み対象としたが、いずれかの区分のデータ総量が区分最大データ量に満たない場合に、保留データバッファ４０５にバッファリングされているデータのうち当該区分のデータのみをデータ書き込み対象とする、または、当該区分のデータから順にデータ書き込み対象とし、当該区分のデータがなくなったら他の区分のデータをデータ書き込み対象とするようにしてもよい。
【０１３９】
以上のように、データの格納処理を単位時間毎に区切り、最大データ量を超える場合にはデータの格納を保留にしているので、大量データが発生したとき、データ格納の遅延の可能性を検出して大量データの一部の格納を後回しにすることができる。これによりデータ格納遅延を大量データの発生時点以外へ波及することを防ぎ、定常状態における遅延のないデータ格納を保障することができる。
【０１４０】
また、単位時間毎にデータ量の調整を行っているので、大量データ発生により格納が保留されるデータが単位時間毎に平均的に散らばるため、大量発生時点の格納データが発生初期のデータに偏らず、時間的に平均したデータを格納することができる。
【０１４１】
さらに、データを分類して区分毎にデータ量の調整を行っているため、ある区分のデータが大量に発生した場合にも、他の区分のデータ格納を保障することができる。
【０１４２】
そして、大量データによる一部データ格納の保留及びデータ量が戻った時点での保留データの格納は、システムが自動的に検出して処理するので、人手の介入なしで予期しない一時的なデータ増加に対応することができる。
【０１４３】
前述した各実施の形態で、データ格納システムは、コンピュータで実現できるものである。
【０１４４】
図示していないが、データ格納システムは、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。
【０１４５】
例えば、ＣＰＵは、バスを介して、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信ボード、表示装置、Ｋ／Ｂ（キーボード）、マウス、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（コンパクトディスクドライブ）、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。
【０１４６】
ＲＡＭは、揮発性メモリの一例である。ＲＯＭ、ＦＤＤ、ＣＤＤ、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
【０１４７】
前述した各実施の形態のデータ格納システムが扱うデータや情報は、記憶装置あるいは記憶部に保存され、データ格納システムの各部により、記録され読み出されるものである。
【０１４８】
また、通信ボードは、例えば、ＬＡＮ、インターネット、或いはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）に接続されている。
【０１４９】
磁気ディスク装置には、オペレーティングシステム（ＯＳ）、ウィンドウシステム、プログラム群、ファイル群（データベース）が記憶されている。
【０１５０】
プログラム群は、ＣＰＵ、ＯＳ、ウィンドウシステムにより実行される。
【０１５１】
上記データ格納システムの各部は、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。
【０１５２】
上記プログラム群には、実施の形態の説明において「〜部」として説明した処理をＣＰＵに実行させるプログラムが記憶される。これらのプログラムは、例えば、Ｃ言語やＨＴＭＬやＳＧＭＬやＸＭＬなどのコンピュータ言語により作成される。
【０１５３】
また、上記プログラムは、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記憶され、ＣＰＵにより読み出され実行される。
【０１５４】
ここで、以上の実施の形態で説明したデータ格納システムの特徴を以下にて示す。
【０１５５】
実施の形態１で説明したデータ格納システムは、
持続的に発生するデータの格納処理において、データブロックのデータベースへの書き込みに必要な時間を示すデータ書き込み時間と、データ到着からデータベースへの格納までの時間として遅れが許される最大時間を示す遅延許容時間とを備え、
格納対象のデータを受け取るデータ入力手段と、
データを解析して実際の記憶形式に変換するデータ解析・正規化手段と、
データをブロック化してデータブロックが上記遅延許容時間内に書き込みが完了するか判定し、完了しない場合は格納を一時保留することで書き込みデータ量を調節するデータ量調整手段と、
データブロックをデータベースに書き込むデータ書き込み手段とを備えたことを特徴とする。
【０１５６】
実施の形態１で説明したデータ格納システムは、
持続的に発生するデータの格納処理において、データブロックのデータベースへの書き込みに必要な時間を示すデータ書き込み時間と、データ到着からデータベースへの格納までの時間として遅れが許される最大時間を示す遅延許容時間と、上記データ書き込み時間と上記遅延許容時間を記憶するシステム設定情報と、格納が保留にされたデータブロックを管理する保留データ列と、書き込み処理を行うデータブロックの待ち行列である書き込みデータ列とを備え、
格納対象のデータを受け取るデータ入力手段と、
データを解析して実際の記憶形式に変換するデータ解析・正規化手段と、
データをブロック化してデータブロックが上記遅延許容時間内に書き込みが完了するか判定し、完了しない場合は上記保留データ列で格納を一時保留することで上記書き込みデータ列のデータブロック数を調節するデータ量調整手段と、
上記書き込みデータ列を管理するキュー制御手段と、
上記書き込みデータ列のデータブロックをデータベースに書き込むデータ書き込み手段とを備えたことを特徴とする。
【０１５７】
実施の形態２で説明したデータ格納システムは、
持続的に発生するデータの格納処理において、データブロックのデータベースへの書き込みに必要な時間を示すデータ書き込み時間と、データ到着からデータベースへの格納までの時間として遅れが許される最大時間を示す遅延許容時間と、格納が保留されたデータに対して作成する索引の定義情報を示す索引定義情報と、上記データ書き込み時間と上記遅延許容時間と上記索引定義情報を記憶するシステム設定情報と、上記索引定義情報に基づき格納が保留されたデータに対して作成された索引情報を記憶する索引表と、格納が保留にされたデータブロックを管理する保留データ列と、書き込み処理を行うデータブロックの待ち行列である書き込みデータ列とを備え、
格納対象のデータを受け取るデータ入力手段と、
データを解析して実際の記憶形式に変換するデータ解析・正規化手段と、
データをブロック化してデータブロックが上記遅延許容時間内に書き込みが完了するか判定し、完了しない場合は上記保留データ列で格納を一時保留することで上記書き込みデータ列のデータブロック数を調節すると共に、保留にしたデータの索引情報を上記索引表に追加するデータ量調整手段と、
上記書き込みデータ列を管理するキュー制御手段と、
上記書き込みデータ列のデータブロックをデータベースに書き込むデータ書き込み手段とを備えたことを特徴とする。
【０１５８】
実施の形態３で説明したデータ格納システムは、
持続的に発生するデータの格納処理において、データブロックのデータベースへの書き込みに必要な時間を示すデータ書き込み時間と、データ到着からデータベースへの格納までの時間として遅れが許される最大時間を示す遅延許容時間と、上記データ書き込み時間と上記遅延許容時間を記憶するシステム設定情報と、格納を保留したデータのファイル名を記憶する保留リストと、
書き込み処理を行うデータブロックの待ち行列である書き込みデータ列とを備え、
格納対象のデータが入ったファイルを検知するデータ受信手段と、
ファイルのデータが上記遅延許容時間内に書き込みを完了するか判定し、完了しない場合はファイルを上記保留リストに登録することで上記書き込みデータ列のデータブロック数を調節するデータ量調整手段と、
ファイルのデータを解析して実際の記憶形式に変換し、データブロックを作成するデータ解析・正規化手段と、
上記書き込みデータ列を管理するキュー制御手段と、
上記書き込みデータ列のデータブロックをデータベースに書き込むデータ書き込み手段とを備えたことを特徴とする。
【０１５９】
実施の形態４で説明したデータ格納システムは、
持続的に発生するデータの格納処理において、格納するデータ量の調節を行う時間間隔を示す調整単位時間と、上記調整単位時間で格納するデータ量を示す最大データ量とを備え、
格納対象のデータを受け取るデータ入力手段と、
入力されたデータを解析して実際の記憶形式に変換するデータ解析・正規化手段と、
データ量を評価し、最大データ量を超過した場合にデータの格納を一時保留するデータ量調整手段と、
データをデータベースに書き込むデータ書き込み手段とを備えたことを特徴とする。
【０１６０】
実施の形態４で説明したデータ格納システムは、
持続的に発生するデータの格納処理において、格納するデータ量の調節を行う時間間隔を示す調整単位時間と、上記調整単位時間で格納するデータ量を示す最大データ量と、データの系統毎にデータ量を調節するためにデータを分類するのに使用する条件定義を示すデータ区分条件と、上記調整時間時間と上記最大データ量と上記データ区分条件を記憶するシステム設定情報と、格納を保留にしたデータを記憶する保留データバッファとを備え、
格納対象のデータを受け取るデータ入力手段と、
入力されたデータを解析して実際の記憶形式に変換し、上記データ区分条件に従ってデータの区分を判定するデータ解析・正規化手段と、
データ区分毎にデータ量を評価し、最大データ量を超過した場合にデータを上記保留データバッファに追加することによりデータ格納を一時保留するデータ量調整手段と、
データをデータベースに書き込むデータ書き込み手段とを備えたことを特徴とする。
【図面の簡単な説明】
【０１６１】
【図１】実施の形態１に係るデータ格納システムの構成例を示す図。
【図２】実施の形態１に係るデータ入力処理を示すフローチャート図。
【図３】実施の形態１に係るデータ量調整処理を示すフローチャート図。
【図４】実施の形態１に係る書き込み処理を示すフローチャート図。
【図５】実施の形態２に係るデータ格納システムの構成例を示す図。
【図６】実施の形態２に係る索引表の例を示す図。
【図７】実施の形態２に係るデータ量調整処理を示すフローチャート図。
【図８】実施の形態３に係るデータ格納システムの構成例を示す図。
【図９】実施の形態３に係る入力データ受付処理を示すフローチャート図。
【図１０】実施の形態３に係るデータ量調整処理を示すフローチャート図。
【図１１】実施の形態４に係るデータ格納システムの構成例を示す図。
【図１２】実施の形態４に係るデータ区分条件の例を示す図。
【図１３】実施の形態４に係るデータ入力処理を示すフローチャート図。
【図１４】実施の形態４に係るデータ量調整処理を示すフローチャート図。
【図１５】実施の形態１に係るデータ量調整処理を示すタイミングチャート図。
【図１６】実施の形態１に係るデータ量調整処理を示すフローチャート図。
【図１７】実施の形態２に係るデータ量調整処理を示すフローチャート図。
【符号の説明】
【０１６２】
１００  データ格納システム、１０１  データ入力部、１０２  データ解析・正規化部、１０３  データ量調整部、１０４  システム設定情報、１０５  保留データ列、１０６  キュー制御部、１０７  書き込みデータ列、１０８  データ書き込み部、１０９  データベース、２００  データ格納システム、２０１  データ量調整部、２０２  システム設定情報、２０３  索引表、２０４  保留データ列、３０１  データ受信部、３０２  データファイル、３０３  データ量調整部、３０４  保留リスト、３０５  データ解析・正規化部、４０１  データ入力部、４０２  データ解析・正規化部、４０３  データ量調整部、４０４  システム設定情報、４０５  保留データバッファ、４０６  データ書き込み部。
【図１】
2006065702.tif 000003
【図２】
2006065702.tif 000004
【図３】
2006065702.tif 000005
【図４】
2006065702.tif 000006
【図５】
2006065702.tif 000007
【図６】
2006065702.tif 000008
【図７】
2006065702.tif 000009
【図８】
2006065702.tif 000010
【図９】
2006065702.tif 000011
【図１０】
2006065702.tif 000012
【図１１】
2006065702.tif 000013
【図１２】
2006065702.tif 000014
【図１３】
2006065702.tif 000015
【図１４】
2006065702.tif 000016
【図１５】
2006065702.tif 000017
【図１６】
2006065702.tif 000018
【図１７】
2006065702.tif 000019