JP2014164382A - Information storage method, information storage device, and program - Google Patents
Information storage method, information storage device, and program Download PDFInfo
- Publication number
- JP2014164382A JP2014164382A JP2013033040A JP2013033040A JP2014164382A JP 2014164382 A JP2014164382 A JP 2014164382A JP 2013033040 A JP2013033040 A JP 2013033040A JP 2013033040 A JP2013033040 A JP 2013033040A JP 2014164382 A JP2014164382 A JP 2014164382A
- Authority
- JP
- Japan
- Prior art keywords
- data
- information
- search
- chunk
- holding unit
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000012545 processing Methods 0.000 claims description 63
- 238000012217 deletion Methods 0.000 claims 2
- 230000037430 deletion Effects 0.000 claims 2
- 230000006870 function Effects 0.000 description 26
- 230000001133 acceleration Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 8
- 101100268548 Caenorhabditis elegans apl-1 gene Proteins 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、センサ情報データベースを構成する情報記録方法及び情報記録装置及びプログラムに関する。 The present invention relates to an information recording method, an information recording apparatus, and a program that constitute a sensor information database.
従来、センサの計測データのような情報すなわちセンサ情報を効率的に蓄積することを目的として、チャンクと呼ばれるデータファイルを生成する方法ならびに装置(特許文献1)が提案されていた。
該装置の基本的な動作の要点は、特許文献1の記載を、以下で述べていく本発明の記載内容に倣って適宜読み替えると、次の特徴で表される。「複数の属性値を含むデータ群を保持する情報保持部と、前記情報保持部が保持する前記データのうち、前記属性値に関して予め定められた条件を満たす情報を選択する情報選択部と、前記情報選択部が選択した前記情報を含む前記予め定められた条件毎のファイルを生成し、前記情報選択部が選択した前記情報を前記情報保持部から削除する情報切り出し部と、を具備することを特徴とする。」
上記従来技術の特徴によれば、情報保持部がセンサ情報の一時的なバッファとして機能し、センサ情報のアーカイブファイルであるチャンクと呼ばれるデータファイルを順次生成していく。チャンクは予め定められた条件、例えば「温度センサに関するデータ」等によって整理された状態で生成される。この条件は、例えば、個々のデータが複数の属性値を含むため、その属性の値あるいは属性の名前等によって判断してよい。これによって、大量のデータを長期間に渡って高速に蓄積でき、情報保持部は一定程度の記憶領域で実現でき、かつ、チャンクはファイル転送等によって容易に別のコンピュータに移し替えて使用することができる等の利点が得られる。
Conventionally, a method and an apparatus (Patent Document 1) for generating a data file called a chunk have been proposed for the purpose of efficiently storing information such as sensor measurement data, that is, sensor information.
The essential points of the basic operation of the apparatus are expressed by the following features when the description of
According to the above-described conventional feature, the information holding unit functions as a temporary buffer for sensor information, and sequentially generates data files called chunks that are archive files of sensor information. Chunks are generated in a state arranged according to predetermined conditions, such as “data on temperature sensors”. This condition may be determined, for example, based on the attribute value or attribute name because each data includes a plurality of attribute values. As a result, a large amount of data can be accumulated at high speed over a long period of time, the information holding unit can be realized in a certain storage area, and the chunk can be easily transferred to another computer by file transfer etc. Advantages such as being able to
また従来、多次元検索木UBI-Treeのような木構造アルゴリズムを用いて、効率的にチャンクを生成する方法(非特許文献2)があった。この従来技術によれば、情報保持部を木構造アルゴリズムで保持することにより、木構造で近傍にあるデータすなわちデータ値が相互に関連の深いデータをひとまとまりとして、チャンクを生成することができる。このため、様々な種類のセンサ情報を一度に取り扱う場合にも柔軟な動作が可能である。 Conventionally, there has been a method for efficiently generating chunks using a tree structure algorithm such as a multidimensional search tree UBI-Tree (Non-Patent Document 2). According to this prior art, by holding the information holding unit with a tree structure algorithm, it is possible to generate chunks by collecting data that are close to each other in the tree structure, that is, data that is closely related to data values. Therefore, a flexible operation is possible even when various types of sensor information are handled at a time.
一方、近年、スマートフォンに代表される小型の携帯型装置が普及している。これらの装置は、計算速度やメモリ等に関してはパソコンやサーバ装置に比べて劣る反面、小型軽量で可搬性に優れ、かつ、加速度センサやGPSやジャイロセンサや近接センサや温度計や照度計やカメラや音量計やマイクやNFCやFeliCaなどの、数多くのセンサを搭載しているという特徴がある。また、携帯電話回線や無線LAN等によってインターネット接続も可能であり、内蔵センサに加えてそれらネット上の情報も併せて取り扱うことができる。従って、これらの情報を順次蓄積したいという要求が高まっている。 On the other hand, in recent years, small portable devices typified by smartphones have become widespread. These devices are inferior to personal computers and server devices in terms of calculation speed, memory, etc., but they are small, light and portable, and include acceleration sensors, GPS, gyro sensors, proximity sensors, thermometers, illuminometers, and cameras. It has a feature that it is equipped with a lot of sensors such as a sound volume meter, microphone, NFC and FeliCa. In addition, it is possible to connect to the Internet via a mobile phone line, a wireless LAN, etc., and in addition to the built-in sensor, information on the Internet can be handled together. Accordingly, there is an increasing demand for sequentially storing these pieces of information.
従来技術におけるチャンク生成ならびにそれを特徴とする情報記録装置では、スマートフォン等で用いる際、計算量(処理の量)や必要メモリが大きすぎるといった問題があった。具体的には以下のような問題が挙げられる。
まず、情報保持部が多くのメモリを要求するとともに、情報保持部から情報を選択する動作に多くの計算量を要するという問題があった。例えば特許文献1には一実施形態が開示されているが、この情報選択動作においては、情報保持部の保持するデータ内容を全て調べて、情報切り出しの対象を選択する必要があり、計算量が大きかった。また例えば非特許文献1では、情報保持部をUBI-Tree検索木で構成する形態が開示されているが、この索引が占めるメモリ量が大きかった。
The chunk generation in the prior art and the information recording apparatus characterized by it have a problem that the amount of calculation (the amount of processing) and the required memory are too large when used in a smartphone or the like. Specifically, there are the following problems.
First, there is a problem that the information holding unit requires a large amount of memory and a large amount of calculation is required for the operation of selecting information from the information holding unit. For example, although one embodiment is disclosed in
次に、情報切り出しは情報保持部からチャンクへのデータの複製を伴うが、この処理の量が大きいという問題があった。
次に、データ検索の際の計算量が大きいという問題があった。チャンクの形で保存されているデータに対して検索を行う際、全てのデータを検索すると、大量のデータを調査しなければならず、このための処理の量が大きかった。
Next, although the information cutout involves copying data from the information holding unit to the chunk, there is a problem that the amount of processing is large.
Next, there was a problem that the amount of calculation at the time of data retrieval was large. When searching for data stored in the form of chunks, if all the data is searched, a large amount of data must be investigated, and the amount of processing for this is large.
次に、データ検索で得られたセンサ情報を、アプリケーションプログラムが使用する際に必要となるメモリが大きくなってしまうという問題があった。情報記録装置、いわゆるデータベース管理システムに対してアプリケーションが検索要求を発行すると、データベース管理システムは検索結果のデータをアプリケーションに返却する。センサ情報を扱うアプリケーションでは、例えば加速度の分析処理を行う場合等、一定期間のセンサ情報が時系列的にどのように変化するかを解析して、その特徴を抽出することが求められる。このために必要となるデータの総量は比較的大きくなってしまう。PC上での解析であれば問題ないデータ量であっても、スマートフォン等ではアプリケーションプログラムで使用可能なメモリ領域に制約がある場合が多く、上記のような処理がメモリ制約によって記述できないという問題があった。 Next, there is a problem that a memory required when an application program uses sensor information obtained by data search becomes large. When an application issues a search request to an information recording apparatus, a so-called database management system, the database management system returns search result data to the application. In an application that handles sensor information, it is required to analyze how sensor information changes for a certain period in time series, for example, when performing an acceleration analysis process, and to extract the features. For this reason, the total amount of data required is relatively large. Even if the amount of data is not a problem if analyzed on a PC, there are many cases where the memory area that can be used by application programs is limited in smartphones, and the above processing cannot be described due to memory constraints. there were.
さらに、処理性能の関係からデータ検索には一定の時間がかかってしまうが、その間にも新たなセンサ情報の蓄積処理は正常に継続されなければならず、このような要求を満たすことができないという問題があった。
本発明は、このような事情を考慮してなされたものであり、その目的は、比較的小さな計算量および使用メモリによって、センサ情報などのデータをチャンクを生成しつつ順次蓄積し、検索を行う情報記録方法及び情報記録装置及びプログラムを提供することにある。
Furthermore, it takes a certain amount of time to search for data due to the processing performance, but the new sensor information storage process must continue normally during that time, and such a request cannot be satisfied. There was a problem.
The present invention has been made in consideration of such circumstances, and its purpose is to sequentially store data such as sensor information while generating chunks and perform a search with a relatively small calculation amount and memory used. An object is to provide an information recording method, an information recording apparatus, and a program.
この発明は上述した課題を解決するためになされたもので、本発明の一様態による情報記録装置は、情報保持部へのデータ蓄積に先立って情報選択部による分類選択を行い、その結果に基づいて予め区分けして情報を記録する。これによって、情報保持部のメモリ量が小さくてすむとともに、情報切り出しの計算量が小さくてすむ。 The present invention has been made to solve the above-described problems. An information recording apparatus according to an embodiment of the present invention performs classification selection by an information selection unit prior to data storage in an information holding unit, and based on the result. To record information in advance. As a result, the memory amount of the information holding unit can be reduced, and the calculation amount of information cut-out can be reduced.
また、本発明の一様態による情報記録装置は、上述の情報記録装置であって、上記区分けはファイルを個々に作成することで行い、チャンクの生成はファイルのリネームによって行う。これによって、情報切り出しの処理量が小さくてすむ。
また、本発明の一様態による情報記録装置は、チャンクに含まれる時刻情報の範囲をメタ情報保持部が記憶しておく。これによって、検索の際に不要なチャンクのデータファイルへのアクセス処理を行わなくてすむ。
An information recording apparatus according to an aspect of the present invention is the above-described information recording apparatus, wherein the division is performed by creating files individually, and chunks are generated by renaming the files. This reduces the amount of information extraction processing.
In the information recording apparatus according to one aspect of the present invention, the meta information holding unit stores the range of time information included in the chunk. As a result, it is not necessary to perform access processing to a chunk data file that is not required for retrieval.
また、本発明の一様態による情報記録装置は、検索結果をアプリケーションに返却する際、複数回に分けて結果を返却する。その際、回数分けの単位はチャンクごととし、生成順序が古いチャンクから処理対象とする。これによって、アプリケーションは検索結果のデータを細切れに受け取ることができるため、一度の処理に要するメモリが少なくてすむ。さらに、アプリケーションは検索結果のデータを蓄積された順番で受け取ることができるため、時系列順にデータ解析するといった処理を記述する際、前回受け取った検索結果等は適宜破棄することができるようになるため、一度の処理に要するメモリが少なくてすむ。一方、これを実現する情報記録装置は簡易な構成あるいは処理でよく、計算量および必要メモリが小さくてすむ。 In addition, the information recording apparatus according to an aspect of the present invention returns the results in a plurality of times when returning the search results to the application. At this time, the unit of frequency division is set to each chunk, and the chunks with the oldest generation order are processed. As a result, the application can receive the search result data in small pieces, so that the memory required for one process is reduced. Furthermore, since the application can receive the search result data in the order in which they are stored, when describing processing such as data analysis in time series order, the previously received search result can be discarded as appropriate. Less memory is required for a single process. On the other hand, an information recording apparatus for realizing this may have a simple configuration or processing, and a calculation amount and a necessary memory are small.
また、本発明の一様態による情報記録装置は、上述の情報記録装置であって、排他制御手段すなわちマルチスレッドのロックを適切に確保・解放することで複数スレッドによる同時要求を正しく取り扱うことができる。その際、一般的にはデータの読み出し(検索)中には他のデータの書き込み(登録)を同時に行うことはできず処理が待たされることが多いが、該情報記録装置においては、前記のように検索結果のデータを細切れに受け取っている際、その受け取ったアプリケーションプログラムから他のデータの登録要求を受け付けるように、ロックの解放を行う。さらに、そのようなデータ登録要求があった際、それに起因して新たなチャンクが生成される場合があるが、そのような生成を検出する手段と、当該チャンクに対して追加でデータ検索ならびに検索結果の返却を行う手段とを具備することを特徴とする。これによって、データ検索に時間がかかる場合であっても、新たなセンサ情報の蓄積を継続して行うことができ、かつ、そのような蓄積によって該データ検索の結果にデータ抜け等の矛盾を来すことなく正常に動作を継続できる。 An information recording apparatus according to an aspect of the present invention is the above-described information recording apparatus, and can properly handle simultaneous requests by a plurality of threads by appropriately securing and releasing exclusive control means, that is, multithread lock. . At this time, generally, during data reading (searching), writing (registration) of other data cannot be performed at the same time, and processing is often awaited. When the search result data is received in pieces, the lock is released so that a registration request for other data is received from the received application program. Furthermore, when such a data registration request is made, a new chunk may be generated due to the request, but a means for detecting such generation and an additional data search and search for the chunk. And a means for returning the result. As a result, even when data search takes time, new sensor information can be continuously accumulated, and such accumulation causes inconsistencies such as missing data in the data search results. Normal operation can be continued without any problems.
より詳細には、以下のようにして、課題を解決する。
複数の属性値を含むデータ群を記録する情報記録装置であって、データを予め定められた条件により分類選択する情報選択部と、該分類結果に従って区分けされた記憶領域にデータを保持する情報保持部と、該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部とを具備する。
More specifically, the problem is solved as follows.
An information recording apparatus for recording a data group including a plurality of attribute values, an information selection unit for selecting and classifying data according to a predetermined condition, and an information holding for holding data in a storage area classified according to the classification result A data file called a chunk including data included in one of the divided storage areas, and the generated data is deleted from the information holding unit.
該情報保持部は該区分けされた記憶領域の一つ一つをファイルとして保持し、該情報切り出し部は該ファイルをチャンクのファイル名へとリネームすることで該チャンクの生成と該削除とを一度に行う。
複数の属性値を含むデータ群を記録する情報記録装置であって、該データには少なくとも時刻情報を含み、該データを保持する情報保持部と、該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部と、該情報保持部が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する情報検索部と、該生成されたチャンク内に含まれるデータの時刻情報の最大値ならびに最小値をチャンクごとに保持するメタ情報保持部とを具備し、該情報検索部は該与えられた条件が時刻情報を含む場合には該メタ情報保持部の持つ時刻情報と照合することによって時刻情報が合致するチャンクのみを検索対象とする。
The information holding unit holds each of the divided storage areas as a file, and the information cutout unit renames the file to the file name of the chunk, thereby generating and deleting the chunk once. To do.
An information recording apparatus for recording a data group including a plurality of attribute values, the data including at least time information, an information holding unit for holding the data, and data called a chunk including a subset of the data set A file is generated, and the generated data is data that matches the conditions given to the information cutout unit to be deleted from the information holding unit, the data held by the information holding unit, and the generated chunk group And a meta information holding unit for holding the maximum value and the minimum value of the time information of the data included in the generated chunk for each chunk. If the condition includes time information, only chunks that match the time information are searched for by collating with the time information of the meta information holding unit.
複数の属性値を含むデータ群を記録する情報記録装置であって、該データを保持する情報保持部と、該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部と、該情報保持部が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する情報検索部とを具備し、該情報記録装置はさらに、該情報検索部において、生成順序の古いチャンクから順にデータ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行う手段と、該情報保持部に対するデータ検索ならびに検索結果の返却を行う手段とを順に実行することによって、登録順序の古いデータから順に検索結果を返却する。 An information recording apparatus for recording a data group including a plurality of attribute values, wherein an information holding unit for holding the data and a data file called a chunk including a subset of the data set are generated, and the generated data Includes an information cut-out unit to be deleted from the information holding unit, and an information search unit for searching for data that matches the given condition for the data held by the information holding unit and the generated chunk group. The information recording apparatus further includes means for repeatedly performing data search and return of search results for all chunks in order from the chunk having the oldest generation order in the information search unit, and data search and search results for the information holding unit. The search results are returned in order from the data with the oldest registration order.
さらに、データの検索動作中に別のデータの登録要求を受け付けた場合にも正常に動作することができる排他制御手段を有し、該情報検索部は、検索結果を順次返却する際に、一の検索結果を返却した時点で別のデータの登録要求を受け付けた際にそのデータの登録要求の処理を完了して該検索結果に引き続く検索処理を継続実行できるように該排他制御手段を用いて制御する手段と、データ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行った後に他のデータの登録要求の処理に起因して当初存在しなかった新たなチャンクが当該検索処理中に追加されていることを検出する手段と、該追加されたチャンクに対してデータ検索ならびに検索結果の返却を行う手段とを有する。 Further, it has an exclusive control means that can operate normally even when another data registration request is received during the data search operation. The exclusive control means is used so that when a request for registration of another data is accepted at the time when the search result is returned, the processing of the registration request for that data is completed and the search processing following the search result can be continued. New chunks that did not originally exist due to the processing of registration requests for other data after adding the means to control and data retrieval and returning search results to all chunks were added during the retrieval process And a means for searching the added chunk and returning a search result.
以上述べたように、本発明によれば、比較的小さな計算量および使用メモリによって、センサ情報などのデータをチャンクを生成しつつ順次蓄積し、検索を行う情報記録方法および情報記録装置及びプログラムを提供することができる。 As described above, according to the present invention, an information recording method, an information recording apparatus, and a program for sequentially storing data such as sensor information while generating chunks and performing a search with a relatively small calculation amount and use memory are provided. Can be provided.
本発明の実施の形態の一つを以下に示す。
図1は本実施の形態における装置構成を示す。情報記録装置100は温度センサ103と加速度センサ104を具備し、アプリケーション102のプログラムとライブラリ101のプログラムが動作する。ライブラリ101内には、情報選択部110と情報保持部111と情報切り出し部112と情報検索部113とメタ情報保持部114があり、さらに、マルチスレッド動作を保護するためのロック115を1つ持つ。ロック115は一般的なread-writeロック(shared-exclusiveロック)である。この他、情報記録装置100は一般的なスマートフォンが具備するような、タッチパネルディスプレイ130と携帯電話回線のデータ通信機能131と無線LAN(WiFi)通信機能132と内蔵フラッシュメモリ120とmicroSDカードスロット121とを具備する。カードスロット121にはメモリカードが挿入されているものとする。
One embodiment of the present invention will be described below.
FIG. 1 shows an apparatus configuration in the present embodiment. The
アプリケーション102は名称を「apl1」と呼称する。また、温度センサ103と加速度センサ104は、大分類を「smphone」と呼称し、小分類をそれぞれ「temperature」と「accel」と呼称するものとする。
上記に示した情報記録装置100を構築するには、例えば、次のような方法がある。まず、ライブラリ101のプログラムは予め作成しておく。次に、アプリケーション102のプログラムを作成し、上記作成したライブラリ101のプログラムと共にコンパイルして、スマートフォン用の実行ファイルを得る。該実行ファイルを、記録媒体あるいは通信回線を通じてスマートフォン用アプリとしてインストールする。以上が情報記録装置100の構築方法の一例である。このような構築方法は、スマートフォンのアプリケーション開発において一般的に行われている。なお、アプリケーション102のプログラムとライブラリ101のプログラムの具体的な中身については、以下で詳細に説明していく。
The
For example, the following method can be used to construct the
図2はディレクトリ構成を示す。情報記録装置100は、内蔵フラッシュメモリ120をディレクトリパス/mnt/sdcardにマウントし、microSDカードを/mnt/sdcard/external_sdにマウントする。このようなマウント状況は、市販のスマートフォンにおいて一般的な構成の一例である。図2はそれらマウントされたディレクトリおよびファイルの配置の様子を示している。例えば、ファイル(203)は
パス/mnt/sdcard/apl1/smphone/temperature/pool.txt
で示されるファイルであることが図示されており、また、ファイル(204)は
パス/mnt/sdcard/external_sd/chunk/smphone/temperature/01.cnk
で示されるファイルであることが図示されている。
FIG. 2 shows a directory structure. The
The file (204) is path / mnt / sdcard / external_sd / chunk / smphone / temperature / 01.cnk.
It is illustrated that the file is indicated by.
パスの意味について説明する。ディレクトリ名apl1とは、アプリケーション102の名称「apl1」に由来する。ディレクトリ名smphoneとは、上述の大分類の名称「smphone」に由来する。ディレクトリ名temperatureとは、上述の小分類の名称「temperature」に由来し、同様に、ディレクトリ名accelとは、上述の小分類の名称「accel」に由来する。ディレクトリ名chunkとは、以下で説明する本装置の動作によって次々に生成される、チャンクと呼ばれるデータファイルを格納することに由来する。
The meaning of the path will be described. The directory name apl1 is derived from the name “apl1” of the
図中、記号201は、情報保持部111を示している。本実施の形態においては、情報保持部111とは、特定のフォルダ以下に配置されたファイル群により実現される。ここではセンサの種類によって、ファイル(203)とファイル(206)の2つの記憶領域に区分けされている様子が図示されている。すなわち、ファイル(203)は大分類「smphone」かつ小分類「temperature」に関するセンサデータを保持するために区分けされており、同様に、ファイル(206)は大分類「smphone」かつ小分類「accel」に関するセンサデータを保持するために区分けされている。
In the figure,
また、図中、記号(207)は、以下に示す動作の一例によって、新たなファイルが生成される様子を説明するために本図に記載している。具体的な生成手順は以下で詳細に説明していく。
図3はファイル(203)の中身を示す。既に示したように、該ファイルは大分類「smphone」かつ小分類「temperature」に関するセンサデータ、すなわち、温度センサ103から得られた情報を保持する。ここでは3つのセンサデータが保持されている様子が図示されている。例えば行(301)は、日時(date)が2012年12月06日02時36分18秒かつ大分類(subject)がsmphoneかつ小分類(type)がtemperatureかつ観測値(value)が3.7(度)であるという一の観測結果のデータを表す。なお簡単のため、以下では、時刻表記に「2012-12-06 02:36:18」のような記載も用いることとする。このように、本実施の形態においては、それぞれのセンサデータは「キー=値」の任意個の並びから構成されるデータ形式によって記述することとする。
Further, in the figure, symbol (207) is shown in this figure for explaining how a new file is generated by an example of the following operation. A specific generation procedure will be described in detail below.
FIG. 3 shows the contents of the file (203). As already indicated, the file holds sensor data relating to the large classification “smphone” and the small classification “temperature”, that is, information obtained from the temperature sensor 103. Here, a state in which three pieces of sensor data are held is illustrated. For example, in the row (301), the date and time (date) is December 06, 2012, 02:36:18, the major classification is smphone, the minor classification (type) is temperature, and the observation value (value) is 3.7 (degrees). ) Is one observation result data. For the sake of simplicity, hereinafter, a description such as “2012-12-06 02:36:18” is also used in the time notation. Thus, in the present embodiment, each sensor data is described in a data format composed of an arbitrary number of arrangements of “key = value”.
なお、本発明のいうセンサ情報とは、上記に限らず様々な情報がその対象となるものであって、具体的に一例を挙げると、温度や湿度、電流あるいは電圧値、流体の流量、物質の濃度、明度、騒音、位置、加速度などを含むセンサデバイスが計測した値を取り扱ってよく、またそれに限らず、センサ以外の例えばWebやインターネットを経由して取得した情報であってもよい。さらに、それら値に加えて、センサの特性や状態、計測日時等を示すメタデータを含む情報であってもよい。 Note that the sensor information referred to in the present invention is not limited to the above, and various types of information are targets. Specifically, for example, temperature, humidity, current or voltage value, fluid flow rate, substance The values measured by the sensor device including the density, brightness, noise, position, acceleration, etc. of the sensor may be handled, and the information is not limited to this, and may be information acquired via, for example, the Web or the Internet. Further, in addition to these values, information including metadata indicating sensor characteristics and states, measurement date and time, and the like may be used.
図4はファイル(206)の中身を示す。既に示したように、該ファイルは大分類「smphone」かつ小分類「accel」に関するセンサデータ、すなわち、加速度センサ104から得られた情報を保持する。ここでは2つのセンサデータが保持されている様子が図示されている。例えば行(341)は、日時(date)が2012-12-07 13:28:10かつ大分類(subject)がsmphoneかつ小分類(type)がaccelであって、かつ、X軸観測値(x)が0.52かつY軸観測値(y)が0.23かつZ軸観測値(z)が9.78であるという一の観測結果のデータを表す。Z軸だけ値が大きいのは重力加速度が観測されている様子を表す。また、行(342)は日時が2012-12-07 13:28:11であり、行(341)からは1秒しか経過していない。これは加速度センサ104の時間軸分解能が高いためであり、このように、センサデータが観測され登録操作が行われる間隔はセンサの種類によって様々である。
FIG. 4 shows the contents of the file (206). As already indicated, the file holds sensor data relating to the large classification “smphone” and the small classification “accel”, that is, information obtained from the
図5はファイル(204)の中身およびファイル(205)の中身を示す。いずれのファイルも大分類(subject)がsmphoneかつ小分類(type)がtemperatureに関する観測結果のデータである。それぞれのファイルは4つずつのセンサデータを保持している。また、ファイル内で日時(date)は古い順に並んでおり、かつ、ファイル名が若いファイル(204)よりファイル名が大きいファイル(205)のほうが、日時(date)が新しいセンサデータを保持している。 FIG. 5 shows the contents of the file (204) and the contents of the file (205). All the files are data of observation results related to smphone in the large classification (subject) and temperature in the small classification (type). Each file holds four sensor data. In addition, the date and time (date) are arranged in the oldest order in the file, and the file (205) with a larger file name than the file with the younger file name (204) retains the sensor data with the new date and time (date). Yes.
本実施の形態においては、このように、観測されたセンサデータを4つずつ組にして、チャンクと呼ばれるデータファイルを生成していく。データファイルは、センサの大分類および小分類ごとに別々のディレクトリに、通し番号を含むファイル名で格納される。新たなセンサデータが観測され登録操作が行われるに従って、このようなチャンクが次々と生成されていく。以下ではまず、この登録操作の具体的な処理手順を説明し、その後、これらのセンサデータに対して検索操作を行う処理手順を説明していく。 In this embodiment, in this way, the observed sensor data is grouped by four to generate a data file called a chunk. The data file is stored in a separate directory for each major classification and minor classification of the sensor with a file name including a serial number. As new sensor data is observed and a registration operation is performed, such chunks are generated one after another. In the following, first, a specific processing procedure of the registration operation will be described, and then a processing procedure for performing a search operation on these sensor data will be described.
図6はメタ情報保持部114の保持する情報を示す。桁(351)は大分類(subject)を表し、桁(352)は小分類(type)を表し、桁(353)はチャンクファイルの通し番号を表し、桁(354)は時刻(date)の最小値を表し、桁(355)は時刻(date)の最大値を表す。一方、行(356)は、大分類(subject)がsmphoneかつ小分類(type)がtemperatureかつチャンクファイルの通し番号が01であるチャンクのデータファイル、すなわちファイル(204)に含まれるデータ群は、時刻(date)の最小値が2012-12-01 05:45:12かつ最大値が2012-12-03 01:45:30であることを表している。実際、図5に示したファイル(204)の中身において、行(311)が時刻の最小値であり、かつ、行(314)が時刻の最大値であって、これは上述の記載内容と合致している。
FIG. 6 shows information held by the meta
図7は登録しようとするセンサデータを示す。ここでは、2012-12-07 13:28:20という時刻に温度センサ103が14.8度という観測値を得たとする。センサデータ(401)は上記内容を記載したものである。記載の規則は既に述べた通りである。 FIG. 7 shows sensor data to be registered. Here, it is assumed that the temperature sensor 103 obtains an observation value of 14.8 degrees at a time of 2012-12-07 13:28:20. The sensor data (401) describes the above contents. The rules of description are as described above.
図8は登録処理のフローチャートを示す。これに沿って処理手順を説明していく。
アプリケーション102がライブラリ101のデータ登録関数を呼び出すと、ライブラリ101は登録処理を開始する(手順410)。ライブラリ101は、まず、ロック115を取得する(手順411)。ここではデータへの書き込みが発生するので、writeロックを取得する。なお、このようにライブラリ関数の入口でロックを確保し終了直前で解放するやり方は、マルチスレッドのプログラミング技法として一般的である。次に、情報選択部110は、センサデータ(401)から分類情報すなわち大分類(subject)および小分類(type)の値を取得する(手順412)。ここではそれぞれ「smphone」「temperature」という値が得られる。次に、ライブラリ101は、センサデータ(401)を情報保持部111内の区分けされた記憶領域のうち該分類情報で選択される領域へと保存する。すなわち、当該大分類および小分類のパス名で表されるファイル(203)の末尾行に、センサデータ(401)の行を追記する(手順413)。
FIG. 8 shows a flowchart of the registration process. A processing procedure will be described along this line.
When the
次に、情報切り出し部112は、該領域すなわちファイル(203)のサイズ判定を行い、チャンク生成処理を実行するかどうかを判定する(手順414)。サイズ判定とは、例えば、ファイルの行数あるいはバイト数が一定の閾値を越えたかどうかによって判定してよい。本実施の形態においては、ファイルの行数が4行以上となった時点で、以下に示す手順でチャンク生成処理を実行することとする。
Next, the
情報切り出し部112は、まず、ファイル移動によるチャンク生成を試みる(手順415)。生成すべきファイルは、図2における記号(207)のディレクトリ位置に、通し番号において次の番号を含むファイル名を生成する。すなわちこの例においては、
パス/mnt/sdcard/external_sd/chunk/smphone/temperature/03.cnk
で示されるファイルを生成することを行おうとする。
The
Path / mnt / sdcard / external_sd / chunk / smphone / temperature / 03.cnk
An attempt is made to generate the file indicated by.
ここで、ファイル移動によるチャンク生成とは、
「/mnt/sdcard/apl1/smphone/temperature/pool.txt」
というファイルを、
「/mnt/sdcard/external_sd/chunk/smphone/temperature/03.cnk」
にリネームする操作を行うことにより実現する。一般に、Linux(登録商標)やWindows(登録商標)などのOSでは、ファイルのリネームの際に別のディレクトリ名を指定することによって、ファイルのディレクトリ間移動も同時に行うことができる。ただし、移動元と移動先が同じディスク装置である場合に限り、リネーム操作が成功する。
Here, chunk generation by moving files is
"/Mnt/sdcard/apl1/smphone/temperature/pool.txt"
A file called
"/Mnt/sdcard/external_sd/chunk/smphone/temperature/03.cnk"
This is realized by performing an operation of renaming. In general, in an OS such as Linux (registered trademark) or Windows (registered trademark), a file can be moved at the same time by specifying another directory name when renaming the file. However, the rename operation succeeds only when the source and destination are the same disk device.
本実施の形態においては、既に述べたように、移動元のディレクトリは内蔵フラッシュメモリ120上に存在し、移動先のディレクトリはmicroSDカードスロット121に挿入されたメモリカード上に存在する。すなわち、移動元と移動先は別のディスク装置なので、該リネーム操作は失敗する(手順416における成功判定)。
In the present embodiment, as already described, the transfer source directory exists on the built-in
次に、情報切り出し部112は、ファイルをコピーして元ファイルを削除することでファイルの移動操作を代替し、これによってチャンクの生成を行う。すなわち、ファイル(203)を、
「/mnt/sdcard/external_sd/chunk/smphone/temperature/03.cnk」
にコピーする(手順417)。続いて、ファイル(203)を削除する(手順418)。
Next, the
"/Mnt/sdcard/external_sd/chunk/smphone/temperature/03.cnk"
(Step 417). Subsequently, the file (203) is deleted (step 418).
次に、情報切り出し部112は、新たなファイル(203)を作成する(手順419)。内容は空とする。
図9は登録処理後のファイル(203)の中身および新たに生成されるファイルの中身を示す。行(331)から行(333)は、元のファイル(203)に記載されていた内容である。行(334)は、手順413によって追記された行であり、センサデータ(401)の内容である。
Next, the
FIG. 9 shows the contents of the file (203) after registration processing and the contents of a newly generated file. Lines (331) to (333) are the contents described in the original file (203). A line (334) is a line added by the
次に、情報切り出し部112は、上記一連の手順によって作成した新たなチャンクのデータファイルが含む時刻の最小値と最大値に関する情報を、メタ情報保持部114に追記する(手順420)。
図10は登録処理後のメタ情報保持部114の保持する情報を示す。行(359)が手順420によって新たに追記された情報であり、大分類(subject)がsmphoneかつ小分類(type)がtemperatureであって、03という通し番号を持つチャンクは、時刻(date)の最小値が2012-12-06 02:36:18かつ、最大値が2012-12-07 13:28:20であることを表している。これらの時刻は、該生成されたチャンクにおける行(331)および行(334)の時刻情報と同じものである。
Next, the
FIG. 10 shows information held by the meta
最後に、ライブラリ101は、ロック115を解放(手順421)して、ライブラリの呼び出し元にリターンし、一連の処理を完了する。
図11は登録処理ならびに検索処理の動作シーケンスの一例を示す。本図11のうち、記号560から記号561までが、上記に示した登録処理に関するアプリケーション102とライブラリ101とのインタラクションを図示している。すなわち、本図11において、スレッドA(551)がアプリケーション102内で走行しライブラリ101を呼び出したスレッドであり、データ登録関数呼び出し(560)によってライブラリ101に制御が移り、リターン(561)で呼び出し元へと制御が復帰する。
Finally, the
FIG. 11 shows an example of an operation sequence of registration processing and search processing. In FIG. 11,
以下では、次に、検索処理について説明していく。図11においては、記号562から記号567までの動作にあたる。
図12は検索条件を示す。検索条件(501)は、時刻(date)の範囲が2012-12-04 12:00:00から2012-12-06 12:00:00に含まれ、かつ、大分類(subject)がsmphoneかつ小分類(type)がtemperatureという条件を全て満たすデータを検索するという条件を表している。
In the following, the search process will be described next. In FIG. 11, the operations from
FIG. 12 shows search conditions. The search condition (501) includes a time (date) range from 2012-12-04 12:00:00 to 2012-12-06 12:00:00, and a large classification (subject) of smphone and small It represents the condition of searching for data that satisfies all the conditions that the classification (type) is temperature.
なお、本実施の形態においては、大分類(subject)および小分類(type)の値を検索条件として指定することは必須である。一般に、アプリケーション102は自分が登録したデータのsubjectおよびtypeは把握しているため、この制約は問題とはならない。
In the present embodiment, it is essential to specify the values of the major classification (subject) and the minor classification (type) as search conditions. In general, since the
図13は検索処理のフローチャートを示す。本図13および図11に沿って処理手順を説明していく。
アプリケーション102がライブラリ101のデータ検索関数を呼び出す(記号562)と、ライブラリ101は検索処理を開始する(手順510)。呼び出しの際、アプリケーション102は検索条件(501)に加えて、コールバック関数を引数として渡す。このような操作は、例えばプログラミング言語Cであれば関数ポインタを引数として渡すことで容易に実現でき、一般的なプログラミング技法である。該関数が呼び出されると、情報検索部113は、まず、ロック115を取得する(手順511)。ここではデータへの読み出しのみが発生するので、readロックを取得する。
FIG. 13 shows a flowchart of search processing. The processing procedure will be described with reference to FIGS.
When the
次に、情報検索部113は、検索候補となるチャンクのファイルリストを取得する(手順512)。ここでいう検索候補とは、検索条件から取得された分類情報に適合するチャンクであって、かつ、メタ情報保持部114が保持する時刻情報の範囲と照らし合わせて対象データを含む可能性があるファイルのことである。具体的には、本例においてはこの時点で「01.cnk」「02.cnk」「03.cnk」の3つのチャンクが、検索条件(501)から取得された分類情報すなわち大分類(subject)がsmphoneかつ小分類(type)がtemperatureに該当する保存ディレクトリである
パス/mnt/sdcard/external_sd/chunk/smphone/temperature/
に存在している。ここで、この3つのファイルのそれぞれに対して、メタ情報保持部114から該当する行を探し、時刻の最小値と最大値を得る。例えば、01.cnkに対しては、最小値が2012-12-01 05:45:12かつ最大値が2012-12-03 01:45:30という情報を得る。これと、検索条件(501)が含む時刻情報の範囲とを比較し、少しでも重なりがあるかどうかを判定する。例えば、01.cnkに対しては、検索条件(501)が含む時刻情報の範囲は2012-12-04 12:00:00から2012-12-06 12:00:00であるから、重なりは無いと判定され、従って01.cnkは検索候補ではないと判断できる。同様にして、02.cnkと03.cnkについては、時刻情報の範囲に重なりがあると判定され、これらは検索候補であると判断できる。結果として、該ファイルリストとして、02.cnkおよび03.cnkというリストが得られる。
Next, the
Path / mnt / sdcard / external_sd / chunk / smphone / temperature /
Exists. Here, for each of the three files, the corresponding line is searched from the meta
次に、情報検索部113は、ロック115を解放する(手順513)。この時点で、マルチスレッド処理における他のスレッドからのデータ登録要求を、ライブラリ101が受け付け可能となる。
以降、該ファイルリストをファイル名の小さい順に、手順515から手順517までを繰り返し実行する(手順514)。この例では、まず02.cnkに対する処理を行い、次に03.cnkに対する処理を行う。
Next, the
Thereafter, the file list is repeatedly executed from the
情報検索部113は、当該ファイルを読み込み(手順515)、その中のデータに対して検索条件(501)に合致するものを抽出する(手順516)。例えば、02.cnkに対する処理の場合、行(323)と行(324)が抽出される。次いで、情報検索部113は、該抽出結果が空でなかった場合、該抽出結果を検索結果としてコールバックを行う(手順517および記号563)。コールバック先は、アプリケーション102から渡されたコールバック関数である。コールバック関数から処理がリターン(記号564)した後、情報検索部113は処理を継続する。
The
図14は検索結果を示す。コールバック関数に渡される検索結果(591)の内容は上記の通りである。
また例えば、03.cnkに対する処理の場合、行(331)が抽出される。これを検索結果としてコールバックを行う(手順517および記号565)。コールバック関数に渡される検索結果(592)の内容は上記の通りである。コールバック関数から処理がリターン(記号566)した後、情報検索部113は処理を継続する。
FIG. 14 shows the search result. The contents of the search result (591) passed to the callback function are as described above.
For example, in the case of processing for 03.cnk, the row (331) is extracted. This is used as a search result to make a callback (
このように、検索結果は複数回に分けてコールバックされるが、その際に含まれるデータは登録された順すなわちdateの古いものから新しいものの順番で返却されている。このため、アプリケーションが検索結果のデータを時系列に沿って分析する際、k回目のコールバックを受けた時点で(k-1)回目までのコールバックで返されたデータは破棄することができ、アプリケーションの必要メモリ量を小さく抑えることができるという効果が得られる。 In this way, the search result is called back multiple times, and the data included at that time is returned in the order of registration, that is, from the oldest date to the newest date. Therefore, when the application analyzes the search result data in chronological order, when the kth callback is received, the data returned by the (k-1) th callback can be discarded. As a result, it is possible to obtain the effect that the required memory amount of the application can be kept small.
該ファイルリストの全てのファイルを処理完了したのち(手順514)、情報検索部113は、再度ロック115を取得する(手順518)。次に、情報検索部113は、検索候補となるチャンクのファイルリストであって前回取得からの増加分を取得する(手順519)。増加分とは、既に述べたように手順514から手順517を実行中にはロックを解放しておりデータ登録要求を受け付け可能であるため、データ登録に伴い新たなチャンクが生成される場合があり、そのようなチャンクのことを指す。増加分を得るには、前回の取得結果を記憶しておき、それと現在のファイルリストとを比較すればよい。また、ファイルリストに対しては、手順512と同様に、メタ情報保持部114が保持する時刻情報の範囲と照らし合わせる処理を行って検索候補を絞り込んでおく。
After completing processing of all files in the file list (procedure 514), the
もし増加分があれば(手順520)、手順513以降を再度実行することによって、該増加分に対する検索処理を行う。
増加分が無ければ、チャンクの検索は完了しており残りの検索候補はメタ情報保持部114が保持するデータだけとなるので、情報検索部113は、検索条件から取得された分類情報に適合する場所に格納されているpool.txtを読み込む(手順521)。この例では、大分類(subject)がsmphoneかつ小分類(type)がtemperatureに該当するファイル(203)が対象となる。情報検索部113は、読み込んだデータに対して検索条件(501)に合致するものを抽出する(手順522)。情報検索部113は、ロック115を解放する(手順523)。次いで、情報検索部113は、該抽出結果が空でなかった場合、該抽出結果を検索結果としてコールバックを行う(手順524)。この例では、手順522で抽出された結果は空集合なので、コールバックは省略できる。
If there is an increase (procedure 520), the search processing for the increase is performed by executing
If there is no increase, the search for chunks is completed, and the remaining search candidates are only data held by the meta
最後に、情報検索部113は、ライブラリの呼び出し元にリターンし(記号567)、一連の処理を完了する。
なお、記号570は、上記一連の処理中に別のスレッドA(551)からデータ登録要求を受け付けることも可能である旨を図示している。このような要求は、ロック115によって自動的に待ち合わせが行われ、ロック115が解放された時点で処理される。処理の流れは既に述べた通りのものである。
Finally, the
以上の手順によれば、時間がかかると想定される多数のチャンクの検索処理(手順515から手順516)、および、アプリケーション102へのコールバックが行われているタイミングで、ロック115は解放された状態に保たれる。つまり、データ登録要求などの別の処理要求を受け付けることができる。このため、例えば検索処理中にも新たなセンサデータの登録を行うことができ、登録漏れ(データの取りこぼし)といった事象の発生を防ぐことができる。また、コールバック関数内で新たなデータを登録することができるという利点もあり、これについて以下で詳述する。
According to the above procedure, the
図15は検索処理中に登録処理を行った場合の動作シーケンスの一例を示す。ここでは、図1から図6までで説明した初期状態に対して、アプリケーション(102)の変種が、図12の検索を行い、そのコールバック関数内において図7の新たなデータの登録要求を行った場合の動作について例示する。これを図11の動作シーケンスと対応づけると、記号580は記号562に対応し、記号581は記号563に対応し、記号582は記号560に対応し、記号583は記号561に対応し、記号584は記号564に対応し、記号585は記号565に対応し、記号586は記号566に対応し、記号587は記号567に対応するといえる。
FIG. 15 shows an example of an operation sequence when registration processing is performed during search processing. Here, with respect to the initial state described with reference to FIGS. 1 to 6, the variant of the application (102) searches for FIG. 12, and requests registration of new data of FIG. 7 in the callback function. An example of the operation in the case of this will be described. When this is associated with the operation sequence of FIG. 11,
この動作例では、まず、アプリケーション102がデータ検索関数を呼び出す(記号580)。上記説明してきた一連の処理のうち、候補ファイルリスト取得(手順512)では、チャンクは01.cnkと02.cnkしかこの時点で存在しないので、検索候補となるチャンクのファイルリストは02.cnkとなる。そして、02.cnkに対して検索処理を行い検索結果をコールバックする(記号581)。ここで、アプリケーション102内にあるコールバック関数では、データ登録関数を呼び出し(記号582)たのち(記号583)、リターンする(記号584)。この際、ロック115は解放された状態になっているので、該データ登録関数呼び出しはロック115によって動作阻害されることなく、正常に動作を継続できる。該データ登録関数呼び出しの処理において、上記説明してきた一連の処理により、新たに03.cnkというチャンクが生成される。記号584でリターンした後、手順519によって、増加分の候補ファイルリストとして新たに生成された03.cnkというファイルが取得される。手順520で増加分があったと判定されるので、手順513以降を再度実行し、03.cnkの検索結果に関するコールバックが行われる(記号585)。コールバックからリターンする(記号586)と、再び手順519によって増加分の候補ファイルリストが取得される。今回はチャンクが生成されていないので、空リストとなり、手順520で増加分はなかったと判定され、以降の処理が行われる。以上述べた処理により、アプリケーション102は図14と同じ検索結果を得ることができる。このように、手順519から手順520の工夫によって、マルチスレッドでのデータ登録やコールバック関数内でのデータ登録を行い、それによってチャンクが次々と生成されている場合であっても、データ検索の結果にデータ抜け等の矛盾を来すことなく正常に動作できる。
In this operation example, first, the
上記説明したように、本実施の形態においては、図13に示す処理手順によって検索処理を行うことにより、センサ情報を順次蓄積し、マルチスレッドで検索と挿入を同時実行できつつ、検索結果に矛盾を来すことなく、時系列順で検索結果を返却することが、比較的簡素な処理手順で実現できている。これらの効果についてさらに解説する。 As described above, in the present embodiment, by performing the search process according to the processing procedure shown in FIG. 13, the sensor information is sequentially accumulated, and search and insertion can be executed simultaneously in multi-threads, but the search results are inconsistent. Returning search results in chronological order without arriving at can be realized with a relatively simple processing procedure. I will further explain these effects.
もし、センサ情報を順次蓄積するのではなく、一般的なRDBMSのようなテーブルの書き換えが必要だった場合には、より複雑な処理が必要となったであろう。一方、本実施の形態においてはチャンクのファイルリストを取得(手順512)した後、すぐにロック115を解放する(手順513)という簡素な処理手順でよい。これは、センサ情報を順次蓄積するという本来の目的上、一度蓄積された古いセンサ情報は書き換え等を行う必要がないため、チャンクは書き換え等を行われることがなく単に増加する一方であり、従って最初に取得したファイルリストはその後の検索処理中にも有効であるという特性を利用しているためである。
If it was necessary to rewrite a table like a general RDBMS instead of storing sensor information sequentially, more complicated processing would have been necessary. On the other hand, in the present embodiment, a simple processing procedure of releasing the
また、もし、時系列順で検索結果を返却するという必要性がなかった場合には、図13の処理手順はさらに簡略化できたであろう。すなわち、ロック115を取得(手順511)してファイルリストを取得(手順512)した後、pool.txtに関する検索処理を行い(手順521から522)、ロックを解放(手順523)して、以降はpool.txtに対するコールバック(手順524)とチャンクに対する検索処理(手順514から517)を行うだけでよく、増加分の再確認(手順519から520)は不要である。これは、仮に検索処理中にデータ登録が並行して発生し、その結果として新たなチャンクが生成されたとしても、既に処理対象となるチャンクのファイルリストは取得済みであって影響を受けないため、単にそのような登録データが無視されるだけとなり検索結果の妥当性には影響を与えないためである。しかし、このような処理では検索結果は時系列順には返却できなくなるため、アプリケーション102の必要メモリ量が増大してしまい、問題である。一方、本実施の形態においては時系列順に検索結果を返却し、それによって生じる可能性のある矛盾を手順519から手順520によって発見し処理を再実行する動作を新たに組み入れたことによって、これらの要求を比較的簡素な手順で満たすことができるという利点が得られている。
If there is no need to return search results in chronological order, the processing procedure of FIG. 13 could be further simplified. That is, after acquiring the lock 115 (procedure 511) and acquiring the file list (procedure 512), the search processing related to pool.txt is performed (
また言うまでもないことであるが、もし、マルチスレッド処理の必要性がなかった場合には、これらの矛盾はそもそも発生し得ず、従って図13の処理手順は大幅に簡略化できたであろう。しかし、このような処理では検索処理中に新たなデータ登録を並行して行うことができず、アプリケーション102の本来の目的に対して支障を来してしまう。一方、本実施の形態においては、別スレッドおよびコールバック関数中から新たなデータ登録を並行して行うことができるという利点が得られている。
Needless to say, if there was no need for multi-thread processing, these contradictions could not occur in the first place, and therefore the processing procedure of FIG. 13 could be greatly simplified. However, in such processing, new data registration cannot be performed in parallel during the search processing, which hinders the original purpose of the
上記説明したように、本実施の形態においては、センサの種類ごとに異なるディレクトリにチャンクが格納される。これにより、センサ種類ごとに古いチャンクを異なる頻度で随時削除できるという利点も得られる。つまり、例えば本実施の形態においては、温度センサ103は1日あたり1〜2回程度の観測周期であり、加速度センサ104は1秒あたり1回程度の観測周期である。このため、記憶装置の空き容量を考えると、温度センサ103のデータは1年程度保存し、一方、加速度センサ104のデータは1時間程度で破棄したいという要求がある。本実施の形態においては、これら2つのデータが異なるディレクトリに区分されて格納されているため、例えば加速度センサ104のチャンクが格納されるディレクトリだけを一定周期で監視して1時間以上経過したファイルは削除するという処理を行うことが容易であるという利点が得られる。
As described above, in the present embodiment, chunks are stored in different directories for each type of sensor. This also provides the advantage that old chunks can be deleted at different frequencies as needed for each sensor type. That is, for example, in the present embodiment, the temperature sensor 103 has an observation period of about once or twice per day, and the
上記説明してきた一連の処理では、図2に示したように、チャンクをmicroSDカードに生成するようなディレクトリ構成とした。一般に、内蔵フラッシュメモリ120は容量が小さいが速度が速く、外部のメモリカードは容量は大きいが速度が遅いという傾向がある。本実施の形態においては、頻繁に書き込みを繰り返すが一定以上の記憶領域を必要としない情報保持部111は内蔵フラッシュメモリ120に配置し、チャンクはmicroSDカードスロット121に挿入されたメモリカード上に生成していくことで大量のデータを保存可能な特徴が得られる。一方で、チャンクも内蔵フラッシュメモリ120上に生成する構成も可能であり、以下ではその場合の動作について述べる。
In the series of processes described above, as shown in FIG. 2, the directory structure is such that chunks are generated on the microSD card. Generally, the built-in
図16はチャンクを同一ファイルシステムに配置した場合のディレクトリ構成例を示す。本構成例では、図2におけるディレクトリ(202)配下を、図16におけるディレクトリ(210)に配置した点が違いである。
このディレクトリ構成で図8に示したデータ登録処理を行った場合、リネームによるファイルのチャンクへの移動(手順415)は、移動元と移動先が同一ファイルシステムであるため、成功する。よって、手順417から手順418を省略できる。すなわち、ファイルのコピーと古いファイルの削除操作を、一度のリネーム操作で完了できるという利点が得られる。これにより、情報保持部111からチャンクへの情報切り出しの処理量が小さくてすむという効果を得ることができる。
FIG. 16 shows a directory configuration example when chunks are arranged in the same file system. This configuration example is different in that the directory (202) in FIG. 2 is arranged in the directory (210) in FIG.
When the data registration process shown in FIG. 8 is performed with this directory structure, the file is moved to the chunk by renaming (procedure 415) because the source and destination are the same file system. Therefore, step 417 to step 418 can be omitted. That is, there is an advantage that the file copy and the old file delete operation can be completed by a single rename operation. As a result, it is possible to obtain an effect of reducing the amount of information extraction processing from the
なお、本発明の装置はコンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
The apparatus of the present invention can also be realized by a computer and a program, and the program can be recorded on a recording medium or provided through a network.
In short, the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Further, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine suitably the component covering different embodiment.
100…情報記録装置、101…ライブラリ、102…アプリケーション、103…温度センサ、104…加速度センサ、110…情報選択部、111…情報保持部、112…情報切り出し部、113…情報検索部、114…メタ情報保持部、115…ロック、120…内蔵フラッシュメモリ、121…microSDカードスロット、130…タッチパネルディスプレイ、131…データ通信機能、132…LAN(WiFi)通信機能。
DESCRIPTION OF
Claims (11)
データを予め定められた条件により分類選択する第1の手順と、
該分類結果に従って情報保持部の区分けされた記憶領域にデータを保持する第2の手順と、
該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する第3の手順とを具備することを特徴とする情報記録方法。 An information recording method for recording a data group including a plurality of attribute values,
A first procedure for classifying and selecting data according to predetermined conditions;
A second procedure for holding data in the divided storage area of the information holding unit according to the classification result;
And a third procedure for generating a data file called a chunk including data included in one of the divided storage areas and deleting the generated data from the information holding unit. Information recording method.
該第3の手順は、該ファイルをチャンクのファイル名へとリネームすることで該チャンクの生成と該削除とを一度に行うことを特徴とする請求項1に記載の情報記録方法。 The second procedure holds each of the divided storage areas as a file,
The information recording method according to claim 1, wherein the third procedure performs generation and deletion of the chunk at a time by renaming the file to a file name of the chunk.
データには少なくとも時刻情報を含み、
該データを情報保持部に保持する第1の手順と、
該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する第2の手順と、
該情報保持部が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する第3の手順と、
該生成されたチャンク内に含まれるデータの時刻情報の最大値ならびに最小値をチャンクごとに保持する第4の手順とを具備し、
該第3の手順は該与えられた条件が時刻情報を含む場合には該第4の手順の持つ時刻情報と照合することによって時刻情報が合致するチャンクのみを検索対象とすることを特徴とする情報記録方法。 An information recording method for recording a data group including a plurality of attribute values,
The data contains at least time information,
A first procedure for holding the data in the information holding unit;
Generating a data file called a chunk containing a subset of the data set, and deleting the generated data from the information holding unit;
A third procedure for searching for data that matches a given condition for the data held by the information holding unit and the generated chunk group;
A fourth procedure for holding a maximum value and a minimum value of time information of data included in the generated chunk for each chunk, and
In the third procedure, when the given condition includes time information, only chunks matching the time information are searched by collating with the time information of the fourth procedure. Information recording method.
データを情報保持部に保持する第1の手順と、
該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する第2の手順と、
該情報保持部が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する第3の手順とを具備し、
該第3の手順において、
生成順序の古いチャンクから順にデータ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行う処理と、
該情報保持部に対するデータ検索ならびに検索結果の返却を行う処理とを
順に実行することによって、登録順序の古いデータから順に検索結果を返却することを特徴とする情報記録方法。 An information recording method used in an information recording apparatus for recording a data group including a plurality of attribute values,
A first procedure for holding data in the information holding unit;
Generating a data file called a chunk containing a subset of the data set, and deleting the generated data from the information holding unit;
A third procedure for searching for data that matches a given condition for the data held by the information holding unit and the generated chunk group, and
In the third procedure,
Processing to repeat data search and return search results for all chunks in order from the chunk with the oldest generation order,
An information recording method characterized in that the search results are returned in order from the data with the oldest registration order by sequentially executing a data search for the information holding unit and a process of returning the search results.
該第3の手順は、検索結果を順次返却する際に、一の検索結果を返却した時点で別のデータの登録要求を受け付けた際にそのデータの登録要求の処理を完了して該検索結果に引き続く検索処理を継続実行できるように該排他制御手段を用いて制御する手順と、
データ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行った後に他のデータの登録要求の処理に起因して当初存在しなかった新たなチャンクが当該検索処理中に追加されていることを検出する手順と、
該追加されたチャンクに対してデータ検索ならびに検索結果の返却を行う手順とを有することを特徴とする請求項4に記載の情報記録方法。 Furthermore, the information recording apparatus has an exclusive control means that can operate normally even when a registration request for another data is received during a data search operation,
In the third procedure, when the search results are sequentially returned, when the request for registration of another data is accepted at the time when one search result is returned, the processing of the registration request for the data is completed and the search result is returned. A procedure for controlling using the exclusive control means so that the search processing subsequent to can be continued,
Check that new chunks that were not originally present due to the processing of other data registration requests after the data search and return of search results are repeated for all chunks are added during the search process. Steps to detect,
The information recording method according to claim 4, further comprising a procedure for performing a data search and a return of a search result for the added chunk.
データを予め定められた条件により分類選択する情報選択部と、
該分類結果に従って区分けされた記憶領域にデータを保持する情報保持部と、
該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部とを具備することを特徴とする情報記録装置。 An information recording apparatus for recording a data group including a plurality of attribute values,
An information selection unit that classifies and selects data according to predetermined conditions;
An information holding unit for holding data in the storage area sorted according to the classification result;
A data file called a chunk including data included in one of the divided storage areas is generated, and the generated data includes an information cutout unit that is deleted from the information holding unit. Information recording device.
該情報切り出し部は該ファイルをチャンクのファイル名へとリネームすることで該チャンクの生成と該削除とを一度に行うことを特徴とする請求項6に記載の情報記録装置。 The information holding unit holds each of the divided storage areas as a file,
7. The information recording apparatus according to claim 6, wherein the information cutout unit performs generation and deletion of the chunk at a time by renaming the file to a file name of the chunk.
該データには少なくとも時刻情報を含み、
データを保持する情報保持部と、
該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部と、
該情報保持部が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する情報検索部と、
該生成されたチャンク内に含まれるデータの時刻情報の最大値ならびに最小値をチャンクごとに保持するメタ情報保持部とを具備し、
該情報検索部は該与えられた条件が時刻情報を含む場合には該メタ情報保持部の持つ時刻情報と照合することによって時刻情報が合致するチャンクのみを検索対象とすることを特徴とする情報記録装置。 An information recording apparatus for recording a data group including a plurality of attribute values,
The data includes at least time information,
An information holding unit for holding data;
Generating a data file called a chunk including a subset of the data set, the generated data being deleted from the information holding unit;
An information search unit that searches for data held by the information holding unit and data that matches a given condition for the generated chunk group; and
A meta information holding unit that holds a maximum value and a minimum value of time information of data included in the generated chunk for each chunk;
When the given condition includes time information, the information search unit searches only chunks that match the time information by collating with the time information of the meta information holding unit. Recording device.
データを保持する情報保持部と、
該データ集合の部分集合を含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除する情報切り出し部と、
該情報保持部が保持するデータならびに該生成されたチャンク群とを対象として与えられた条件に合致するデータを検索する情報検索部とを具備し、
該情報記録装置はさらに、該情報検索部において、
生成順序の古いチャンクから順にデータ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行う手段と、
該情報保持部に対するデータ検索ならびに検索結果の返却を行う手段とを
順に実行することによって、登録順序の古いデータから順に検索結果を返却することを特徴とする情報記録装置。 An information recording apparatus for recording a data group including a plurality of attribute values,
An information holding unit for holding data;
Generating a data file called a chunk including a subset of the data set, the generated data being deleted from the information holding unit;
An information search unit that searches for data that matches the given condition for the data held by the information holding unit and the generated chunk group, and
The information recording apparatus further includes:
A means of repeatedly performing data search and returning of search results for all chunks in order from the chunk with the oldest generation order,
An information recording apparatus characterized in that the search results are returned in order from the data with the oldest registration order by sequentially executing a data search for the information holding unit and a means for returning the search results.
該情報検索部は、検索結果を順次返却する際に、一の検索結果を返却した時点で別のデータの登録要求を受け付けた際にそのデータの登録要求の処理を完了して該検索結果に引き続く検索処理を継続実行できるように該排他制御手段を用いて制御する手段と、
データ検索ならびに検索結果の返却を全てのチャンクに対して繰り返し行った後に他のデータの登録要求の処理に起因して当初存在しなかった新たなチャンクが当該検索処理中に追加されていることを検出する手段と、
該追加されたチャンクに対してデータ検索ならびに検索結果の返却を行う手段とを有することを特徴とする請求項9に記載の情報記録装置。 Furthermore, it has an exclusive control means that can operate normally even when another data registration request is received during the data search operation,
When the search result is sequentially returned, the information search unit completes the processing of the registration request of the data when the request for registration of another data is accepted at the time when the search result is returned, and the search result is displayed. Means for controlling using the exclusive control means so that subsequent search processing can be continuously executed;
Check that new chunks that were not originally present due to the processing of other data registration requests after the data search and return of search results are repeated for all chunks are added during the search process. Means for detecting;
10. The information recording apparatus according to claim 9, further comprising means for performing a data search and returning a search result for the added chunk.
データを予め定められた条件により分類選択し、
該分類結果に従って情報保持部の区分けされた記憶領域にデータを保持し、
該区分けされた記憶領域の中の一つに含まれるデータを含むチャンクと呼ばれるデータファイルを生成し、該生成されたデータは該情報保持部から削除するように動作させるプログラム。 A program executed by an information recording apparatus for recording a data group including a plurality of attribute values, the information recording apparatus comprising:
Select and classify data according to predetermined conditions,
According to the classification result, data is held in the storage area divided by the information holding unit,
A program that generates a data file called a chunk including data included in one of the divided storage areas, and operates to delete the generated data from the information holding unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013033040A JP5879284B2 (en) | 2013-02-22 | 2013-02-22 | Information recording method, information recording apparatus, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013033040A JP5879284B2 (en) | 2013-02-22 | 2013-02-22 | Information recording method, information recording apparatus, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014164382A true JP2014164382A (en) | 2014-09-08 |
JP5879284B2 JP5879284B2 (en) | 2016-03-08 |
Family
ID=51614958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013033040A Expired - Fee Related JP5879284B2 (en) | 2013-02-22 | 2013-02-22 | Information recording method, information recording apparatus, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5879284B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019016997A1 (en) | 2017-07-21 | 2019-01-24 | 株式会社日立情報通信エンジニアリング | Behavior characteristic quantity analysis system and behavior characteristic quantity analysis method |
JPWO2019087786A1 (en) * | 2017-11-06 | 2020-04-02 | 日本電信電話株式会社 | Information distributed storage system, method and program |
JPWO2019092990A1 (en) * | 2017-11-09 | 2020-04-02 | 日本電信電話株式会社 | Information storage device, data processing system, and program |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170791A (en) * | 2010-02-22 | 2011-09-01 | Nippon Telegr & Teleph Corp <Ntt> | Information recording device, information recording method and program |
JP2012117987A (en) * | 2010-12-03 | 2012-06-21 | Hitachi Ltd | Data processing method, data processing system, and data processing device |
-
2013
- 2013-02-22 JP JP2013033040A patent/JP5879284B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170791A (en) * | 2010-02-22 | 2011-09-01 | Nippon Telegr & Teleph Corp <Ntt> | Information recording device, information recording method and program |
JP2012117987A (en) * | 2010-12-03 | 2012-06-21 | Hitachi Ltd | Data processing method, data processing system, and data processing device |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019016997A1 (en) | 2017-07-21 | 2019-01-24 | 株式会社日立情報通信エンジニアリング | Behavior characteristic quantity analysis system and behavior characteristic quantity analysis method |
KR20190087981A (en) | 2017-07-21 | 2019-07-25 | 주식회사 히타치 정보통신 엔지니어링 | Behavioral Characteristic Analysis System and Behavioral Characteristic Analysis Method |
US10846282B2 (en) | 2017-07-21 | 2020-11-24 | Hitachi Information & Telecommunication Engineering, Ltd. | Behavior characteristic amount analysis system and behavior characteristic amount analysis method |
JPWO2019087786A1 (en) * | 2017-11-06 | 2020-04-02 | 日本電信電話株式会社 | Information distributed storage system, method and program |
CN111630500A (en) * | 2017-11-06 | 2020-09-04 | 日本电信电话株式会社 | Information distributed storage system, method, and program |
US11381642B2 (en) | 2017-11-06 | 2022-07-05 | Nippon Telegraph And Telephone Corporation | Distributed storage system suitable for sensor data |
CN111630500B (en) * | 2017-11-06 | 2024-06-07 | 日本电信电话株式会社 | Information distributed storage system, method, and program |
JPWO2019092990A1 (en) * | 2017-11-09 | 2020-04-02 | 日本電信電話株式会社 | Information storage device, data processing system, and program |
CN111566627A (en) * | 2017-11-09 | 2020-08-21 | 日本电信电话株式会社 | Information accumulation device, data processing system, and program |
US11263176B2 (en) | 2017-11-09 | 2022-03-01 | Nippon Telegraph And Telephone Corporation | Information accumulation apparatus, data processing system, and program |
CN111566627B (en) * | 2017-11-09 | 2023-07-21 | 日本电信电话株式会社 | Information accumulation device, data processing system, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP5879284B2 (en) | 2016-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190205293A1 (en) | Systems and methods for concurrent summarization of indexed data | |
US10417265B2 (en) | High performance parallel indexing for forensics and electronic discovery | |
US12124463B2 (en) | Data storage using a bi-temporal index | |
US8938430B2 (en) | Intelligent data archiving | |
US8452788B2 (en) | Information retrieval system, registration apparatus for indexes for information retrieval, information retrieval method and program | |
US11238011B2 (en) | Intelligent method to index storage system files accounting for snapshots | |
US20110252018A1 (en) | System and method for creating search index on cloud database | |
JP2005122702A5 (en) | ||
US10078648B1 (en) | Indexing deduplicated data | |
US9390111B2 (en) | Database insert with deferred materialization | |
JP5879284B2 (en) | Information recording method, information recording apparatus, and program | |
JP2024129032A (en) | Data Recording and Analysis System | |
US11645234B2 (en) | Rule-based collections of subset(s) of metadata in response to a trigger event occurring | |
US20190384754A1 (en) | In-place updates with concurrent reads in a decomposed state | |
US20140320498A1 (en) | Terminal device, information processing method, and computer program product | |
CN107004036B (en) | Method and system for searching logs containing a large number of entries | |
CN106503186A (en) | A kind of data managing method, client and system | |
CN111625853B (en) | Snapshot processing method, device and equipment and readable storage medium | |
CN106557572A (en) | A kind of extracting method and system of Android application program file | |
CN105224583B (en) | Method and device for cleaning log files | |
US9116915B1 (en) | Incremental scan | |
CN112765170B (en) | Embedded time sequence data management method and device | |
CN108140047B (en) | Data processing apparatus and method, and data container structure | |
JP4223228B2 (en) | Database search apparatus and search method | |
US11526491B1 (en) | Method and system for collecting data from data sources with commit lag to maintain data consistency in a data store |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151228 |
|
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: 20160126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5879284 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |