IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ オムロン株式会社の特許一覧

特許7127438データ処理装置、データ処理方法及びデータ処理プログラム
<>
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図1
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図2
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図3
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図4
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図5
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図6
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図7
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図8
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図9
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図10
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図11
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図12
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図13
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図14
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図15
  • 特許-データ処理装置、データ処理方法及びデータ処理プログラム 図16
< >
(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
【請求項の数】 4
(21)【出願番号】P 2018167015
(22)【出願日】2018-09-06
(65)【公開番号】P2020042343
(43)【公開日】2020-03-19
【審査請求日】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ツールから出力された前記実データに含まれているIDと同一のIDを前記メタデータが含むように前記メタデータに処理を施すステップであって、前記ETLツールにおいて前記実データに含まれているIDが変更された場合に、前記メタデータに含まれているIDを前記実データに含まれている変更後のIDに変更するステップを前記プロセッサに実行させるように構成されている、データ処理装置。
【請求項2】
前記実データは、センサによって生成されたセンシングデータである、請求項1に記載のデータ処理装置。
【請求項3】
コンピュータが、外部のETL(Extract/Transform/Load)ツールに入力された実データの属性を示すメタデータに処理を施すデータ処理方法であって、
前記実データ及び前記メタデータの各々には、共通のID(identification)が含まれており、
前記ETLツールから出力された前記実データに含まれているIDと同一のIDを前記メタデータが含むように前記メタデータに処理を施すステップであって、前記ETLツールにおいて前記実データに含まれているIDが変更された場合に、前記メタデータに含まれているIDを前記実データに含まれている変更後のIDに変更するステップを含む、データ処理方法。
【請求項4】
ETL(Extract/Transform/Load)ツールに入力された実データの属性を示すメタデータの処理を、前記ETLツールとは別のコンピュータが備えるプロセッサに実行させるデータ処理プログラムであって、
前記実データ及び前記メタデータの各々には、共通のID(identification)が含まれており、
前記ETLツールから出力された前記実データに含まれているIDと同一のIDを前記メタデータが含むように前記メタデータに処理を施すステップであって、前記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】
一方、実データと、該実データの属性を示すメタデータとは、各々が共通のIDを含むことによって紐付けられる。また、各実データは異なるIDを含み、実データの値が変更された場合にはIDも変更されることが求められている。したがって、たとえば、ETLツールにおいて実データの値が変更されることによって実データのIDのみが変更されると(メタデータのIDが変更されない)、実データとメタデータとの紐付けができなくなる。
【0007】
本発明は、このような問題を解決するためになされたものであって、その目的は、ETLツールを使用したとしても、実データとメタデータとの紐付けを維持可能なデータ処理装置、データ処理方法及びデータ処理プログラムを提供することである。
【課題を解決するための手段】
【0008】
本発明のある局面に従うデータ処理装置は、データ処理装置の外部に設けられたETLツールに入力された実データの属性を示すメタデータに処理を施すように構成されている。実データ及びメタデータの各々には、ID(identification)が含まれている。データ処理装置は、メモリと、プロセッサとを備える。メモリは、プログラムを記憶するように構成されている。プロセッサは、プログラムを実行するように構成されている。プログラムは、ETLツールから出力された実データに含まれているIDと同一のIDをメタデータが含むようにメタデータに処理を施すステップをプロセッサに実行させるように構成されている。
【0009】
このデータ処理装置においては、ETLツールから出力された実データに含まれているIDと同一のIDをメタデータが含むようにメタデータに処理が施される。したがって、このデータ処理装置によれば、実データがETLツールから出力された後においても実データ及びメタデータの双方が同一のIDを含むため、実データとメタデータとの紐付けを維持することができる。
【0010】
上記データ処理装置において、実データ及びメタデータの各々には、共通のIDが含まれてもよく、プログラムは、ETLツールにおいて実データに含まれているIDが変更された場合に、メタデータに含まれているIDを実データに含まれている変更後のIDに変更するステップをプロセッサに実行させるように構成されてもよい。
【0011】
このデータ処理装置においては、ETLツールにおいて実データに含まれているIDが変更された場合に、メタデータに含まれているIDが実データに含まれている変更後のIDに変更される。したがって、このデータ処理装置によれば、ETLツールにおいて実データに含まれているIDが変更されたとしても、実データ及びメタデータの双方が同一のIDを含むため、実データとメタデータとの紐付けを維持することができる。
【0012】
上記データ処理装置においては、ETLツールにおいて実データに含まれているIDが変更されなくてもよく、プログラムは、ETLツールに入力される前の実データに含まれているIDと、メタデータに含まれているIDとを共通の新たなIDに変更するステップをプロセッサに実行させるように構成されてもよい。
【0013】
このデータ処理装置においては、ETLツールにおいて実データに含まれているIDが変更されない。また、ETLツールに入力される前の実データに含まれているIDと、メタデータに含まれているIDとが共通の新たなIDに変更される。したがって、このデータ処理装置によれば、ETLツールにおいて実データの値が変更されたとしても、実データは元のIDと異なる新たなIDを含んでいるため、問題が生じない。また、このデータ処理装置によれば、実データがETLツールから出力された後においても実データ及びメタデータの双方が同一のIDを含むため、実データとメタデータとの紐付けを維持することができる。
【0014】
上記データ処理装置において、実データは、センサによって生成されたセンシングデータであってもよい。
【0015】
本発明の別の局面に従うデータ処理方法は、ETLツールに入力された実データの属性を示すメタデータに処理を施す。実データ及び前記メタデータの各々には、IDが含まれている。このデータ処理方法は、ETLツールから出力された実データに含まれているIDと同一のIDをメタデータが含むようにメタデータに処理を施すステップを含む。
【0016】
このデータ処理方法においては、ETLツールから出力された実データに含まれているIDと同一のIDをメタデータが含むようにメタデータに処理が施される。したがって、このデータ処理方法によれば、実データがETLツールから出力された後においても実データ及びメタデータの双方が同一のIDを含むため、実データとメタデータとの紐付けを維持することができる。
【0017】
本発明の別の局面に従うデータ処理プログラムは、ETLツールに入力された実データの属性を示すメタデータの処理をプロセッサに実行させる。実データ及びメタデータの各々には、IDが含まれている。このデータ処理プログラムは、ETLツールから出力された実データに含まれているIDと同一のIDをメタデータが含むようにメタデータに処理を施すステップをプロセッサに実行させる。
【0018】
このデータ処理プログラムがプロセッサによって実行されると、ETLツールから出力された実データに含まれているIDと同一のIDをメタデータが含むようにメタデータに処理が施される。したがって、このデータ処理プログラムによれば、実データがETLツールから出力された後においても実データ及びメタデータの双方が同一のIDを含むため、実データとメタデータとの紐付けを維持することができる。
【発明の効果】
【0019】
本発明によれば、ETLツールを使用したとしても、実データとメタデータとの紐付けを維持可能なデータ処理装置、データ処理方法及びデータ処理プログラムを提供することができる。
【図面の簡単な説明】
【0020】
図1】データ処理サーバの概要を説明するための図である。
図2】実施の形態1における、データ処理サーバを含む分析用データ生成システムの構成の一例を示す図である。
図3】センシングデータDBに記憶されているデータのデータ形式の種類を説明するための図である。
図4】データ処理サーバのハードウェア構成の一例を示す図である。
図5】データ処理サーバのソフトウェア構成の一例、及び、ETLサーバのソフトウェア構成の一例を示す図である。
図6】データ形式変換部の詳細構成を示す図である。
図7】データ形式変換部において実行されるデータ変換の内容を説明するための図である。
図8】メタデータ変換部の詳細構成を示す図である。
図9】値変換部におけるメタデータの変換の一例を示す図である。
図10】データ形式変換部におけるデータ形式変換処理の手順の一例を示すフローチャートである。
図11】メタデータ変換部におけるメタデータ変換処理の手順の一例を示すフローチャートである。
図12】実施の形態2における、データ処理サーバのハードウェア構成の一例を示す図である。
図13】実施の形態2における、データ処理サーバのソフトウェア構成の一例、及び、ETLサーバのソフトウェア構成の一例を示す図である。
図14】実施の形態2における、メタデータ変換部の詳細構成を示す図である。
図15】ID変換処理の手順の一例を示すフローチャートである。
図16】値変換処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明の一側面に係る実施の形態(以下、「本実施の形態」とも称する。)について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、以下で説明する本実施の形態は、あらゆる点において本発明の例示にすぎない。本実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
【0022】
[1.実施の形態1]
<1-1.概要>
図1は、本実施の形態1に従うデータ処理装置(データ処理サーバ)100の概要を説明するための図である。図1に示されるように、データ処理サーバ100は、ネットワークを介してセンシングデータDB(database)200及びETLツール(ETLサーバ)400に接続されている。センシングデータDB200には、種々のセンシングデータ(実データの一例)が蓄積されている。データ処理サーバ100は、センシングデータDB200から入力されたセンシングデータに処理を施すことによって、出力データを生成する。
【0023】
たとえば、センシングデータDB200に蓄積されているデータには、センサによって生成されたセンシングデータと、該センシングデータの属性を示すメタデータとが対応付けられているデータがある。センシングデータ及びメタデータの対応付けは、たとえば、センシングデータ及びメタデータの各々に共通のIDを付与することによって行なわれる。
【0024】
一方、ETLサーバ400(たとえば、既存のETLツール)は、センシングデータ(実データ)の処理を対象としており、メタデータの処理を対象としていない。したがって、センシングデータDB200に蓄積されているデータのうち、センシングデータのみがETLサーバ400に送信される。この場合に、たとえば、ETLサーバ400においてセンシングデータのIDのみが変更されると、センシングデータとメタデータとの紐付けが維持できなくなる。また、ETLサーバ400においてセンシングデータの値が変更されるにも拘わらず、IDが変更されないことも問題である。
【0025】
詳細については後述するが、本実施の形態に従うデータ処理サーバ100においては、ETLサーバ400から出力されたセンシングデータに含まれているIDと同一のIDをメタデータが含むようにメタデータに処理が施される。したがって、データ処理サーバ100によれば、センシングデータがETLツールから出力された後においてもセンシングデータ及びメタデータの双方が同一のIDを含むため、センシングデータとメタデータとの紐付けを維持することができる。
【0026】
<1-2.システム構成>
図2は、本実施の形態1に従うデータ処理サーバ100を含む分析用データ生成システム10の構成の一例を示す図である。分析用データ生成システム10は、製造現場等に設置されたセンサが生成したセンシングデータに基づいて、データ分析担当者が利用する分析用データを生成するシステムである。
【0027】
データ分析担当者の多くは、製造現場等の事情について詳しくない。したがって、データ分析担当者の多くは、センシングデータのみを参照したとしても、センシングデータが何を意味するのかを正確には把握できない。本実施の形態1において、分析用データは、センシングデータ(実データ)と、データ分析担当者によるセンシングデータの理解を助けるためのメタデータとを含む。メタデータは、センシングデータの属性を示す。なお、メタデータは、製造現場等において生成されてもよいし、分析用データが生成される過程で生成されてもよい。
【0028】
データ分析担当者は、センシングデータに対応付けられているメタデータを参照することによって、センシングデータを適切に扱うことができる。その結果、データ分析担当者は、適切なデータ分析を行なうことができる。
【0029】
図2の例では、分析用データ生成システム10は、データ処理サーバ100と、センシングデータDB200と、分析用データDB300と、ETLサーバ400と、ID管理サーバ500とを含んでいる。
【0030】
センシングデータDB200は、センサによって生成されたセンシングデータを記憶する。センシングデータDB200に記憶されているセンシングデータを生成するセンサとしては、たとえば、画像センサ(カメラ)、温度センサ、湿度センサ、照度センサ、力センサ、音センサ、RFID(Radio Frequency IDentification)センサ、赤外線センサ、姿勢センサ、降雨センサ、放射能センサ及びガスセンサ等がある。また、センサは、必ずしも固設型である必要はなく、携帯電話、スマートフォン及びタブレット等の移動型であってもよい。また、センサは、必ずしも単一のセンシングデバイスで構成されている必要はなく、複数のセンシングデバイスによって構成されていてもよい。また、センサは、どのような目的で設置されていてもよく、たとえば、工場におけるFA(Factory Automation)及び生産管理、都市交通制御、気象等の環境計測、ヘルスケア並びに防犯等のために設置されていてもよい。
【0031】
このように、センシングデータDB200には、様々なセンサによって生成されたセンシングデータが記憶されている。したがって、センシングデータDB200に記憶されているデータの形式は、必ずしも統一されていない。たとえば、センシングデータDB200には、複数種類のデータ形式のデータが記憶されている。
【0032】
図3は、センシングデータDB200に記憶されているデータのデータ形式の種類を説明するための図である。図3に示されるように、第1データ形式は、センシングデータ(実データ)を含む(メタデータを含まない)データ形式である。第1データ形式において、センシングデータは、センサによって生成された値V11を含む。
【0033】
第2データ形式は、センシングデータとメタデータとを含み、センシングデータ及びメタデータの各々が異なるデータ単位を構成するデータ形式である。第2データ形式において、センシングデータは、ID(identification)と、センサによって生成された値V21とを含む。IDがどのように決定されるかについては、後程詳しく説明する。メタデータは、IDと、センシングデータの属性を示す値V22とを含む。なお、センシングデータとメタデータとは、共通のID(identification)を含むことによって、互いに対応付けられている。
【0034】
第3データ形式は、センシングデータとメタデータとを含み、センシングデータ及びメタデータが1つのデータ単位を構成するデータ形式である。第3データ形式においては、センサによって生成された値V31が格納されるとともに、ヘッダ部にメタデータが格納される。
【0035】
再び図2を参照して、ETLサーバ400は、いわゆるETLツールを実現する。すなわち、ETLサーバ400は、センシングデータDB200からデータを抽出し(E)、抽出されたデータを分析に適した状態に変換し(T)、変換後のデータを分析用データDB300へロードする(L)。ETLサーバ400については、後程詳しく説明する。
【0036】
データ処理サーバ100は、ETLサーバ400がセンシングデータDB200に送信を要求したセンシングデータに事前に処理を施す。データ処理サーバ100は、センシングデータDB200から取得したセンシングデータ(実データ)をETLサーバ400へ出力するとともに、該センシングデータに対応付けられているメタデータに処理を施す。データ処理サーバ100は、処理後のメタデータを分析用データDB300へ出力する。データ処理サーバ100については、後程詳しく説明する。
【0037】
分析用データDB300は、ETLサーバ400において処理が施されたセンシングデータと、データ処理サーバ100において処理が施されたメタデータとを記憶する。分析用データDB300に記憶されているセンシングデータ及びメタデータの各々は、データ分析担当者が容易に分析できるように加工されている。
【0038】
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にアクセスすることによって、自身が提供したセンシングデータがどのような使われ方をしているのかを確認することができる。
【0039】
<1-3.ハードウェア構成>
図4は、データ処理サーバ100のハードウェア構成の一例を示す図である。なお、本実施の形態1において、データ処理サーバ100は、たとえば、汎用コンピュータによって実現される。
【0040】
図4の例では、データ処理サーバ100は、制御部170と、通信I/F(interface)190と、記憶部180とを含み、各構成は、バス195を介して電気的に接続されている。
【0041】
制御部170は、CPU(Central Processing Unit)172、RAM(Random Access Memory)174及びROM(Read Only Memory)176等を含み、情報処理に応じて各構成要素の制御を行なうように構成されている。
【0042】
通信I/F190は、インターネットを介して、データ処理サーバ100の外部に設けられた外部装置(たとえば、センシングデータDB200、分析用データDB300、ETLサーバ400及びID管理サーバ500(図2))と通信するように構成されている。通信I/F190は、たとえば、有線LAN(Local Area Network)モジュールや無線LANモジュールで構成される。
【0043】
記憶部180は、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部180は、たとえば、制御プログラム181を記憶するように構成されている。
【0044】
制御プログラム181は、制御部170によって実行されるデータ処理サーバ100の制御プログラムである。たとえば、制御部170が制御プログラム181を実行することによって、後述の各ソフトウェアモジュールが実現されてもよい。制御部170が制御プログラム181を実行する場合に、制御プログラム181は、RAM174に展開される。そして、制御部170は、RAM174に展開された制御プログラム181をCPU172によって解釈及び実行することにより、各構成要素を制御する。なお、ETLサーバ400のハードウェア構成は、データ処理サーバ100のハードウェア構成と同様とすることができる。
【0045】
<1-4.ソフトウェア構成>
(1-4-1.データ処理サーバ及びETLサーバのソフトウェア構成)
図5は、データ処理サーバ100のソフトウェア構成の一例、及び、ETLサーバ400のソフトウェア構成の一例を示す図である。図5に示されるように、データ処理サーバ100は、データ形式変換部102と、データ分離部104と、メタデータ変換部106と、メタデータ送信部108とを含んでいる。データ形式変換部102、データ分離部104、メタデータ変換部106及びメタデータ送信部108の各々は、制御部170(図4)が制御プログラム181を実行することよって実現されるソフトウェアモジュールである。
【0046】
ETLサーバ400は、データ抽出部402と、データ変換部404と、ロード部406とを含んでいる。データ抽出部402、データ変換部404及びロード部406の各々は、ETLサーバ400に含まれる不図示の制御部(プロセッサ)が不図示の制御プログラムを実行することによって実現されるソフトウェアモジュールである。
【0047】
これらのソフトウェアモジュールは、ETLサーバ400に含まれるデータ抽出部402がセンシングデータDB200にデータの送信を要求することによって処理を開始する。すなわち、データ抽出部402がセンシングデータDB200にデータ送信を要求するAPI(Application Programming Interface)コマンドを送信することによって、センシングデータDB200に蓄積されているデータがデータ形式変換部102へ送信される。これにより、処理が開始される。
【0048】
データ形式変換部102は、入力データのデータ形式を上述の第2データ形式に統一するソフトウェアモジュールである。データ形式変換部102は、入力データのデータ形式を判定し、判定結果に応じてデータ形式の変換処理を行なう。データ形式変換部102によって生成されたデータは、データ分離部104へ出力される。データ形式変換部102については、後程詳しく説明する。
【0049】
データ分離部104は、入力データをセンシングデータ(実データ)とメタデータとに分離するソフトウェアモジュールである。ETLサーバ400は実データの処理のみを行なう場合が多いため、データ分離部104は、センシングデータをデータ抽出部402へ出力し、メタデータをメタデータ変換部106へ出力する。
【0050】
データ抽出部402は、入力(抽出)されたセンシングデータをデータ変換部404へ出力する。
【0051】
データ変換部404は、たとえばセンシングデータの種類毎に予め定められた変換ルールに従って、入力データに変換処理を施すソフトウェアモジュールである。たとえば、温度センサによって生成されたセンシングデータの値が電圧値(V)を示すとする。この場合に、変換ルールは、たとえば、電圧値(V)と温度(℃)との変換式を示す。データ変換部404は、たとえば、この変換式に従って、入力された電圧値(V)を温度(℃)に変換する。また、たとえば、センサによって生成されたセンシングデータの桁数が10桁であったとする。この場合に、たとえば、変換ルールとして、センシングデータの桁数を5桁に統一するというルールが規定されているとする。この場合には、データ変換部404は、変換ルールに従って、入力されたセンシングデータの桁数を5桁に変換する。
【0052】
また、データ変換部404は、センシングデータの値が変換(変更)されると、センシングデータに含まれるIDを変更する。IDの変更を行なう場合に、データ変換部404は、ID管理サーバ500へ新たなIDの発行を要求する。データ変換部404は、ID管理サーバ500から新たなIDを受信すると、該IDをセンシングデータに付与する。データ変換部404は、変換後のセンシングデータをロード部406へ出力する。
【0053】
ロード部406は、入力データを分析用データDB300へ出力するソフトウェアモジュールである。分析用データDB300においては、ロード部406から入力されたセンシングデータが記憶される。
【0054】
メタデータ変換部106は、ETLサーバ400においてセンシングデータに施された変換処理に応じて、メタデータに変換処理を施すソフトウェアモジュールである。変換処理が施されたメタデータは、メタデータ送信部108へ出力される。メタデータ変換部106については、後程詳しく説明する。
【0055】
メタデータ送信部108は、入力データを分析用データDB300へ出力するソフトウェアモジュールである。分析用データDB300においては、メタデータ送信部108から入力されたメタデータが記憶される。
【0056】
(1-4-2.データ形式変換部の詳細構成)
図6は、データ形式変換部102の詳細構成を示す図である。図6に示されるように、データ形式変換部102は、データ形式判定部110と、第1変換部112と、第2変換部114とを含んでいる。
【0057】
データ形式判定部110は、入力データのデータ形式を判定するソフトウェアモジュールである。データ形式判定部110は、入力データが上述の第1、第2及び第3データ形式のいずれのデータ形式であるかを判定する。具体的には、データ形式判定部110は、i)入力データがメタデータを含んでいるか、及び、ii)センシングデータ(実データ)とメタデータとが同一のデータ単位を構成しているか否かを判定する。
【0058】
データ形式判定部110は、入力データがメタデータを含んでいないと判定すると、入力データの形式が第1データ形式であると判定する。データ形式判定部110は、入力データがメタデータを含んでおり、かつ、センシングデータ及びメタデータの各々が異なるデータ単位を構成していると判定すると、入力データの形式が第2データ形式であると判定する。データ形式判定部110は、入力データがメタデータを含んでおり、かつ、センシングデータ及びメタデータが1つのデータ単位を構成していると判定すると、入力データの形式が第3データ形式であると判定する。
【0059】
データ形式判定部110は、入力データが第1データ形式であると判定すると、データを第1変換部112へ出力する。データ形式判定部110は、入力データが第2データ形式であると判定すると、データをデータ分離部104へ出力する。データ形式判定部110は、入力データが第3データ形式であると判定すると、データを第2変換部114へ出力する。すなわち、入力データが第2データ形式であると判定された場合には、データ形式の変換処理は行なわれない。
【0060】
第1変換部112は、第1データ形式のデータを第2データ形式のデータへ変換するソフトウェアモジュールである。第2変換部114は、第3データ形式のデータを第2データ形式のデータへ変換するソフトウェアモジュールである。
【0061】
図7は、データ形式変換部102において実行されるデータ変換の内容を説明するための図である。図7を参照して、上述のように、第1変換部112は、第1データ形式のデータを第2データ形式へ変換する。具体的には、第1変換部112は、予め定められたデフォルト値を示すメタデータを生成する。さらに、第1変換部112は、ID管理サーバ500(図5)へIDの発行を要求し、受信したIDをセンシングデータ及びメタデータの各々に付与する。これにより、各々に共通のIDが付与された、データ単位の異なる、センシングデータ及びメタデータが生成される。
【0062】
また、上述のように、第2変換部114は、第3データ形式のデータを第2データ形式へ変換する。具体的には、第2変換部114は、センシングデータとメタデータとを異なるデータ単位に分離する。さらに、第2変換部114は、ID管理サーバ500(図5)へIDの発行を要求し、受信したIDをセンシングデータ及びメタデータの各々に付与する。これにより、各々に共通のIDが付与された、データ単位の異なる、センシングデータ及びメタデータが生成される。
【0063】
再び図6を参照して、第1変換部112によってデータ形式が変換されたデータ、及び、第2変換部114によってデータ形式が変換されたデータの各々は、データ分離部104へ出力される。
【0064】
このように、データ形式変換部102においては、入力データの形式が第1及び第3データ形式であったとしても、第2データ形式の出力データが生成される。すなわち、データ形式変換部102においては、入力データの形式に拘わらず第2データ形式のデータが出力される。したがって、データ形式変換部102によれば、入力データの形式に拘わらず共通のデータ形式(第2データ形式)のデータが後工程に提供されるため、後工程におけるデータ処理を簡易にすることができる。
【0065】
(1-4-3.メタデータ変換部の詳細構成)
図8は、メタデータ変換部106の詳細構成を示す図である。図8に示されるように、メタデータ変換部106は、問合せ部120と、ID変換部122と、値変換部124とを含んでいる。
【0066】
問合せ部120は、ETLサーバ400にセンシングデータへの処理内容を問い合わせるソフトウェアモジュールである。たとえば、問合せ部120は、ETLサーバ400に、i)センシングデータのID変更の有無、及び、変更後のID、並びに、ii)センシングデータの値の変換内容を問い合わせる。センシングデータの値の変換内容とは、たとえば、「単位の変換」や「桁数の変換」である。問合せ部120は、問合せに対する応答をETLサーバ400から受信する。
【0067】
問合せ部120は、ETLサーバ400からの応答内容に応じて、ID変換部122及び値変換部124へ指示を出力する。すなわち、問合せ部120は、
ETLサーバ400においてセンシングデータのIDが変更されている場合には、変更後のIDにメタデータのIDを変更するようにID変換部122へ指示を出力する。また、問合せ部120は、ETLサーバ400においてセンシングデータの値が変更されている場合には、変更後の値と整合の取れる値にメタデータの値を変更するように値変換部124へ指示を出力する。
【0068】
ID変換部122は、問合せ部120からの指示に従って、メタデータに処理を施すソフトウェアモジュールである。ID変換部122は、たとえば、ETLサーバ400においてセンシングデータのIDが変更されている場合に、センシングデータに含まれている変更後のIDにメタデータに含まれているIDを変更する。一方、ID変換部122は、たとえば、ETLサーバ400においてセンシングデータのIDが変更されていない場合には、メタデータに含まれているIDを変更しない。すなわち、ID変換部122においては、ETLサーバ400においてセンシングデータに含まれているIDが変更された場合にのみ、メタデータに含まれているIDが変更される。この構成によれば、IDも有限であるところ、IDを必要以上に発行する事態を回避することができる。
【0069】
値変換部124は、問合せ部120からの指示に従って、メタデータに処理を施すソフトウェアモジュールである。値変換部124は、たとえば、ETLサーバ400においてセンシングデータの値が変換(変更)されている場合に、変更後の値と整合の取れる値にメタデータの値を変更する。
【0070】
図9は、値変換部124におけるメタデータの変換の一例を示す図である。この一例においては、ETLサーバ400において、センシングデータの単位が電圧(V)から温度(℃)に変更されるのに伴ないセンシングデータの値が変換されており、かつ、センシングデータの桁数が10桁から5桁に変換されている。
【0071】
図9に示されるように、このような場合には、メタデータに含まれる「単位」の項目が「V」から「℃」に変更され、メタデータに含まれる「桁数」の項目が「10桁」から「5桁」に変更される。
【0072】
再び図8を参照して、値変換部124によって生成されたメタデータは、メタデータ送信部108へ出力される。
【0073】
このように、メタデータ変換部106においては、ETLサーバ400(ETLツール)においてセンシングデータ(実データ)に施された処理に応じた処理がメタデータに施される。したがって、メタデータ変換部106によれば、既存のETLツールを使用した場合であっても、センシングデータ(実データ)とメタデータとの関係性を正常に保つことができる。
【0074】
また、本実施の形態1において、センシングデータと、該センシングデータの属性を示すメタデータとは、各々が共通のIDを含むことによって対応付けられている。したがって、ETLサーバ400においてセンシングデータのIDが変更された場合に、メタデータのIDが変更されないと、センシングデータとメタデータとの紐付けができなくなる。メタデータ変換部106においては、ETLサーバ400においてセンシングデータに含まれているIDが変更された場合に、メタデータに含まれているIDがセンシングデータに含まれている変更後のIDに変更される。すなわち、メタデータ変換部106においては、ETLサーバ400から出力されたセンシングデータに含まれているIDと同一のIDをメタデータが含むようにメタデータに処理が施される。したがって、メタデータ変換部106によれば、ETLサーバ400においてセンシングデータのIDが変更されたとしても、センシングデータとメタデータとの紐付けを維持することができる。すなわち、メタデータ変換部106によれば、センシングデータがETLサーバ400から出力された後においてもセンシングデータ及びメタデータの双方が同一のIDを含むため、センシングデータとメタデータとの紐付けを維持することができる。
【0075】
また、ETLサーバ400においてセンシングデータの値が変更された場合に、メタデータの値が変更されないと、センシングデータとメタデータとの整合が取れなくなる場合がある。メタデータ変換部106においては、ETLサーバ400においてセンシングデータに含まれている値が変更された場合に、メタデータに含まれている値が、センシングデータに含まれている変更後の値と整合の取れる値に変更される。したがって、メタデータ変換部106によれば、ETLサーバ400においてセンシングデータの値が変更されたとしても、センシングデータとメタデータとの整合を維持することができる。
【0076】
<1-5.動作>
(1-5-1.データ形式変換処理)
図10は、データ形式変換部102におけるデータ形式変換処理の手順の一例を示すフローチャートである。このフローチャートに示される処理は、センシングデータDB200に蓄積されているデータがデータ形式変換部102に入力された場合に制御部170(データ形式変換部102)によって開始される。
【0077】
図10を参照して、制御部170は、入力データのデータ形式が第2データ形式であるか否かを判定する(ステップS100)。入力データのデータ形式が第2データ形式であると判定されると(ステップS100においてYES)、処理はステップS140へ移行する。
【0078】
一方、入力データの形式が第2データ形式でないと判定されると(ステップS100においてNO)、制御部170は、入力データのデータ形式が第1データ形式であるか否かを判定する(ステップS110)。入力データの形式が第1データ形式であると判定されると(ステップS110においてYES)、制御部170は、入力データの形式を第1データ形式から第2データ形式へ変換する(ステップS120)。
【0079】
一方、入力データの形式が第1データ形式でないと判定されると(ステップS110においてNO)、制御部170は、入力データの形式を第3データ形式から第2データ形式へ変換する(ステップS130)。その後、制御部170は、第2データ形式のデータを出力する(ステップS140)。これにより、データ形式変換部102の出力データの形式が第2データ形式へ統一される。
【0080】
(1-5-2.メタデータ変換処理)
図11は、メタデータ変換部106におけるメタデータ変換処理の手順の一例を示すフローチャートである。このフローチャートに示される処理は、メタデータ変換部106へメタデータが入力された場合に制御部170(メタデータ変換部106)によって開始される。
【0081】
図11を参照して、制御部170は、入力されたメタデータに含まれているIDと同一のIDを含むセンシングデータ(実データ)への処理内容をETLサーバ400へ問い合わせる(ステップS200)。制御部170は、ETLサーバ400から回答を受信したか否かを判定する(ステップS210)。回答が受信されていないと判定されると(ステップS210においてNO)、制御部170は、ステップS210の処理を繰り返す。
【0082】
一方、回答が受信されたと判定されると(ステップS210においてYES)、制御部170は、受信された回答に基づいて、ETLサーバ400においてセンシングデータのIDが変換されたか否かを判定する(ステップS220)。センシングデータのIDが変換されていないと判定されると(ステップS220においてNO)、処理はステップS240へ移行する。
【0083】
一方、センシングデータのIDが変換されたと判定されると(ステップS220においてYES)、制御部170は、センシングデータに含まれている変換後のIDにメタデータのIDを変換する(ステップS230)。
【0084】
制御部170は、ステップS210において受信された回答に基づいて、ETLサーバ400においてセンシングデータの値が変換されたか否かを判定する(ステップS240)。センシングデータの値が変換されていないと判定されると(ステップS240においてNO)、処理はステップS260へ移行する。
【0085】
一方、センシングデータの値が変換されたと判定されると(ステップS240においてYES)、制御部170は、センシングデータに含まれている値と整合の取れる値にメタデータの値を変換する(ステップS250)。その後、制御部170は、変換後のメタデータを出力する(ステップS260)。これにより、ETLサーバ400において処理が施されたセンシングデータと整合の取れたメタデータが生成される。
【0086】
<1-6.特徴>
以上のように、本実施の形態1に従うデータ処理サーバ100において、制御部170は、ETLサーバ400から出力されたセンシングデータ(実データ)に含まれているIDと同一のIDをメタデータが含むようにメタデータに処理を施すように構成されている。したがって、データ処理サーバ100によれば、センシングデータがETLサーバ400から出力された後においてもセンシングデータ及びメタデータの双方が同一のIDを含むため、センシングデータとメタデータとの紐付けを維持することができる。
【0087】
[2.実施の形態2]
上記実施の形態1においては、ETLサーバ400(データ変換部404)においてセンシングデータのIDが変更された場合にのみ、メタデータ変換部106(ID変換部122)においてメタデータのIDが変更された。しかしながら、センシングデータ及びメタデータのIDの変更タイミングは必ずしもこれに限定されない。本実施の形態2においては、ETLサーバ400Aにおいて、センシングデータの値が変更されたとしても、センシングデータのIDが変更されない。本実施の形態2においては、ETLサーバ400Aにおいて高い確率でセンシングデータの値が変更されるため、ETLサーバ400Aにセンシングデータが入力される前に、センシングデータ及びメタデータの各々のIDが一律に新しいIDに変更される。以下、上記実施の形態1と異なる部分を中心に説明する。
【0088】
<2-1.ハードウェア構成>
図12は、本実施の形態2に従うデータ処理サーバ100Aのハードウェア構成の一例を示す図である。本実施の形態2において、データ処理サーバ100Aは、たとえば、汎用コンピュータによって実現される。
【0089】
図12の例では、データ処理サーバ100Aは、記憶部180Aを含む。記憶部180Aは、たとえば、ハードディスクドライブ、ソリッドステートドライブ等の補助記憶装置である。記憶部180Aは、たとえば、制御プログラム181Aを記憶するように構成されている。
【0090】
制御プログラム181Aは、制御部170によって実行されるデータ処理サーバ100Aの制御プログラムである。たとえば、制御部170が制御プログラム181Aを実行することによって、後述の各ソフトウェアモジュールが実現されてもよい。制御部170が制御プログラム181Aを実行する場合に、制御プログラム181Aは、RAM174に展開される。そして、制御部170は、RAM174に展開された制御プログラム181AをCPU172によって解釈及び実行することにより、各構成要素を制御する。なお、ETLサーバ400A(後述)のハードウェア構成は、データ処理サーバ100Aのハードウェア構成と同様とすることができる。
【0091】
<2-2.ソフトウェア構成>
(2-2-1.データ処理サーバのソフトウェア構成)
図13は、データ処理サーバ100Aのソフトウェア構成の一例、及び、ETLサーバ400Aのソフトウェア構成の一例を示す図である。図13に示されるように、データ処理サーバ100Aは、上記実施の形態1に従うデータ処理サーバ100と異なり、ID変換部103と、メタデータ変換部106Aとを含んでいる。ID変換部103、メタデータ変換部106A、データ形式変換部102、データ分離部104及びメタデータ送信部108の各々は、制御部170(図12)が制御プログラム181Aを実行することによって実現されるソフトウェアモジュールである。
【0092】
ETLサーバ400Aは、上記実施の形態1におけるETLサーバ400と異なり、データ変換部404Aを含んでいる。データ変換部404A、データ抽出部402及びロード部406の各々は、ETLサーバ400Aに含まれる不図示の制御部(プロセッサ)が不図示の制御プログラムを実行することによって実現されるソフトウェアモジュールである。
【0093】
データ変換部404Aは、上記実施の形態1におけるデータ変換部404と異なり、センシングデータの値を変換したとしても、センシングデータに含まれるIDを変換しない。また、メタデータ変換部106Aにおいてもメタデータに含まれるIDが変換されない。一方、多くの場合、ETLサーバ400に入力されるセンシングデータの値は、データ変換部404において変換される。センシングデータの値が変換されているにも拘わらず、センシングデータDB200に記憶されている時点のセンシングデータのIDが維持されていることは好ましくない。
【0094】
本実施の形態2に従うデータ処理サーバ100Aにおいては、ID変換部103が、センシングデータ及びメタデータの各々のIDを事前に新しいIDに変換する。したがって、データ変換部404AにおいてIDが変換されなかったとしても、センシングデータDB200に記憶されている時点のセンシングデータのIDが維持されることはない。また、データ変換部404A及びメタデータ変換部106AにおいてID変換が行なわれないため、センシングデータ及びメタデータの紐付けが維持される。
【0095】
(2-2-2.メタデータ変換部の詳細構成)
図14は、メタデータ変換部106Aの詳細構成を示す図である。図14に示されるように、メタデータ変換部106Aは、上記実施の形態1におけるID変換部122を含んでいない。したがって、メタデータ変換部106Aにおいては、メタデータのID変換が行なわれない。
【0096】
<2-3.動作>
(2-3-1.ID変換処理)
図15は、ID変換部103におけるID変換処理の手順の一例を示すフローチャートである。このフローチャートに示される処理は、ID変換部103へ第2データ形式のデータ(センシングデータ及びメタデータ)が入力された場合に制御部170(ID変換部103)によって開始される。
【0097】
図15を参照して、制御部170は、ID管理サーバ500に新たなIDの生成を依頼する(ステップS300)。制御部170は、ID管理サーバ500から新たなIDを受信したか否かを判定する(ステップS310)。新たなIDが受信されていないと判定されると(ステップS310においてNO)、制御部170は、ステップS310の処理を繰り返す。
【0098】
一方、新たなIDが受信されたと判定されると(ステップS310においてYES)、制御部170は、センシングデータ及びメタデータの各々のIDを、受信された新たなIDに変換する(ステップS320)。これにより、センシングデータ及びメタデータの各々に共通の新たなIDが付与される。その後、制御部170は、IDが変換された第2データ形式のデータをデータ分離部104(図13)へ出力する(ステップS330)。
【0099】
(2-3-2.値変換処理)
図16は、値変換部124における値変換処理の手順の一例を示すフローチャートである。このフローチャートに示される処理は、値変換部124へメタデータが入力された場合に制御部170(値変換部124)によって開始される。
【0100】
図16を参照して、制御部170は、入力されたメタデータに含まれているIDと同一のIDを含むセンシングデータ(実データ)への処理内容をETLサーバ400Aへ問い合わせる(ステップS400)。制御部170は、ETLサーバ400Aから回答を受信したか否かを判定する(ステップS410)。回答が受信されていないと判定されると(ステップS410においてNO)、制御部170は、ステップS410の処理を繰り返す。
【0101】
一方、回答が受信されたと判定されると(ステップS410においてYES)、制御部170は、受信された回答に基づいて、ETLサーバ400Aにおいてセンシングデータの値が変換されたか否かを判定する(ステップS420)。センシングデータの値が変換されていないと判定されると(ステップS420においてNO)、処理はステップS440へ移行する。
【0102】
一方、センシングデータの値が変換されたと判定されると(ステップS420においてYES)、制御部170は、センシングデータに含まれている値と整合の取れる値にメタデータの値を変換する(ステップS430)。その後、制御部170は、変換後のメタデータを出力する(ステップS440)。これにより、ETLサーバ400Aにおいて処理が施されたセンシングデータの値と整合の取れた値のメタデータが生成される。
【0103】
<2-4.特徴>
以上のように、本実施の形態2に従うデータ処理サーバ100Aにおいては、ETLサーバ400Aから出力されたセンシングデータ(実データ)に含まれているIDと同一のIDをメタデータが含むようにメタデータに処理が施される。したがって、データ処理サーバ100Aによれば、センシングデータがETLサーバ400Aから出力された後においてもセンシングデータ及びメタデータの双方が同一のIDを含むため、センシングデータとメタデータとの紐付けを維持することができる。
【0104】
[3.変形例]
以上、実施の形態1,2について説明したが、本発明は、上記実施の形態1,2に限定されるものではなく、その趣旨を逸脱しない限りにおいて、種々の変更が可能である。以下、変形例について説明する。但し、以下の変形例は適宜組合せ可能である。
【0105】
<3-1>
上記実施の形態1,2においては、センシングデータDB200に記憶されているデータ、及び、データ処理サーバ100,100Aにおいて処理されるデータがセンシングデータであるとした。しかしながら、センシングデータDB200に記憶されているデータ、及び、データ処理サーバ100,100Aにおいて処理されるデータは、必ずしもセンシングデータである必要はない。たとえば、センシングデータDB200に記憶されているデータ、及び、データ処理サーバ100,100Aにおいて処理されるデータは、ショッピングサイトにおける各ユーザの購買履歴データや、ゲームサイトにおける各ユーザのスコアデータ等のセンシングデータ以外のデータであってもよい。
【0106】
<3-2>
上記実施の形態1,2においては、データ処理サーバ100,100Aにおいて生成されたメタデータが分析用データDB300へ出力された。しかしながら、データ処理サーバ100,100Aにおいて生成されたメタデータの出力先は、分析用データDB300に限定されない。たとえば、データ処理サーバ100,100Aにおいて生成されたメタデータは、ETLサーバ400,400Aのロード部406へ出力されてもよい。この場合には、ロード部406がセンシングデータ及びメタデータを対応付けて、分析用データDB300へ出力する。
【符号の説明】
【0107】
10 分析用データ生成システム、100,100A データ処理サーバ、102 データ形式変換部、103,122 ID変換部、104 データ分離部、106,106A メタデータ変換部、108 メタデータ送信部、110 データ形式判定部、112 第1変換部、114 第2変換部、120 問合せ部、124 値変換部、170 制御部、172 CPU、174 RAM、176 ROM、180 記憶部、181 制御プログラム、190 通信I/F、195 バス、200 センシングデータDB、300 分析用データDB、400,400A ETLサーバ、402 データ抽出部、404,404A データ変換部、406 ロード部、500 ID管理サーバ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16