JP5410155B2 - データ分割システム及びデータ分割方法 - Google Patents
データ分割システム及びデータ分割方法 Download PDFInfo
- Publication number
- JP5410155B2 JP5410155B2 JP2009121148A JP2009121148A JP5410155B2 JP 5410155 B2 JP5410155 B2 JP 5410155B2 JP 2009121148 A JP2009121148 A JP 2009121148A JP 2009121148 A JP2009121148 A JP 2009121148A JP 5410155 B2 JP5410155 B2 JP 5410155B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- combination
- block
- combined
- selection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データ分割システム及びデータ分割方法に関する。
従来、所定のデータ処理を行うシステムにおいて、大量に蓄積されたデータを分割して処理を行う場合には、例えば一定のデータ量ごとに分割して、分割されたデータ群に対して処理を実施していた。また、蓄積されるデータが何らかの属性を有する場合には、その属性ごとにデータを分類する方法が知られている(例えば、特許文献1参照)。
蓄積された大量のデータについて各種処理を実施する場合において、大量のデータを単に一定の容量ごとのデータ群に分割したのでは、分割した複数のデータ群の全てのデータを参照する必要があった。また、蓄積されたデータが属性(パラメータ)を有しており、単に属性ごとに分割してファイルを生成した場合であっても、分割単位が細かすぎると、1つのファイルの容量が小さくなり、ファイル数が膨大になり、後に実施するデータ処理の効率が悪い。
そこで、本発明は、かかる問題点に鑑みてなされたものであり、処理に好適な容量に大量のデータを分割するに際して、論理的に適切な基準で分割することによりデータ処理の効率を向上させることが可能なデータ分割システム及びデータ分割方法を提供することを目的とする。
上記課題を解決するために、本発明のデータ分割システムは、複数のパラメータを有するデータである結合前データの集合を、複数のファイルに分割し、分割したファイルを所定の記憶手段に書き出すデータ分割システムであって、複数のパラメータに同一の範囲区分に属する値を有する結合前データを、結合前データのまとまりである複数のブロックごとに一時蓄積する結合前データ一時蓄積手段と、複数のパラメータから選択された一のパラメータである選択パラメータを選択する選択パラメータ選択手段と、結合前データ一時蓄積手段に蓄積された複数のブロックから、選択パラメータ選択手段により選択された選択パラメータの値のみが異なる結合前データを含む複数のブロックを結合候補ブロックとして、該結合候補ブロックをグループ化した結合候補ブロック群を1または複数形成するブロック選択処理を実行する結合候補ブロック選択手段と、結合候補ブロック選択手段により形成された結合候補ブロック群ごとに、該結合候補ブロック群から、予め定められた所定の分割基準を満たすように、1または複数の結合候補ブロックを結合対象ブロックとして抽出するブロック抽出処理を実行する結合対象ブロック抽出手段と、結合対象ブロック抽出手段により抽出された結合対象ブロックに含まれる結合前データを結合して、結合候補ブロック群ごとに1または複数の結合ファイルを生成する結合ファイル生成処理を実行する結合ファイル生成手段と、結合ファイル生成手段により生成された結合ファイルを所定の記憶手段に記憶させると共に、結合対象ブロックに含まれるすべての結合前データを結合前データ一時蓄積手段から消去する書き出し処理を実行する結合ファイル書き出し手段とを備えることを特徴とする。
また、上記課題を解決するために、本発明のデータ分割方法は、複数のパラメータを有するデータである結合前データの集合を、複数のファイルに分割し、分割したファイルを所定の記憶手段に書き出すデータ分割方法であって、複数のパラメータから選択された一のパラメータである選択パラメータを選択する選択パラメータ選択ステップと、複数のパラメータに同一の範囲区分に属する値を有する結合前データを、結合前データのまとまりである複数のブロックごとに一時蓄積する結合前データ一時蓄積手段に蓄積された複数のブロックから、選択パラメータ選択ステップにおいて選択された選択パラメータの値のみが異なる結合前データを含む複数のブロックを結合候補ブロックとして、該結合候補ブロックをグループ化した結合候補ブロック群を1または複数形成する結合候補ブロック選択ステップと、結合候補ブロック選択ステップにおいて形成された結合候補ブロック群ごとに、該結合候補ブロック群から、予め定められた所定の分割基準を満たすように、1または複数の結合候補ブロックを結合対象ブロックとして抽出する結合対象ブロック抽出ステップと、結合対象ブロック抽出ステップにおいて抽出された結合対象ブロックに含まれる結合前データを結合して、結合候補ブロック群ごとに1または複数の結合ファイルを生成する結合ファイル生成ステップと、結合ファイル生成ステップにおいて生成された結合ファイルを、所定の記憶手段に記憶させると共に、結合対象ブロックに含まれるすべての結合前データを結合前データ一時蓄積手段から消去する結合ファイル書き出しステップとを有することを特徴とする。
本発明のデータ分割システム及びデータ分割方法では、選択パラメータの値のみが異なるブロックが結合候補ブロックとして選択されるので、結合されるブロックに含まれる結合前データは、選択パラメータ以外のパラメータ値が同一である。これにより、結合前データの集合から論理的に適切な意味を有する結合ファイルを分割することができる。また、選択された結合候補ブロックから、所定の分割基準を満たすように、結合対象ブロックが抽出されるので、結合前データの集合から、データ処理に好適な容量の結合ファイルを分割することが可能となる。
また、本発明のデータ分割システムでは、結合対象ブロック抽出手段は、所定の分割基準として、結合候補ブロックに含まれる結合前データの容量の合計が予め定められた所定容量を超えるように、または、予め定められた所定時間が経過したときに、結合候補ブロック群から1または複数の結合候補ブロックを結合対象ブロックとして抽出することを特徴とする。
この場合には、結合候補ブロック群から結合候補ブロックを結合対象ブロックとして抽出する際の分割基準として、結合候補ブロックに含まれる結合前データの容量、及び一定の時間間隔(所定時間の経過)等の複数の基準で定義できる。これにより、結合前データの容量の合計が予め定められた所定容量を超えるように結合対象ブロックを抽出し、一定時間間隔でデータが分割されるように結合対象ブロックを抽出することができる。従って、データ処理に好適な容量の結合ファイルを分割することが可能となる。
また、本発明のデータ分割システムでは、結合前データは、第1〜第n(nは2以上の整数)の複数のパラメータを有し、選択パラメータ選択手段は、選択パラメータとして、複数のパラメータから第1〜第nのパラメータを順次選択し、選択パラメータ選択手段により選択パラメータとして選択された第1〜第nのパラメータごとに、結合候補ブロック選択手段によるブロック選択処理、結合対象ブロック抽出手段によるブロック抽出処理、結合ファイル生成手段による結合ファイル生成処理、及び結合ファイル書き出し手段による書き出し処理が、最大n回順次実行されることを特徴とする。
また、本発明のデータ分割方法では、結合前データは、第1〜第n(nは2以上の整数)の複数のパラメータを有し、選択パラメータ選択ステップ、結合候補ブロック選択ステップ、結合対象ブロック抽出ステップ、結合ファイル生成ステップ、及び結合ファイル書き出しステップを、第1〜第nのパラメータごとに最大n回順次実行することを特徴とする。
これらの構成では、結合前データが第1〜第nの複数のパラメータを有する場合において、各パラメータごとに順次、ブロックを結合して結合前データの集合から結合ファイルを分割、生成する処理が行われるので、結合前データの集合から、論理的に適切な意味を有すると共に、データ処理に好適な容量の結合ファイルを分割することができる。
また、本発明のデータ分割システムでは、結合ファイル生成手段は、結合候補ブロックから結合対象ブロックとして抽出されなかったブロックである残結合候補ブロックに含まれる結合前データを結合して残結合ファイルを生成し、結合ファイル書き出し手段は、結合ファイル生成手段により生成された残結合ファイルを所定の記憶手段に記憶させると共に、残結合対象ブロックに含まれるすべての結合前データを結合前データ一時蓄積手段から消去することを特徴とする。
この場合には、ブロックに含まれる結合前データの容量の合計が所定容量に達していないなど、一定の分割基準を満たしていなくとも、結合ファイルとして分割、書き出しが行われた結合前データと論理的な意味づけを有する結合前データを残結合ファイルとして書き出すことができる。これにより、結合ファイルに含まれる結合前データ間における論理的意味づけと同一の論理的意味づけを有する結合前データを、結合前データ一時蓄積手段に残さないようにすることができる。
また、本発明のデータ分割システムでは、結合前データ一時蓄積手段において、一のブロックに含まれる結合前データが所定の分割基準を満たした場合には、結合ファイル生成手段は、一のブロックに含まれる結合前データを結合して結合ファイルを生成することを特徴とする。
一のブロックに含まれる複数の結合前データは、同一範囲区分のパラメータ値を有するので、互いに論理的な意味づけを有する。この構成では、これらの論理的な意味づけを有する複数の結合前データが結合ファイルとして書き出されるので、結合前データの集合から、論理的に適切な意味を有すると共に、データ処理に好適な容量の結合ファイルを分割することができる。
本発明のデータ分割システム及びデータ分割方法によれば、選択パラメータの値のみが異なるブロックが結合候補ブロックとして選択されるので、結合されるブロックに含まれる結合前データは、選択パラメータ以外のパラメータ値が同一範囲区分である。これにより、結合前データの集合から論理的に適切な意味を有する結合ファイルを分割することができる。また、選択された結合候補ブロックから、ブロックに含まれる結合前データの容量の合計が所定容量を超えるなどの所定の分割基準を満たすように、結合対象ブロックが抽出されるので、結合前データの集合から、データ処理に好適な容量の結合ファイルを分割することが可能となる。また、選択パラメータは単一ではなく、再帰的に複数のパラメータにて再帰的に結合候補ブロックの選択および結合対象ブロックの抽出が行われる。従って、分割されたデータを用いたデータ処理の効率を向上させることが可能となる。
本発明の実施形態に係るデータ分割システムについて図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
図1は、本発明の実施形態に係るデータ分割装置1を含むシステムの全体構成図である。図1に示すように、データ分割装置1を含むシステムは、データ生成ノードN1〜N3及び外部ファイルシステム2を含む。
データ分割装置1は、データ生成ノードN1〜N3から送信されるデータをデータの集合として一時蓄積し、蓄積したデータを複数のファイルに分割して所定の記憶手段を有する外部ファイルシステム2に書き出す装置であり、例えばサーバ装置により構成される。以降の説明では、データ生成ノードN1〜N3から送信されるデータを結合前データと称する。結合前データは複数のパラメータを有している。
データ生成ノードN1〜N3はそれぞれ、結合前データを生成してデータ分割装置1に送信する装置であり、例えばサーバ装置により構成される。本実施形態では、データ生成ノードN1〜N3は、移動端末の位置情報を収集する装置であり、結合前データは、移動端末の位置情報のデータである。位置情報は、例えば、地域、データ種別、時刻、情報源等のパラメータを有することができる。また、何れかのデータ生成ノードN1〜N3からデータ分割装置1に位置情報が送信される際には、データ生成ノードN1〜N3の識別子がパラメータとして付される。このように、本実施形態における結合前データは、上記のパラメータを有する位置情報である。なお、本実施形態では、3つのデータ生成ノードN1〜N3を図示しているが、データ生成ノードの数はこれに限られない。
外部ファイルシステム2は、結合ファイル記憶部20(所定の記憶手段)を備えており、データ分割装置1から送出される結合ファイルを、当該結合ファイルに含まれる結合前データの論理的な意味づけに依存した識別子を付して、結合ファイル記憶部20に記憶させる。
続いて、図2を参照して、データ分割装置1の機能を説明する。図2は、データ分割装置1の機能的構成を示すブロック図である。
データ分割装置1は、機能的には、データ取得部11、結合前データ一時蓄積部12(結合前データ一時蓄積手段)、タイマ13、データ結合部14(選択パラメータ選択手段、結合候補ブロック選択手段、結合対象ブロック抽出手段、結合ファイル生成手段)及びデータ書き出し部15(結合ファイル書き出し手段)を備える。
また、図3は、データ分割装置1のハードウエア構成図である。データ分割装置1は、物理的には、図3に示すように、CPU101、主記憶装置であるRAM102及びROM103、ネットワークカード等のデータ送受信デバイスである通信モジュール104、ハードディスク、フラッシュメモリ等の補助記憶装置105、入力デバイスであるキーボード及びマウス等の入力装置106、ディスプレイ等の出力装置107などを含むコンピュータシステムとして構成されている。図2に示した各機能は、図3に示すCPU101、RAM102等のハードウエア上に所定のコンピュータソフトウェアを読み込ませることにより、CPU101の制御のもとで通信モジュール104、入力装置106、出力装置107を動作させるとともに、RAM102や補助記憶装置105におけるデータの読み出し及び書き込みを行うことで実現される。
再び、図2を参照し、データ分割装置1の各機能部について詳細に説明する。
データ取得部11は、データ生成ノードN1〜N3から送出された移動端末の位置情報を結合前データとして取得し、取得した結合前データを結合前データ一時蓄積部12に記憶させる部分である。
結合前データ一時蓄積部12は、結合前データを記憶する記憶手段である。図4は、結合前データ一時蓄積部12の構成の一例を示す図である。本実施形態において、結合前データは、パラメータA,B,Cを有しており、パラメータAの値は区分a1〜a10のいずれかの範囲区分に属し、パラメータBの値は区分b1〜b10のいずれかの範囲区分に属し、パラメータCの値は区分c1〜c10のいずれかの範囲区分に属するものとする。a1〜a10において、a(n)の範囲区分は任意に設定可能だが、一例としてはa(n)−s≦x<a(n+1)−s(は0≦s≦a(n+1)−a(n)を満たす任意の数)となるxの範囲とする。例えば、a1は0〜1(1を含む)、a2は1〜2(2を含む)、・・・a10は9〜10(10を含む)の範囲区分を持つとし、ある結合前データがパラメータAにおいてa=1.1となる値aを保持する場合、それはa2の範囲区分に属するものとする。図4に示すように、結合前データ一時蓄積部12、パラメータA〜Cに同一の区分を有する複数の結合前データを管理するためのブロックbkを有する。図4に示す例では、結合前データ一時蓄積部12は、1000個(10×10×10)のブロックbkを有する。以下の説明において、例えばパラメータAの区分がa1であり、パラメータBの区分がb1であり、パラメータCの区分がc1であるブロックbkを、「ブロックbk(a1,b1,c1)」と表記する。なお、ブロックbkは、結合前データのまとまりとしての概念であり、1つのブロックbkは1つのファイルであっても良いし、ファイル内のレコードのまとまりであっても良い。
なお、本実施形態では、結合前データは3個のパラメータA,B,Cを有することとしたが、パラメータの数は3個に限られず、第1〜第n(nは2以上の整数)の複数のパラメータを有することとしてもよい。
データ取得部11は、データ生成ノードN1〜N3から結合前データを取得すると、パラメータA〜Cの値を参照して、図4に示す結合前データ一時蓄積部12においてパラメータの値が対応するブロックbkに結合前データを記憶させる。例えば、ブロックbk(a1,b1,c1)には、パラメータAの区分がa1、パラメータBの区分がb1、パラメータCの区分がc1である結合前データが含まれる。本実施形態では、例えばパラメータAはデータ生成時刻、パラメータBは地域、パラメータCはデータ種別として対応付けることができる。
タイマ13は、処理を一定時間ごとに実施するための契機をデータ結合部14に出力する部分である。タイマ13は、例えば1時間ごとに処理を開始する契機の通知をデータ結合部14に出力することができる。
データ結合部14は、複数のパラメータから選択された一のパラメータである選択パラメータを選択し、結合前データ一時蓄積部12に蓄積された複数のブロックbkから、選択パラメータの値のみが異なる結合前データを含む複数のブロックbkを結合候補ブロックとして抽出し、抽出した結合候補ブロックをグループ化して結合候補ブロック群を1または複数形成する部分である。例えば、パラメータAを選択パラメータとして選択した場合には、ブロックbk(a1,b1,c1)、ブロックbk(a2,b1,c1)、・・・及びブロックbk(a10,b1,c1)の10個のブロックbkが結合候補ブロックとして抽出され、これらのブロックbkにより結合候補ブロック群が形成される。他のブロックbkについても同様に結合候補ブロック群が形成され、図4に示す例では最大で100個の結合候補ブロック群が形成される。
また、データ結合部14は、結合候補ブロック群ごとに、当該結合候補ブロック群から、結合候補ブロックに含まれる結合前データが所定容量や所定時間間隔などの一定の分割基準を満たすように、1または複数の結合候補ブロックを結合対象ブロックとして抽出する部分である。ここでは、データ容量およびデータの時間間隔をその分割基準とし、結合前データの容量の合計が予め定められた所定容量を超えるように結合対象ブロックを抽出する。また、一定時間間隔(所定時間の経過)でデータが分割されるように結合対象ブロックを抽出する。例えば、ブロックbk(a1,b1,c1)、ブロックbk(a2,b1,c1)、・・・及びブロックbk(a10,b1,c1)の10個の結合候補ブロックにより構成される結合候補ブロック群において、ブロックbk(a1,b1,c1)、ブロックbk(a2,b1,c1)、・・・及びブロックbk(a6,b1,c1)の6個の結合候補ブロックに含まれる結合前データの容量の合計が所定容量を超える場合には、これらの6個のブロックbkが結合対象ブロックとして抽出される。
さらに、データ結合部14は、結合対象ブロックに含まれる結合前データを結合して、結合候補ブロック群ごとに1または複数の結合ファイルを生成する部分である。例えば、ブロックbk(a1,b1,c1)、ブロックbk(a2,b1,c1)、・・・及びブロックbk(a6,b1,c1)の6個のブロックbkが結合対象ブロックとして抽出された場合には、これらの6個のブロックbkに含まれる結合前データを結合して、結合ファイルが生成される。ここで生成される結合ファイルは、上記6個のブロックbkから生成されたので、以降の説明において、結合ファイル(a1〜a6,b1,c1)と表記する。
また、データ結合部14は、結合候補ブロックから結合対象ブロックとして抽出されなかったブロックbkである残結合候補ブロックに含まれる結合前データを結合して残結合ファイルを生成する部分でもある。上記のように、ブロックbk(a1,b1,c1)、ブロックbk(a2,b1,c1)、・・・及びブロックbk(a6,b1,c1)の6個のブロックbkが結合対象ブロックとして抽出された場合には、ブロックbk(a7,b1,c1)、ブロックbk(a8,b1,c1)、・・・及びブロックbk(a10,b1,c1)の4個のブロックbkが残結合候補ブロックであり、これらの4個のブロックbkに含まれる結合前データを結合して残結合ファイル(a7〜a10,b1,c1)が生成される。
なお、残結合候補ブロックから残結合ファイルが生成されるのは、残結合候補ブロックに含まれる結合前データの容量の合計が所定容量以下の場合である。例えば、ブロックbk(a7,b1,c1)及びブロックbk(a8,b1,c1)に含まれる結合前データの容量の合計が所定容量を超える場合には、ブロックbk(a7,b1,c1)及びブロックbk(a8,b1,c1)に含まれる結合前データを結合して、結合ファイル(a7〜a8,b1,c1)が生成され、残結合ファイル(a9〜a10,b1,c1)が生成される。
一方、ブロックbk(a1,b1,c1)、ブロックbk(a2,b1,c1)、・・・及びブロックbk(a10,b1,c1)の10個の結合候補ブロックに含まれる結合前データの容量の合計が所定容量を超えない場合には、データ結合部14は、結合ファイルを生成せずに、これら10個のブロックbkを1つにまとめた結合保留ブロックbka(a0,b1,c1)を生成する。ここで、「a0」は、a1〜a10のどの区分とも異なり、結合保留ブロックbka(a0,b1,c1)に含まれる結合前データのパラメータAの値が、a1〜a10のいずれかの区分に属することを示す。
さらに、データ結合部14は、結合前データ一時蓄積部12において、一のブロックbkに含まれる結合前データの容量の合計が所定容量を超えた場合には、当該ブロックbkに含まれる結合前データを結合して結合ファイルを生成する部分でもある。例えば、ブロックbk(a5,b5,c5)に含まれる結合前データの容量の合計が所定容量を超えた場合には、ブロックbk(a5,b5,c5)に含まれる結合前データを結合して、結合ファイル(a5,b5,c5)が生成される。
データ結合部14により生成される結合ファイル及び残結合ファイルには、当該結合ファイル及び当該残結合ファイルに含まれる結合前データのパラメータ区分により識別されるような識別子が付されるものとすることができる。
データ書き出し部15は、データ結合部14により生成された結合ファイル及び残結合ファイルを、外部ファイルシステム2の結合ファイル記憶部20に書き出す部分である。また、データ書き出し部15は、結合ファイル及び残結合ファイルに含まれて書き出される対象となった結合前データを、結合前データ一時蓄積部12から消去する部分である。
データ結合部14及びデータ書き出し部15が実行する処理として、上記説明は、データ結合部14が選択パラメータとしてパラメータAを選択した場合を例として挙げているが、パラメータB及びパラメータCを選択パラメータとして選択した場合の処理も順次行われる。なお、ここではパラメータに優先度があり、A,B,Cの順に結合を優先するものとする。パラメータAの処理で生成した結合保留ブロックbkaは、パラメータBの処理で使用される。
なお、本実施形態では、上記の各機能部11〜15が、データ分割装置1に備えられていることとしているが、ネットワークを介して相互に通信可能な複数のサーバに分散して構成され、本発明のデータ分割システムが複数のサーバにより構成されることとしても良い。
続いて、本実施形態のデータ分割方法におけるデータ分割装置1の動作について説明する。図5は、データ分割装置1において実施される処理内容を示すフローチャートである。データ統合の契機は、所定容量や所定時間間隔などの一定の分割基準に従う。一定の分割基準として、例えば、結合前データ量に応じて結合処理を行う場合や、タイマ13による一定時間経過後に結合処理を行う場合や、その複合などが考えられる。本実施形態では、その複合として、結合前データ量およびタイマ13による時間をデータ統合の契機とする。図5に示す処理は、タイマ13による時間の計測とは無関係に(タイマ13による時間契機発動前に)、一のブロックbkに含まれる結合前データが所定容量を超えた場合に、当該ブロックbkに含まれる結合前データを結合して、結合ファイルとして書き出すものである。
まず、ステップS1において、データ取得部11は、データ生成ノードN1〜N3からの結合前データの取得を試み、結合前データを取得したか否かを判断する。結合前データを取得した場合には、処理手順はステップS2に進められる。
続くステップS2において、データ取得部11は、取得した結合前データを結合前データ一時蓄積部12に記憶させる。この時、データ取得部11は、結合前データのパラメータA〜Cの値が該当する区分を参照して、結合前データ一時蓄積部12におけるパラメータA〜Cの区分に対応するブロックbkに結合前データを分類する。
続いて、ステップS3において、データ結合部14は、ステップS2において結合前データが分類されたブロックbkにおける結合前データの容量を計算する。
次に、ステップS4において、データ結合部14は、分割基準として、ステップS3において計算した結合前データの容量が所定容量以下であるか否かを判定する。結合前データの容量が所定容量以下である場合には、処理手順は終了し、結合前データの容量が所定容量以下でない場合には、処理手順はステップS5に進められる。
続いて、ステップS5において、データ結合部14は、当該ブロックbkに含まれる結合前データを結合して結合ファイルを生成する。
さらに、ステップS6において、データ書き出し部15は、ステップS5において生成された結合ファイルを、当該ブロックbkのパラメータA〜Cの区分による識別子と共に、外部ファイルシステム2の結合ファイル記憶部20に書き出す。例えば、パラメータA〜Cの区分の識別子はファイル名やファイル内のメタヘッダなどに付与されることが考えられる。
そして、ステップS7において、データ結合部14は、結合前データの書き出しが行われた当該ブロックbkのデータを消去(クリア)し、当該ブロックbkごとに設けられている時間フラグ(図示せず)をセットする。この時間フラグがセットされていることは、タイマ13から処理開始の契機が発せられる前に、当該ブロックbkに含まれる結合前データの書き出しが行われたことを意味する。
以上説明したステップS1〜S7の処理より、タイマ13に設定された時間内に結合前データの容量の合計が所定容量を超えた一のブロックbkに含まれる結合前データは、結合前データの集合から、論理的な意味づけがあるものとして結合ファイルとして分割される。そして、この結合ファイルは、データ処理に好適な容量となる。
次に、図6〜9を用いてデータ分割装置1において実施される処理を説明する。図6〜9に示す処理は、タイマ13により一定時間ごとに処理の契機がデータ結合部14に出力され、データ結合部14が一定時間ごとに結合前データを結合して、結合ファイルとして書き出す処理を実行するものである。
まずステップS10において、データ結合部14は、タイマ13から処理の契機の通知を取得したか否かを判断する。処理の契機の通知を取得したと判断した場合には処理手順はステップS11に進められる。
次に、ステップS11において、データ結合部14は、結合前データ一時蓄積部12を参照して、結合前データが入っているブロックbkのうち一のブロックbkを選択する。
次に、ステップS12において、データ結合部14は、ステップS11において選択したブロックbkの時間フラグがセットされているか否かを判定する。時間フラグがセットされていない場合には、処理手順はステップS16に進められ、時間フラグがセットされていた場合には、処理手順はステップS13に進められる。
続くステップS13において、データ結合部14は、当該ブロックbkに含まれている結合前データをそのまま結合ファイルとして生成する。そして、ステップS14において、データ書き出し部15は、ステップS13において生成された結合ファイルを、当該ブロックbkのパラメータA〜Cによる識別子と共に、外部ファイルシステム2の結合ファイル記憶部20に書き出す。さらに、ステップS15において、データ書き出し部15は、結合前データ一時蓄積部12における当該ブロックbkのデータを消去し、データ結合部14は、結合前データ一時蓄積部12における当該ブロックbkの時間フラグをクリアする。
そして、ステップS16において、データ結合部14は、結合前データ一時蓄積部12を参照して、結合前データが入っている全てのブロックbkを選択したか否かを判断する。全てのブロックbkを選択していないと判断した場合には、処理手順はステップS11に戻り、全てのブロックbkを選択したと判断した場合には、処理手順は、図7のステップS21に進められる。
以上説明したステップS11〜S16の処理は、図5に示した処理において結合前データの書き出しが実施されたブロックbkに、当該書き出しが実施された後、且つタイマ13からの処理の契機の通知が発せられるまでの間に結合前データが蓄積された場合に、蓄積された結合前データを結合ファイルとして書き出すものである。これにより、結合前データの容量の合計が所定容量を超えたことにより書き出しが実施されたブロックbkにおいて、当該書き出しの後に当該ブロックbkに蓄積された結合前データは、所定の容量に達しなくとも、論理的な意味づけがあるものとして結合前データの集合から結合ファイルとして分割されることとなる。これにより、同一区分のパラメータA,B,Cを持つデータだけを、一定の分割基準(時間間隔およびデータ量)に則り、分割・出力することができ、出力されたファイルには別のパラメータを持つデータが存在しないことを保証できる。ここにて分割できない未結合データは、異なる区分のパラメータAを持つデータとあわせた上で分割基準に則り分割されることとなる。
次に図7を参照して、データ分割装置1において実施される処理を説明する。図7に示すステップS21〜S32の処理は、データ結合部14がデータ分割の処理を実施するに際して着目すべきパラメータ(選択パラメータ)として、パラメータAを選択して行われるものである。
まず、ステップS21において、データ結合部14は、パラメータBおよびCが同一区分で、パラメータAが異なるブロック群bkに注目するために、パラメータBおよびCを選択する。例えば最初はパラメータBをb1,パラメータCをc1とする。後の説明において、ここで選択されたパラメータB,Cを固定パラメータと称する。このステップS21は、全ての固定パラメータを選択するまで繰り返し実行される。ここでは、パラメータBについてb1〜b10の10分類、パラメータCについてc1〜c10の10分類があるため、100回実行される。
次に、ステップS22において、データ結合部14は、結合ブロックの領域をクリアすると共に、結合Aフラグをクリアする。結合ブロックは、1又は複数のブロックbkに含まれる結合前データを結合したものを一時的に格納するためのブロックであり、結合前データ一時蓄積部12に設けられる。また、結合Aフラグは、結合ブロックに含まれる結合前データを結合ファイルとして書き出したことを示すフラグである。
続いて、ステップS23において、データ結合部14は、パラメータBとCが固定パラメータと同一区分のブロックbkを1つ選択する。ここで、ステップS23〜S28の処理の繰り返しにおいて選択される全てのブロックbkは、パラメータBとCが同一区分であって、パラメータAが異なる区分のブロックであり、本発明における結合候補ブロックを構成する。例えば固定パラメータがB=b1,C=c1である場合には、ステップS23において、例えばブロックbk(a1,b1,c1)が選択される。
次に、ステップS24において、データ結合部14は、ステップS23において選択された結合候補ブロックに含まれる結合前データを結合ブロックに移動する。そして、ステップS25において、データ結合部14は、結合ブロックに含まれる結合前データの容量の合計が所定容量以下か否かを判断する。結合ブロックに含まれる結合前データの容量の合計が所定容量以下である場合には、処理手順はステップS28に進められ、結合ブロックに含まれる結合前データの容量の合計が所定容量以下でない場合には、処理手順はステップS26に進められる。
続くステップS26において、データ結合部14は、結合ブロックに含まれる結合前データを結合して結合ファイルを生成する。結合ブロックに対して、一のブロックbkごとに結合前データを移動させて、結合ブロックに含まれる結合前データの容量の合計が所定容量を超えたときに、結合ブロックに含まれる結合前データを結合して結合ファイルを生成するので、結合ファイルの容量はデータ処理に好適なものとなる。また、結合ファイルに含まれる結合前データは、パラメータB,Cの区分が同一であり、パラメータAの区分のみが異なるものであるので、結合ファイルは、論理的な意味づけがなされたものとなる。
次に、ステップS27において、データ書き出し部15は、ステップS26において生成された結合ファイルを、パラメータの区分による識別子をファイル名やファイル内のメタデータなどに付しながら、外部ファイルシステム2の結合ファイル記憶部20に書き出す。ここで結合ファイルに付される識別子は、例えば、結合ファイルに含まれるブロックbkが、ブロックbk(a1,b1,c1)、ブロックbk(a2,b1,c1)、・・・及びブロックbk(a6,b1,c1)の6個のブロックbkである場合には、「結合ファイル(a1〜a6,b1,c1)」とすることができる。ステップS23〜S28の処理において選択され、結合ファイルに含まれることとなったブロックbkは、本発明における結合対象ブロックを構成する。
また、ステップS27において、データ書き出し部15は、結合ブロックのデータを消去する。結合候補ブロックのデータが結合ブロックに移動された後に結合ブロックのデータが消去されるので、ステップS27における結合ブロックのデータの消去の処理は、結合対象ブロックに含まれるすべての結合前データを結合前データ一時蓄積手段から消去する処理に相当する。さらに、ステップS27において、データ結合部14は、結合Aフラグをセットする。
続くステップS28において、データ結合部14は、パラメータB,Cが同一区分の、全ての結合候補ブロックを選択したか否かを判断する。全ての結合候補ブロックを選択したと判断した場合には、処理手順はステップS29に進められ、全ての結合候補ブロックを選択していないと判断した場合には、処理手順はステップS23に戻る。
全ての結合候補ブロックを選択したと判断されると、ステップS29において、データ結合部14は、その時点において、結合ブロックに結合前データが残り、且つ結合Aフラグがセットされているか否かを判断する。結合ブロックに結合前データがあり、且つ結合Aフラグがセットされていると判断した場合には、処理手順はステップS30に進められ、結合ブロックに結合前データがあり、且つ結合Aフラグがセットされていると判断しなかった場合には、処理手順はステップS31に進められる。
結合ブロックに結合前データがあり、且つ結合Aフラグがセットされている場合とは、本実施形態の例では、例えば、ブロックbk(a1,b1,c1)、ブロックbk(a2,b1,c1)、・・・及びブロックbk(a6,b1,c1)の6個のブロックbkから結合ファイル(a1〜a6,b1,c1)が生成されて書き出しが行われ、ブロックbk(a7,b1,c1)、ブロックbk(a8,b1,c1)、・・・及びブロックbk(a10,b1,c1)に含まれていた結合前データの容量の合計が所定容量を超えずに、書き出し処理が行われないまま結合ブロックに結合前データが残っている状態である。このように、結合ファイルとして書き出しが行われなかったブロックbkは、本発明における残結合候補ブロックを構成する。そして、このような場合には、ステップS30において、データ結合部14は、結合ブロックに含まれる結合前データを結合して残結合ファイルを生成し、データ書き出し部15は、残結合ファイルを、パラメータA〜Cの区分による識別子と共に、外部ファイルシステム2の結合ファイル記憶部20に書き出す。これにより、同一区分のパラメータB,Cを持つデータのみを、一定の分割基準(時間間隔およびデータ量)に則り、分割・出力することができ、出力されたファイルには異なる区分のパラメータBおよびCを持つデータが存在しないことを保証できる。
一方、ステップS29からステップS31に処理が進められる場合とは、パラメータAの区分のみが異なるブロックbkから構成される全ての結合候補ブロックに含まれる結合前データの容量の合計が、所定容量を超えなかった場合である。この場合には、結合ブロックは、全ての結合候補ブロックの結合前データを含んでいるので、ステップS31において、データ結合部14は、結合ブロックの結合前データを結合して、パラメータB,Cの区分により識別される結合保留ブロックbkaに書き出す。例えば、ブロックbk(a1,b2,c1)、ブロックbk(a2,b2,c1)、・・・及びブロックbk(a10,b2,c1)の10個のブロックbkに含まれていた結合前データを結合保留ブロックに書き出した場合には、この結合保留ブロックの識別子を「(a0,b2,c1)」とすることができる。即ち、結合保留ブロックbka(a0,b2,c1)に含まれる結合前データは、パラメータAの値がa1〜a10のいずれかの区分に属することとなる。従って、この結合保留ブロックbkaは、パラメータAによる分割がなされていないことを保証し、パラメータB及びパラメータCの区分により論理的な意味づけがなされることとなる。
次に、ステップS32において、データ結合部14は、全ての固定パラメータを選択したか否かを判断する。全ての固定パラメータを選択したと判断した場合には、処理手順は図8に示すステップS41に進められ、全ての固定パラメータを選択していないと判断した場合には、処理手順はステップS21に戻り、次の固定パラメータとして、例えばB=b2,C=c1を選択する。
上記のとおり、ステップS21〜ステップS32に示す処理は、データ結合部が選択パラメータとしてパラメータAを選択した場合の処理であるので、処理手順がステップS41に進められる時には、図4に示す結合前データ一時蓄積部12に含まれるすべてのブロックbkは、パラメータAの区分のみが異なるブロックbk同士で結合されて結合ファイルまたは残結合ファイルとして結合ファイル記憶部20に書き出されたか、結合保留ブロックbkaとして結合前データ一時蓄積部12に残っているか、のいずれかである。図10は、処理手順がステップS41に進められる時における結合前データ一時蓄積部12の一部の状態を例示したものである。図10には、結合前データ一時蓄積部12に残された結合保留ブロックbkaが示されている。また、符号bkvは、ブロックbkの書き出しが行われ、該当するブロックbk及び結合前データが存在しないことを示している。
次に図8を参照して、データ分割装置1において実施される処理を説明する。図8に示すステップS41〜S52の処理は、データ結合部14がデータ分割の処理を実施するに際して着目すべきパラメータ(選択パラメータ)として、パラメータBを選択して行われるものである。
まず、ステップS41において、データ結合部14は、パラメータCが同一区分で、パラメータBが異なるブロック群bkaに注目するために、固定パラメータとして、あるパラメータCを選択する。例えば最初はパラメータCをc1とする。なお、ここで注目するブロック群bkaは、上記のように、ステップS21〜S32において生成された結合保留ブロックbkaのうちのいずれかのものである(図10参照)。このステップS41は、全ての固定パラメータを選択するまで繰り返し実行される。ここでは、パラメータCについてc1〜c10の10分類があるため、10回実行される。
次に、ステップS42において、データ結合部14は、結合ブロックの領域をクリアすると共に、結合Bフラグをクリアする。結合Bフラグは、結合ブロックに含まれる結合前データを結合ファイルとして書き出したことを示すフラグである。
続いて、ステップS43において、データ結合部14は、パラメータCが固定パラメータと同一区分のブロックbkaを1つ選択する。ここで選択されるブロックは、図10に示す結合保留ブロックbkaのうちのいずれかのブロックである。また、ステップS43〜S48の処理の繰り返しにおいて選択される全てのブロックbkaは、パラメータCが同一区分であって、パラメータBが異なる区分のブロックであり、本発明における結合候補ブロックを構成する。例えば固定パラメータがC=c1である場合には、ステップS43において、例えばブロックbka(a0,b2,c1)が選択される。
次に、ステップS44において、データ結合部14は、ステップS43において選択された結合候補ブロックに含まれる結合前データを結合ブロックに移動する。そして、ステップS45において、データ結合部14は、結合ブロックに含まれる結合前データの容量の合計が所定容量以下か否かを判断する。結合ブロックに含まれる結合前データの容量の合計が所定容量以下である場合には、処理手順はステップS48に進められ、結合ブロックに含まれる結合前データの容量の合計が所定容量以下でない場合には、処理手順はステップS46に進められる。
続くステップS46において、データ結合部14は、結合ブロックに含まれる結合前データを結合して結合ファイルを生成する。結合ブロックに対して、一のブロックごとに結合前データを移動させて、結合ブロックに含まれる結合前データの容量の合計が所定容量を超えたときに、結合ブロックに含まれる結合前データを結合して結合ファイルを生成するので、結合ファイルの容量はデータ処理に好適なものとなる。また、結合ファイルに含まれる結合前データは、パラメータAに関して統合され、パラメータCの区分が同一であり、パラメータBの区分が異なるものであるので、結合ファイルは、論理的な意味づけがなされたものとなる。
次に、ステップS47において、データ書き出し部15は、ステップS46において生成された結合ファイルを、パラメータの区分による識別子をファイル名やファイル内のメタデータなどに付しながら、外部ファイルシステム2の結合ファイル記憶部20に書き出す。ここで結合ファイルに付される識別子は、例えば、結合ファイルに含まれるブロックbkaが、ブロックbka(a0,b2,c1)、ブロックbka(a0,b5,c1)及びブロックbka(a0,b6,c1)の3個のブロックである場合には、「結合ファイル(a0,b2〜b6,c1)」とすることができる。ステップS43〜S48の処理において選択され、結合ファイルに含まれることとなったブロックbkaは、本発明における結合対象ブロックを構成する。
また、ステップS47において、データ書き出し部15は、結合ブロックのデータを消去する。結合候補ブロックのデータが結合ブロックに移動された後に結合ブロックのデータが消去されるので、ステップS47における結合ブロックのデータの消去の処理は、結合対象ブロックに含まれるすべての結合前データを結合前データ一時蓄積手段から消去する処理に相当する。さらに、ステップS47において、データ結合部14は、結合Bフラグをセットする。
続くステップS48において、データ結合部14は、パラメータCが同一区分の、全ての結合候補ブロックを選択したか否かを判断する。全ての結合候補ブロックを選択したと判断した場合には、処理手順はステップS49に進められ、全ての結合候補ブロックを選択していないと判断した場合には、処理手順はステップS43に戻る。
全ての結合候補ブロックを選択したと判断されると、ステップS49において、データ結合部14は、その時点において、結合ブロックに結合前データが残り、且つ結合Bフラグがセットされているか否かを判断する。結合ブロックに結合前データがあり、且つ結合Bフラグがセットされていると判断した場合には、処理手順はステップS50に進められ、結合ブロックに結合前データがあり、且つ結合Bフラグがセットされていると判断しなかった場合には、処理手順はステップS51に進められる。
結合ブロックに結合前データがあり、且つ結合Bフラグがセットされている場合とは、本実施形態の例では、例えば、ブロックbka(a0,b2,c1)、ブロックbka(a0,b5,c1)及びブロックbka(a0,b6,c1)の3個のブロックから、結合ファイル(a0,b2〜b6,c1)が生成されて書き出しが行われ、ブロックbka(a0,b9,c1)、ブロックbka(a0,b10,c1)に含まれていた結合前データの容量の合計が所定容量を超えずに、書き出し処理が行われないまま結合ブロックに結合前データが残っている状態である。このように、結合ファイルとして書き出しが行われなかったブロックbkaは、本発明における残結合候補ブロックを構成する。そして、このような場合には、ステップS50において、データ結合部14は、結合ブロックに含まれる結合前データを結合して残結合ファイルを生成し、データ書き出し部15は、残結合ファイルを、パラメータB〜Cの区分による識別子と共に、外部ファイルシステム2の結合ファイル記憶部20に書き出す。これにより、同一区分のパラメータCを持つ結合前データのみを、一定の分割基準(時間間隔およびデータ量)に則り、分割・出力することができ、出力されたファイルは異なる区分のパラメータCを持つデータが存在しないことを保証できる。
一方、ステップS49からステップS51に処理が進められる場合とは、パラメータBの区分のみが異なるブロックbkaから構成される全ての結合候補ブロックに含まれる結合前データの容量の合計が、所定容量を超えなかった場合である。この場合には、結合ブロックは、全ての結合候補ブロックの結合前データを含んでいるので、ステップS51において、データ結合部14は、結合ブロックの結合前データを結合して、パラメータCの区分により識別される結合保留ブロックbkbに書き出す。例えば、結合前データの無いブロックbkvを除く、ブロックbka(a0,b1,c2)、ブロックbka(a0,b4,c2)、ブロックbka(a0,b8,c2)、及びブロックbka(a0,b9,c2)の4個のブロック(結合保留ブロックbka)に含まれていた結合前データを結合保留ブロックbkbに書き出した場合には、この結合保留ブロックbkbの識別子を「(a0,b0,c2)」とすることができる。即ち、結合保留ブロックbkb(a0,b0,c2)に含まれる結合前データは、パラメータAの値がa1〜a10のいずれか区分に属し、パラメータBの値がb1〜b10のいずれか区分に属することとなる。従って、この結合保留ブロックbkbは、パラメータAおよびBによる分割がなされていないことを保証し、パラメータCの区分により論理的な意味づけがなされることとなる。
次に、ステップS52において、データ結合部14は、全ての固定パラメータを選択したか否かを判断する。全ての固定パラメータを選択したと判断した場合には、処理手順は図9に示すステップS61に進められ、全ての選固定パラメータを選択していないと判断した場合には、処理手順はステップS41に戻り、次の固定パラメータとして、例えばC=c2を選択する。
上記のとおり、ステップS41〜ステップS52に示す処理は、データ結合部が選択パラメータとしてパラメータBを選択した場合の処理であるので、処理手順がステップS61に進められる時には、図10に示す結合前データ一時蓄積部12に含まれるすべてのブロック(結合保留ブロックbka)は、パラメータAおよびBの区分が異なるブロック同士で結合されて結合ファイルまたは残結合ファイルとして結合ファイル記憶部20に書き出されたか、結合保留ブロックとして結合前データ一時蓄積部12に残っているか、のいずれかである。図11には、結合前データ一時蓄積部12に残された結合保留ブロックbkbが示されている。また、符号bkwは、ブロックの書き出しが行われ、該当するブロック及び結合前データが存在しないことを示している。
次に図9を参照して、データ分割装置1において実施される処理を説明する。図9に示すステップS61〜S71の処理は、データ結合部14がデータ分割の処理を実施するに際して着目すべきパラメータ(選択パラメータ)として、パラメータCを選択して行われるものである。
まず、ステップS61において、データ結合部14は、パラメータCが異なるブロック群bkbに注目するために、固定パラメータを解除する。つまり、最後のパラメータCにおいては、ステップS41を固定パラメータの数だけ繰り返し処理するのではなく、1回のみの処理が行われる。なお、ここで注目するブロック群bkbは、上記のように、ステップS41〜S52において生成された結合保留ブロックbkbのうちのいずれかのものである(図11参照)。
次に、ステップS62において、データ結合部14は、結合ブロックの領域をクリアすると共に、結合Cフラグをクリアする。結合Cフラグは、結合ブロックに含まれる結合前データを結合ファイルとして書き出したことを示すフラグである。
続いて、ステップS63において、データ結合部14は、ブロックbkbを1つ選択する。ここで選択されるブロックは、図11に示す結合保留ブロックbkbのうちのいずれかのブロックである。また、ステップS63〜S68の処理の繰り返しにおいて選択される全てのブロックbkbは、パラメータCが異なる区分のブロックであり、本発明における結合候補ブロックを構成する。例えばステップS63において、ブロックbkb(a0,b0,c2)が選択される。
次に、ステップS64において、データ結合部14は、ステップS63において選択された結合候補ブロックに含まれる結合前データを結合ブロックに移動する。そして、ステップS65において、データ結合部14は、結合ブロックに含まれる結合前データの容量の合計が所定容量以下か否かを判断する。結合ブロックに含まれる結合前データの容量の合計が所定容量以下である場合には、処理手順はステップS68に進められ、結合ブロックに含まれる結合前データの容量の合計が所定容量以下でない場合には、処理手順はステップS66に進められる。
続くステップS66において、データ結合部14は、結合ブロックに含まれる結合前データを結合して結合ファイルを生成する。結合ブロックに対して、一のブロックごとに結合前データを移動させて、結合ブロックに含まれる結合前データの容量の合計が所定容量を超えたときに、結合ブロックに含まれる結合前データを結合して結合ファイルを生成するので、結合ファイルの容量はデータ処理に好適なものとなる。また、結合ファイルに含まれる結合前データは、パラメータA,Bに関して統合され、パラメータCの区分が異なるものであるので、結合ファイルは、論理的な意味づけがなされたものとなる。
次に、ステップS67において、データ書き出し部15は、ステップS66において生成された結合ファイルを、パラメータの区分による識別子をファイル名やファイル内のメタデータなどに付しながら、外部ファイルシステム2の結合ファイル記憶部20に書き出す。ここで結合ファイルに付される識別子は、例えば、結合ファイルに含まれるブロックbkbが、ブロックbkb(a0,b0,c2)、ブロックbkb(a0,b0,c4)及びブロックbkb(a0,b0,c8)の3個のブロックである場合には、「結合ファイル(a0,b0,c4〜c8)」とすることができる。ステップS63〜S68の処理において選択され、結合ファイルに含まれることとなったブロックbkbは、本発明における結合対象ブロックを構成する。
また、ステップS67において、データ書き出し部15は、結合ブロックのデータを消去する。結合候補ブロックのデータが結合ブロックに移動された後に結合ブロックのデータが消去されるので、ステップS67における結合ブロックのデータの消去の処理は、結合対象ブロックに含まれるすべての結合前データを結合前データ一時蓄積手段から消去する処理に相当する。さらに、ステップS67において、データ結合部14は、結合Cフラグをセットする。
続くステップS68において、データ結合部14は、全ての結合候補ブロックを選択したか否かを判断する。全ての結合候補ブロックを選択したと判断した場合には、処理手順はステップS69に進められ、全ての結合候補ブロックを選択していないと判断した場合には、処理手順はステップS63に戻る。
全ての結合候補ブロックを選択したと判断されると、ステップS69において、データ結合部14は、その時点において、結合ブロックに結合前データが残り、且つ結合Cフラグがセットされているか否かを判断する。結合ブロックに結合前データがあり、且つ結合Cフラグがセットされていると判断した場合には、処理手順はステップS70に進められ、結合ブロックに結合前データがあり、且つ結合Cフラグがセットされていると判断しなかった場合には、処理手順はステップS71に進められる。
結合ブロックに結合前データがあり、且つ結合Cフラグがセットされている場合とは、本実施形態の例では、例えば、ブロックbkb(a0,b0,c2)、ブロックbkb(a0,b0,c4)及びブロックbkb(a0,b0,c8)の3個のブロックから、結合ファイル(a0,b0,c4〜c8)が生成されて書き出しが行われ、ブロックbkb(a0,b0,c10)に含まれていた結合前データの容量の合計が所定容量を超えずに、書き出し処理が行われないまま結合ブロックに結合前データが残っている状態である。このように、結合ファイルとして書き出しが行われなかったブロックは、本発明における残結合候補ブロックを構成する。そして、このような場合には、ステップS70において、データ結合部14は、結合ブロックに含まれる結合前データを結合して残結合ファイルを生成し、データ書き出し部15は、残結合ファイルを、パラメータCの区分による識別子と共に、外部ファイルシステム2の結合ファイル記憶部20に書き出す。これにより、全ての結合前データを、一定の分割基準(時間間隔およびデータ量)に則り、分割・出力することができる。
一方、ステップS69からステップS71に処理が進められる場合とは、パラメータCの区分のみが異なるブロックbkbから構成される全ての結合候補ブロックに含まれる結合前データの容量の合計が、所定容量を超えなかった場合である。この場合には、結合ブロックは、全ての結合候補ブロックの結合前データを含んでいるので、ステップS71において、データ結合部14は、結合ブロックの結合前データを結合して、パラメータCの区分により識別される結合ファイルとして、外部ファイルシステム2の結合ファイル記憶部20に書き出す。例えば、結合前データの無いブロックbkwを除く、ブロックbkb(a0,b0,c2)、ブロックbkb(a0,b0,c4)、ブロックbkb(a0,b0,c8)、及びブロックbkb(a0,b0,c10)の4個のブロック(結合保留ブロックbkb)に含まれていた結合前データの容量の合計が所定容量を超えなかった場合に、ステップS71に示す処理が行われる。これにより、結合前データ一時蓄積部12に記憶されていた全ての結合前データの書き出しが完了する。こうして、データ分割装置1において実施されるデータ分割処理が終了する。
なお、本実施形態では便宜的にbk、bka、bkbを区別しているが、ブロック配列内部の引数が混同しないため、単一のブロック配列bkに集約することも可能である。また、bkv、bkwについても、そのブロック内のデータ量を確認することで容易にbkaやbkbと区別がつくため、同一のブロック配列に集約することも可能である。
なお、本実施形態では、結合前データは3個のパラメータA,B,Cを有することとし、パラメータAを選択パラメータとして選択した場合の処理をステップS21〜S32(図7)、パラメータBを選択パラメータとして選択した場合の処理をステップS41〜S52(図8)、パラメータCを選択パラメータとして選択した場合の処理をステップS61〜S71(図9)に示した。これに対し、結合前データが、第1〜第n(nは2以上の整数)の複数のパラメータを有する場合には、データ結合部14は、n個のパラメータを順次、選択パラメータとしてn回選択し、選択した選択パラメータごとにステップS21〜S32、ステップS41〜S52、またはステップS61〜S71に示す処理をn回順次実行する。この場合には、パラメータごとに順次、ブロックを結合して結合前データの集合から結合ファイルを分割、生成する処理が行われるので、結合前データの集合から、論理的に適切な意味を有すると共に、データ処理に好適な容量の結合ファイルを分割、生成することができる。
なお、結合前データが3個のパラメータA,B,Cを有しつつ、結合・分割処理はA,Bについてのみ行い、Cについては行わないといったこともできる。この場合、パラメータAについてはステップS21〜S32を行い、パラメータBについてはステップS41〜S52を行うが、S51において結合保留ブロックを生成せず、S71の処理と同様にファイルに書き出す。これにより、パラメータCのく分については統合されることなく、同一ファイル内には単一のパラメータCの区分のデータが存在することを保証することができる。
続いて、以上説明したデータ分割システム及びデータ分割方法の作用効果について説明する。本実施形態のデータ分割システム及びデータ分割方法では、選択パラメータの値が異なるブロックbkが結合候補ブロックとしてデータ結合部14により選択されるので、結合されるブロックbkに含まれる結合前データは、既に処理された選択パラメータについてはファイルに分割されて書き出されるか結合保留ブロックとして統合され、未処理の選択パラメータについては、選択パラメータ以外の未選択パラメータ値が同一区分である。これにより、結合前データの集合から論理的に適切な意味を有する結合ファイルを分割することができる。また、選択された結合候補ブロックから、ブロックbkに含まれる結合前データの容量の合計が所定容量を超えるように、データ結合部14により、結合対象ブロックが抽出され、抽出された結合対象ブロックを結合して結合ファイルが生成され、データ書き出し部15により、結合ファイル記憶部20に書き出されるので、結合前データの集合から、データ処理に好適な容量の結合ファイルを分割することが可能となる。
本実施形態のデータ分割システムでは、ブロックbkに含まれる結合前データの容量の合計が所定容量に達していなくとも、データ結合部14により、結合ファイルとして分割、書き出しが行われた結合前データと論理的な意味づけを有する結合前データが残結合候補ブロックとして抽出され、抽出された残結合候補ブロックから残結合ファイルが生成され、データ書き出し部15により、生成された残結合ファイルを結合ファイル記憶部20に書き出すことができる。これにより、結合ファイルに含まれる結合前データ間における論理的意味づけと同一の論理的意味づけを有する結合前データを、結合前データ一時蓄積手段に残さないようにすることができる。これにより、同一区分の未選択パラメータを持つデータのみを、一定の分割基準(時間間隔およびデータ量)に則り、分割・出力することができ、出力されたファイルには異なる区分の未選択パラメータを持つデータが存在しないことを保証できる。
また、本実施形態のデータ分割システムでは、結合前データ一時蓄積部12において、一のブロックbkに含まれる結合前データの容量の合計が所定容量を超えた場合には、データ結合部14は、一のブロックbkに含まれる結合前データを結合して結合ファイルを生成する。一のブロックbkに含まれる複数の結合前データは、同一区分のパラメータ値を有するので、互いに論理的な意味づけを有する。従って、データ書き出し部15により、これらの論理的な意味づけを有する複数の結合前データが結合ファイルとして書き出されることとなるので、結合前データの集合から、論理的に適切な意味を有すると共に、データ処理に好適な容量の結合ファイルを分割することができる。
1…データ分割装置、11…データ取得部、12…結合前データ一時蓄積部、13…タイマ、14…データ結合部、15…データ書き出し部、2…外部ファイルシステム、20…結合ファイル記憶部、N1,N2,N3…データ生成ノード、bk…ブロック、bka,bkb…結合保留ブロック。
Claims (7)
- 複数のパラメータを有するデータである結合前データの集合を、複数のファイルに分割し、分割した前記ファイルを所定の記憶手段に書き出すデータ分割システムであって、
前記複数のパラメータに同一の範囲区分に属する値を有する前記結合前データを、前記結合前データのまとまりである複数のブロックごとに一時蓄積する結合前データ一時蓄積手段と、
前記複数のパラメータから選択された一のパラメータである選択パラメータを選択する選択パラメータ選択手段と、
前記結合前データ一時蓄積手段に蓄積された複数の前記ブロックから、前記選択パラメータ選択手段により選択された選択パラメータの値のみが異なる前記結合前データを含む複数の前記ブロックを結合候補ブロックとして、該結合候補ブロックをグループ化した結合候補ブロック群を1または複数形成するブロック選択処理を実行する結合候補ブロック選択手段と、
前記結合候補ブロック選択手段により形成された前記結合候補ブロック群ごとに、該結合候補ブロック群から、予め定められた所定の分割基準を満たすように、1または複数の前記結合候補ブロックを結合対象ブロックとして抽出するブロック抽出処理を実行する結合対象ブロック抽出手段と、
前記結合対象ブロック抽出手段により抽出された前記結合対象ブロックに含まれる前記結合前データを結合して、前記結合候補ブロック群ごとに1または複数の結合ファイルを生成する結合ファイル生成処理を実行する結合ファイル生成手段と、
前記結合ファイル生成手段により生成された前記結合ファイルを前記所定の記憶手段に記憶させると共に、前記結合対象ブロックに含まれるすべての前記結合前データを前記結合前データ一時蓄積手段から消去する書き出し処理を実行する結合ファイル書き出し手段と
を備えることを特徴とするデータ分割システム。 - 前記結合対象ブロック抽出手段は、
前記所定の分割基準として、前記結合候補ブロックに含まれる前記結合前データの容量の合計が予め定められた所定容量を超えるように、または、予め定められた所定時間が経過したときに、前記結合候補ブロック群から1または複数の前記結合候補ブロックを結合対象ブロックとして抽出すること
を特徴とする請求項1に記載のデータ分割システム。 - 前記結合前データは、第1〜第n(nは2以上の整数)の複数のパラメータを有し、
前記選択パラメータ選択手段は、前記選択パラメータとして、前記複数のパラメータから第1〜第nのパラメータを順次選択し、
前記選択パラメータ選択手段により前記選択パラメータとして選択された前記第1〜第nのパラメータごとに、前記結合候補ブロック選択手段による前記ブロック選択処理、前記結合対象ブロック抽出手段による前記ブロック抽出処理、前記結合ファイル生成手段による前記結合ファイル生成処理、及び前記結合ファイル書き出し手段による前記書き出し処理が、最大n回順次実行される
ことを特徴とする請求項1または2に記載のデータ分割システム。 - 前記結合ファイル生成手段は、前記結合候補ブロックから前記結合対象ブロックとして抽出されなかった前記ブロックである残結合候補ブロックに含まれる前記結合前データを結合して残結合ファイルを生成し、
前記結合ファイル書き出し手段は、前記結合ファイル生成手段により生成された前記残結合ファイルを前記所定の記憶手段に書き出すと共に、前記残結合対象ブロックに含まれるすべての前記結合前データを前記結合前データ一時蓄積手段から消去する
ことを特徴とする請求項1〜3のいずれか1項に記載のデータ分割システム。 - 前記結合前データ一時蓄積手段において、一の前記ブロックに含まれる前記結合前データが前記所定の分割基準を満たした場合には、前記結合ファイル生成手段は、前記一のブロックに含まれる前記結合前データを結合して前記結合ファイルを生成する
ことを特徴とする請求項1〜4のいずれか1項に記載のデータ分割システム。 - 複数のパラメータを有するデータである結合前データの集合を、複数のファイルに分割し、分割した前記ファイルを所定の記憶手段に書き出すデータ分割方法であって、
前記複数のパラメータから選択された一のパラメータである選択パラメータを選択する選択パラメータ選択ステップと、
前記複数のパラメータに同一の範囲区分に属する値を有する前記結合前データを、前記結合前データのまとまりである複数のブロックごとに一時蓄積する結合前データ一時蓄積手段に蓄積された複数の前記ブロックから、前記選択パラメータ選択ステップにおいて選択された選択パラメータの値のみが異なる前記結合前データを含む複数の前記ブロックを結合候補ブロックとして、該結合候補ブロックをグループ化した結合候補ブロック群を1または複数形成する結合候補ブロック選択ステップと、
前記結合候補ブロック選択ステップにおいて形成された前記結合候補ブロック群ごとに、該結合候補ブロック群から、予め定められた所定の分割基準を満たすように、1または複数の前記結合候補ブロックを結合対象ブロックとして抽出する結合対象ブロック抽出ステップと、
前記結合対象ブロック抽出ステップにおいて抽出された前記結合対象ブロックに含まれる前記結合前データを結合して、前記結合候補ブロック群ごとに1または複数の結合ファイルを生成する結合ファイル生成ステップと、
前記結合ファイル生成ステップにおいて生成された前記結合ファイルを、前記所定の記憶手段に記憶させると共に、前記結合対象ブロックに含まれるすべての前記結合前データを前記結合前データ一時蓄積手段から消去する結合ファイル書き出しステップと
を有することを特徴とするデータ分割方法。 - 前記結合前データは、第1〜第n(nは2以上の整数)の複数のパラメータを有し、
前記選択パラメータ選択ステップ、前記結合候補ブロック選択ステップ、前記結合対象ブロック抽出ステップ、前記結合ファイル生成ステップ、及び前記結合ファイル書き出しステップを、前記第1〜第nのパラメータごとに最大n回順次実行することを特徴とする請求項6に記載のデータ分割方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009121148A JP5410155B2 (ja) | 2009-05-19 | 2009-05-19 | データ分割システム及びデータ分割方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009121148A JP5410155B2 (ja) | 2009-05-19 | 2009-05-19 | データ分割システム及びデータ分割方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010271781A JP2010271781A (ja) | 2010-12-02 |
JP5410155B2 true JP5410155B2 (ja) | 2014-02-05 |
Family
ID=43419779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009121148A Expired - Fee Related JP5410155B2 (ja) | 2009-05-19 | 2009-05-19 | データ分割システム及びデータ分割方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5410155B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022890B (zh) * | 2022-06-02 | 2023-06-30 | 西安电子科技大学 | 面向容量覆盖的资源小区覆盖结构生成方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3376874B2 (ja) * | 1997-08-22 | 2003-02-10 | 日本電気株式会社 | データ分割による検索効率化方式 |
JP2001022621A (ja) * | 1999-07-08 | 2001-01-26 | Hitachi Ltd | 多次元データベース管理システム |
JP2002244893A (ja) * | 2002-01-04 | 2002-08-30 | Fujitsu Ltd | データ制御装置 |
JP2004348338A (ja) * | 2003-05-21 | 2004-12-09 | Ntt Data Corp | データ分割処理装置、データ分割処理方法及びデータ分割処理プログラム |
JP4402411B2 (ja) * | 2003-09-22 | 2010-01-20 | 大日本印刷株式会社 | デジタルコンテンツの提供方法および提供装置 |
JP4782490B2 (ja) * | 2005-06-29 | 2011-09-28 | 富士通株式会社 | データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法 |
-
2009
- 2009-05-19 JP JP2009121148A patent/JP5410155B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010271781A (ja) | 2010-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951547B (zh) | 事务请求并行处理方法、装置、设备和介质 | |
CN108549569B (zh) | 一种搜索应用程序内信息的方法及设备 | |
JP6598996B2 (ja) | データ準備のためのシグニチャベースのキャッシュ最適化 | |
CN103765381B (zh) | 对b+树的并行操作 | |
CN102938784A (zh) | 应用于分布式存储***中的数据存储方法和*** | |
CN111339078A (zh) | 数据实时存储方法、数据查询方法、装置、设备、介质 | |
CN111444196A (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
KR102061466B1 (ko) | 메모리 관리를 위한 보존 가비지 콜렉팅 및 정수 태깅 기법 | |
WO2021057482A1 (zh) | 一种区块链中布隆过滤器的生成方法及装置 | |
US20190286629A1 (en) | Method for processing transactions using blockchain network, and transaction management server using the same | |
CN108763572A (zh) | 一种实现Apache Solr读写分离的方法和装置 | |
US10642530B2 (en) | Global occupancy aggregator for global garbage collection scheduling | |
WO2023160083A1 (zh) | 执行交易的方法、区块链、主节点和从节点 | |
JP5410155B2 (ja) | データ分割システム及びデータ分割方法 | |
CN108073356B (zh) | 一种数据存储、查找方法、装置及数据处理*** | |
CN109324867A (zh) | 一种虚拟机暂存方法、恢复方法及装置 | |
CN109976905B (zh) | 内存管理方法、装置和电子设备 | |
WO2024001025A1 (zh) | 一种预执行缓存数据清理方法和区块链节点 | |
JP2008225686A (ja) | 分散型データ処理プラットフォームにおけるデータ配置管理装置と方法、システム及びプログラム | |
CN103793391A (zh) | 远端动态数据的处理与验证方法和*** | |
CN1828596A (zh) | 在数据库内部表示的文件*** | |
CN106648550B (zh) | 用于并发执行任务的方法与设备 | |
CN109947702A (zh) | 索引构建方法及装置、电子设备 | |
CN111435342B (zh) | 海报的更新方法、更新***以及管理*** | |
CN105447183A (zh) | Mpp架构数据库集群序列***及序列管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131016 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20131029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131106 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |