JP5517263B2 - Chunk generating device, chunk reading device, chunk generating method and program - Google Patents
Chunk generating device, chunk reading device, chunk generating method and program Download PDFInfo
- Publication number
- JP5517263B2 JP5517263B2 JP2011150059A JP2011150059A JP5517263B2 JP 5517263 B2 JP5517263 B2 JP 5517263B2 JP 2011150059 A JP2011150059 A JP 2011150059A JP 2011150059 A JP2011150059 A JP 2011150059A JP 5517263 B2 JP5517263 B2 JP 5517263B2
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、センサ情報データベースの情報を加工するサーバ構成法に関する。 The present invention relates to a server configuration method for processing information in a sensor information database.
従来、センサの計測データのような情報すなわちセンサ情報を扱う情報管理システムとして、uTupleSpace(例えば、非特許文献1参照。)があった。uTupleSpaceの特徴の一つに、センサ情報をuTuple形式という、「キー=値」の並びにより自由に表現できる点がある。また、uTupleSpaceの特徴の一つに、センサ情報を効率的に蓄積し検索転送する手段として、センサデータのチャンクを生成する方法を導入している点がある。
2. Description of the Related Art Conventionally, as an information management system for handling information such as sensor measurement data, that is, sensor information, there has been uTupleSpace (see Non-Patent
また従来、uTuple形式のように複数の値を持つ情報をまとめて索引づけするデータ構造として、多次元検索木Ubi−tree(例えば、非特許文献2参照。)があった。 Conventionally, there has been a multi-dimensional search tree Ubi-tree (for example, see Non-Patent Document 2) as a data structure for collectively indexing information having a plurality of values as in the u Tuple format.
チャンクを生成する方法として、最も単純なのは、蓄積されたセンサ情報のうち、時系列順に古いものから一定個数ずつを、一次DB(あるいは一時DB)と呼ばれる最初にセンサ情報が蓄積される領域からチャンクとして別ファイルに移し替えていく方法である。 The simplest method for generating a chunk is to use a certain number of the accumulated sensor information from the oldest in chronological order, starting from the first sensor information accumulation area called the primary DB (or temporary DB). It is a method of moving to another file.
さらにチャンクの効率を改善するためには、検索結果がチャンク単位で取り扱われることを鑑み、一つの検索式で結果としてまとめられることが多いデータ、すなわち、似た値をもつデータがなるべく同じチャンクに集まるようにするのがよい。そのためには、一時DBにある程度の量のセンサ情報を蓄えておき、何らかの手段でその中で似た値をもつデータを抽出して、それらをチャンクとして別ファイルに移し替えていく方法が考えられる。 In order to further improve the efficiency of chunks, considering that search results are handled in units of chunks, data that is often combined as a result with a single search expression, that is, data with similar values, should be merged into the same chunk as much as possible. It is better to gather. To that end, it is conceivable to store a certain amount of sensor information in the temporary DB, extract data having similar values by some means, and transfer them to another file as chunks. .
さらにその際、似た値を持つデータを抽出する方法として、木構造の特徴を用い、木構造で近くに配置されるノードを選択するという方法が考えられる。またこの際、センサ情報を管理する木構造としてUbi−treeを採用するという方法が考えられる。 At that time, as a method of extracting data having similar values, a method of using a feature of the tree structure and selecting a node arranged nearby in the tree structure is conceivable. At this time, a method of adopting Ubi-tree as a tree structure for managing sensor information is conceivable.
しかし、上記従来技術から想起されるチャンク生成方式においては、一時DBのサイズを大きく取っておかなければならないという問題があった。すなわち、例えばチャンクの1ファイルに100万個のセンサ情報をまとめるとする。母集団の中から似たデータを抽出して一つのファイルにまとめようとすると、まとめようとする先のファイルに対して母集団は十分な大きさがなければならない。これが仮に1000倍のデータ量の中から選択しようとすると、100万×1000=10億個のセンサ情報を単一の一時DBに蓄積して管理しなければならないということになる。 However, the chunk generation method recalled from the above prior art has a problem that the size of the temporary DB must be kept large. That is, for example, 1 million pieces of sensor information are collected in one chunk file. If similar data is extracted from the population and then combined into one file, the population must be large enough for the previous file to be combined. If this is to be selected from 1000 times the data amount, it means that 1 million × 1000 = 1 billion sensor information must be stored and managed in a single temporary DB.
このような大きなサイズのデータを管理することは、メモリならびに二次記憶装置への負荷が多大なものとなり、かつ、そのような膨大なデータの中から似たデータを抽出するという処理の負荷が多大なものとなるという問題があった。 Managing such a large size of data increases the load on the memory and the secondary storage device, and the processing load of extracting similar data from such a large amount of data. There was a problem that it would be enormous.
また従来、非特許文献1で開示されているように、「チャンクはデータ行を並べたテキストファイル形式で保管され」ていた。このようにチャンクがセンサ情報が行ごとに列挙されるテキストファイル形式である場合、アプリケーションプログラムがチャンクのファイルを読み取る処理を容易に作成でき、また、チャンクのファイルの中身は人間にとっても可読であり取り扱いが容易であるという利点があった。その一方で、チャンクのファイルの中から真に必要とするデータ行のみを検索結果として得るためには、チャンクのファイル全体を読み込み全ての行について一致判定処理を行わなければならず、処理負荷が高くなるという問題があった。
Conventionally, as disclosed in Non-Patent
あるいは、チャンクのファイル形式として、テキストによるセンサ情報の記述に加え、検索を高速化するための木構造等の索引情報を別途作成し、同一ファイルあるいは別ファイルとして保管するという方法が考えられる。この方法によれば、チャンクのファイルの中から真に必要とするデータ行のみを検索結果として得るために、チャンクのファイルの一部を読み込むだけでよく、全ての行について一致判定処理を行う必要がないという利点がある。その一方で、アプリケーションプログラムがチャンクのファイルを読み取る処理の作成が容易ではなく、また、当該ファイルの中身は人間にとって不可読であり取り扱いが困難であるという問題があった。 Alternatively, as a chunk file format, in addition to the description of sensor information in text, a method of separately creating index information such as a tree structure for speeding up the search and storing it as the same file or a different file is conceivable. According to this method, only a part of the chunk file needs to be read in order to obtain only the data rows that are really necessary from the chunk file, and it is necessary to perform a match determination process for all the rows. There is an advantage that there is no. On the other hand, it is not easy for the application program to create a process for reading a chunk file, and the contents of the file are unreadable for humans and difficult to handle.
すなわち、チャンクの処理の容易性と処理の高速性が両立できないという問題があった。 That is, there is a problem that the ease of chunk processing and the speed of processing cannot be compatible.
本願発明に係るチャンク生成装置は、複数の情報を列挙したファイルであるチャンクを生成する装置であって、前記装置は一時プールと第1チャンクとチャンクプールを保持し、前記一時プールは情報を木構造で管理し、前記第1チャンクは前記装置が生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙したファイルであり、前記チャンクプールは個々の前記第1チャンクのデータ範囲と前記第1チャンクの識別情報を示す荷札情報を木構造で管理し、情報を前記一時プールに登録する機能と、前記一時プールから木構造で近傍の情報群を取り出し前記第1チャンクを作成する機能と、前記第1チャンクの荷札情報を生成して前記チャンクプールに登録する機能と、前記チャンクプールから木構造で近傍の荷札情報群を取り出しそれらの荷札情報が示す前記第1チャンクの含む情報を少なくとも含む第2チャンクを作成する機能と、を少なくとも有する。 A chunk generation device according to the present invention is a device that generates a chunk that is a file listing a plurality of information, wherein the device holds a temporary pool, a first chunk, and a chunk pool, and the temporary pool stores information in a tree. The first chunk is a file that enumerates a smaller number of information than the enumerated number of information that should be included in the chunk to be generated by the device, and the chunk pool is data of each of the first chunks. The tag information indicating the range and the identification information of the first chunk is managed in a tree structure, the information is registered in the temporary pool, and the neighboring information group is extracted from the temporary pool in a tree structure to create the first chunk. A function for generating tag information of the first chunk and registering it in the chunk pool, and a tag information in the vicinity of the chunk pool in a tree structure. It has a function of creating a second chunk taken out group includes information including the first chunk showing their tag information at least, the least.
前記第2チャンクを作成する機能は、k個の前記第1チャンクの含む情報から前記第2チャンクを作成する際に、前記第2チャンクは前記k個の第1チャンク内容のファイル内位置を検索するための索引情報と前記k個の第1チャンク内容の並びをその構成要素として少なくとも含んでもよい。 When the second chunk is created from information included in the k first chunks, the second chunk searches the position in the file of the contents of the k first chunks when creating the second chunk. It may include at least the index information and the arrangement of the k first chunk contents as its constituent elements.
前記一時プール及び前記チャンクプールは、前記木構造としてUBI−Tree検索木アルゴリズムを用い、前記第1チャンクの前記荷札情報が示す前記第1チャンクのデータ範囲は複数のキーに対する値の集合として表現し、前記第2チャンクの前記索引情報は複数のキーに対する値の集合から前記第1チャンク内容のファイル内位置を検索するための索引情報であってもよい。 The temporary pool and the chunk pool use the UBI-Tree search tree algorithm as the tree structure, and the data range of the first chunk indicated by the tag information of the first chunk is expressed as a set of values for a plurality of keys. The index information of the second chunk may be index information for searching the file position of the contents of the first chunk from a set of values for a plurality of keys.
本願発明に係るチャンク読み取り装置は、チャンクを読み取る装置であって、チャンク生成装置で作成されたチャンクを入力とし、索引情報を読み取る機能と、検索条件に合致する索引情報を選択する機能と、ファイル読み取り位置を索引情報が示すファイル内位置に移動する機能と、前記移動したファイル内位置から前記第1チャンク内容を読み取る機能と、を少なくとも有する。 A chunk reading device according to the present invention is a device that reads a chunk, receives a chunk created by the chunk generation device as an input, reads index information, selects index information that matches a search condition, and a file It has at least a function of moving the reading position to a position in the file indicated by the index information and a function of reading the first chunk contents from the moved position in the file.
本願発明に係るチャンク生成方法は、一時プールと第1チャンクとチャンクプールを保持し、一時プール登録部と第1チャンク作成部と荷札情報生成部と第2チャンク作成部を備え、複数の情報を列挙したファイルであるチャンクを生成するチャンク生成装置が実行する方法であって、前記一時プール登録部が、情報を前記一時プールに登録し、前記一時プールが、該情報を木構造で管理する手順と、前記第1チャンク作成部が、前記一時プールから木構造で近傍の情報群を取り出し、生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙した前記第1チャンクを作成する手順と、前記荷札情報生成部が、前記第1チャンクの識別情報を示す荷札情報を生成して前記チャンクプールに登録し、前記チャンクプールが、個々の前記第1チャンクのデータ範囲と前記第1チャンクの荷札情報を木構造で管理する手順と、前記第2チャンク作成部が、前記チャンクプールから木構造で近傍の荷札情報群を取り出し、それらの荷札情報が示す前記第1チャンクの含む情報を少なくとも含む第2チャンクを作成する手順と、を順に実行する。 The chunk generation method according to the present invention includes a temporary pool, a first chunk, and a chunk pool, and includes a temporary pool registration unit, a first chunk creation unit, a tag information generation unit, and a second chunk creation unit, and includes a plurality of pieces of information. a method chunk generating apparatus for generating a chunk is listed file is executed, the temporary pool registration unit registers the information on the one o'clock pool, the temporary pool, manages the information in a tree structure procedure When the first chunk creation unit, the one o'clock retrieve information group in the vicinity of a tree structure from the pool, the first chunk that lists the number of information less than enumerating the number of generation try to information should contain chunk a step of creating, the tag information generating unit generates the tag information indicating identification information of the first chunk is registered in the chunk pool, the chunk pool And procedures for managing tag information of each of the said first chunk of data range first chunk in a tree structure, the second chunk creation unit extracts the tag information group in the vicinity of a tree structure from the chunk pool, they a step of creating at least comprises second chunk information including the first chunk indicated tag information, the order to execute.
本願発明に係るチャンク生成方法は、前記第2チャンク作成部が、k個の前記第1チャンクの含む情報から前記第2チャンクを作成する際に、前記第2チャンクに前記k個の第1チャンク内容のファイル内位置を検索するための索引情報と前記k個の第1チャンク内容の並びをその構成要素として少なくとも含めてもよい。 Chunk generating method according to the present invention, the second chunk creation unit, in preparing the second chunk from information including the k-number of the first chunk, the k-number of first chunk in the second chunk at least including Umate contents of the index information for searching a file in position and the arrangement of the k-number of first chunk contents as its components may be.
前記一時プール及び前記チャンクプールは、前記木構造としてUBI−Tree検索木アルゴリズムを用い、前記第1チャンクの前記荷札情報が示す前記第1チャンクのデータ範囲は複数のキーに対する値の集合として表現し、前記第2チャンクの前記索引情報は複数のキーに対する値の集合から前記第1チャンク内容のファイル内位置を検索するための索引情報であってもよい。 The temporary pool and the chunk pool use the UBI-Tree search tree algorithm as the tree structure, and the data range of the first chunk indicated by the tag information of the first chunk is expressed as a set of values for a plurality of keys. The index information of the second chunk may be index information for searching the file position of the contents of the first chunk from a set of values for a plurality of keys.
本願発明に係るチャンク生成プログラムは、コンピュータに、一時プールと第1チャンクとチャンクプールを保持させ、前記一時プールでは、情報を木構造で管理させ、前記第1チャンクは、生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙したファイルであり、前記チャンクプールでは、個々の前記第1チャンクのデータ範囲と前記第1チャンクの識別情報を示す荷札情報を木構造で管理させ、本願発明に係るチャンク生成装置の各機能を実現させるためのプログラムである。 The chunk generation program according to the present invention causes a computer to hold a temporary pool, a first chunk, and a chunk pool. In the temporary pool, information is managed in a tree structure, and the first chunk includes a chunk to be generated. It is a file that enumerates a smaller number of information than the number of information to be included, and in the chunk pool, tag data indicating the data range of each first chunk and the identification information of the first chunk is managed in a tree structure And a program for realizing each function of the chunk generation device according to the present invention.
以上述べたように、本発明によれば、チャンクの生成を効率的に行うことができ、生成したチャンクは容易かつ高速に読み取り処理ができるようなチャンク生成装置、チャンク読み取り装置、チャンク生成方法及びチャンク生成プログラムを実現することができる。 As described above, according to the present invention, chunk generation can be efficiently performed, and the generated chunk can be read easily and at high speed. A chunk generation program can be realized.
本発明の実施の形態の一つを以下に示す。
第1図は本実施の形態における装置構成を示す。
チャンク生成装置(100)は、ネットワーク(109)に接続され、一時プール登録部(110)とSチャンク作成部(111)とSチャンクプール登録部(112)とLチャンク作成部(113)を具備する。Sチャンクが第1チャンク、Lチャンクが第2チャンクに相当する。
One embodiment of the present invention will be described below.
FIG. 1 shows an apparatus configuration in the present embodiment.
The chunk generation device (100) is connected to the network (109) and includes a temporary pool registration unit (110), an S chunk creation unit (111), an S chunk pool registration unit (112), and an L chunk creation unit (113). To do. The S chunk corresponds to the first chunk and the L chunk corresponds to the second chunk.
さらに、チャンク生成装置(100)は、データ保持を行う一時プール(101)およびSチャンクプール(105)を具備する。一時プール(101)は2分木データ構造によりセンサ情報(102)を保持し、Sチャンクプール(105)は2分木データ構造により荷札情報(106)を保持する。Sチャンクプール(105)がチャンクプールに相当する。 Furthermore, the chunk generation device (100) includes a temporary pool (101) for holding data and an S chunk pool (105). The temporary pool (101) holds sensor information (102) with a binary tree data structure, and the S chunk pool (105) holds tag information (106) with a binary tree data structure. The S chunk pool (105) corresponds to the chunk pool.
さらに、チャンク生成装置(100)は、Sチャンクを保持するSチャンク記憶装置(103)およびLチャンクを保持するLチャンク記憶装置(107)を具備する。 Furthermore, the chunk generation device (100) includes an S chunk storage device (103) that holds an S chunk and an L chunk storage device (107) that holds an L chunk.
第2図は一時プール(101)が保持するデータ構造を示す。
本図の例では6つのセンサ情報を保持している。例えば「35:(ア)」という記載は、木の当該ノードが第3図で示す(ア)の情報本体を保持するとともに、該情報本体が含む「35」という特定の値を主キーとして木構造により管理されることを表す。
FIG. 2 shows the data structure held by the temporary pool (101).
In the example of this figure, six pieces of sensor information are held. For example, the description “35: (A)” indicates that the node in the tree holds the information body of (A) shown in FIG. 3 and uses the specific value “35” included in the information body as a main key. Indicates that it is managed by the structure.
2分木構造の既知の特性から、これらのセンサ情報は整列されて格納されている。すなわち、上下軸を無視して左右軸のみに着目した場合、本図の例では主キーが左から順に0→35→333→599→2017→3776と整列されている。このような2分木データ構造の管理(挿入・検索・削除)方式は広く知られている。 Because of the known characteristics of the binary tree structure, these pieces of sensor information are stored in an aligned manner. That is, when the vertical axis is ignored and only the left and right axes are focused, the main keys are aligned in the order of 0 → 35 → 333 → 599 → 2017 → 3776 from the left in the example of this figure. Such a binary tree data structure management (insertion / retrieval / deletion) method is widely known.
なお、本例のように近いデータが近傍に並ぶように整列されて格納されるのは、2分木だけに見られる特徴ではなく、木構造に広く一般的に観測される特徴である。なぜなら、そもそも木構造は検索を高速に行う必要があるために順序づけてデータの索引付けを行うという根本的な理由があるため、格納されているデータが順序づけられ近傍に近いデータが並べられることは、原理上の根本的要請である。 It is to be noted that the fact that close data is arranged and stored so as to be arranged in the vicinity as in this example is not a feature that is seen only in the binary tree but a feature that is widely observed in the tree structure. Because, in the first place, because the tree structure needs to be searched at high speed, there is a fundamental reason that data is indexed by ordering, so that the stored data is ordered and data close to the neighborhood are arranged. This is a fundamental request in principle.
第3図は一時プール(101)が保持するそれぞれのセンサ情報(102)の内容を示す。
本実施形態におけるセンサ情報とは、個々の情報のデータサイズが比較的小さく、かつ、その内部に複数の値を含むような情報である。そのような特徴を持つセンサ情報に対して本発明は効果的に機能する。特に、本実施の形態においては、それぞれのセンサ情報は「キー=値」の任意個の並びから構成されるuTupleデータ形式によって記述することとする。
FIG. 3 shows the contents of each sensor information (102) held in the temporary pool (101).
The sensor information in the present embodiment is information such that the data size of each piece of information is relatively small and includes a plurality of values therein. The present invention functions effectively for sensor information having such characteristics. In particular, in the present embodiment, each sensor information is described in a uTuple data format composed of an arbitrary number of “key = value” sequences.
なお、本発明のいう情報とは、上記特徴を満たす様々な情報がその対象となるものであって、センサ情報(102)に限られない。具体的に一例を挙げると、温度や湿度、電流あるいは電圧値、流体の流量、物質の濃度、明度、騒音、位置、加速度などを含むセンサデバイスが計測した値を取り扱ってよく、またそれに限らず、センサ以外の例えばWebやインターネットを経由して取得した情報であってもよい。さらに、それら値に加えて、センサの特性や状態、計測日時等を示すメタデータを含む情報であってもよい。 The information referred to in the present invention is a variety of information satisfying the above characteristics, and is not limited to the sensor information (102). Specific examples include, but are not limited to, values measured by sensor devices including temperature, humidity, current or voltage values, fluid flow rates, substance concentrations, brightness, noise, position, and acceleration. Information other than sensors, for example, acquired via the Web or the Internet may be used. Further, in addition to these values, information including metadata indicating sensor characteristics and states, measurement date and time, and the like may be used.
本図の例ではA、D、Tという3つのキーに対してそれぞれ数の値を持っており、Aは高度(altitude)、Dは日付(date)、Tは温度(temperature)を表している。例えば(ア)のセンサ情報は、高度35m、日付が2011年6月11日、温度が摂氏23.5度であることを表し、東京23区の最も高い山で測定した気温のデータであることを示している。同様に(ウ)のセンサ情報は東京都の最も高い山(標高2017m)で測定した気温のデータを、(エ)のセンサ情報は日本の最も高い山(標高3776m)で測定した気温のデータを示している。そして、本実施例においては、キー「A」(高度)に対して2分木データ構造を適用することで一時プール(101)を管理する。なお、本発明の適用範囲はuTupleデータ形式によって記述されるセンサ情報に限るものではなく、上述した特徴を持つセンサ情報一般に適用可能である。 In the example of this figure, each of the three keys A, D, and T has a numeric value, A is an altitude, D is a date, and T is a temperature. . For example, the sensor information in (a) indicates that the altitude is 35 m, the date is June 11, 2011, the temperature is 23.5 degrees Celsius, and the temperature is measured at the highest mountain in Tokyo's 23 wards. Is shown. Similarly, the sensor information in (c) is the temperature data measured at the highest mountain in Tokyo (altitude 2017m), and the sensor information in (d) is the temperature data measured at the highest mountain in Japan (altitude 3776m). Show. In this embodiment, the temporary pool (101) is managed by applying the binary tree data structure to the key “A” (altitude). Note that the scope of application of the present invention is not limited to sensor information described in the u Tuple data format, and is applicable to sensor information having the above-described features in general.
第4図は新たに一時プール(101)への登録処理をしようとするセンサ情報(102)の内容を示す。
本実施の形態では、本図に示される(キ)というセンサ情報が、ネットワーク(109)を通じて新たに一時プール登録部(101)に到着し、該情報の登録処理を行う様子を以下に詳述する。
FIG. 4 shows the contents of sensor information (102) to be newly registered in the temporary pool (101).
In the present embodiment, a state in which the sensor information (K) shown in the figure newly arrives at the temporary pool registration unit (101) through the network (109) and performs registration processing of the information will be described in detail below. To do.
一時プール登録部(110)は、該情報を受信し、一時プール(101)に対して該情報を挿入することによって、センサ情報(102)の一時プール(101)への登録処理を行う。該情報のうち主キーはA(高度)であるから値は45である。これを2分木構造に挿入する方法はよく知られており、その結果は次の第5図のようになる。 The temporary pool registration unit (110) receives the information and inserts the information into the temporary pool (101) to perform registration processing of the sensor information (102) in the temporary pool (101). The value is 45 because the primary key of the information is A (altitude). The method of inserting this into a binary tree structure is well known, and the result is as shown in FIG.
第5図は登録処理を行った後の一時プール(101)が保持するデータ構造を示す。
ここで、チャンク生成装置(100)は、一時プールからSチャンクの作成を行う以下の一連の動作を起動する。なお、起動の契機は、前述の一時プール登録部(110)によるセンサ情報(102)の一時プール(101)への登録処理の完了であってもよく、あるいは、該登録処理の完了とは非同期的に、タイマー等の手段によって該動作を起動してもよい。
FIG. 5 shows the data structure held by the temporary pool (101) after the registration process.
Here, the chunk generation device (100) starts the following series of operations for creating an S chunk from the temporary pool. The activation trigger may be the completion of the registration process of the sensor information (102) in the temporary pool (101) by the temporary pool registration unit (110) described above, or asynchronous with the completion of the registration process. In particular, the operation may be activated by means such as a timer.
まず、起動されたSチャンク作成部(111)は、一時プール(101)から近傍のセンサ情報群を取り出す。ここで近傍とは、データの値が相互に近いことであり、かつ前述した木構造一般に見られる特性に関する考察に基づくと、木構造上で隣り合って配置されているデータであるとも言える。具体的に例示すると以下のような処理である。 First, the activated S chunk creation unit (111) extracts a nearby sensor information group from the temporary pool (101). Here, the neighborhood means that the data values are close to each other, and it can also be said that the data are arranged adjacent to each other on the tree structure based on the above-described consideration regarding the characteristics generally found in the tree structure. Specifically, the processing is as follows.
第6図は一時プール(101)から近傍のセンサ情報群を取り出す動作を示す。
Sチャンク作成部(111)が特定のノードを注目点(261)として選択し、その近傍にあるデータを選択してそれを取り出し範囲(262)と定める。ここでは木構造のデータ数7個に対して、取り出し範囲の含むデータ数を3個とという定数にて動作するものとし、注目点(261)として(ア)を選択し、注目点のデータ(ア)およびその部分木を構成するデータ(オ)(キ)を取り出し範囲としている。
FIG. 6 shows an operation of extracting a nearby sensor information group from the temporary pool (101).
The S chunk creation unit (111) selects a specific node as a point of interest (261), selects data in the vicinity thereof, and defines it as an extraction range (262). Here, it is assumed that the number of data included in the extraction range is 3 with respect to the number of data in the tree structure, and that (a) is selected as the point of interest (261), and the data of the point of interest ( A) and data (e) (ki) constituting the subtree are taken out as the extraction range.
なお注目点(261)の選択方法は、この例では、日付が最も古いデータを選択している。他にも、最も日付が新しいデータを選択するとか、日付以外の他のキーに対する値(例えば第3図の例ではD以外のキーすなわちAあるいはT)が最も大きいあるいは小さいデータを選択するとか、最も頻繁に検索によって取り出されているデータを選択するとか、複数あるいは全ての注目点を選択してみて取り出し範囲の含むデータ全体の値の幅が最も小さくなる候補を選択するといった方法が可能である。 In this example, the method of selecting the attention point (261) selects the data with the oldest date. In addition, when selecting data with the newest date, selecting data with the largest or smallest value for a key other than the date (for example, a key other than D, ie, A or T in the example of FIG. 3), It is possible to select the data extracted most frequently by search, or select a candidate having the smallest value width of the entire data included in the extraction range by selecting a plurality or all of the points of interest. .
Sチャンク作成部(111)は、上記により定めた取り出し範囲(262)のセンサ情報(102)を一時プール(101)から読み出し、新しいファイルにその内容を書き込む。該ファイルがSチャンク(104)に相当する。該ファイルはSチャンク記憶装置(103)に格納され、既存のSチャンク(104)と重複しないファイル名を割り付ける。この例では通し番号を付与し、「S7」というファイル名で該ファイルを作成している。さらに、取り出したセンサ情報(102)は、一時プール(101)から削除する。 The S chunk creation unit (111) reads the sensor information (102) of the extraction range (262) determined as described above from the temporary pool (101), and writes the contents in a new file. This file corresponds to the S chunk (104). The file is stored in the S chunk storage device (103), and a file name that does not overlap with the existing S chunk (104) is assigned. In this example, a serial number is assigned and the file is created with the file name “S7”. Further, the extracted sensor information (102) is deleted from the temporary pool (101).
第7図は作成されたS7というファイル名のSチャンク(104)のファイルの内容を示す。
取り出し範囲(262)が含むセンサ情報(オ)(ア)(キ)のuTupleデータ形式
による記述を、主キー(本実施例では「A」)の値順に、テキスト形式で書き出したものとなっている。
FIG. 7 shows the contents of the created file of the S chunk (104) having the file name S7.
Descriptions of sensor information (e) (a) (g) included in the extraction range (262) in the utuple data format are written in a text format in the order of the value of the primary key ("A" in this embodiment). Yes.
次に、上述した新たなSチャンク(104)の作成に伴って、Sチャンクプール登録部(112)は、Sチャンクプール(105)に対して該Sチャンクに対応する荷札情報(106)を新たに登録する処理を行う。この処理内容を示すにあたり、まず、該登録処理以前に保持されているデータの様子を示した後、登録処理の手順について具体的に説明することとする。 Next, with the creation of the new S chunk (104) described above, the S chunk pool registration unit (112) newly updates the tag information (106) corresponding to the S chunk to the S chunk pool (105). Process to register with. In showing the processing contents, first, after showing the state of data held before the registration processing, the procedure of the registration processing will be specifically described.
第8図はSチャンクプール(105)が保持するデータ構造を示す。
本図の例では6つの荷札情報を保持している。例えば「50〜85:S1」という記載が荷札情報の一例であり、木の当該ノードが第9図で示すS1というファイル名の情報本体に対応する荷札情報であることを表す。このように荷札情報には情報本体を含んでおらず、対応する情報本体へのポインタ(ここではファイル名「S1」)と、検索に用いる主キーの値(ここでは「50〜85」)という情報のみが含まれている。
FIG. 8 shows a data structure held by the S chunk pool (105).
In the example of this figure, six tag information is held. For example, the description “50 to 85: S1” is an example of the tag information, indicating that the node of the tree is tag information corresponding to the information body of the file name S1 shown in FIG. As described above, the tag information does not include the information body, and is referred to as a pointer to the corresponding information body (here, the file name “S1”) and the value of the primary key used for the search (here, “50 to 85”). Contains information only.
なおこのような範囲情報を主キーとして木構造に格納するにあたっては、Sチャンクプール(105)が用いる木構造が値範囲あるいは複数の値を索引として直接操作可能なデータ構造であれば、上記例であれば50および85という2つの数値を用いて木構造に格納してもよい。あるいは、本実施の形態においては2分木を用いており、単一の値のみを索引として直接操作可能であるため、始値「50」のみを用いて木構造を構成することとする。すなわち、第8図の6つのノードは、始値に着目すると左から順に45→50→65→85→333→599と整列されている。いずれの木構造を用いた場合でも、本例のように近いデータが近傍に並ぶように整列されて格納されることになるのは、既に考察した通りである。 When storing such range information as a primary key in a tree structure, if the tree structure used by the S chunk pool (105) is a data structure that can be directly manipulated using a value range or a plurality of values as an index, the above example If so, it may be stored in the tree structure using two numerical values of 50 and 85. Alternatively, in the present embodiment, a binary tree is used, and only a single value can be directly operated as an index. Therefore, a tree structure is configured using only the opening value “50”. That is, the six nodes in FIG. 8 are arranged in the order of 45 → 50 → 65 → 85 → 333 → 599 in order from the left when paying attention to the opening price. Regardless of which tree structure is used, as described above, close data is arranged and stored so as to be arranged in the vicinity as in this example.
第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」を値として有する。
FIG. 9 shows the contents of the file of the S chunk (104) corresponding to S1 and S2 in the tag information (106) held by the S chunk pool (105).
For example, regarding the S chunk (104) having the file name S1, the minimum value in the file of the value of the key “A” is 50 and the maximum value is 85. Therefore, the tag information (106) corresponding to the S chunk has the above value range “50 to 85” and the file name “S1” as values. Similarly, for the S chunk (104) with the file name S2, the corresponding tag information (106) has the value range “45 to 65” and the file name “S2” as values.
以上でSチャンクプール登録部(112)による荷札情報(106)の該登録処理の以前に保持されているデータの様子を示したので、以下では該当録処理の手順について述べる。 The state of the data held before the registration processing of the tag information (106) by the S chunk pool registration unit (112) has been described above, and the procedure of the corresponding recording processing will be described below.
第10図は一時プール(101)からの近傍のセンサ情報群の取り出しとSチャンク(104)の生成に伴ってSチャンクプール(105)への登録処理をしようとする新たな荷札情報(301)の内容を示す。 FIG. 10 shows the new tag information (301) to be registered in the S chunk pool (105) as the sensor information group in the vicinity is extracted from the temporary pool (101) and the S chunk (104) is generated. The contents of
前記手順で作成されたS7というファイル名のSチャンク(104)では、第7図で示したように、キー「A」の値の最小値が0で最大値が45である。そこで、Sチャンクプール登録部(112)は、値範囲「0〜45」およびファイル名「S7」を値として有するS07の荷札情報(301)を該Sチャンクに対応して生成する。 In the S chunk (104) having the file name S7 created by the above procedure, the minimum value of the value of the key “A” is 0 and the maximum value is 45 as shown in FIG. Therefore, the S chunk pool registration unit (112) generates the tag information (301) of S07 having the value range “0 to 45” and the file name “S7” as values corresponding to the S chunk.
次にSチャンクプール登録部(112)は、該生成したS7の荷札情報(301)をSチャンクプール(105)に対して挿入することによって、荷札情報(106)のSチャンクプール(105)への登録処理を行う。本実施の形態では該荷札情報のうち始値「0」を主キーとして2分木構造に挿入する。該挿入方法はよく知られており、その結果は次の第11図のようになる。 Next, the S chunk pool registration unit (112) inserts the generated S7 tag information (301) into the S chunk pool (105), thereby transferring the tag information (106) to the S chunk pool (105). Registration process. In the present embodiment, the opening price “0” of the tag information is inserted into the binary tree structure as the main key. The insertion method is well known, and the result is as shown in FIG.
第11図は登録処理を行った後のSチャンクプール(105)が保持するデータ構造を示す。
ここで、チャンク生成装置(100)は、SチャンクプールからLチャンクの作成を行う以下の一連の動作を起動する。なお、起動の契機は、前述のSチャンクプール登録部(112)による荷札情報(106)のSチャンクプール(105)への登録処理の完了であってもよく、あるいは、該登録処理の完了とは非同期的に、タイマー等の手段によって該動作を起動してもよい。
FIG. 11 shows the data structure held by the S chunk pool (105) after the registration process.
Here, the chunk generation device (100) starts the following series of operations for creating an L chunk from the S chunk pool. The activation trigger may be the completion of the registration process of the tag information (106) to the S chunk pool (105) by the S chunk pool registration unit (112) described above, or the completion of the registration process. May be activated asynchronously by means such as a timer.
まず、起動されたLチャンク作成部(113)は、Sチャンクプール(105)から近傍の荷札情報群を取り出す。ここで近傍とは、データの値が相互に近いことであり、かつ前述した木構造一般に見られる特性に関する考察に基づくと、木構造上で隣り合って配置されているデータであるとも言える。具体的に例示すると以下のような処理である。 First, the activated L chunk creation unit (113) takes out a nearby tag information group from the S chunk pool (105). Here, the neighborhood means that the data values are close to each other, and it can also be said that the data are arranged adjacent to each other on the tree structure based on the above-described consideration regarding the characteristics generally found in the tree structure. Specifically, the processing is as follows.
第12図はSチャンクプール(105)から近傍の荷札情報群を取り出す動作を示す。
Lチャンク作成部(113)が特定のノードを注目点(321)として選択し、その近傍にあるデータを選択してそれを取り出し範囲(322)と定める。ここでは木構造のデータ数7個に対して、取り出し範囲の含むデータ数を3個という定数にて動作するものとし、注目点(321)およびその部分木を構成するデータを取り出し範囲としている。
FIG. 12 shows an operation of extracting a nearby tag information group from the S chunk pool (105).
The L chunk creation unit (113) selects a specific node as an attention point (321), selects data in the vicinity thereof, and defines it as an extraction range (322). Here, for the number of data in the tree structure, the number of data included in the extraction range operates with a constant of three, and the point of interest (321) and the data constituting the subtree are set as the extraction range.
なお注目点(321)の選択方法は、この例では、Sチャンクの生成日付が最も古い、すなわち、Sチャンクのファイル名が最も若い通し番号をもつデータを選択している。他にも、最も生成日付が新しいデータを選択するとか、Sチャンクに格納される個々の行すなわち個々のセンサ情報の任意のキーに対する値が最も大きいあるいは小さいデータを選択するとか、最も頻繁に検索によって取り出されているデータを選択するとか、複数あるいは全ての注目点を選択してみて取り出し範囲の含むデータ全体の値の幅が最も小さくなる候補を選択するといった方法が可能である。 In this example, the method of selecting the attention point (321) selects the data having the oldest S chunk generation date, that is, the data having the smallest serial number of the S chunk file name. In addition, select the data with the newest generation date, select the individual row stored in the S chunk, that is, select the data with the largest or smallest value for any key of the individual sensor information, or search the most frequently It is possible to select the data that has been extracted by the above method, or select a candidate having the smallest value width of the entire data included in the extraction range by selecting a plurality or all of the attention points.
Lチャンク作成部(113)は、上記により定めた取り出し範囲(322)の荷札情報(106)をSチャンクプール(105)から読み出し、該読み出された荷札情報(106)に対応するSチャンク(104)のファイルをSチャンク記憶装置(103)から読み出し、新しいファイルにその内容を第13図で示すファイル形式で書き込む。該ファイルがLチャンク(108)に相当する。該ファイルはLチャンク記憶装置(107)に格納され、既存のLチャンク(108)と重複しないファイル名が割り付けられる。この例では通し番号を付与し、「L03」というファイル名で該ファイルを作成している。さらに、取り出した荷札情報(106)は、Sチャンクプール(105)から削除する。 The L chunk creation unit (113) reads the tag information (106) in the retrieval range (322) determined as described above from the S chunk pool (105), and reads the S chunk (106) corresponding to the read tag information (106). 104) is read from the S chunk storage device (103), and the contents are written in a new file in the file format shown in FIG. The file corresponds to the L chunk (108). The file is stored in the L chunk storage device (107), and a file name that does not overlap with the existing L chunk (108) is assigned. In this example, a serial number is assigned and the file is created with the file name “L03”. Further, the retrieved tag information (106) is deleted from the S chunk pool (105).
なお、チャンク生成装置(100)は、Lチャンク記憶装置(107)内に格納されているLチャンク(108)のファイルを、NFSあるいはCIFSあるいはFTPあるいはHTTPあるいはWebDAVあるいはGoogleFSあるいはHadoop DFSのようなファイル共有手段を用いて、ネットワーク(109)を介して他の計算機に公開してもよい。 The chunk generation device (100) converts the file of the L chunk (108) stored in the L chunk storage device (107) into a file such as NFS, CIFS, FTP, HTTP, WebDAV, GoogleFS, or Hadoop DFS. You may make it public to another computer via a network (109) using a sharing means.
第13図は作成されたL03というファイル名のLチャンク(108)のファイルの内容を示す。
該ファイルは4つのブロックから構成され、第2〜第4ブロックは、上記手順において読み出したSチャンク(104)のファイル内容をそのまま写し書きしたものである。本例では、取り出し範囲(322)はS7、S2、S1の3つのSチャンクに対応する荷札情報を示しているので、これらのSチャンクのファイル内容を順に写し書きし、区切り符号「[EOB]」を末尾に付加する。これらのブロックは、センサ情報の情報本体が格納されている。
FIG. 13 shows the contents of the created file of the L chunk (108) having the file name L03.
The file is composed of four blocks, and the second to fourth blocks are a copy of the file contents of the S chunk (104) read in the above procedure. In this example, the extraction range (322) indicates tag information corresponding to the three S chunks S7, S2, and S1, so the file contents of these S chunks are copied in order, and the delimiter “[EOB] "At the end. These blocks store information bodies of sensor information.
さらに、該ファイルの先頭ブロックは、後続ブロックの荷札情報を、後続ブロックの個数の行数だけ並べ、最後に区切り符号を付加したものである。ここで荷札情報とは、情報本体を含んでおらず、対応する情報本体へのポインタと、検索に用いる主キーの値という情報のみが含まれているものを意味する。例えば1行目の例では、情報本体へのポインタとして1つ目のSチャンク本体が格納されているブロック(すなわち第2ブロック)がファイル先頭から何バイト目から始まるかというオフセット情報の16進数表記と、キー「A」に対して値範囲が「0〜45」であるという情報が格納されている。 Further, the head block of the file is a tag in which tag information of the subsequent block is arranged by the number of lines of the number of the subsequent block, and a delimiter is added at the end. Here, the tag information means information that does not include the information body but includes only information such as a pointer to the corresponding information body and the value of the primary key used for the search. For example, in the example of the first line, the hexadecimal notation of the offset information indicating the number of bytes starting from the beginning of the file in which the first S chunk body is stored as a pointer to the information body (that is, the second block). And information indicating that the value range is “0 to 45” for the key “A”.
このように、Lチャンク(108)の先頭ブロックに荷札情報が記載されていることにより、Lチャンク(108)のファイルの読み取りおよび内部で必要なセンサ情報を探し出す処理が、次のように効率的に実現できる。以下、本発明に係るチャンク読み取り装置の動作について説明する。 As described above, since the tag information is described in the first block of the L chunk (108), the process of reading the file of the L chunk (108) and searching for necessary sensor information therein is efficiently performed as follows. Can be realized. The operation of the chunk reading apparatus according to the present invention will be described below.
ネットワーク(109)に接続されたチャンク読み取り装置は、チャンク生成装置(100)内に生成されたLチャンクのファイルを、上記のファイル共有手段を用いて転送する。
次に、以下の手順によって該ファイルの内容を読み取り、探索を行う。
The chunk reading device connected to the network (109) transfers the L chunk file generated in the chunk generation device (100) using the file sharing means.
Next, the contents of the file are read and searched according to the following procedure.
説明のため、例えば該チャンク読み取り装置はLチャンクのファイル「L03」を転送してきており、その中から、高度が10m〜40mの範囲で計測された気温を調査したいとする。
まず、該装置は該ファイルのうち、先頭ブロックのみをメモリ上に読み出す。
次に該装置は、先頭ブロックのそれぞれの行に記載される荷札情報について、主キーの値の範囲と上記調査範囲との重なり集合が空集合でない行を抽出する。この例では、「A=0〜45」という範囲の情報と「10〜40」という調査範囲とは、重なり集合が10〜40という空でない範囲を持つので、この行が抽出される。その他の行は、重なりが空集合になるので、抽出されない。
For the sake of explanation, for example, it is assumed that the chunk reading device has transferred the file “L03” of the L chunk, and wants to investigate the temperature measured in an altitude range of 10 m to 40 m.
First, the apparatus reads only the first block of the file into the memory.
Next, for the tag information described in each row of the first block, the device extracts a row in which the overlapping set of the primary key value range and the survey range is not an empty set. In this example, the information in the range of “A = 0 to 45” and the survey range of “10 to 40” have a non-empty range in which the overlapping set is 10 to 40, so this row is extracted. Other rows are not extracted because the overlap is an empty set.
次いで、該装置は、抽出された行の荷札情報に記載されるポインタに従って、情報本体の位置を特定する。
この例では、1行目の「_offset=」という部分に続く16進数数値が、対応する情報本体が格納されている第2ブロックに対する当該ファイル内での先頭からのオフセット情報である。
Next, the device specifies the position of the information body according to the pointer described in the tag information of the extracted row.
In this example, the hexadecimal value following the portion “_offset =” on the first line is offset information from the beginning in the file for the second block in which the corresponding information body is stored.
次いで、該装置は、該位置から情報本体をメモリ上に読み出す。すなわちファイルのシークを行い、その位置から、区切り符号が出現するまでファイルを読み出す。 The device then reads the information body from the location onto the memory. That is, the file is sought, and the file is read from that position until a delimiter appears.
次いで、該装置は、メモリ上の読み出した該情報本体の各行を調べ、上記調査範囲に合致する行を抽出する。
この例では、第2ブロックには3行分のセンサ情報が記載されており、その中で高度が10〜40という調査範囲に合致するのは「A=35,D=201110611,T=23.5」という行のみなので、この行が抽出される。これが探索結果となるので、結論として調査したい気温は「摂氏23.5度」であるという結果を得る。
Next, the apparatus examines each row of the read information body on the memory, and extracts a row that matches the examination range.
In this example, the sensor information for three rows is described in the second block, and among them, it is “A = 35, D = 201110611, T = 23. Since this is only the line “5”, this line is extracted. Since this is a search result, the conclusion is that the temperature to be investigated is “23.5 degrees Celsius”.
上記一連の手順において、該Lチャンクには合計9個のセンサ情報が格納されているにもかかわらず、実際にセンサ情報本体をファイルからメモリ上に読み取った行数は、3行であった。また、荷札情報まで含めても、3+3=6行であった。仮に、9つのセンサ情報がフラットに記載されているファイルを読み取って同様の探索を行うとすると、9行分の情報をファイルからメモリ上に読み取る処理が必要になるはずであるから、それに比べて上記処理は効率的な読み取りおよび探索処理が実現できていると言える。 In the above-described series of procedures, although the sensor information of 9 pieces is stored in the L chunk, the number of rows in which the sensor information body is actually read from the file into the memory is 3. Even including the tag information, it was 3 + 3 = 6 lines. If a similar search is performed by reading a file in which 9 pieces of sensor information are written in a flat form, it is necessary to read 9 lines of information from the file into the memory. It can be said that the above processing has realized efficient reading and searching processing.
本実施の形態では、各Sチャンクが3個、各Lチャンクが3×3=9個のセンサ情報を含む例で説明したが、これを100×100個あるいは1000×1000個などとした場合、上記の効率差はさらに拡大し、本実施形態における上記処理の優位性がさらに増す。この効率性は、本実施形態におけるLチャンクのファイル形式が、それ単独である種の木構造を形成していることに起因している。すなわちLチャンクは、先頭ブロックが木の1階層目のノード(ルートノード)、第2〜末尾ブロックが木の2階層目のノードとなるような、2階層の木構造を形成している。 In the present embodiment, an example in which each S chunk includes 3 pieces of sensor information and each L chunk includes 3 × 3 = 9 pieces of sensor information has been described. However, when this is set to 100 × 100 pieces or 1000 × 1000 pieces, The efficiency difference is further increased, and the superiority of the processing in the present embodiment is further increased. This efficiency is due to the fact that the file format of the L chunk in this embodiment forms a tree structure that is a single type. That is, the L chunk forms a two-layer tree structure in which the first block is a node (root node) in the first layer of the tree and the second to last blocks are nodes in the second layer of the tree.
本実施の形態の例ではルートノードが3つの後続ブロックを持ち、各後続ブロックは3行分のセンサ情報を含むので、3分木を形成している。このように木構造であるため、木構造の特質を利用した上述のようなチャンク読み取り装置を用いることによって、効率的にLチャンクの中のセンサ情報を探索することができる。 In the example of the present embodiment, the root node has three subsequent blocks, and each subsequent block includes sensor information for three rows, thus forming a tri-tree. Since it is a tree structure in this way, it is possible to efficiently search for sensor information in the L chunk by using the above-described chunk reading device using the characteristics of the tree structure.
さらにこのLチャンクのファイル形式は、木構造を形成していながら、すべてテキスト形式で記述されており、バイナリ形式による可読困難な情報を含む必要がないという利点がある。具体的には、第2ブロック以降がセンサ情報のuTupleデータ形式による表記をそのまま並べたものであるため、人間にとって可読性が高く、また、センサ情報全体を読み取るプログラムを極めて簡易に作成することができる。 Further, the file format of the L chunk is described in a text format while forming a tree structure, and there is an advantage that it is not necessary to include difficult-to-read information in a binary format. Specifically, since the second and subsequent blocks are arranged in the uTuple data format of sensor information as they are, they are highly readable for humans, and a program for reading the entire sensor information can be created very easily. .
さらに、第1ブロックについても単純な形式であるため、人間にとって可読性が高く、また、荷札情報を読み取るあるいは読み飛ばすプログラムを簡易に作成することができる。このような取り扱い容易性と、木構造による効率性を、両立している点が本実施形態のLチャンクのファイル形式の特徴の一つである。 Furthermore, since the first block has a simple format, it is highly readable for humans, and a program for reading or skipping tag information can be easily created. One of the characteristics of the file format of the L chunk of the present embodiment is that both such ease of handling and efficiency due to the tree structure are compatible.
本実施形態を用いれば、このような効率的な読み取り処理を可能とするLチャンクのファイル形式を、2段階の木構造を用いて効率的に生成することができる。このような本実施形態の方式は、従来手法すなわち1段階の木構造すなわち一時プールのみを用いて、9個のセンサ情報を抽出し、その9個のセンサ情報をさらに並べ替えてLチャンクの上記ファイル構造を生成する方式よりも、該並べ替えの処理が不要となり、効率的にLチャンクを生成できる。 If this embodiment is used, the file format of the L chunk that enables such an efficient reading process can be efficiently generated using a two-stage tree structure. Such a method of the present embodiment uses the conventional method, that is, one-stage tree structure, that is, only the temporary pool, extracts nine pieces of sensor information, and further rearranges the nine pieces of sensor information to perform the above-described processing of the L chunk. Compared to the method of generating the file structure, the rearrangement process is not necessary, and the L chunk can be generated efficiently.
さらに、本実施形態の方式では、該1段階の木構造のみを用いる従来手法に比べて、一時プールのサイズを小さく保つことが可能となる。なぜならば、近傍のセンサ情報を効果的に集めて取り出し範囲とするためには、取り出す個数に対して母集団の個数が十分に大きくなければならない。この比率が例えば0.1%すなわち1000倍の個数が必要だったとして、個々のLチャンクに例えば1000×1000=100万個のセンサ情報を格納するとき、従来手法では1000×1000×1000=10億個のセンサ情報を一時プールが保持しなければならず、処理負荷が高い。 Furthermore, in the method of the present embodiment, the size of the temporary pool can be kept small compared to the conventional method using only the one-stage tree structure. This is because the number of populations must be sufficiently larger than the number to be extracted in order to effectively collect sensor information in the vicinity and set it as the extraction range. For example, when the ratio is 0.1%, that is, 1000 times the number is necessary, when storing 1000 × 1000 = 1 million pieces of sensor information in each L chunk, the conventional method has 1000 × 1000 × 1000 = 10. The temporary pool must hold 100 million pieces of sensor information, and the processing load is high.
本実施形態によれば、一時プールからは1000個ずつ取り出すので1000×1000=100万個を保持すればよく、またSチャンクプールも同じく1000個ずつ取り出すので1000×1000=100万個を保持すればよいので、大幅に処理負荷を軽減でき、効率的に目的とするLチャンクを生成することができる。 According to this embodiment, since 1000 pieces are taken out from the temporary pool, it is sufficient to hold 1000 × 1000 = 1 million pieces, and since the S chunk pool is also taken out 1000 pieces, 1000 × 1000 = 1 million pieces are held. Therefore, the processing load can be greatly reduced, and the target L chunk can be generated efficiently.
なお、本実施の形態においては、一時プールおよびSチャンクプールという2段階の木構造を用いて最終的な目的とするチャンクのファイル(ここではLチャンク)を生成した。本発明の範囲はこれに限るものではなく、Sチャンクに対して行ったのと同様のやり方をLチャンクに対しても適用して、Lチャンクプールを構成し、Lチャンクを複数個集めた「LLチャンク」を生成するような、3段階の木構造によるチャンク生成も可能である。さらには、同様に4段階あるいは5段階といったことも可能であるが、前述した処理容易性の利点が薄れていくため、2〜3段階程度が適切である。 In the present embodiment, a final target chunk file (here, L chunk) is generated using a two-stage tree structure of a temporary pool and an S chunk pool. The scope of the present invention is not limited to this. The same method as that applied to the S chunk is also applied to the L chunk to form an L chunk pool and collect a plurality of L chunks. Chunk generation by a three-stage tree structure that generates “LL chunk” is also possible. Furthermore, although it is possible to have four or five stages in the same manner, about two to three stages are appropriate because the advantages of the ease of processing described above are diminished.
本実施の形態において、一時プール(101)およびSチャンクプール(105)は2分木データ構造を用いて実現された。本発明の範囲はこれに限るものではなく、これらの片方あるいは両方に対して、AVL木、B木、B+木、R木などを含む任意の木構造が適用可能である。特に、多次元検索木Ubi−treeを適用することができ、その場合は次に述べる顕著な利点を得ることができる。すなわち、Ubi−treeは複数の値ならびに値範囲を一度に索引として処理可能なデータ構造である。 In the present embodiment, the temporary pool (101) and the S chunk pool (105) are realized using a binary tree data structure. The scope of the present invention is not limited to this, and an arbitrary tree structure including an AVL tree, a B tree, a B + tree, an R tree, or the like can be applied to one or both of them. In particular, the multidimensional search tree Ubi-tree can be applied, and in that case, the following significant advantages can be obtained. That is, Ubi-tree is a data structure that can be processed using a plurality of values and value ranges as an index at a time.
さらに、キーの種類すなわち次元数は数百といった規模で取り扱い可能である。さらに、各データに値を含む次元と含まない次元が共存しても効率的に処理可能である。これらの特徴から、Ubi−treeにはuTupleデータ形式で記述されたセンサ情報を直接格納し、探索処理を行うことができる。このようなUbi−treeを本実施形態の一時プールならびにSチャンクプールに用いると、主キーとして全ての値、すなわちuTupleデータ全体をそのまま木構造に格納することができる。その結果、全ての値を加味した上で最もよく近傍を形成するセンサ情報あるいは荷札情報の集合を取り出し範囲として得ることができる。 Furthermore, the types of keys, that is, the number of dimensions, can be handled on the scale of several hundreds. Furthermore, even if a dimension including a value and a dimension not including each data coexist, processing can be performed efficiently. From these characteristics, the Ubi-tree can directly store the sensor information described in the u Tuple data format and perform the search process. When such a Ubi-tree is used for the temporary pool and the S chunk pool of this embodiment, all values as the primary key, that is, the entire uTuple data can be stored in the tree structure as it is. As a result, a set of sensor information or tag information that most closely forms the neighborhood after taking all values into consideration can be obtained as the extraction range.
さらに、荷札情報には主キーの範囲を記載するのであるから、全ての値を主キーとして取ることができるUbi−treeにおいては、荷札情報に全ての値の範囲を記載することができる。これによって、Lチャンクの先頭ブロックに記載される荷札情報には全ての値の範囲が列挙されるため、上記示した例では高度すなわち「A」の範囲条件のみ効率的に探索可能であったが、Ubi−treeを用いれば全ての種類の範囲条件あるいはそれらの組み合わせに対しても効率的なLチャンク内の探索を可能にできる。なお、この場合、上記で指摘したLチャンクが形成する「ある種の木構造」とは、自然にUbi−tree構造そのものになっている点を特に指摘しておく。 Further, since the range of the primary key is described in the tag information, in the Ubi-tree that can take all values as the primary key, the range of all values can be described in the tag information. As a result, the range of all values is listed in the tag information described in the first block of the L chunk, so in the example shown above, only the range condition of altitude, that is, “A”, could be searched efficiently. If Ubi-tree is used, an efficient search within the L chunk can be made for all types of range conditions or combinations thereof. In this case, it is particularly pointed out that the “certain tree structure” formed by the L chunk pointed out above is naturally a Ubi-tree structure itself.
以上述べたように、本実施形態においてUbi−treeを木構造に用いることにより、荷札情報の生成方式ならびにLチャンクのファイル形式との相乗効果により、顕著な効果を得ることができる。 As described above, by using Ubi-tree in the tree structure in the present embodiment, a remarkable effect can be obtained by a synergistic effect with the tag information generation method and the L chunk file format.
なお、本発明の装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。 The apparatus of the present invention can be realized by a computer and a program, and can be recorded on a recording medium or provided through a network.
本発明は情報通信産業に適用することができる。 The present invention can be applied to the information communication industry.
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の荷札情報
100: Chunk generation device 101: Temporary pool 102: Sensor information 103: S chunk storage device 104: S chunk 105: S chunk pool 106: Tag information 107: L chunk storage device 108: L chunk 111: S chunk creation unit 112: S chunk pool registration unit 113: L chunk creation unit 261, 321:
Claims (8)
前記装置は一時プールと第1チャンクとチャンクプールを保持し、
前記一時プールは情報を木構造で管理し、
前記第1チャンクは前記装置が生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙したファイルであり、
前記チャンクプールは個々の前記第1チャンクのデータ範囲と前記第1チャンクの識別情報を示す荷札情報を木構造で管理し、
情報を前記一時プールに登録する機能と、
前記一時プールから木構造で近傍の情報群を取り出し前記第1チャンクを作成する機能と、
前記第1チャンクの荷札情報を生成して前記チャンクプールに登録する機能と、
前記チャンクプールから木構造で近傍の荷札情報群を取り出しそれらの荷札情報が示す前記第1チャンクの含む情報を少なくとも含む第2チャンクを作成する機能と、
を少なくとも有することを特徴とするチャンク生成装置。 A device for generating a chunk, which is a file listing a plurality of information,
The device maintains a temporary pool, a first chunk and a chunk pool;
The temporary pool manages information in a tree structure,
The first chunk is a file that lists a smaller number of information than the number of information that should be included in the chunk that the device intends to generate,
The chunk pool manages tag information indicating a data range of each first chunk and identification information of the first chunk in a tree structure,
A function of registering information in the temporary pool;
A function of extracting a neighboring information group in a tree structure from the temporary pool and creating the first chunk;
A function of generating tag information of the first chunk and registering it in the chunk pool;
A function of extracting a neighboring tag information group in a tree structure from the chunk pool and creating a second chunk including at least information included in the first chunk indicated by the tag information;
A chunk generation device characterized by comprising:
前記第2チャンクを作成する機能は、
k個の前記第1チャンクの含む情報から前記第2チャンクを作成する際に、
前記第2チャンクは前記k個の第1チャンク内容のファイル内位置を検索するための索引情報と前記k個の第1チャンク内容の並びをその構成要素として少なくとも含む
ことを特徴とするチャンク生成装置。 The chunk generation device according to claim 1,
The function of creating the second chunk is as follows:
When creating the second chunk from the information contained in k first chunks,
The second chunk includes at least index information for searching the position of the k first chunk contents in a file and the arrangement of the k first chunk contents as a constituent element. .
前記一時プール及び前記チャンクプールは、前記木構造としてUBI−Tree検索木アルゴリズムを用い、
前記第1チャンクの前記荷札情報が示す前記第1チャンクのデータ範囲は複数のキーに対する値の集合として表現し、
前記第2チャンクの前記索引情報は複数のキーに対する値の集合から前記第1チャンク内容のファイル内位置を検索するための索引情報である
ことを特徴とするチャンク生成装置。 The chunk generation device according to claim 1, wherein:
The temporary pool and the chunk pool use a UBI-Tree search tree algorithm as the tree structure,
The data range of the first chunk indicated by the tag information of the first chunk is expressed as a set of values for a plurality of keys,
The chunk generation device, wherein the index information of the second chunk is index information for searching a file position of the contents of the first chunk from a set of values for a plurality of keys.
請求項2ないし3に記載のチャンク生成装置で作成されたチャンクを入力とし、索引情報を読み取る機能と、
検索条件に合致する索引情報を選択する機能と、
ファイル読み取り位置を索引情報が示すファイル内位置に移動する機能と、
前記移動したファイル内位置から前記第1チャンク内容を読み取る機能と、
を少なくとも有することを特徴とするチャンク読み取り装置。 A device that reads chunks,
A function of reading the index information with the chunk created by the chunk generation device according to claim 2 as input;
A function to select index information that matches the search conditions;
A function to move the file reading position to the position in the file indicated by the index information;
A function of reading the contents of the first chunk from the position in the moved file;
A chunk reading apparatus characterized by comprising:
前記一時プール登録部が、情報を前記一時プールに登録し、前記一時プールが、該情報を木構造で管理する手順と、
前記第1チャンク作成部が、前記一時プールから木構造で近傍の情報群を取り出し、生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙した前記第1チャンクを作成する手順と、
前記荷札情報生成部が、前記第1チャンクの識別情報を示す荷札情報を生成して前記チャンクプールに登録し、前記チャンクプールが、個々の前記第1チャンクのデータ範囲と前記第1チャンクの荷札情報を木構造で管理する手順と、
前記第2チャンク作成部が、前記チャンクプールから木構造で近傍の荷札情報群を取り出し、それらの荷札情報が示す前記第1チャンクの含む情報を少なくとも含む第2チャンクを作成する手順と、
を順に実行するチャンク生成方法。 The temporary pool, the first chunk, and the chunk pool are held, the temporary pool registration unit, the first chunk creation unit, the tag information generation unit, and the second chunk creation unit are provided, and a chunk that is a file listing a plurality of information is generated. A method performed by a chunk generator ,
And procedures wherein the temporary pool registration unit registers the information on the one o'clock pool, the temporary pool, to manage the information in a tree structure,
Wherein the first chunk creating unit extracts the information group in the vicinity of a tree structure from the one o'clock pool, to create the first chunk listed fewer information than enumerating the number of information should contain chunk to be generated Procedure and
The label information generating unit, said first and generates tag information indicating identification information of the chunk registered in the chunk pool, the chunk pool, tag of the data range of each of the first chunk first chunk Procedures for managing information in a tree structure ;
The second chunk creation unit takes out a neighboring tag information group in a tree structure from the chunk pool and creates a second chunk including at least information included in the first chunk indicated by the tag information;
Chunk generation method to execute in order.
前記第2チャンク作成部が、
k個の前記第1チャンクの含む情報から前記第2チャンクを作成する際に、
前記第2チャンクに前記k個の第1チャンク内容のファイル内位置を検索するための索引情報と前記k個の第1チャンク内容の並びをその構成要素として少なくとも含める
ことを特徴とするチャンク生成方法。 The chunk generation method according to claim 5,
The second chunk creation unit
When creating the second chunk from the information contained in k first chunks,
Chunks, wherein at least that include in the arrangement of the the index information for searching a file position within the k first chunk contents of the first chunk content of the k-number in the second chunk as its components Generation method.
前記一時プール及び前記チャンクプールは、前記木構造としてUBI−Tree検索木アルゴリズムを用い、
前記第1チャンクの前記荷札情報が示す前記第1チャンクのデータ範囲は複数のキーに対する値の集合として表現し、
前記第2チャンクの前記索引情報は複数のキーに対する値の集合から前記第1チャンク内容のファイル内位置を検索するための索引情報である
ことを特徴とするチャンク生成方法。 The chunk generation method according to claim 5, wherein:
The temporary pool and the chunk pool use a UBI-Tree search tree algorithm as the tree structure,
The data range of the first chunk indicated by the tag information of the first chunk is expressed as a set of values for a plurality of keys,
The chunk generation method, wherein the index information of the second chunk is index information for searching a file position of the contents of the first chunk from a set of values for a plurality of keys.
前記一時プールでは、情報を木構造で管理させ、
前記第1チャンクは、生成しようとするチャンクが含むべき情報の列挙数よりは少ない数の情報を列挙したファイルであり、
前記チャンクプールでは、個々の前記第1チャンクのデータ範囲と前記第1チャンクの識別情報を示す荷札情報を木構造で管理させ、
請求項1ないし3のいずれか1項に記載の各機能を実現させるためのチャンク生成プログラム。 Let the computer hold the temporary pool, the first chunk, and the chunk pool,
In the temporary pool, information is managed in a tree structure,
The first chunk is a file that lists a smaller number of information than the number of information that should be included in the chunk to be generated.
In the chunk pool, the tag range information indicating the data range of each of the first chunks and the identification information of the first chunks is managed in a tree structure,
The chunk generation program for implement | achieving each function of any one of Claim 1 thru | or 3 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011150059A JP5517263B2 (en) | 2011-07-06 | 2011-07-06 | Chunk generating device, chunk reading device, chunk generating method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011150059A JP5517263B2 (en) | 2011-07-06 | 2011-07-06 | Chunk generating device, chunk reading device, chunk generating method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013016112A JP2013016112A (en) | 2013-01-24 |
JP5517263B2 true JP5517263B2 (en) | 2014-06-11 |
Family
ID=47688728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011150059A Active JP5517263B2 (en) | 2011-07-06 | 2011-07-06 | Chunk generating device, chunk reading device, chunk generating method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5517263B2 (en) |
Cited By (1)
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 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5871842B2 (en) * | 2013-03-04 | 2016-03-01 | 日本電信電話株式会社 | Information visualization apparatus, method, and program |
JP5998112B2 (en) * | 2013-08-26 | 2016-09-28 | 日本電信電話株式会社 | Access control method, data storage method, access control system, data storage device, and program |
JP5909467B2 (en) * | 2013-08-26 | 2016-04-26 | 日本電信電話株式会社 | Information recording method, information recording apparatus, and program |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2001390C (en) * | 1988-12-19 | 1997-12-30 | Ming-Chien Shan | View composition in a data-base management system |
JPH11232283A (en) * | 1998-02-10 | 1999-08-27 | Hitachi Ltd | Information retrieving method |
JP2000348038A (en) * | 1999-06-02 | 2000-12-15 | Fujitsu Ltd | Device and method for storing data for semi-structured database |
JP4782490B2 (en) * | 2005-06-29 | 2011-09-28 | 富士通株式会社 | Data set dividing program, data set dividing apparatus, and data set dividing method |
JP2011008525A (en) * | 2009-06-25 | 2011-01-13 | Toshiba Corp | Information processing apparatus and video processing method |
JP5300655B2 (en) * | 2009-08-24 | 2013-09-25 | 日本電信電話株式会社 | Information storage search method, information storage search device, and program |
-
2011
- 2011-07-06 JP JP2011150059A patent/JP5517263B2/en active Active
Cited By (1)
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 |
Also Published As
Publication number | Publication date |
---|---|
JP2013016112A (en) | 2013-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200334295A1 (en) | Merge tree garbage metrics | |
US10725988B2 (en) | KVS tree | |
US20200334294A1 (en) | Merge tree modifications for maintenance operations | |
TWI719281B (en) | A system, machine readable medium, and machine-implemented method for stream selection | |
US20180307428A1 (en) | Data storage method, electronic device, and computer non-volatile storage medium | |
CN102016789B (en) | Data processing apparatus and method of processing data | |
CN102867071B (en) | Management method for massive network management historical data | |
KR20200053512A (en) | KVS tree database | |
CN103678491A (en) | Method based on Hadoop small file optimization and reverse index establishment | |
JP5517263B2 (en) | Chunk generating device, chunk reading device, chunk generating method and program | |
CN103914483B (en) | File memory method, device and file reading, device | |
CN104915148A (en) | System and method for efficient content caching in a streaming storage | |
JP4491480B2 (en) | Index construction method, document retrieval apparatus, and index construction program | |
CN111045994A (en) | KV database-based file classification retrieval method and system | |
CN109408462A (en) | A kind of document storage management method and electronic equipment based on educational system | |
JP2015176407A (en) | Search device, search method, search program and search data structure | |
CN105930534B (en) | A kind of fragmentation of data reduction method based on cloud storage service price | |
Karim et al. | An efficient approach to mining maximal contiguous frequent patterns from large DNA sequence databases | |
JP5670993B2 (en) | Reconstruction apparatus, method and program for tree structure by single path aggregation | |
JP2006092409A (en) | Composite database retrieval system, composite database retrieval method, and program therefor | |
WO2014061305A1 (en) | Entry insertion device, method, and program | |
KR100908301B1 (en) | List-based maximum frequent subtree extraction method and apparatus | |
CN111566627A (en) | Information accumulation device, data processing system, and program | |
JP6480495B2 (en) | Data management apparatus, data management method, and program | |
JP5687219B2 (en) | Data search system, data search method, and data search program |
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 |