(57)【要約】【課題】時間的な順序性をなくした形式で時系列データを格納し、利用時に再構成できるようにする。【解決手段】サーバ装置１００は、時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得し、第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成し、複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べてオブジェクトストレージ１５０に格納する。データ利用装置２００は、時刻と第２値との対応関係を示す表である対応表を参照して、第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示すデータを生成することで複数の第１データを復元する。【選択図】図１
2019074925.tif 000002
【特許請求の範囲】
【請求項１】
時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得し、取得した第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成し、生成した複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べて、外部からアクセスされる記憶領域に格納するサーバ装置と、
前記サーバ装置により並べられた複数の第２データを前記記憶領域から取得し、時刻と第２値との対応関係を示す表である対応表を参照して、取得した第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示すデータを生成することで、前記サーバ装置により取得された複数の第１データを復元するデータ利用装置と
を備えるデータ管理システム。
【請求項２】
時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得する取得処理部と、
前記取得処理部により取得された第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成し、生成した複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べる混合処理部と、
前記混合処理部により並べられた複数の第２データを、外部からアクセスされる記憶領域に格納する格納処理部と
を備えるサーバ装置。
【請求項３】
前記取得処理部は、それぞれの第１データとして、時刻と、当該時刻に得られた第１値とともに、当該時刻に当該第１値を得たデバイスを一意に識別するデバイス識別子を示すデータを取得し、
前記混合処理部は、前記取得処理部により取得された第１データごとに、第２データに示される第２値として、第１データに示されている時刻およびデバイス識別子の組に一意に対応する値を生成する請求項２に記載のサーバ装置。
【請求項４】
前記格納処理部は、前記混合処理部により並べられた複数の第２データを、前記記憶領域に構築されたデータベースに格納する請求項２または３に記載のサーバ装置。
【請求項５】
前記混合処理部は、前記取得処理部により取得された第１データごとに、第２データに示される第２値として、ハッシュ値を算出し、
前記格納処理部は、前記取得処理部により取得された複数の第１データに示されている時刻を、それぞれの第１データに示されている第１値から切り離された形で前記記憶領域に書き込む請求項２から４のいずれか１項に記載のサーバ装置。
【請求項６】
前記混合処理部は、前記取得処理部により取得された第１データごとに、第１データに示されている時刻を第１単位の時刻と第２単位の時刻とに分解し、前記第１単位の時刻と、前記第２単位の時刻に対応するハッシュ値である第３値とを示す第３データを生成し、生成した複数の第３データを、それぞれの第３データの元になった第１データに示されている時刻の順序とは別の順序で並べ、
前記格納処理部は、前記混合処理部により並べられた複数の第３データを前記記憶領域に格納する請求項２から４のいずれか１項に記載のサーバ装置。
【請求項７】
前記第１単位は年、前記第２単位は月日時である請求項６に記載のサーバ装置。
【請求項８】
第１値と、当該第１値が得られた時刻に一意に対応する値である第２値とをそれぞれ示す複数の第２データを外部の記憶領域から取得する取得処理部と、
時刻と第２値との対応関係を示す表である対応表を参照して、前記取得処理部により取得された第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示す第１データを生成し、生成した複数の第１データを出力する出力処理部と
を備えるデータ利用装置。
【請求項９】
前記取得処理部は、それぞれの第２データに示される第２値として、それぞれの第２データに示される第１値が得られた時刻および当該時刻に当該第１値を得たデバイスを一意に識別するデバイス識別子の組に一意に対応する値を取得し、
前記出力処理部は、前記対応表として、時刻およびデバイス識別子の組と第２値との対応関係を示す表を参照して、前記取得処理部により取得された第２データごとに、第２データに示されている第２値に対応する時刻およびデバイス識別子の組を特定し、第１データとして、特定した時刻と、第２データに示されている第１値とともに、特定したデバイス識別子を示すデータを生成する請求項８に記載のデータ利用装置。
【請求項１０】
前記取得処理部は、取得した複数の第２データをデータベースに格納し、
前記出力処理部は、前記データベースを検索することで、前記データベースに格納された第２データごとに、第１データを生成する請求項８または９に記載のデータ利用装置。
【請求項１１】
前記取得処理部は、取得した複数の第２データに示されている第１値が得られた時刻を前記記憶領域から読み取り、
前記出力処理部は、前記取得処理部により読み取られた時刻に対応するハッシュ値を第２値として算出することで前記対応表を生成する請求項８から１０のいずれか１項に記載のデータ利用装置。
【請求項１２】
前記取得処理部は、第１単位の時刻と、第２単位の時刻に対応するハッシュ値である第３値とをそれぞれ示す複数の第３データを前記記憶領域から取得し、
前記出力処理部は、前記第２単位の時刻と第３値とを紐付けるハッシュテーブルを参照して、前記取得処理部により取得された第３データごとに、第３データに示されている第３値に対応する前記第２単位の時刻を特定し、第３データに示されている前記第１単位の時刻と、特定した前記第２単位の時刻とからなる時刻に対応するハッシュ値を第２値として算出することで前記対応表を生成する請求項８から１０のいずれか１項に記載のデータ利用装置。
【請求項１３】
前記第１単位は年、前記第２単位は月日時である請求項１２に記載のデータ利用装置。
【請求項１４】
コンピュータに、
時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得する取得処理と、
前記取得処理により取得された第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成し、生成した複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べる混合処理と、
前記混合処理により並べられた複数の第２データを、外部からアクセスされる記憶領域に格納する格納処理と
を実行させるサーバプログラム。
【請求項１５】
コンピュータに、
第１値と、当該第１値が得られた時刻に一意に対応する値である第２値とをそれぞれ示す複数の第２データを外部の記憶領域から取得する取得処理と、
時刻と第２値との対応関係を示す表である対応表を参照して、前記取得処理により取得された第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示す第１データを生成し、生成した複数の第１データを出力する出力処理と
を実行させるデータ利用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ管理システム、サーバ装置、データ利用装置、サーバプログラムおよびデータ利用プログラムに関するものである。
【背景技術】
【０００２】
特許文献１、特許文献２および特許文献３には、保管するデータを複数のデータに分割し、これら複数のデータを複数の記憶装置に分散して保管する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−１７３１７８号公報
【特許文献２】特開２００４−１７１２０７号公報
【特許文献３】国際公開第２００１／０４６８０８号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
センサーデバイスで発生する時系列データを利用してデータ分析等を行うシステムにおいて、センサーデバイスの設置場所とデータの利用場所とが地理的に異なる場合、または、センサーデバイスが広く散在する場合等ではセンサーデバイスの時系列データの収集が課題となる。データ収集をクラウド基盤で行い、クラウド上のストレージに格納するような構成では、インターネットを介することでデータ収集に伴う地理的な課題を解決できるが、データをクラウドに置くことによるデータ漏洩の可能性の課題が生じる。
【０００５】
データ格納での機密性の強化方法としては、データを単独では意味をなさない単位で分割して、異なるストレージに格納する方法、および、データを暗号化して格納する方法がある。特許文献１、特許文献２および特許文献３に記載の技術のように、データを分割する方法では、データ利用時には複数のストレージからデータを取得する必要があり、保管においても複数ストレージ利用によるコストがかかる。データを暗号化する方法では、暗号鍵の管理が必要となる。
【０００６】
本発明は、時間的な順序性をなくした形式で時系列データを格納し、利用時に再構成できるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るデータ管理システムは、
時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得し、取得した第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成し、生成した複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べて、外部からアクセスされる記憶領域に格納するサーバ装置と、
前記サーバ装置により並べられた複数の第２データを前記記憶領域から取得し、時刻と第２値との対応関係を示す表である対応表を参照して、取得した第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示すデータを生成することで、前記サーバ装置により取得された複数の第１データを復元するデータ利用装置と
を備える。
【０００８】
本発明の一態様に係るサーバ装置は、
時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得する取得処理部と、
前記取得処理部により取得された第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成し、生成した複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べる混合処理部と、
前記混合処理部により並べられた複数の第２データを、外部からアクセスされる記憶領域に格納する格納処理部と
を備える。
【０００９】
前記取得処理部は、それぞれの第１データとして、時刻と、当該時刻に得られた第１値とともに、当該時刻に当該第１値を得たデバイスを一意に識別するデバイス識別子を示すデータを取得し、
前記混合処理部は、前記取得処理部により取得された第１データごとに、第２データに示される第２値として、第１データに示されている時刻およびデバイス識別子の組に一意に対応する値を生成する。
【００１０】
前記格納処理部は、前記混合処理部により並べられた複数の第２データを、前記記憶領域に構築されたデータベースに格納する。
【００１１】
前記混合処理部は、前記取得処理部により取得された第１データごとに、第２データに示される第２値として、ハッシュ値を算出し、
前記格納処理部は、前記取得処理部により取得された複数の第１データに示されている時刻を、それぞれの第１データに示されている第１値から切り離された形で前記記憶領域に書き込む。
【００１２】
前記混合処理部は、前記取得処理部により取得された第１データごとに、第１データに示されている時刻を第１単位の時刻と第２単位の時刻とに分解し、前記第１単位の時刻と、前記第２単位の時刻に対応するハッシュ値である第３値とを示す第３データを生成し、生成した複数の第３データを、それぞれの第３データの元になった第１データに示されている時刻の順序とは別の順序で並べ、
前記格納処理部は、前記混合処理部により並べられた複数の第３データを前記記憶領域に格納する。
【００１３】
前記第１単位は年、前記第２単位は月日時である。
【００１４】
本発明の一態様に係るデータ利用装置は、
第１値と、当該第１値が得られた時刻に一意に対応する値である第２値とをそれぞれ示す複数の第２データを外部の記憶領域から取得する取得処理部と、
時刻と第２値との対応関係を示す表である対応表を参照して、前記取得処理部により取得された第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示す第１データを生成し、生成した複数の第１データを出力する出力処理部と
を備える。
【００１５】
前記取得処理部は、それぞれの第２データに示される第２値として、それぞれの第２データに示される第１値が得られた時刻および当該時刻に当該第１値を得たデバイスを一意に識別するデバイス識別子の組に一意に対応する値を取得し、
前記出力処理部は、前記対応表として、時刻およびデバイス識別子の組と第２値との対応関係を示す表を参照して、前記取得処理部により取得された第２データごとに、第２データに示されている第２値に対応する時刻およびデバイス識別子の組を特定し、第１データとして、特定した時刻と、第２データに示されている第１値とともに、特定したデバイス識別子を示すデータを生成する。
【００１６】
前記取得処理部は、取得した複数の第２データをデータベースに格納し、
前記出力処理部は、前記データベースを検索することで、前記データベースに格納された第２データごとに、第１データを生成する。
【００１７】
前記取得処理部は、取得した複数の第２データに示されている第１値が得られた時刻を前記記憶領域から読み取り、
前記出力処理部は、前記取得処理部により読み取られた時刻に対応するハッシュ値を第２値として算出することで前記対応表を生成する。
【００１８】
前記取得処理部は、第１単位の時刻と、第２単位の時刻に対応するハッシュ値である第３値とをそれぞれ示す複数の第３データを前記記憶領域から取得し、
前記出力処理部は、前記第２単位の時刻と第３値とを紐付けるハッシュテーブルを参照して、前記取得処理部により取得された第３データごとに、第３データに示されている第３値に対応する前記第２単位の時刻を特定し、第３データに示されている前記第１単位の時刻と、特定した前記第２単位の時刻とからなる時刻に対応するハッシュ値を第２値として算出することで前記対応表を生成する。
【００１９】
前記第１単位は年、前記第２単位は月日時である。
【００２０】
本発明の一態様に係るサーバプログラムは、
コンピュータに、
時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得する取得処理と、
前記取得処理により取得された第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成し、生成した複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べる混合処理と、
前記混合処理により並べられた複数の第２データを、外部からアクセスされる記憶領域に格納する格納処理と
を実行させる。
【００２１】
本発明の一態様に係るデータ利用プログラムは、
コンピュータに、
第１値と、当該第１値が得られた時刻に一意に対応する値である第２値とをそれぞれ示す複数の第２データを外部の記憶領域から取得する取得処理と、
時刻と第２値との対応関係を示す表である対応表を参照して、前記取得処理により取得された第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示す第１データを生成し、生成した複数の第１データを出力する出力処理と
を実行させる。
【発明の効果】
【００２２】
本発明によれば、時間的な順序性をなくした形式で時系列データを格納し、利用時に再構成することができる。その結果、時系列データの保管にかかるコストおよび手間を軽減しつつ、データ漏洩時の被害を縮小することができる。
【図面の簡単な説明】
【００２３】
【図１】実施の形態１に係るデータ管理システムの構成を示すブロック図。
【図２】実施の形態１に係るサーバ装置のハードウェア構成例を示すブロック図。
【図３】実施の形態１に係るデータ利用装置のハードウェア構成例を示すブロック図。
【図４】実施の形態１に係るサーバ装置の動作を示すフローチャート。
【図５】実施の形態１に係るデータ利用装置の動作を示すフローチャート。
【図６】実施の形態２に係るデータ管理システムの構成を示すブロック図。
【図７】実施の形態２に係るデータ利用装置のタイムスタンプテーブルの例を示す表。
【図８】実施の形態２に係るデータ利用装置の計測値テーブルの例を示す表。
【図９】実施の形態２に係るデータ利用装置の動作を示すフローチャート。
【図１０】実施の形態３に係るデータ管理システムの構成を示すブロック図。
【図１１】実施の形態４に係るデータ管理システムの構成を示すブロック図。
【図１２】実施の形態４に係るサーバ装置の動作を示すフローチャート。
【図１３】実施の形態４に係るデータ利用装置の動作を示すフローチャート。
【発明を実施するための形態】
【００２４】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、２つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、１つの実施の形態または２つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
【００２５】
実施の形態１．
本実施の形態について、図１から図５を用いて説明する。
【００２６】
＊＊＊構成の説明＊＊＊
図１を参照して、本実施の形態に係るデータ管理システム７００の構成を説明する。
【００２７】
データ管理システム７００は、サーバ装置１００と、オブジェクトストレージ１５０と、データ利用装置２００と、センサーデバイス３００とを備える。サーバ装置１００、オブジェクトストレージ１５０およびデータ利用装置２００は、少なくとも１台ずつあればよい。センサーデバイス３００は、少なくとも１台あればよいが、本実施の形態では、複数台ある。
【００２８】
サーバ装置１００と、オブジェクトストレージ１５０と、データ利用装置２００と、センサーデバイス３００は、インターネット４００に接続されている。インターネット４００は、ＬＡＮまたはＷＡＮ等、他の種類のネットワークに置き換えられてもよい。「ＬＡＮ」は、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略語である。「ＷＡＮ」は、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略語である。
【００２９】
センサーデバイス３００は、計測値を周期的にインターネット４００経由でサーバ装置１００に送信するデバイスである。サーバ装置１００への送信は、ゲートウェイまたはエッジデバイスを介して行われてもよい。計測値は、例えば、温度等の環境計測値、または、産業機器を計測対象として計測値である。センサーデバイス３００は、何らかの時系列データを送信する他の種類のデバイスに置き換えられてもよい。
【００３０】
サーバ装置１００は、任意のコンピュータでよいが、本実施の形態では、クラウド基盤を提供するサーバコンピュータである。クラウド基盤は、例えば、プライベートクラウドまたはパブリッククラウドである。
【００３１】
サーバ装置１００は、機能要素として、取得処理部１０１と、混合処理部１０２と、格納処理部１０３と、デバイス管理部１０４とを備える。
【００３２】
取得処理部１０１は、ストリーム処理を行う。具体的には、取得処理部１０１は、リアルタイムでデータを受信する。取得処理部１０１は、受信データを一定期間保持する。保持データに対する処理実行およびデータ出力が可能である。
【００３３】
混合処理部１０２は、データ順序混合処理を行う。具体的には、混合処理部１０２は、センサーデバイス３００からの時系列データをタイムスタンプと計測値とに分離する。混合処理部１０２は、タイムスタンプを記録したファイルであるタイムスタンプファイル６０１を生成する。また、混合処理部１０２は、デバイスＩＤと計測値とを記録したファイルであり、計測値の順序を無作為に入れ替えた計測値ファイル６０２を生成する。「ＩＤ」は、Ｉｄｅｎｔｉｆｉｅｒの略語である。
【００３４】
格納処理部１０３は、混合処理部１０２が生成したタイムスタンプファイル６０１と計測値ファイル６０２とをオブジェクトストレージ１５０に格納する。
【００３５】
デバイス管理部１０４は、センサーデバイス３００の識別管理を行う。具体的には、デバイス管理部１０４は、取得処理部１０１が受信したデータとセンサーデバイス３００とを紐付ける情報の管理を行う。
【００３６】
オブジェクトストレージ１５０は、インターネット４００経由でアクセス可能なクラウド上のストレージである。オブジェクトストレージ１５０に対しては、ＵＲＬとアクセスキーとによりデータアクセスが行われる。「ＵＲＬ」は、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒの略語である。オブジェクトストレージ１５０は、サーバ装置１００に内蔵されていてもよい。
【００３７】
データ利用装置２００は、任意のコンピュータでよいが、本実施の形態では、データ利用拠点に設置されるパーソナルコンピュータである。データ利用拠点は、センサーデバイス３００からの時系列データを利用してデータ分析等を行う拠点である。
【００３８】
データ利用装置２００は、機能要素として、取得処理部２０１と、出力処理部２０２とを備える。
【００３９】
取得処理部２０１は、オブジェクトストレージ１５０から必要なタイムスタンプファイル６０１と計測値ファイル６０２とを取得する。
【００４０】
出力処理部２０２は、データ順序復元処理を行う。具体的には、出力処理部２０２は、タイムスタンプファイル６０１と計測値ファイル６０２とから、タイムスタンプ、デバイスＩＤおよび計測値が記録されたファイルである時系列データファイル６０３を生成する。
【００４１】
図２を参照して、サーバ装置１００のハードウェア構成例を説明する。
【００４２】
サーバ装置１００は、プロセッサ１１１を備えるとともに、メモリ１１２、補助記憶装置１１３、通信装置１１４、入力機器１１５およびディスプレイ１１６といった他のハードウェアを備える。プロセッサ１１１は、信号線１１７を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００４３】
サーバ装置１００の取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４の機能は、ソフトウェアにより実現される。
【００４４】
プロセッサ１１１は、サーバプログラムを実行する装置である。サーバプログラムは、取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４の機能を実現するプログラムである。プロセッサ１１１は、例えば、ＣＰＵである。「ＣＰＵ」は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。
【００４５】
メモリ１１２および補助記憶装置１１３は、サーバプログラムを記憶する装置である。メモリ１１２は、例えば、フラッシュメモリまたはＲＡＭである。「ＲＡＭ」は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。補助記憶装置１１３は、例えば、フラッシュメモリまたはＨＤＤである。「ＨＤＤ」は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。
【００４６】
通信装置１１４は、サーバプログラムに入力されるデータを受信するレシーバ１１８と、サーバプログラムから出力されるデータを送信するトランスミッタ１１９とを含む。通信装置１１４は、例えば、通信チップまたはＮＩＣである。「ＮＩＣ」は、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略語である。
【００４７】
入力機器１１５は、サーバプログラムへのデータの入力のために操作される機器である。入力機器１１５は、例えば、マウス、キーボードまたはタッチパネルである。
【００４８】
ディスプレイ１１６は、サーバプログラムから出力されるデータを画面に表示する機器である。ディスプレイ１１６は、例えば、ＬＣＤである。「ＬＣＤ」は、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略語である。
【００４９】
サーバプログラムは、補助記憶装置１１３からメモリ１１２にロードされ、プロセッサ１１１によって実行される。補助記憶装置１１３には、サーバプログラムだけでなく、ＯＳも記憶されている。「ＯＳ」は、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略語である。プロセッサ１１１は、ＯＳを実行しながら、サーバプログラムを実行する。なお、サーバプログラムの一部または全部がＯＳに組み込まれていてもよい。
【００５０】
サーバ装置１００は、プロセッサ１１１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、サーバプログラムの実行を分担する。それぞれのプロセッサは、例えば、ＣＰＵである。
【００５１】
サーバプログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ１１２、補助記憶装置１１３、または、プロセッサ１１１内のレジスタまたはキャッシュメモリに記憶される。
【００５２】
サーバプログラムは、取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４により行われる処理をそれぞれ取得処理、混合処理、格納処理およびデバイス管理処理としてコンピュータに実行させるプログラムである。サーバプログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【００５３】
サーバ装置１００は、１台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。サーバ装置１００が複数台のコンピュータで構成されている場合は、取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４の機能が、各コンピュータに分散されて実現されてもよい。
【００５４】
図３を参照して、データ利用装置２００のハードウェア構成例を説明する。
【００５５】
データ利用装置２００は、プロセッサ２１１を備えるとともに、メモリ２１２、補助記憶装置２１３、通信装置２１４、入力機器２１５およびディスプレイ２１６といった他のハードウェアを備える。プロセッサ２１１は、信号線２１７を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００５６】
データ利用装置２００の取得処理部２０１および出力処理部２０２の機能は、ソフトウェアにより実現される。
【００５７】
プロセッサ２１１は、データ利用プログラムを実行する装置である。データ利用プログラムは、取得処理部２０１および出力処理部２０２の機能を実現するプログラムである。プロセッサ２１１は、例えば、ＣＰＵである。
【００５８】
メモリ２１２および補助記憶装置２１３は、データ利用プログラムを記憶する装置である。メモリ２１２は、例えば、フラッシュメモリまたはＲＡＭである。補助記憶装置２１３は、例えば、フラッシュメモリまたはＨＤＤである。
【００５９】
通信装置２１４は、データ利用プログラムに入力されるデータを受信するレシーバ２１８と、データ利用プログラムから出力されるデータを送信するトランスミッタ２１９とを含む。通信装置２１４は、例えば、通信チップまたはＮＩＣである。
【００６０】
入力機器２１５は、データ利用プログラムへのデータの入力のために操作される機器である。入力機器２１５は、例えば、マウス、キーボードまたはタッチパネルである。
【００６１】
ディスプレイ２１６は、データ利用プログラムから出力されるデータを画面に表示する機器である。ディスプレイ２１６は、例えば、ＬＣＤである。
【００６２】
データ利用プログラムは、補助記憶装置２１３からメモリ２１２にロードされ、プロセッサ２１１によって実行される。補助記憶装置２１３には、データ利用プログラムだけでなく、ＯＳも記憶されている。プロセッサ２１１は、ＯＳを実行しながら、データ利用プログラムを実行する。なお、データ利用プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００６３】
データ利用装置２００は、プロセッサ２１１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、データ利用プログラムの実行を分担する。それぞれのプロセッサは、例えば、ＣＰＵである。
【００６４】
データ利用プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ２１２、補助記憶装置２１３、または、プロセッサ２１１内のレジスタまたはキャッシュメモリに記憶される。
【００６５】
データ利用プログラムは、取得処理部２０１および出力処理部２０２により行われる処理をそれぞれ取得処理および出力処理としてコンピュータに実行させるプログラムである。データ利用プログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、記録媒体に格納されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
【００６６】
データ利用装置２００は、１台のコンピュータで構成されていてもよいし、複数台のコンピュータで構成されていてもよい。データ利用装置２００が複数台のコンピュータで構成されている場合は、取得処理部２０１および出力処理部２０２の機能が、各コンピュータに分散されて実現されてもよい。
【００６７】
＊＊＊動作の説明＊＊＊
図１のほかに、図４および図５を参照して、本実施の形態に係るデータ管理システム７００の動作を説明する。データ管理システム７００の動作は、本実施の形態に係るデータ管理方法に相当する。
【００６８】
データ管理システム７００の動作は、データ格納フェーズと、再構成フェーズとからなる。
【００６９】
データ格納フェーズは、サーバ装置１００が時系列データを変換してオブジェクトストレージ１５０に格納するフェーズである。再構成フェーズは、データ利用装置２００がオブジェクトストレージ１５０のデータから利用可能な時系列データを再構成するフェーズである。
【００７０】
データ格納フェーズでは、取得処理部１０１が、センサーデバイス３００からの計測値をストリーム処理で受信し、１分ごとのような、ある一定周期ごとに、時系列データをデータ順序混合処理に渡す。各周期は、記録時間ウィンドウとして識別される。データ順序混合処理では、混合処理部１０２が、時系列データを変換し、結果をタイムスタンプファイル６０１と計測値ファイル６０２とに出力する。その後、格納処理部１０３が、オブジェクトストレージ１５０にタイムスタンプファイル６０１と計測値ファイル６０２とを書き込む。
【００７１】
データ順序混合処理のフローを図４に示す。
【００７２】
データ順序混合処理の開始前に、取得処理部１０１は、時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得する。第１データは、本実施の形態では、センサーデバイス３００からのセンサーデータに含まれる１件１件のレコードである。時刻は、本実施の形態では、タイムスタンプの形式で示される。第１値は、本実施の形態では、計測値である。
【００７３】
本実施の形態では、取得処理部１０１は、それぞれの第１データとして、時刻と、当該時刻に得られた第１値とともに、当該時刻に当該第１値を得たセンサーデバイス３００を一意に識別するデバイスＩＤを示すデータを取得する。
【００７４】
ステップＳ１１において、混合処理部１０２には、取得処理部１０１から記録時間ウィンドウ単位で複数のセンサーデータが入力される。
【００７５】
ステップＳ１２において、混合処理部１０２は、センサーデータからレコードを１件取り出す。レコードには、タイムスタンプ、デバイスＩＤおよび１つまたは複数の計測値のデータが含まれる。タイムスタンプは、計測時刻に相当する。デバイスＩＤは、計測を行ったセンサーデバイス３００の識別子に相当する。
【００７６】
ステップＳ１３において、混合処理部１０２は、レコードのタイムスタンプとデバイスＩＤとに対してハッシュ処理を行い、ハッシュ値を算出する。
【００７７】
ステップＳ１４において、混合処理部１０２は、ハッシュ値とデバイスＩＤ、計測値および記録時間ウィンドウＩＤとの組をレコードとして、計測値バッファに追加する。記録時間ウィンドウＩＤは、記録時間ウィンドウを一意に識別するＩＤである。計測値バッファは、メモリ１１２上に確保される。
【００７８】
ステップＳ１５において、混合処理部１０２は、タイムスタンプバッファにレコードのタイムスタンプ値が存在しない場合、タイムスタンプバッファに追加する。タイムスタンプバッファは、メモリ１１２上に確保される。
【００７９】
ステップＳ１６において、混合処理部１０２は、未処理のセンサーデータのレコードがある場合はステップＳ１２からステップＳ１５の処理を繰り返す。すべてのレコードの処理が完了した場合はステップＳ１７に進む。
【００８０】
ステップＳ１７において、混合処理部１０２は、計測値バッファの内容をレコードの順番を乱数等により無作為に入れ替えて、計測値ファイル６０２に出力する。
【００８１】
ステップＳ１８において、混合処理部１０２は、タイムスタンプバッファの内容を、タイムスタンプと記録時間ウィンドウＩＤとの組をレコードにした形式でタイムスタンプファイル６０１に出力する。
【００８２】
このように、データ順序混合処理において、混合処理部１０２は、取得処理部１０１により取得された第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成する。第２データは、本実施の形態では、計測値バッファに格納される１件１件のレコードである。第２値は、本実施の形態では、ハッシュ値である。混合処理部１０２は、生成した複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べる。
【００８３】
本実施の形態では、混合処理部１０２は、取得処理部１０１により取得された第１データごとに、第２データに示される第２値として、第１データに示されている時刻およびデバイスＩＤの組に一意に対応する値を生成する。具体的には、混合処理部１０２は、取得処理部１０１により取得された第１データごとに、第２データに示される第２値として、ハッシュ値を算出する。
【００８４】
データ順序混合処理の終了後に、格納処理部１０３は、混合処理部１０２により並べられた複数の第２データを、外部からアクセスされる記憶領域に格納する。記憶領域は、本実施の形態では、オブジェクトストレージ１５０に確保される。複数の第２データは、本実施の形態では、計測値ファイル６０２の形式で格納される。
【００８５】
本実施の形態では、格納処理部１０３は、取得処理部１０１により取得された複数の第１データに示されている時刻を、それぞれの第１データに示されている第１値から切り離された形で記憶領域に書き込む。複数の第１データに示されている時刻は、本実施の形態では、タイムスタンプファイル６０１の形式で書き込まれる。
【００８６】
再構成フェーズでは、取得処理部２０１が、オブジェクトストレージ１５０から必要なタイムスタンプファイル６０１と計測値ファイル６０２とを取り出し、データ順序復元処理に渡す。データ順序復元処理では、出力処理部２０２が、タイムスタンプファイル６０１と計測値ファイル６０２とから時系列データを復元し、時系列データファイル６０３に出力する。
【００８７】
データ順序復元処理のフローを図５に示す。
【００８８】
データ順序復元処理の開始前に、取得処理部２０１は、第１値と、当該第１値が得られた時刻に一意に対応する値である第２値とをそれぞれ示す複数の第２データを外部の記憶領域から取得する。前述したように、記憶領域は、本実施の形態では、オブジェクトストレージ１５０に確保される。第２データは、本実施の形態では、計測値ファイル６０２に含まれる１件１件のレコードである。第１値は、本実施の形態では、計測値である。第２値は、本実施の形態では、ハッシュ値である。
【００８９】
本実施の形態では、取得処理部２０１は、それぞれの第２データに示される第２値として、それぞれの第２データに示される第１値が得られた時刻および当該時刻に当該第１値を得たセンサーデバイス３００を一意に識別するデバイスＩＤの組に一意に対応する値を取得する。具体的には、取得処理部２０１は、それぞれの第２データに示される第２値として、ハッシュ値を取得する。
【００９０】
また、本実施の形態では、取得処理部２０１は、取得した複数の第２データに示されている第１値が得られた時刻を記憶領域から読み取る。前述したように、時刻は、本実施の形態では、タイムスタンプの形式でタイムスタンプファイル６０１に書き込まれている。
【００９１】
ステップＳ２１において、出力処理部２０２には、取得処理部２０１からタイムスタンプファイル６０１と計測値ファイル６０２とが入力される。
【００９２】
ステップＳ２２において、出力処理部２０２は、計測値ファイル６０２のデータから、データで使用されているデバイスＩＤをすべて抽出する。
【００９３】
ステップＳ２３において、出力処理部２０２は、タイムスタンプファイル６０１のタイムスタンプ値とステップＳ２２で抽出したデバイスＩＤとのすべての組み合わせに対するハッシュ処理を行い、タイムスタンプ値およびデバイスＩＤとハッシュ値との組をレコードとするハッシュ値テーブルを作成する。
【００９４】
ステップＳ２４において、出力処理部２０２は、計測値ファイル６０２のデータからレコードを１件取り出す。
【００９５】
ステップＳ２５において、出力処理部２０２は、レコードのハッシュ値およびデバイスＩＤとステップＳ２３で作成したハッシュ値テーブルとを突き合わせて、ハッシュ値およびデバイスＩＤが一致したタイムスタンプを特定する。
【００９６】
ステップＳ２６において、出力処理部２０２は、ステップＳ２５で特定したタイムスタンプとレコードのデバイスＩＤおよび計測値との組をレコードとして時系列データファイル６０３に出力する。
【００９７】
ステップＳ２７において、出力処理部２０２は、未処理の計測値ファイル６０２のレコードがある場合はステップＳ２４からステップＳ２６の処理を繰り返す。すべてのレコードの処理が完了した場合に終了となる。
【００９８】
このように、データ順序復元処理において、出力処理部２０２は、時刻と第２値との対応関係を示す表である対応表を参照して、取得処理部２０１により取得された第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示す第１データを生成する。これにより、出力処理部２０２は、サーバ装置１００により取得された複数の第１データを復元する。対応表は、本実施の形態では、ハッシュ値テーブルである。複数の第１データは、本実施の形態では、時系列データファイル６０３の形式で復元される。出力処理部２０２は、復元した複数の第１データを出力する。
【００９９】
本実施の形態では、出力処理部２０２は、対応表として、時刻およびデバイスＩＤの組と第２値との対応関係を示す表を参照して、取得処理部２０１により取得された第２データごとに、第２データに示されている第２値に対応する時刻およびデバイスＩＤの組を特定する。出力処理部２０２は、第１データとして、特定した時刻と、第２データに示されている第１値とともに、特定したデバイスＩＤを示すデータを生成する。
【０１００】
また、本実施の形態では、出力処理部２０２は、取得処理部２０１により読み取られた時刻に対応するハッシュ値を第２値として算出することで対応表を生成する。
【０１０１】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態によれば、時間的な順序性をなくした形式で時系列データを格納し、利用時に再構成することができる。その結果、時系列データの保管にかかるコストおよび手間を軽減しつつ、データ漏洩時の被害を縮小することができる。
【０１０２】
本実施の形態では、タイムスタンプファイル６０１と計測値ファイル６０２との組が漏洩しても、時系列データとしての情報は欠落していないが、そのまま参照しても時間的な順序に関する情報は得られないため、データの価値が低減し、被害を縮小できる。
【０１０３】
本実施の形態では、タイムスタンプファイル６０１と計測値ファイル６０２との組だけで復号可能なため、データ収集側とデータ利用側での連携処理が不要となる。
【０１０４】
本実施の形態では、データ暗号化と違い、暗号キーの管理が不要となる。
【０１０５】
本実施の形態では、復号しなくても計測値は利用可能なため、平均、分散、最大または最小等の統計基本量のような順序に関係ない分析はそのまま実行可能となる。
【０１０６】
＊＊＊他の構成＊＊＊
本実施の形態では、サーバ装置１００の取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４の機能がソフトウェアにより実現されるが、変形例として、取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４の機能が専用のハードウェアにより実現されてもよい。
【０１０７】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡまたはＡＳＩＣである。「ＩＣ」は、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。「ＧＡ」は、Ｇａｔｅ  Ａｒｒａｙの略語である。「ＦＰＧＡ」は、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。「ＡＳＩＣ」は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。
【０１０８】
別の変形例として、取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【０１０９】
プロセッサ１１１および専用のハードウェアは、いずれも処理回路である。すなわち、サーバ装置１００のハードウェア構成に関わらず、取得処理部１０１、混合処理部１０２、格納処理部１０３およびデバイス管理部１０４の動作は、処理回路により行われる。
【０１１０】
本実施の形態では、データ利用装置２００の取得処理部２０１および出力処理部２０２の機能もソフトウェアにより実現されるが、変形例として、取得処理部２０１および出力処理部２０２の機能が専用のハードウェアにより実現されてもよい。
【０１１１】
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡまたはＡＳＩＣである。
【０１１２】
別の変形例として、取得処理部２０１および出力処理部２０２の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、取得処理部２０１および出力処理部２０２の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
【０１１３】
プロセッサ２１１および専用のハードウェアは、いずれも処理回路である。すなわち、データ利用装置２００のハードウェア構成に関わらず、取得処理部２０１および出力処理部２０２の動作は、処理回路により行われる。
【０１１４】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を、図６から図９を用いて説明する。
【０１１５】
＊＊＊構成の説明＊＊＊
図６を参照して、本実施の形態に係るデータ管理システム７００の構成を説明する。
【０１１６】
本実施の形態では、時系列データ利用の際に、個別に時系列データを再構成するのではなく、データをＲＤＢに格納して、ＤＢ処理を利用して時系列データを再構成する。「ＲＤＢ」は、Ｒｅｌａｔｉｏｎａｌ  Ｄａｔａｂａｓｅの略語である。「ＤＢ」は、Ｄａｔａｂａｓｅの略語である。
【０１１７】
データ管理システム７００は、実施の形態１と同様に、サーバ装置１００と、オブジェクトストレージ１５０と、データ利用装置２００と、センサーデバイス３００とを備える。
【０１１８】
サーバ装置１００、オブジェクトストレージ１５０およびセンサーデバイス３００については、実施の形態１のものと同じであるため、説明を省略する。
【０１１９】
本実施の形態では、データ利用装置２００は、取得処理部２０１と、出力処理部２０２とに加えて、データベース６１０を備える。
【０１２０】
取得処理部２０１は、ＲＤＢ管理機能を有する。取得処理部２０１は、データロード処理を行う。具体的には、取得処理部２０１は、オブジェクトストレージ１５０からタイムスタンプファイル６０１と計測値ファイル６０２とを取得し、データベース６１０にロードする。
【０１２１】
出力処理部２０２は、データ検索処理を行う。具体的には、出力処理部２０２は、データベース６１０を検索し、検索結果から時系列データを再構成する。再構成された時系列データは、実施の形態１と同様の時系列データファイル６０３の形式で出力されてもよいが、本実施の形態では、テーブルの形式でデータベース６１０に出力される。
【０１２２】
データベース６１０は、任意の種類のＤＢでよいが、本実施の形態では、ＲＤＢである。データベース６１０は、例えば、図３に示した補助記憶装置２１３に構築される。データベース６１０は、タイムスタンプテーブル６１１「ＴＳ−Ｔｂｌ」と、計測値テーブル６１２「ＶＡＬ−Ｔｂｌ」とを有する。
【０１２３】
タイムスタンプテーブル６１１は、タイムスタンプファイル６０１のデータを格納するテーブルである。図７に示すように、タイムスタンプテーブル６１１は、記録時間ウィンドウＩＤ「ＷＩＮ−ＩＤ」およびタイムスタンプ「Ｓ−ＴＳ」のカラムを有する。
【０１２４】
計測値テーブル６１２は、計測値ファイル６０２のデータを格納するテーブルである。図８に示すように、計測値テーブル６１２は、記録時間ウィンドウＩＤ「ＷＩＮ−ＩＤ」、ハッシュ値「ＨＡＳＨ−ＶＡＬ」、デバイスＩＤ「ＤＥＶ−ＩＤ」および計測値「Ｓ−ＶＡＬＵＥ」のカラムを有する。
【０１２５】
＊＊＊動作の説明＊＊＊
図６のほかに、図９を参照して、本実施の形態に係るデータ管理システム７００の動作を説明する。データ管理システム７００の動作は、本実施の形態に係るデータ管理方法に相当する。
【０１２６】
データ管理システム７００の動作は、実施の形態１と同様に、データ格納フェーズと、再構成フェーズとからなる。
【０１２７】
データ格納フェーズについては、実施の形態１のものと同じであるため、説明を省略する。
【０１２８】
再構成フェーズでは、取得処理部２０１が、データロード処理でオブジェクトストレージ１５０から必要なタイムスタンプファイル６０１と計測値ファイル６０２とを取り出し、ＲＤＢ管理機能を利用してそれぞれタイムスタンプテーブル６１１および計測値テーブル６１２にデータをロードする。データを利用する場合は、出力処理部２０２が、データ検索処理において時系列データを再構成して利用する。
【０１２９】
データ検索処理のフローを図９に示す。なお、説明の便宜上、データ検索処理を複数ステップに分けているが、実際は１回のクエリで実行可能である。
【０１３０】
データ検索処理の開始前に、取得処理部２０１は、第１値と、当該第１値が得られた時刻に一意に対応する値である第２値とをそれぞれ示す複数の第２データを外部の記憶領域から取得する。実施の形態１と同じように、記憶領域は、本実施の形態でも、オブジェクトストレージ１５０に確保される。第２データは、本実施の形態でも、計測値ファイル６０２に含まれる１件１件のレコードである。第１値は、本実施の形態でも、計測値である。第２値は、本実施の形態でも、ハッシュ値である。
【０１３１】
本実施の形態でも、取得処理部２０１は、それぞれの第２データに示される第２値として、それぞれの第２データに示される第１値が得られた時刻および当該時刻に当該第１値を得たセンサーデバイス３００を一意に識別するデバイスＩＤの組に一意に対応する値を取得する。具体的には、取得処理部２０１は、それぞれの第２データに示される第２値として、ハッシュ値を取得する。
【０１３２】
また、本実施の形態でも、取得処理部２０１は、取得した複数の第２データに示されている第１値が得られた時刻を記憶領域から読み取る。時刻は、本実施の形態でも、タイムスタンプの形式でタイムスタンプファイル６０１に書き込まれている。
【０１３３】
実施の形態１と異なり、本実施の形態では、取得処理部２０１は、取得した複数の第２データをデータベース６１０に格納する。
【０１３４】
ステップＳ３１において、出力処理部２０２は、以下のクエリにより、使用するデータが含まれる記録時間ウィンドウに対応する記録時間ウィンドウＩＤを持つレコードのデバイスＩＤを計測値テーブル６１２から抽出する。
ＳＥＬＥＣＴ  ＤＩＳＴＩＮＣＴ  ＤＥＶ−ＩＤ  ＦＲＯＭ  ＶＡＬ−Ｔｂｌ
ＷＨＥＲＥ  ＷＩＮ−ＩＤ  ＝  ＜記録時間ウィンドウＩＤ＞
結果をＤＥＶＩＤ−Ｔｍｐテーブルとする。
【０１３５】
ステップＳ３２において、出力処理部２０２は、以下のクエリにより、使用するデータが含まれる記録時間ウィンドウに対応する記録時間ウィンドウＩＤを持つレコードのタイムスタンプ値をタイムスタンプテーブル６１１から抽出する。
ＳＥＬＥＣＴ  Ｓ−ＴＳ  ＦＲＯＭ  ＴＳ−Ｔｂｌ
ＷＨＥＲＥ  ＷＩＮ−ＩＤ  ＝  ＜記録時間ウィンドウＩＤ＞
結果をＴＳ−Ｔｍｐテーブルとする。
【０１３６】
ステップＳ３３において、出力処理部２０２は、以下のクエリにより、ステップＳ３２で抽出したタイムスタンプとステップＳ３１で抽出したデバイスＩＤとの直積を求め、ハッシュ処理を行うＵＤＦを使用してハッシュ値テーブルを作成する。「ＵＤＦ」は、Ｕｓｅｒ  Ｄｅｆｉｎｅｄ  Ｆｕｎｃｔｉｏｎの略語である。
ＳＥＬＥＣＴ  Ｓ−ＴＳ，  ｈａｓｈ＿ｔｓｄｅｖ（Ｓ−ＴＳ，  ＤＥＶ−ＩＤ）  ＡＳ  ＨＡＳＨ−ＶＡＬ
ＦＲＯＭ  ＴＳ−Ｔｍｐ，  ＤＥＶＩＤ−Ｔｍｐ
ｈａｓｈ＿ｔｓｄｅｖは、ハッシュ値を算出するＵＤＦである。結果をＴＤＨＡＳＨ−Ｔｍｐテーブルとする。
【０１３７】
ステップＳ３４において、出力処理部２０２は、以下のクエリにより、ステップＳ３３で作成したハッシュ値テーブルと計測値テーブル６１２とを結合して、時系列データのテーブルを作成する。
ＳＥＬＥＣＴ  Ｈ．Ｓ−ＴＳ，  Ｖ．ＤＥＶ−ＩＤ，  Ｖ．Ｓ−ＶＡＬＵＥ
ＦＲＯＭ  ＶＡＬ−Ｔｂｌ  Ｖ，  ＴＤＨＡＳＨ−Ｔｍｐ  Ｈ
ＷＨＥＲＥ  Ｖ．ＨＡＳＨ−ＶＡＬ  ＝  Ｈ．ＨＡＳＨ−ＶＡＬ  ＡＮＤ  Ｖ．ＷＩＮ−ＩＤ  ＝  ＜記録時間ウィンドウＩＤ＞
【０１３８】
このように、データ検索処理において、出力処理部２０２は、時刻と第２値との対応関係を示す表である対応表を参照して、取得処理部２０１により取得された第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示す第１データを生成する。これにより、出力処理部２０２は、サーバ装置１００により取得された複数の第１データを復元する。対応表は、本実施の形態でも、ハッシュ値テーブルである。複数の第１データは、本実施の形態では、テーブルの形式で復元される。出力処理部２０２は、復元した複数の第１データを出力する。
【０１３９】
本実施の形態でも、出力処理部２０２は、対応表として、時刻およびデバイスＩＤの組と第２値との対応関係を示す表を参照して、取得処理部２０１により取得された第２データごとに、第２データに示されている第２値に対応する時刻およびデバイスＩＤの組を特定する。出力処理部２０２は、第１データとして、特定した時刻と、第２データに示されている第１値とともに、特定したデバイスＩＤを示すデータを生成する。
【０１４０】
また、本実施の形態でも、出力処理部２０２は、取得処理部２０１により読み取られた時刻に対応するハッシュ値を第２値として算出することで対応表を生成する。
【０１４１】
本実施の形態では、出力処理部２０２は、データベース６１０を検索することで、データベース６１０に格納された第２データごとに、第１データを生成する。
【０１４２】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、ＲＤＢ操作により時系列データを復元できるため、データ順序復号処理用のプログラム等が不要となる。
【０１４３】
本実施の形態では、ＲＤＢを利用するため、復号後のデータ分析等との連携が容易である。
【０１４４】
実施の形態３．
本実施の形態について、主に実施の形態２との差異を、図１０を用いて説明する。
【０１４５】
＊＊＊構成の説明＊＊＊
図１０を参照して、本実施の形態に係るデータ管理システム７００の構成を説明する。
【０１４６】
本実施の形態では、タイムスタンプファイル６０１と計測値ファイル６０２とをオブジェクトストレージ１５０に格納せず、クラウド上のＲＤＢに格納し、データ利用拠点では、ＢＩツール２２０を利用してクラウド上のＲＤＢにアクセスして、時系列データを再構成する。「ＢＩ」は、Ｂｕｓｉｎｅｓｓ  Ｉｎｔｅｌｌｉｇｅｎｃｅの略語である。
【０１４７】
データ管理システム７００は、サーバ装置１００と、データ利用装置２００と、センサーデバイス３００とを備える。
【０１４８】
センサーデバイス３００については、実施の形態１のものと同じであるため、説明を省略する。
【０１４９】
本実施の形態では、サーバ装置１００は、取得処理部１０１と、混合処理部１０２と、格納処理部１０３と、デバイス管理部１０４とに加えて、データベース６１０を備える。
【０１５０】
取得処理部１０１、混合処理部１０２およびデバイス管理部１０４については、実施の形態１のものと同じであるため、説明を省略する。
【０１５１】
格納処理部１０３は、ＲＤＢ管理機能を有する。格納処理部１０３は、ファイルロード処理を行う。具体的には、格納処理部１０３は、混合処理部１０２が生成したタイムスタンプファイル６０１と計測値ファイル６０２とをデータベース６１０にロードする。
【０１５２】
データベース６１０は、任意の種類のＤＢでよいが、本実施の形態では、ＲＤＢである。データベース６１０は、例えば、図２に示した補助記憶装置１１３に構築される。データベース６１０は、タイムスタンプテーブル６１１「ＴＳ−Ｔｂｌ」と、計測値テーブル６１２「ＶＡＬ−Ｔｂｌ」とを有する。
【０１５３】
タイムスタンプテーブル６１１は、タイムスタンプファイル６０１のデータを格納するテーブルである。タイムスタンプテーブル６１１は、図７に示した実施の形態２のものと同じでよい。
【０１５４】
計測値テーブル６１２は、計測値ファイル６０２のデータを格納するテーブルである。計測値テーブル６１２は、図８に示した実施の形態２のものと同じでよい。
【０１５５】
本実施の形態では、データ利用装置２００は、取得処理部２０１および出力処理部２０２の機能を実現するソフトウェアとして、ＢＩツール２２０を備える。
【０１５６】
ＢＩツール２２０は、データベース６１０と連携して、データを分析および可視化するツールである。データベース６１０のデータを入力して、データ操作を行うことが可能である。
【０１５７】
取得処理部２０１は、ＢＩツール２２０の機能を利用してデータベース６１０からデータを取得する。
【０１５８】
出力処理部２０２は、データ検索処理を行う。具体的には、出力処理部２０２は、ＢＩツール２２０の機能を利用してデータベース６１０を検索し、検索結果から時系列データを再構成する。再構成された時系列データは、実施の形態１と同様の時系列データファイル６０３の形式で出力されてもよいし、実施の形態２と同様に、テーブルの形式で出力されてもよいし、その他の形式で出力されてもよい。
【０１５９】
＊＊＊動作の説明＊＊＊
図１０を参照して、本実施の形態に係るデータ管理システム７００の動作を説明する。データ管理システム７００の動作は、本実施の形態に係るデータ管理方法に相当する。
【０１６０】
データ管理システム７００の動作は、実施の形態１と同様に、データ格納フェーズと、再構成フェーズとからなる。
【０１６１】
データ格納フェーズは、実施の形態２でオブジェクトストレージ１５０を経由しないで時系列データの変換からＲＤＢへの格納までを行う手順と同等となる。再構成フェーズは、クラウドのデータベース６１０の対象データをＢＩツール２２０で読み込んで、ＢＩツール２２０上で実施の形態２と同様のデータ検索処理を行う手順となる。
【０１６２】
このように、本実施の形態では、格納処理部１０３は、混合処理部１０２により並べられた複数の第２データを、記憶領域に構築されたデータベース６１０に格納する。記憶領域は、本実施の形態では、サーバ装置１００に確保される。複数の第２データは、本実施の形態では、計測値テーブル６１２の形式で格納される。
【０１６３】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、データをクラウド上のＲＤＢに格納するため、統計基本量のような順序に関係ない分析を容易に実行可能である。
【０１６４】
本実施の形態では、データがデータベース６１０に格納されるため、管理が容易である。
【０１６５】
実施の形態４．
本実施の形態について、主に実施の形態１との差異を、図１１から図１３を用いて説明する。
【０１６６】
＊＊＊構成の説明＊＊＊
図１１を参照して、本実施の形態に係るデータ管理システム７００の構成を説明する。
【０１６７】
本実施の形態では、タイムスタンプファイル６０１がなくなり、デバイスＩＤを管理するためのデバイスＩＤテーブル６０４が追加されている。
【０１６８】
本実施の形態では、時系列データを計測値ファイル６０５のみに変換する。計測値ファイル６０５には、第１ハッシュ値と、年と、第２ハッシュ値と、１つ以上の計測値とが含まれる。
【０１６９】
＊＊＊動作の説明＊＊＊
図１１のほかに、図１２および図１３を参照して、本実施の形態に係るデータ管理システム７００の動作を説明する。データ管理システム７００の動作は、本実施の形態に係るデータ管理方法に相当する。
【０１７０】
データ管理システム７００の動作は、実施の形態１と同様に、データ格納フェーズと、再構成フェーズとからなる。
【０１７１】
データ格納フェーズにおけるデータ順序混合処理のフローを図１２に示す。
【０１７２】
データ順序混合処理の開始前に、取得処理部１０１は、時刻と、当該時刻に得られた値である第１値とをそれぞれ示す複数の第１データを取得する。実施の形態１と同じように、第１データは、本実施の形態でも、センサーデバイス３００からのセンサーデータに含まれる１件１件のレコードである。時刻は、本実施の形態でも、タイムスタンプの形式で示される。第１値は、本実施の形態でも、計測値である。
【０１７３】
本実施の形態でも、取得処理部１０１は、それぞれの第１データとして、時刻と、当該時刻に得られた第１値とともに、当該時刻に当該第１値を得たセンサーデバイス３００を一意に識別するデバイスＩＤを示すデータを取得する。
【０１７４】
ステップＳ４１において、混合処理部１０２には、取得処理部１０１から記録時間ウィンドウ単位で複数のセンサーデータが入力される。
【０１７５】
ステップＳ４２において、混合処理部１０２は、センサーデータからレコードを１件取り出す。レコードには、タイムスタンプ、デバイスＩＤおよび１つまたは複数の計測値のデータが含まれる。タイムスタンプは、計測時刻に相当する。デバイスＩＤは、計測を行ったセンサーデバイス３００の識別子に相当する。
【０１７６】
ステップＳ４３において、混合処理部１０２は、レコードのタイムスタンプとデバイスＩＤとに対してハッシュ処理を行い、第１ハッシュ値を算出する。
【０１７７】
ステップＳ４４において、混合処理部１０２は、タイムスタンプ情報「ＹＹＹＹ−ＭＭ−ＤＤ  ｈｈ：ｍｍ：ｓｓ」の月日「ＭＭ−ＤＤ」と時間「ｈｈ」とから第２ハッシュ値を算出する。
【０１７８】
ステップＳ４５において、混合処理部１０２は、第１ハッシュ値と計測値およびタイムスタンプ情報の年「ＹＹＹＹ」と第２ハッシュ値とを組としたレコードを、計測値バッファに追加する。
【０１７９】
ステップＳ４６において、混合処理部１０２は、未処理のセンサーデータのレコードがある場合はステップＳ４２からステップＳ４５の処理を繰り返す。すべてのレコードの処理が完了した場合はステップＳ４７に進む。
【０１８０】
ステップＳ４７において、混合処理部１０２は、計測値バッファの内容をレコードの順番を乱数等により無作為に入れ替えて、計測値ファイル６０５に出力する。
【０１８１】
このように、データ順序混合処理において、混合処理部１０２は、取得処理部１０１により取得された第１データごとに、第１データに示されている第１値と、第１データに示されている時刻に一意に対応する値である第２値とを示す第２データを生成する。第２データは、本実施の形態でも、計測値バッファに格納される１件１件のレコードである。第２値は、本実施の形態では、第１ハッシュ値である。混合処理部１０２は、生成した複数の第２データを、それぞれの第２データに示されている第１値が得られた時刻の順序とは別の順序で並べる。
【０１８２】
本実施の形態でも、混合処理部１０２は、取得処理部１０１により取得された第１データごとに、第２データに示される第２値として、第１データに示されている時刻およびデバイスＩＤの組に一意に対応する値を生成する。具体的には、混合処理部１０２は、取得処理部１０１により取得された第１データごとに、第２データに示される第２値として、第１ハッシュ値を算出する。
【０１８３】
実施の形態１と異なり、本実施の形態では、混合処理部１０２は、取得処理部１０１により取得された第１データごとに、第１データに示されている時刻を第１単位の時刻と第２単位の時刻とに分解し、第１単位の時刻と、第２単位の時刻に対応するハッシュ値である第３値とを示す第３データを生成する。第１単位は年、第２単位は月日時であるが、第１単位および第２単位を別の単位の組み合わせにしてもよい。例えば、第１単位は年月、第２単位は日時でもよい。第３値は、本実施の形態では、第２ハッシュ値である。混合処理部１０２は、生成した複数の第３データを、それぞれの第３データの元になった第１データに示されている時刻の順序とは別の順序で並べる。
【０１８４】
データ順序混合処理の終了後に、格納処理部１０３は、混合処理部１０２により並べられた複数の第２データと複数の第３データとを、外部からアクセスされる記憶領域に格納する。記憶領域は、本実施の形態でも、オブジェクトストレージ１５０に確保される。複数の第２データは、本実施の形態では、計測値ファイル６０５の形式で格納される。複数の第３データは、本実施の形態では、複数の第２データとともに計測値ファイル６０５の形式で格納されるが、複数の第２データとは別のファイルに格納されてもよいし、複数の第２データとは別の形式で格納されてもよい。
【０１８５】
再構成フェーズでは、取得処理部２０１が、オブジェクトストレージ１５０から必要な計測値ファイル６０５を取り出し、データ順序復元処理に渡す。データ順序復元処理では、事前にサーバ装置１００のデバイス管理部１０４と連携してデバイスＩＤテーブル６０４からデバイスＩＤ群を取得しておき、この取得済のデバイスＩＤ群と計測値ファイル６０５とから時系列データを復元し、時系列データファイル６０３に出力する。
【０１８６】
データ順序復元処理のフローを図１３に示す。
【０１８７】
データ順序復元処理の開始前に、取得処理部２０１は、第１値と、当該第１値が得られた時刻に一意に対応する値である第２値とをそれぞれ示す複数の第２データを外部の記憶領域から取得する。前述したように、記憶領域は、本実施の形態でも、オブジェクトストレージ１５０に確保される。第２データは、本実施の形態でも、計測値ファイル６０５に含まれる１件１件のレコードである。第１値は、本実施の形態でも、計測値である。第２値は、本実施の形態では、第１ハッシュ値である。
【０１８８】
本実施の形態では、取得処理部２０１は、それぞれの第２データに示される第２値として、それぞれの第２データに示される第１値が得られた時刻および当該時刻に当該第１値を得たセンサーデバイス３００を一意に識別するデバイスＩＤの組に一意に対応する値を取得する。具体的には、取得処理部２０１は、それぞれの第２データに示される第２値として、第１ハッシュ値を取得する。
【０１８９】
実施の形態１と異なり、本実施の形態では、取得処理部２０１は、第１単位の時刻と、第２単位の時刻に対応するハッシュ値である第３値とをそれぞれ示す複数の第３データを記憶領域から取得する。前述したように、第１単位は年、第２単位は月日時であるが、第１単位および第２単位を別の単位の組み合わせにしてもよい。第３値は、本実施の形態では、第２ハッシュ値である。
【０１９０】
ステップＳ５１において、出力処理部２０２は、１月１日０時から１２月３１日２３時までの第２ハッシュ値を算出し、第２ハッシュ値テーブルを作成する。
【０１９１】
ステップＳ５２において、出力処理部２０２には、取得処理部２０１から計測値ファイル６０５のデータが入力される。
【０１９２】
ステップＳ５３において、出力処理部２０２は、計測値ファイル６０５のデータから、データに含まれる年と第２ハッシュ値とをすべて抽出する。
【０１９３】
ステップＳ５４において、出力処理部２０２は、ステップＳ５３で抽出した第２ハッシュ値とステップＳ５１で作成した第２ハッシュ値テーブルとを突き合わせて、計測値ファイル６０５のデータの年月日時をすべて基準年月日時として導出する。
【０１９４】
ステップＳ５５において、出力処理部２０２は、基準年月日時の期間に含まれるタイムスタンプのすべてのバリエーションを作成する。具体的には、出力処理部２０２は、基準年月日時「ＹＹＹＹ−ＭＭ−ＤＤ  ｈｈ」を全パターンのタイムスタンプ値「ＹＹＹＹ−ＭＭ−ＤＤ  ｈｈ：ｍｍ：ｓｓ」に展開する。出力処理部２０２は、これらのタイムスタンプ値と取得済のデバイスＩＤ群に含まれるデバイスＩＤとを組み合わせてハッシュ処理を行い、第１ハッシュ値テーブルを作成する。
【０１９５】
ステップＳ５６において、出力処理部２０２は、計測値ファイル６０５のデータからレコードを１件取り出す。
【０１９６】
ステップＳ５７において、出力処理部２０２は、レコードの第１ハッシュ値とステップＳ５５で作成した第１ハッシュ値テーブルとを突き合わせて、第１ハッシュ値が一致したタイムスタンプおよびデバイスＩＤを特定する。
【０１９７】
ステップＳ５８において、出力処理部２０２は、ステップＳ５７で特定したタイムスタンプおよびデバイスＩＤとレコードの計測値との組をレコードとして時系列データファイル６０３に出力する。
【０１９８】
ステップＳ５９において、出力処理部２０２は、未処理の計測値ファイル６０５のレコードがある場合はステップＳ５６からステップＳ５８の処理を繰り返す。すべてのレコードの処理が完了した場合に終了となる。
【０１９９】
このように、データ順序復元処理において、出力処理部２０２は、時刻と第２値との対応関係を示す表である対応表を参照して、取得処理部２０１により取得された第２データごとに、第２データに示されている第２値に対応する時刻を特定し、特定した時刻と、第２データに示されている第１値とを示す第１データを生成する。これにより、出力処理部２０２は、サーバ装置１００により取得された複数の第１データを復元する。対応表は、本実施の形態では、第１ハッシュ値テーブルである。複数の第１データは、本実施の形態では、時系列データファイル６０３の形式で復元される。出力処理部２０２は、復元した複数の第１データを出力する。
【０２００】
本実施の形態では、出力処理部２０２は、対応表として、時刻およびデバイスＩＤの組と第２値との対応関係を示す表を参照して、取得処理部２０１により取得された第２データごとに、第２データに示されている第２値に対応する時刻およびデバイスＩＤの組を特定する。出力処理部２０２は、第１データとして、特定した時刻と、第２データに示されている第１値とともに、特定したデバイスＩＤを示すデータを生成する。
【０２０１】
実施の形態１と異なり、本実施の形態では、出力処理部２０２は、第２単位の時刻と第３値とを紐付けるハッシュテーブルを参照して、取得処理部２０１により取得された第３データごとに、第３データに示されている第３値に対応する第２単位の時刻を特定し、第３データに示されている第１単位の時刻と、特定した第２単位の時刻とからなる時刻に対応するハッシュ値を第２値として算出することで対応表を生成する。ハッシュテーブルは、本実施の形態では、第２ハッシュ値テーブルである。
【０２０２】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、計測値ファイル６０５のみでは、単なる計測値の集まりであり、そのまま参照しても時間的な順序に関する情報あるいは計測デバイス情報は得られないため、データ漏洩に対する対策が可能となる。
【符号の説明】
【０２０３】
１００  サーバ装置、１０１  取得処理部、１０２  混合処理部、１０３  格納処理部、１０４  デバイス管理部、１１１  プロセッサ、１１２  メモリ、１１３  補助記憶装置、１１４  通信装置、１１５  入力機器、１１６  ディスプレイ、１１７  信号線、１１８  レシーバ、１１９  トランスミッタ、１５０  オブジェクトストレージ、２００  データ利用装置、２０１  取得処理部、２０２  出力処理部、２１１  プロセッサ、２１２  メモリ、２１３  補助記憶装置、２１４  通信装置、２１５  入力機器、２１６  ディスプレイ、２１７  信号線、２１８  レシーバ、２１９  トランスミッタ、２２０  ＢＩツール、３００  センサーデバイス、４００  インターネット、６０１  タイムスタンプファイル、６０２  計測値ファイル、６０３  時系列データファイル、６０４  デバイスＩＤテーブル、６０５  計測値ファイル、６１０  データベース、６１１  タイムスタンプテーブル、６１２  計測値テーブル、７００  データ管理システム。
【図１】
2019074925.tif 000003
【図２】
2019074925.tif 000004
【図３】
2019074925.tif 000005
【図４】
2019074925.tif 000006
【図５】
2019074925.tif 000007
【図６】
2019074925.tif 000008
【図７】
2019074925.tif 000009
【図８】
2019074925.tif 000010
【図９】
2019074925.tif 000011
【図１０】
2019074925.tif 000012
【図１１】
2019074925.tif 000013
【図１２】
2019074925.tif 000014
【図１３】
2019074925.tif 000015