JP6629994B2 - データ処理システムおよびデータ処理方法 - Google Patents

データ処理システムおよびデータ処理方法 Download PDF

Info

Publication number
JP6629994B2
JP6629994B2 JP2018558067A JP2018558067A JP6629994B2 JP 6629994 B2 JP6629994 B2 JP 6629994B2 JP 2018558067 A JP2018558067 A JP 2018558067A JP 2018558067 A JP2018558067 A JP 2018558067A JP 6629994 B2 JP6629994 B2 JP 6629994B2
Authority
JP
Japan
Prior art keywords
data
holding device
processed
information
stored
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
JP2018558067A
Other languages
English (en)
Other versions
JPWO2018117218A1 (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 JPWO2018117218A1 publication Critical patent/JPWO2018117218A1/ja
Application granted granted Critical
Publication of JP6629994B2 publication Critical patent/JP6629994B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • 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
    • 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/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization

Description

本発明の実施形態は、データ処理システムおよびデータ処理方法に関する。
近年、様々なセンサ(Sensor)、デバイス(Device)とネットワーク(Network)とを接続し、データ活用を行うIoT(Internet of Things)が注目されている。IoTでは多種多様のセンサ、デバイス等からデータが継続的に収集される。このことから、大量で、1つあたりのデータサイズが小さい時系列データを蓄積するデータベースシステム(Database system)が必要である。
また、IoTを活用する例の一部である、故障予測等を行なうアプリケーション(Application)は、センサデータに加えて、カメラ(Camera)により撮影した画像等のデータを利用する。画像等のデータの特性は、一般的なセンサデータの特性とは異なる。画像等のデータは、バイナリデータ(Binary data)でなる。バイナリデータは、ファイルサイズが大きく、かつ構造化されていないデータである。
以上の特性から、IoT向けデータ処理システムは、データの種類に応じて適切なデータ蓄積手法を選択するシステムであることが求められる。
また、IoTの活用例の多くの場合において、デバイス、センサから直近のタイミングで取得したデータを元に、分析、予測、アクチュエーション(Actuation)等を行なう。このことから、以下の(1)、(2)がシステムの特徴である。
(1)時系列順に高頻度でデータが記憶装置に書込まれる
(2)全データのうち時系列上で最新の区分に属する値を参照する頻度が高い
さらに、IoTシステムの代表的な活用例は、長期的に記憶(記録、蓄積)したデータを用いた分析およびリアルタイム(Real time)分析に基づく異常検知等が一般的である。このことから、下記の(1)、(2)で示される要求がある(例えば非特許文献1参照)。
(1)センサデータを時系列データと紐付けて永続的に蓄積し、バルク(Bulk)で処理を行う
(2)最新のデータを高い速度で取得する
以上の要求から、IoT向けシステムは、時系列データに紐付けられたデータの永続的蓄積と最新のデータの取得の高速性とを両立するデータ処理システムであることが求められる。
既存のデータ処理システムは、一般的なコンピュータ(Computer)の構成のように、以下の(1)、(2)により構成される。
(1)ハードディスク(Hard disk)等のように、容量が一般的に大きく、データを永続的に記憶可能であるが、データの読み出し速度が比較的高くない記憶装置
(2)メモリ(Memory)に設けられるキャッシュ(Cache)等のように、データの読み出し速度が比較的高いが、容量が一般的に小さく、データを永続的に保存しないデータ保持装置
一般的なデータ処理システムは、データの検索速度を高くするために、インデックス(Index)をメモリに保持する仕組みを有する。しかし、インデックスの数はデータ数に応じて増加する。このため、センサデータのように、数が非常に多いデータを扱う場合、インデックスを生成することがデータ書き込み時のボトルネック(Bottleneck)となるとともに、インデックスのデータサイズがメモリに記憶可能なデータサイズを超えるという課題が生じる。
さらに、センサデータでは、最新の区分の値が参照される(読み込まれる)頻度が高い。このため、全データについてインデックスを生成したとしても、このインデックスの大部分は参照されない。このため、インデックスによる高速化の効果は小さい。
さらに、一般的なデータ処理システムは、キャッシュを用いて同一のデータの読み込み速度を高くする仕組みを有する。しかし、容量が限られたキャッシュに大量のセンサデータの最新値を保持させることは現実的ではない。さらに、時系列順に最新値が常時更新されるセンサデータに関しては、同一のデータの参照頻度が低い。このため、キャッシュを用いることによる読み込み速度の高速化の効果は小さい。
これらの書き込みおよび読み込み時の課題があるため、インデックスを用いたデータベースおよびキャッシュを単純に用いる従来の構成では、センサデータの高速な処理と保存データの永続化との両立が難しかった。
また、画像等のバイナリデータは、構造化されておらずファイルサイズが大きい特徴を有する。このため、バイナリデータをセンサデータと同じデータベースに保存すると、ファイル形式を変換する必要があるため、高速な書き込みおよび読み込みが難しい。
さらに、データ処理システムでは、デバイス接続構成の変更およびアプリ要件の変更が発生することにより、データモデルが更新されること等に伴い、アプリケーション、デバイス、データ処理系のI/F(インタフェース(Interface))、および設定情報の間の整合性が失われやすい。このため、システム全体のI/Fの整合性を維持するための管理負担が大きい。
上記のように、IoT分野では従来のデバイスよりも多数のセンサデータの処理を要求される。さらに、長期的な分析とリアルタイム分析との両方が処理対象となりうるため、時系列データを永続的に蓄積することと、データの最新値を高速かつ高頻度に読み込むことがそれぞれ求められる。また、センサデータ等の、データサイズが小さい、構造化されたデータと、画像データ等の、データサイズが大きい(構造化されたデータと比較してデータサイズが大きい)バイナリデータとの両方を蓄積する仕組みが必要である。
従来のデータ処理システムでは、時系列の大量の構造化されたデータ、バイナリデータについて書き込み速度および読み込み速度の向上と保存データの永続性とを共に達成することが難しい。
本発明はこのような事情に鑑みてなされたものであり、その目的は、データのアクセス速度の向上と保存データの永続性とを両立できるデータ処理システムおよびデータ処理方法を提供することである。
上記目的を達成するために、この発明の実施形態におけるデータ処理システムの態様は、データを永続的に記憶可能な記憶媒体を有する第1および第2のデータ記憶装置と、前記データを前記第1および第2のデータ記憶装置と比較して高速に記憶可能な記憶媒体を有するデータ保持装置と、処理対象であるデータの種別を判別し、前記処理対象であるデータが構造化されたデータである場合に、前記処理対象であるデータを前記データ保持装置に既に記憶される構造化データに上書きして前記データ保持装置に記憶すると共に、前記処理対象であるデータを前記第1のデータ記憶装置にまとめて記憶し、前記処理対象であるデータがバイナリデータである場合に、前記処理対象であるデータを前記データ保持装置に記憶すると共に、前記処理対象であるデータを前記第2のデータ記憶装置に記憶するコントローラと、前記コントローラに用いる設定情報を生成する設定情報生成部と、前記設定情報の生成元の情報であり、クラスを定義する情報を含む生成元情報を記憶する記憶装置とを備え、前記コントローラは、前記設定情報生成部により生成された設定情報に基づいて、前記処理対象であるデータの種別を判別するものであって、前記設定情報は、前記生成元情報に定義されたクラスと当該クラスのデータが構造化データであるかバイナリデータであるかといったデータの種別を対応づける情報であり、前記コントローラは、前記設定情報と、前記処理対象であるデータを蓄積する要求のヘッダに含まれるクラスを照合することで前記処理対象であるデータの種別を判別するシステムを提供する。
本発明によれば、データのアクセス速度の向上と保存データの永続性とを両立することが可能になる。
図1は、本発明の実施形態におけるデータ処理システムの第1の構成例を示す図である。 図2は、本発明の実施形態におけるデータ処理システムの第2の構成例を示す図である。 図3は、本発明の実施形態におけるデータ処理システムの処理について説明する図である。 図4は、本発明の実施形態におけるデータ処理システムデータ参照(検索)時の処理について説明するフローチャートである。
実施形態
以下、発明の実施形態のデータ処理方法が適用されたデータ処理システムを、図面を参照して説明する。
本実施形態では、IoT分野では、状態監視等を定期的に実行するアプリケーションが多く、データ検索において最新の時刻のデータを読み込む頻度が高い特徴を有することに注目した。本実施形態では、データ保持装置に最近の時刻のデータを保持することでデータを高速に読み込むことを可能とする。
従来の一般的な構成では、アクセスされる頻度が高いデータが、データ保持装置、例えばメモリ上のキャッシュ等に保持され、最新のデータが必ずしもデータ保持装置に記憶されているとは限らない。
この場合、データを永続的に記憶するデータ記憶装置、例えばハードディスク等からデータを読み込む必要がある。データ記憶装置からのデータを読み込み速度は、データ保持装置からのデータの読み込み速度より遅いため、最新のデータを読み込むためにかかる時間が長くなってしまう。
そこで、本実施形態では、データ処理システムは、デバイス等から受け取ったデータ(Data)を、まず、データ保持装置、例えばメモリに設けられるキャッシュまたはOS(Operating System)のカーネル空間のメモリ等に書き込む。そして、データ処理システムは、このデータおよび時系列情報をデータ記憶装置に書き込む。これにより、データを時系列と紐付けてデータ記憶装置に永続的に保存し、かつ最新のデータを高速に参照可能とした。
図1は、本発明の実施形態におけるデータ処理システムの第1の構成例を示す図である。
図1に示すように、実施形態におけるデータ処理システム(データ蓄積・処理システム)10は、アプリケーション向けI/F提供部(第1のインタフェース提供部)40、デバイス側I/F提供部(第2のインタフェース提供部)50、データ処理部60を備える。
データ処理システム10内の各部は、例えばパーソナルコンピュータ(Personal computer(PC))などのコンピュータデバイスとした装置により実現することができる。例えば、コンピュータデバイスは、CPU(Central Processing Unit)などのプロセッサ(Processor)と、プロセッサに接続される揮発性メモリと、不揮発性メモリと、通信インタフェースなどを備える。プロセッサが不揮発性メモリに記憶したプログラム(Program)を実行することにより、データ処理システム10の各部は、各種の処理を実現する。
図2は、本発明の実施形態におけるデータ蓄積処理システムの第2の構成例を示す図である。
図2に示した例では、データ処理システム10は、図1で説明した構成に加え、設定情報生成機能部(設定情報生成部)20をさらに備える。この設定情報生成機能部20は、I/Fおよび設定情報生成機能部20aを有する。
このI/Fおよび設定情報生成機能部20aは、共通データ構造生成元情報、またはそれを記述したファイルを記憶する共通データ構造生成元情報記憶装置30を備える。
共通データ構造生成元情報は、(1)アプリケーションプログラム(Application)(アプリケーションまたはアプリと称することもある)、(2)デバイス側I/F、(3)API(アプリケーションプログラミングインタフェース(Application programming interface))、(4)データ処理部向け設定情報、(5)各種I/F等、の生成元としての共通の情報である。
共通データ構造生成元情報は、クラス(Class)、アトリビュート(Attribute)、リレーション(Relation)を定義したcsvファイル、およびインスタンス(Instance)間のリレーションを定義したjsonファイルであってもよい。
以下、設定情報生成機能部20、アプリケーション向けI/F提供部40、デバイス側I/F提供部50、データ処理部60についてそれぞれ説明する。
アプリケーション向けI/F提供部40は、アプリケーション80向けのインタフェース、例えばAPIをアプリケーション80に提供する機能を有する。
データ処理部60は、データ保持装置61、第1のデータ記憶装置62a、第2のデータ記憶装置62b,クエリ(Query)コントローラ63を有する。
クエリコントローラ63は、アプリケーション等から入力されたデータ参照(取得)等の要求を処理する機能を有する。クエリコントローラ63は、データ保持装置61、第1のデータ記憶装置62a、または第2のデータ記憶装置62bに蓄積されるデータ、もしくはクエリにより要求されるデータの種類を判別する機能を有する。
クエリコントローラ63は、この判別の結果に応じて、データ保持装置61、第1のデータ記憶装置62a、第2のデータ記憶装置62bのいずれかとの間で、処理対象となるデータの蓄積または取得のためのやり取りを行なう機能を有する。
データ保持装置61は、データを記憶可能な不揮発性メモリなどの記憶媒体を有する。同じコストの条件下では、データ保持装置61が有する記憶媒体の記憶容量は、第1のデータ記憶装置62aが有する記憶媒体および第2のデータ記憶装置62bが有する記憶媒体の容量より少ない。
この記憶媒体が有する特性により、データ保持装置61は、この記憶媒体からデータを高速に読み出す機能と、新たなデータを当該記憶媒体に保存する機能を有する。
第1のデータ記憶装置62aは、データを永続的に可能な不揮発性メモリなどの記憶媒体を有する。この記憶媒体が有する特性により、データ保持装置61は、この記憶媒体に対し、バイナリデータでないデータを永続的に蓄積する機能と、この記憶媒体からバイナリデータでないデータを高速に読み出す機能とを有する。
第2のデータ記憶装置62bは、データを永続的に記憶可能な不揮発性メモリなどの記憶媒体を有する。この記憶媒体が有する特性により、データ保持装置61は、この記憶媒体に対し、バイナリデータを永続的に蓄積する機能と、この記憶媒体からバイナリデータを高速に読み出す機能を有する。
データ保持装置61が有する記憶媒体は、第1のデータ記憶装置62aが有する記憶媒体および第2のデータ記憶装置62bが有する記憶媒体と比較して、データを高速に書き込み、またはデータを高速に読み出すことができる特性を有する。
デバイス側I/F提供部50は、デバイスドライバ(Device driver)/プロトコルコンバータ(Protocol converter)/センサ/デバイス等90のアプリケーション向けのインタフェース、例えばAPIを、デバイスドライバ/プロトコルコンバータ/センサ/デバイス等90に提供する機能を有する。デバイスドライバ(Device driver)/プロトコルコンバータ(Protocol converter)/センサ/デバイス等を総称してデバイスと呼ぶこともある。
デバイスドライバ/プロトコルコンバータ/センサ/デバイス等90から入力されたデータをデータ処理部60へ蓄積するときに、データ処理システム10のクエリコントローラ63は、データ処理部60による処理対象、つまりデータ処理部60内のデータ保持装置61、第1のデータ記憶装置62aまたは第2のデータ記憶装置62bへの蓄積対象)であるデータの種類を判別する。このデータが構造化されたデータであるとき、クエリコントローラ63は、当該構造化されたデータをデータ保持装置61に書き込む(永続的には蓄積しない)。
また、クエリコントローラ63は、この構造化されたデータ及び当該データの検索キーとなる情報ならびに時刻情報をデータ保持装置61を経由して第1のデータ記憶装置62aに永続的に蓄積する。これにより、構造化されたデータの永続性を維持する。
また、上記の判別されたデータが構造化されたデータでなくバイナリデータであるとき、クエリコントローラ63は、このバイナリデータをデータ保持装置61に蓄積すると共に、このデータ保持装置61に蓄積されたバイナリデータを第2のデータ記憶装置62bに永続的に蓄積する。これにより、バイナリデータの永続性を維持する。
クエリコントローラ63がデータ保持装置61を経由してバイナリデータを第2のデータ記憶装置62bに蓄積する際、クエリコントローラ63は、この第2のデータ記憶装置62bに蓄積されるバイナリデータのファイル名等に対し、バイナリデータを検索する際のKeyとなる情報(Key情報)、例えばクラス名、インスタンスID、タイムスタンプ(Time stamp)を含めてもよい。これにより、後にバイナリデータを第2のデータ記憶装置62bから取得する時に、クエリコントローラ63は、このKeyとなる情報を用いてバイナリデータを第2のデータ記憶装置62bからデータ保持装置61を経由して取得できる。
また、同じく、クエリコントローラ63がバイナリデータを第2のデータ記憶装置62bに蓄積するとき、クエリコントローラ63は、このバイナリデータの保存先の情報(第2のデータ記憶装置62bのファイルパス等)を、構造化されたデータと同様の経路でデータ保持装置61または第1のデータ記憶装置62aに書き込んでもよい。これにより、クエリコントローラ63は、バイナリデータの保存先の情報を、上記のKeyとなる情報を用いて検索し、この保存先の情報を高速に取得できる。
また、設定情報生成機能部20内のI/Fおよび設定情報生成機能部20aは、共通データ構造生成元情報記憶装置30に記憶される共通データ構造生成元情報に基づいて、データ種別設定情報、アプリケーション向けI/F、デバイス側I/F、またはそれらの一部を、これらが一貫性を有するように生成してもよい。
クエリコントローラ63は、共通データ構造生成元情報記憶装置30に記憶される共通データ構造生成元情報に基づいて生成されたデータ種別設定情報を用いて、データの種類を判別してもよい。
さらに、クエリコントローラ63が、構造化されたデータにおける、参照頻度の高い最新のデータセットをデータ保持装置61に既に記憶されているデータセットに常に上書きすることにより、時系列的に新しい構造化されたデータを高速に読み込み可能である。
データ読み込み時に、読み込みが要求されたデータの種別を判別する。この種別が、json等の構造化されたデータである場合には、クエリコントローラ63は、この構造化されたデータを検索するときのKeyとなる情報、例えばクラス名、インスタンスID、タイムスタンプを用いて、まずデータ保持装置61を検索し、データがデータ保持装置61に記憶されていなかった場合にデータ保持装置61を経由して第1のデータ記憶装置62aを検索する。
一方、判別した種別がバイナリデータである場合には、クエリコントローラ63は、上記のバイナリデータを検索するときのKeyとなる情報を用いて、まずデータ保持装置61を検索し、データがデータ保持装置61に記憶されていなかった場合にデータ保持装置61を経由して第2のデータ記憶装置62bを検索する。
次に、本発明の実施形態におけるデータ処理システムによる処理について説明する。
データ処理部60は、アプリ向けI/F、デバイス側I/F、およびデータ種別設定情報を自動的に生成することができる。
共通データ構造生成元情報記憶装置30に記憶される共通データ構造生成元情報は、例えば、(1)クラス・アトリビュート・リレーション等を定義したcsvファイル、および(2)インスタンス間のリレーションを定義したjsonファイルであってもよい。
共通データ構造生成元情報記憶装置30に記憶される共通データ構造生成元情報に基づいて、I/Fおよび設定情報生成機能部20aは、(1)データ種別の対応関係を表すデータ種別設定情報、(2)REST API等のアプリ向けI/F、(3)MQTT API等のデバイス側I/F、またはそれらの一部を生成してもよい。
データ種別の対応関係は、例えば、(1)クラス名とバイナリデータとの対応関係、または(2)クラス名と構造化されたデータ(json等)との対応関係である。
アプリ向けI/Fの一例である、REST APIのendpointは、「/クラス名/インスタンスID/タイムスタンプ」でもよい。また、デバイス側I/Fの一例である、MQTT APIのトピック名は、「/クラス名/インスタンスID/タイムスタンプ」でもよい。
また、共通データ構造生成元情報に基づいて生成された上記のデータ種別設定情報に基づき、I/Fおよび設定情報生成機能部20aは、データ処理部60内のデータを参照するときのアプリ向けI/F(例えば、REST APIのendpoint)およびデバイス側I/F(例えば、MQTT APIのトピック(Topic)名)を、一貫性が維持されるI/Fとして一元的に生成してもよい。
また、HTTPリクエスト(Request)のクラス名等の情報およびデータ種別設定情報に基づき、クエリコントローラに63は、適切な性質を有するデータベース等を、データの種別に応じて選択し、データをデータ保持装置61、第1のデータ記憶装置62a、第2のデータ記憶装置62bの間で書き込みおよび読み出しする。
図3は、本発明の実施形態におけるデータ処理システムによる処理について説明する図である。
次に、図3を参照してデータ蓄積時の処理について説明する。図3に示した例では、図1で説明したデータ保持装置61、第1のデータ記憶装置62a、第2のデータ記憶装置62bが、メモリ61−2、DB(Database)62a−2、ファイルDB62b−2に1対1で対応する。DB62a−2は、ファイルDB62b−2に記憶するバイナリデータと比較してデータサイズが小さい構造化されたデータをまとめて記憶する。ファイルDB62b−2は、DB62a−2に記憶する構造化されたデータと比較してデータサイズが大きいバイナリデータを個別に記憶する。また、図3に示した例では、クエリコントローラ63とデバイス側I/F提供部50との間にブローカ(Broker)64が設けられる。ブローカ64は、クエリコントローラ63とデバイス側I/F提供部50との間でデータをやり取りする。
クエリコントローラ63は、データ種別設定情報と、デバイスドライバ/プロトコルコンバータ/センサ/デバイス等90から入力されたデータを蓄積する要求であるHTTPリクエストにおけるヘッダ(Header)に含まれるクラス名などの情報とを照合する。この照合により、クエリコントローラ63は、デバイスドライバ/プロトコルコンバータ/センサ/デバイス等90からデータ処理部60内のデータ保持装置61、第1のデータ記憶装置62a、第2のデータ記憶装置62bへ蓄積する対象、つまり、データ処理部60による処理対象であるデータの種別を判別する。
判別の結果、上記の蓄積対象であるデータが、json等の形式で記述された構造化されたデータである場合、クエリコントローラ63は、データをメモリ61−2に書き込むとともに、このメモリ61−2に書き込まれたデータを、データを生成したデバイス毎に、共通データ構造生成元情報に基づいて分類し、この分類したデータを、当該データの取得用の1つまたは複数のKey情報(キー情報)とValue情報(蓄積対象である測定データ)とともにDB62a−2にまとめて書き込む。
上記の蓄積対象であるデータが、画像等のバイナリデータであるとき、クエリコントローラ63は、このバイナリデータをメモリ61−2に蓄積すると共に、メモリ61−2に書き込まれたデータを、データを生成したデバイス毎に、共通データ構造生成元情報に基づいて分類し、この分類したデータを、バイナリ形式で、また、Keyとなる情報で検索可能な形でファイルDB62b−2に個別に書き込む。
次に、図3、図4を参照してデータ参照(検索)時の処理について説明する。
アプリケーションから入力されたデータ取得要求(HTTPなど)がクエリコントローラ63に送られると(S1)、クエリコントローラ63は、データ種別設定情報と、データ取得要求のヘッダに含まれるクラス名などの情報と、を照合することで、クエリコントローラ63によるデータ処理部60からの取得対象(検索対象)であるデータの種別を判別する。
取得対象であるデータが構造化されたデータであるとき(S2のYes)、クエリコントローラ63は、Keyとなる情報(クラス名・インスタンスID・タイムスタンプ等)を用いてメモリ61−2を検索し、取得対象である構造化されたデータがメモリ61−2に蓄積されているとき(S3のYes)、メモリ61−2から、この構造化されたデータを含むファイル中から取得対象である構造化されたデータを高速に取得する(S4)。
また、取得対象である構造化されたデータがメモリ61−2に蓄積されていないとき(S3のNo)、クエリコントローラ63は、時刻情報およびKeyとなる情報を用いてDB62a−2を検索し、このDB62a−2から取得対象である構造化されたデータを含むファイルをメモリ61−2にコピーし、メモリ61−2から、この構造化されたデータを含むファイル中から取得対象であるデータを高速に取得する(S5)。
取得対象であるデータがバイナリデータ(画像など)である場合(S2のNo)、クエリコントローラ63は、上記のKeyとなる情報を用いてメモリ61−2を検索し、取得対象であるバイナリデータがメモリ61−2に蓄積されているとき(S6のYes)、このバイナリデータをメモリ61−2から高速に取得する(S7)。
また、取得対象であるバイナリデータがメモリ61−2に蓄積されていないとき(S6のNo)、クエリコントローラ63は、Keyとなる情報を用いてメモリ61−2を経由してファイルDB62b−2を検索し、このファイルDB62b−2から取得対象であるバイナリデータを含むファイルをメモリ61−2にコピーし、メモリ61−2から取得対象であるバイナリデータを高速に取得する(S8)。クエリコントローラ63は、S4、S5、S7、またはS8により取得したデータを、データ取得要求により要求されたデータとしてアプリケーションに返す(S9)。このように、Keyとなる情報を用いてデータを取得することで、効率的にデータを取得できる。
(発明の効果)
本発明の実施形態では、データ処理システムは、IoTシステムのデータ特性に合わせて、データ種別に応じて、適切な特性を有する装置にデータの保存または取得処理を行なう。これにより、時系列データを永続的に蓄積可能で、かつ、参照頻度が高い最新のデータを高速に読み出し可能であるシステムを構築することができる。
また、データ処理システム10が、共通データ構造生成元情報に基づいて生成されたデータ種別設定情報を用いてデータ種別を判別することで、アプリケーションおよびデバイス等のI/Fとの整合性保持およびデータ構造の変更に対応することが可能である。本発明の実施形態では、バイナリデータおよび時系列データを扱うアプリケーションおよびデバイスと接続可能なデータ処理システム、ならびに、このシステムに基づくIoTプラットフォーム(Platform)を構築することが可能である。
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。
また、各実施形態に記載した手法は、計算機(コンピュータ)に実行させることができるプログラム(ソフトウエア(Software)手段)として、例えば磁気ディスク(フロッピー(登録商標)ディスク(Floppy disk)、ハードディスク等)、光ディスク(CD−ROM、DVD、MO等)、半導体メモリ(ROM、RAM、フラッシュメモリ(Flash memory)等)等の記憶媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段(実行プログラムのみならずテーブル(Table)構造およびデータ構造も含む)を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記憶媒体に記憶されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記憶媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクおよび半導体メモリ等の記憶媒体を含む。

Claims (6)


  1. データを永続的に記憶可能な記憶媒体を有する第1および第2のデータ記憶装置と、
    前記データを前記第1および第2のデータ記憶装置と比較して高速に記憶可能な記憶媒体を有するデータ保持装置と、
    処理対象であるデータの種別を判別し、
    前記処理対象であるデータが構造化されたデータである場合に、前記処理対象であるデータを前記データ保持装置に既に記憶される構造化データに上書きして前記データ保持装置に記憶すると共に、前記処理対象であるデータを前記第1のデータ記憶装置に記憶し、
    前記処理対象であるデータがバイナリデータである場合に、前記処理対象であるデータを前記データ保持装置に記憶すると共に、前記処理対象であるデータを前記第2のデータ記憶装置に記憶するコントローラと
    前記コントローラに用いる設定情報を生成する設定情報生成部と、
    前記設定情報の生成元の情報であり、クラスを定義する情報を含む生成元情報を記憶する記憶装置と
    を備え、
    前記コントローラは、前記設定情報生成部により生成された設定情報に基づいて、前記処理対象であるデータの種別を判別するものであって、
    前記設定情報は、前記生成元情報に定義されたクラスと当該クラスのデータが構造化データであるかバイナリデータであるかといったデータの種別を対応づける情報であり、
    前記コントローラは、前記設定情報と、前記処理対象であるデータを蓄積する要求のヘッダに含まれるクラスを照合することで前記処理対象であるデータの種別を判別する、
    データ処理システム。
  2. アプリケーションに用いるインタフェースを前記アプリケーションへ提供する第1のインタフェース提供部と、
    デバイスに用いるインタフェースを前記デバイスへ提供する第2のインタフェース提供部とをさらに備え、
    前記設定情報生成部は、
    前記アプリケーションに用いるインタフェースと前記デバイスに用いるインタフェースとの一貫性を有する前記設定情報を前記生成元情報を用いて生成する、
    請求項に記載のデータ処理システム。
  3. アプリケーションに用いるインタフェースを前記アプリケーションへ提供する第1のインタフェース提供部と、
    デバイスに用いるインタフェースを前記デバイスへ提供する第2のインタフェース提供部とをさらに備え、
    前記生成元情報は、
    前記アプリケーションに用いるインタフェース、前記デバイスに用いるインタフェース、前記設定情報をそれぞれ生成するための共通の情報としての共通データ構造生成元情報である、
    請求項に記載のデータ処理システム。
  4. 前記コントローラは、
    前記処理対象であるデータが前記構造化されたデータであるときに、前記処理対象であるデータを前記データ保持装置に記憶すると共に、前記データ保持装置に記憶された前記構造化されたデータを、データを生成したデバイス毎に分類し、前記バイナリデータと比較してサイズが小さいデータを、前記構造化されたデータの取得用のキー情報および時刻情報とともに前記第1のデータ記憶装置にまとめて記憶し、
    取得対象であるデータが前記構造化されたデータであるときに、前記キー情報を用いて前記データ保持装置を検索し、
    前記取得対象である前記構造化されたデータが前記データ保持装置に記憶されているときは、この構造化されたデータを含むファイル中から取得対象である構造化されたデータを検索して前記データ保持装置から取得し、
    前記取得対象である構造化されたデータが前記データ保持装置に記憶されていないときは、前記キー情報および前記時刻情報を用いて、前記第1のデータ記憶装置から前記取得対象である構造化されたデータを含むファイルを前記データ保持装置にコピーし、前記データ保持装置から、この構造化されたデータを含むファイル中から取得対象である構造化されたデータを検索して取得する、
    請求項1ないし請求項のいずれか1項に記載のデータ処理システム。
  5. 前記コントローラは、
    前記処理対象であるデータが前記バイナリデータであるときに、前記処理対象であるデータを前記データ保持装置に記憶すると共に、前記データ保持装置に記憶された前記バイナリデータを、データを生成したデバイス毎に分類し、前記構造化されたデータと比較してサイズが大きいデータを、前記バイナリデータの取得用のキー情報とともに前記第2のデータ記憶装置に個別に記憶し、
    取得対象であるデータが前記バイナリデータであるときに、前記キー情報を用いて前記データ保持装置を検索し、
    前記取得対象である前記バイナリデータが前記データ保持装置に記憶されているときは、このバイナリデータを前記データ保持装置から取得し、
    前記取得対象である前記バイナリデータが前記データ保持装置に記憶されていないときは、前記キー情報を用いて、前記第2のデータ記憶装置から前記取得対象であるバイナリデータを含むファイルを前記データ保持装置にコピーし、前記データ保持装置からこのバイナリデータを取得する、
    請求項1ないし請求項のいずれか1項に記載のデータ処理システム。
  6. データ処理システムにおいて実施されるデータ処理方法であって、
    前記データ処理システムが、
    データを永続的に記憶可能な記憶媒体を有する第1および第2のデータ記憶装置と、
    前記データを前記第1および第2のデータ記憶装置と比較して高速に記憶可能な記憶媒体を有するデータ保持装置とを有し、
    処理対象であるデータの種別を判別し、
    前記処理対象であるデータが構造化されたデータである場合に、前記処理対象であるデータを前記データ保持装置に既に記憶される構造化データに上書きして前記データ保持装置に記憶すると共に、前記処理対象であるデータを前記第1のデータ記憶装置に記憶し、
    前記処理対象であるデータがバイナリデータである場合に、前記処理対象であるデータを前記データ保持装置に記憶すると共に、前記処理対象であるデータを前記第2のデータ記憶装置に記憶し、
    前記処理対象であるデータの種別を判別することは、
    クラスを定義する情報を含む生成元情報に基づいて生成されるものであって、前記生成元情報に定義されたクラスと当該クラスのデータが構造化データであるかバイナリデータであるかといったデータの種別を対応づける情報である設定情報と、前記処理対象であるデータを蓄積する要求のヘッダに含まれるクラスを照合することで行う、
    データ処理方法。
JP2018558067A 2016-12-22 2017-12-21 データ処理システムおよびデータ処理方法 Active JP6629994B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016249723 2016-12-22
JP2016249723 2016-12-22
PCT/JP2017/045941 WO2018117218A1 (ja) 2016-12-22 2017-12-21 データ処理システムおよびデータ処理方法

Publications (2)

Publication Number Publication Date
JPWO2018117218A1 JPWO2018117218A1 (ja) 2019-03-28
JP6629994B2 true JP6629994B2 (ja) 2020-01-15

Family

ID=62626785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018558067A Active JP6629994B2 (ja) 2016-12-22 2017-12-21 データ処理システムおよびデータ処理方法

Country Status (5)

Country Link
US (1) US11514083B2 (ja)
EP (1) EP3561679B1 (ja)
JP (1) JP6629994B2 (ja)
CN (1) CN110088745B (ja)
WO (1) WO2018117218A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111480161A (zh) * 2017-12-20 2020-07-31 飞力凯网路股份有限公司 信息处理设备和信息处理方法
JP7073952B2 (ja) * 2018-07-09 2022-05-24 横河電機株式会社 データ収集システム及びデータ収集方法
CN112579834B (zh) * 2021-02-22 2021-09-03 北京工业大数据创新中心有限公司 一种工业设备数据的存储方法及系统

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1455516A3 (en) 1996-10-31 2006-03-22 Sensormatic Electronics Corporation Intelligent video information management system
JP2002055995A (ja) * 2000-05-31 2002-02-20 Canon Inc 情報処理方法及び装置
JP2002202905A (ja) * 2000-10-27 2002-07-19 Canon Inc データ蓄積方法及び装置、並びに記憶媒体
JP4810009B2 (ja) * 2001-06-27 2011-11-09 キヤノン株式会社 データ処理装置、方法およびプログラム
JP4194588B2 (ja) * 2005-08-12 2008-12-10 キヤノン株式会社 再生装置及び再生方法
JP2008024385A (ja) * 2006-07-18 2008-02-07 Toppan Forms Co Ltd 物品管理システム
WO2008085869A2 (en) * 2007-01-07 2008-07-17 Apple Inc. Synchronization methods and systems
US7979627B2 (en) * 2007-05-14 2011-07-12 Buffalo Inc. Storage device with binary and multivalued memory
JP4944812B2 (ja) * 2008-02-20 2012-06-06 株式会社リコー 情報処理システムと情報処理方法とプログラム
JP5186270B2 (ja) 2008-04-23 2013-04-17 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースのキャッシュシステム
EP2377055A4 (en) * 2008-12-30 2013-04-17 Intelligent Spatial Technologies Inc MOBILE IMAGE SEARCH AND INDEXING SYSTEM AND METHOD
JP5544508B2 (ja) 2009-03-27 2014-07-09 株式会社国際電気通信基礎技術研究所 行動識別システム
JP2010271862A (ja) 2009-05-20 2010-12-02 Toshiba Corp 情報処理システムおよび情報処理装置
US20140365861A1 (en) * 2011-04-25 2014-12-11 Google Inc. Prefetching binary data for use by a browser plugin
US20120317337A1 (en) * 2011-06-09 2012-12-13 Microsoft Corporation Managing data placement on flash-based storage by use
GB2506164A (en) * 2012-09-24 2014-03-26 Ibm Increased database performance via migration of data to faster storage
JP6172508B2 (ja) 2013-06-25 2017-08-02 富士電機機器制御株式会社 データ収集システム及び有線・無線変換器
JP2015026167A (ja) 2013-07-25 2015-02-05 株式会社東芝 警報管理装置および警報管理方法
WO2015165545A1 (en) 2014-05-01 2015-11-05 Longsand Limited Embedded processing of structured and unstructured data using a single application protocol interface (api)
JP5948399B2 (ja) 2014-12-04 2016-07-06 日本電信電話株式会社 情報記録装置、方法およびプログラム
US20160210306A1 (en) * 2015-01-15 2016-07-21 Commvault Systems, Inc. Managing structured data in a data storage system
JP6516630B2 (ja) * 2015-08-26 2019-05-22 キヤノン株式会社 メモリ制御回路及びその制御方法
US10216740B2 (en) * 2016-03-31 2019-02-26 Acronis International Gmbh System and method for fast parallel data processing in distributed storage systems
CN106095796A (zh) * 2016-05-30 2016-11-09 中国邮政储蓄银行股份有限公司 分布式数据存储方法、装置及系统

Also Published As

Publication number Publication date
EP3561679B1 (en) 2024-03-27
CN110088745B (zh) 2023-08-08
US20200192916A1 (en) 2020-06-18
EP3561679A1 (en) 2019-10-30
JPWO2018117218A1 (ja) 2019-03-28
US11514083B2 (en) 2022-11-29
WO2018117218A1 (ja) 2018-06-28
CN110088745A (zh) 2019-08-02
EP3561679A4 (en) 2020-08-19

Similar Documents

Publication Publication Date Title
US10180891B2 (en) Monitoring processes running on a platform as a service architecture
US20110270861A1 (en) Graph query adaptation
JP6629994B2 (ja) データ処理システムおよびデータ処理方法
JP5589205B2 (ja) 計算機システム及びデータ管理方法
JP6281225B2 (ja) 情報処理装置
CN110765076B (zh) 数据存储方法、装置、电子设备及存储介质
JP6870466B2 (ja) 制御プログラム、制御方法、制御装置、及びデータベースサーバ
US10484835B2 (en) Publishing messages based on geographic area
JPWO2016016944A1 (ja) データベース管理システム及びデータベース管理方法
US20150081625A1 (en) Service polling method and system, and computer storage medium
US10095737B2 (en) Information storage system
JP2018129074A5 (ja) ストレージシステム、およびストレージシステムの制御方法
US20140365877A1 (en) File History Tagging
JP2011170791A (ja) 情報記録装置、情報記録方法およびプログラム
JP4689635B2 (ja) メタデータ管理方法、メタデータ管理システム、及び、メタデータ管理プログラム
US20130218928A1 (en) Information processing device
JP2022172843A (ja) データ検索システムおよび方法
WO2018225747A1 (ja) 分散システム、データ管理装置、データ管理方法、及びコンピュータ読み取り可能な記録媒体
JP6193491B2 (ja) 計算機システム
JP6901005B2 (ja) 情報蓄積装置、データ処理システム、およびプログラム
US11226990B2 (en) System and method for operating a digital storage system
JP2014229044A (ja) データ処理装置のデータ取得を高速化するためのプログラム、記録媒体および装置
US20200192870A1 (en) Data processing device and data processing method
JP5948263B2 (ja) 管理システム、セキュリティ情報管理装置、構成情報管理装置、セキュリティ情報管理方法およびプログラム
Alfredsson et al. Improving Efficiency of Surveillance Footage Processing through Application of a Container Based Approach in a Computer Cluster

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191105

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20191114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191205

R150 Certificate of patent or registration of utility model

Ref document number: 6629994

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150