図面 (/)

技術 データベース管理システム、データベース管理方法、およびデータベース管理プログラム

出願人 Dendritik Design株式会社
発明者 鈴木隆之有本和民宮首賢治
出願日 2019年4月22日 (1年9ヶ月経過) 出願番号 2019-081074
公開日 2020年10月29日 (3ヶ月経過) 公開番号 2020-177569
状態 特許登録済
技術分野 検索装置
主要キーワード 統計期間 共通マスタ LIFO 中間データベース バイト文字列 後入れ先出し 階層化データ 周波数利用状況
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年10月29日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

センサデータを効率的に操作すること。

解決手段

一実施形態に係るデータベース管理システムは、複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御する少なくとも一つのプロセッサを備える。複数の末端データベースのそれぞれはセンサデータを記憶する。主データベースは仮想データテーブルを提供する。少なくとも一つのプロセッサは、センサデータに基づく中間結果と、主データベースと末端データベースとを結ぶ経路一意に特定する経路IDとの組合せを含む結果セットを得るための検索指示を末端データベースに向けて送信し、結果セットを受信し、該結果セットに基づく検索結果を仮想データテーブルによって表現し出力する。

概要

背景

センサから得られたデータ(センサデータ)を記憶する複数のデータベースを備える階層化データベースが知られている。例えば、特許文献1には、コグニティブラジオを行う無線通信システムのための周波数利用状況管理用データベース装置ネットワーク化して階層化する技術を用いたコグニティブ通信システムが記載されている。このコグニティブ通信システムは、周囲の電波周波数利用状況を検出する検出装置と、該検出装置において検出された周波数の利用状況を保存する第1のデータベース装置とから構成される無線通信システムと、第1のデータベース装置を1つ以上統合する第2のデータベース装置とを備える。

概要

センサデータを効率的に操作すること。一実施形態に係るデータベース管理システムは、複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御する少なくとも一つのプロセッサを備える。複数の末端データベースのそれぞれはセンサデータを記憶する。主データベースは仮想データテーブルを提供する。少なくとも一つのプロセッサは、センサデータに基づく中間結果と、主データベースと末端データベースとを結ぶ経路一意に特定する経路IDとの組合せを含む結果セットを得るための検索指示を末端データベースに向けて送信し、結果セットを受信し、該結果セットに基づく検索結果を仮想データテーブルによって表現し出力する。

目的

そのためセンサデータを効率的に操作することが可能なデータベース管理システムが望まれている

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

それぞれがセンサに接続された複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御する少なくとも一つのプロセッサを備え、前記複数の末端データベースのそれぞれが、前記センサからの信号に基づくセンサデータを記憶し、前記主データベースが、前記センサデータに基づく検索結果を表現する仮想データテーブルを提供し、前記少なくとも一つのプロセッサが、前記検索結果を得るためのクエリを取得するステップと、前記クエリに対応する検索指示を前記複数の末端データベースのうちの少なくとも一つの末端データベースに向けて送信するステップであって、該検索指示が、前記センサデータに基づく中間結果と、前記主データベースと前記末端データベースとを結ぶ経路一意に特定する識別子である経路IDとの組合せを含む結果セットを得るための指示信号である、該ステップと、前記少なくとも一つの末端データベースに対応する少なくとも一つの前記結果セットを受信するステップと、前記少なくとも一つの結果セットに基づく前記検索結果を前記仮想データテーブルによって表現するステップと、前記仮想データテーブルによって表現された前記検索結果を出力するステップとを実行する、データベース管理システム

請求項2

前記経路IDが、少なくとも前記末端データベースのデータベースIDを用いて構成される文字列である、請求項1に記載のデータベース管理システム。

請求項3

前記階層化データベースが、前記主データベースから前記末端データベースまでの経路上に位置する中間データベースをさらに備える、請求項1または2に記載のデータベース管理システム。

請求項4

前記経路上に少なくとも一つの前記中間データベースが位置する場合には、前記経路IDが、前記末端データベースのデータベースIDと、該少なくとも一つの前記中間データベースのそれぞれのデータベースIDとを用いて構成される文字列である、請求項3に記載のデータベース管理システム。

請求項5

前記経路IDが、前記末端データベースのデータベースIDと、前記少なくとも一つの前記中間データベースのそれぞれのデータベースIDとを、前記経路上のデータベースの並びに従って連結することで生成される文字列である、請求項4に記載のデータベース管理システム。

請求項6

前記主データベース、前記複数の末端データベース、および前記中間データベースのすべてが、前記階層化データベースの制御に必要な情報を記憶する共通マスタテーブルを備え、前記共通マスタテーブルが、前記主データベース、前記複数の末端データベース、および前記中間データベースの間で同一であり、前記共通マスタテーブルが、テーブルの変更の段階を示すバージョン番号と関連付けられる、請求項3〜5のいずれか一項に記載のデータベース管理システム。

請求項7

前記複数の末端データベースのそれぞれが、サイクリックテーブルを用いて前記センサデータを記憶する、請求項1〜6のいずれか一項に記載のデータベース管理システム。

請求項8

それぞれがセンサに接続された複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御するデータベース管理システムによって実行されるデータベース管理方法であって、前記複数の末端データベースのそれぞれが、前記センサからの信号に基づくセンサデータを記憶し、前記主データベースが、前記センサデータに基づく検索結果を表現する仮想データテーブルを提供し、前記方法が、前記検索結果を得るためのクエリを取得するステップと、前記クエリに対応する検索指示を前記複数の末端データベースのうちの少なくとも一つの末端データベースに向けて送信するステップであって、該検索指示が、前記センサデータに基づく中間結果と、前記主データベースと前記末端データベースとを結ぶ経路を一意に特定する識別子である経路IDとの組合せを含む結果セットを得るための指示信号である、該ステップと、前記少なくとも一つの末端データベースに対応する少なくとも一つの前記結果セットを受信するステップと、前記少なくとも一つの結果セットに基づく前記検索結果を前記仮想データテーブルによって表現するステップと、前記仮想データテーブルによって表現された前記検索結果を出力するステップとを含む、データベース管理方法。

請求項9

それぞれがセンサに接続された複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御するデータベース管理システムとしてコンピュータを機能させるデータベース管理プログラムであって、前記複数の末端データベースのそれぞれが、前記センサからの信号に基づくセンサデータを記憶し、前記主データベースが、前記センサデータに基づく検索結果を表現する仮想データテーブルを提供し、前記プログラムが、前記検索結果を得るためのクエリを取得するステップと、前記クエリに対応する検索指示を前記複数の末端データベースのうちの少なくとも一つの末端データベースに向けて送信するステップであって、該検索指示が、前記センサデータに基づく中間結果と、前記主データベースと前記末端データベースとを結ぶ経路を一意に特定する識別子である経路IDとの組合せを含む結果セットを得るための指示信号である、該ステップと、前記少なくとも一つの末端データベースに対応する少なくとも一つの前記結果セットを受信するステップと、前記少なくとも一つの結果セットに基づく前記検索結果を前記仮想データテーブルによって表現するステップと、前記仮想データテーブルによって表現された前記検索結果を出力するステップとを前記コンピュータに実行させる、データベース管理プログラム。

技術分野

背景技術

0002

センサから得られたデータ(センサデータ)を記憶する複数のデータベースを備える階層化データベースが知られている。例えば、特許文献1には、コグニティブラジオを行う無線通信システムのための周波数利用状況管理用データベース装置ネットワーク化して階層化する技術を用いたコグニティブ通信システムが記載されている。このコグニティブ通信システムは、周囲の電波周波数利用状況を検出する検出装置と、該検出装置において検出された周波数の利用状況を保存する第1のデータベース装置とから構成される無線通信システムと、第1のデータベース装置を1つ以上統合する第2のデータベース装置とを備える。

先行技術

0003

特開2007−184850号公報

発明が解決しようとする課題

0004

センサデータを記憶するデータベースの個数が膨大なものになる場合があり、大量のセンサデータを解析するとなるとデータベース管理システムの処理量膨れ上がる可能性がある。そのためセンサデータを効率的に操作することが可能なデータベース管理システムが望まれている。

課題を解決するための手段

0005

本開示の一側面に係るデータベース管理システムは、それぞれがセンサに接続された複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御する少なくとも一つのプロセッサを備える。複数の末端データベースのそれぞれは、センサからの信号に基づくセンサデータを記憶する。主データベースは、センサデータに基づく検索結果を表現する仮想データテーブルを提供する。少なくとも一つのプロセッサは、検索結果を得るためのクエリを取得するステップと、クエリに対応する検索指示を複数の末端データベースのうちの少なくとも一つの末端データベースに向けて送信するステップであって、該検索指示が、センサデータに基づく中間結果と、主データベースと末端データベースとを結ぶ経路一意に特定する識別子である経路IDとの組合せを含む結果セットを得るための指示信号である、該ステップと、少なくとも一つの末端データベースに対応する少なくとも一つの結果セットを受信するステップと、少なくとも一つの結果セットに基づく検索結果を仮想データテーブルによって表現するステップと、仮想データテーブルによって表現された検索結果を出力するステップとを実行する。

0006

このような側面においては、クエリに対応するセンサデータが、主データベースと末端データベースとを結ぶ経路を示す経路IDと共に主データベースに集められ、その集められたセンサデータに基づく検索結果が仮想データテーブルによって表現され、そして出力される。センサデータそのものは末端データベースにのみ格納され、主データベースは仮想データテーブルによって検索結果を表現するので、センサデータそのものを記憶するための記憶領域を階層化データベースの全体として抑えることができる。加えて、センサデータの出所、すなわち情報源を経路IDによって特定できる。このような仕組みによって、センサデータを効率的に操作することが可能になる。

発明の効果

0007

本開示の一側面によれば、センサデータを効率的に操作することができる。

図面の簡単な説明

0008

階層化データベースの構造の一例を示す図である。
階層化データベースの構造の別の例を示す図である。
階層化データベースにおけるテーブル構成の一例を示す図である。
センサデータの例を示す図である。
階層化データベースの構築方法の一例を示す図である。
主データベースまたは中間データベースを構成するコンピュータの一般的なハードウェア構成の一例を示す図である。
末端データベースを構成するコンピュータの一般的なハードウェア構成の一例を示す図である。
各データベースの機能構成の一例を示す図である。
データベースの追加の一例を示すシーケンス図である。
データベースの追加の具体例を示す図である。
図10の例に対応するシステムの動作の一例を示すシーケンス図である。
主データベースでのテーブル更新の一例を示すフローチャートである。
中間データベースでのテーブル更新の一例を示すフローチャートである。
末端データベースでのテーブル更新の一例を示すフローチャートである。
テーブルの更新の具体例を示すシーケンス図である。
主データベースでの検索処理の一例を示すフローチャートである。
中間データベースでの検索処理の一例を示すフローチャートである。
末端データベースでの検索処理の一例を示すフローチャートである。
階層化データベースにおける検索の具体例を示す図である。
階層化データベースにおける検索の別の具体例を示す図である。

実施例

0009

以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。

0010

[システムの概要
実施形態に係るデータベース管理システム1は階層化データベースを制御するコンピュータシステムである。階層化データベースとは、複数のデータベースをツリー構造によって階層化することによって形成されるデータベース構成のことをいう。本実施形態では、階層化データベースは、それぞれがセンサに接続された複数の末端データベース(末端DB)と一つの主データベース(主DB)とを少なくとも含む。階層化データベースはツリー構造において主データベースと末端データベースとの間に位置する1以上の中間データベース(中間DB)をさらに備えてもよい。主データベースは最上位層に位置し、末端データベースは最下位層に位置し、中間データベースは中間層に位置する。

0011

データベース管理システム1は、1以上のセンサのそれぞれからの信号に基づくセンサデータを処理することができる。センサとは、実世界での現象を検知して、その検知された現象を、コンピュータが処理可能な信号に置き換え素子または装置のことをいう。センサで検知される現象の種類は何ら限定されない。例えば、その現象は、任意の自然現象でもよいし、任意の人工物で生ずる任意の現象でもよい。したがって、データベース管理システム1によって管理されるセンサの種類は何ら限定されない。センサデータとは信号に基づいて生成される電子データのことをいう。センサの種類が何ら限定されないことに対応して、センサデータによって示される情報の内容も何ら限定されない。データベース管理システム1は階層化データベースに記憶されているセンサデータに対して検索などのデータ操作を実行することができる。また、データベース管理システム1は階層化データベースを管理するための処理も実行することができる。

0012

[階層化データベース]
図1は階層化データベース2の構造の一例を示す図である。この例では、階層化データベース2は、主データベース10が末端データベース30に直接に接続された部分(2層の部分)と、主データベース10が少なくとも一つの中間データベース20を挟んで末端データベース30に接続された部分(3層または4層の部分)とを備える。このように、主データベース10は末端データベース30に直接に接続されてもよいし、1以上の中間データベース20を挟んで間接に接続されてもよい。主データベース10と或る一つの末端データベース30との間に介在する中間データベース20の個数は限定されない。このように、階層化データベース2の階層は柔軟に設定されてもよい。

0013

図2は階層化データベース2の構造の別の例を示す図である。この例では、主データベース10と複数の末端データベース30のそれぞれとは一つの中間データベース20を挟んで接続され、したがって、階層化データベース2の全体が3階層であるということができる。このように、階層化データベース2の階層は固定されてもよい。

0014

階層化データベース2の階層を柔軟に設定するかまたは固定するかにかかわらず、主データベース10に直接に接続されるデータベース(中間データベース20または末端データベース30)の個数は限定されない。一つの中間データベース20に接続される1階層下のデータベース(中間データベース20または末端データベース30)の個数も限定されない。一つの末端データベース30に接続されるセンサ90の個数も限定されない。

0015

主データベース10は、センサデータに基づく最終的な検索結果を提供するデータベースである。中間データベース20は、その検索のために末端データベース30と主データベース10とを結ぶ経路上に位置するデータベースである。経路とは、主データベース10と一つの末端データベース30との間を折り返すことなく結ぶデータの通り道のことをいう。個々の経路は、経路IDという識別子によって一意に特定される。中間データベース20は検索の中間結果を主データベース10に提供する。末端データベース30は、センサデータを記憶するデータベースである。末端データベース30は1以上のセンサと接続され、センサから提供される情報をセンサデータとして永続的に記憶する。一つの末端データベース30には、1種類のセンサのみが接続されてもよいし、複数種類のセンサが接続されてもよい。主データベース10および中間データベース20はいずれもセンサデータを永続的に記憶しない。

0016

図3は階層化データベース2におけるテーブル構成の一例を示す図である。主データベース10および中間データベース20はいずれも、少なくとも一つの共通マスタテーブル40と少なくとも一つの仮想データテーブル50とを備える。末端データベース30は少なくとも一つの共通マスタテーブル40と少なくとも一つの実データテーブル60とを備える。

0017

共通マスタテーブル40は、階層化データベース2の制御に必要な情報を記憶する記憶領域である。共通マスタテーブル40に格納される情報であるマスタデータの内容は限定されず、任意に設定されてよい。例えば、マスタデータは、センサに関する情報(例えば、識別子、名称、メーカ名など)を示してもよいし、センサから得られた数値を別の数値に変換するためのルールを示してもよい。それぞれの共通マスタテーブル40は階層化データベース2内のすべてのデータベースで同一である。共通マスタテーブル40に対する操作(新規作成、更新、削除)は主データベース10の主導で実行される。それぞれの共通マスタテーブル40は、このテーブルの変更の段階を示すバージョン番号と関連付けられた上でそれぞれのデータベースに実装される。

0018

仮想データテーブル50は、センサデータに基づく検索結果を表現する仮想的な記憶領域である。仮想データテーブル50はデータそのもの記憶せず、したがって、ビュー(view)ということもできる。仮想データテーブル50は、1階層下に位置する1以上のデータベースのデータの集合をあたかも単一のテーブルのように見せる。それぞれの仮想データテーブル50のテーブル構造レコードの構成、各カラムデータ型、最大レコード数など)は階層化データベース2内のすべてのデータベースで同一である。仮想データテーブル50のデータ構造は限定されず、任意に設計されてよい。仮想データテーブル50の個々のレコードは経路IDを含んでもよい。この経路IDはユーザが認識可能なカラムでもよいし、ユーザには認識されない内部処理用のカラムでもよい。仮想データテーブル50に対する操作(新規作成、更新、削除)は主データベース10の主導で実行される。

0019

実データテーブル60は、センサデータを永続的に記憶する記憶領域である。実データテーブル60のデータ構造は限定されず、任意に設計されてよい。それぞれの実データテーブル60のテーブル構造(レコードの構成、各カラムのデータ型、最大レコード数など)は、対応する仮想データテーブル50と同一である。実データテーブル60の個々のレコードは経路IDを含む。仮想データテーブル50に対応して、経路IDはユーザに認識可能でもよいし、内部処理用のものであってもよい。実データテーブル60に対する操作(新規作成、更新、削除)は主データベース10の主導で実行される。実データテーブル60内のセンサデータは末端データベース30によって追加、更新、または削除される。

0020

仮想データテーブル50および実データテーブル60はサイクリックテーブル(cyclic table)でもよい。サイクリックテーブルとは、格納できるレコード数があらかじめ決められたテーブルのことをいう。サイクリックテーブルではデータがFIFO(先入れ先出し)、LIFO後入れ先出し)などのルールによって管理される。すなわち、最大レコード数を越える場合には、ルールに基づいて、特定の1レコードが追加されるレコードによって上書きされる。サイクリックテーブル内のカラムは固定長に設定されてもよい。このようにカラムを設定することで、個々のレコードの合計データサイズが同一になるので、メモリ配置のずれに起因するメモリ断片化を防ぐことができる。

0021

互いに対応する仮想データテーブル50および実データテーブル60は共通のSQLによって生成することができる。例えば、「CREATE CYCLICTABLEV_TBL値 INTIMIT_RECORDS 1000」というSQLによって、最大で1000レコードを保持可能なサイクリックテーブルであり、且つ“V_TBL”という名前の仮想データテーブル50を主データベース10および中間データベース20上に生成し、同じテーブル構造を有する実データテーブル60を末端データベース30上に生成することができる。ただし、実データテーブル60はセンサデータを永続的に記憶するのに対して、仮想データテーブル50はセンサデータを一時的に表現するものであって、センサデータを永続的に記憶するものではない。

0022

図4はセンサデータの例を示す図である。センサデータ91のレコードは、テーブル内のレコードを一意に特定するための識別子であるレコードIDと、レコードが記録された日時と、1以上のセンサ(センサA、センサB、スイッチCなど)に対応する1以上の値とを含む。センサデータ92のレコードは、レコードIDと、統計期間と、該統計期間におけるセンサデータ91に関する統計値最大値最小値合計値二乗和など)とを含む。図4の例では、センサデータ92についてはセンサAに関するカラムのみを示す。センサデータ91,92の最大レコード数が共に6000であり、センサデータ91が1秒ごとに記録されるとすると、センサデータ91は直近の100分間にわたる履歴を示す。末端データベース30に実装されたストアドプロシージャによってその100分間の履歴が100分毎に統計処理される場合には、センサデータ92は400日分以上の統計値を示す。

0023

図5は階層化データベース2の構築方法の一例を示す図である。この例では、必要に応じて個々のデータベースを(A),(B)などのアルファベットによって区別する。

0024

まず主データベース(A)が用意される。この主データベース(A)に一つの中間データベース(B)が接続され、この中間データベース(B)にデータベースID「0001」が付与される。本開示におけるデータベースIDとは、中間データベース20および末端データベース30に付与されるデータベースの識別子のことをいい、主データベース10から末端データベース30までの経路を一意に特定することができるように決定される。データベースIDの具体的な値の設定方法は限定されず、データベースIDは任意の方針で設定されてよい。例えば、データベースIDは、2バイトの数字16進数表記による4バイト文字列で表すことで得られる値によって設定されてもよい。この場合には、主データベース10または或る一つの中間データベース20の1階層下に最大で65536(=216)個のデータベースを接続することができる。

0025

続いて主データベース(A)に中間データベース(C)が接続され、この中間データベース(C)にデータベースID「0002」が付与される。続いて主データベース(A)に末端データベース(D)が接続され、この末端データベース(D)にデータベースID「0003」が付与される。この例のように、データベースIDは中間データベース20と末端データベース30とを区別することなく連続的に付与されてよい。

0026

さらに下位のデータベースを接続する際にも、それぞれのデータベースにデータベースIDが同様の方法で付与される。図5の例では、中間データベース(B)に末端データベース(E),(F)が接続され、末端データベース(E)にデータベースID「0001」が付与され、末端データベース(F)にデータベースID「0002」が付与される。中間データベース(C)には中間データベース(G)が接続され、中間データベース(G)にデータベースID「0001」が付与される。中間データベース(G)には末端データベース(H)が接続され、末端データベース(H)にはデータベースID「0001」が付与される。

0027

図5に示すように、或る一つの上位データベースの1階層下に位置する1以上のデータベースの間でデータベースIDが重複しない限り、階層化データベース2内において複数のデータベースが同じデータベースIDを有してもよい。この場合でも主データベース10と末端データベース30とを結ぶ経路を一意に特定することができる。しかし、データベースIDを付与する方法は図5の例に限定されず、例えば、個々のデータベースIDが階層化データベース2内において一意であってもよい。

0028

[システムの構成]
データベース管理システム1は主データベース10を少なくとも備え、中間データベース20および末端データベース30のうちの少なくとも一方をさらに備えてもよい。

0029

図6は主データベース10または中間データベース20を構成するコンピュータ100の一般的なハードウェア構成の一例を示す図である。例えば、コンピュータ100はプロセッサ101、主記憶部102、補助記憶部103、通信制御部104、入力装置105、および出力装置106を備える。プロセッサ101はオペレーティングシステムおよびアプリケーションプログラムを実行する。主記憶部102は例えばROMおよびRAMで構成される。補助記憶部103は例えばハードディスクまたはフラッシュメモリで構成され、一般に主記憶部102よりも大量のデータを記憶する。各種のテーブルは補助記憶部103上に構築される。補助記憶部103は、コンピュータ100を主データベース10または中間データベース20として機能させるためのプログラムを記憶する。通信制御部104は例えばネットワークカードまたは無線通信モジュールで構成され、主データベース10、中間データベース20、または末端データベース30とのデータ通信のために用いられる。入力装置105は例えばキーボードマウスタッチパネルなどで構成される。出力装置106は例えばモニタおよびスピーカで構成される。

0030

主データベース10または中間データベース20の各機能要素は、補助記憶部103に予め記憶されるプログラムにより実現される。具体的には、各機能要素は、プロセッサ101または主記憶部102にプログラムを読み込ませてプロセッサ101にそのプログラムを実行させることで実現される。プロセッサ101はそのプログラムに従って、通信制御部104、入力装置105、または出力装置106を動作させ、主記憶部102または補助記憶部103におけるデータの読み出しおよび書き込みを行う。

0031

図7は末端データベース30を構成するコンピュータ200の一般的なハードウェア構成の一例を示す図である。例えば、コンピュータ200はプロセッサ201、主記憶部202、補助記憶部203、通信制御部204、および入力インタフェース205を備える。プロセッサ201はオペレーティングシステムおよびアプリケーション・プログラムを実行する。主記憶部202は例えばROMおよびRAMで構成される。補助記憶部203は例えばハードディスクまたはフラッシュメモリで構成され、一般に主記憶部202よりも大量のデータを記憶する。各種のテーブルは補助記憶部203上に構築される。補助記憶部203は、コンピュータ200を末端データベース30として機能させるためのプログラムを記憶する。通信制御部204は例えばネットワークカードまたは無線通信モジュールで構成され、主データベース10または中間データベース20とのデータ通信のために用いられる。入力インタフェース205は入力端子または無線通信モジュールで構成され、センサ90から信号またはデータを得るために用いられる。

0032

末端データベース30の各機能要素は、補助記憶部203に予め記憶されるプログラムにより実現される。具体的には、各機能要素は、プロセッサ201または主記憶部202にそのプログラムを読み込ませてプロセッサ201にそのプログラムを実行させることで実現される。プロセッサ201はそのプログラムに従って通信制御部204または入力インタフェース205を動作させ、主記憶部202または補助記憶部203におけるデータの読み出しおよび書き込みを行う。

0033

データベースを構成するコンピュータのハードウェア構成はこれらの例に限定されない。例えば、主データベース10、中間データベース20、および末端データベース30は同一のハードウェア構成を備えてもよいし、互いに異なるハードウェア構成を備えてもよい。

0034

主データベース10、中間データベース20、末端データベース30としてコンピュータを機能させるためのプログラムは、例えば、CD−ROM、DVD−ROM、半導体メモリなどの有形記録媒体に固定的に記録された上で提供されてもよい。あるいは、そのプログラムは、搬送波重畳されたデータ信号として通信ネットワークを介して提供されてもよい。

0035

個々のデータベースは1台のコンピュータ100または200で構成されてもよいし、複数台のコンピュータ100または200で構成されてもよい。複数台のコンピュータ100または200を用いる場合には、これらのコンピュータ100または200がインターネットイントラネットなどの通信ネットワークを介して接続されることで、論理的に一つのデータベースが構築される。

0036

図8は各データベースの機能構成の一例を示す図である。以下では必要に応じて、主データベース10、中間データベース20、および末端データベース30の間で、共通マスタテーブル40および仮想データテーブル50に付す参照符号図8に示すように区別する。

0037

主データベース10は機能要素としてテーブル管理部11および検索部12を備える。テーブル管理部11は階層化データベース2内のテーブルを管理する機能要素である。検索部12はクエリに従ってセンサデータを検索し、検索結果を仮想データテーブル51上に出力する機能要素である。

0038

中間データベース20はテーブル管理部21およびデータ中継部22を備える。テーブル管理部21は中間データベース20内のテーブルを管理する機能要素である。データ中継部22は検索のために1階層下のデータベースからデータを取得し、その取得したデータを仮想データテーブル52を用いて1階層上のデータベースに出力する機能要素である。

0039

末端データベース30はテーブル管理部31およびデータ抽出部32を備える。テーブル管理部31は末端データベース30内のテーブルを管理する機能要素である。データ抽出部32は検索条件に基づいてセンサデータを抽出し、抽出されたデータを実データテーブル60を用いて1階層上のデータベースに出力する機能要素である。

0040

[システムの動作]
図9を参照しながら、階層化データベース2に新たなデータベースを追加する際のデータベース管理システム1の動作の一例を説明する。図9はデータベースの追加の一例を処理フローS1として示すシーケンス図である。図9では、新たに追加されるデータベースを「下位データベース」といい、この下位データベースに接続されるデータベースを「上位データベース」という。上位データベースは下位データベースの1階層上に位置する。上位データベースは主データベース10または中間データベース20である。下位データベースは中間データベース20または末端データベース30である。

0041

ステップS11では、下位データベースが上位データベースに接続される。

0042

ステップS12では、上位データベースのテーブル管理部がその接続に応答して生成通知を下位データベースに送信する。そのテーブル管理部は、下位データベースに割り当てるデータベースIDと、上位データベースに実装されているすべての共通マスタテーブル40およびすべての仮想データテーブル50についての情報とを示す生成通知を生成する。共通マスタテーブルについての情報は、テーブル構造、バージョン番号、およびマスタデータを含む。仮想データテーブルついての情報はテーブル構造を含む。そのテーブル管理部は生成通知を下位データベースに送信する。

0043

ステップS13では、下位データベースのテーブル管理部がその生成通知に基づいて、下位データベースにデータベースIDを設定し、テーブルを下位データベース内に生成する。そのテーブル管理部は、上位データベースのものと同一の1以上の共通マスタテーブルと、上位データベースのものとデータ構造が同一の1以上のデータテーブルとを下位データベース内に生成する。下位データベースが中間データベース20であれば仮想データテーブル50が生成され。下位データベースが末端データベース30であれば実データテーブル60が生成される。

0044

図10および図11を参照しながら、新たなデータベースの追加の具体例について説明する。図10はデータベースの追加の具体例を示す図である。図11はその追加に対応するデータベース管理システム1の動作の一例を処理フローS2として示すシーケンス図である。図10に示すように、この例では、まず主データベース(A)に中間データベース(B)が接続され、続いて中間データベース(B)に末端データベース(C)が接続され、続いて主データベース(A)に末端データベース(D)が接続される。

0045

この一連の接続に対応する処理フローS2は以下のように実行される。ステップS21では、主データベース(A)と中間データベース(B)との間で処理フローS1が実行される。この結果、中間データベース(B)は、主データベース(A)のものと同一の1以上の共通マスタテーブル40と、主データベース(A)のものとデータ構造が同一の1以上の仮想データテーブル50とを備える。

0046

ステップS22では、中間データベース(B)と末端データベース(C)との間で処理フローS1が実行される。この結果、末端データベース(C)は、中間データベース(B)のものと同一の1以上の共通マスタテーブル40と、中間データベース(B)のものとデータ構造が同一の1以上の実データテーブル60とを備える。

0047

ステップS23では、主データベース(A)と末端データベース(D)との間で処理フローS1が実行される。この結果、末端データベース(D)は、主データベース(A)のものと同一の1以上の共通マスタテーブル40と、主データベース(A)のものとデータ構造が同一の1以上の実データテーブル60とを備える。

0048

処理フローS2で示すように、階層化データベース2に新たなデータベース(下位データベース)が追加されると、1階層上のデータベース(上位データベース)はその追加に応答して生成通知を下位データベースに送信する。下位データベースはその生成通知に基づいて、上位データベースのものに対応する共通マスタテーブル40およびデータテーブル(仮想データテーブル50または実データテーブル60)を生成する。

0049

新たなデータベースの追加の一例として、前に階層化データベース2の一構成要素であったデータベースを再び階層化データベース2に接続する処理があり得る。この場合、上位データベースのテーブル管理部はその接続に応答して、追加された下位データベースに生成通知を送信する。下位データベースのテーブル管理部は、接続前に保持している共通マスタテーブルおよびデータテーブルと、生成通知で示される共通マスタテーブルおよびデータテーブルとを比較する。そして、下位データベースのテーブル管理部は、接続前の構成と生成通知で示される現在の構成とが異なるテーブルを生成通知に基づいて再生成し、現在の構成では存在しないテーブルを削除する。この一連の処理によって、下位データベースは再び階層化データベース2の一構成要素として機能することができる。

0050

図12図14を参照しながら、データベース管理システム1におけるテーブル更新の処理の一例を説明する。図12は主データベース10の動作を処理フローS3として示すフローチャートである。図13は中間データベース20の動作を処理フローS4示すフローチャートである。図14は末端データベース30の動作を処理フローS5として示すフローチャートである。

0051

主データベース10の動作は以下の通りである。ステップS31では、テーブル管理部11が少なくとも一つのテーブルを更新する。この処理は、共通マスタテーブル41の更新と仮想データテーブル51の更新とのうちの少なくとも一つを含む。共通マスタテーブルの更新とは、テーブル構造およびマスタデータのうちの少なくとも一方を変更することをいう。1以上の共通マスタテーブル41を更新する場合には、テーブル管理部11は、更新したそれぞれの共通マスタテーブル41のバージョン番号を、過去に使われていない新たな番号に変更する。仮想データテーブルの更新とは、テーブル構造を変更することをいう。ステップS32では、テーブル管理部11は1階層下のすべてのデータベースに更新通知を送信する。テーブル管理部11は、更新された少なくとも一つのテーブルについての情報を示す更新通知を生成し、その更新通知を送信する。共通マスタテーブル41を更新した場合には、更新通知は、更新された共通マスタテーブル41のテーブル構造、バージョン番号、およびマスタデータを示す。仮想データテーブル51を更新した場合には、更新通知は、更新された仮想データテーブル51のテーブル構造を示す。

0052

中間データベース20の動作は以下の通りである。ステップS41では、テーブル管理部21が1階層上のデータベース(主データベース10または中間データベース20)から更新通知を受信する。ステップS42では、テーブル管理部21がその更新通知に基づいて少なくとも一つのテーブルを更新することで、中間データベース20内のすべての共通マスタテーブル42およびすべての仮想データテーブル52について1階層上のデータベースとの同一性を維持する。ステップS43では、テーブル管理部21は1階層下のすべてのデータベースに更新通知を送信する。この更新通知はステップS41で受信したものに対応するので、この送信は更新通知の転送であるということもできる。

0053

末端データベース30の動作は以下の通りである。ステップS51では、テーブル管理部31が1階層上のデータベース(主データベース10または中間データベース20)から更新通知を受信する。ステップS52では、テーブル管理部31がその更新通知に基づいて少なくとも一つのテーブルを更新することで、末端データベース30内のすべての共通マスタテーブル43およびすべての実データテーブル60について1階層上のデータベースとの同一性を維持する。

0054

図10および図15を参照しながら、テーブルの更新の具体例について説明する。図15は、図10に示す四つのデータベースで構成される階層化データベース2におけるテーブルの更新の具体例を処理フローS6として示すシーケンス図である。

0055

ステップS61では、主データベース(A)のテーブル管理部11がテーブル(共通マスタテーブル41および仮想データテーブル51の少なくとも一方)を更新する。ステップS62では、テーブル管理部11が更新通知を1階層下のすべてのデータベース、すなわち中間データベース(B)および末端データベース(D)に送信する。ステップS61,S62は処理フローS3に対応する。

0056

ステップS63では、中間データベース(B)のテーブル管理部21がその更新通知に基づいて1以上のテーブル(共通マスタテーブル42および仮想データテーブル52の少なくとも一方)を更新する。ステップS63はステップS42に対応する。

0057

ステップS64では、末端データベース(D)のテーブル管理部31がその更新通知に基づいて1以上のテーブル(共通マスタテーブル43および実データテーブル60の少なくとも一方)を更新する。ステップS64はステップS52に対応する。

0058

ステップS65では、中間データベース(B)のテーブル管理部21が更新通知を末端データベース(C)に送信(転送)する。ステップS65はステップS43に対応する。

0059

ステップS66では、末端データベース(C)のテーブル管理部31がその更新通知に基づいて1以上のテーブル(共通マスタテーブル43および実データテーブル60の少なくとも一方)を更新する。ステップS66はステップS52に対応する。

0060

処理フローS6で示すように、主データベース10で少なくとも一つのテーブルが更新されると、更新通知がそれぞれの末端データベース30に向かって転送されながらそれぞれのデータベースでその更新が反映される。この処理によって、階層化データベース2内の共通マスタテーブル40、仮想データテーブル50、および実データテーブル60のそれぞれについて同一性が維持される。

0061

テーブルの削除はテーブルの更新と同様の手順によって実行することができる。主データベース(A)のテーブル管理部11が少なくとも一つのテーブル(共通マスタテーブル41および仮想データテーブル51の少なくとも一方)を削除し、その削除を示す削除通知を1階層下のデータベース(下位データベース)に送信する。下位データベースが中間データベース20である場合には、テーブル管理部21がその削除通知で示される少なくとも一つのテーブルを削除し、その削除通知を1階層下のデータベースに送信する。下位データベースが末端データベース30である場合には、テーブル管理部31がその削除通知で示される少なくとも一つのテーブルを削除する。

0062

図16図18を参照しながら、データベース管理システム1における検索処理の一例を説明する。図16は主データベース10の動作を処理フローS7として示すフローチャートである。図17は中間データベース20の動作を処理フローS8示すフローチャートである。図18は末端データベース30の動作を処理フローS9として示すフローチャートである。

0063

主データベース10の動作は以下の通りである。ステップS71では、検索部12がクエリを取得する。クエリとは、データベースに対するデータ操作の要求のことをいい、典型的にはSQLなどの言語による文字列で表現される。ここでは、クエリはデータの検索を要求するものである。クエリの取得方法は限定されない。例えば、検索部12はユーザによって入力されたクエリを受け付けてもよいし、他のコンピュータからクエリを受信してもよいし、補助記憶部203などの記憶部に予め記憶されているクエリを読み出してもよい。

0064

ステップS72では、検索部12が1階層下のすべてのデータベースに検索指示を送信する。検索指示は、センサデータに基づく中間結果と経路IDとの組合せを含む結果セットを得るための指示信号である。中間結果とは、1階層下のデータベースにおける検索結果のことをいう。経路IDは、経路上の1以上のデータベースに対応する1以上のデータベースIDを用いて表現される。

0065

ステップS73では、検索部12が1階層下のすべてのデータベースから結果セットを受信する。1階層下の各データベースは、検索指示に対応する結果セットを主データベース10に送ってくる。すなわち、結果セットは検索指示に対する応答信号であるといえる。検索指示を送信してから所与の時間内に、1階層下の少なくとも一つのデータベースから結果セットを受信できなかった場合には、検索部12は受信待ち強制的に終了し、該結果セットが無いものとして後続の処理を実行してもよい。

0066

ステップS74では、検索部12が、受信した結果セットに基づく検索結果を仮想データテーブル51によって表現する。これは、その検索結果が仮想データテーブル51のデータとして表現されることを意味する。検索結果を表現する際に、検索部12は共通マスタテーブル41を参照して結果セットとマスタデータとを結合してもよい。

0067

ステップS75では、検索部12がその検索結果、すなわち、仮想データテーブル51によって表現された検索結果を出力する。検索結果の出力方法は限定されない。例えば、検索部12は検索結果を、モニタ上に表示してもよいし、他のコンピュータに送信してもよいし、記憶装置に格納してもよいし、後続の処理のために用いてもよい。

0068

中間データベース20の動作は以下の通りである。ステップS81では、データ中継部22が1階層上のデータベース(主データベース10または中間データベース20)から検索指示を受信する。ステップS82では、データ中継部22が1階層下のすべてのデータベース(中間データベース20または末端データベース30)にその検索指示を送信する。すなわち、データ中継部22は上位データベースからの検索指示を下位データベースに転送する。

0069

ステップS83では、データ中継部22が1階層下のすべてのデータベースから結果セットを受信する。1階層下の各データベースは、検索指示に対応する結果セットを中間データベース20に送ってくる。すなわち、結果セットは検索指示に対する応答信号であるといえる。検索指示を送信してから所与の時間内に、1階層下の少なくとも一つのデータベースから結果セットを受信できなかった場合には、データ中継部22は受信待ちを強制的に終了し、該結果セットが無いものとして後続の処理を実行してもよい。

0070

ステップS84では、データ中継部22がそれぞれの結果セットの経路IDを、中間データベース20に割り当てられたデータベースIDを用いて編集する。それぞれの経路IDは、一つの末端データベース30から自装置までの一つの経路上における1以上の下位データベースのデータベースIDを用いて表現される。一例では、経路IDは、1以上のデータベースIDを、経路上のデータベースの並びに従って連結することで生成される文字列として表現される。一例では、データ中継部22は割り当てられたデータベースIDを結果セットの経路IDに連結することでその経路IDを編集する。例えば、中間データベース20のデータベースIDが「0010」であるとし、1階層下にデータベースID「0003」を持つ中間データベース20が存在し、そのさらに1階層下にデータベースID「0002」を持つ末端データベース30があるとする。この場合、結果セットの経路IDは「00030002」または「00020003」であり得る。経路IDが「00030002」であれば、データ中継部22はこの文字列の前に「0010」を連結して経路IDを「001000030002」に変更する。経路IDが「00020003」であれば、データ中継部22はこの文字列の後ろに「0010」を連結して経路IDを「000200030010」に変更する。このように、データ中継部22は経路上のデータベースの並びに従って、割り当てられたデータベースIDを結果セットの経路IDに連結することで、該経路IDを編集してもよい。

0071

ステップS85では、データ中継部22が1以上の結果セットを統合し、その統合された結果セットを仮想データテーブル51によって表現する。結果セットの統合とは、1以上の結果セットの集合に基づいて一つの結果セットを生成する処理のことをいう。統合された結果セットは中間結果として仮想データテーブル52によって表現される。統合された結果セットは編集された経路IDを含む。検索結果を表現する際に、データ中継部22は共通マスタテーブル42を参照して結果セットとマスタデータとを結合してもよい。

0072

ステップS86では、データ中継部22が統合された結果セットを1階層上のデータベースに送信する。この送信は、ステップS81で受信した検索指示に対する応答信号であるといえる。

0073

末端データベース30の動作は以下の通りである。ステップS91では、データ抽出部32が1階層上のデータベース(主データベース10または中間データベース20)から検索指示を受信する。

0074

ステップS92では、データ抽出部32がその検索指示に基づいてセンサデータを検索する。

0075

ステップS93では、データ抽出部32が、末端データベース30に割り当てられたデータベースIDを用いて経路IDを設定する。一例では、データ抽出部32はそのデータベースIDをそのまま経路IDとして設定する。

0076

ステップS94では、データ抽出部32が、抽出されたセンサデータ(すなわち検索結果)と経路IDとの組合せを含む結果セットを実データテーブル60によって表現する。検索結果を表現する際に、データ抽出部32は共通マスタテーブル43を参照して結果セットとマスタデータとを結合してもよい。

0077

ステップS95では、データ抽出部32はその結果セットを1階層上のデータベースに送信する。この送信は、ステップS91で受信した検索指示に対する応答信号であるといえる。

0078

図19を参照しながら検索の具体例について説明する。図19はデータベース管理システム1による検索の具体例を示す図である。この例では、主データベース(A)の1階層下に中間データベース(B)、中間データベース(C)、および末端データベース(D)が接続されている。中間データベース(B)の1階層下には末端データベース(E)および末端データベース(F)が接続されている。中間データベース(C)の1階層下には中間データベース(G)が接続されており、中間データベース(G)の1階層下には末端データベース(H)および末端データベース(I)が接続されている。図19では、それぞれのデータベースIDを括弧書きで示す(“(0001)”、“(0002)”など)。

0079

図19に示すように個々の末端データベースにセンサデータが格納されている状況で、主データベース(A)の検索部12が「SELECT R_ID,値 FROM V_TBL」というクエリを取得したとする。文字列“R_ID”は経路IDを示し、文字列“V_TBL”は仮想データテーブル51の名称を示す。このクエリに応答して、主データベース(A)から各末端データベース30に向かって経路に沿って検索指示が伝わり、結果セットが各末端データベース30から主データベース(A)に向かって伝わる。この例では、中間データベース20は割り当てられたデータベースIDを経路IDの前に連結することで該経路IDを編集する。最終的に、検索部12は10レコードで構成される最終的な検索結果を仮想データテーブル51によって表現し、この検索結果を出力する。

0080

図20を参照しながら検索の別の具体例について説明する。図20はデータベース管理システム1による検索の別の具体例を示す図である。階層化データベース2の階層構造図19に示すものと同じである。図20に示すように個々の末端データベースにセンサデータが格納されている状況で、主データベース(A)の検索部12が「SELECT R_ID,値 FROM V_TBLORDER BY 値 DESCLIMIT 2」というクエリを取得したとする。文字列“V_TBL”は仮想データテーブル51の名称である。このクエリは、降順に並べた場合に上位二つまでに入る値を抽出する操作を意味する。このクエリに応答して、主データベース(A)から各末端データベース30に向かって経路に沿って検索指示が伝わり、結果セットが各末端データベース30から主データベース(A)に向かって伝わる。この例では、検索部12は一部の末端データベース30のみに対応する結果セットを1階層下のデータベースから受信する可能性がある。経路IDの編集方法図19の例と同じである。図20は、1階層上のデータベースに渡されるレコードを網掛けで示す。検索部12は、階層化データベース2内で上位2個の値に対応する2レコードで構成される最終的な検索結果を仮想データテーブル51によって表現し、この検索結果を出力する。上位データベースには必要なデータのみが送信されるので、階層化データベース2における通信量および処理負荷を全体として抑えることができる。

0081

図19および図20のいずれも、主データベース10の仮想データテーブル51によって表現された検索結果と、中間データベース20の仮想データテーブル52によって表現された結果セット(中間結果)と、末端データベース30の実データテーブル60によって表現された結果セットとを示す。図19および図20のいずれの例においても、主データベース(A)は、経路IDを参照することで、それぞれのレコードがどこで生成されてどのような経路を介して送られてきたのかを特定することができる。例えば、図20の例では、階層化データベース2における上位二つの値が末端DB(D)および末端DB(I)から得られたことが分かる。

0082

図19および図20の例では個々のレコードが経路IDを含むが、経路IDを検索結果または中間結果と関連付ける方法は限定されない。したがって、結果セットのデータ構造および表現方法は限定されない。例えば、経路IDは検索結果または中間結果のレコードとは別のデータ構造によって表現されてもよい。

0083

[効果]
以上説明したように、本開示の一側面に係るデータベース管理システムは、それぞれがセンサに接続された複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御する少なくとも一つのプロセッサを備える。複数の末端データベースのそれぞれは、センサからの信号に基づくセンサデータを記憶する。主データベースは、センサデータに基づく検索結果を表現する仮想データテーブルを提供する。少なくとも一つのプロセッサは、検索結果を得るためのクエリを取得するステップと、クエリに対応する検索指示を複数の末端データベースのうちの少なくとも一つの末端データベースに向けて送信するステップであって、該検索指示が、センサデータに基づく中間結果と、主データベースと末端データベースとを結ぶ経路を一意に特定する識別子である経路IDとの組合せを含む結果セットを得るための指示信号である、該ステップと、少なくとも一つの末端データベースに対応する少なくとも一つの結果セットを受信するステップと、少なくとも一つの結果セットに基づく検索結果を仮想データテーブルによって表現するステップと、仮想データテーブルによって表現された検索結果を出力するステップとを実行する。

0084

本開示の一側面に係るデータベース管理方法は、それぞれがセンサに接続された複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御するデータベース管理システムによって実行される。複数の末端データベースのそれぞれは、センサからの信号に基づくセンサデータを記憶する。主データベースは、センサデータに基づく検索結果を表現する仮想データテーブルを提供する。データベース管理方法は、検索結果を得るためのクエリを取得するステップと、クエリに対応する検索指示を複数の末端データベースのうちの少なくとも一つの末端データベースに向けて送信するステップであって、該検索指示が、センサデータに基づく中間結果と、主データベースと末端データベースとを結ぶ経路を一意に特定する識別子である経路IDとの組合せを含む結果セットを得るための指示信号である、該ステップと、少なくとも一つの末端データベースに対応する少なくとも一つの結果セットを受信するステップと、少なくとも一つの結果セットに基づく検索結果を仮想データテーブルによって表現するステップと、仮想データテーブルによって表現された検索結果を出力するステップとを含む。

0085

本開示の一側面に係るデータベース管理プログラムは、それぞれがセンサに接続された複数の末端データベースと、該複数の末端データベースと直接にまたは間接に接続された主データベースとを備える階層化データベースを制御するデータベース管理システムとしてコンピュータを機能させる。複数の末端データベースのそれぞれは、センサからの信号に基づくセンサデータを記憶する。主データベースは、センサデータに基づく検索結果を表現する仮想データテーブルを提供する。データベース管理プログラムは、検索結果を得るためのクエリを取得するステップと、クエリに対応する検索指示を複数の末端データベースのうちの少なくとも一つの末端データベースに向けて送信するステップであって、該検索指示が、センサデータに基づく中間結果と、主データベースと末端データベースとを結ぶ経路を一意に特定する識別子である経路IDとの組合せを含む結果セットを得るための指示信号である、該ステップと、少なくとも一つの末端データベースに対応する少なくとも一つの結果セットを受信するステップと、少なくとも一つの結果セットに基づく検索結果を仮想データテーブルによって表現するステップと、仮想データテーブルによって表現された検索結果を出力するステップとをコンピュータに実行させる。

0086

このような側面においては、クエリに対応するセンサデータが、主データベースと末端データベースとを結ぶ経路を示す経路IDと共に主データベースに集められ、その集められたセンサデータに基づく検索結果が仮想データテーブルによって表現され、そして出力される。センサデータそのものは末端データベースにのみ格納され、主データベースは仮想データテーブルによって検索結果を表現するので、センサデータそのものを記憶するための記憶領域を階層化データベースの全体として抑えることができる。加えて、センサデータの出所、すなわち情報源を経路IDによって特定できる。このような仕組みによって、センサデータを効率的に操作することが可能になる。

0087

他の側面に係るデータベース管理システムでは、経路IDが、少なくとも末端データベースのデータベースIDを用いて構成される文字列であってもよい。既に存在するデータベースIDを用いることで一意の経路IDを容易に生成することができる。

0088

他の側面に係るデータベース管理システムでは、階層化データベースが、主データベースから末端データベースまでの経路上に位置する中間データベースをさらに備えてもよい。中間データベースを設けることで階層化データベースを柔軟に構成することができる。また、中間データベースと主データベースとの間で処理が分散されるので、主データベースに掛かる処理の負荷下げることができる。

0089

他の側面に係るデータベース管理システムでは、経路上に少なくとも一つの中間データベースが位置する場合には、経路IDが、末端データベースのデータベースIDと、該少なくとも一つの中間データベースのそれぞれのデータベースIDとを用いて構成される文字列であってもよい。既に存在するデータベースIDを用いることで一意の経路IDを容易に生成することができる。

0090

他の側面に係るデータベース管理システムでは、経路IDが、末端データベースのデータベースIDと、少なくとも一つの中間データベースのそれぞれのデータベースIDとを、経路上のデータベースの並びに従って連結することで生成される文字列であってもよい。既に存在するデータベースIDを階層化データベースのツリー構造に従って連結することで一意の経路IDを容易に生成することができる。

0091

他の側面に係るデータベース管理システムでは、主データベース、複数の末端データベース、および中間データベースのすべてが、階層化データベースの制御に必要な情報を記憶する共通マスタテーブルを備えてもよい。共通マスタテーブルは、主データベース、複数の末端データベース、および中間データベースの間で同一であってもよい。共通マスタテーブルは、テーブルの変更の段階を示すバージョン番号と関連付けられてもよい。共通マスタテーブルにバージョン番号を関連付けることで、階層化データベース内のすべてのデータベースにおける共通マスタテーブルの同一性を確実に保証することができる。

0092

他の側面に係るデータベース管理システムでは、複数の末端データベースのそれぞれが、サイクリックテーブルを用いてセンサデータを記憶してもよい。サイクリックテーブルを用いることで、末端データベースの記憶容量を抑えつつ、処理に必要なデータを効率的に記憶することができる。

0093

[変形例]
以上、本開示での実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。

0094

上記実施形態では階層化データベース2内のすべてのデータベースが共通マスタテーブル40を備える。しかし、共通マスタテーブルは必須の構成要素ではなく、省略されてもよい。

0095

本開示において、「少なくとも一つのプロセッサが、第1の処理を実行し、第2の処理を実行し、…第nの処理を実行する。」との表現、またはこれに対応する表現は、第1の処理から第nの処理までのn個の処理の実行主体(すなわちプロセッサ)が途中で変わる場合を含む概念を示す。すなわち、この表現は、n個の処理のすべてが同じプロセッサで実行される場合と、n個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念を示す。

0096

少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップの一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正または削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。

0097

二つの数値の大小関係の比較では、「以上」および「よりも大きい」という二つの基準のどちらが用いられてもよく、「以下」および「未満」という二つの基準のうちのどちらが用いられてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。

0098

1…データベース管理システム、2…階層化データベース、10…主データベース、11…テーブル管理部、12…検索部、20…中間データベース、21…テーブル管理部、22…データ中継部、30…末端データベース、31…テーブル管理部、32…データ抽出部、40〜43…共通マスタテーブル、50〜52…仮想データテーブル、60…実データテーブル、90…センサ、91…センサデータ、92…センサデータ。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ