JP7355219B2 - 情報管理方法、情報管理プログラム及び情報管理装置 - Google Patents

情報管理方法、情報管理プログラム及び情報管理装置 Download PDF

Info

Publication number
JP7355219B2
JP7355219B2 JP2022508021A JP2022508021A JP7355219B2 JP 7355219 B2 JP7355219 B2 JP 7355219B2 JP 2022508021 A JP2022508021 A JP 2022508021A JP 2022508021 A JP2022508021 A JP 2022508021A JP 7355219 B2 JP7355219 B2 JP 7355219B2
Authority
JP
Japan
Prior art keywords
index
data
bit string
spatio
information management
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
Application number
JP2022508021A
Other languages
English (en)
Other versions
JPWO2021186738A1 (ja
Inventor
和大 宮原
淳 磯村
一兵衛 内藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2021186738A1 publication Critical patent/JPWO2021186738A1/ja
Application granted granted Critical
Publication of JP7355219B2 publication Critical patent/JP7355219B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報管理方法、情報管理プログラム及び情報管理装置に関する。
IoT(Internet of Things)時代の到来に伴い、IoT機器によって取得されたデータが、ネットワークを介して、多様な使われ方をされるようになっている。このIoT機器が、車両、ドローン、スマートフォンなどの移動機器である場合、実際の取得データに時間データ及び位置データ(時空間データ)が対応付けられるため、データ量が膨大となる。
従来、蓄積したデータを表の形式で管理することによって、膨大なデータを適切に蓄積するとともに、これらのデータから時空間データをキーとして検索ことができる関係データベース管理システム(RDBMS)が提案されている。そして、時空間データを扱う技術として、時空間データを1次元のビット列に変換し、変換したビット列の前方ビット列をキーとし、一つのキーに、変換したビット列の後方ビット列及びデータを複数のバリューとして格納させるセカンダリインデクスを構築する技術が提案されている(特許文献1参照)。
特開2020-013539号公報
ここで、特許文献1に記載の技術では、インデックスのパターン(インデックスパターン)が固定されていた。このため、特許文献1に記載の技術では、インデックスパターンに合致する条件で検索しないと時空間データを検索できなかった。例えば、特許文献1に記載の技術において、150m/30secの条件に応じてインデックスパターンが設定されている場合、ユーザが600m/30secの条件で検索を要求しても、インデックスパターンが異なるため、時空間データを検索できなかった。このように、特許文献1に記載の技術では、ユーザが求める検索範囲に柔軟に対応することができなかった。
図29及び図30は、従来技術を説明する図である。図29及び図30に示すように、複数の種別のインデックスパターンを同時に利用可能とするために、データを、各パターン(例えばインデックスパターンA,B,C)の時空間インデックスで多重に格納する方法が考えられる(図30の(1)参照)。この方法の場合、検索時には、検索に用いたいインデックスのパターン1つで1回検索を実行するのみで、時空間データを検索可能である。しかしながら、各パターン全てにデータを多重に格納する場合、データベースが蓄積するデータの容量が増加してしまう。
本発明は、上記に鑑みてなされたものであって、時空間データを含むデータ検索において、蓄積するデータ量を低減しながら、複数の時空間インデックスの検索パターンに柔軟に対応できる情報管理方法、情報管理プログラム及び情報管理装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る情報管理方法は、時間データ及び位置データを含む時空間データと該時空間データに対応する対応データと、を管理する情報管理装置が実行する情報管理方法であって、格納対象の情報の時空間データであって第1のデータ構成を有する時空間データをビット列に変換する第1のビット列変換工程と、第1のビット列変換工程において変換されたビット列の前方ビット列に対応する第1のインデックスを、第1のインデックスにおける第1のインデックスパターンの要素と、格納対象の情報の時空間データが第1のデータ構成とは異なる第2のデータ構成であった場合に対応する第2のインデックスパターンの要素とを、時間データまたは位置データの単位ごとに交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスに変換する第1の合成インデックス変換工程と、第1の合成インデックスをキーとし、格納対象の情報の対応データをバリューとして時空間データベースに格納する格納工程と、を含んだことを特徴とする。
また、本発明に係る情報管理プログラムは、時間データ及び位置データを含む時空間データと該時空間データに対応する対応データとのうち、格納対象の情報の時空間データであって第1のデータ構成を有する時空間データをビット列に変換する第1のビット列変換ステップと、第1のビット列変換ステップにおいて変換されたビット列の前方ビット列に対応する第1のインデックスを、第1のインデックスにおける第1のインデックスパターンの要素と、格納対象の情報の時空間データが第1のデータ構成とは異なる第2のデータ構成であった場合に対応する第2のインデックスパターンの要素とを、時間データまたは位置データの単位ごとに交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスに変換する第1の合成インデックスステップと、記第1の合成インデックスをキーとし、格納対象の情報の対応データをバリューとして時空間データベースに格納する格納ステップと、をコンピュータに実行させる。
また、本発明に係る情報管理装置は、時間データ及び位置データを含む時空間データと該時空間データに対応する対応データと、を管理する情報管理装置であって、格納対象の情報の時空間データであって第1のデータ構成を有する時空間データをビット列に変換する第1のビット列変換部と、第1のビット列変換部によって変換されたビット列の前方ビット列に対応する第1のインデックスを、第1のインデックスにおける第1のインデックスパターンの要素と、格納対象の情報の時空間データが第1のデータ構成とは異なる第2のデータ構成であった場合に対応する第2のインデックスパターンの要素とを、時間データまたは位置データの単位ごとに交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスに変換する第1の合成インデックス変換部と、第1の合成インデックスをキーとし、格納対象の情報の対応データをバリューとして時空間データベースに格納する格納部と、を有することを特徴とする。
本発明によれば、時空間データを含むデータ検索において、蓄積するデータ量を低減しながら、複数の時空間インデックスの検索パターンに柔軟に対応できる。
図1は、実施の形態1における情報管理システムの構成の一例を示す図である。 図2は、図1に示すデータ送信機器が送信する取得データのデータ構成の一例を示す図である。 図3は、図1に示す時空間データベース(DB)が記憶するデータのデータ構成の一例を示す図である。 図4は、図1に示す端末装置が送信する検索要求のデータ構成の一例を示す図である。 図5は、図1に示す時空間データ管理装置が出力する検索結果のデータ構成の一例を示す図である。 図6は、図1に示す時空間データ管理装置の構成の一例を示す図である。 図7は、図6に示す検索部による検索処理の流れを説明する図である。 図8は、図6に示す検索部による検索処理の流れを説明する図である。 図9は、図6に示す情報管理装置による情報の格納処理の処理手順を示すフローチャートである。 図10は、図6に示す時空間データ管理装置による情報の格納処理の処理手順を示すフローチャートである。 図11は、実施の形態1の効果を説明する図である。 図12は、実施の形態2に係る情報管理装置の構成の一例を示す図である。 図13は、合成インデックスパターンの設定処理を説明する図である。 図14は、合成インデックスパターンの設定処理を説明する図である。 図15は、合成インデックスパターンの設定処理を説明する図である。 図16は、合成インデックスパターンの設定処理を説明する図である。 図17は、合成インデックスパターンの設定処理を説明する図である。 図18は、合成インデックスパターンの設定処理を説明する図である。 図19は、合成インデックスパターンの設定処理を説明する図である。 図20は、合成インデックスパターンの設定処理を説明する図である。 図21は、合成インデックスパターンの設定処理を説明する図である。 図22は、合成インデックスパターンの設定処理を説明する図である。 図23は、合成インデックスパターンの設定処理を説明する図である。 図24は、図12に示す検索部による検索処理の流れを説明する図である。 図25は、図12に示す検索部による検索処理の流れを説明する図である。 図26は、図12に示す情報管理装置による情報の格納処理の処理手順を示すフローチャートである。 図27は、図12に示す情報管理装置による情報の検索処理の処理手順を示すフローチャートである。 図28は、プログラムが実行されることにより、情報管理装置が実現されるコンピュータの一例を示す図である。 図29は、従来技術を説明する図である。 図30は、従来技術を説明する図である。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態1]
本発明の実施の形態1について説明する。図1は、実施の形態1における情報管理システムの構成の一例を示す図である。
図1に示すように、実施の形態1に係る情報管理システム1は、データ送信機器10、情報管理装置20、時空間データDB30及び端末装置40を有する。情報管理装置20は、データ送信機器10、時空間データDB30及び端末装置40と、ネットワーク等によって接続する。
データ送信機器10は、IoT機器である。データ送信機器10は、例えば、車両、ドローン或いはスマートフォンなどの移動機器である。データ送信機器10は、移動しながら取得したデータを、情報管理装置20に送信する。データ送信機器10は、時間データ及び位置データを含む時空間データと該時空間データに対応する対応データとを対応付けた取得データを、情報管理装置20に送信する。データ送信機器10は、1台でもよく、複数台でもよい。
図2は、図1に示すデータ送信機器10が送信する取得データのデータ構成の一例を示す図である。図2のリストL1に示すように、データ送信機器10による取得データは、データ取得時刻を示す時間データと経度及び緯度を示す位置データとに、データ送信機器10が取得した各種データ(データ部)を対応付けた構成を有する。例えば、データ送信機器10は、時刻「2017/1/1 10:15:30」に、経度「27.1984°」及び緯度「-15.2958°」の位置で取得した「データ1」を、時間データ及び位置データに対応付けて情報管理装置20に送信する。
図1に戻り、情報管理装置20の概略について説明する。情報管理装置20は、データ送信機器10によって送信された取得データを、時空間データDB30に格納することで管理する。また、情報管理装置20は、時空間データDB30が格納するデータの中から、検索対象の時空間データの範囲条件に対応する対応データを検索結果として出力する。情報管理装置20は、要部として、格納部24及び検索部25を有する。なお、情報管理装置20は、データ送信機器10またはアプリケーション41に組み込まれた構成でもよい。
格納部24は、取得データを時空間データDB30に格納する。格納部24は、格納対象の情報のうち時空間データを1次元ビット列に変換し、変換した1次元ビット列を前方ビット列及び後方ビット列に分割する。そして、格納部24は、分割した前方ビット列をキーに格納させ、該キーのバリューに、分割した後方ビット列及び対応データを時空間データDB30に格納させる。
検索部25は、検索対象の時空間データの範囲条件に対応する対応データを検索結果として出力する。検索部25は、検索対象の時空間データの範囲条件を1次元ビット列に変換し、変換した1次元ビット列を前方ビット列及び後方ビット列に分割する。検索部25は、前方ビット列に対応する第1のインデックスのインデックスパターンと、時空間データDB30が格納するキーに対応する第2のインデックスのインデックスパターンとが異なる場合、第1のインデックスを、第2のインデックスのインデックスパターンと同じインデックスパターンの第3のインデックスに変換する。検索部25は、第1のインデックスまたは第3のインデックスを用いて時空間データDB30のキーを検索し、検索されたキーのバリューから、分割した後方ビット列に対応するバリューを検索し、検索したバリューに含まれる対応データを検索結果として出力する。
時空間データDB30は、時空間データが変換されたビット列の前方ビット列をキーとし、分割した後方ビット列及び該時空間データに対応する対応データをバリューとして格納する。
図3は、図1に示す時空間データDB30が記憶するデータのデータ構成の一例を示す図である。図3のリストL2に示すように、時空間データDB30が記憶するデータのデータ構成は、セカンダリインデクス部を有するキーバリュー型を想定している。
具体的には、時空間データDB30は、リストL2のように、キー、バリューの項目を有する構成でデータを記憶する。そして、リストL2に示すように、バリューには、セカンダリインデクス部と、対応データが格納されるデータ部とが設けられる。後述するように、キーには、時空間データをビット列変換した際の前方ビット列が格納される。また、バリューのセカンダリインデクスには、時空間データをビット列変換した際の後方ビット列が格納される。
具体的には、リストL2では、「前方ビット列1」を格納するキーのバリューのうち、セカンダリインデクス部に「後方ビット列1」が格納され、データ部に「データ1」を格納されていることを示す。なお、時空間データDB30が格納するキーに対応するインデックス(第2のインデックス)A-1,A-2のインデックスパターンは、いずれもパターンAである。
図1に戻り、端末装置40について説明する。端末装置40は、ユーザが所有するスマートフォン等であり、アプリケーション41を有する。アプリケーション41は、ルート案内や障害地点通知などのための検索を、情報管理装置20に要求する機能を有する。例えば、端末装置40は、検索対象の時空間データの範囲条件を検索条件として、情報管理装置20に検索要求を送信する。
図4は、図1に示す端末装置40が送信する検索要求のデータ構成の一例を示す図である。図4のリストL3に示すように、検索要求データは、検索対象の時空間データの始端を示すデータ列と終端となるデータ列とが対応付けられたデータ構成を有する。リストL3では、検索対象の時空間データの範囲を示す始端及び終端のそれぞれについて、時刻、経度、緯度が示される。端末装置40は、リストL3の例では、時刻が「2017/1/1 09:00:00」から「2017/1/1 09:15:00」の範囲であり、経度「27°」から「28°」であって緯度が「-16°」から「-15°」の範囲を、検索対象の時空間データの範囲条件として要求する。
図5は、図1に示す情報管理装置20が出力する検索結果のデータ構成の一例を示す図である。情報管理装置20は、図4に示す検索条件を基に時空間データDB30のデータを検索する。そして、情報管理装置20は、例えば、図5に示すリストL4を検索結果として、端末装置40に返却する。情報管理装置20は、リストL4に示すように、検索条件に該当する該当バリューとして、「データ1」を返却する。
[時空間データ管理装置の構成]
次に、情報管理装置20の構成について説明する。図6は、図1に示す情報管理装置20の構成の一例を示す図である。図6に示すように、情報管理装置20は、通信部21、記憶部22及び制御部23を有する。なお、情報管理装置20は、物理サーバであってもよいし、物理サーバ上に展開された仮想サーバであってもよい。
通信部21は、ネットワーク2等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部21は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部23(後述)との間の通信を行う。
記憶部22は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部22は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。記憶部22は、情報管理装置20で実行されるOS(Operating System)や各種プログラムを記憶する。さらに、記憶部22は、プログラムの実行で用いられる各種情報を記憶する。
制御部23は、情報管理装置20全体を制御する。制御部23は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。また、制御部23は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。制御部23は、格納部24及び検索部25を有する。
[格納部の構成]
格納部24は、格納受付部241、第1の変換部242(第1のビット列変換部)、第1の分割部243、キー設定部246、バリュー設定部247及び格納指示部248(格納部)を有する。
格納受付部241は、データ送信機器10から送信された取得データを、格納対象のデータとして、入力を受付ける。取得データは、前述したように、時間データ及び位置データを含む時空間データと該時空間に対応する対応データとを対応付けたものである。具体的には、取得データは、時刻、経度、緯度、データ部を有する。
第1の変換部242は、入力を受け付けた取得データのうち、時空間データを1次元ビット列に変換する。すなわち、第1の変換部242は、時刻、経度、緯度を1次元ビット列に変換する。
第1の分割部243は、第1の変換部242が変換した1次元ビット列を、前方ビット列及び後方ビット列に分割する。
キー設定部246は、第1の分割部243が分割した前方のビット列を、時空間データDB30のキーに格納する設定を行う。そして、バリュー設定部247は、時空間データDB30のキーのうち、キー設定部246が設定したキーのバリューに、第1の分割部243が分割した後方ビット列及び対応データを格納する設定を行う。格納指示部248は、キー設定246部及びバリュー設定部247の設定に応じて、格納先のキー及びバリューにデータを格納させる。
格納部24は、時空間データを、1次元ビット列変換法を用いて変換し、1次元ビット列に変換した時空間データのうちの前方ビットをキーとして使用する。このように、格納部24は、比較的簡易な変換処理である1次元ビット列変換法を用いて、キーを作成するため、キー作成に要する時間を短縮することができる。
[検索部の構成]
次に、検索部25について説明する。検索部25は、検索受付部251、第2の変換部252(条件変換部)、第2の分割部253、第2のパターン判定部254、第2のパターン変換部255(パターン変換部)、キー検索部256、後方ビット列検索部257及びバリュー返却部258(出力部)を有する。
検索受付部251は、端末装置40から送信された検索条件の入力を受け付ける。検索条件は、ルート案内や障害地点通知などに用いるための、検索対象の時空間データの範囲条件である。具体的には、検索情報は、図4のリストL3に示すように、時刻、経度、緯度の始端及び終端を示す情報である。
第2の変換部252は、検索を受けた検索対象の時空間データの範囲条件を、1次元ビット列に変換する。第2の分割部253は、第2の変換部252が変換した1次元ビット列を前方ビット列及び後方ビット列に分割する。
第2のパターン判定部254は、検索対象の時空間データの位置データ及び時刻データの配置を基に、第2の分割部253が分割した前方ビット列に対応する第1のインデックスのインデックスパターンを判定する。そして、第2のパターン判定部254は、第1のインデックスのインデックスパターンと、時空間データDB30が格納するキーに対応する第2のインデックスのインデックスパターンとが異なるか否かを判定する。すなわち、第2のパターン判定部254は、検索対象の時空間データの前方ビット列に対応する第1のインデックスが、時空間データDB30が格納するキーに対応する第2のインデックスのインデックスパターンAと異なるインデックスパターンであるか否かを判定する。
第2のパターン変換部255は、第1のインデックスのインデックスパターンと第2のインデックスのインデックスパターンと、が異なる場合、第1のインデックスを、第2のインデックスのインデックスパターンと同じインデックスパターンの第3のインデックスに変換する。第2のパターン変換部255は、検索対象の時空間データの前方ビット列に対応する第1のインデックスが、時空間データDB30が格納するキーに対応する第2のインデックスのインデックスパターンAと異なるインデックスパターンBである場合、第1のインデックスを、インデックスパターンAの第3のインデックスに変換する。
キー検索部256は、時空間データDB30から、3のインデックスを用いてキーを検索する。そして、後方ビット列検索部257は、キー検索部256が検索したキーのバリューから、第2の分割部が分割した後方ビット列と前方一致するバリューを検索する。
バリュー返却部258は、後方ビット列検索部257が検索したバリューに含まれる対応データを、検索結果として出力する。言い換えると、バリュー返却部258は、後方ビット列検索部257が検索したバリューに含まれる対応データを、端末装置40に返却する。
[検索部による検索処理の流れ]
次に、図7及び図8を参照して、検索部25による検索処理の流れについて具体的に説明する。図7及び図8は、図6に示す検索部25による検索処理の流れを説明する図である。
図7では、積み上げ法による検索方法について説明する。まず、図7に示すように、時空間データDB30が格納するキーのインデックスパターンが「x0y0t0x1y1t1x2y2t2x3y3t3x4y4t4x5y5t5」の順で配置するA(時空間インデックスパターンA参照)であるとする。なお、xiは経度のビット列であり、yiは緯度のビット列であり、tiは時刻のビット列である。
ここで、例えば、ユーザが、「t0t1x0y0t2t3x1y1t4t5x2y2t6t7x3y3t8t9」の順で配置するインデックスパターンB(時空間インデックスパターンB参照)での「0101010」をprefixに持つ条件で検索をしたい場合について説明する(図7の(1)参照)。この場合、「0101010」のインデックスパターンはBであるため(図7の(2)参照)、時空間データDB30が格納するキーのインデックスパターンAとは、時間データ及び位置データの構成が異なる。
そこで、検索部25では、第2のパターン変換部255が、インデックスパターンBのprefix「0101010」を、インデックスパターンAのprefixに変換する(図7の(3)参照)。言い換えると、第2のパターン変換部255は、インデックスパターンBのprefix「0101010」の各ビットを、インデックスパターンAの時間データ及び位置データの配置に合わせて並び替える。
具体的には、第2のパターン変換部255は、インデックスパターンAの「x0y0t0x1y1t1x2y2t2x3y3t3x4y4t4x5y5t5」の配置に合わせて、インデックスパターンBのprefix「0101010」の3番目の「0(x0)」を先頭に移動し(矢印Y1参照)、インデックスパターンBのprefix「0101010」の4番目の「1(y0)」を2番目に移動し(矢印Y2参照)、インデックスパターンBのprefix「0101010」の先頭の「0(t0)」を3番目に移動し(矢印Y3参照)、インデックスパターンBのprefix「0101010」の7番目の「0(x1)」を4番目に移動し(矢印Y4参照)、インデックスパターンBのprefix「0101010」の2番目の「1(t1)」を6番目に移動する(矢印Y6参照)。なお、第2のパターン変換部255は、インデックスパターンAの5番目の「y1」に対応するビットがインデックスパターンBのprefix「0101010」には含まれないため、ブランクとする(矢印Y5参照)。同様に、第2のパターン変換部255は、7番目以降のビットについても並び替えを行う。
このように、第2のパターン変換部255は、インデックスパターンBのprefix「0101010*****」を、インデックスパターンAのprefix「0100*1**0**1」に変換する。
そして、キー検索部256は、変換したインデックスパターンAのprefix「0100*1**0**1」のうち、ブランク箇所へ配置する「0」または「1」の組み合わせ回数分、キーの検索を行う。具体的には、キー検索部256は、変換したインデックスパターンAのprefix「0100*1**0**1」のうち、5ビットのブランク箇所である5,7,8,10,11番目の位置に「0」または「1」を配置した、「010001000001」~「010011110111」の32通りをprefixに持つ条件で時空間データDB30のキー検索を行った結果を合計すればよい(図7の(4)参照)。この場合、検索部25は、インデックスパターンBとインデックスパターンAとのprefixのブランク箇所の5ビット分の差分を2=32回の検索で吸収する。
図8では、フィルタ法による検索方法について説明する。フィルタ法では、積み上げ法と同様に、パターンBでの「0101010」をprefixに持つ条件で検索を要求された場合、第2のパターン変換部255が、インデックスパターンBのprefix「0101010*****」を、インデックスパターンAのprefix「0100*1**0**1」に変換する(図7の(1)~(3)参照)。
そして、キー検索部256は、変換したインデックスパターンAのインデックス(第3のインデックス)の先頭の所定数のビットでキーの検索を行い、検索されたキーのうち、第3のインデックスと同じビット配置のキーを抽出する。具体的には、キー検索部256は、変換したインデックスパターンAのうち先頭の4ビット「0100」をprefixに持つ条件で時空間データDB30のキー検索を行う。そして、キー検索部256は、検索結果のうち、「0100*1**0**1」となるものをフィルタリングすればよい。この場合、検索部25は、「0100*1**0**1」の6番目の「1」、9番目の「0」、12番目の「1」の3ビット分の差分を2=8倍の検索範囲からのフィルタリングで吸収する。
このように、検索部25は、時空間データDB30に格納されているインデックスパターンと別パターンのインデックスでキー検索が指示された場合には、検索対象のインデックスを時空間データDB30に格納されているインデックスパターンのインデックスに変換して、キー検索を実行すればよい。
[格納処理の処理手順]
次に、情報管理装置20による情報の格納処理の処理手順について説明する。図9は、図6に示す情報管理装置20による情報の格納処理の処理手順を示すフローチャートである。
図9に示すように、格納受付部241がデータ送信機器10から送信された取得データの入力を受け付けると(ステップS1)、第1の変換部242は、入力を受け付けた取得データのうち、時空間データである時刻、経度、緯度を1次元ビット列に変換する(ステップS2)。続いて、第1の分割部243は、第1の変換部242が変換した1次元ビット列を、前方ビット列及び後方ビット列に分割する(ステップS3)。
キー設定部246は、第1の分割部243が分割した前方のビット列を、時空間データDB30のキーに格納する設定を行う(ステップS4)。そして、バリュー設定部247は、キー設定部246が設定したキーのバリューに、第1の分割部243が分割した後方ビット列及び対応データを格納する設定を行う(ステップS5)。格納指示部248は、キー設定246部及びバリュー設定部247の設定に応じて、時空間データDB30にデータを格納させる指示を行い(ステップS6)、格納処理を終了する。
[検索処理の処理手順]
次に、情報管理装置20による情報の検索処理の処理手順について説明する。図10は、図6に示す情報管理装置20による情報の検索処理の処理手順を示すフローチャートである。
図10に示すように、まず、検索受付部251は、端末装置40から送信された時刻、経度、緯度の始端及び終端を示す時空間データを、検索条件として、入力を受け付ける(ステップS11)。そして、第2の変換部252は、入力値を、1次元ビット列に変換する(ステップS12)。第2の分割部253は、第2の変換部252が変換した1次元ビット列を前方ビット列及び後方ビット列に分割する(ステップS13)。
そして、第2のパターン判定部254は、検索対象の時空間データの位置データ及び時刻データの配置を基に、第2の分割部253が分割した前方ビット列に対応する第1のインデックスのインデックスパターンを判定する(ステップS14)。第2のパターン判定部254は、第1のインデックスのインデックスパターンと、時空間データDB30が格納するキーに対応する第2のインデックスのインデックスパターンとが異なるか否かを判定する(ステップS15)。
第1のインデックスのインデックスパターンと、時空間データDB30が格納するキーに対応する第2のインデックスのインデックスパターンとが異なる場合(ステップS15:Yes)、第2のパターン変換部255は、第1のインデックスを、第2のインデックスのインデックスパターンと同じインデックスパターンの第3のインデックスに変換する(ステップS16)。
そして、キー検索部256は、第1のインデックスのインデックスパターンと第2のインデックスのインデックスパターンとが同じ場合(ステップS15:No)、または、ステップS16終了後、キー検索を行う(ステップS17)。キー検索部256は、第1のインデックスのインデックスパターンと第2のインデックスのインデックスパターンとが同じ場合、そのまま第1のインデックスをキーとして用いる。また、キー検索部256は、第1のインデックスのインデックスパターンと第2のインデックスのインデックスパターンとが異なる場合、第3のインデックスをキーとして用いる。キー検索部256は、時空間データDB30から、第1のインデックス、または、第3のインデックスと一致する(等価である)キーを検索する。
そして、後方ビット列検索部257は、キー検索部256が検索したキーのバリューに存在する後方ビット列に対し、第2の分割部が分割した後方ビット列と前方一致するバリューを検索する(ステップS18)。
バリュー返却部258は、後方ビット列検索部257が検索したバリューに含まれる対応データを、検索に該当するバリューとして端末装置40に返却し(ステップS19)、検索処理を終了する。
[実施の形態1の効果]
図11は、実施の形態1の効果を説明する図である。図11に示すように、実施の形態1では、格納時には1パターン(パターンA)のみのインデックスA-1,A-2,A-3をキーとして、各データ1,2,3を格納する(図11の(1)参照)。そして、パターンAのインデックスでキー検索をしたい場合には、そのまま検索を1回実行すれば、検索が可能である(図11の(2)参照)。また、別パターン(パターンB)のインデックスでキー検索をしたい場合には、このインデックスのインデックスパターンをパターンAに変換して、キー検索を実行すればよい(図11の(3)参照)。
このように、情報管理装置20は、前方ビット列に対応する第1のインデックスのインデックスパターンと、時空間データDB30が格納するキーに対応する第2のインデックスのインデックスパターンとが異なる場合、第1のインデックスを、第2のインデックスのインデックスパターンと同じインデックスパターンの第3のインデックスに変換する。そして、情報管理装置20は、第3のインデックスを用いてキーを検索する。
したがって、情報管理装置20は、検索対象の時空間データの前方ビット列に対応する第1のインデックスが、時空間データDB30が格納するキーに対応する第2のインデックスのインデックスパターンAと異なるインデックスパターンBであったとしても、第1のインデックスを、インデックスパターンAの第3のインデックスに変換することで、キー検索を実現する。
言い換えると、情報管理装置20は、時空間データDB30が格納するキーに対応するインデックスのインデックスパターンに合わせて、検索対象の時空間データに対応するインデックスのインデックスパターンを変換してキー検索を行う。このため、本実施の形態1では、時空間データDB30が複数のインデックスパターンごとに多重にデータを格納せずともよい。したがって、本実施の形態1によれば、時空間データを含むデータ検索において、蓄積するデータ量を低減することができる。そして、本実施の形態1によれば、時空間データDB30が格納するキーに対応する時空間インデックスパターンに限らず、複数の時空間インデックスの検索パターンに柔軟に対応できる。
なお、時空間データDB30は、取得データを分散して格納できるように、キーバリューストアである複数のノードで構成されてもよい。時空間データDB30が複数のノードである場合、格納部24は、第1の変換部242が変換した前方ビット列のハッシュ値を計算し、ハッシュ値を基に格納先のノードを選択してもよい。また、時空間データDB30が複数のノードである場合、検索部25は、第2の分割部253が分割した前方ビット列のハッシュ値を計算し、ハッシュ値を基に検索先のノードを求めてもよい。
また、情報管理装置20は、予め、格納先のノードの組み合せ表を作成しておき、格納時には、第1の分割部243が分割した前方ビットの値をキーとして、ノードの組合せを選択し、選択したノードのいずれかに格納処理を行ってもよい。この場合、情報管理装置20では、検索時には、第2の分割部253が分割した前方ビットの値をキーとして、検索先のノードの組み合せを求め、求めた組み合せのノードに対して検索を行う。
また、時空間データDB30が複数のノード1~Nがクラスタ構成で動作するデータ記憶システムであってもよい。情報管理装置20は、格納対象の情報についてラベル番号を計算し、分割した前方ビット列及びラベル番号をキーに格納させ、該キーのバリューに、分割した後方ビット列及び対応データをデータ記憶システム230に格納させる。そして、情報管理装置20は、検索対象の時空間データの範囲条件を変換した1次元ビット列の前方ビットとラベル番号とが等価であるキーを、検索先のノードから検索し、検索されたキーのバリューから、分割した後方ビット列に対応するバリューを検索し、検索したバリューに含まれる対応データを検索結果として出力する。
[実施の形態2]
次に、実施の形態2について説明する。実施の形態2では、格納対象のインデックスを、検索対象としたい2つのインデックスパターンの要素を交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスに変換し、変換した第1の合成インデックスをキーとして設定してデータを格納する。そして、実施の形態2では、検索対象の時空間データを変換したビット列の前方ビット列に対応するインデックスを、合成インデックスパターンを有する第2の合成インデックスに変換し、変換した第2の合成インデックスを用いてキー検索を行う。
[時空間データ管理装置の構成]
まず、実施の形態2に係る情報管理装置の構成について説明する。図12は、実施の形態2に係る情報管理装置220の構成の一例を示す図である。図12に示すように、情報管理装置220は、情報管理装置20と比して、格納部224及び検索部225を有する制御部223を有する。
そして、記憶部22は、合成インデックスパターンデータ221を記憶する。合成インデックスパターンは、それぞれ構成が異なる、検索対象としたい2つのインデックスパターンの要素を、時間データまたは位置データの単位ごとに、交互に組み合わせたインデックスパターンである。合成インデックスパターンは、同じ要素が重複しないように、パターンが設定される。
[格納部の構成]
格納部224は、格納受付部241、第1の変換部242(第1のビット列変換部)、第1の分割部243、第1のパターン判定部2244、第1の合成インデックス変換部2245、キー設定部246、バリュー設定部247及び格納指示部248(格納部)を有する。格納受付部241、第1の変換部242、第1の分割部243、キー設定部246、バリュー設定部247及び格納指示部248は、図6に示す第1の変換部242、第1の分割部243、バリュー設定部247及び格納指示部248と同じ処理を行う。
第1のパターン判定部2244は、格納対象の時空間データの位置データ及び時刻データの配置を基に、第1の変換部242が変換したビット列の前方ビット列に対応する第1のインデックスのインデックスパターンの種別を判定する。
第1の合成インデックス変換部2245は、第1のパターン判定部2244の判定結果に応じて、第1のインデックスを、合成インデックスパターンを有する第1の合成インデックスに変換する。キー設定部246は、第1の合成インデックスをキーとして設定する。この結果、第1の合成インデックスがキーであるバリューに、第1の分割部243が分割した後方ビット列及び対応データが格納される。
[検索部の構成]
次に、検索部225について説明する。検索部225は、検索受付部251、第2の変換部252(条件変換部)、第2の分割部253、第2のパターン判定部254、第2の合成インデックス変換部2255、キー検索部256、後方ビット列検索部257及びバリュー返却部258(出力部)を有する。検索受付部251、第2の変換部252、第2の分割部253、第2のパターン判定部254、キー検索部256、後方ビット列検索部257及びバリュー返却部258は、図6に示す検索受付部251、第2の変換部252、第2の分割部253、第2のパターン判定部254、キー検索部256、後方ビット列検索部257及びバリュー返却部258と同じ処理を行う。
第2の合成インデックス変換部2255は、第2の変換部252が変換したビット列の前方ビット列に対応する第2のインデックスを、合成インデックスパターンを有する第2の合成インデックスに変換する。キー検索部256は、第2の合成インデックスをキーとして設定する。この結果、検索部225は、第2の合成インデックスを用いてキーを検索し、検索されたキーのバリューに含まれる対応データを検索結果として出力する。
[合成インデックスパターン]
次に、図13~図23を参照して、合成インデックスパターンの設定処理について説明する。図13~図23は、合成インデックスパターンの設定処理を説明する図である。
例えば、検索対象としたい2つのインデックスパターンが、時空間インデックスパターンAと時空間インデックスパターンBとである場合を例に説明する。合成インデックスパターンA+Bは、2つの時空間インデックスパターンA,Bの要素を、時間データまたは位置データの単位ごとに、交互に組み合わせることによって設定される。
まず、合成インデックスパターンA+Bの先頭の要素として、時空間インデックスパターンA,Bのうち、インデックスパターンAの先頭の要素「x0」が採用される(図13参照)。そして、合成インデックスパターンA+Bの2番目の要素として、時空間インデックスパターンBの先頭の要素「t0」が採用される(図14参照)。合成インデックスパターンA+Bの3番目の要素として、時空間インデックスパターンAの2番目の要素「y0」が採用される(図15参照)。合成インデックスパターンA+Bの4番目の要素として、時空間インデックスパターンBの2番目の要素「t1」が採用される(図16参照)。
ここで、時空間インデックスパターンAの3番目の要素「t0」は、既に、合成インデックスパターンA+Bに含まれているため、合成インデックスパターンA+Bの要素として採用せず、スキップする(図17の(1)参照)。同様に、時空間インデックスパターンBの3番目の要素「x0」は、既に、合成インデックスパターンA+Bに含まれているため、合成インデックスパターンA+Bの要素として採用せず、スキップする(図18の(1)参照)。
そして、合成インデックスパターンA+Bの5番目の要素として、時空間インデックスパターンAの4番目の要素「x1」が採用される(図19参照)。ここで、時空間インデックスパターンBの4番目の要素「y0」は、既に、合成インデックスパターンA+Bに含まれているため、合成インデックスパターンA+Bの要素として採用せず、スキップする(図20の(1)参照)。
そして、合成インデックスパターンA+Bの6番目の要素として、時空間インデックスパターンAの5番目の要素「y1」が採用される(図21参照)。合成インデックスパターンA+Bの7番目の要素として、時空間インデックスパターンBの5番目の要素「t2」が採用される(図22参照)。以下、上記の処理を繰り返すことで(図23の(1)参照)、合成インデックスパターンA+Bとして、「x0t0y0t1x1y1t2t3x2y2t4x3t5y3x4t6y4t7x5y5t8t9」が設定される(図23参照)。
格納部224は、第1のインデックスを、合成インデックスパターンA+B「x0t0y0t1x1y1t2t3x2y2t4x3t5y3x4t6y4t7x5y5t8t9」を有する第1の合成インデックスに変換し、変換した第1の合成インデックスをキーとして、データを格納する。
[検索部の処理の流れ]
検索部225は、第2のインデックスを、格納パターンである合成インデックスパターンA+B「x0t0y0t1x1y1t2t3x2y2t4x3t5y3x4t6y4t7x5y5t8t9」を有する第2の合成インデックスに変換し、第2の合成インデックスをキーとして検索を行う。そこで、図24及び図25を参照して、検索部225による検索処理の流れについて具体的に説明する。図24及び図25は、図12に示す検索部225による検索処理の流れを説明する図である。
図24では、積み上げ法による検索方法について説明する。図25に示すように、時空間データDB30が格納するキーのインデックスパターンが「x0t0y0t1x1y1t2t3x2y2t4x3t5y3x4t6y4t7x5y5t8t9」の順で配置する合成インデックスパターンA+Bであるとする。
ここで、例えば、ユーザが、「t0t1x0y0t2t3x1y1t4t5x2y2t6t7x3y3t8t9」の順で配置するインデックスパターンBでの「0101010」をprefixに持つ条件で検索をしたい場合について説明する(図24の(1)参照)。この場合、「0101010」のインデックスパターンはBであるため、検索部25では、第2の合成インデックス変換部2255が、インデックスパターンBのprefix「0101010」を、合成インデックスパターンA+Bを有する合成インデックスに変換する(図24の(2)参照)。言い換えると、第2の合成インデックス変換部2255が、インデックスパターンBのprefix「0101010」の各ビットを、合成インデックスパターンA+Bの時間データ及び位置データの配置に合わせて並び替える。
具体的には、第2の合成インデックス変換部2255は、合成インデックスパターンA+Bの「x0t0y0t1x1y1t2t3x2y2t4x3t5y3x4t6y4t7x5y5t8t9」の配置に合わせて、インデックスパターンBのprefix「0101010」の3番目の「0(x0)」を先頭に移動し(矢印Y11参照)、インデックスパターンBのprefix「0101010」の1番目の「0(t0)」を2番目に移動し(矢印Y12参照)、インデックスパターンBのprefix「0101010」の4番目の「1(y0)」を3番目に移動し(矢印Y13参照)、インデックスパターンBのprefix「0101010」の2番目の「1(t1)」を4番目に移動し(矢印Y14参照)、インデックスパターンBのprefix「0101010」の7番目の「0(x1)」を5番目に移動する(矢印Y15参照)。なお、第2の合成インデックス変換部2255は、合成インデックスパターンA+Bの6番目の「y1」に対応するビットは、インデックスパターンBのprefix「0101010」には含まれないため、ブランクとする(矢印Y16参照)。
このように、第2の合成インデックス変換部2255は、インデックスパターンBのprefix「0101010*」を、合成インデックスパターンA+Bのprefix「00110*01」に変換する。
そして、キー検索部256は、合成インデックスパターンA+Bのprefix「00110*01」のうち、ブランク箇所へ配置する「0」または「1」の組み合わせ回数分、キーの検索を行う。具体的には、キー検索部256は、合成インデックスパターンA+Bのprefix「00110*01」のうち、ブランク箇所である6番目の位置に「0」または「1」を配置した、「00110001」,「00110101」の2通りをprefixに持つ条件で時空間データDB30のキー検索を行った結果を合計すればよい(図24の(3)参照)。この場合、検索部225は、インデックスパターンBと合成インデックスパターンA+Bとのprefixのブランク箇所の1ビット分の差分を2=2回の検索で吸収する。
図25では、フィルタ法による検索方法について説明する。フィルタ法では、積み上げ法と同様に、パターンBでの「0101010」をprefixに持つ条件で検索を要求された場合、第2の合成インデックス変換部2255が、インデックスパターンBのprefix「0101010*」を、合成インデックスパターンA+Bのprefix「00110*01」に変換する(図25の(1),(2)参照)。
そして、キー検索部256は、合成インデックスパターンA+Bのprefix「00110*01」のうち先頭の5ビット「00110」をprefixに持つ条件で時空間データDB30のキー検索を行う。そして、キー検索部256は、検索結果のうち、「00110*01」となるものをフィルタリングすればよい。この場合、検索部225は、「00110*01」の2ビット分の差分を2=4倍の検索範囲からのフィルタリングで吸収する。
[格納処理の処理手順]
次に、情報管理装置220による情報の格納処理の処理手順について説明する。図26は、図12に示す情報管理装置220による情報の格納処理の処理手順を示すフローチャートである。
図26に示すステップS21~ステップS23は、図9に示すステップS1~ステップS3と同じ処理である。第1のパターン判定部2244は、第1の分割部243が分割した前方ビット列に対応する第1のインデックスのインデックスパターンの種別を判定する(ステップS24)。
そして、第1の合成インデックス変換部2245は、第1のインデックスを、合成インデックスパターンを有する第1の合成インデックスに変換する(ステップS25)。キー設定部246は、第1の合成インデックスをキーとして設定する(ステップS26)。図26に示すステップS27,S28は、図12に示すステップS5,S6と同じ処理である。
[検索処理の処理手順]
次に、情報管理装置220による情報の検索処理の処理手順について説明する。図27は、図12に示す情報管理装置220による情報の検索処理の処理手順を示すフローチャートである。
図27に示すステップS31~ステップS34は、図10に示すステップS11~ステップS14と同じ処理である。第2の合成インデックス変換部2255は、第2の分割部253が分割した前方ビット列に対応する第2のインデックスを、合成インデックスパターンを有する第2の合成インデックスに変換する(ステップS35)。そして、キー検索部256は、第2の合成インデックスをキーとして設定する(ステップS36)。図27に示すステップS37,S38は、図10に示すステップS18,S19と同じ処理である。
[実施の形態2の効果]
実施の形態2に係る情報管理装置220では、格納対象のインデックスを、検索対象としたい2つのインデックスパターンの要素を交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスに変換し、変換した第1の合成インデックスをキーとしてデータを格納する。
このように、情報管理装置220では、時空間データの構成が、第1のデータ構成と、第1のデータ構成と異なる第2のデータ構成との2種であった場合であっても、第1のデータ構成に対応する1のインデックスパターンの要素と、第2のデータ構成に対応する第2のインデックスパターンの要素とを、時間データまたは位置データの単位ごとに交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスを格納用のキーに設定する。
これによって、時空間データDB30は、複数のインデックスパターンごとに多重にデータを格納せずともよい。したがって、本実施の形態2によれば、時空間データを含むデータ検索において、蓄積するデータ量を低減することができる。
また、情報管理装置220では、検索対象の時空間データを変換したビット列の前方ビット列に対応するインデックスを、合成インデックスパターンを有する第2の合成インデックスに変換し、変換した第2の合成インデックスを用いてキー検索を行う。
したがって、情報管理装置220は、時空間データDB30が格納するキーに対応する合成インデックスパターンに合わせて、検索対象の時空間データに対応するインデックスのインデックスパターンを変換してキー検索を行うため、複数の時空間インデックスの検索パターンに柔軟に対応できる。さらに、情報管理装置220では、積み上げ法、フィルタ法のいずれを採用しても、実施の形態1と比して、検索の回数を低減でき、また、検索範囲を縮小できるため、検索処理を高速化することが可能になる。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図28は、プログラムが実行されることにより、情報管理装置20,220が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、情報管理装置20,220の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、情報管理装置20,220における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
1 情報管理システム
10 データ送信機器
20,220 情報管理装置
21 通信部
22 記憶部
23,223 制御部
24,224 格納部
25,225 検索部
30 時空間データベース(DB)
40 端末装置
41 アプリケーション
221 合成インデックスパターンデータ
241 格納受付部
242 第1の変換部
243 第1の分割部
246 キー設定部
247 バリュー設定部
248 格納指示部
251 検索受付部
252 第2の変換部
253 第2の分割部
254 第2のパターン判定部
255 第2のパターン変換部
256 キー検索部
257 後方ビット列検索部
258 バリュー返却部
2244 第1のパターン判定部
2245 第1の合成インデックス変換部
2255 第2の合成インデックス変換部

Claims (7)

  1. 時間データ及び位置データを含む時空間データと該時空間データに対応する対応データと、を管理する情報管理装置が実行する情報管理方法であって、
    格納対象の情報の前記時空間データを第1のインデックスパターン構成を有するビット列に変換する第1のビット列変換工程と、
    前記第1のビット列変換工程において変換されたビット列の前方ビット列に対応する第1のインデックスを、前記第1のインデックスにおける第1のインデックスパターンの要素と、前記格納対象の情報の時空間データが前記第1のインデックスパターン構成とは異なる第2のインデックスパターン構成を有するビット列に変換された第2のインデックスパターンの要素とを、前記時間データまたは前記位置データの単位ごとに交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスに変換する第1の合成インデックス変換工程と、
    前記第1の合成インデックスをキーとし、前記格納対象の情報の対応データをバリューとして時空間データベースに格納する格納工程と、
    を含んだことを特徴とする情報管理方法。
  2. 前記合成インデックスパターンは、同じ要素が重複しないパターンであることを特徴とする請求項1に記載の情報管理方法。
  3. 検索対象の時空間データの範囲条件をビット列に変換する条件変換工程と、
    前記条件変換工程において変換されたビット列の前方ビット列に対応する第2のインデックスを、前記合成インデックスパターンを有する第2の合成インデックスに変換する第2の合成インデックス変換工程と、
    前記第2の合成インデックスを用いて前記キーを検索し、検索された前記キーのバリューに含まれる対応データを検索結果として出力する出力工程と、
    をさらに含んだことを特徴とする請求項1または2に記載の情報管理方法。
  4. 前記出力工程は、前記第2の合成インデックスのうちブランク箇所へ配置する0または1の組み合わせ回数分、前記キーの検索を行うことを特徴とする請求項3に記載の情報管理方法。
  5. 前記出力工程は、前記第2の合成インデックスの先頭の所定数のビットで前記キーの検索を行い、検索されたキーのうち、前記第2の合成インデックスと同じビット配置のキーを抽出することを特徴とする請求項3に記載の情報管理方法。
  6. 時間データ及び位置データを含む時空間データと該時空間データに対応する対応データとのうち、格納対象の情報の前記時空間データを第1のインデックスパターン構成を有するビット列に変換する第1のビット列変換ステップと、
    前記第1のビット列変換ステップにおいて変換されたビット列の前方ビット列に対応する第1のインデックスを、前記格納対象の情報の時空間データが前記第1のインデックスパターン構成とは異なる第2のインデックスパターン構成を有するビット列に変換された第2のインデックスパターンの要素とを、前記時間データまたは前記位置データの単位ごとに交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスに変換する第1の合成インデックスステップと、
    前記第1の合成インデックスをキーとし、前記格納対象の情報の対応データをバリューとして時空間データベースに格納する格納ステップと、
    をコンピュータに実行させるための情報管理プログラム。
  7. 時間データ及び位置データを含む時空間データと該時空間データに対応する対応データと、を管理する情報管理装置であって、
    格納対象の情報の前記時空間データを第1のインデックスパターン構成を有するビット列に変換する第1のビット列変換部と、
    前記第1のビット列変換部によって変換されたビット列の前方ビット列に対応する第1のインデックスを、前記第1のインデックスにおける第1のインデックスパターンの要素と、前記格納対象の情報の時空間データが前記第1のインデックスパターン構成とは異なる第2のインデックスパターン構成を有するビット列に変換された第2のインデックスパターンの要素とを、前記時間データまたは前記位置データの単位ごとに交互に組み合わせた合成インデックスパターンを有する第1の合成インデックスに変換する第1の合成インデックス変換部と、
    前記第1の合成インデックスをキーとし、前記格納対象の情報の対応データをバリューとして時空間データベースに格納する格納部と、
    を有することを特徴とする情報管理装置。
JP2022508021A 2020-03-19 2020-03-19 情報管理方法、情報管理プログラム及び情報管理装置 Active JP7355219B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/012541 WO2021186738A1 (ja) 2020-03-19 2020-03-19 情報管理方法、情報管理プログラム及び情報管理装置

Publications (2)

Publication Number Publication Date
JPWO2021186738A1 JPWO2021186738A1 (ja) 2021-09-23
JP7355219B2 true JP7355219B2 (ja) 2023-10-03

Family

ID=77770744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022508021A Active JP7355219B2 (ja) 2020-03-19 2020-03-19 情報管理方法、情報管理プログラム及び情報管理装置

Country Status (3)

Country Link
US (1) US12013828B2 (ja)
JP (1) JP7355219B2 (ja)
WO (1) WO2021186738A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081719A1 (en) 2013-09-19 2015-03-19 Suprio Ray Parallel Spatio Temporal Indexing for High-Update Workloads and Query Processing
WO2019160133A1 (ja) 2018-02-19 2019-08-22 日本電信電話株式会社 情報管理装置、情報管理方法及び情報管理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676743B2 (en) * 2011-05-03 2014-03-18 Space-Time Insight Space-time-nodal type signal processing
JP5915335B2 (ja) * 2012-03-30 2016-05-11 富士通株式会社 情報管理方法及び情報管理装置
JP6032467B2 (ja) * 2012-06-18 2016-11-30 株式会社日立製作所 時空間データ管理システム、時空間データ管理方法、及びそのプログラム
WO2014102569A1 (en) * 2012-12-27 2014-07-03 Arria Data2Text Limited Method and apparatus for motion description
US9753947B2 (en) * 2013-12-10 2017-09-05 Weather Decision Technologies, Inc. Four dimensional weather data storage and access
JP6714152B2 (ja) * 2017-04-03 2020-06-24 日本電信電話株式会社 分析装置、分析方法及び分析プログラム
JP6911877B2 (ja) 2018-02-19 2021-07-28 日本電信電話株式会社 情報管理装置、情報管理方法及び情報管理プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150081719A1 (en) 2013-09-19 2015-03-19 Suprio Ray Parallel Spatio Temporal Indexing for High-Update Workloads and Query Processing
WO2019160133A1 (ja) 2018-02-19 2019-08-22 日本電信電話株式会社 情報管理装置、情報管理方法及び情報管理プログラム

Also Published As

Publication number Publication date
WO2021186738A1 (ja) 2021-09-23
US20230064789A1 (en) 2023-03-02
JPWO2021186738A1 (ja) 2021-09-23
US12013828B2 (en) 2024-06-18

Similar Documents

Publication Publication Date Title
JP6911877B2 (ja) 情報管理装置、情報管理方法及び情報管理プログラム
US10338958B1 (en) Stream adapter for batch-oriented processing frameworks
CN105025053A (zh) 基于云存储技术的分布式文件的上传方法及其***
US10908834B2 (en) Load balancing for scalable storage system
US20170031948A1 (en) File synchronization method, server, and terminal
US11238046B2 (en) Information management device, information management method, and information management program
CN111258978B (zh) 一种数据存储的方法
CN111966633B (zh) 用于查询目录下子节点的方法、装置、电子设备及介质
WO2011071104A1 (ja) 分散ファイルシステム、そのデータ選択方法およびプログラム
KR101339766B1 (ko) 클라우드 서비스 컴포넌트간 매쉬업을 통한 통합 클라우드 서비스 시스템
US20140214775A1 (en) Scalable data deduplication
JP5492146B2 (ja) データベースシステム及び制御方法
JP7355219B2 (ja) 情報管理方法、情報管理プログラム及び情報管理装置
CN112035413B (zh) 元数据信息查询方法、装置及存储介质
JP7364039B2 (ja) 情報管理方法、情報管理プログラム及び情報管理装置
CN109299059A (zh) 文件存储、检索方法、装置、存储介质及服务器
CN111428114B (zh) Elasticsearch搜索引擎的索引创建方法及装置
US10083121B2 (en) Storage system and storage method
US20220365680A1 (en) Data reading method and terminal
JP4743444B2 (ja) データ転送方法
CN111258955A (zh) 一种文件读取方法和***、存储介质、计算机设备
WO2022057698A1 (en) Efficient bulk loading multiple rows or partitions for single target table
CN115878046B (zh) 数据处理方法、***、装置、存储介质及电子设备
CN111104787B (zh) 用于比较文件的方法、设备和计算机程序产品
US20150215404A1 (en) Replication device, replication method, and replication system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230712

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230904

R150 Certificate of patent or registration of utility model

Ref document number: 7355219

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150