JP2013008295A - 情報記録装置、情報記録方法およびプログラム - Google Patents

情報記録装置、情報記録方法およびプログラム Download PDF

Info

Publication number
JP2013008295A
JP2013008295A JP2011141865A JP2011141865A JP2013008295A JP 2013008295 A JP2013008295 A JP 2013008295A JP 2011141865 A JP2011141865 A JP 2011141865A JP 2011141865 A JP2011141865 A JP 2011141865A JP 2013008295 A JP2013008295 A JP 2013008295A
Authority
JP
Japan
Prior art keywords
information
index
data
chunk
search
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
JP2011141865A
Other languages
English (en)
Other versions
JP5563529B2 (ja
Inventor
Yutaka Arakawa
豊 荒川
Takayuki Nakamura
隆幸 中村
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 JP2011141865A priority Critical patent/JP5563529B2/ja
Publication of JP2013008295A publication Critical patent/JP2013008295A/ja
Application granted granted Critical
Publication of JP5563529B2 publication Critical patent/JP5563529B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】本発明は、チャンクを検索や検索結果の返送の単位とするセンサ情報記録システムにおいて、チャンクの生成処理と1次データベース内のデータに対する検索を効率的に行える情報記録装置、情報記録方法およびプログラムを提供することを目的とする。
【解決手段】本発明に係る情報記録装置、情報記録方法およびプログラムは、属性名と属性値とを含む情報を1次データベースに一旦保持し、保持した情報について木構造をもつ索引を作成し、該索引における木構造の各部分木に含まれる情報を1つのチャンクとし、該情報を含むファイルを作成することとした。
【選択図】図1

Description

本発明は、情報記録装置、情報記録方法およびこれを実現するプログラムに関する。
センサなどのデータを記録し、記録したデータを検索可能とする、センサデータ向けの情報記録システムとして、uTupleSpaceなど、幾つかのセンサ情報記録システムがある(例えば、非特許文献1、非特許文献2及び非特許文献3を参照。)。
これら従来の代表的なセンサ情報記録システムは、センサからの1つ1つのデータをネットワーク経由で受け取り、該システム内にデータを蓄積する。また、該システムはアプリケーションからの検索要求をネットワーク経由で受信すると、蓄積したデータの中から検索条件に合致するものを検索し、ネットワーク経由で検索結果として返送する。
センサデータの一般的な特徴として、一つ一つのデータ量が小さく、また多種多様であり、データベースの構造(スキーマ、Schema)を一意に定められないことが挙げられる。また、センサデータを活用する際の特徴として、データマイニング技術などを用いて、大量のデータを一括して処理する機会が多いことが挙げられる。
そのため、前記uTupleSpaceにおいては、センサデータなど、個々のデータ量が小さくデータ数の多いデータの検索結果を回答する際の処理を効率化するため、小さなデータを1つずつ扱うのではなく、複数のデータを一定量ずつひとまとめにし、まとめたかたまりをチャンク(chunk)と呼び、該チャンクの単位で検索や検索結果の返送を行う。このため、前記uTupleSpaceではデータを1次データベース(DB)に一旦蓄積し、1次データベースに蓄積されたデータを一定量ひとまとめに取り出し、チャンクとして別ファイルに移し替えることで、チャンクの生成を行う。また当該別ファイルをチャンクファイルと呼ぶ。
一方、データベース技術の分野においては、多量のデータから目的のデータを高速に検索するために、ハッシュ関数を用いるもの、木構造などのデータ構造を利用するものなど、様々なインデキシング技術が考案されている。木構造を用いるものとしては、リレーショナルデータベース(RDB)やファイルシステムなどに広く用いられているB木やその改良型であるB+木やB*木、さらには、センサデータのように多種多様なデータを扱うことを得意とするUBI木などがある(例えば、UBI−tree、非特許文献4、非特許文献5を参照。)。
荒川 豊、他4名、「実世界データ共有機構uTupleSpaceにおける動的スケール化方式の評価」、電子情報通信学会 IN研究会報告、2009年6月 中村 隆幸(Takayuki Nakamura)、他5名、「uTupleSpace:A Bi−Directional Shared Data Space for Wide−Area Sensor Network」、2nd International Workshop on Sensor Networks and Ambient Intelligence(SENAMI 2009)、2009年12月 中村 隆幸、他3名、「かたまり生成処理により効率化したセンサ情報蓄積システムの提案」、電子情報通信学会 総合大会、2010年3月 荒川 豊、他3名、「UBI−tree:ユビキタスデータのためのインデキシング技術」、情報処理学会 全国大会、2010年3月 荒川 豊、他3名、「ユビキタスデータのためのインデキシング技術UBI−treeの改良」、電子情報通信学会 DE研究会報告、2010年8月
前記uTupleSpaceのように、チャンクを検索や検索結果の返送の単位とするセンサ情報記録システムにおいては、1つの検索要求に対して返送すべきチャンク数が少ない方が検索を高速に処理できる。つまり、検索条件に合致するデータが多数のチャンクにばらばらに存在するのではなく、同じチャンク内にまとまって存在する方が検索効率が良い。
検索条件に依存するが、検索においては、多くの場合、似たデータ、すなわち、同じ属性名をもつデータや近い属性値をもつデータは、同じ検索条件に合致しやすいため、1次データベースからチャンクとするデータ集合を取り出す際には、似たデータを取り出して1つのチャンクとすることが望まれる。また当該チャンク生成処理の処理効率が悪いのでは本末転倒であるから、当該チャンク生成処理は効率的に実施できる必要がある。さらに、検索要求に対して1次データベース内のデータに対しても効率的に検索処理を行う必要がある。
しかしながら、従来技術においては、効率的に似たデータを1次データベースから取り出してチャンクを生成し、同時に1次データベース内のデータに対する検索を効率的に実現する手法が確立されていないという課題があった。
本発明は、上記課題を考慮してなされたものであり、その目的は、チャンクを検索や検索結果の返送の単位とするセンサ情報記録システムにおいて、チャンクの生成処理と1次データベース内のデータに対する検索を効率的に行える情報記録装置、情報記録方法およびプログラムを提供することにある。
上記の課題を解決するために、本発明に係る情報記録装置、情報記録方法およびプログラムは、属性名と属性値とを含む情報を1次データベースに一旦保持し、保持した情報について木構造をもつ索引を作成し、該索引における木構造の各部分木に含まれる情報を1つのチャンクとし、該情報を含むファイルを作成することとした。
具体的には、本発明に係る情報記録装置は、属性名と属性値とを含む情報を保持する情報一次保持部と、前記情報一次保持部が保持する前記情報のうち、前記属性名または1つ以上の前記属性名に対応する前記属性値集合に対して木構造をもつ索引を作成する情報登録部と、前記情報登録部が作成した前記索引を用いて、木構造の部分木に含まれる前記情報を含むチャンクデータファイルを作成し、前記部分木に含まれる前記情報を前記情報一次保持部から削除し、前記部分木を前記索引から削除する情報切り出し部と、を備える。
具体的には、本発明に係る情報記録方法は、属性名と属性値とを含む情報を保持する情報一次保持手順と、前記情報一次保持手順で保持された前記情報のうち、前記属性名または1つ以上の前記属性名に対応する前記属性値集合に対して木構造をもつ索引を作成する情報登録手順と、前記情報登録手順で作成された前記索引を用いて、木構造の部分木に含まれる前記情報を含むチャンクデータファイルを作成し、前記部分木に含まれる前記情報を前記情報一次保持部から削除し、前記部分木を前記索引から削除する情報切り出し手順と、を行う。
本発明は、部分木に含まれる類似データを木構造内の枝を辿ることで簡単に集め、これらからチャンクデータファイルを生成することとした。本発明は、1次データベース内のデータの検索とチャンク生成を同じ木構造を用いることでチャンク生成処理と1次データベース内のデータの検索を効率的に行うことができる。
従って、本発明は、チャンクを検索や検索結果の返送の単位とするセンサ情報記録システムにおいて、チャンクの生成処理と1次データベース内のデータに対する検索を効率的に行える情報記録装置、情報記録方法およびプログラムを提供することができる。
本発明に係る情報記録装置の前記情報登録部は、同じ属性名を持つ情報を同じ部分木に集め、さらに、同じもしくは近い属性値をもつ情報を同じ部分木に集めることで前記索引を生成することを特徴とする。
本発明に係る情報記録方法の前記情報登録手順では、同じ属性名を持つ情報を同じ部分木に集め、さらに、同じもしくは近い属性値をもつ情報を同じ部分木に集めることで前記索引を生成することを特徴とする。
一般的に、木構造の索引においては、各部分木には、似たデータがそれぞれ集まるという性質がある。そのため、該索引の木構造の部分木に含まれるデータをまとめてチャンクとすることで、似たデータを1つのチャンクとすることが可能である。
本発明に係る情報記録装置は、検索すべき情報の条件を示す検索要求信号を受信する要求処理部と、情報検索部と、をさらに具備し、
前記情報切り出し部は、生成した前記チャンクデータファイルのファイル名と前記チャンクデータファイル内の前記情報に含まれる属性名と属性値範囲の一覧をチャンク索引情報として前記チャンクデータファイル毎に生成し、
前記情報検索部は、前記検索すべき情報の条件を満たす前記情報を前記情報一次保持部から読み出し、さらに前記検索すべき情報の条件を満たす前記チャンクデータファイルのファイル名を前記チャンク索引情報から読み出し、
前記要求処理部は、前記情報検索部が前記情報一次保持部から読み出した前記情報と、前記情報検索部が前記チャンク索引情報から読み出したファイル名と、を含む検索結果情報を送信することを特徴とする。
本発明に係る情報記録方法は、前記情報切り出し手順では、さらに、生成した前記チャンクデータファイルのファイル名と前記チャンクデータファイル内の前記情報に含まれる属性名と属性値範囲の一覧をチャンク索引情報として前記チャンクデータファイル毎に生成し、
検索すべき情報の条件を示す検索要求信号を受信する検索要求受信手順と、
前記検索すべき情報の条件を満たす前記情報を前記情報一次保持手順で保持されている前記情報から読み出し、さらに前記検索すべき情報の条件を満たす前記チャンクデータファイルのファイル名を前記情報切り出し手順で生成した前記チャンク索引情報から読み出す情報検索手順と、
前記情報検索手順で読み出した前記情報及び前記ファイル名を含む検索結果情報を送信する要求処理手順と、を行うことを特徴とする。
本発明は、チャンク索引情報を用いて、所望のデータが含まれるチャンクデータファイル名をチャンクデータファイル群から検索することを効率的に行うことができる。
また、本発明に係るプログラムは、コンピュータに、前記情報記録方法を実行させる。
本発明は、チャンクを検索や検索結果の返送の単位とするセンサ情報記録システムにおいて、チャンクの生成処理と1次データベース内のデータに対する検索を効率的に行える情報記録装置、情報記録方法およびプログラムを提供することができる。
本発明に係る情報記録装置の概略を示す構成図である。 本発明に係る情報記録装置に送信する登録要求のデータ構成を説明する図である。 本発明に係る情報記録装置の情報一次保持部が保持するセンサデータテーブルのデータ構造を説明する図である。 本発明に係る情報記録装置の情報索引保持部が保持するUBI−treeによる索引のデータ構造を説明する図である。 本発明に係る情報記録装置の分散ファイルシステムが保持するチャンクデータファイルを説明する図である。 本発明に係る情報記録装置のチャンク索引保持部が保持するチャンクデータファイルに対して、UBI−treeによる索引について説明する図である。 本発明に係る情報記録装置の動作を説明する図である。 本発明に係る情報記録装置の情報索引保持部が保持する索引を説明する図である。 本発明に係る情報記録装置の情報一次保持部が保持するセンサデータテーブルのデータ構造を説明する図である。 本発明に係る情報記録装置に送信する検索要求のデータ構成を説明する図である。 本発明に係る情報記録装置が一括回答する場合の検索結果を説明する図である。 本発明に係る情報記録装置が一括回答しない場合の検索結果を説明する図である。 本発明に係る情報記録装置の動作を説明する図である。
図面を参照して本発明の実施形態を説明する。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。
図1は、本実施形態における情報記録装置100の概略を示す構成図である。
同図において、情報記録装置100は、要求処理部101と、情報登録部102と、情報一次保持部(情報保持部)103と、情報索引保持部104と、情報切り出し部105と、分散ファイルシステム106と、チャンク索引保持部107と、情報検索部108とを具備する。
また、情報記録装置100と、ホスト130と、センサ140−1〜140−3とは、ネットワーク120に接続している。ホスト130は、分散ファイルシステム131と、アプリケーション部132とを具備する。なお、ネットワーク120に接続されるセンサの個数は、同図に示す3個に限らず、1個以上であればよい。
なお、本実施形態では、情報記録装置100がセンサが計測したセンサデータを扱う場合について説明するが、情報記録装置100が扱う情報は、センサデータに限らない。例えば、センサの特性や状態を示すメタデータ、あるいはセンサ以外、例えばWebやインターネットを経由して取得した情報であってもよい。
情報記録装置100は、ネットワーク120を介して、センサ140−1〜140−3から登録要求を受信し、受信した登録要求に含まれるセンサデータを情報一次保持部103に保持する。
情報記録装置100は、さらに、情報一次保持部103が保持するセンサデータに対し、UBI−treeによる索引を生成し、情報索引保持部104に保持する。
UBI−treeなどの木構造による索引は、1次データベース内のデータ集合の中のうち、同じ属性値、もしくは互いに近い属性値を持つデータを同じ部分木に集めることによって構築する。より詳細には、索引付け時に、データ挿入先として各部分木のうち最も属性種類の増加が少ない部分木を選び、データの挿入を行う。もしくは、最も属性値範囲の増加(広がり)が少ない部分木を選び、データの挿入を行う。
また情報記録装置100は、情報索引保持部104に保持するUBI−treeによる索引から、以下に詳述する手順によって部分木を選択し、選択した部分木に含まれるセンサデータをまとめたファイル(チャンクデータファイル)を生成し、生成したファイルを分散ファイルシステム106に保持させる。
情報記録装置100は、さらに、生成したファイルに対し、UBI−treeによる索引を以下に詳述する手順によって生成し、チャンク索引保持部107に保持する。また、情報記録装置100は、ネットワーク120を介して、ホスト130から検索要求を受信し、受信した検索要求に応じて以下に詳述する手順によって検索を行い、検索結果をホスト130に送信する。
なお、本実施形態では、情報索引保持部104やチャンク索引保持部107が保持する索引にUBI−treeを用いる場合について説明するが、本発明の範囲はこれに限らず、B木やB+木、R木など、他の木構造の索引を用いても良く、他の木構造の索引を用いた場合でも同様の効果が得られる。
要求処理部(要求通信部)101は、ネットワーク120に接続しており、ネットワーク120を介して、センサ140−1〜140−3から登録要求(登録要求信号)を受信し、ホスト130から検索要求(検索要求信号)を受信し、ホスト130に検索結果(検索結果信号)を送信する。
情報登録部102は、センサ140−1〜140−3から送信される登録要求からセンサデータを読み出し、情報一次保持部103に書き込み、さらに、情報索引保持部104が保持するUBI−treeによる索引に当該センサデータの索引を加える。
情報一次保持部103は、情報登録部102が書き込むデータを保持する。
情報索引保持部104は、情報登録部102が生成するUBI−treeによる索引を保持する。
なお本実施形態では、情報一次保持部103と情報索引保持部104を別に設けることとしたが、本発明の範囲はこれに限らず、単一の木構造によるデータ構造が、センサデータそのものとその索引とを両方保持することとしてもよい。例えば、木構造における各末端(リーフ)ノードに、各センサデータそのものも保持させることとし、木構造全体として全センサデータを保持するようにしてもよい。
情報切り出し部105は、情報索引保持部104が保持するUBI−treeによる索引から、以下に詳述するように、予め定められた基準によりUBI−treeに含まれる部分木を選択し、ファイルを生成し、当該部分木に含まれるセンサデータを情報一次保持部103から読み出し、当該ファイルに書き込み、当該ファイル(チャンクデータファイル)を分散ファイルシステム106に保持させる。
また、情報切り出し部105は、当該部分木をUBI−treeから一気に削除し、また、読み出したセンサデータを情報一次保持部103から削除する。さらに、情報切り出し部105は、チャンク索引保持部107が保持するUBI−treeによる索引に当該ファイルの索引を加える。部分木に含まれるデータをまとめてチャンクとすることで、チャンクとしたデータを当該索引から削除する処理を、部分木単位で行うことができるため、構造の索引が通常提供している削除手段を用いてデータを1つずつ削除する場合に比べ、効率的に実行することができる。
分散ファイルシステム106は、情報切り出し部105が生成したチャンクデータファイルを保持する。
チャンク索引保持部107は、分散ファイルシステム106が保持するチャンクデータファイルに対するUBI−treeによる索引を保持する。
情報検索部108は、ホスト130から送信される検索要求が示す検索条件に合致するセンサデータを情報索引保持部104が保持する索引を用いて検索し、対応するセンサデータを情報一次保持部103から読み出し、また、当該検索条件に適合するチャンクデータファイルをチャンク索引保持部107が保持する索引を用いて検索し、対応するファイルを分散ファイルシステム106から読み出し、検索結果を生成する。
ホスト130は、アプリケーションを実行してサービスを提供するホストコンピュータであり、アプリケーション実行時に必要となったセンサデータを、情報記録装置100に対して検索要求にて要求する。
分散ファイルシステム131は、情報記録装置100の分散ファイルシステム106が保持するファイル(と同一のファイル)の送信を情報記録装置100から受けて、送信を受けた当該ファイルを保持し、アプリケーション部132に対して、分散ファイルシステム106が保持するチャンクデータファイルを提供する。
センサ140−1〜140−3は、センサデータを生成し、生成したセンサデータを含む登録要求を情報記録装置100に送信する。
ネットワーク120は、情報記録装置100とホスト130とセンサ140−1〜140−3とに接続し、これら相互間のデータを伝送する。
次に、センサ140−1〜140−3が情報記録装置100に送信する、登録要求のデータ構成について説明する。図2は、登録要求の例を示す図である。
同図に示すように、登録要求は、センサデータを含む。センサデータは、区切り記号「,」を挟んで相互に結合されたデータまたはメタデータを含む。データまたはメタデータは、区切り記号「=」を挟んで結合された属性(属性名)と値(属性値)とを含む。
同図に示すセンサデータは、気温センサであるセンサ140−3が計測した気温を示すデータである。センサ140−3は、部屋R1〜R3を移動するロボットに搭載されており、情報記録装置100に定期的にセンサデータを送信する。
図2の例では、「気温=24」がセンサ140−3の計測した計測データであり、「センサID=3」と、「部屋=R1」とがメタデータである。
計測データ「気温=24」は、計測データの属性「気温」と計測値(センサ140−3が計測した気温)「24」と区切り記号「=」とを含む。
同様に、メタデータの各々も、属性と、値と、区切り記号「=」とを含む。「センサID」は、センサを識別する識別情報(Identifier;ID)であり、「部屋」は、計測時にセンサが位置する部屋の名前を示す。
また、センサデータは、可読形式の1行のテキスト情報として表現されている。ここでいう可読形式とは、センサデータに含まれる区切り符号と、属性と、値とが、全て画面表示可能な文字符号のみを含むことをいう。例えば、図2の登録要求F150に含まれるセンサデータの文字列のうち、「セ」がシフトJIS2バイトコードの835a(16進表記、以下同様。)で表記され、「ン」が8393で表記されるなど、センサデータは、画面表示可能なコードで示される文字符号(制御コードや未定義のコードを含まない文字符号)のみを含む。
なお、属性ないし値が、表示制御用の符号など、画面表示できない符号を含む場合、例えばバックスラッシュ等の、予め定められたエスケープ文字を前置することにより、画面表示できる文字符号に変換するようにしてもよい。
また、例えばセンサの計測値に区切り記号として用いられている符号「=」が含まれる場合など、属性ないし値が、区切り符号を含む場合も、予め定められたエスケープ文字を前置することにより、属性ないし値の一部と区切り符号とを区別するようにしてもよい。
次に、情報一次保持部103が保持するセンサデータテーブルのデータ構造について説明する。図3は、センサデータテーブルの例を示す図である。
センサデータテーブルの各行は、センサから送信される登録要求に基づくセンサデータとなっている。なお、同図の例では、センサデータL11〜13およびL17は、センサ140−1〜140−3のいずれかから送信される登録要求に基づくセンサデータであり、センサデータL15は、湿度センサ(不図示)から送信される登録要求に基づくセンサデータであり、センサデータL14、L16、L18、L19は、物流追跡システムのセンサ(不図示)から送信される登録要求に基づくセンサデータである。このように、センサデータテーブルには、複数種類のセンサデータが混在する。
ここで、センサデータテーブルの各センサデータは、登録要求に含まれるセンサデータそのものであってもよいし、登録要求に含まれるセンサデータを加工したものであってもよい。図3の例では、センサデータテーブルの各行L11〜L19は、登録要求に含まれるセンサデータに、情報記録装置100による当該登録要求の受信時刻を付加したセンサデータであり、受信時刻の古いセンサデータほど上側(行L11の側)に位置している。例えば、情報登録部102が、登録要求から読み出されたセンサデータに対して受信時刻の付加等の加工を行った後に、情報一次保持部103に書き込むようにしてもよい。
次に、情報索引保持部104が保持するUBI−treeによる索引のデータ構造について説明する。図4は、情報索引保持部104が保持するUBI−treeによる索引の例を示す図である。
各ノードは2〜3個のエントリを保持する。ただし、ルートノードは、それより少ない数のエントリを保持する場合もある。エントリとは、下位のノードまたはデータID情報へのポインタと、当該下位のノードまたは当該データID情報に対応するデータに含まれる属性名と属性値範囲をセットにした情報のことを指す。
ここで、図4の例では、各ノードは2〜3個のエントリを保持することとしたが、必ずしも2〜3個でなくともよく、システム管理者等が別の数に設定してもよい。
図4において、ルートノードN11は、2つのエントリを保持し、1つ目のエントリは、ノードN12へのポインタ(木構造の枝として図示)と、ノードN12よりも下位に保持しているデータID情報N18〜20に対応するデータに含まれる属性名と属性値範囲のセットを保持する。
具体的には、属性「時刻」に対応する属性値範囲は「2010/10/04 09:23:12〜2010/10/05 10:11:52」、属性「センサID」に対応する属性値範囲は「1〜22」、属性「部屋」に対応する属性値範囲は「R1〜R2」、属性「気温」に対応する属性値範囲は「22〜23」、属性「湿度」に対応する属性値範囲は「60〜62」である。
同様に、ノードN12は、2つのエントリを保持し、1つ目のエントリは、ノードN14へのポインタと、ノードN14よりも下位に保持しているデータID情報N18〜N20に含まれる属性名と属性値範囲のセットを保持する。ノードN14は、3つのエントリを保持し、それぞれデータID情報N18〜N20へのポインタと、それぞれ対応するデータに含まれる属性名と属性値範囲のセットを保持する。
ノードN14が保持する、データID情報N18〜N20に対応するデータに含まれる属性名と属性値範囲は、煩雑となるため図示していない。ノードN15、N16、N17についても同様の理由により図示していない。
ここで、データIDは、図3のセンサデータテーブルの各センサデータに含まれるデータIDと対応している。
図5は、分散ファイルシステム106が保持するチャンクデータファイルの例を示す図である。
チャンクデータファイルには、予め定められたファイル名生成規則に基づいて、ファイル名が付されている。図5の例では、固定の文字列「DAT」と、通し番号「08」と、チャンクデータファイルを示す拡張子「.CNK」とを結合したファイル名「DAT08.CNK」(N11−0)が付されている。
また、図5のN11−1は、チャンクメタデータである。チャンクメタデータは、当該チャンクデータファイルのメタデータであり、当該チャンクデータファイルに含まれるセンサデータ、すなわち、L11、L12、L13、L15、L17に含まれる、属性名と、当該属性に対する属性値の範囲を示すものである。
例えば、属性「データID」について、センサデータL11、L12、L13、L15、L17の属性値は、それぞれ1、2、3、5、7であるから、属性値範囲は「1〜7」となり、当該属性に対応するチャンクメタデータは「データID=1〜7」となる。
次に、チャンク索引保持部107が保持する、チャンクデータファイルに対するUBI−treeによる索引について説明する。
図6は、チャンクデータファイルに対するUBI−treeによる索引の例を示す図である。UBI−treeのデータ構造は図4のものとほぼ同じであるが、各エントリが、下位のノードまたはチャンクデータファイル名情報へのポインタと、当該下位のノードまたは当該チャンクデータファイル名情報に対応するチャンクデータファイルのメタデータに含まれる属性名と属性値範囲をセットにした情報である点で異なる。
図6において、N58〜N65に示したのは、データID情報ではなくチャンクデータファイル名情報であり、N61は、図5に示したチャンクデータファイルに対応するチャンクデータファイル名情報であり、値として「DAT08.CNK」を保持する。
次に、情報記録装置100における、センサデータを記録する処理手順について説明する。
図1において、要求処理部101が、センサ140−1〜140−3、あるいは図示していない他のセンサから、ネットワーク120を介して送信される登録要求を受信すると、要求処理部101は、登録要求に含まれるセンサデータを、情報一次保持部103に記録する。このとき、要求処理部101は、当該センサデータに対し、データID、すなわち、データに対する通し番号を生成し、当該通し番号を、属性「データID」に対する属性値としてセンサデータに付与する。また、要求処理部101は、当該登録要求の受信時刻を、属性「時刻」に対する属性値としてセンサデータに付与する。さらに、要求処理部101は、登録要求に含まれるセンサデータを、情報索引保持部104が保持する索引に加える。このとき、当該センサデータに付与したデータIDを含むデータID情報を、情報索引部104が保持する索引のリーフノードに挿入する。
図7は、情報記録装置100が、相互に似たセンサデータの切り出しを行う処理手順を示すフローチャートである。
情報記録装置100は、予め定められた一定時間が経過する毎に図7に示す処理を開始する。なお、情報記録装置100が図7に示す処理を開始する契機は、予め定められた一定時間の経過に限らない。例えば、情報記録装置100が登録要求を処理し、情報一次保持部103の保持するセンサデータ数が一定個数に達したときなど、予め定められた一定時間の経過以外の契機で、処理を開始するようにしてもよい。
情報記録装置100が図7の処理を開始する時点では、情報一次保持部103は、例えば図3のようにセンサデータL11〜L19をセンサデータテーブル内に保持し、情報索引保持部104は、図4のようにUBI−treeによる索引を保持している。
情報記録装置100が図7の処理を開始すると、まず、情報切り出し部105が、情報索引保持部104が保持するUBI−treeによる索引の中で、属性「時刻」について、最も古い属性値範囲の始点をもち、かつ、ルートノードから数えて2段目のノードとして、ノードN12を発見し、当該ノードN12をルートノードとする部分木を切り出す部分木に選択する。
具体的には、ルートノードから、属性「時刻」について、最も古い属性値範囲の始点をもつノードへ枝を1回辿ることで、当該ノードN12を発見することができる。
ここで、N12をルートノードとする部分木とは、ノードN12、N14、N15、データID情報N18,N19、N20、N21、N22から構成される、UBI−tree全体の木構造のサブセットとなる木構造を指す。
さらに、情報切り出し部105は、当該部分木内を辿り、すなわち、ノード内の各エントリに含まれるポインタにより各ノードないし各データID情報にアクセスし、部分木が保持する全てのデータID情報、すなわち、N18〜N22を取得する(以上、手順S241)。
図4に示すように、N12をルートノードとする部分木に含まれるデータIDに対応するセンサデータは、属性として「時刻」、「センサID」、「部屋」、「気温」、「湿度」のうちのいずれか4つを保持するのに対し、N13をルートノードとする部分木に含まれるデータIDに対応するセンサデータは、属性として「時刻」、「物品番号」、「リーダID」を保持する。
このように、UBI−treeなどの木構造による索引は、索引付け対象であるデータ集合のうち同じ属性をもつデータがなるべく同じ部分木に集まるよう索引付けを行うため、同じ属性をもつデータが同じ部分木に集まるという特性をもつ。
また、図4に示すように、N16をルートノードとする部分木に含まれるデータIDに対応するセンサデータが、属性「物品番号」、「リーダID」に対する属性値範囲としてそれぞれ「AA1〜AA4」、「101〜102」を保持するのに対し、N17をルートノードとする部分木に含まれるデータIDに対応するセンサデータは、属性値範囲としてそれぞれ「AB3〜AB4」、「103」を保持している。
このように、UBI−treeなどの木構造による索引は、索引付け対象であるデータ集合のうち近い属性値をもつデータがなるべく同じ部分木に集まるよう索引付けを行うため、同じ属性をもつデータが同じ部分木に集まるだけでなく、近い属性値をもつデータが同じ部分木に集まるという特性をもつ。
つまり、手順S241において、部分木が保持するすべてのデータID情報を取得することにより、同じ属性をもち、かつ、近い属性値をもつ、相互に似たデータのデータID情報集合を取得することができる。
本実施形態では、時刻の古い順に、ルートノードから数えて2段目のノードをルートノードとする部分木を1つのチャンクに切り出す対象として選択することとしているが、本発明はこれに限らず、時刻の新しい順に部分木を選択してもよいし、時刻ではない別の属性の属性値の小さい順、あるいは大きい順に部分木を選択してもよい。
また2段目でなくともよい。また、1つのチャンクに切り出す対象として複数の部分木を選択してもよい。例えば図4において、ノードN12をルートノードとする部分木と、ノードN16をルートノードとする部分木を選択し、1つのチャンクに切り出してもよい。これにより、部分木の選択や当該部分木の切り出しの手間は大きくなるが、チャンクの大きさを揃えることが可能となる。
情報切り出し部105は、次に、情報一次保持部103から、手順S241で取得したデータID情報に対応するセンサデータ、すなわち、図3のL11、L12、L13、L15、L17を読み出す(手順S242)。
さらに、情報切り出し部105は、読み出したセンサデータと、チャンクメタデータを含むチャンクデータファイルを生成し、予め定められたファイル名生成規則に従って、生成したチャンクデータファイルにファイル名を付す。
チャンクメタデータは、情報索引保持部104が保持するUBI−treeによる索引において、手順S241において選択した部分木のルートノードN12に対応する、N12の親ノード11のエントリに含まれる属性名と属性値範囲、すなわち、「時刻=2010/10/02 21:27:51〜2010/10/05 10:11:52、センサID=1〜33、部屋=R1〜R2、気温=18〜27、湿度=59〜69」と一致するため、当該情報を情報索引保持部104から取得することで、当該チャンクメタデータを取得する。ただし、チャンクメタデータは、センサデータ集合から生成しても良い。
例えば、情報切り出し部105は、チャンクメタデータN11−1と、センサデータL11とL12とL13とL15とL17とを含む、図5のチャンクデータファイルを生成し、生成したチャンクデータファイルに、図5で説明したファイル名「DAT08.CNK」を付与する。
情報切り出し部105は、ファイル名を付したチャンクデータファイルを、分散ファイルシステム106に出力し、分散ファイルシステム106は、このチャンクデータファイルを保持する(以上、手順S243)。
次に、情報切り出し部105は、生成したチャンクデータファイルのファイル名と、チャンクメタデータを、チャンク索引保持部107が保持するUBI−treeによる索引に追加する。
図6は、追加後の、チャンク索引保持部107が保持するUBI−treeによる索引の例である。追加されたファイル名情報N61を、チャンクメタデータにより索引付けしている。
図が煩雑になるため図示していないが、図6において、ファイル名情報N61に対応する、ノードN55内のエントリが保持する属性名と属性値範囲は、当該チャンクメタデータと同じく、「時刻=2010/10/02 21:27:51〜2010/10/05 10:11:52、センサID=1〜33、部屋=R1〜R2、気温=18〜27、湿度=59〜69」となる(以上、手順S244)。
さらに、情報切り出し部105は、手順S241で切り出すこととした部分木を、情報索引保持部104が保持するUBI−treeによる索引から削除する(手順S245)。
例えば、情報切り出し部105は、情報索引保持部104が保持する図4の索引から、N12をルートノードとする部分木を一気に削除する。すなわち、N12に対応するN11内のエントリと、N12をルートノードとする部分木に含まれるノードとデータID情報の集合を全て一気に削除する。これにより、情報索引保持部104が保持する索引は、図8のようになる。
このとき、当該部分木に含まれるデータID情報を、UBI−treeを含む木構造を持つインデックスにおいて通常提供されている削除手段を用いて、1つ1つ順番に削除する場合に比べ、当該部分木を一気に削除する方法は、非常に効率的である。
なぜならば、多くのデータID情報を1つ1つ順番に削除する場合、1つのノードが保持するエントリ数の下限を下回った際に、当該ノードを削除し、保持していたエントリを他のノードに分配する処理が通常多数回発生するのに比べ、木構造全体を一気に削除する方法では当該処理の発生回数を小さく抑えることができるためである。
このように、部分木を単位としてチャンクに切り出すことで、チャンク切り出し処理を効率化することができる。
さらに、情報切り出し部105は、手順S242でチャンクデータファイルに含めたセンサデータを、情報一次保持部103のセンサデータテーブルから削除する(手順S246)。例えば、情報切り出し部105は、図3のセンサデータテーブルから、センサデータL11とL12とL13とL15とL17とを削除する。これにより、センサデータテーブルは、図9のようになる。
その後、情報記録装置100は、図7の処理を終了する。
以上の処理によって、情報一次保持部103の持つデータの個数は一定程度に少ない状態で維持され、一方、相互に似たデータのみが集まったチャンクデータファイルが、分散ファイルシステム106上に次々と生成される。その際、各チャンクデータファイルは、1行に1センサデータが記述された可読なテキストファイル形式にて生成される。また、それらチャンクデータファイルの索引が、チャンク索引保持部107に構築される。
次に、ホスト130が情報記録装置100に送信する、検索要求のデータ構成について説明する。図10は、検索要求の例を示す図である。
検索要求は、検索式と一括回答フラグとを含む。例えば、図10の検索要求F151は、検索式F271と、一括回答フラグとを含む。検索式F271は、ホスト130が要求するセンサデータの条件を示す情報である。一括回答フラグは、後述する一括回答を行うか否かを示すフラグであり、「Yes」または「No」の値をとる。
図10の検索要求F151は、ホスト130が、「物品番号=AA1〜AA5」かつ「リーダID=101」を満たすセンサデータを要求していることを示し、また、一括回答を行うことを示している。
次に、図11および図12を用いて、情報記録装置100がホスト130に送信する、検索結果のデータ構成について説明する。
図11は、一括回答を行う場合の検索結果の例を示す図である。
検索結果は、検索要求に対する回答であり、情報一次保持部103が保持するセンサデータのうち、検索要求が示す条件に合致するセンサデータを含む。ここで、検索要求が示す条件に「合致」するセンサデータとは、検索要求が示す条件の全てを満たすセンサデータをいう。
さらに、検索要求の一括回答フラグが「Yes」の場合は、検索結果は、分散ファイルシステム106が保持するチャンクデータファイルのうち、検索要求が示す条件に適合するファイルのファイル名を含む。一方、検索要求の一括回答フラグが「No」の場合は、検索結果は、分散ファイルシステム106が保持するチャンクデータファイルに含まれるセンサデータのうち、検索要求が示す条件に合致するセンサデータを含む。
ここで、検索要求が示す条件に「適合」するファイルとは、当該ファイルのチャンクメタデータが、検索要求の示す条件(検索式)に矛盾しないファイルをいう。検索要求の示す条件の全てについて、その属性が、チャンクメタデータに含まれ、かつ、その値が整合する(値が一致する。検索要求またはチャンクメタデータが値の範囲を示す場合は、少なくとも一部が重なる。)場合は、当該ファイルは当該検索要求に適合する。
一方、検索要求の示す条件のうち、いずれかの条件の属性が、チャンクメタデータに含まれない場合、あるいは、チャンクメタデータに含まれ、かつ、その値が整合しない(値が異なる。検索要求またはチャンクメタデータが値の範囲を示す場合は、重なる部分が無い。)場合は、当該ファイルは当該検索要求に適合しない。
図11は、図10の検索要求F151に対する検索結果F152の例を示しており、図9のセンサデータテーブルに含まれるセンサデータのうち、図10の検索要求F151の示す条件「物品番号=AA1〜AA5」かつ「リーダID=101」を満たすセンサデータL14を含む。
また、図10の検索要求F151の一括回答フラグは「Yes」となっているので、図11の検索結果F152は、分散ファイルシステム106が保持するチャンクファイルデータのうち、図10の検索要求F151の示す条件「物品番号=AA1〜AA5」かつ「リーダID=101」に適合するチャンクデータファイルのファイル名「DAT03.CNK」(図11のファイル名C11)を含む。
このように、一括回答とは、検索要求F151に対して、分散ファイルシステム106が保持する個々のセンサデータではなく、分散ファイルシステム106が保持するチャンクデータファイル名を回答することをいう。情報記録装置100が、検索要求F151に適合するチャンクデータファイルのファイル名をホスト130に回答することにより、ホスト130は、条件に合致するセンサデータを、当該ファイル内を検索して取得できる。
図12は、一括回答を行わない場合の検索結果の例を示す図である。
同図の検索結果F153は、図11に示した一括回答を行う場合の検索結果F152と同様、図9のセンサデータテーブルに含まれるセンサデータのうち、図10の検索要求F151の示す条件「物品番号=AA1〜AA5」かつ「リーダID=101」を満たすセンサデータL14を含む。
一方、図12の検索結果F153は、チャンクデータファイルのファイル名は含まず、図10の検索要求F151が示す条件に適合するチャンクデータファイル(DAT03.CNK)に含まれるセンサデータのうち、条件に合致するセンサデータL20とL21とL22を含む。
図13は、情報記録装置100が、検索要求に対する検索結果を生成してホスト130に送信する処理手順を示すフローチャートである。
情報記録装置100は、ホスト130から検索要求を受信すると、同図の処理を開始する。
情報記録装置100が同図の処理を開始する時点では、分散ファイルシステム106は、互いに似たセンサデータを纏めたチャンクデータファイルを保持し、情報一次保持部103は、チャンクデータファイルのセンサデータを切り出した残りのセンサデータを保持している。
また、情報索引保持部104は、情報一次保持部103が保持するセンサデータの索引を保持している。
また、チャンク索引保持部107は、分散ファイルシステム106の保持するチャンクデータファイルの索引を保持している。
例えば、分散ファイルシステム106は、互いに似たセンサデータL11とL12とL13とL15とL17とを纏めた図5のチャンクデータファイルを保持し、情報一次保持部103は、図9のように、残りのセンサデータL14とL16とL18とL19を保持している。また、情報索引保持部104は、図8のように、情報一次保持部103が保持するセンサデータの索引を保持している。また、チャンク索引保持部107は、図6のように、図5のチャンクデータファイルの索引として、ファイル名情報N61とそれに対するエントリを保持している。
情報記録装置100は、以下に説明する処理により、ホスト130からの検索要求に含まれる検索式に基づいて、情報一次保持部103が保持するセンサデータのうち、検索式に合致するセンサデータを含み、さらに、分散ファイルシステム106が保持するチャンクデータファイルのうち、検索式に適合するチャンクデータファイルのファイル名を含む検索結果を生成する。
例えば、情報記録装置100は、図9のセンサデータのうち、図10の検索要求F151の検索式F271に合致するセンサデータL14を含み、さらに、検索式F271に適合する図6のチャンクデータファイルのファイル名「DAT03.CNK」を含む、図11の検索結果F152を生成する。
あるいは、情報記録装置100は、情報一次保持部103が保持するセンサデータのうち、検索式に合致するセンサデータを含み、さらに、分散ファイルシステム106がチャンクデータファイル内に保持するセンサデータのうち、検索式に合致するセンサデータを含む検索結果を生成する。
例えば、情報記録装置100は、図9のセンサデータのうち、検索式F271に合致するセンサデータL14を含み、さらに、ファイル名「DAT03.CNK」のチャンクデータファイル内のセンサデータのうち、検索式F271に合致するセンサデータL20とL21とL22とを含む、図12の検索結果F153を生成する。
以下、情報記録装置100が行う図13の処理について、より詳細に説明する。
要求処理部101が、ホスト130からネットワーク120を介して送信される検索要求を受信して、情報記録装置100が図13の処理を開始すると、要求処理部101は、受信した検索要求を情報検索部108に出力する。情報検索部108は、検索要求から検索式を読み出し、情報索引保持部104が保持する索引を検索して、検索式に合致するデータID情報を取得する。
例えば、情報検索部108は、図10の検索要求F151から検索式F271(「物品番号=AA1〜AA5、リーダID=101」)を読み出し、図8の情報索引保持部104が保持する索引から、検索式271に合致するデータID情報を取得する。
具体的には、ルートノードから、検索式F271に合致する属性名と属性値範囲を保持するエントリに対応するノードを辿り、すなわち、N11から、N13、N16、N18と辿り、検索式F271に合致するデータID情報N18を取得する(手順S281)。
情報検索部108は、取得したデータID情報に対応するセンサデータを、情報一次保持部103から読み出す。
具体的には、図9の情報一次保持部103のセンサデータテーブルから、図8の情報索引保持部104が保持する索引内のデータID情報N18が示すデータID=4に対応するセンサデータとして、センサデータL14を読み出す。
さらに、情報検索部108は、読み出したセンサデータの各々をリストの1行とする回答リストを生成し、情報検索部108内部の回答リスト保持部(不図示)に一時的に保持しておく(手順S282)。
次に、情報検索部108は、チャンク索引保持部107が保持する索引を検索し、検索式に適合するファイル名情報を取得する。
例えば、情報検索部108は、図6のチャンク索引保持部107が保持する索引から、図10の検索式F271に適合するファイル名情報を取得する。具体的には、手順S281と同様に、ルートノードから、検索式F271に合致する属性名と属性値範囲を保持するエントリに対応するノードを辿り、すなわち、N51から、N53、N56、N63と辿り、検索式F271に合致するファイル名情報N63を取得する(手順S283)。
次に、情報検索部108は、検索要求の一括回答フラグの値が「Yes」か否かを判定する(手順S284)。
一括回答フラグが「Yes」であると判定した場合(手順S284:Yes)は、情報検索部108は、手順S283で取得したファイル名情報に含まれるファイル名を、情報検索部108内部に保持する回答リストに追加する。
例えば、図10の検索要求F151の一括回答フラグは「Yes」であり、情報検索部108は、手順S283で取得したファイル名情報N63に含まれるファイル名「DAT03.CNK」を、回答リストに追加する(以上、手順S285)。
一方、一括回答フラグの値が「No」の場合(手順S284:No)、この一括回答フラグは、ホスト130がチャンクデータファイル名ではなく個々のセンサデータを含む検索結果を要求していることを示している。
そこで、情報検索部108は、手順S283で取得したファイル名情報に含まれるファイル名のそれぞれについて、以下の手順を実施する。
まず、分散ファイルシステム106からチャンクデータファイルを読み出し(手順S286)、読み出したチャンクデータファイルの各々を、1行1行検査することで検索式に合致するセンサデータを検索し(手順S287)、発見した検索式に合致するセンサデータを、情報検索部108内部に保持する回答リストに追加する。
例えば、情報検索部108は、手順S283で取得したファイル名情報N63に含まれるファイル名「DAT03.CNK」に基づいて、分散ファイルシステム106から図5のチャンクデータファイルを読み出す。そして、このチャンクデータファイルから、図10の検索式F271「物品番号=AA1〜AA5,リーダID=101」に合致するセンサデータL20とL21とL22とを読み出し、回答リストに追加する(以上、手順S288)。
そして、情報検索部108は、要求処理部101に、回答リストを出力する。要求処理部101は、情報検索部108から出力される回答リストを含む検索結果を生成し、ネットワーク120を介してホスト130に送信する。
例えば、一括回答フラグが「Yes」の場合、要求処理部101は、手順S281で読み出したセンサデータL14と、手順S283で読み出したファイル名情報N63とから構成される回答リストを含む、図11の検索結果を送信する。
一方、一括回答フラグが「No」の場合、要求処理部101は、手順S281で読み出したセンサデータL14と、手順S288で読み出したセンサデータL20とL21とL22とから構成される回答リストを含む、図12の検索結果を送信する(以上、手順S289)。
その後、情報記録装置100は、図13の処理を終了する。
情報記録装置100から送信される検索結果をホスト130が受信すると、ホスト130のアプリケーション部132は、受信した検索結果を以下のように用いることができる。
まず、検索結果のうち、センサデータが記載されている行は、検索式に合致するセンサデータそのものを示しているので、アプリケーション部132は、そのままデータとして自らの処理(アプリケーション実行)に用いることができる。
例えば、図11の検索結果F152の1行目のセンサデータL14や、図12の検索結果F153の1〜4行目のセンサデータL14、L20、L21、L22は、図10の検索要求F151の検索式F271に合致するセンサデータそのものであり、アプリケーション部132は、これらをそのままデータとして用いることができる。
また、チャンクデータファイル名が記載されている行は、検索式に合致するセンサデータを含む可能性があるファイルのファイル名を示している。アプリケーション部132は、自らと同じくホスト130に含まれる分散ファイルシステム131から、このチャンクデータファイル名のファイルを読み出す。
一般に分散ファイルシステムは、ネットワークで接続された遠隔のコンピュータ上の情報を読み取る機能を提供するシステムである。本実施形態では、アプリケーション部132が分散ファイルシステム131からのファイルの読み出しを行うと、ホスト130と遠隔の情報記録装置100上にある分散ファイルシステム106が、自身の保持するチャンクデータファイルを分散ファイルシステム131へと転送し、分散ファイルシステム131が、転送されたチャンクデータファイルをアプリケーション部132に読み取らせる。
アプリケーション部132は、図13の手順S287と同様に、読み取ったチャンクデータファイル内を検索して、検索式F271に合致するデータを読み出し、読み出したデータを自らの処理に用いることができる。
あるいはアプリケーション部132が、テキストエディタやワープロ、あるいは、テキスト処理言語Perl、Ruby、Python等の、テキストファイルを取り扱う一般的なソフトウェアを用いて、分散ファイルシステム131を経由して読み出したチャンクデータファイルを直接表示するようにしてもよい。チャンクデータファイルの各センサデータは、テキスト形式で格納されているので、ユーザがデータを読み取り、編集等の処理を行うことができる。
なお、本実施例では、情報索引保持部104やチャンク索引保持部107が保持する索引は、UBI−treeによる索引であるものとした。しかしながら、本発明の範囲はこれに限らず、木構造の索引であれば、UBI−treeでなくとも良い。
例えば、B−treeを用いてもよい。UBI−treeとは異なり、B−treeは1次元の索引である、すなわち、1種類のみの属性に対する索引であるが、例えば次のようにすれば、情報索引保持部104やチャンク索引保持部107の索引として用いることができる。
まず、センサデータあるいはチャンクデータファイルの索引付け時には、各属性ごとに、B−treeによる索引を生成する。また検索時には、検索式に含まれる各属性ごとに、対応するB−treeによる索引を用いて検索を行い、複数の中間的な検索結果を取得し、さらに、これら中間的な検索結果のANDをとることで、最終的な検索結果を得ることができる。
ここで、ANDをとるとは、全ての中間的な検索結果に含まれるセンサデータのみを最終的な検索結果として選択することを意味する。
また、チャンクデータファイルにセンサデータを纏めて切り出す際には、まず、情報一次保持部103を参照し、最も過去のデータを読み出す。当該データに含まれる任意の属性について、情報索引保持部104が保持する、当該属性に対応するB−treeによる索引を用いて、図7の手順S241と同様に、切り出す部分木を選択する。
部分木を選択する際には、例えば、当該データの当該属性の属性値を含むノードをルートノードから辿り、ルートノードから2段目のノードをルートノードとする部分木を選べばよい。その後は、図7の手順S242と同様に処理すればよい。
以上述べたように、本実施形態では、情報一次保持部から、チャンクデータファイルに纏める相互に似たセンサデータ集合を選択し、取り出し、さらに情報一次保持部から当該センサデータを削除する、という一連の処理を、木構造の索引を用いることによって高速に行うことができる。さらに同時に、検索要求に対し、情報一次保持部から、検索要求に含まれる検索式に合致するセンサデータを検索する処理を、木構造の索引を用いることによって高速に行うことができる。
一般に、索引は高速に検索を行うためのデータ構造であるが、特に、木構造の索引は、似たデータを同じ部分木に集めるという特徴を持つ。本発明はこの特徴を利用し、情報一次保持部に蓄積したセンサデータに対する高速な検索を実現するだけでなく、情報一次保持部に蓄積したセンサデータの中から、予め定められた簡単な規則に従って選んだ索引内の部分木に含まれるデータを、チャンクデータファイルに纏める似たデータとすることにより、チャンクデータファイルに纏めるデータを高速に選択することができる。
さらに、部分木単位で纏めることにより、当該索引から、纏めて切り出したセンサデータのための索引情報を削除することが、当該部分木を削除するだけで高速に実現できる。さらに、部分木単位で纏めることにより、生成するチャンクデータファイルのチャンクメタデータは当該部分木のルートノードの親ノードが保持する、当該部分木のルートノードに対応するエントリに含まれる属性名と属性値範囲と一致するため、当該エントリが含む情報を読み出すことにより、当該チャンクメタデータを高速に取得することができ、当該チャンクデータファイルの索引付けを高速に行うことができる。
なお、本実施形態においては、チャンクデータファイルの形式として、図5に示すように、単純にセンサデータを1行ずつ並べたものとしたが、本発明の範囲はこれに限定されるものではなく、例えば、情報索引保持部104から、部分木を切り出す際、当該部分木の構造をチャンクデータファイルに記載しても良い。
なお、本実施形態においては、センサデータ情報の符号化は、「属性=値」の組の並び形式で表現される可読形式の1行のテキスト情報であるが、本発明の範囲はこれに限定されるものではなく、不可読形式を含む任意の情報符号化方式にも適用できる。また、例えばXMLやJSON仕様等を用いて表現した、複数行からなる可読のテキスト情報に基づく情報符号化方式にも適用できる。
本実施形態においては、チャンクデータファイルは、分散ファイルシステム106上に作成されるが、本発明の範囲はこれに限定されるものではなく、OSが一般に提供する通常のファイルシステム上にファイルとして作成してもよい。あるいは、一般にファイルという呼称では呼ばれないものではあるが、RDBMSやXMLデータベースシステム等の情報記録システム上に情報レコードとして、チャンクデータファイルを作成することもできる。
あるいは、分散ファイルシステムとしてOSに内蔵されている機能であるNFSやCIFS(SMB)等上にチャンクデータファイルを作成してもよい。
あるいは、ウェブ技術のHTTPおよびその拡張であるWebDAV等、クラウドと称される技術のGFSやHadoop等、又は、キーバリューストアと呼ばれる技術のDynamoやmemcached等上にチャンクデータファイルを作成してもよい。
なお、本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通じて提供することも可能である。
例えば、情報記録装置100の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の保持装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。
また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
100:情報記録装置
101:要求処理部
102:情報登録部
103:情報一次保持部(情報保持部)
104:情報索引保持部
105:情報切り出し部
106:分散ファイルシステム
107:チャンク索引保持部
108:情報検索部
120:ネットワーク
130:ホスト
131:分散ファイルシステム
132:アプリケーション部
140−1〜140−3:センサ

Claims (7)

  1. 属性名と属性値とを含む情報を保持する情報一次保持部と、
    前記情報一次保持部が保持する前記情報のうち、前記属性名または1つ以上の前記属性名に対応する前記属性値集合に対して木構造をもつ索引を作成する情報登録部と、
    前記情報登録部が作成した前記索引を用いて、木構造の部分木に含まれる前記情報を含むチャンクデータファイルを作成し、前記部分木に含まれる前記情報を前記情報一次保持部から削除し、前記部分木を前記索引から削除する情報切り出し部と、
    を備える情報記録装置。
  2. 前記情報登録部は、同じ属性名を持つ情報を同じ部分木に集め、さらに、同じもしくは近い属性値をもつ情報を同じ部分木に集めることで前記索引を生成することを特徴とする請求項1に記載の情報記録装置。
  3. 検索すべき情報の条件を示す検索要求信号を受信する要求処理部と、
    情報検索部と、
    をさらに具備し、
    前記情報切り出し部は、生成した前記チャンクデータファイルのファイル名と前記チャンクデータファイル内の前記情報に含まれる属性名と属性値範囲の一覧をチャンク索引情報として前記チャンクデータファイル毎に生成し、
    前記情報検索部は、前記検索すべき情報の条件を満たす前記情報を前記情報一次保持部から読み出し、さらに前記検索すべき情報の条件を満たす前記チャンクデータファイルのファイル名を前記チャンク索引情報から読み出し、
    前記要求処理部は、前記情報検索部が前記情報一次保持部から読み出した前記情報と、前記情報検索部が前記チャンク索引情報から読み出したファイル名と、を含む検索結果情報を送信する
    ことを特徴とする請求項1又は2に記載の情報記録装置。
  4. 属性名と属性値とを含む情報を保持する情報一次保持手順と、
    前記情報一次保持手順で保持された前記情報のうち、前記属性名または1つ以上の前記属性名に対応する前記属性値集合に対して木構造をもつ索引を作成する情報登録手順と、
    前記情報登録手順で作成された前記索引を用いて、木構造の部分木に含まれる前記情報を含むチャンクデータファイルを作成し、前記部分木に含まれる前記情報を前記情報一次保持部から削除し、前記部分木を前記索引から削除する情報切り出し手順と、
    を行う情報記録方法。
  5. 前記情報登録手順では、同じ属性名を持つ情報を同じ部分木に集め、さらに、同じもしくは近い属性値をもつ情報を同じ部分木に集めることで前記索引を生成することを特徴とする請求項4に記載の情報記録方法。
  6. 前記情報切り出し手順では、さらに、生成した前記チャンクデータファイルのファイル名と前記チャンクデータファイル内の前記情報に含まれる属性名と属性値範囲の一覧をチャンク索引情報として前記チャンクデータファイル毎に生成し、
    検索すべき情報の条件を示す検索要求信号を受信する検索要求受信手順と、
    前記検索すべき情報の条件を満たす前記情報を前記情報一次保持手順で保持されている前記情報から読み出し、さらに前記検索すべき情報の条件を満たす前記チャンクデータファイルのファイル名を前記情報切り出し手順で生成した前記チャンク索引情報から読み出す情報検索手順と、
    前記情報検索手順で読み出した前記情報及び前記ファイル名を含む検索結果情報を送信する要求処理手順と、
    を行うことを特徴とする請求項4又は5に記載の情報記録方法。
  7. コンピュータに、請求項4から6のいずれかに記載の情報記録方法を実行させるためのプログラム。
JP2011141865A 2011-06-27 2011-06-27 情報記録装置、情報記録方法およびプログラム Expired - Fee Related JP5563529B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011141865A JP5563529B2 (ja) 2011-06-27 2011-06-27 情報記録装置、情報記録方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011141865A JP5563529B2 (ja) 2011-06-27 2011-06-27 情報記録装置、情報記録方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2013008295A true JP2013008295A (ja) 2013-01-10
JP5563529B2 JP5563529B2 (ja) 2014-07-30

Family

ID=47675573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011141865A Expired - Fee Related JP5563529B2 (ja) 2011-06-27 2011-06-27 情報記録装置、情報記録方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5563529B2 (ja)

Cited By (6)

* 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> 情報可視化装置、方法及びプログラム
JP2014215806A (ja) * 2013-04-25 2014-11-17 日本電信電話株式会社 アドレス解決システム及び方法
KR20160077080A (ko) * 2013-10-30 2016-07-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 피접속 장치에 대한 데이터 관리 기법
WO2018110100A1 (ja) * 2016-12-15 2018-06-21 オムロン株式会社 指示システム、指示装置、方法及びプログラム
WO2019026229A1 (ja) * 2017-08-03 2019-02-07 株式会社アプトポッド クライアント装置、データ収集システム、データ送信方法、及びプログラム
JP2020521204A (ja) * 2017-04-27 2020-07-16 大連云動力科技有限公司Dalian Cloud Force Technologies CO.,LTD 知能感知装置及び感知システム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348038A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 半構造データベースのためのデータ格納装置および方法
JP2007011548A (ja) * 2005-06-29 2007-01-18 Fujitsu Ltd データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
US20070061543A1 (en) * 2005-09-13 2007-03-15 Mahat Technologies Method for a distributed column chunk data store
US7370055B1 (en) * 2003-06-04 2008-05-06 Symantec Operating Corporation Efficiently performing deletion of a range of keys in a B+ tree
US20080307181A1 (en) * 2007-06-08 2008-12-11 Kuszmaul Bradley C Disk-Resident Streaming Dictionary
JP2010129001A (ja) * 2008-11-28 2010-06-10 Internatl Business Mach Corp <Ibm> 情報処理装置、データベース・システム、情報処理方法、およびプログラム
US20100198829A1 (en) * 2009-01-30 2010-08-05 Elzinga D Blair Method and computer-program product for ranged indexing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000348038A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 半構造データベースのためのデータ格納装置および方法
US7370055B1 (en) * 2003-06-04 2008-05-06 Symantec Operating Corporation Efficiently performing deletion of a range of keys in a B+ tree
JP2007011548A (ja) * 2005-06-29 2007-01-18 Fujitsu Ltd データ集合分割プログラム、データ集合分割装置、およびデータ集合分割方法
US20070061543A1 (en) * 2005-09-13 2007-03-15 Mahat Technologies Method for a distributed column chunk data store
US20080307181A1 (en) * 2007-06-08 2008-12-11 Kuszmaul Bradley C Disk-Resident Streaming Dictionary
JP2010129001A (ja) * 2008-11-28 2010-06-10 Internatl Business Mach Corp <Ibm> 情報処理装置、データベース・システム、情報処理方法、およびプログラム
US20100198829A1 (en) * 2009-01-30 2010-08-05 Elzinga D Blair Method and computer-program product for ranged indexing

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG201000750007; 荒川豊、外3名: 'ユビキタスデータのためのインデキシング技術UBI-treeの改良' 電子情報通信学会技術研究報告(DE2010-14-DE2010-24) 第110巻,第162号, 20100728, p.47-52, 社団法人電子情報通信学会 *
CSNJ201010043587; 中村隆幸、外3名: 'かたまり生成処理により効率化したセンサ情報蓄積システムの提案' 電子情報通信学会2010年総合大会講演論文集 通信2 , 20100302, p.587 *
JPN6014007480; 荒川豊、外3名: 'ユビキタスデータのためのインデキシング技術UBI-treeの改良' 電子情報通信学会技術研究報告(DE2010-14-DE2010-24) 第110巻,第162号, 20100728, p.47-52, 社団法人電子情報通信学会 *
JPN6014007482; 中村隆幸、外3名: 'かたまり生成処理により効率化したセンサ情報蓄積システムの提案' 電子情報通信学会2010年総合大会講演論文集 通信2 , 20100302, p.587 *

Cited By (14)

* 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> 情報可視化装置、方法及びプログラム
JP2014215806A (ja) * 2013-04-25 2014-11-17 日本電信電話株式会社 アドレス解決システム及び方法
KR102231976B1 (ko) 2013-10-30 2021-03-24 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 피접속 장치에 대한 데이터 관리 기법
KR20160077080A (ko) * 2013-10-30 2016-07-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 피접속 장치에 대한 데이터 관리 기법
JP2017504850A (ja) * 2013-10-30 2017-02-09 マイクロソフト テクノロジー ライセンシング,エルエルシー 接続された装置のデータ管理
WO2018110100A1 (ja) * 2016-12-15 2018-06-21 オムロン株式会社 指示システム、指示装置、方法及びプログラム
JP2018097705A (ja) * 2016-12-15 2018-06-21 オムロン株式会社 指示システム、指示装置、方法及びプログラム
US11036498B2 (en) 2016-12-15 2021-06-15 Omron Corporation Instruction system, instruction device, method, and program
JP2020521204A (ja) * 2017-04-27 2020-07-16 大連云動力科技有限公司Dalian Cloud Force Technologies CO.,LTD 知能感知装置及び感知システム
WO2019026229A1 (ja) * 2017-08-03 2019-02-07 株式会社アプトポッド クライアント装置、データ収集システム、データ送信方法、及びプログラム
EP3663929A4 (en) * 2017-08-03 2021-02-24 Aptpod, Inc. CLIENT DEVICE, DATA COLLECTION SYSTEM, DATA TRANSMISSION PROCESS AND PROGRAM
JPWO2019026229A1 (ja) * 2017-08-03 2020-07-16 株式会社 アプトポッド クライアント装置、データ収集システム、データ送信方法、及びプログラム
JP7004982B2 (ja) 2017-08-03 2022-01-21 株式会社 アプトポッド クライアント装置、データ収集システム、データ送信方法、及びプログラム
US11483362B2 (en) 2017-08-03 2022-10-25 Aptpod, Inc. Client apparatus, data collection system, data transmission method, and program

Also Published As

Publication number Publication date
JP5563529B2 (ja) 2014-07-30

Similar Documents

Publication Publication Date Title
JP5563529B2 (ja) 情報記録装置、情報記録方法およびプログラム
CN106484877B (zh) 一种基于hdfs的文件检索系统
US11461286B2 (en) Fair sampling in a hierarchical filesystem
US9805079B2 (en) Executing constant time relational queries against structured and semi-structured data
CN105706078B (zh) 实体集合的自动定义
US9411840B2 (en) Scalable data structures
JP2016181306A (ja) 索引キーを使用して検索を絞込むシステムおよび方法
US8700567B2 (en) Information apparatus
CN106503223B (zh) 一种结合位置和关键词信息的在线房源搜索方法及装置
CN106233259A (zh) 在分散存储网络中检索多世代存储数据
US9934247B2 (en) Built-in search indexing for NAS systems
CN103812939A (zh) 一种大数据存储系统
US20190005101A1 (en) Method and apparatus for accessing time series data in memory
JP6550448B2 (ja) データ管理装置、データ管理方法、およびプログラム
CN100433019C (zh) 一种数据存储与检索的方法及系统
CN106682003B (zh) 分布式存储命名空间的路径分割映射方法和装置
CN105117502A (zh) 一种基于大数据的检索方法
US20120124060A1 (en) Method and system of identifying adjacency data, method and system of generating a dataset for mapping adjacency data, and an adjacency data set
JP2016126788A (ja) 関係型データベース表の列横断的検索
US20180203908A1 (en) Distributed database system and distributed data processing method
JP2011170791A (ja) 情報記録装置、情報記録方法およびプログラム
CN104301182A (zh) 一种慢速网站访问异常信息的查询方法及装置
CN106802922B (zh) 一种基于对象的溯源存储系统及方法
JP5063447B2 (ja) コンテンツ管理装置及び方法及びプログラム
WO2017115419A1 (ja) 出力データの生成方法、計算機システム、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140422

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: 20140610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140612

R150 Certificate of patent or registration of utility model

Ref document number: 5563529

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees