(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-22
(45)【発行日】2022-08-30
(54)【発明の名称】データ処理装置、データ処理方法及びデータ処理プログラム
(51)【国際特許分類】
G06F 16/17 20190101AFI20220823BHJP
G06F 16/14 20190101ALI20220823BHJP
G06F 16/27 20190101ALI20220823BHJP
【FI】
G06F16/17 100
G06F16/14
G06F16/27
(21)【出願番号】P 2018167016
(22)【出願日】2018-09-06
【審査請求日】2020-12-14
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100124039
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100179213
【氏名又は名称】山下 未知子
(74)【代理人】
【識別番号】100170542
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】大和 哲二
(72)【発明者】
【氏名】吉川 泰司
【審査官】木村 大吾
(56)【参考文献】
【文献】国際公開第2014/122732(WO,A1)
【文献】特開2014-096177(JP,A)
【文献】特開平03-132834(JP,A)
【文献】小田 利彦、他3名,センシングデータ流通市場におけるメタデータの定義・生成・活用の一方式,一般社団法人 人工知能学会 第32回全国大会論文集 1C3-OS-8b-01,日本,一般社団法人 人工知能学会,2018年06月08日,p.1-2
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
データ処理装置の外部に設けられたETL(Extract/Transform/Load)ツールに入力された実データの属性を示すメタデータに処理を施すように構成されたデータ処理装置であって、
前記実データ及び前記メタデータの各々には、共通のID(identification)が含まれており、
プログラムを記憶するように構成されたメモリと、
前記プログラムを実行するように構成されたプロセッサとを備え、
前記プログラムは、前記ETLツールにおいて前記実データに施された処理に応じた処理を前記メタデータに施すステップ
であって、前記ETLツールにおいて前記実データに含まれているIDが変更された場合に、前記メタデータに含まれているIDを前記実データに含まれている変更後のIDに変更するステップを前記プロセッサに実行させるように構成されている、データ処理装置。
【請求項2】
前記実データには、ID(identification)に対応付けられた値が含まれており、
前記メタデータには、IDに対応付けられ、かつ、前記実データの属性を示す値が含まれており、
前記プログラムは、前記ETLツールにおいて前記実データに含まれている値が変更された場合に、前記メタデータに含まれている値を、前記実データに含まれている変更後の値と整合の取れる値に変更するステップを前記プロセッサに実行させるように構成されている、請求項
1に記載のデータ処理装置。
【請求項3】
前記実データは、センサによって生成されたセンシングデータである、請求項1
または2に記載のデータ処理装置。
【請求項4】
コンピュータが、外部のETL(Extract/Transform/Load)ツールに入力された実データの属性を示すメタデータに処理を施すデータ処理方法であって、
前記実データ及び前記メタデータの各々には、共通のID(identification)が含まれており、
前記ETLツールにおいて前記実データに施された処理に応じた処理を前記メタデータに施すステップ
であって、前記ETLツールにおいて前記実データに含まれているIDが変更された場合に、前記メタデータに含まれているIDを前記実データに含まれている変更後のIDに変更するステップを含む、データ処理方法。
【請求項5】
ETL(Extract/Transform/Load)ツールに入力された実データの属性を示すメタデータの処理を
、前記ETLツールとは別のコンピュータが備えるプロセッサに実行させるデータ処理プログラムであって、
前記実データ及び前記メタデータの各々には、共通のID(identification)が含まれており、
前記ETLツールにおいて前記実データに施された処理に応じた処理を前記メタデータに施すステップ
であって、前記ETLツールにおいて前記実データに含まれているIDが変更された場合に、前記メタデータに含まれているIDを前記実データに含まれている変更後のIDに変更するステップを前記プロセッサに実行させるように構成されている、データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
【背景技術】
【0002】
特開2016-91429号公報(特許文献1)は、情報処理システムを開示する。この情報処理システムにおいては、蓄積されている未加工のデータ群に基づいて、データ分析に適したデータ群が生成される。具体的には、この情報処理システムにおいては、ETL(Extract/Transform/Load)という加工処理を各データに施すことによって、データ分析に適したデータ群が生成される(特許文献1参照)。
【0003】
また、WO2014/041826(特許文献2)は、データ流通に適用可能なシステムを開示する。このシステムにおいては、たとえば、センシングデータが流通する。センシングデータには、センシングデータの属性を示すメタデータが対応付けられている。このシステムにおいては、メタデータを参照することによって、利用者の要求を満たすセンシングデータが探索される(特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2016-91429号公報
【文献】WO2014/041826
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記特許文献1に開示されているようなETLを実行するシステムは、ETLツールとも呼ばれる。既存のETLツールは、実データ(たとえば、センシングデータ)の処理を対象としており、メタデータの処理を対象としていない場合が多い。したがって、既存のETLツールを使用する場合に、実データとメタデータとが対応付けられているときは、実データのみがETLツールに入力される。この場合に、実データのみに処理が施されると、実データとメタデータとの関係性に異常が生じる場合がある。
【0006】
本発明は、このような問題を解決するためになされたものであって、その目的は、既存のETLツールを使用した場合であっても、実データとメタデータとの関係性を正常に保つことが可能なデータ処理装置、データ処理方法及びデータ処理プログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明のある局面に従うデータ処理装置は、データ処理装置の外部に設けられたETLツールに入力された実データの属性を示すメタデータに処理を施すように構成されている。このデータ処理装置は、メモリと、プロセッサとを備える。メモリは、プログラムを記憶するように構成されている。プロセッサは、プログラムを実行するように構成されている。プログラムは、ETLツールにおいて実データに施された処理に応じた処理をメタデータに施すステップをプロセッサに実行させるように構成されている。
【0008】
このデータ処理装置においては、ETLツールにおいて実データに施された処理に応じた処理がメタデータに施される。したがって、このデータ処理装置によれば、既存のETLツールを使用した場合であっても、実データとメタデータとの関係性を正常に保つことができる。
【0009】
上記データ処理装置において、実データ及びメタデータの各々には、共通のID(identification)が含まれてもよく、プログラムは、ETLツールにおいて実データに含まれているIDが変更された場合に、メタデータに含まれているIDを実データに含まれている変更後のIDに変更するステップをプロセッサに実行させるように構成されてもよい。
【0010】
実データと、該実データの属性を示すメタデータとは、各々が共通のIDを含むことによって対応付けられている。したがって、ETLツールにおいて実データのIDが変更された場合に、メタデータのIDが変更されないと、実データとメタデータとの紐付けができなくなる。本発明に従うデータ処理装置においては、ETLツールにおいて実データに含まれているIDが変更された場合に、メタデータに含まれているIDが実データに含まれている変更後のIDに変更される。したがって、このデータ処理装置によれば、ETLツールにおいて実データのIDが変更されたとしても、実データとメタデータとの紐付けを維持することができる。
【0011】
上記データ処理装置において、実データには、IDに対応付けられた値が含まれてもよく、メタデータには、IDに対応付けられ、かつ、実データの属性を示す値が含まれてもよく、プログラムは、ETLツールにおいて実データに含まれている値が変更された場合に、メタデータに含まれている値を、実データに含まれている変更後の値と整合の取れる値に変更するステップをプロセッサに実行させるように構成されてもよい。
【0012】
ETLツールにおいて実データの値が変更された場合に、メタデータの値が変更されないと、実データとメタデータとの整合が取れなくなる場合がある。たとえば、実データの値が「8」桁である場合に、メタデータのうち実データの桁数を示す値は「8」を示す。この場合に、ETLツールにおいて実データの値が5桁に加工され、メタデータの値に加工が施されないと(メタデータの値は「8」を示したまま)、実データとメタデータとの整合が取れなくなる。本発明に従うデータ処理装置においては、ETLツールにおいて実データに含まれている値が変更された場合に、メタデータに含まれている値が、実データに含まれている変更後の値と整合の取れる値に変更される。したがって、このデータ処理装置によれば、ETLツールにおいて実データの値が変更されたとしても、実データとメタデータとの整合を維持することができる。
【0013】
上記データ処理装置において、実データは、センサによって生成されたセンシングデータであってもよい。
【0014】
本発明の別の局面に従うデータ処理方法は、ETLツールに入力された実データの属性を示すメタデータに処理を施す。このデータ処理方法は、ETLツールにおいて実データに施された処理に応じた処理をメタデータに施すステップを含む。
【0015】
このデータ処理方法においては、ETLツールにおいて実データに施された処理に応じた処理がメタデータに施される。したがって、このデータ処理方法によれば、既存のETLツールを使用した場合であっても、実データとメタデータとの関係性を正常に保つことができる。
【0016】
本発明の別の局面に従うデータ処理プログラムは、ETLツールに入力された実データの属性を示すメタデータの処理をプロセッサに実行させる。このデータ処理プログラムは、ETLツールにおいて実データに施された処理に応じた処理をメタデータに施すステップをプロセッサに実行させるように構成されている。
【0017】
このデータ処理プログラムがプロセッサによって実行されると、ETLツールにおいて実データに施された処理に応じた処理がメタデータに施される。したがって、このデータ処理プログラムによれば、既存のETLツールを使用した場合であっても、実データとメタデータとの関係性を正常に保つことができる。
【発明の効果】
【0018】
本発明によれば、既存のETLツールを使用した場合であっても、実データとメタデータとの関係性を正常に保つことが可能なデータ処理装置、データ処理方法及びデータ処理プログラムを提供することができる。
【図面の簡単な説明】
【0019】
【
図1】データ処理サーバの概要を説明するための図である。
【
図2】データ処理サーバを含む分析用データ生成システムの構成の一例を示す図である。
【
図3】センシングデータDBに記憶されているデータのデータ形式の種類を説明するための図である。
【
図4】データ処理サーバのハードウェア構成の一例を示す図である。
【
図5】データ処理サーバのソフトウェア構成の一例、及び、ETLサーバのソフトウェア構成の一例を示す図である。
【
図6】データ形式変換部の詳細構成を示す図である。
【
図7】データ形式変換部において実行されるデータ変換の内容を説明するための図である。
【
図8】メタデータ変換部の詳細構成を示す図である。
【
図9】値変換部におけるメタデータの変換の一例を示す図である。
【
図10】データ形式変換部におけるデータ形式変換処理の手順の一例を示すフローチャートである。
【
図11】メタデータ変換部におけるメタデータ変換処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0020】
以下、本発明の一側面に係る実施の形態(以下、「本実施の形態」とも称する。)について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
【0021】
[1.概要]
図1は、本実施の形態に従うデータ処理装置(データ処理サーバ)100の概要を説明するための図である。
図1に示されるように、データ処理サーバ100は、ネットワークを介してセンシングデータDB(database)200及びETLツール(ETLサーバ)400に接続されている。センシングデータDB200には、種々のセンシングデータが蓄積されている。データ処理サーバ100は、センシングデータDB200から入力されたセンシングデータに処理を施すことによって、出力データを生成する。
【0022】
たとえば、センシングデータDB200に蓄積されているデータには、センサによって生成されたセンシングデータと、該センシングデータの属性を示すメタデータとが対応付けられているデータがある。一方、ETLサーバ400(たとえば、既存のETLツール)は、センシングデータ(実データ)の処理を対象としており、メタデータの処理を対象としていない。したがって、センシングデータDB200に蓄積されているデータのうち、センシングデータのみがETLサーバ400に送信される。この場合に、ETLサーバ400においてセンシングデータのみに処理が施されると、センシングデータとメタデータとの関係性に異常が生じる(整合が取れなくなる)場合がある。
【0023】
本実施の形態に従うデータ処理サーバ100は、メタデータ変換部106を含んでいる。メタデータ変換部106は、ETLサーバ400においてセンシングデータに施された処理に応じた処理をメタデータに施す。したがって、データ処理サーバ100によれば、既存のETLツールを使用した場合であっても、センシングデータ(実データ)とメタデータとの関係性を正常に保つことができる。以下、システム全体の構成、データ処理サーバ100のハードウェア構成及びソフトウェア構成、並びに、データ処理サーバ100の動作について順に説明する。
【0024】
[2.システム構成]
図2は、本実施の形態に従うデータ処理サーバ100を含む分析用データ生成システム10の構成の一例を示す図である。分析用データ生成システム10は、製造現場等に設置されたセンサが生成したセンシングデータに基づいて、データ分析担当者が利用する分析用データを生成するシステムである。
【0025】
データ分析担当者の多くは、製造現場等の事情について詳しくない。したがって、データ分析担当者の多くは、センシングデータのみを参照したとしても、センシングデータが何を意味するのかを正確には把握できない。本実施の形態において、分析用データは、センシングデータ(実データ)と、データ分析担当者によるセンシングデータの理解を助けるためのメタデータとを含む。メタデータは、センシングデータの属性を示す。なお、メタデータは、製造現場等において生成されてもよいし、分析用データが生成される過程で生成されてもよい。
【0026】
データ分析担当者は、センシングデータに対応付けられているメタデータを参照することによって、センシングデータを適切に扱うことができる。その結果、データ分析担当者は、適切なデータ分析を行なうことができる。
【0027】
図2の例では、分析用データ生成システム10は、データ処理サーバ100と、センシングデータDB200と、分析用データDB300と、ETLサーバ400と、ID管理サーバ500とを含んでいる。
【0028】
センシングデータDB200は、センサによって生成されたセンシングデータを記憶する。センシングデータDB200に記憶されているセンシングデータを生成するセンサとしては、たとえば、画像センサ(カメラ)、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、RFID(Radio Frequency IDentification)センサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等がある。また、センサは、必ずしも固設型である必要はなく、携帯電話、スマートフォン及びタブレット等の移動型であってもよい。また、センサは、必ずしも単一のセンシングデバイスで構成されている必要はなく、複数のセンシングデバイスによって構成されていてもよい。また、センサは、どのような目的で設置されていてもよく、たとえば、工場におけるFA(Factory Automation)及び生産管理、都市交通制御、気象等の環境計測、ヘルスケア並びに防犯等のために設置されていてもよい。
【0029】
このように、センシングデータDB200には、様々なセンサによって生成されたセンシングデータが記憶されている。したがって、センシングデータDB200に記憶されているデータの形式は、必ずしも統一されていない。たとえば、センシングデータDB200には、複数種類のデータ形式のデータが記憶されている。
【0030】
図3は、センシングデータDB200に記憶されているデータのデータ形式の種類を説明するための図である。
図3に示されるように、第1データ形式は、センシングデータ(実データ)を含む(メタデータを含まない)データ形式である。第1データ形式において、センシングデータは、センサによって生成された値V11を含む。
【0031】
第2データ形式は、センシングデータとメタデータとを含み、センシングデータ及びメタデータの各々が異なるデータ単位を構成するデータ形式である。第2データ形式において、センシングデータは、ID(identification)と、センサによって生成された値V21とを含む。IDがどのように決定されるかについては、後程詳しく説明する。メタデータは、IDと、センシングデータの属性を示す値V22とを含む。なお、センシングデータとメタデータとは、共通のID(identification)を含むことによって、互いに対応付けられている。
【0032】
第3データ形式は、センシングデータとメタデータとを含み、センシングデータ及びメタデータが1つのデータ単位を構成するデータ形式である。第3データ形式においては、センサによって生成された値V31が格納されるとともに、ヘッダ部にメタデータが格納される。
【0033】
再び
図2を参照して、ETLサーバ400は、いわゆるETLツールを実現する。すなわち、ETLサーバ400は、センシングデータDB200からデータを抽出し(E)、抽出されたデータを分析に適した状態に変換し(T)、変換後のデータを分析用データDB300へロードする(L)。ETLサーバ400については、後程詳しく説明する。
【0034】
データ処理サーバ100は、ETLサーバ400がセンシングデータDB200に送信を要求したセンシングデータに事前に処理を施す。データ処理サーバ100は、センシングデータDB200から取得したセンシングデータ(実データ)をETLサーバ400へ出力するとともに、該センシングデータに対応付けられているメタデータに処理を施す。データ処理サーバ100は、処理後のメタデータを分析用データDB300へ出力する。データ処理サーバ100については、後程詳しく説明する。
【0035】
分析用データDB300は、ETLサーバ400において処理が施されたセンシングデータと、データ処理サーバ100において処理が施されたメタデータとを記憶する。分析用データDB300に記憶されているセンシングデータ及びメタデータの各々は、データ分析担当者が容易に分析できるように加工されている。
【0036】
ID管理サーバ500は、第2データ形式において、センシングデータ(実データ)及びメタデータの各々が含むIDを管理する。ID管理サーバ500は、たとえば、データ処理サーバ100及びETLサーバ400からの要求を受けて、発行済みのIDと重複しないIDを生成する。ID管理サーバ500は、たとえば、UUID(Universally Unique Identifier)を生成する。また、ID管理サーバ500は、各センシングデータ及び各メタデータに含まれるIDの変遷(履歴)を記憶する。すなわち、たとえば、あるセンシングデータに含まれているIDが変更された場合に、ID管理サーバ500は、変更前のIDと、変更後のIDとを該センシングデータに対応付けて記憶する。したがって、たとえば、センシングデータの提供者は、ID管理サーバ500にアクセスすることによって、自身が提供したセンシングデータがどのような使われ方をしているのかを確認することができる。
【0037】
[3.ハードウェア構成]
図4は、データ処理サーバ100のハードウェア構成の一例を示す図である。なお、本実施の形態において、データ処理サーバ100は、たとえば、汎用コンピュータによって実現される。
【0038】
図4の例では、データ処理サーバ100は、制御部170と、通信I/F(interface)190と、記憶部180とを含み、各構成は、バス195を介して電気的に接続されている。
【0039】
制御部170は、CPU(Central Processing Unit)172、RAM(Random Access Memory)174及びROM(Read Only Memory)176等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
【0040】
通信I/F190は、インターネットを介して、データ処理サーバ100の外部に設けられた外部装置(たとえば、センシングデータDB200、分析用データDB300、ETLサーバ400及びID管理サーバ500(
図2))と通信するように構成されている。通信I/F190は、たとえば、有線LAN(Local Area Network)モジュールや無線LANモジュールで構成される。
【0041】
記憶部180は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部180は、たとえば、制御プログラム181を記憶するように構成されている。
【0042】
制御プログラム181は、制御部170によって実行されるデータ処理サーバ100の制御プログラムである。たとえば、制御部170が制御プログラム181を実行することによって、後述の各ソフトウェアモジュールが実現されてもよい。制御部170が制御プログラム181を実行する場合に、制御プログラム181は、RAM174に展開される。そして、制御部170は、RAM174に展開された制御プログラム181をCPU172によって解釈及び実行することにより、各構成要素を制御する。なお、ETLサーバ400のハードウェア構成は、データ処理サーバ100のハードウェア構成と同様とすることができる。
【0043】
[4.ソフトウェア構成]
<4-1.データ処理サーバ及びETLサーバのソフトウェア構成>
図5は、データ処理サーバ100のソフトウェア構成の一例、及び、ETLサーバ400のソフトウェア構成の一例を示す図である。
図5に示されるように、データ処理サーバ100は、データ形式変換部102と、データ分離部104と、メタデータ変換部106と、メタデータ送信部108とを含んでいる。データ形式変換部102、データ分離部104、メタデータ変換部106及びメタデータ送信部108の各々は、制御部170(
図4)が制御プログラム181を実行することよって実現されるソフトウェアモジュールである。
【0044】
ETLサーバ400は、データ抽出部402と、データ変換部404と、ロード部406とを含んでいる。データ抽出部402、データ変換部404及びロード部406の各々は、ETLサーバ400に含まれる不図示の制御部(プロセッサ)が不図示の制御プログラムを実行することによって実現されるソフトウェアモジュールである。
【0045】
これらのソフトウェアモジュールは、ETLサーバ400に含まれるデータ抽出部402がセンシングデータDB200にデータの送信を要求することによって処理を開始する。すなわち、データ抽出部402がセンシングデータDB200にデータ送信を要求するAPI(Application Programming Interface)コマンドを送信することによって、センシングデータDB200に蓄積されているデータがデータ形式変換部102へ送信される。これにより、処理が開始される。
【0046】
データ形式変換部102は、入力データのデータ形式を上述の第2データ形式に統一するソフトウェアモジュールである。データ形式変換部102は、入力データのデータ形式を判定し、判定結果に応じてデータ形式の変換処理を行なう。データ形式変換部102によって生成されたデータは、データ分離部104へ出力される。データ形式変換部102については、後程詳しく説明する。
【0047】
データ分離部104は、入力データをセンシングデータ(実データ)とメタデータとに分離するソフトウェアモジュールである。ETLサーバ400は実データの処理のみを行なう場合が多いため、データ分離部104は、センシングデータをデータ抽出部402へ出力し、メタデータをメタデータ変換部106へ出力する。
【0048】
データ抽出部402は、入力(抽出)されたセンシングデータをデータ変換部404へ出力する。
【0049】
データ変換部404は、たとえばセンシングデータの種類毎に予め定められた変換ルールに従って、入力データに変換処理を施すソフトウェアモジュールである。たとえば、温度センサによって生成されたセンシングデータの値が電圧値(V)を示すとする。この場合に、変換ルールは、たとえば、電圧値(V)と温度(℃)との変換式を示す。データ変換部404は、たとえば、この変換式に従って、入力された電圧値(V)を温度(℃)に変換する。また、たとえば、センサによって生成されたセンシングデータの桁数が10桁であったとする。この場合に、たとえば、変換ルールとして、センシングデータの桁数を5桁に統一するというルールが規定されているとする。この場合には、データ変換部404は、変換ルールに従って、入力されたセンシングデータの桁数を5桁に変換する。
【0050】
また、データ変換部404は、センシングデータの値が変換(変更)されると、センシングデータに含まれるIDを変更する。IDの変更を行なう場合に、データ変換部404は、ID管理サーバ500へ新たなIDの発行を要求する。データ変換部404は、ID管理サーバ500から新たなIDを受信すると、該IDをセンシングデータに付与する。データ変換部404は、変換後のセンシングデータをロード部406へ出力する。
【0051】
ロード部406は、入力データを分析用データDB300へ出力するソフトウェアモジュールである。分析用データDB300においては、ロード部406から入力されたセンシングデータが記憶される。
【0052】
メタデータ変換部106は、ETLサーバ400においてセンシングデータに施された変換処理に応じて、メタデータに変換処理を施すソフトウェアモジュールである。変換処理が施されたメタデータは、メタデータ送信部108へ出力される。メタデータ変換部106については、後程詳しく説明する。
【0053】
メタデータ送信部108は、入力データを分析用データDB300へ出力するソフトウェアモジュールである。分析用データDB300においては、メタデータ送信部108から入力されたメタデータが記憶される。
【0054】
<4-2.データ形式変換部の詳細構成>
図6は、データ形式変換部102の詳細構成を示す図である。
図6に示されるように、データ形式変換部102は、データ形式判定部110と、第1変換部112と、第2変換部114とを含んでいる。
【0055】
データ形式判定部110は、入力データのデータ形式を判定するソフトウェアモジュールである。データ形式判定部110は、入力データが上述の第1、第2及び第3データ形式のいずれのデータ形式であるかを判定する。具体的には、データ形式判定部110は、i)入力データがメタデータを含んでいるか、及び、ii)センシングデータ(実データ)とメタデータとが同一のデータ単位を構成しているか否かを判定する。
【0056】
データ形式判定部110は、入力データがメタデータを含んでいないと判定すると、入力データの形式が第1データ形式であると判定する。データ形式判定部110は、入力データがメタデータを含んでおり、かつ、センシングデータ及びメタデータの各々が異なるデータ単位を構成していると判定すると、入力データの形式が第2データ形式であると判定する。データ形式判定部110は、入力データがメタデータを含んでおり、かつ、センシングデータ及びメタデータが1つのデータ単位を構成していると判定すると、入力データの形式が第3データ形式であると判定する。
【0057】
データ形式判定部110は、入力データが第1データ形式であると判定すると、データを第1変換部112へ出力する。データ形式判定部110は、入力データが第2データ形式であると判定すると、データをデータ分離部104へ出力する。データ形式判定部110は、入力データが第3データ形式であると判定すると、データを第2変換部114へ出力する。すなわち、入力データが第2データ形式であると判定された場合には、データ形式の変換処理は行なわれない。
【0058】
第1変換部112は、第1データ形式のデータを第2データ形式のデータへ変換するソフトウェアモジュールである。第2変換部114は、第3データ形式のデータを第2データ形式のデータへ変換するソフトウェアモジュールである。
【0059】
図7は、データ形式変換部102において実行されるデータ変換の内容を説明するための図である。
図7を参照して、上述のように、第1変換部112は、第1データ形式のデータを第2データ形式へ変換する。具体的には、第1変換部112は、予め定められたデフォルト値を示すメタデータを生成する。さらに、第1変換部112は、ID管理サーバ500(
図5)へIDの発行を要求し、受信したIDをセンシングデータ及びメタデータの各々に付与する。これにより、各々に共通のIDが付与された、データ単位の異なる、センシングデータ及びメタデータが生成される。
【0060】
また、上述のように、第2変換部114は、第3データ形式のデータを第2データ形式へ変換する。具体的には、第2変換部114は、センシングデータとメタデータとを異なるデータ単位に分離する。さらに、第2変換部114は、ID管理サーバ500(
図5)へIDの発行を要求し、受信したIDをセンシングデータ及びメタデータの各々に付与する。これにより、各々に共通のIDが付与された、データ単位の異なる、センシングデータ及びメタデータが生成される。
【0061】
再び
図6を参照して、第1変換部112によってデータ形式が変換されたデータ、及び、第2変換部114によってデータ形式が変換されたデータの各々は、データ分離部104へ出力される。
【0062】
このように、データ形式変換部102においては、入力データの形式が第1及び第3データ形式であったとしても、第2データ形式の出力データが生成される。すなわち、データ形式変換部102においては、入力データの形式に拘わらず第2データ形式のデータが出力される。したがって、データ形式変換部102によれば、入力データの形式に拘わらず共通のデータ形式(第2データ形式)のデータが後工程に提供されるため、後工程におけるデータ処理を簡易にすることができる。
【0063】
<4-3.メタデータ変換部の詳細構成>
図8は、メタデータ変換部106の詳細構成を示す図である。
図8に示されるように、メタデータ変換部106は、問合せ部120と、ID変換部122と、値変換部124とを含んでいる。
【0064】
問合せ部120は、ETLサーバ400にセンシングデータへの処理内容を問い合わせるソフトウェアモジュールである。たとえば、問合せ部120は、ETLサーバ400に、i)センシングデータのID変更の有無、及び、変更後のID、並びに、ii)センシングデータの値の変換内容を問い合わせる。センシングデータの値の変換内容とは、たとえば、「単位の変換」や「桁数の変換」である。問合せ部120は、問合せに対する応答をETLサーバ400から受信する。
【0065】
問合せ部120は、ETLサーバ400からの応答内容に応じて、ID変換部122及び値変換部124へ指示を出力する。すなわち、問合せ部120は、
ETLサーバ400においてセンシングデータのIDが変更されている場合には、変更後のIDにメタデータのIDを変更するようにID変換部122へ指示を出力する。また、問合せ部120は、ETLサーバ400においてセンシングデータの値が変更されている場合には、変更後の値と整合の取れる値にメタデータの値を変更するように値変換部124へ指示を出力する。
【0066】
ID変換部122は、問合せ部120からの指示に従って、メタデータに処理を施すソフトウェアモジュールである。ID変換部122は、たとえば、ETLサーバ400においてセンシングデータのIDが変更されている場合に、センシングデータに含まれている変更後のIDにメタデータに含まれているIDを変更する。一方、ID変換部122は、たとえば、ETLサーバ400においてセンシングデータのIDが変更されていない場合には、メタデータに含まれているIDを変更しない。すなわち、ID変換部122においては、ETLサーバ400においてセンシングデータに含まれているIDが変更された場合にのみ、メタデータに含まれているIDが変更される。この構成によれば、IDも有限であるところ、IDを必要以上に発行する事態を回避することができる。
【0067】
値変換部124は、問合せ部120からの指示に従って、メタデータに処理を施すソフトウェアモジュールである。値変換部124は、たとえば、ETLサーバ400においてセンシングデータの値が変換(変更)されている場合に、変更後の値と整合の取れる値にメタデータの値を変更する。
【0068】
図9は、値変換部124におけるメタデータの変換の一例を示す図である。この一例においては、ETLサーバ400において、センシングデータの単位が電圧(V)から温度(℃)に変更されるのに伴ないセンシングデータの値が変換されており、かつ、センシングデータの桁数が10桁から5桁に変換されている。
【0069】
図9に示されるように、このような場合には、メタデータに含まれる「単位」の項目が「V」から「℃」に変更され、メタデータに含まれる「桁数」の項目が「10桁」から「5桁」に変更される。
【0070】
再び
図8を参照して、値変換部124によって生成されたメタデータは、メタデータ送信部108へ出力される。
【0071】
このように、メタデータ変換部106においては、ETLサーバ400(ETLツール)においてセンシングデータ(実データ)に施された処理に応じた処理がメタデータに施される。したがって、メタデータ変換部106によれば、既存のETLツールを使用した場合であっても、センシングデータ(実データ)とメタデータとの関係性を正常に保つことができる。
【0072】
また、本実施の形態において、センシングデータと、該センシングデータの属性を示すメタデータとは、各々が共通のIDを含むことによって対応付けられている。したがって、ETLサーバ400においてセンシングデータのIDが変更された場合に、メタデータのIDが変更されないと、センシングデータとメタデータとの紐付けができなくなる。メタデータ変換部106においては、ETLサーバ400においてセンシングデータに含まれているIDが変更された場合に、メタデータに含まれているIDがセンシングデータに含まれている変更後のIDに変更される。したがって、メタデータ変換部106によれば、ETLサーバ400においてセンシングデータのIDが変更されたとしても、センシングデータとメタデータとの紐付けを維持することができる。
【0073】
また、ETLサーバ400においてセンシングデータの値が変更された場合に、メタデータの値が変更されないと、センシングデータとメタデータとの整合が取れなくなる場合がある。メタデータ変換部106においては、ETLサーバ400においてセンシングデータに含まれている値が変更された場合に、メタデータに含まれている値が、センシングデータに含まれている変更後の値と整合の取れる値に変更される。したがって、メタデータ変換部106によれば、ETLサーバ400においてセンシングデータの値が変更されたとしても、センシングデータとメタデータとの整合を維持することができる。
【0074】
[5.動作]
<5-1.データ形式変換処理>
図10は、データ形式変換部102におけるデータ形式変換処理の手順の一例を示すフローチャートである。このフローチャートに示される処理は、センシングデータDB200に蓄積されているデータがデータ形式変換部102に入力された場合に制御部170(データ形式変換部102)によって開始される。
【0075】
図10を参照して、制御部170は、入力データのデータ形式が第2データ形式であるか否かを判定する(ステップS100)。入力データのデータ形式が第2データ形式であると判定されると(ステップS100においてYES)、処理はステップS140へ移行する。
【0076】
一方、入力データの形式が第2データ形式でないと判定されると(ステップS100においてNO)、制御部170は、入力データのデータ形式が第1データ形式であるか否かを判定する(ステップS110)。入力データの形式が第1データ形式であると判定されると(ステップS110においてYES)、制御部170は、入力データの形式を第1データ形式から第2データ形式へ変換する(ステップS120)。
【0077】
一方、入力データの形式が第1データ形式でないと判定されると(ステップS110においてNO)、制御部170は、入力データの形式を第3データ形式から第2データ形式へ変換する(ステップS130)。その後、制御部170は、第2データ形式のデータを出力する(ステップS140)。これにより、データ形式変換部102の出力データの形式が第2データ形式へ統一される。
【0078】
<5-2.メタデータ変換処理>
図11は、メタデータ変換部106におけるメタデータ変換処理の手順の一例を示すフローチャートである。このフローチャートに示される処理は、メタデータ変換部106へメタデータが入力された場合に制御部170(メタデータ変換部106)によって開始される。
【0079】
図11を参照して、制御部170は、入力されたメタデータに含まれているIDと同一のIDを含むセンシングデータ(実データ)への処理内容をETLサーバ400へ問い合わせる(ステップS200)。制御部170は、ETLサーバ400から回答を受信したか否かを判定する(ステップS210)。回答が受信されていないと判定されると(ステップS210においてNO)、制御部170は、ステップS210の処理を繰り返す。
【0080】
一方、回答が受信されたと判定されると(ステップS210においてYES)、制御部170は、受信された回答に基づいて、ETLサーバ400においてセンシングデータのIDが変換されたか否かを判定する(ステップS220)。センシングデータのIDが変換されていないと判定されると(ステップS220においてNO)、処理はステップS240へ移行する。
【0081】
一方、センシングデータのIDが変換されたと判定されると(ステップS220においてYES)、制御部170は、センシングデータに含まれている変換後のIDにメタデータのIDを変換する(ステップS230)。
【0082】
制御部170は、ステップS210において受信された回答に基づいて、ETLサーバ400においてセンシングデータの値が変換されたか否かを判定する(ステップS240)。センシングデータの値が変換されていないと判定されると(ステップS240においてNO)、処理はステップS260へ移行する。
【0083】
一方、センシングデータの値が変換されたと判定されると(ステップS240においてYES)、制御部170は、センシングデータに含まれている値と整合の取れる値にメタデータの値を変換する(ステップS250)。その後、制御部170は、変換後のメタデータを出力する(ステップS260)。これにより、ETLサーバ400において処理が施されたセンシングデータと整合の取れたメタデータが生成される。
【0084】
[6.特徴]
以上のように、本実施の形態に従うデータ処理サーバ100において、制御部170は、ETLサーバ400においてセンシングデータ(実データ)に施された処理に応じた処理をメタデータに施すように構成されている。したがって、データ処理サーバ100によれば、既存のETLツールを使用した場合であっても、センシングデータ(実データ)とメタデータとの関係性を正常に保つことができる。
【0085】
なお、データ処理サーバ100は、本発明の「データ処理装置」の一例であり、記憶部180は、本発明の「メモリ」の一例であり、制御部170は、本発明の「プロセッサ」の一例である。
【0086】
[7.変形例]
以上、実施の形態について説明したが、本発明は、上記実施の形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。以下、変形例について説明する。但し、以下の変形例は適宜組合せ可能である。
【0087】
<7-1>
上記実施の形態においては、センシングデータDB200に記憶されているデータ、及び、データ処理サーバ100において処理されるデータがセンシングデータであるとした。しかしながら、センシングデータDB200に記憶されているデータ、及び、データ処理サーバ100において処理されるデータは、必ずしもセンシングデータである必要はない。たとえば、センシングデータDB200に記憶されているデータ、及び、データ処理サーバ100において処理されるデータは、ショッピングサイトにおける各ユーザの購買履歴データや、ゲームサイトにおける各ユーザのスコアデータ等のセンシングデータ以外のデータであってもよい。
【0088】
<7-2>
上記実施の形態においては、データ処理サーバ100において生成されたメタデータが分析用データDB300へ出力された。しかしながら、データ処理サーバ100において生成されたメタデータの出力先は、分析用データDB300に限定されない。たとえば、データ処理サーバ100において生成されたメタデータは、ETLサーバ400のロード部406へ出力されてもよい。この場合には、ロード部406がセンシングデータ及びメタデータを対応付けて、分析用データDB300へ出力する。
【0089】
<7-3>
上記実施の形態において、メタデータ変換部106は、ID変換部122及び値変換部124の双方を含んだ。しかしながら、メタデータ変換部106は、必ずしもID変換部122及び値変換部124の双方を含む必要はない。たとえば、メタデータ変換部106は、ID変換部122及び値変換部124のいずれか一方のみを含んでもよい。
【符号の説明】
【0090】
10 分析用データ生成システム、100 データ処理サーバ、102 データ形式変換部、104 データ分離部、106 メタデータ変換部、108 メタデータ送信部、110 データ形式判定部、112 第1変換部、114 第2変換部、120 問合せ部、122 ID変換部、124 値変換部、170 制御部、172 CPU、174 RAM、176 ROM、180 記憶部、181 制御プログラム、190 通信I/F、195 バス、200 センシングデータDB、300 分析用データDB、400 ETLサーバ、402 データ抽出部、404 データ変換部、406 ロード部、500 ID管理サーバ。