JP6811251B2 - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP6811251B2
JP6811251B2 JP2018546361A JP2018546361A JP6811251B2 JP 6811251 B2 JP6811251 B2 JP 6811251B2 JP 2018546361 A JP2018546361 A JP 2018546361A JP 2018546361 A JP2018546361 A JP 2018546361A JP 6811251 B2 JP6811251 B2 JP 6811251B2
Authority
JP
Japan
Prior art keywords
data processing
processing
unit
data
request
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
JP2018546361A
Other languages
English (en)
Other versions
JPWO2018074479A1 (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 JPWO2018074479A1 publication Critical patent/JPWO2018074479A1/ja
Application granted granted Critical
Publication of JP6811251B2 publication Critical patent/JP6811251B2/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/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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • 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/2462Approximate or statistical 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/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • 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/256Integrating or interfacing systems involving database management systems in federated or virtual databases

Landscapes

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

Description

本発明は、データベースの検索に付随するデータ処理に関する。
近年、多数のセンサ/デバイスをネットワークに接続し、データを収集/活用するIoT(Internet of Things)が注目されている。センサ/デバイスから収集されたデータは、データベースに蓄積され、アプリケーションによって活用のために参照される。なお、データベースにアクセスするアプリケーションは1つとは限らない。すなわち、複数の異なるアプリケーションが1つのデータベースに共通にアクセスするシステムも構築可能である。
従来のデータベースは、アプリケーションからのデータ処理要求を受けて、当該データ処理要求のクエリ変換などの前処理を行い、次いで検索を行う。さらに、従来のデータベースは、オプションとして、検索結果を用いた統計処理(例えば、集約、フィルタ、平均値計算およびソート)などの後処理を行うこともある。一般に、IoTにおいて、センサ/デバイスから収集されるデータの個々のサイズは小さいものの、膨大な数のデータが収集されデータベースに蓄積される。故に、IoTでは、データベースには大きなデータ処理負荷が課されることになる。従って、特にIoTでは、複数のアプリケーションが同時期にデータベースにデータ処理を要求した場合に、データベースの計算能力(CPU(Central Processing Unit))および記憶領域(メモリ)などのハードウェアリソースが特定のアプリケーションによって長時間占有され、他方で残りのアプリケーションの待ち時間は長くなる。
また、仮想化技術を用いて、アプリケーションおよびデータベースを同一の装置内の異なる仮想化単位(例えば、仮想マシン、コンテナなどであり得る)として共存させることも想定される。この場合に、アプリケーション用の仮想化単位およびデータベース用の仮想化単位には、それぞれ使用可能なリソースの上限を設定することができる。しかしながら、データベース用の仮想化単位に利用可能なハードウェアリソースが特定のアプリケーションによって長時間占有されれば、やはり残りのアプリケーションの待ち時間は長くなる。
本発明は、複数のアプリケーション間でのデータベース利用の公平性を向上させることを目的とする。
本発明の一態様は、メモリに記憶されたプログラムをハードウェアプロセッサに実行させることにより機能する複数のアプリケーション実行部および複数のデータ処理部を備えるデータ処理装置において、前記複数のデータ処理部は、1つのデータベース管理装置に対し共通にアクセス可能であり、前記複数のアプリケーション実行部の各々が、データ処理要求を発行して対応する前記データ処理部に送る処理と、対応する前記データ処理部から前記データ処理要求に対する処理結果を受け取る処理とを行い、前記複数のデータ処理部が、前記データ処理要求に対しクエリ変換を含む前処理を行い、当該前処理済の前記データ処理要求を前記データベース管理装置へ送る第1の処理と、前記データ処理要求に応じて前記データベース管理装置において検索されたデータベースの検索結果を、前記データベース管理装置から受け取り、受け取った前記検索結果に対し所定の統計処理を含む後処理を行って、当該後処理の結果を前記データ処理要求に対する処理結果として要求元の前記アプリケーション実行部に返す第2の処理とをい、かつ前記複数のデータ処理部の各々は、前記第2の処理において、前記データ処理要求に後処理が含まれているか否かを判定し、含まれている場合に前記検索結果に対し前記所定の統計処理を含む後処理を行ったのち当該後処理の結果を要求元の前記アプリケーション実行部へ返し、一方前記データ処理要求に後処理が含まれていない場合には前記検索結果に対し前記後処理を行わずに要求元の前記アプリケーション実行部へ転送する処理を行う。
本発明の別の態様は、メモリに記憶されたプログラムをハードウェアプロセッサに実行させることにより機能する、複数のアプリケーション実行部および第1および第2のデータ処理部を備えるデータ処理装置において、前記第1および第2のデータ処理部は、1つのデータベース管理装置に対し共通にアクセス可能であり、前記第1のデータ処理部が、前記複数のアプリケーション実行部のうち第1のアプリケーション実行部から発行された第1のデータ処理要求に対しクエリ変換を含む前処理を行い、当該前処理済の前記第1のデータ処理要求を前記データベース管理装置へ送る処理と、前記第1のデータ処理要求に応じて前記データベース管理装置において検索されたデータベースの第1の検索結果を前記データベース管理装置から受け取り、受け取った前記第1の検索結果に対し所定の統計処理を含む後処理を行って、当該後処理の結果を前記第1のアプリケーション実行部に返す処理とのうちの少なくとも一方を行い、前記第2のデータ処理部が、前記複数のアプリケーション実行部のうち第2のアプリケーション実行部から発行された第2のデータ処理要求に対しクエリ変換を含む前処理を行い、当該前処理済の前記第2のデータ処理要求を前記データベース管理装置へ送る処理と、前記第2のデータ処理要求に応じて前記データベース管理装置において検索されたデータベースの第2の検索結果を前記データベース管理装置から受け取り、受け取った前記第2の検索結果に対し所定の統計処理を含む後処理を行って、当該後処理の結果を前記第2のアプリケーション実行部に返す処理との少なくとも一方を行い、かつ前記第1および第2のデータ処理部はそれぞれ、前記第1および第2のデータ処理要求に後処理が含まれているか否かを判定し、含まれている場合に前記第1および第2の検索結果に対し前記所定の統計処理を含む後処理を行ったのち当該後処理の結果を前記第1および第2のアプリケーション実行部へ返し、一方前記第1および第2のデータ処理要求に後処理が含まれていない場合には前記第1および第2の検索結果に対し前記後処理を行わずに要求元の前記第1および第2のアプリケーション実行部へ転送する処理を行い、かつ前記第1データ処理部および前記第2のデータ処理部が、それぞれ仮想マシンにより構成される第1の仮想化単位および第2の仮想化単位に含まれるように構成される。
本発明によれば、複数のアプリケーション間でのデータベース利用の公平性を向上させることができる。
図1は、第1の実施形態に係るデータ処理装置を例示するブロック図である。 図2は、第1の実施形態に係るデータ処理装置を含むデータ処理システムを例示するブロック図である。 図3は、図2のデータベースを例示するブロック図である。 図4は、第1の実施形態に係るデータ処理装置を含むデータ処理システムの詳細を例示するブロック図である。 図5は、図2または図4のデータ処理システムの動作を例示するフローチャートである。 図6は、第1の実施形態に係るデータ処理装置のハードウェア構成を例示するブロック図である。
以下、図面を参照しながら実施形態の説明が述べられる。尚、以降、説明済みの要素と同一または類似の要素には同一または類似の符号が付され、重複する説明は基本的に省略される。例えば、複数の同一または類似の要素が存在する場合に、各要素を区別せずに説明するために共通の符号を用いることがあるし、各要素を区別して説明するために当該共通の符号に加えて枝番号を用いることもある。
(第1の実施形態)
図1に例示されるように、第1の実施形態に係るデータ処理装置100は、アプリケーション実行部101と、データ処理部102とを含む。データ処理装置100は、典型的にはコンピュータであって、CPUなどのプロセッサおよびメモリを含む。プロセッサは、メモリにロードされた所定のプログラムを実行することで、アプリケーション実行部101およびデータ処理部102としてそれぞれ機能することができる。なお、アプリケーションは、データ処理装置100にインストールされたアプリケーションに限られず、ウェブアプリ、クラウドアプリなどを含み得る。
なお、アプリケーション実行部101およびデータ処理部102は、データ処理装置100内の1つの仮想化単位(例えば、仮想マシンまたはコンテナなどであり得る)として実装されてもよいし、異なる仮想化単位として実装されてもよい。さらに、アプリケーション実行部101は、データ処理装置100に含まれず、当該データ処理装置100とは異なる装置(例えばアプリケーション装置と呼ぶことができる)に含まれていることもある。
アプリケーション実行部101は、共通のデータベースにアクセスする複数のアプリケーションの1つを実行し、このデータベースに対するデータ処理要求(例えば、データ参照要求であり得る)を発行する。アプリケーション実行部101は、発行したデータ処理要求をデータ処理部102へ送る。
また、アプリケーション実行部101は、当該アプリケーション実行部101によって既に発行されたデータ処理要求に応じたデータベースの検索結果、または、この検索結果に後述の後処理を施した後処理結果を、データ処理部102から受け取る。
データ処理部102は、アプリケーション実行部101からデータ処理要求を受け取り、当該データ処理要求に対する前処理を行う。前処理は、例えば、データ処理要求のクエリ変換などであり得る。データ処理部102は、前処理済みのデータ処理要求をデータベース(例えば、後述されるデータベース管理装置200)へ送る。
また、データ処理部102は、前処理済みのデータ処理要求に応じたデータベースの検索結果を当該データベース管理装置200から受け取る。データ処理部102は、検索結果に対して後処理を必要に応じて行う。後処理は、例えば、検索結果を用いた統計処理(例えば、集約、フィルタ、平均値計算またはソート)などであり得る。具体的には、データ処理部102は、データ処理要求に後処理が含まれる場合には後処理を行うことを決定し、そうでない場合には後処理を行わないことを決定してもよい。データ処理部102は、後処理を行った場合には後処理結果をアプリケーション実行部101に返し、後処理を行わなかった場合には検索結果をアプリケーション実行部101に返す。
なお、データ処理部102は、上記機能を組み込んだ、例えば、共通アプリケーションとして実装してもよい。あるいは、データ処理部102は、上記機能を組み込んだ、node.jsなどのウェブサーバを実装してもよい。また、アプリケーション実行部101と、データ処理部102との間は、データ処理要求を変換するためのAPI(Application Programming Interface)(例えば、REST API)などを介して接続されてもよい。
データ処理装置100は、図2に例示されるデータ処理システムの一部となる。図2のデータ処理システムは、データベース管理装置200と、当該データベース管理装置200に共通にアクセスする複数のアプリケーションを実行する複数のデータ処理装置100−1,100−2,・・・とを含む。
なお、複数のデータ処理装置100−1,100−2,・・・に含まれるデータ処理部102−1,102−2,・・・と、データベース管理装置200とのうち一部または全部が、同一のコンピュータ(例えば、データ処理装置、データベース管理装置などのより具体的な名称で呼ぶこともできる)内の複数の異なる仮想化単位として実装されてもよい。具体的には、1つまたは複数のデータ処理装置100に含まれるデータ処理部102とデータベース管理装置200とが同一のコンピュータ内の複数の異なる仮想化単位として実装されてもよいし、複数のデータ処理装置100に含まれるデータ処理部102が同一のコンピュータ内の複数の異なる仮想化単位として実装されてもよい。
データベース管理装置200(またはデータベース用の仮想化単位)は、図3に例示されるように、データ管理部201と、データ記録部202とを含む。データベース管理装置200は、典型的にはコンピュータであって、CPUなどのプロセッサ、メモリおよび補助記憶装置(例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などであり得る)を含む。プロセッサは、メモリにロードされた所定のプログラムを実行することで、データ管理部201として機能することができる。また、補助記憶装置はデータ記録部202として機能する。
データ管理部201は、いずれかのデータ処理装置100(またはデータ処理用の仮想化単位)から前処理済みのデータ処理要求を受け取る。データ管理部201は、前処理済みのデータ処理要求に応じて、データ記録部202に構築されているデータベースを検索する。そして、データ管理部201は、検索結果を、前処理済みのデータ処理要求の送信元であるデータ処理装置100へ返す。
また、データ管理部201は、センサ/デバイス(例えば、図4のセンサ/デバイス400)から収集されたデータをデータ記録部202に書き込むことでデータベースを更新する。
データ記録部202は、センサ/デバイスから収集されたデータがデータ管理部201によって書き込まれ、これを永続的に記録する。データ記録部202に蓄積されたデータの集合がデータベースに相当する。データ記録部202に構築されたデータベースは、データ管理部201によって必要に応じて検索を行われる。
図4は、第1の実施形態に係るデータ処理システム300の詳細を例示する。データ処理システム300は、複数のデータ処理用の仮想化単位310−1,310−2,・・・と、データベース用の仮想化単位320と、メッセージブローカ330と、コンバータ340とを含む。データ処理システム300では、複数のセンサ/デバイス400−1,400−2,・・・から収集されたデータを用いてデータベースが構築され、複数のアプリケーションがこのデータベースに共通にアクセスする。
なお、データ処理用の仮想化単位310は、独立したハードウェア(例えば、データ処理装置100)に置き換えることが可能である。同様に、データベース用の仮想化単位320は、独立したハードウェア(例えば、データベース管理装置200)に置き換えることが可能である。
各データ処理用の仮想化単位310は、アプリケーション311およびウェブサーバ312を実装する。アプリケーション311およびウェブサーバ312は、それぞれアプリケーション実行部101およびデータ処理部102に対応する。なお、図4には示されていないが、ウェブサーバ312は、データ処理部102と同様の機能を組み込んだ共通アプリケーションであってもよい。また、アプリケーション311は、データ処理用の仮想化単位310とは異なる仮想化単位(例えばアプリケーション用の仮想化単位と呼ぶことができる)または独立したハードウェア(例えばアプリケーション装置)によって実装されてもよい。
アプリケーション311は、データベース用の仮想化単位320によって実装されるデータベースに対するデータ処理要求を発行する。アプリケーション311は、発行したデータ処理要求をウェブサーバ312へ送る。
また、アプリケーション311は、当該アプリケーション311によって既に発行されたデータ処理要求に応じたデータベースの検索結果、または、この検索結果に後処理を施した後処理結果を、ウェブサーバ312から受け取る。
ウェブサーバ312は、アプリケーション311からデータ処理要求を受け取り、当該データ処理要求に対する前処理を行う。ウェブサーバ312は、前処理済みのデータ処理要求をデータベース用の仮想化単位320へ送る。
具体的には、ウェブサーバ312は、アプリケーション311との間にセッションを確立し、アプリケーション311からデータ処理要求を受け取る。そして、ウェブサーバ312は、データ処理要求に対する前処理として、(1)HTML(Hyper Text Markup Language)リクエストの受け付け、(2)例えばJSON(JavaScript(登録商標) Object Notation)、XML(Extensible Markup Language)などの形式であるリクエストボディのパース処理、および(3)クエリの分析を行うことができる。クエリの分析は、データ処理要求がデータの書き込み、または検索のどちらの要求であるかの判別、検索の要求である場合には検索条件の分析などを含むことができる。
なお、アプリケーション311と、ウェブサーバ312との間は、データ処理要求を変換するためのAPIなどを介して接続されてもよい。
また、ウェブサーバ312は、前処理済みのデータ処理要求に応じたデータベースの検索結果を当該データベースから受け取る。ウェブサーバ312は、検索結果に対して後処理を必要に応じて行う。ウェブサーバ312は、後処理を行った場合には後処理結果をアプリケーション311に返し、後処理を行わなかった場合には検索結果をアプリケーション311に返す。
具体的には、ウェブサーバ312は、前処理済みのデータ処理要求に応じたデータベースの検索結果をクエリコントローラ321から受け取る。ウェブサーバ312は、検索結果に対する後処理として、取得したデータの統計処理、キャッシュ処理などを必要に応じて行うことができる。
ウェブサーバ312は、クエリコントローラ321との間に1対1のセッションを確立する。ここで、ウェブサーバ312は、1対1のセッションを継続的に維持する簡単なプロトコルを利用してセッションを確立・維持することにより、クエリコントローラ321の処理負担を小さくすることができる。また、ウェブサーバ312とクエリコントローラ321との間のプロトコルにSSL(Secure Sockets Layer)を利用することにより、セキュリティを高めることもできる。
これらの前処理および後処理の負荷、ならびにセッションを確立・維持する際の大部分の処理負荷をウェブサーバ312が負担することで、クエリコントローラ321の処理負荷が小さくなる。故に、1つのデータベース管理装置200に対して複数のデータ処理装置100を接続した場合の公平性を高めることができる。
データベース用の仮想化単位320は、クエリコントローラ321と、データマネージャ322と、データ記録部323と、メッセージクライアント324とを含む。クエリコントローラ321、データマネージャ322およびメッセージクライアント324は、データ管理部201に対応する。データ記録部323は、データ記録部202に対応する。
クエリコントローラ321は、いずれかのデータ処理用の仮想化単位310から前処理済みのデータ処理要求を受け取り、データマネージャ322へと送る。また、クエリコントローラ321は、データマネージャ322から検索結果を受け取り、このデータ処理用の仮想化単位310へと返す。
具体的には、クエリコントローラ321は、いずれかのデータ処理用の仮想化単位310のウェブサーバ312とのセッションを確立し、ウェブサーバ312から前処理(例えば、前述の(1)HTMLリクエストの受け付け、(2)例えばJSON、XMLなどの形式であるリクエストボディのパース処理、および(3)クエリの分析など)済みのデータ処理要求を受け取る。そして、クエリコントローラ321は、受け取ったデータのデシリアライズ処理、およびデシリアライズされたデータの型などが適切であるかを確認する処理(バリデーション)を行う。さらに、クエリコントローラ321は、ウェブサーバ312によって分析されたクエリに従い、データの検索または書き込み要求をデータマネージャ322へと送る。また、クエリコントローラ321は、データマネージャ322からデータ検索または書き込み結果、すなわちデータ処理結果を受け取り、データ処理用の仮想化単位310のウェブサーバ312との通信プロトコルに従ってデータのシリアライズ処理を行い、ウェブサーバ312へと返す。
また、クエリコントローラ321は、メッセージクライアント324とのセッションを確立し、メッセージクライアント324からパース処理されたデータを受け取り、データのデシリアライズ処理、およびバリデーションを行い、データの書き込み要求をデータマネージャ322へと送る。また、クエリコントローラ321は、データマネージャ322から受け取ったデータをウェブサーバ312に送る。
データマネージャ322は、クエリコントローラ321からデータの検索または書き込み要求を受け取り、これに応じて、データ記録部323に構築されているデータベースを検索し、またはデータの書き込みを行う。データマネージャ322は、検索結果または書き込み結果をクエリコントローラ321へ返す。
また、データマネージャ322は、センサ/デバイス400−1,400−2,・・・から収集されたデータを、クエリコントローラ321から受け取る。データマネージャ322は、受け取ったデータをデータ記録部323に書き込むことでデータベースを更新する。
データ記録部323には、センサ/デバイス400−1,400−2,・・・から収集されたデータがデータマネージャ322によって書き込まれる。データ記録部323に蓄積されたデータの集合がデータベースに相当する。データ記録部323に構築されたデータベースは、データマネージャ322によって必要に応じて検索を行われる。
メッセージクライアント324は、センサ/デバイス400−1,400−2,・・・から収集されたデータを、メッセージブローカ330を介して受け取り、クエリコントローラ321に送る。
メッセージクライアント324は、クエリコントローラ321とのセッションを確立し、クエリコントローラ321からシリアライズされたデータを受け取り、メッセージブローカ330との通信プロトコルに従ってメッセージの整形を行い、メッセージブローカ330に送る。また、メッセージクライアント324は、メッセージブローカ330とのセッションを確立し、センサ/デバイス400−1,400−2,・・・から収集されたデータを、メッセージブローカ330から受け取り、パース処理を行い、クエリコントローラ321へと送る。なお、メッセージクライアント324は、クエリコントローラ321を介さすることなく、パース処理を行ったデータを直接データマネージャ322へ送ってもよい。
メッセージブローカ330は、センサ/デバイス400から送られるデータを受け取り、データベース用の仮想化単位320に送る。なお、メッセージブローカ330は、データを、センサ/デバイス400から直接受け取ることも可能であるし、コンバータ340またはその他の機能部を経由して受け取ることも可能である。図4の例では、メッセージブローカ330は、センサ/デバイス400−1からのデータをコンバータ340を経由して受け取り、センサ/デバイス400−2からのデータを直接受け取る。また、メッセージブローカ330と、コンバータ340またはセンサ/デバイス400との間は、データを変換するためのAPIなどを介して接続されてもよい。
コンバータ340は、センサ/デバイス400(図4の例では、センサ/デバイス400−1)からデータを受け取り、所定の変換を施す。コンバータ340は、変換済みのデータをメッセージブローカ330に送る。コンバータ340は、例えばソフトウェア実装され、データ処理用の仮想化単位310およびデータベース用の仮想化単位320とは異なる仮想化単位によって実行されてもよいし、単独の装置によって実行されてもよい。
センサ/デバイス400は、所定のデータを収集し、収集したデータをメッセージブローカ330に向けて送る。前述の通り、センサ/デバイス400とメッセージブローカ330との間には、コンバータ340またはその他の機能部が介在することもある。なお、センサ/デバイス400およびコンバータ340は、同一の仮想化単位または装置に含まれていてもよいし、別々の仮想化単位または装置に含まれていてもよい。
図5には、データ処理用の仮想化単位310(またはデータ処理装置100)およびデータベース用の仮想化単位320(またはデータベース管理装置200)の動作例が示される。
最初に、いずれかのアプリケーション311(またはアプリケーション実行部101)が、データベースに対するデータ処理要求を発行する(ステップS501)。ウェブサーバ312(またはデータ処理部102)は、ステップS501において発行されたデータ処理要求に対する前処理を行い、前処理済みのデータ処理要求をデータベース用の仮想化単位320(またはデータベース管理装置200)へと送る(ステップS502)。
次のステップS503では、以下の処理(1)〜(3)によってデータベースの検索(または書き込み)が実現される。
(1)クエリコントローラ321(またはデータ管理部201)は、ステップS502において送られた、前処理済みのデータ処理要求に応じて、受け取ったデータのデシリアライズ処理、およびバリデーションを行う。さらに、クエリコントローラ321は、ウェブサーバ312によって分析されたクエリに従い、データの検索または書き込み要求をデータマネージャ322へと送る。
(2)データマネージャ322(またはデータ管理部201)は、クエリコントローラ321(またはデータ管理部201)から送られた、データの検索(または書き込み要求)に応じて、データ記録部323(またはデータ記録部202)に構築されたデータベースの検索(または書き込み)を行う。そして、データマネージャ322は、クエリコントローラ321に検索結果(または書き込み結果)を返す。
(3)クエリコントローラ321(またはデータ管理部201)は、データマネージャ322(またはデータ管理部201)から検索(または書き込み結果)を受け取り、データのシリアライズ処理を行い、ウェブサーバ312(またはデータ処理部102)へと返す。
ウェブサーバ312(またはデータ処理部102)は、アプリケーション311およびクエリコントローラ321それぞれとの間でセッションを確立し、ステップS503において返された検索結果を受け取り(ステップS504)、ステップS501において発行されたデータ処理要求に後処理が含まれているか否かを判定する(ステップS505)。データ処理要求に後処理が含まれていれば処理はステップS506へと進み、そうでなければ処理はステップS507へと進む。
ステップS506では、ウェブサーバ312(またはデータ処理部102)は、検索結果に対して後処理を行い、処理はステップS507へと進む。ステップS507では、ウェブサーバ312(またはデータ処理部102)は、検索結果(ステップS506を経由しなかった場合)または後処理結果(ステップS506を経由した場合)を、アプリケーション311(または、アプリケーション実行部101)へ返す。
次に、図6を用いて、本実施形態に係るデータ処理装置100のハードウェア構成の一例について説明する。図6は、本実施形態に係るデータ処理装置100のハードウェア構成の一例を模式的に例示する。
図6に例示するように、本実施形態に係るデータ処理装置100は、制御部601と、記憶部602と、通信インタフェース603と、入力装置604と、出力装置605と、外部インタフェース606と、ドライブ607とが電気的に接続されたコンピュータであってよい。なお、図6では、通信インタフェース及び外部インタフェースをそれぞれ、「通信I/F」及び「外部I/F」と記載している。
制御部601は、CPU、RAM(Random Access Memory)、ROMなどを含む。CPUは、記憶部602に格納されたプログラムをRAMに展開する。そして、CPUがこのプログラムを解釈および実行することで、制御部601は、前述の様々な情報処理を実行可能となる。
記憶部602は、いわゆる補助記憶装置であり、例えば、内蔵または外付けの、HDD、SSD、若しくはフラッシュメモリなどの半導体メモリであり得る。記憶部602は、制御部601で実行されるプログラム(例えば、データ処理部102によって行われる各種処理を制御部601に実行させるためのプログラム)、制御部601によって使用されるデータなどを記憶する。
通信インタフェース603は、各種の無線通信または有線通信モジュールであって、ネットワークを介して無線通信または有線通信を行うためのインタフェースであってよい。入力装置604は、例えばタッチスクリーン、キーボード、マウスなどのユーザ入力を受け付けるための装置を含んでもよい。
出力装置605は、例えば、ディスプレイ、スピーカなどの出力を行うための装置である。外部インタフェース606は、USB(Universal Serial Bus)ポート、メモリカードスロットなどであり、外部装置と接続するためのインタフェースである。
ドライブ607は、例えば、CD(Compact Disc)ドライブ、DVD(Digital Versatile Disc)ドライブ、BD(Blu−ray(登録商標) Disc)ドライブなどである。ドライブ607は、記憶媒体608に記憶されたプログラムおよび/またはデータを読み込み、制御部601に渡す。なお、前述の記憶部602に記憶され得ると説明したプログラムおよびデータの一部または全部がドライブ607によって、記憶媒体608から読み込まれてもよい。
記憶媒体608は、コンピュータを含む機械が読み取り可能な形式で、プログラムおよび/またはデータを、電気的、磁気的、光学的、機械的または化学的作用によって蓄積する媒体である。記憶媒体608は、例えば、CD、DVD、BDなどの着脱可能なディスク媒体であるが、これに限られず、フラッシュメモリまたはその他の半導体メモリであり得る。
なお、データ処理装置100の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部601は、複数のプロセッサを含んでもよい。データ処理装置100は、提供されるサービス専用に設計された情報処理装置であってもよいし、汎用の情報処理装置、例えば、スマートフォン、タブレットPC(Personal Computer)、ラップトップPC、デスクトップPCなどであってもよい。また、データ処理装置100は、複数台の情報処理装置などで構成されてもよい。
以上説明したように、第1の実施形態に係るデータ処理装置は、データ処理を実行するハードウェアリソース(例えば、仮想化単位)を含んでおり、従来のデータベースにおいて検索に付随して行われていた前処理(例えば、クエリ変換、およびパース処理)、後処理(例えば、検索結果を用いた統計処理(例えば、集約、フィルタ、平均値計算またはソート)、および取得したデータのキャッシュ処理)、ならびにデータベース管理装置との間でセッションを確立・維持する処理の大部分を、当該ハードウェアリソースによって実行する。従って、このデータ処理装置によれば、データベースにおける前処理および後処理、ならびにセッションを管理する処理の大部分の負荷が取り除かれるので、複数のアプリケーションが同時期にデータ処理要求を発行したとしても、個々のアプリケーションがデータベースのハードウェアリソースを占有する時間は短くて済む。すなわち、複数のアプリケーション間でのデータベース利用の公平性を向上させることができる。なお、前処理および後処理の負荷はデータの数と共に増加するので、係る負荷の除去効果は、個々のサイズは小さいが多数のデータを取り扱うIoTにおいて特に大きい。
なお、上記説明では、前処理および後処理の両方を、各アプリケーションによって発行されたデータ処理要求を取り扱うデータ処理装置または仮想化単位において分散的に行うことで、データベース利用の公平性を向上させている。しかしながら、前処理と後処理とのうち一部をこのデータ処理装置または仮想化単位において分散的に行い、残部をデータベースにおいて集中的に行ったとしても、上記効果をある程度得ることは可能である。
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
上記各実施形態の処理の少なくとも一部は、汎用のコンピュータを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。

Claims (12)

  1. メモリに記憶されたプログラムをハードウェアプロセッサに実行させることにより機能する複数のアプリケーション実行部および複数のデータ処理部を備えるデータ処理装置であって、
    前記複数のデータ処理部は、1つのデータベース管理装置に対し共通にアクセス可能であり、かつ前記複数のデータ処理部の各々は異なる仮想化単位として機能し、
    前記複数のアプリケーション実行部の各々は、データ処理要求を発行して対応する前記データ処理部に送る処理と、対応する前記データ処理部から前記データ処理要求に対する処理結果を受け取る処理とを行い、
    前記複数のデータ処理部の各々は、
    前記データ処理要求に対しクエリ変換を含む前処理を行い、当該前処理済の前記データ処理要求を前記データベース管理装置へ送る第1の処理と、
    前記データ処理要求に応じて前記データベース管理装置において検索されたデータベースの検索結果を、前記データベース管理装置から受け取り、受け取った前記検索結果に対し所定の統計処理を含む後処理を行って、当該後処理の結果を前記データ処理要求に対する処理結果として要求元の前記アプリケーション実行部に返す第2の処理と
    い、
    かつ前記複数のデータ処理部の各々は、前記第2の処理において、前記データ処理要求に後処理が含まれているか否かを判定し、含まれている場合に前記検索結果に対し前記所定の統計処理を含む後処理を行ったのち当該後処理の結果を要求元の前記アプリケーション実行部へ返し、一方前記データ処理要求に後処理が含まれていない場合には前記検索結果に対し前記後処理を行わずに要求元の前記アプリケーション実行部へ転送する処理を行う
    データ処理装置。
  2. 前記データベース管理装置が、仮想マシンにより構成される第1の仮想化単位に含まれる場合に、
    前記複数のデータ処理部は、前記第1の仮想化単位とは異なる仮想マシンにより構成される第2の仮想化単位に含まれる、
    請求項1に記載のデータ処理装置。
  3. 前記複数のデータ処理部の各々は、1対1でセッションを継続的に維持するプロトコルを用いて前記データベース管理装置との間にセッションを確立し、確立された前記セッションを介して、前記前処理済の前記データ処理要求を前記データベース管理装置へ送信する処理と、前記データベース管理装置から返送される前記検索結果を受信する処理とのうちの少なくとも一方を行う、請求項1に記載のデータ処理装置。
  4. 前記複数のデータ処理部の各々は、前記データ処理要求に対する前処理として、前記クエリ変換に加えて、前記アプリケーション実行部からのリクエストの受け付けおよびパース処理を行い、前記検索結果に対する後処理として、前記統計処理に加え、前記検索結果のキャッシュ処理およびセッション管理を行う、請求項1に記載のデータ処理装置。
  5. 前記データベース管理装置は、前記データベースに対するデータの書込および検索を行うデータ管理部をさらに含み、
    前記データ管理部は、前記複数のデータ処理部との間でそれぞれセッションを確立し、前記前処理済のデータ処理要求を前記複数のデータ処理部から受信する処理と、前記データベースを検索することにより得られた前記検索結果を要求元の前記データ処理部に送信する処理とのうちの少なくとも一方を行い、
    前記データ管理部は、前記前処理済のデータ処理要求に対するデシリアライズ処理と、前記検索結果に対する送信前のシリアライズ処理とのうちの少なくとも一方を行う、
    請求項2に記載のデータ処理装置。
  6. メモリに記憶されたプログラムをハードウェアプロセッサに実行させることにより機能する、複数のアプリケーション実行部および第1および第2のデータ処理部を備えるデータ処理装置であって、
    前記第1および第2のデータ処理部は、1つのデータベース管理装置に対し共通にアクセス可能であり、かつ前記第1および第2のデータ処理部は異なる仮想化単位として機能し、
    前記第1のデータ処理部は、前記複数のアプリケーション実行部のうち第1のアプリケーション実行部から発行された第1のデータ処理要求に対しクエリ変換を含む前処理を行い、当該前処理済の前記第1のデータ処理要求を前記データベース管理装置へ送る処理と、前記第1のデータ処理要求に応じて前記データベース管理装置において検索されたデータベースの第1の検索結果を前記データベース管理装置から受け取り、受け取った前記第1の検索結果に対し所定の統計処理を含む後処理を行って、当該後処理の結果を前記第1のアプリケーション実行部に返す処理とを行い、
    前記第2のデータ処理部は、前記複数のアプリケーション実行部のうち第2のアプリケーション実行部から発行された第2のデータ処理要求に対しクエリ変換を含む前処理を行い、当該前処理済の前記第2のデータ処理要求を前記データベース管理装置へ送る処理と、前記第2のデータ処理要求に応じて前記データベース管理装置において検索されたデータベースの第2の検索結果を前記データベース管理装置から受け取り、受け取った前記第2の検索結果に対し所定の統計処理を含む後処理を行って、当該後処理の結果を前記第2のアプリケーション実行部に返す処理とを行い、
    かつ前記第1および第2のデータ処理部はそれぞれ、前記第1および第2のデータ処理要求に後処理が含まれているか否かを判定し、含まれている場合に前記第1および第2の検索結果に対し前記所定の統計処理を含む後処理を行ったのち当該後処理の結果を前記第1および第2のアプリケーション実行部へ返し、一方前記第1および第2のデータ処理要求に後処理が含まれていない場合には前記第1および第2の検索結果に対し前記後処理を行わずに要求元の前記第1および第2のアプリケーション実行部へ転送する処理を行い、
    かつ前記第1データ処理部および前記第2のデータ処理部は、それぞれ仮想マシンにより構成される第1の仮想化単位および第2の仮想化単位に含まれる、データ処理装置。
  7. 前記データベース管理装置が、仮想マシンにより構成される第3の仮想化単位に含まれる場合に、
    前記第1のデータ処理部が含まれる前記第1の仮想化単位および前記第2のデータ処理部が含まれる前記第2の仮想化単位は、前記第3の仮想化単位とは異なるものである、
    請求項6に記載のデータ処理装置。
  8. 前記第1のデータ処理部は、1対1でセッションを継続的に維持するプロトコルを用いて前記データベース管理装置との間にセッションを確立し、確立された前記セッションを介して、前記前処理済の第1のデータ処理要求を送信する処理と、前記データベース管理装置から返送される前記第1の検索結果を受信する処理とを行い、
    前記第2のデータ処理部は、1対1でセッションを継続的に維持するプロトコルを用いて前記データベース管理装置との間にセッションを確立し、確立された前記セッションを介して、前記前処理済の第2のデータ処理要求を前記データベース管理装置へ送信する処理と、前記データベース管理装置から返送される前記第2の検索結果を受信する処理とを行う、
    請求項6に記載のデータ処理装置。
  9. 前記第1のデータ処理部は、前記第1のデータ処理要求に対する前処理として、前記クエリ変換に加えて、前記第1のアプリケーション実行部からのリクエストの受け付けおよびパース処理を行い、前記第1の検索結果に対する後処理として、前記統計処理に加え、前記第1の検索結果のキャッシュ処理を行い、
    前記第2のデータ処理部は、前記第2のデータ処理要求に対する前処理として、前記クエリ変換に加えて、前記第2のアプリケーション実行部からのリクエストの受け付けおよびパース処理を行い、前記第2の検索結果に対する後処理として、前記統計処理に加え、前記第2の検索結果のキャッシュ処理を行う、請求項6に記載のデータ処理装置。
  10. 前記第3の仮想化単位に含まれる前記データベース管理装置は、前記データベースに対するデータの読み書きを行うデータ管理部をさらに含み、
    前記データ管理部は、前記第1のデータ処理部との間でセッションを確立し、前記前処理済の第1のデータ処理要求を前記第1のデータ処理部から受信する処理と、前記データベースを検索することにより得られた前記第1の検索結果を前記第1のデータ処理部に送信する処理とを行い、
    前記データ管理部は、前記前処理済の第1のデータ処理要求に対するデシリアライズ処理と、前記第1の検索結果に対する送信前のシリアライズ処理とのうちの少なくとも一方を行い、
    前記データ管理部は、前記第2のデータ処理部との間でセッションを確立し、前記前処理済の第2のデータ処理要求を前記第2のデータ処理部から受信する処理と、前記データベースを検索することにより得られた前記第2の検索結果を前記第2のデータ処理部に送信する処理とを行い、
    前記データ管理部は、前記前処理済の第2のデータ処理要求に対するデシリアライズ処理と、前記第2の検索結果に対する送信前のシリアライズ処理とのうちの少なくとも一方を行う、
    請求項7に記載のデータ処理装置。
  11. メモリに記憶されたプログラムをハードウェアプロセッサに実行させることにより複数のアプリケーションの実行および第1および第2のデータ処理を行い、前記第1および第2のデータ処理は、1つのデータベース管理装置に対し共通にアクセス可能であり、かつ前記第1および第2のデータ処理は異なる仮想化単位により実行される、データ処理装置が実行するデータ処理方法であって、
    前記複数のアプリケーションのうち第1のアプリケーションの実行によりデータ処理要求を発行する過程と、
    前記第1のデータ処理により、発行された前記第1のデータ処理要求に対しクエリ変換を含む前処理を行い、当該前処理済の前記第1のデータ処理要求を前記データベース管理装置へ送る処理と、前記第1のデータ処理要求に応じて前記データベース管理装置において検索されたデータベースの第1の検索結果を前記データベース管理装置から受け取り、受け取った前記第1の検索結果に対し所定の統計処理を含む後処理を行って、当該後処理の結果を前記第1のアプリケーションに返す処理とを行う過程と、
    前記第2のデータ処理により、発行された前記第2のデータ処理要求に対しクエリ変換を含む前処理を行い、当該前処理済の前記第2のデータ処理要求を前記データベース管理装置へ送る処理と、前記第2のデータ処理要求に応じて前記データベース管理装置において検索されたデータベースの第2の検索結果を前記データベース管理装置から受け取り、受け取った前記第2の検索結果に対し所定の統計処理を含む後処理を行って、当該後処理の結果を前記第2のアプリケーションに返す処理とを行う過程と
    を備え
    かつ前記第1および第2のデータ処理はそれぞれ、前記第1および第2のデータ処理要求に後処理が含まれているか否かを判定し、含まれている場合に前記第1および第2の検索結果に対し前記所定の統計処理を含む後処理を行ったのち当該後処理の結果を前記第1および第2のアプリケーション実行部へ返し、一方前記第1および第2のデータ処理要求に後処理が含まれていない場合には前記第1および第2の検索結果に対し前記後処理を行わずに要求元の前記第1および第2のアプリケーション実行部へ転送する処理を行う、
    データ処理方法。
  12. 前記第1のデータ処理は、前記第1のデータ処理要求に対する前処理として、前記クエリ処理変換に加えて、前記第1のアプリケーションからのリクエストの受け付けおよびパース処理を行い、前記第1の検索結果に対する後処理として、前記統計処理に加え、前記第2の検索結果のキャッシュ処理およびセッション管理を行い、
    前記第2のデータ処理は、前記第2のデータ処理要求に対する前処理として、前記クエリ処理変換に加えて、前記第2のアプリケーションからのリクエストの受け付けおよびパース処理を行い、前記第2の検索結果に対する後処理として、前記統計処理に加え、前記第2の検索結果のキャッシュ処理を行う、
    請求項11に記載のデータ処理方法。
JP2018546361A 2016-10-20 2017-10-17 データ処理装置およびデータ処理方法 Active JP6811251B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2016206034 2016-10-20
JP2016206034 2016-10-20
PCT/JP2017/037579 WO2018074479A1 (ja) 2016-10-20 2017-10-17 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
JPWO2018074479A1 JPWO2018074479A1 (ja) 2019-02-07
JP6811251B2 true JP6811251B2 (ja) 2021-01-13

Family

ID=62019586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018546361A Active JP6811251B2 (ja) 2016-10-20 2017-10-17 データ処理装置およびデータ処理方法

Country Status (5)

Country Link
US (1) US11347765B2 (ja)
EP (1) EP3531309A4 (ja)
JP (1) JP6811251B2 (ja)
CN (1) CN110168521B (ja)
WO (1) WO2018074479A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995736B (zh) * 2019-12-13 2021-11-30 中国兵器装备集团自动化研究所有限公司 一种通用的工业物联网设备管理系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04319771A (ja) 1991-04-19 1992-11-10 Matsushita Electric Ind Co Ltd オンライン情報検索・更新システム
JPH0667867A (ja) * 1992-06-15 1994-03-11 Fuji Xerox Co Ltd アプリケーションプログラムのデータべースアクセス方式
JP3277654B2 (ja) * 1993-12-20 2002-04-22 株式会社日立製作所 異種データベース・アクセス・システム
JPH09319757A (ja) 1996-05-29 1997-12-12 N T T Data Tsushin Kk 情報検索システム
JP4145388B2 (ja) * 1998-06-12 2008-09-03 三菱電機株式会社 情報検索システム
US7464147B1 (en) * 1999-11-10 2008-12-09 International Business Machines Corporation Managing a cluster of networked resources and resource groups using rule - base constraints in a scalable clustering environment
US7293286B2 (en) * 2003-02-20 2007-11-06 Bea Systems, Inc. Federated management of content repositories
US8156110B1 (en) * 2004-01-29 2012-04-10 Teradata Us, Inc. Rescheduling of modification operations for loading data into a database system
US7418501B2 (en) * 2004-04-30 2008-08-26 International Business Machines Corporation Dynamic extension of network-accessible services
JP4757038B2 (ja) * 2006-01-25 2011-08-24 株式会社日立製作所 ストレージシステム及び記憶制御装置
CN1859505B (zh) * 2006-03-10 2010-08-25 华为技术有限公司 话单查询系统及查询方法
US7640238B2 (en) * 2007-01-19 2009-12-29 International Business Machines Corporation Query planning for execution using conditional operators
JP2009151411A (ja) * 2007-12-19 2009-07-09 Mitsubishi Electric Corp データ検索装置及びシステム及びプログラム及びデータ検索方法
JP2009259039A (ja) 2008-04-17 2009-11-05 Hitachi Ltd 複数のデータベースの検索方法及びメタ検索サーバ
FR2936675A1 (fr) * 2008-09-26 2010-04-02 Alcatel Lucent Procede permettant la communication interoperable entre communautes reelles et virtuelles
JP5063728B2 (ja) 2010-03-30 2012-10-31 ヤフー株式会社 複数サーバ検索装置及び方法
US20130205028A1 (en) 2012-02-07 2013-08-08 Rackspace Us, Inc. Elastic, Massively Parallel Processing Data Warehouse
JP6262505B2 (ja) 2013-11-29 2018-01-17 Kddi株式会社 分散型データ仮想化システム、クエリ処理方法及びクエリ処理プログラム
US10241839B2 (en) * 2013-12-04 2019-03-26 Nec Corporation Method and system for generating a virtual device resource accessible by an application
CN103886099B (zh) * 2014-04-09 2017-02-15 中国人民大学 一种模糊概念的语义检索系统及方法

Also Published As

Publication number Publication date
CN110168521B (zh) 2023-08-22
WO2018074479A1 (ja) 2018-04-26
US20190236077A1 (en) 2019-08-01
EP3531309A1 (en) 2019-08-28
EP3531309A4 (en) 2020-05-13
US11347765B2 (en) 2022-05-31
JPWO2018074479A1 (ja) 2019-02-07
CN110168521A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
US10440128B2 (en) Systems and methods for selecting efficient messaging between services
US10776170B2 (en) Software service execution apparatus, system, and method
Gu et al. SHadoop: Improving MapReduce performance by optimizing job execution mechanism in Hadoop clusters
US11023293B2 (en) Flexible and scalable artificial intelligence and analytics platform with flexible content storage and retrieval
Yang et al. Implementation of a big data accessing and processing platform for medical records in cloud
US20090313256A1 (en) Reuse of shared metadata across applications via url protocol
JP7038740B2 (ja) キャッシュ最適化及び効率的な処理のためのデータ集約の方法
US9590859B2 (en) Discovering resources of a distributed computing environment
TW201322135A (zh) 用於動態服務整合的系統和方法
JP6972796B2 (ja) ソフトウェアサービス実行装置、システム、及び方法
CN106104468A (zh) 动态地确定数据处理应用程序的模式
JP2018067280A (ja) ソフトウェアサービスの実行のためのシステム、方法、及びプログラム
CN110784509A (zh) 一种医疗信息处理方法、系统及相关组件
US20170371707A1 (en) Data analysis in storage system
US20150332280A1 (en) Compliant auditing architecture
JP6811251B2 (ja) データ処理装置およびデータ処理方法
Amin et al. Performance-based ontology matching: A data-parallel approach for an effectiveness-independent performance-gain in ontology matching
US10382575B2 (en) Program execution system, method of executing program, and computer-readable storage medium
US11614981B2 (en) Handling of metadata for microservices processing
Win et al. An efficient big data analytics platform for mobile devices
US20210055971A1 (en) Method and node for managing a request for hardware acceleration by means of an accelerator device
CN112765128B (zh) 基于repl的数据开发方法、系统和电子设备
US11392433B1 (en) Generation of asynchronous application programming interface specifications for messaging topics
US20240232203A9 (en) Increased efficiency of query types of representational state transfer programming interfaces
Andersson et al. REST API vs GraphQL: A literature and experimental study

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200811

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201214

R150 Certificate of patent or registration of utility model

Ref document number: 6811251

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150