JP2013016112A - チャンク生成装置、チャンク読み取り装置、チャンク生成方法及びプログラム - Google Patents

チャンク生成装置、チャンク読み取り装置、チャンク生成方法及びプログラム Download PDF

Info

Publication number
JP2013016112A
JP2013016112A JP2011150059A JP2011150059A JP2013016112A JP 2013016112 A JP2013016112 A JP 2013016112A JP 2011150059 A JP2011150059 A JP 2011150059A JP 2011150059 A JP2011150059 A JP 2011150059A JP 2013016112 A JP2013016112 A JP 2013016112A
Authority
JP
Japan
Prior art keywords
chunk
information
pool
file
tree structure
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.)
Granted
Application number
JP2011150059A
Other languages
English (en)
Other versions
JP5517263B2 (ja
Inventor
Takayuki Nakamura
隆幸 中村
Yutaka Arakawa
豊 荒川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011150059A priority Critical patent/JP5517263B2/ja
Publication of JP2013016112A publication Critical patent/JP2013016112A/ja
Application granted granted Critical
Publication of JP5517263B2 publication Critical patent/JP5517263B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】本発明は、チャンクの処理の容易性と処理の高速性を両立させることを目的とする。
【解決手段】本発明に係るチャンク生成装置は、複数の情報を列挙したファイルであるチャンクを生成する装置であって、情報を一時プール101に登録する機能と、一時プール101から木構造で近傍の情報群を取り出しSチャンク104を作成する機能と、Sチャンク104の荷札情報を生成してSチャンクプール105に登録する機能と、Sチャンクプール105から木構造で近傍の荷札情報群を取り出しそれらの荷札情報が示すSチャンク104の含む情報を少なくとも含むLチャンク108を作成する機能と、を少なくとも有する。
【選択図】図1

Description

本発明は、センサ情報データベースの情報を加工するサーバ構成法に関する。
従来、センサの計測データのような情報すなわちセンサ情報を扱う情報管理システムとして、uTupleSpace(例えば、非特許文献1参照。)があった。uTupleSpaceの特徴の一つに、センサ情報をuTuple形式という、「キー=値」の並びにより自由に表現できる点がある。また、uTupleSpaceの特徴の一つに、センサ情報を効率的に蓄積し検索転送する手段として、センサデータのチャンクを生成する方法を導入している点がある。
また従来、uTuple形式のように複数の値を持つ情報をまとめて索引づけするデータ構造として、多次元検索木Ubi−tree(例えば、非特許文献2参照。)があった。
「大量スキーマレスデータの蓄積・検索を実現する新しいuTupleSpaceの設計と実装」、柏木 啓一郎ほか著、マルチメディア,分散,協調とモバイル(DICOMO2010)シンポジウム、2010年7月 「ユビキタスデータのためのインデキシング技術UBI−treeの改良」、荒川 豊ほか著、電子情報通信学会 データ工学研究会技術報告、信学技報,vol.110,no.162,DE2010−22,pp.47−52,2010年8月
チャンクを生成する方法として、最も単純なのは、蓄積されたセンサ情報のうち、時系列順に古いものから一定個数ずつを、一次DB(あるいは一時DB)と呼ばれる最初にセンサ情報が蓄積される領域からチャンクとして別ファイルに移し替えていく方法である。
さらにチャンクの効率を改善するためには、検索結果がチャンク単位で取り扱われることを鑑み、一つの検索式で結果としてまとめられることが多いデータ、すなわち、似た値をもつデータがなるべく同じチャンクに集まるようにするのがよい。そのためには、一時DBにある程度の量のセンサ情報を蓄えておき、何らかの手段でその中で似た値をもつデータを抽出して、それらをチャンクとして別ファイルに移し替えていく方法が考えられる。
さらにその際、似た値を持つデータを抽出する方法として、木構造の特徴を用い、木構造で近くに配置されるノードを選択するという方法が考えられる。またこの際、センサ情報を管理する木構造としてUbi−treeを採用するという方法が考えられる。
しかし、上記従来技術から想起されるチャンク生成方式においては、一時DBのサイズを大きく取っておかなければならないという問題があった。すなわち、例えばチャンクの1ファイルに100万個のセンサ情報をまとめるとする。母集団の中から似たデータを抽出して一つのファイルにまとめようとすると、まとめようとする先のファイルに対して母集団は十分な大きさがなければならない。これが仮に1000倍のデータ量の中から選択しようとすると、100万×1000=10億個のセンサ情報を単一の一時DBに蓄積して管理しなければならないということになる。
このような大きなサイズのデータを管理することは、メモリならびに二次記憶装置への負荷が多大なものとなり、かつ、そのような膨大なデータの中から似たデータを抽出するという処理の負荷が多大なものとなるという問題があった。
また従来、非特許文献1で開示されているように、「チャンクはデータ行を並べたテキストファイル形式で保管され」ていた。このようにチャンクがセンサ情報が行ごとに列挙されるテキストファイル形式である場合、アプリケーションプログラムがチャンクのファイルを読み取る処理を容易に作成でき、また、チャンクのファイルの中身は人間にとっても可読であり取り扱いが容易であるという利点があった。その一方で、チャンクのファイルの中から真に必要とするデータ行のみを検索結果として得るためには、チャンクのファイル全体を読み込み全ての行について一致判定処理を行わなければならず、処理負荷が高くなるという問題があった。
あるいは、チャンクのファイル形式として、テキストによるセンサ情報の記述に加え、検索を高速化するための木構造等の索引情報を別途作成し、同一ファイルあるいは別ファイルとして保管するという方法が考えられる。この方法によれば、チャンクのファイルの中から真に必要とするデータ行のみを検索結果として得るために、チャンクのファイルの一部を読み込むだけでよく、全ての行について一致判定処理を行う必要がないという利点がある。その一方で、アプリケーションプログラムがチャンクのファイルを読み取る処理の作成が容易ではなく、また、当該ファイルの中身は人間にとって不可読であり取り扱いが困難であるという問題があった。
すなわち、チャンクの処理の容易性と処理の高速性が両立できないという問題があった。
本願発明に係るチャンク生成装置は、複数の情報を列挙したファイルであるチャンクを生成する装置であって、前記装置は一時プールと第1チャンクとチャンクプールを保持し、前記一時プールは情報を木構造で管理し、前記第1チャンクは前記装置が生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙したファイルであり、前記チャンクプールは個々の前記第1チャンクのデータ範囲と前記第1チャンクの識別情報を示す荷札情報を木構造で管理し、情報を前記一時プールに登録する機能と、前記一時プールから木構造で近傍の情報群を取り出し前記第1チャンクを作成する機能と、前記第1チャンクの荷札情報を生成して前記チャンクプールに登録する機能と、前記チャンクプールから木構造で近傍の荷札情報群を取り出しそれらの荷札情報が示す前記第1チャンクの含む情報を少なくとも含む第2チャンクを作成する機能と、を少なくとも有する。
前記第2チャンクを作成する機能は、k個の前記第1チャンクの含む情報から前記第2チャンクを作成する際に、前記第2チャンクは前記k個の第1チャンク内容のファイル内位置を検索するための索引情報と前記k個の第1チャンク内容の並びをその構成要素として少なくとも含んでもよい。
前記一時プール及び前記チャンクプールは、前記木構造としてUBI−Tree検索木アルゴリズムを用い、前記第1チャンクの前記荷札情報が示す前記第1チャンクのデータ範囲は複数のキーに対する値の集合として表現し、前記第2チャンクの前記索引情報は複数のキーに対する値の集合から前記第1チャンク内容のファイル内位置を検索するための索引情報であってもよい。
本願発明に係るチャンク読み取り装置は、チャンクを読み取る装置であって、チャンク生成装置で作成されたチャンクを入力とし、索引情報を読み取る機能と、検索条件に合致する索引情報を選択する機能と、ファイル読み取り位置を索引情報が示すファイル内位置に移動する機能と、前記移動したファイル内位置から前記第1チャンク内容を読み取る機能と、を少なくとも有する。
本願発明に係るチャンク生成方法は、複数の情報を列挙したファイルであるチャンクを生成する方法であって、情報を一時プールに登録し、登録した情報を木構造で管理する手順と、前記一時プールから木構造で近傍の情報群を取り出し、生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙した第1チャンクを作成し、前記第1チャンクの荷札情報を生成してチャンクプールに登録するとともに、前記チャンクプールから木構造で近傍の荷札情報群を取り出しそれらの荷札情報が示す前記第1チャンクの含む情報を少なくとも含む第2チャンクを作成する手順と、を順に有する。
本願発明に係るチャンク生成方法は、k個の前記第1チャンクの含む情報から前記第2チャンクを作成する際に、前記第2チャンクは前記k個の第1チャンク内容のファイル内位置を検索するための索引情報と前記k個の第1チャンク内容の並びをその構成要素として少なくとも含んでもよい。
前記一時プール及び前記チャンクプールは、前記木構造としてUBI−Tree検索木アルゴリズムを用い、前記第1チャンクの前記荷札情報が示す前記第1チャンクのデータ範囲は複数のキーに対する値の集合として表現し、前記第2チャンクの前記索引情報は複数のキーに対する値の集合から前記第1チャンク内容のファイル内位置を検索するための索引情報であってもよい。
本願発明に係るチャンク生成プログラムは、本願発明に係るチャンク生成方法の各手順をコンピュータに実行させるためのプログラムである。
以上述べたように、本発明によれば、チャンクの生成を効率的に行うことができ、生成したチャンクは容易かつ高速に読み取り処理ができるようなチャンク生成装置、チャンク読み取り装置、チャンク生成方法及びチャンク生成プログラムを実現することができる。
本実施の形態における装置構成を示す。 一時プール(101)が保持するデータ構造を示す。 一時プール(101)が保持するそれぞれのセンサ情報(102)の内容を示す。 新たに一時プール(101)への登録処理をしようとするセンサ情報(102)の内容を示す。 登録処理を行った後の一時プール(101)が保持するデータ構造を示す。 一時プール(101)から近傍のセンサ情報群を取り出す動作を示す。 作成されたS7というファイル名のSチャンク(104)のファイルの内容を示す。 Sチャンクプール(105)が保持するデータ構造を示す。 Sチャンクプール(105)が保持する荷札情報(106)のうちS1とS2に対応するSチャンク(104)のファイルの内容を示す。 一時プール(101)からの近傍のセンサ情報群の取り出しとSチャンク(104)の生成に伴ってSチャンクプール(105)への登録処理をしようとする新たな荷札情報(301)の内容を示す。 登録処理を行った後のSチャンクプール(105)が保持するデータ構造を示す。 Sチャンクプール(105)から近傍の荷札情報群を取り出す動作を示す。 作成されたL03というファイル名のLチャンク(108)のファイルの内容を示す。
本発明の実施の形態の一つを以下に示す。
第1図は本実施の形態における装置構成を示す。
チャンク生成装置(100)は、ネットワーク(109)に接続され、一時プール登録部(110)とSチャンク作成部(111)とSチャンクプール登録部(112)とLチャンク作成部(113)を具備する。Sチャンクが第1チャンク、Lチャンクが第2チャンクに相当する。
さらに、チャンク生成装置(100)は、データ保持を行う一時プール(101)およびSチャンクプール(105)を具備する。一時プール(101)は2分木データ構造によりセンサ情報(102)を保持し、Sチャンクプール(105)は2分木データ構造により荷札情報(106)を保持する。Sチャンクプール(105)がチャンクプールに相当する。
さらに、チャンク生成装置(100)は、Sチャンクを保持するSチャンク記憶装置(103)およびLチャンクを保持するLチャンク記憶装置(107)を具備する。
第2図は一時プール(101)が保持するデータ構造を示す。
本図の例では6つのセンサ情報を保持している。例えば「35:(ア)」という記載は、木の当該ノードが第3図で示す(ア)の情報本体を保持するとともに、該情報本体が含む「35」という特定の値を主キーとして木構造により管理されることを表す。
2分木構造の既知の特性から、これらのセンサ情報は整列されて格納されている。すなわち、上下軸を無視して左右軸のみに着目した場合、本図の例では主キーが左から順に0→35→333→599→2017→3776と整列されている。このような2分木データ構造の管理(挿入・検索・削除)方式は広く知られている。
なお、本例のように近いデータが近傍に並ぶように整列されて格納されるのは、2分木だけに見られる特徴ではなく、木構造に広く一般的に観測される特徴である。なぜなら、そもそも木構造は検索を高速に行う必要があるために順序づけてデータの索引付けを行うという根本的な理由があるため、格納されているデータが順序づけられ近傍に近いデータが並べられることは、原理上の根本的要請である。
第3図は一時プール(101)が保持するそれぞれのセンサ情報(102)の内容を示す。
本実施形態におけるセンサ情報とは、個々の情報のデータサイズが比較的小さく、かつ、その内部に複数の値を含むような情報である。そのような特徴を持つセンサ情報に対して本発明は効果的に機能する。特に、本実施の形態においては、それぞれのセンサ情報は「キー=値」の任意個の並びから構成されるuTupleデータ形式によって記述することとする。
なお、本発明のいう情報とは、上記特徴を満たす様々な情報がその対象となるものであって、センサ情報(102)に限られない。具体的に一例を挙げると、温度や湿度、電流あるいは電圧値、流体の流量、物質の濃度、明度、騒音、位置、加速度などを含むセンサデバイスが計測した値を取り扱ってよく、またそれに限らず、センサ以外の例えばWebやインターネットを経由して取得した情報であってもよい。さらに、それら値に加えて、センサの特性や状態、計測日時等を示すメタデータを含む情報であってもよい。
本図の例ではA、D、Tという3つのキーに対してそれぞれ数の値を持っており、Aは高度(altitude)、Dは日付(date)、Tは温度(temperature)を表している。例えば(ア)のセンサ情報は、高度35m、日付が2011年6月11日、温度が摂氏23.5度であることを表し、東京23区の最も高い山で測定した気温のデータであることを示している。同様に(ウ)のセンサ情報は東京都の最も高い山(標高2017m)で測定した気温のデータを、(エ)のセンサ情報は日本の最も高い山(標高3776m)で測定した気温のデータを示している。そして、本実施例においては、キー「A」(高度)に対して2分木データ構造を適用することで一時プール(101)を管理する。なお、本発明の適用範囲はuTupleデータ形式によって記述されるセンサ情報に限るものではなく、上述した特徴を持つセンサ情報一般に適用可能である。
第4図は新たに一時プール(101)への登録処理をしようとするセンサ情報(102)の内容を示す。
本実施の形態では、本図に示される(キ)というセンサ情報が、ネットワーク(109)を通じて新たに一時プール登録部(101)に到着し、該情報の登録処理を行う様子を以下に詳述する。
一時プール登録部(110)は、該情報を受信し、一時プール(101)に対して該情報を挿入することによって、センサ情報(102)の一時プール(101)への登録処理を行う。該情報のうち主キーはA(高度)であるから値は45である。これを2分木構造に挿入する方法はよく知られており、その結果は次の第5図のようになる。
第5図は登録処理を行った後の一時プール(101)が保持するデータ構造を示す。
ここで、チャンク生成装置(100)は、一時プールからSチャンクの作成を行う以下の一連の動作を起動する。なお、起動の契機は、前述の一時プール登録部(110)によるセンサ情報(102)の一時プール(101)への登録処理の完了であってもよく、あるいは、該登録処理の完了とは非同期的に、タイマー等の手段によって該動作を起動してもよい。
まず、起動されたSチャンク作成部(111)は、一時プール(101)から近傍のセンサ情報群を取り出す。ここで近傍とは、データの値が相互に近いことであり、かつ前述した木構造一般に見られる特性に関する考察に基づくと、木構造上で隣り合って配置されているデータであるとも言える。具体的に例示すると以下のような処理である。
第6図は一時プール(101)から近傍のセンサ情報群を取り出す動作を示す。
Sチャンク作成部(111)が特定のノードを注目点(261)として選択し、その近傍にあるデータを選択してそれを取り出し範囲(262)と定める。ここでは木構造のデータ数7個に対して、取り出し範囲の含むデータ数を3個とという定数にて動作するものとし、注目点(261)として(ア)を選択し、注目点のデータ(ア)およびその部分木を構成するデータ(オ)(キ)を取り出し範囲としている。
なお注目点(261)の選択方法は、この例では、日付が最も古いデータを選択している。他にも、最も日付が新しいデータを選択するとか、日付以外の他のキーに対する値(例えば第3図の例ではD以外のキーすなわちAあるいはT)が最も大きいあるいは小さいデータを選択するとか、最も頻繁に検索によって取り出されているデータを選択するとか、複数あるいは全ての注目点を選択してみて取り出し範囲の含むデータ全体の値の幅が最も小さくなる候補を選択するといった方法が可能である。
Sチャンク作成部(111)は、上記により定めた取り出し範囲(262)のセンサ情報(102)を一時プール(101)から読み出し、新しいファイルにその内容を書き込む。該ファイルがSチャンク(104)に相当する。該ファイルはSチャンク記憶装置(103)に格納され、既存のSチャンク(104)と重複しないファイル名を割り付ける。この例では通し番号を付与し、「S7」というファイル名で該ファイルを作成している。さらに、取り出したセンサ情報(102)は、一時プール(101)から削除する。
第7図は作成されたS7というファイル名のSチャンク(104)のファイルの内容を示す。
取り出し範囲(262)が含むセンサ情報(オ)(ア)(キ)のuTupleデータ形式
による記述を、主キー(本実施例では「A」)の値順に、テキスト形式で書き出したものとなっている。
次に、上述した新たなSチャンク(104)の作成に伴って、Sチャンクプール登録部(112)は、Sチャンクプール(105)に対して該Sチャンクに対応する荷札情報(106)を新たに登録する処理を行う。この処理内容を示すにあたり、まず、該登録処理以前に保持されているデータの様子を示した後、登録処理の手順について具体的に説明することとする。
第8図はSチャンクプール(105)が保持するデータ構造を示す。
本図の例では6つの荷札情報を保持している。例えば「50〜85:S1」という記載が荷札情報の一例であり、木の当該ノードが第9図で示すS1というファイル名の情報本体に対応する荷札情報であることを表す。このように荷札情報には情報本体を含んでおらず、対応する情報本体へのポインタ(ここではファイル名「S1」)と、検索に用いる主キーの値(ここでは「50〜85」)という情報のみが含まれている。
なおこのような範囲情報を主キーとして木構造に格納するにあたっては、Sチャンクプール(105)が用いる木構造が値範囲あるいは複数の値を索引として直接操作可能なデータ構造であれば、上記例であれば50および85という2つの数値を用いて木構造に格納してもよい。あるいは、本実施の形態においては2分木を用いており、単一の値のみを索引として直接操作可能であるため、始値「50」のみを用いて木構造を構成することとする。すなわち、第8図の6つのノードは、始値に着目すると左から順に45→50→65→85→333→599と整列されている。いずれの木構造を用いた場合でも、本例のように近いデータが近傍に並ぶように整列されて格納されることになるのは、既に考察した通りである。
第9図はSチャンクプール(105)が保持する荷札情報(106)のうちS1とS2に対応するSチャンク(104)のファイルの内容を示す。
例えばS1というファイル名のSチャンク(104)に関しては、キー「A」の値のファイル内での最小値が50、最大値が85である。そこで、このSチャンクに対応する荷札情報(106)は、上記の値範囲「50〜85」と、該ファイル名「S1」を値として有する。同様にS2というファイル名のSチャンク(104)に関しては、対応する荷札情報(106)は値範囲「45〜65」とファイル名「S2」を値として有する。
以上でSチャンクプール登録部(112)による荷札情報(106)の該登録処理の以前に保持されているデータの様子を示したので、以下では該当録処理の手順について述べる。
第10図は一時プール(101)からの近傍のセンサ情報群の取り出しとSチャンク(104)の生成に伴ってSチャンクプール(105)への登録処理をしようとする新たな荷札情報(301)の内容を示す。
前記手順で作成されたS7というファイル名のSチャンク(104)では、第7図で示したように、キー「A」の値の最小値が0で最大値が45である。そこで、Sチャンクプール登録部(112)は、値範囲「0〜45」およびファイル名「S7」を値として有するS07の荷札情報(301)を該Sチャンクに対応して生成する。
次にSチャンクプール登録部(112)は、該生成したS7の荷札情報(301)をSチャンクプール(105)に対して挿入することによって、荷札情報(106)のSチャンクプール(105)への登録処理を行う。本実施の形態では該荷札情報のうち始値「0」を主キーとして2分木構造に挿入する。該挿入方法はよく知られており、その結果は次の第11図のようになる。
第11図は登録処理を行った後のSチャンクプール(105)が保持するデータ構造を示す。
ここで、チャンク生成装置(100)は、SチャンクプールからLチャンクの作成を行う以下の一連の動作を起動する。なお、起動の契機は、前述のSチャンクプール登録部(112)による荷札情報(106)のSチャンクプール(105)への登録処理の完了であってもよく、あるいは、該登録処理の完了とは非同期的に、タイマー等の手段によって該動作を起動してもよい。
まず、起動されたLチャンク作成部(113)は、Sチャンクプール(105)から近傍の荷札情報群を取り出す。ここで近傍とは、データの値が相互に近いことであり、かつ前述した木構造一般に見られる特性に関する考察に基づくと、木構造上で隣り合って配置されているデータであるとも言える。具体的に例示すると以下のような処理である。
第12図はSチャンクプール(105)から近傍の荷札情報群を取り出す動作を示す。
Lチャンク作成部(113)が特定のノードを注目点(321)として選択し、その近傍にあるデータを選択してそれを取り出し範囲(322)と定める。ここでは木構造のデータ数7個に対して、取り出し範囲の含むデータ数を3個という定数にて動作するものとし、注目点(321)およびその部分木を構成するデータを取り出し範囲としている。
なお注目点(321)の選択方法は、この例では、Sチャンクの生成日付が最も古い、すなわち、Sチャンクのファイル名が最も若い通し番号をもつデータを選択している。他にも、最も生成日付が新しいデータを選択するとか、Sチャンクに格納される個々の行すなわち個々のセンサ情報の任意のキーに対する値が最も大きいあるいは小さいデータを選択するとか、最も頻繁に検索によって取り出されているデータを選択するとか、複数あるいは全ての注目点を選択してみて取り出し範囲の含むデータ全体の値の幅が最も小さくなる候補を選択するといった方法が可能である。
Lチャンク作成部(113)は、上記により定めた取り出し範囲(322)の荷札情報(106)をSチャンクプール(105)から読み出し、該読み出された荷札情報(106)に対応するSチャンク(104)のファイルをSチャンク記憶装置(103)から読み出し、新しいファイルにその内容を第13図で示すファイル形式で書き込む。該ファイルがLチャンク(108)に相当する。該ファイルはLチャンク記憶装置(107)に格納され、既存のLチャンク(108)と重複しないファイル名が割り付けられる。この例では通し番号を付与し、「L03」というファイル名で該ファイルを作成している。さらに、取り出した荷札情報(106)は、Sチャンクプール(105)から削除する。
なお、チャンク生成装置(100)は、Lチャンク記憶装置(107)内に格納されているLチャンク(108)のファイルを、NFSあるいはCIFSあるいはFTPあるいはHTTPあるいはWebDAVあるいはGoogleFSあるいはHadoop DFSのようなファイル共有手段を用いて、ネットワーク(109)を介して他の計算機に公開してもよい。
第13図は作成されたL03というファイル名のLチャンク(108)のファイルの内容を示す。
該ファイルは4つのブロックから構成され、第2〜第4ブロックは、上記手順において読み出したSチャンク(104)のファイル内容をそのまま写し書きしたものである。本例では、取り出し範囲(322)はS7、S2、S1の3つのSチャンクに対応する荷札情報を示しているので、これらのSチャンクのファイル内容を順に写し書きし、区切り符号「[EOB]」を末尾に付加する。これらのブロックは、センサ情報の情報本体が格納されている。
さらに、該ファイルの先頭ブロックは、後続ブロックの荷札情報を、後続ブロックの個数の行数だけ並べ、最後に区切り符号を付加したものである。ここで荷札情報とは、情報本体を含んでおらず、対応する情報本体へのポインタと、検索に用いる主キーの値という情報のみが含まれているものを意味する。例えば1行目の例では、情報本体へのポインタとして1つ目のSチャンク本体が格納されているブロック(すなわち第2ブロック)がファイル先頭から何バイト目から始まるかというオフセット情報の16進数表記と、キー「A」に対して値範囲が「0〜45」であるという情報が格納されている。
このように、Lチャンク(108)の先頭ブロックに荷札情報が記載されていることにより、Lチャンク(108)のファイルの読み取りおよび内部で必要なセンサ情報を探し出す処理が、次のように効率的に実現できる。以下、本発明に係るチャンク読み取り装置の動作について説明する。
ネットワーク(109)に接続されたチャンク読み取り装置は、チャンク生成装置(100)内に生成されたLチャンクのファイルを、上記のファイル共有手段を用いて転送する。
次に、以下の手順によって該ファイルの内容を読み取り、探索を行う。
説明のため、例えば該チャンク読み取り装置はLチャンクのファイル「L03」を転送してきており、その中から、高度が10m〜40mの範囲で計測された気温を調査したいとする。
まず、該装置は該ファイルのうち、先頭ブロックのみをメモリ上に読み出す。
次に該装置は、先頭ブロックのそれぞれの行に記載される荷札情報について、主キーの値の範囲と上記調査範囲との重なり集合が空集合でない行を抽出する。この例では、「A=0〜45」という範囲の情報と「10〜40」という調査範囲とは、重なり集合が10〜40という空でない範囲を持つので、この行が抽出される。その他の行は、重なりが空集合になるので、抽出されない。
次いで、該装置は、抽出された行の荷札情報に記載されるポインタに従って、情報本体の位置を特定する。
この例では、1行目の「_offset=」という部分に続く16進数数値が、対応する情報本体が格納されている第2ブロックに対する当該ファイル内での先頭からのオフセット情報である。
次いで、該装置は、該位置から情報本体をメモリ上に読み出す。すなわちファイルのシークを行い、その位置から、区切り符号が出現するまでファイルを読み出す。
次いで、該装置は、メモリ上の読み出した該情報本体の各行を調べ、上記調査範囲に合致する行を抽出する。
この例では、第2ブロックには3行分のセンサ情報が記載されており、その中で高度が10〜40という調査範囲に合致するのは「A=35,D=201110611,T=23.5」という行のみなので、この行が抽出される。これが探索結果となるので、結論として調査したい気温は「摂氏23.5度」であるという結果を得る。
上記一連の手順において、該Lチャンクには合計9個のセンサ情報が格納されているにもかかわらず、実際にセンサ情報本体をファイルからメモリ上に読み取った行数は、3行であった。また、荷札情報まで含めても、3+3=6行であった。仮に、9つのセンサ情報がフラットに記載されているファイルを読み取って同様の探索を行うとすると、9行分の情報をファイルからメモリ上に読み取る処理が必要になるはずであるから、それに比べて上記処理は効率的な読み取りおよび探索処理が実現できていると言える。
本実施の形態では、各Sチャンクが3個、各Lチャンクが3×3=9個のセンサ情報を含む例で説明したが、これを100×100個あるいは1000×1000個などとした場合、上記の効率差はさらに拡大し、本実施形態における上記処理の優位性がさらに増す。この効率性は、本実施形態におけるLチャンクのファイル形式が、それ単独である種の木構造を形成していることに起因している。すなわちLチャンクは、先頭ブロックが木の1階層目のノード(ルートノード)、第2〜末尾ブロックが木の2階層目のノードとなるような、2階層の木構造を形成している。
本実施の形態の例ではルートノードが3つの後続ブロックを持ち、各後続ブロックは3行分のセンサ情報を含むので、3分木を形成している。このように木構造であるため、木構造の特質を利用した上述のようなチャンク読み取り装置を用いることによって、効率的にLチャンクの中のセンサ情報を探索することができる。
さらにこのLチャンクのファイル形式は、木構造を形成していながら、すべてテキスト形式で記述されており、バイナリ形式による可読困難な情報を含む必要がないという利点がある。具体的には、第2ブロック以降がセンサ情報のuTupleデータ形式による表記をそのまま並べたものであるため、人間にとって可読性が高く、また、センサ情報全体を読み取るプログラムを極めて簡易に作成することができる。
さらに、第1ブロックについても単純な形式であるため、人間にとって可読性が高く、また、荷札情報を読み取るあるいは読み飛ばすプログラムを簡易に作成することができる。このような取り扱い容易性と、木構造による効率性を、両立している点が本実施形態のLチャンクのファイル形式の特徴の一つである。
本実施形態を用いれば、このような効率的な読み取り処理を可能とするLチャンクのファイル形式を、2段階の木構造を用いて効率的に生成することができる。このような本実施形態の方式は、従来手法すなわち1段階の木構造すなわち一時プールのみを用いて、9個のセンサ情報を抽出し、その9個のセンサ情報をさらに並べ替えてLチャンクの上記ファイル構造を生成する方式よりも、該並べ替えの処理が不要となり、効率的にLチャンクを生成できる。
さらに、本実施形態の方式では、該1段階の木構造のみを用いる従来手法に比べて、一時プールのサイズを小さく保つことが可能となる。なぜならば、近傍のセンサ情報を効果的に集めて取り出し範囲とするためには、取り出す個数に対して母集団の個数が十分に大きくなければならない。この比率が例えば0.1%すなわち1000倍の個数が必要だったとして、個々のLチャンクに例えば1000×1000=100万個のセンサ情報を格納するとき、従来手法では1000×1000×1000=10億個のセンサ情報を一時プールが保持しなければならず、処理負荷が高い。
本実施形態によれば、一時プールからは1000個ずつ取り出すので1000×1000=100万個を保持すればよく、またSチャンクプールも同じく1000個ずつ取り出すので1000×1000=100万個を保持すればよいので、大幅に処理負荷を軽減でき、効率的に目的とするLチャンクを生成することができる。
なお、本実施の形態においては、一時プールおよびSチャンクプールという2段階の木構造を用いて最終的な目的とするチャンクのファイル(ここではLチャンク)を生成した。本発明の範囲はこれに限るものではなく、Sチャンクに対して行ったのと同様のやり方をLチャンクに対しても適用して、Lチャンクプールを構成し、Lチャンクを複数個集めた「LLチャンク」を生成するような、3段階の木構造によるチャンク生成も可能である。さらには、同様に4段階あるいは5段階といったことも可能であるが、前述した処理容易性の利点が薄れていくため、2〜3段階程度が適切である。
本実施の形態において、一時プール(101)およびSチャンクプール(105)は2分木データ構造を用いて実現された。本発明の範囲はこれに限るものではなく、これらの片方あるいは両方に対して、AVL木、B木、B+木、R木などを含む任意の木構造が適用可能である。特に、多次元検索木Ubi−treeを適用することができ、その場合は次に述べる顕著な利点を得ることができる。すなわち、Ubi−treeは複数の値ならびに値範囲を一度に索引として処理可能なデータ構造である。
さらに、キーの種類すなわち次元数は数百といった規模で取り扱い可能である。さらに、各データに値を含む次元と含まない次元が共存しても効率的に処理可能である。これらの特徴から、Ubi−treeにはuTupleデータ形式で記述されたセンサ情報を直接格納し、探索処理を行うことができる。このようなUbi−treeを本実施形態の一時プールならびにSチャンクプールに用いると、主キーとして全ての値、すなわちuTupleデータ全体をそのまま木構造に格納することができる。その結果、全ての値を加味した上で最もよく近傍を形成するセンサ情報あるいは荷札情報の集合を取り出し範囲として得ることができる。
さらに、荷札情報には主キーの範囲を記載するのであるから、全ての値を主キーとして取ることができるUbi−treeにおいては、荷札情報に全ての値の範囲を記載することができる。これによって、Lチャンクの先頭ブロックに記載される荷札情報には全ての値の範囲が列挙されるため、上記示した例では高度すなわち「A」の範囲条件のみ効率的に探索可能であったが、Ubi−treeを用いれば全ての種類の範囲条件あるいはそれらの組み合わせに対しても効率的なLチャンク内の探索を可能にできる。なお、この場合、上記で指摘したLチャンクが形成する「ある種の木構造」とは、自然にUbi−tree構造そのものになっている点を特に指摘しておく。
以上述べたように、本実施形態においてUbi−treeを木構造に用いることにより、荷札情報の生成方式ならびにLチャンクのファイル形式との相乗効果により、顕著な効果を得ることができる。
なお、本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
本発明は情報通信産業に適用することができる。
100:チャンク生成装置
101:一時プール
102:センサ情報
103:Sチャンク記憶装置
104:Sチャンク
105:Sチャンクプール
106:荷札情報
107:Lチャンク記憶装置
108:Lチャンク
111:Sチャンク作成部
112:Sチャンクプール登録部
113:Lチャンク作成部
261、321:注目点
262、322:取り出し範囲
301:S7の荷札情報

Claims (8)

  1. 複数の情報を列挙したファイルであるチャンクを生成する装置であって、
    前記装置は一時プールと第1チャンクとチャンクプールを保持し、
    前記一時プールは情報を木構造で管理し、
    前記第1チャンクは前記装置が生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙したファイルであり、
    前記チャンクプールは個々の前記第1チャンクのデータ範囲と前記第1チャンクの識別情報を示す荷札情報を木構造で管理し、
    情報を前記一時プールに登録する機能と、
    前記一時プールから木構造で近傍の情報群を取り出し前記第1チャンクを作成する機能と、
    前記第1チャンクの荷札情報を生成して前記チャンクプールに登録する機能と、
    前記チャンクプールから木構造で近傍の荷札情報群を取り出しそれらの荷札情報が示す前記第1チャンクの含む情報を少なくとも含む第2チャンクを作成する機能と、
    を少なくとも有することを特徴とするチャンク生成装置。
  2. 請求項1に記載のチャンク生成装置であって、
    前記第2チャンクを作成する機能は、
    k個の前記第1チャンクの含む情報から前記第2チャンクを作成する際に、
    前記第2チャンクは前記k個の第1チャンク内容のファイル内位置を検索するための索引情報と前記k個の第1チャンク内容の並びをその構成要素として少なくとも含む
    ことを特徴とするチャンク生成装置。
  3. 請求項1ないし2に記載のチャンク生成装置であって、
    前記一時プール及び前記チャンクプールは、前記木構造としてUBI−Tree検索木アルゴリズムを用い、
    前記第1チャンクの前記荷札情報が示す前記第1チャンクのデータ範囲は複数のキーに対する値の集合として表現し、
    前記第2チャンクの前記索引情報は複数のキーに対する値の集合から前記第1チャンク内容のファイル内位置を検索するための索引情報である
    ことを特徴とするチャンク生成装置。
  4. チャンクを読み取る装置であって、
    請求項2ないし3に記載のチャンク生成装置で作成されたチャンクを入力とし、索引情報を読み取る機能と、
    検索条件に合致する索引情報を選択する機能と、
    ファイル読み取り位置を索引情報が示すファイル内位置に移動する機能と、
    前記移動したファイル内位置から前記第1チャンク内容を読み取る機能と、
    を少なくとも有することを特徴とするチャンク読み取り装置。
  5. 複数の情報を列挙したファイルであるチャンクを生成する方法であって、
    情報を一時プールに登録し、登録した情報を木構造で管理する手順と、
    前記一時プールから木構造で近傍の情報群を取り出し、生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙した第1チャンクを作成し、前記第1チャンクの荷札情報を生成してチャンクプールに登録するとともに、前記チャンクプールから木構造で近傍の荷札情報群を取り出しそれらの荷札情報が示す前記第1チャンクの含む情報を少なくとも含む第2チャンクを作成する手順と、
    を順に有するチャンク生成方法。
  6. 請求項5に記載のチャンク生成方法であって、
    k個の前記第1チャンクの含む情報から前記第2チャンクを作成する際に、
    前記第2チャンクは前記k個の第1チャンク内容のファイル内位置を検索するための索引情報と前記k個の第1チャンク内容の並びをその構成要素として少なくとも含む
    ことを特徴とするチャンク生成方法。
  7. 請求項5ないし6に記載のチャンク生成方法であって、
    前記一時プール及び前記チャンクプールは、前記木構造としてUBI−Tree検索木アルゴリズムを用い、
    前記第1チャンクの前記荷札情報が示す前記第1チャンクのデータ範囲は複数のキーに対する値の集合として表現し、
    前記第2チャンクの前記索引情報は複数のキーに対する値の集合から前記第1チャンク内容のファイル内位置を検索するための索引情報である
    ことを特徴とするチャンク生成方法。
  8. 請求項5ないし7のいずれかに記載の各手順をコンピュータに実行させるためのチャンク生成プログラム。
JP2011150059A 2011-07-06 2011-07-06 チャンク生成装置、チャンク読み取り装置、チャンク生成方法及びプログラム Active JP5517263B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011150059A JP5517263B2 (ja) 2011-07-06 2011-07-06 チャンク生成装置、チャンク読み取り装置、チャンク生成方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011150059A JP5517263B2 (ja) 2011-07-06 2011-07-06 チャンク生成装置、チャンク読み取り装置、チャンク生成方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013016112A true JP2013016112A (ja) 2013-01-24
JP5517263B2 JP5517263B2 (ja) 2014-06-11

Family

ID=47688728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011150059A Active JP5517263B2 (ja) 2011-07-06 2011-07-06 チャンク生成装置、チャンク読み取り装置、チャンク生成方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5517263B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014170410A (ja) * 2013-03-04 2014-09-18 Nippon Telegr & Teleph Corp <Ntt> 情報可視化装置、方法及びプログラム
JP2015043191A (ja) * 2013-08-26 2015-03-05 日本電信電話株式会社 アクセス制御方法、データ蓄積方法、アクセス制御システム、データ蓄積装置及びプログラム
JP2015043190A (ja) * 2013-08-26 2015-03-05 日本電信電話株式会社 情報記録方法、及び情報記録装置、及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184168B2 (en) * 2016-02-19 2021-11-23 Nec Corporation Method for storing data on a storage entity

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02212972A (ja) * 1988-12-19 1990-08-24 Hewlett Packard Co <Hp> データベース操作方法
JPH11232283A (ja) * 1998-02-10 1999-08-27 Hitachi Ltd 情報検索方法
JP2000348038A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 半構造データベースのためのデータ格納装置および方法
JP2007011548A (ja) * 2005-06-29 2007-01-18 Fujitsu Ltd データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
JP2011008525A (ja) * 2009-06-25 2011-01-13 Toshiba Corp 情報処理装置及び映像処理方法
JP2011044083A (ja) * 2009-08-24 2011-03-03 Nippon Telegr & Teleph Corp <Ntt> 情報蓄積検索方法、情報蓄積検索装置、およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02212972A (ja) * 1988-12-19 1990-08-24 Hewlett Packard Co <Hp> データベース操作方法
JPH11232283A (ja) * 1998-02-10 1999-08-27 Hitachi Ltd 情報検索方法
JP2000348038A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 半構造データベースのためのデータ格納装置および方法
JP2007011548A (ja) * 2005-06-29 2007-01-18 Fujitsu Ltd データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
JP2011008525A (ja) * 2009-06-25 2011-01-13 Toshiba Corp 情報処理装置及び映像処理方法
JP2011044083A (ja) * 2009-08-24 2011-03-03 Nippon Telegr & Teleph Corp <Ntt> 情報蓄積検索方法、情報蓄積検索装置、およびプログラム

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CSNG201000638011; 柏木 啓一郎 他: '大量スキーマレスデータの蓄積・検索を実現する新しいuTupleSpaceの設計と実装' マルチメディア,分散,協調とモバイル(DICOMO2010)シンポジウム論文集 Vol.2010,No.1, 20100707, pp.76-82., 社団法人情報処理学会 *
CSNG201000750007; 荒川 豊 他: 'ユビキタスデータのためのインデキシング技術UBI-treeの改良' 電子情報通信学会技術研究報告 Vol.110 No.162(DE2010-22), 20100728, pp.47-52., 社団法人電子情報通信学会 *
CSNJ201010047297; 荒川 豊 他: 'UBI-tree:ユビキタスデータのためのインデキシング技術' 情報処理学会 第72回(平成22年)全国大会講演論文集 Vol.1,No.5C-1, 20100308, pp.1-615〜1-616., 社団法人情報処理学会 *
CSNJ201110053441; 中村 隆幸 他: 'ユビキタスデータ共有機構uTupleSpaceにおける新しいチャンク形式と高速探索' 電子情報通信学会2011年通信ソサイエティ大会講演論文集 Vol.2,No.B-19-23, 20110830, p.441., 社団法人電子情報通信学会 *
JPN6013063866; 荒川 豊 他: 'UBI-tree:ユビキタスデータのためのインデキシング技術' 情報処理学会 第72回(平成22年)全国大会講演論文集 Vol.1,No.5C-1, 20100308, pp.1-615〜1-616., 社団法人情報処理学会 *
JPN6013063867; 柏木 啓一郎 他: '大量スキーマレスデータの蓄積・検索を実現する新しいuTupleSpaceの設計と実装' マルチメディア,分散,協調とモバイル(DICOMO2010)シンポジウム論文集 Vol.2010,No.1, 20100707, pp.76-82., 社団法人情報処理学会 *
JPN6013063869; 荒川 豊 他: 'ユビキタスデータのためのインデキシング技術UBI-treeの改良' 電子情報通信学会技術研究報告 Vol.110 No.162(DE2010-22), 20100728, pp.47-52., 社団法人電子情報通信学会 *
JPN6013063870; 中村 隆幸 他: 'ユビキタスデータ共有機構uTupleSpaceにおける新しいチャンク形式と高速探索' 電子情報通信学会2011年通信ソサイエティ大会講演論文集 Vol.2,No.B-19-23, 20110830, p.441., 社団法人電子情報通信学会 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014170410A (ja) * 2013-03-04 2014-09-18 Nippon Telegr & Teleph Corp <Ntt> 情報可視化装置、方法及びプログラム
JP2015043191A (ja) * 2013-08-26 2015-03-05 日本電信電話株式会社 アクセス制御方法、データ蓄積方法、アクセス制御システム、データ蓄積装置及びプログラム
JP2015043190A (ja) * 2013-08-26 2015-03-05 日本電信電話株式会社 情報記録方法、及び情報記録装置、及びプログラム

Also Published As

Publication number Publication date
JP5517263B2 (ja) 2014-06-11

Similar Documents

Publication Publication Date Title
US20200334295A1 (en) Merge tree garbage metrics
TWI682274B (zh) 鍵值儲存樹
US20200334294A1 (en) Merge tree modifications for maintenance operations
TWI719281B (zh) 用於串流選擇之系統、機器可讀媒體、及機器實施之方法
US10642515B2 (en) Data storage method, electronic device, and computer non-volatile storage medium
US10783186B2 (en) Heterogenous key-value sets in tree database
CN103678491A (zh) 一种基于Hadoop中小文件优化和倒排索引的方法
CN103914483B (zh) 文件存储方法、装置及文件读取方法、装置
CN107357843B (zh) 基于数据流结构的海量网络数据查找方法
JP5517263B2 (ja) チャンク生成装置、チャンク読み取り装置、チャンク生成方法及びプログラム
CN104915148A (zh) 用于串流存储装置中的高效内容高速缓冲存储的系统和方法
JP4491480B2 (ja) インデクス構築方法、文書検索装置及びインデクス構築プログラム
KR101218087B1 (ko) 하둡 맵리듀스에서 바이너리 형태의 데이터 분석을 위한 입력포맷 추출방법 및 이를 이용한 바이너리 데이터의 분석방법
CN111045994A (zh) 一种基于kv数据库的文件分类检索方法及系统
JP2015176407A (ja) 検索装置、検索方法、検索用プログラムおよび検索用データ構造
CN105930534B (zh) 一种基于云存储服务价格的数据碎片减少方法
JP5871698B2 (ja) 情報蓄積検索装置
CN109408462A (zh) 一种基于教育系统的文件存储管理方法及电子设备
WO2014061305A1 (ja) エントリ挿入装置、方法、及びプログラム
KR100908301B1 (ko) 리스트 기반 최대빈번 서브트리 추출 방법 및 장치
CN111566627A (zh) 信息蓄积装置、数据处理系统及程序
JP5687219B2 (ja) データ検索システム、データ検索方法及びデータ検索プログラム
JP2022522214A (ja) 移動中のデータの処理技術
CN115238131A (zh) 基于映射表与链表相结合的信令超时会话检索方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140327

R150 Certificate of patent or registration of utility model

Ref document number: 5517263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150