(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022186543
(43)【公開日】2022-12-15
(54)【発明の名称】データ管理システム及びデータ管理方法
(51)【国際特許分類】
G06Q 50/04 20120101AFI20221208BHJP
G06F 16/38 20190101ALI20221208BHJP
【FI】
G06Q50/04
G06F16/38
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021094821
(22)【出願日】2021-06-04
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】谷川 桂子
(72)【発明者】
【氏名】樫山 俊彦
(72)【発明者】
【氏名】大越 淳平
【テーマコード(参考)】
5B175
5L049
【Fターム(参考)】
5B175DA01
5B175FB03
5B175HB03
5L049CC03
(57)【要約】
【課題】
データモデルに相当する保有データの候補の検出をできる限り自動化することで、どの保有データを利用することができるか、どんなデータを収集すべきか、等の判断情報を抽出する処理におけるデータ管理者やアプリケーション開発者の負担を削減することができるデータ管理システム及びデータ管理方法を提供する。
【解決手段】
データ管理システムは、プロセッサを備える。推定ETLレベルマッピング処理部は、プロセッサ上で稼働して、リポジトリに未登録のETLである未登録ETLの存在の推定と、既存のデータモデルと保有データとの突合せに基づく類似度の算出と、類似度に基づく候補となるカラムの抽出と、を行う。未登録ETLの存在の推定は、ETLの実行履歴に関する実行ETLログを利用して、ETL間の入力データと出力データの対応に基づいてETL間の連結性の有無を推定することにより行う。
【選択図】
図14
【特許請求の範囲】
【請求項1】
既存のデータモデルに関連するETLをリポジトリに蓄積して、データモデルの再利用を支援するデータ管理システムであって、
プロセッサを備え、
推定ETLレベルマッピング処理部は、前記プロセッサ上で稼働して、前記リポジトリに未登録のETLである未登録ETLの存在の推定と、前記の既存のデータモデルと保有データとの突合せに基づく類似度の算出と、前記類似度に基づく候補となるカラムの抽出と、を行い、
前記推定ETLレベルマッピング処理部は、ETLの実行履歴に関する実行ETLログを利用して、ETL間の入力データと出力データの対応に基づいて前記ETL間の連結性の有無を推定することにより、前記未登録ETLの存在の推定を行う、
ことを特徴とするデータ管理システム。
【請求項2】
請求項1に記載のデータ管理システムであって、
前記推定ETLレベルマッピング処理部は、
ETLの入力データ及び出力データへのアクセス履歴を含むアクセスログを用いて、連結性が無いことが推定されたETL間の入力データ及び出力データのRead/Write操作の情報を取得し、
取得した前記情報のうちでRead操作されたデータを抽出し、抽出頻度に基づいて前記データが前記未登録ETLへの入力データであることを判断し、
前記未登録ETLに関する前記類似度を算出し、
前記類似度に基づく候補となるカラムを抽出する、
ことを特徴とするデータ管理システム。
【請求項3】
請求項1に記載のデータ管理システムであって、
カラムレベルマッピング処理部が前記プロセッサ上で稼働して、カラムの情報に基づく類似度が算出され、
ETLレベルマッピング処理部が前記プロセッサ上で稼働して、前記リポジトリに登録されたETLの情報に基づく類似度が算出され、
共通データモデル対応候補データ提示部が前記プロセッサ上で稼働をして、算出した類似度に基づいて抽出された候補となるカラムのデータが提示される、
ことを特徴とするデータ管理システム。
【請求項4】
請求項3に記載のデータ管理システムであって、
前記推定ETLレベルマッピング処理部の処理より算出される類似度、前記ETLレベルマッピング処理部の処理より算出される類似度、前記カラムレベルマッピング処理部の処理より算出される類似度、の順で重みを大きくする重み付けが行われ、
前記共通データモデル対応候補データ提示部は、
何れの処理に基づく類似度を用いてカラムを抽出したのかについて示す情報を含めて提示する、
ことを特徴とするデータ管理システム。
【請求項5】
請求項3に記載のデータ管理システムであって、
前記カラムレベルマッピング処理部の処理より算出される類似度、及び、前記ETLレベルマッピング処理部の処理より算出される類似度、に対して、前記推定ETLレベルマッピング処理部の処理より算出される類似度の重みを低くする重み付けが行われ、
前記共通データモデル対応候補データ提示部は、
何れの処理に基づく類似度を用いてカラムを抽出したのかについて示す情報を含めて提示する、
ことを特徴とするデータ管理システム。
【請求項6】
既存のデータモデルに関連するETLをリポジトリに蓄積して、データモデルの再利用を支援する電子計算機を用いたデータ管理方法であって、
前記リポジトリに未登録のETLである未登録ETLの存在の推定と、前記の既存のデータモデルと保有データとの突合せに基づく類似度の算出と、前記類似度に基づく候補となるカラムの抽出と、を行い、
ETLの実行履歴に関する実行ETLログを利用して、ETL間の入力データと出力データの対応に基づいて前記ETL間の連結性の有無を推定することにより、前記未登録ETLの存在の推定を行う、
ことを特徴とするデータ管理方法。
【請求項7】
請求項6に記載のデータ管理方法であって、
ETLの入力データ及び出力データへのアクセス履歴を含むアクセスログを用いて、連結性が無いことが推定されたETL間の入力データ及び出力データのRead/Write操作の情報を取得し、
取得した前記情報のうちでRead操作されたデータを抽出し、抽出頻度に基づいて前記データが前記未登録ETLへの入力データであることを判断し、
前記未登録ETLに関する前記類似度を算出し、
前記類似度に基づく候補となるカラムを抽出する、
ことを特徴とするデータ管理方法。
【請求項8】
請求項6に記載のデータ管理方法であって、
カラムの情報を用いる手法で類似度を算出し、
前記リポジトリに登録されたETLの情報を用いる手法で類似度を算出し、
算出した類似度に基づいて抽出された候補となるカラムのデータを提示する、
ことを特徴とするデータ管理方法。
【請求項9】
請求項8に記載のデータ管理方法であって、
前記未登録ETLの存在を推定する手法で算出される類似度、前記リポジトリに登録されたETLの情報を用いる手法で算出される類似度、カラムの情報を用いる手法で算出される類似度、の順で重みを大きくする重み付けが行われ、
何れの手法に基づく類似度を用いてカラムを抽出したのかについて示す情報を含めて提示する、
ことを特徴とするデータ管理方法。
【請求項10】
請求項8に記載のデータ管理方法であって、
カラムの情報を用いる手法で算出される類似度、及び、前記リポジトリに登録されたETLの情報を用いる手法で算出される類似度、に対して、前記未登録ETLの存在を推定する手法で算出される類似度の重みを低くする重み付けが行われ、
何れの手法に基づく類似度を用いてカラムを抽出したのかについて示す情報を含めて提示する、
ことを特徴とするデータ管理方法。
【請求項11】
請求項6に記載のデータ管理方法を電子計算機に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データレイク係るデータ管理システム及びデータ管理方法に関する。
【背景技術】
【0002】
データ分析やAI活用事例が増加しており、より多くのデータを利用したいというニーズが高まっている。例えば、産業分野では、従来、部署や工場毎に個別最適化が図られてきたが、バリューチェーンの各所からデータを収集、分析、対策手段の早期開発や共有化等により、更なる業務改善へ活用することが期待されている。そこで、開発された分析ロジックやアプリケーションから再利用可能なデータモデルを定義することで、これに対応したデータがあれば、再利用が容易になり、迅速な導入が可能となる。
【0003】
しかしながら、自工場で保有するデータに、再利用可能なデータモデルに相当するデータがどのくらい存在するのか把握するためには、データモデルとの突合せが必要となる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2018-106400
【特許文献2】WO2018-011895
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、例えば、特許文献1のデータ統合サーバは、データのテーブル名、カラム名、型等の属性情報と、データモデルの情報とから、同義のカラムデータの候補を抽出するが、特許文献1におけるデータカラムの属性情報の突合せでは、例えば、カラム名の変換処理等によりカラム名が変更された場合、同義カラムデータの候補として抽出されない場合が予想される。その一方で、特許文献2のデータ処理フロー管理システムは、類似処理フローの検索処理の技術に関しており、処理フローの入力データ、出力データ及び処理ロジック、データの属性情報及び用語類義関係定義より、類似処理フローを検出する。
【0006】
そして、データカラムの類似度判定に加え、データ処理フローの類似度を算出することで、取得された類似処理フローを再利用することが可能となるので、特許文献1及び特許文献2を組合わせることにより、カラム類似度判定では抽出できない類似カラムを、データ処理フロー類似度判定で抽出できるようになると考えられる。
【0007】
しかしながら、特許文献2の技術は、リポジトリ等に登録管理されるデータ処理フローに限られる。ここで、実環境では、全てのデータあるいはデータ処理フローが登録管理されているとは限らない。例えば、工場間で共有されるデータやデータ処理フローは、機密情報や個人情報等を除いた、あるいは何等か処理された結果、共有可能と判断されたデータであることは容易に想像できる。また、現場で作業者がシェル等で都度変換処理を行う等、運用で調整されるような場合も、逐一リポジトリに登録されるとは限らない。このように、複数のデータ処理フローを経て生成されるデータにおいて、一部のデータ処理フローやデータがリポジトリに未登録で共有されない場合、共有されないデータが特許文献2の技術では検索対象に入らない。
【0008】
そこで、本発明の目的は、このような環境において、データモデルに相当する保有データの候補の検出をできる限り自動化することで、どの保有データを利用することができるか、どんなデータを収集すべきか、等の判断情報を抽出する処理におけるデータ管理者やアプリケーション開発者の負担を削減することができるデータ管理システム及びデータ管理方法を提供することにある。
【課題を解決するための手段】
【0009】
本発明の第1の態様によれば、下記のデータ管理システムが提供される。データ管理システムは、既存のデータモデルに関連するETL(Extract Transform Load)をリポジトリに蓄積して、データモデルの再利用を支援するシステムである。データ管理システムは、プロセッサを備える。推定ETLレベルマッピング処理部は、プロセッサ上で稼働して、リポジトリに未登録のETLである未登録ETLの存在の推定と、既存のデータモデルと保有データとの突合せに基づく類似度の算出と、類似度に基づく候補となるカラムの抽出と、を行う。推定ETLレベルマッピング処理部は、ETLの実行履歴に関する実行ETLログを利用して、ETL間の入力データと出力データの対応に基づいてETL間の連結性の有無を推定することにより、未登録ETLの存在の推定を行う。
【0010】
本発明の第2の態様によれば、下記のデータ管理方法が提供される。データ管理方法は、既存のデータモデルに関連するETLをリポジトリに蓄積して、データモデルの再利用を支援する電子計算機を用いた方法である。データ管理方法は、リポジトリに未登録のETLである未登録ETLの存在を推定し、既存のデータモデルと保有データとの突合せに基づく類似度を算出する。データ管理方法は、リポジトリに未登録のETLである未登録ETLの存在の推定と、既存のデータモデルと保有データとの突合せに基づく類似度の算出と、類似度に基づく候補となるカラムの抽出と、を行う。ここで、データ管理方法は、ETLの実行履歴に関する実行ETLログを利用して、ETL間の入力データと出力データの対応に基づいてETL間の連結性の有無を推定することにより、未登録ETLの存在の推定を行う。
【発明の効果】
【0011】
本発明によれば、データモデルに相当する保有データの候補の検出をできる限り自動化することで、どの保有データを利用することができるか、どんなデータを収集すべきか、等の判断情報を抽出する処理におけるデータ管理者やアプリケーション開発者の負担を削減することができる。
【図面の簡単な説明】
【0012】
【
図1】産業分野をユースケースとしたデータ利活用支援システムの構成を説明するための図である。
【
図2】データ管理装置のシステム構成を説明するための図である。
【
図3】共通データモデル対応データ把握支援処理部の構成を説明するための図である。
【
図4】工場データ管理サーバの構成を説明するための図である。
【
図5】ETLフローに関するデータを説明するための図である。
【
図6】共通データモデル対応データ把握支援処理部の共通データモデル対応データ取得に関する処理のフローチャートである。
【
図7】共通データモデル対応データ処理部のカラムマッピングのフローチャートである。
【
図8】共通データモデルリストテーブルの一例を示す図である。
【
図9A】A工場の保有データのカラムリストテーブルの一例を示す図である。
【
図9B】B工場の保有データのカラムリストテーブルの一例を示す図である。
【
図12】共通データモデル対応データ処理部のETLレベルマッピングのフローチャートである。
【
図13】ETLリポジトリテーブルの一例を示す図である。
【
図14】共通データモデル対応データ処理部の推定ETLレベルマッピングのフローチャートである。
【
図15】ETL実行ログテーブルの一例を示す図である。
【
図16】データストアアクセステーブルの一例を示す図である。
【
図17】推定ETLの推定入力データテーブルの一例を示す図である。
【
図18】ユーザから共通データモデル対応データ把握要求を受付ける画面の一例を示す図である。
【
図19】ユーザからの共通データモデル対応データ把握要求に対する候補カラムリストを提示する画面の一例を示す図である。
【発明を実施するための形態】
【0013】
以降、本発明を実施するための形態(“本実施形態”という)を、図を適宜に参照しながら説明する。本実施形態は、A工場の業務改善アプリケーションをB工場に導入するユースケースにおいて、当該業務改善アプリケーションに関して生成された共通データモデル(既存のデータモデル)のデータに対して、B工場の保有データの類似度を把握する例である。なお、本実施形態は、製造現場での実施を想定しているが、これは一例に過ぎず、必ずしも製造現場における実施に限定されるものではない。
【0014】
図1は、データ利活用支援システム(データ管理システム)の全体の構成の一例である。データ管理装置1は、一つ以上の工場(2-n)とネットワーク3を介して接続する。データ管理装置1は、工場(2-n)で生成される一つ以上の共通データモデルを収集してETLリポジトリに格納して管理し、ユーザからの共通データモデル候補カラム抽出要求に応答する。
【0015】
図2は、データ管理装置1の構成の一例である。データ管理装置1は、一般的なコンピュータとすることができ、データ管理装置1は、中央制御装置10、主記憶装置11,カメラやマウスキーボード等の入力装置12、スピーカやディスプレイ等の出力装置13、補助記憶装置14、通信インタフェース15を備える。なお、
図2の例においては、中央制御措置10はCPU10、主記憶装置11はメモリ11、補助記憶装置14はHDD/SSD14、通信インタフェース15はNWI/F15として示されている。そして、これらは、バス16で相互に接続されている。
【0016】
共通データモデル対応データ把握支援処理部20及びポータル21は、プログラムであり、主記憶装置11に展開されて実行される。データ管理装置1は、データカタログサーバ5と、メタデータストア6と、ETLフローリポジトリサーバ7(ETLリポジトリ)と、ETLフローストア8と、実行ETLログ9と、ネットワーク3を介して接続される。ここで、メタデータストア6は、データカタログサーバ5で扱うメタデータを格納する。ETLフローストア8は、工場(2-n)から収集した一つ以上のETLフローを格納する。実行ETLログ9は、工場(2-n)で実行されたETLフローの実行ログを格納する。
【0017】
図3は、共通データモデル対応データ把握支援処理部20の構成の一例を示す。共通データモデル対応データ把握支援処理部20は、共通データモデル管理部21と、共通データモデル格納部22と、共通データモデルETLフロー格納部23と、検証対象データ管理部24と、検証対象データのメタデータ格納部25と、共通データモデルのメタデータ格納部26と、カラムマッピング処理部27と、ETLレベルマッピング処理部28と、推定ETLレベルマッピング処理部29と、文字種別判定部30と、類似度算出モジュール管理部31と、共通データモデル対応候補データ提示部32と、を備える。
【0018】
共通データモデル管理部21は、共通データモデルの管理に用いる。共通データモデル格納部22は、共通データモデルの格納に用いる。共通データモデルETLフロー格納部23は、共通データモデルのETLフローの格納に用いる。また、文字種別判定部30は、後述する複数の文字種別変換手段を実行することに用いる。類似度算出モジュール管理部31は、類似度を算出する類似度算出手段(計算モジュール)の管理に用いる。共通データモデル対応候補データ提示部32は、ユーザに候補データを提示することに用いる。
【0019】
本実施形態では、検証対象データ管理部24は、B工場の保有データの管理に用いる。メタデータ格納部25は、B工場の保有データのメタデータを格納する。メタデータ格納部26は、共通データモデルの生成工場であるA工場の保有データのメタデータを格納する。
【0020】
図4は、工場データ管理サーバ2の構成の一例を示す。工場データ管理サーバ2は、一般的なコンピュータとすることができ、工場データ管理サーバ2は、中央制御装置10、主記憶装置11、カメラやマウスキーボード等の入力装置12、スピーカやディスプレイ等の出力装置13、補助記憶装置14及び通信インタフェース15を備える。
図4の例においては、中央制御措置10はCPU10、主記憶装置11はメモリ11、補助記憶装置14はHDD/SSD14、通信インタフェース15はNWI/F15として示されている。そして、これらは、バス16で相互に接続されている。
【0021】
工場データ管理サーバ2は、データ収集部33と、データ処理部34と、アクセスログ登録部35と、を備える。データ収集部33は、工場内で生成される種々のデータを収集することに用いる。データ処理部34は、収集したデータを処理することに用いる。DBMS36(
図4において、DBMS-1と記載)は、データベースの管理に用いられる。データストア37は、工場内で生成されたデータを格納する。アクセスログ登録部35は、プログラムであり、主記憶装置11に展開されて実行される。アクセスログ登録部35は、工場内で生成されたデータを格納するデータストア37のデータへのアクセスログを、データストアアクセスログ38へ登録することに用いられる。
【0022】
図5は、本実施形態において、ある共通データモデルの1カラムを生成した、1以上のETLフロー(ETL)と、ETLフローへの1以上の入力データや1以上の出力データ、及び、ETLフロー間の繋がりの例を示す。この例では、共通データモデルのカラムとして、「リソース量」があり、ETLフロー群(40-1、40-2、40-3)から「リソース量」が生成される。
【0023】
ETLフロー群40-nを遡ることで、「リソース量」に係る全ての入力データ42-nと処理43-n及び出力データ44-nの関係が取得(把握)される。すなわち、この例では、ETLフロー(40-1)が、入力データである「工程ID計画数量」(42-1)と「数量」(42-2)を処理1(43-1)で処理し、出力データである「中間1」(44-1)を出力する。そして、ETLフロー(40-2)において、「中間1」(44-1)が入力され、さらに、入力データである「センサA」と「パラメータ」が入力され、処理2(43-2)にて処理が実行される。そして、「中間2」(42-5)が、ETLフロー(40-3)において、処理N(43-3)にて処理され、これに並行して、入力データである「能力量」(42-6)が処理M(43-4)にて処理され、これらの処理結果データが処理N+M(43-5)にて処理された結果、「リソース量」(44-2)が生成される。
【0024】
次に、
図6を参照しながら、共通データモデル対応データ把握支援処理部20の処理について説明する。
図6は、共通データモデル対応データ把握支援処理部20の処理フローを示す。ここでは、例えば、B工場のユーザがA工場のある共通データモデルを指定した場合について説明する。なお、当該処理フローの主体は、データ管理装置1の中央制御装置10である。
【0025】
B工場のユーザがA工場のある共通データモデルを指定した場合、ステップ50において、共通データモデル管理部21が実行されてA工場の共通データモデルのカラムリストが取得される。また、ステップ51において、検証対象データ管理部24が実行されてB工場が保有するデータのカラムリストが取得される。なお、ステップ50とステップ51の実行順序は問わない。
【0026】
次に、ステップ52において、取得した全カラムの突合せが行われ、カラムマッピングが行われる。なお、カラムマッピングに関する処理は、カラムマッピング処理部27に基づく処理であり、後で詳しく説明する。
【0027】
カラムマッピングの結果、B工場の保有データとA工場の共通データモデルとの間において、対応する候補がないカラムが存在する場合(ステップ53-y)、ステップ54において、ETLレベルマッピングが行われる。なお、ETLレベルマッピングの処理は、ETLレベルマッピング処理部28に基づく処理であり、後で詳しく説明する。
【0028】
ETLレベルマッピングの結果、B工場の保有データとA工場の共通データモデルとの間において、対応する候補がない場合(ステップ55-y)、ステップ56において、推定ETLレベルマッピングが行われる。推定ETLレベルマッピングに関する処理は、推定ETLレベルマッピング処理部29に基づく処理であり、後で詳しく説明する。
【0029】
その一方で、B工場の保有データとA工場の共通データモデルとの間において、対応する候補があった場合では(ステップ53-n、ステップ55-n)、後で詳しく説明する候補カラムリストに保有データのカラムの情報が追加される。また、推定ETLレベルマッピングの処理の結果に応じて、候補カラムリストに保有データのカラムの情報が適宜に追加される。
【0030】
そして、ステップ57において、共通データモデル対応候補データ提示部32が実行されることにより、候補カラムリストがユーザに提示される。
【0031】
次に、
図7を参照しながら、カラムマッピング処理部27に基づく処理(カラムマッピング)について詳細に説明する。
図7は、ステップ52のカラムマッピングの処理フローである。なお、当該フローの処理の主体は、データ管理装置1の中央制御装置10である。カラムマッピングの処理の詳細な説明をする前に、先ず、
図8、
図9A、
図9Bを参照しながら、カラムマッピング処理の対象となるカラムデータの例について説明する。
図8、
図9A、
図9Bは、カラムデータの例を示す。
【0032】
図8は、A工場の共通データモデルのカラムリスト(共通データモデルリスト110)の例である。ここで、カラムリストである共通データモデルリスト110は、テーブル名111と、テーブル名111が示すテーブルに属するカラム名(112-n)と、を含む。さらに、共通データモデルリスト110には、各カラム(112-n)に対する属性情報が追加されてもよい。ここで、属性情報には、一例として、論理カラム名、データの型、概要、属する分野の上位概念語等の情報が含まれる。
【0033】
図9Aは、A工場の保有データのカラムリスト(保有データカラムリスト120-1)の例であり、
図9Bは、B工場の保有データのカラムリスト(保有データカラムリスト120-2)の例である。それぞれの保有データのカラムリスト(120-1/2)には、カラムのID(121-1/2)、カラム名(122-1/2)、テーブル名(123-1/2)、その他属性情報(124-1/2)等が含まれる。共通データモデルリスト110の場合と同様に、論理カラム名、データの型、概要、属する分野の上位概念語等の属性情報が追加されてもよい。
【0034】
カラムマッピングの処理の詳細な説明をする。
図7に示すように、カラムマッピングの処理(上記したステップ52に対応する処理)が開始された場合、ステップ60において、ステップ50にて取得したA工場の共通データモデルのカラム数分、ステップ61~63の処理が繰り返して実行される。
【0035】
ステップ61において、A工場の共通データモデルリスト110から共通データモデルのカラムがメタデータを含めて一つ取得される。そして、ステップ62において、取得した共通データモデルのカラムに対するB工場の保有データの類似度判定処理が行われる。なお、類似度判定処理は、後で詳しく説明する。そして、ステップ63において、類似度判定の結果に基づいて、A工場の共通データモデルのカラムに対するB工場の保有データの候補カラムが判断される。
【0036】
そして、A工場の共通データモデルのカラム数分の処理終了後、ステップ64において、A工場の共通データモデルに対するB工場の候補カラムリストが作成される。なお、この時点においては、候補となるカラムが存在しなくても構わない。
【0037】
ここで、
図10を参照しながら、候補カラムリストについて説明する。
図10は、候補カラムリストの例を示す。候補カラムリスト170(
図10において、カラム候補リストと記載されている)は、共通データモデルの全カラムのID171と、共通データモデルのカラム名172と、カラムの属するテーブルの情報(テーブル名、格納場所等)であるテーブル情報173と、カラムに対する候補カラムの有無の情報である候補有無174と、候補カラムの抽出ステップ175と、1以上の候補カラム176(
図10において、候補と記載されている)の情報と、を含む。ここで、抽出ステップ175は、何れのマッピングにおいて候補カラムが抽出されたかについて示し、抽出レベル175-1(カラムレベル、ETLレベル、推定ETLレベル)についての情報を含む。そして、抽出レベル175-1がETLレベルあるいは推定ETLレベルの場合、抽出したETLの識別番号175-2及び抽出したETLへの1以上の入力カラムデータID(
図10において、必要カラムID175-3と記載)がさらに含まれる。また、候補カラム176の情報は、少なくとも当該候補カラムの属するテーブル情報176-1と、当該候補カラム名176-2と、を含む。
【0038】
次に、
図11を参照しながら、ステップ62に対応する類似度判定処理のフローについて説明する。
図11は、類似度判定処理のフローチャートを示す。類似度判定処理のフローでは、文字種別判定部30や類似度算出モジュール管理部31が用いられ、類似度判定処理の主体は、データ管理装置1の中央制御装置10である。
【0039】
類似度判定処理では、ステップ70において、ステップ51で取得したB工場の保有データのカラム数分、ステップ71~76の処理が行われる。
【0040】
ステップ71では、検証対象データ管理部24が実行されてB工場の保有データのカラムがメタデータを含めて1つ取得される。そして、ステップ72において、当該カラムのデータに紐づく属性情報それぞれについて、ステップ73およびステップ74が行われる。ここで、属性情報は、メタデータであって、例えば、カラム名、論理カラム名、データの型、概要情報、上位概念語等であり、情報数分のステップ73およびステップ74の処理が行われる。
【0041】
ステップ73では、取得したメタデータの文字種別が判定され、文字種別による類似度算出手段が決定される。例えば、日本国内では、日本語(ひらがな、カタカナ、漢字)、英語に加え、日本語のローマ字表記と、複数の文字種が使われる可能性がある。また、英語同士と、日本語同士とでは、同じ類似度算出手段が有効になるとは限らない。さらに、表記種別が異なる場合、例えば共通データモデルのカラムは英語表記、保有データのカラムは日本語のローマ字表記だった場合、そのままでは類似度算出結果が低いスコアとなることは容易に想像できる。従って、文字種別を揃えるための変換処理を行い、揃えた文字種別に適した類似度算出手段を適用する必要があるので、ステップ73では、複数の文字種別変換手段を用いて文字種別を判定して文字種別を揃えるための変換処理が行われ、それから適切な類似度算出手段(計算モジュール)が決定される。
【0042】
ステップ74において、複数の文字種別変換手段30を用いて同じ文字種別に変換されたメタデータ同士について、決定された類似度算出手段31を用いて類似度が算出される。ここで、類似度算出方法としては、種々の公知技術を活用する。
【0043】
そして、ステップ75では、ステップ74で算出されたメタデータ毎の類似度の算出値に、予め各メタデータに付与された重み係数を掛け、類似度を合計することにより、カラムの類似度合計値が算出される。ここで、重み係数は、適宜に設定することができる。例えば、日本国内では、カラム名について文字種別が異なる場合があるが、論理名は日本語表記されていることが多いことが予想されるため、カラム名の重み係数よりも論理名の重み係数を大きくすることにより、類似度判定への寄与度を上げて適切な判定を行うことができるように設計することが可能である。
【0044】
そして、ステップ76において、B工場の保有データのカラムの類似度合計値に基づいて、予め設定する閾値以上のカラムが候補として候補カラムリスト170に記録される。。ここで、メタデータの類似度の最大値と類似度合計値のうちで、閾値以上であって大きい方の値を最大値として候補カラムリスト170に記録してもよい。
【0045】
次に、
図12を参照しながら、ETLレベルマッピング処理部28に基づく処理(ETLレベルマッピング)について詳細に説明する。
図12は、ステップ54のETLレベルマッピングのフローチャートを示す。なお、当該フローの処理の主体は、データ管理装置1の中央制御装置10である。
【0046】
ステップ80において、A工場の共通データモデルのカラムのうち、ステップ52のカラムマッピングでは候補カラムを抽出できなかったカラム数分、ステップ81~84の処理が行われる。
【0047】
先ず、ステップ81において、共通データモデル管理部21が実行されてA工場の共通データモデルのカラムがメタデータを含めて1つ取得される。そして、ステップ82において、当該カラム=出力データの関係にあるETLフローが、ETLリポジトリ7から取得される。すなわち、
図5の例を参照して説明すると、最終的な出力データである「リソース量」(44-2)を出力するETLフローはETL3(40-3)であるので、
図5の例では、ETL3(40-3)が取得される。
【0048】
なお、ETLリポジトリ7には、
図13に示すように、一例として、ETLフローのデータがテーブル形式で登録され、ETLリポジトリテーブル130は、一例として、各ETLを識別する情報131と、入力データ132と、出力データ133と、処理の情報(
図13において、処理134と記載)と、hоpの情報(
図13において、hоp135と記載)と、を含む。入力データ131および出力データ132には、各ETLフローに係るカラムのID(132-1/133-1)、カラム名(132-2/133-2)、テーブル名(132-3/133-3)、の情報が含まれる。処理の情報には、各ETLフローに係る処理ID(134-1)、処理名(134-2)の情報が含まれる。hоpの情報には、各ETLフローに係る送信元(135-1)と送信先(135-2)の情報が含まれる。
【0049】
そして、ステップ83において、ステップ82において取得されたETLフローの入力データが取得される。例えば、ステップ82でETL3(40-3)が取得された場合、ETL3(40-3)への入力データである「中間2」(42-5)及び「能力量」(42-6)が取得される。
【0050】
そして、ステップ84において、ステップ83で取得した入力データ数分、ステップ62の類似度判定が行われる。つまり、ETLレベルマッピングにおける類似度判定は、ETLリポジトリ7から取得されたETLの入力データとB工場の保有データのカラムとの間のメタデータを利用して行われる。そして、ステップ64において、A工場の共通データモデルに対するB工場の候補カラムリストが作成される。なお、この時点においては、候補となるカラムが存在しなくても構わない。
【0051】
次に、
図14を参照しながら、カラムマッピング52及びETLレベルマッピング54で候補カラムを抽出できなかったカラムに対し、さらにETLフローを探索する処理(推定ETLレベルマッピング56)について説明する。
図14は、推定ETLレベルマッピングのフローチャートを示す。なお、推定ETLレベルマッピング56は、推定ETLレベルマッピング処理部29に基づく処理であり、処理の主体は、データ管理装置1の中央制御装置10である。
【0052】
ステップ80において、A工場の共通データモデルのカラムのうち、ETLレベルマッピングでは候補カラムを抽出できなかったカラム数分、ステップ81、90~101の処理が行われる。
【0053】
先ず、ステップ81において、共通データモデル管理部21が実行されてA工場の共通データモデルのカラムがメタデータを含めて1つ取得される。そして、ステップ90において、当該カラム=出力データの関係にあるETLフローが、ETLリポジトリ7から取得される。上記で説明した場合と同様に、
図5の例では、最終的な出力データである「リソース量」(44-2)を出力するETLフローはETL3(40-3)であるので、この例では、ETL3(40-3)が取得される。
【0054】
そして、ステップ91において、当該ETL3(40-3)の1以上の実行ログが実行ETLログ9より取得され、当該実行ETLログ9の情報からETL3(40-3)の実行傾向が分析される。ここで、実行ETLログ9の例を、
図15に示す。
【0055】
図15の一例に示すように、実行ETLログ9(
図15において、ETL実行ログ140と記載)は、ETL実行ID141、実行ETLフローID142、当該ETLフローの所有者情報143、当該ETLフローの実行者情報144、当該ETLフローの実行開始時間145及び実行終了時間146等を含む。なお、実行者情報144はユーザ(人)でもプログラムでも構わない。
【0056】
なお、ステップ91の実行傾向分析では、公知技術を用いることが可能である。例えば、実行ETLログ9において、あるETLフローの所有者あるいは実行者が定期的に又は定時実行することに着目して、ETLフローの実行傾向が分析されてもよい。
【0057】
そして、ステップ92において、ステップ91で分析したETLフローの実行傾向と同様の実行傾向があり、かつ出現時間に相関のあるETLフローが、実行ETLログ9より抽出される。例えば、ETLフロー3(40-3)の実行開始時間145以前に、ETLフロー1(40-1)が定期的に実行される傾向があり、ETLフロー3(40-3)とETLフロー1(40-1)の実行に相関がある場合(一例として、ETLフロー3の実行開始時間から所定時間前にETLフロー1が同一の実行者により頻繁に実行されており、それぞれのETLフローに相関があると認められる場合)、ETLフロー1(40-1)が抽出される。そして、ステップ93において、抽出したETLフロー1(40-1)の出力データである「中間1」が取得される。
【0058】
さらに、ステップ94において、ETLの実行順序に基づいて、前に実行されるETLの出力データと後で実行されるETLの入力データとが同じであるかどうかについての検証が行われる。例えば、ETL1(40-1)の出力データである「中間1」とETL3(40-3)の入力データである「中間2」や「能力量」とを比較し、同じデータを含んでおりETL間の連結性が認められる場合(つまり、対応する出力データと入力データがあり、ETL間の連結性が認められる場合)では(ステップ94-y)、ステップ95において、ETL1(40-1)の入力データである「工程ID計画数量」と「数量」が取得される。そして、ステップ62のメタデータに基づく類似度判定が行われる。
【0059】
その一方で、ETL1(40-1)の出力データとETL3(40-3)の入力データが異なる場合では(ステップ94-n)、ステップ96において、ETL1(40-1)とETL3(40-3)の実行時間の差が算出され、実行時間の差が予め設定する閾値以内かどうかについての検証が行われる。
【0060】
ここで、閾値以上であった場合(例えば、ETL1(40-1)の実行一か月後にETL3(40-3)が実行される傾向があって閾値以上となる場合)では(ステップ96-n)、ステップ97が行われる。ステップ97では、ETL1(40-1)とETL3(40-3)は連結して処理されるETLではないことが判断され、ステップ102において、A工場の保有データに、「出力量(この説明では、リソース量44-2)」に対応するカラムがないこと、及び、「出力量」を生成するのに必要なカラムがないことを推定した結果が、候補カラムリスト170に更新される。
【0061】
その一方で、ETL1(40-1)とETL3(40-3)の実行時間の差が閾値以内であった場合(ステップ96-y)では、ETLリポジトリ7に未登録のETL(未登録ETL)があることが推定されて当該未登録のETLが求められる。先ず、ステップ98において、ETL1(40-1)の出力データとETL3(40-3)の入力データに対するアクセス履歴が、アクセスログ38より取得される。ここで、アクセスログ38の例を
図16に示す。
【0062】
図16の一例に示すように、アクセスログ38は、アクセスID151、アクセス操作種別152、アクセスされたデータ所有者153、アクセス操作実行者154、アクセス先情報(データ格納場所)155、アクセス処理の実行開始時間156等を含む。ここで、アクセス操作種別152(
図16において、CRUD)は、Read/Write/Update/Delete等の操作の種別を示す。
【0063】
そして、ステップ99において、ステップ98において取得したアクセス履歴を用いて、ETL1(40-1)及びETL3(40-3)の記録時間の間に、Read処理される傾向のデータがあるかどうかについての検索が行われる。
【0064】
図16の例では、アクセスID「0010」でETL1(40-1)の出力データである「中間1」に対するRead操作が記録され、アクセスID「0101」でETL3(40-3)の入力データである「中間2」のWrite操作が記録されている。従って、ステップ98では、この2つのアクセス履歴が取得される。そして、ステップ99では、この2つのアクセス処理の間に何らかのETLフローが実行されている可能性があると推定して、この間においてアクセス処理が記録されているデータが抽出される。すなわち、アクセスID「0015」に基づく「センサA」のデータ、及び、アクセスID「0028」に基づく「パラメータ」のデータが抽出される。そして、ステップ100において、抽出されたデータのメタデータ(この場合、2つのデータ「センサA」及び「パラメータ」のメタデータ)が取得され、その結果が推定入力データテーブルに記録される。
【0065】
なお、データの抽出頻度に基づいて、抽出したデータが未登録のETLへの入力データであると推定されてもよい。例えば、複数のアクセスIDに係る「センサA」及び「パラメータ」の抽出頻度の高さが所定閾値以上である場合において、「センサA」及び「パラメータ」が未登録のETLへの入力データであると推定され、その結果が推定入力データテーブルに記録されてもよい。
【0066】
図17の一例に示すように、推定入力データテーブル160は、推定処理ID161、連結入力データ162、1以上の推定入力データ163-n、連結出力データ164を含む。そして、推定入力データテーブル160にデータが記録された場合、推定入力データテーブル160を用いてステップ62のメタデータに基づく類似度判定が行われる。すなわち、この類似度判定は、ETLリポジトリ7に未登録であると推定されたETLの入力データとB工場の保有データのカラムとの間のメタデータを利用して行われる。この類似度判定の結果、候補カラムがあると判断された場合、ステップ102において、B工場の候補カラムリストに、抽出ステップ175の抽出レベル175-1を推定ETLとする更新が行われる。
【0067】
なお、推定ETLレベルマッピング56は、カラムマッピング52及びETLレベルマッピング54とは異なり、推定処理を用いてETLを抽出して類似度を算出する。従って、上記した類似度判定処理におけるステップ75の処理とは別に、適宜のプログラムの実行により、算出された類似度に重み係数を掛けて類似度判定への寄与度を低くする設計が行われてもよい。ここで、重み付けは、推定ETLレベルマッピング56の類似度判定への寄与度を低くするように、適宜に行えばよいが、一例として、カラムマッピング52>ETLレベルマッピング54>推定ETLレベルマッピング56の優先順位となる(つまり、カラムマッピング52の方が類似度判定への寄与度が高くなる)重み付けが行われてもよい。また、例えば、カラムマッピング52=ETLレベルマッピング54>推定ETLレベルマッピング56の優先順位となる重み付けが行われてもよい。
【0068】
また、推定ETLレベルマッピング56において、ETL間で連結性があると判断されて算出される類似度と、ETL間で連結性がないと判断されて算出される類似度と、を区別した重み付けが行われてもよい。例えば、カラムマッピング52及びETLレベルマッピング54の類似度に対する重み係数を1、推定ETLレベルマッピング56においてETL間で連結性があると判断されて算出される類似度に対する重み係数を0.7、推定ETLレベルマッピング56においてETL間で連結性がないと判断されて算出される類似度に対する重み係数を0.3、とする重み付けが行われてもよい。
【0069】
次に、
図18、
図19を参照しながら、ポータル21で処理され、ユーザへ表示される画面の例について説明する。ユーザへの画面の提示には、共通データモデル対応候補データ提示部32が用いられ、共通データモデル対応候補データ提示部32は、データ管理装置1の中央制御装置10により実行される。
【0070】
図18は、ユーザが共通データモデルに対する保有データの候補探索に用いる画面の例である。
図18において、ポータル21の画面180は、候補探索タブ181と探索結果タブ182のページを含む。そして、候補探索タブ181は、共通データモデルの情報を入力するエリア183において、探索する共通データモデル名の情報184、共通データモデル184の対応アプリケーションを示す情報185、探索対象データストアの格納場所を示す情報186、データストア186を追加するボタン187、削除ボタン188を含む。ここで、共通データモデルを入力するエリア183の共通データモデル名の情報184や対応アプリケーションの情報185は、リスト化され、その中から選択する形式でもよい。
【0071】
図19は、
図18において入力された情報に基づく共通データモデル対応データ把握支援処理部20の結果(言い換えれば、算出した類似度に基づくデータの利活用に関する情報)を表示する画面の例である。
図19の探索結果タブ182では、候補探索タブ181のエリア183において入力あるいは選択された共通データモデル名を示す情報191、及び、共通データモデル対応データ把握支援処理部20で生成された候補カラムリスト170が表示される。この候補カラムリスト170をユーザが参照することにより、何れのデータを利用することができるか、何れのマッピング処理において取得されるか、等のデータの利活用に関する情報を把握することができる。なお、
図18と
図19に基づく表示の説明は一例であり、表示の態様等は適宜に変更されてもよい。
【0072】
上記実施形態によれば、リポジトリに未登録のデータ処理フロー(ETLフロー)があったことが推定されても、データモデルに相当する保有データの候補を検出して取得できる。すなわち、一部共有されていないデータやデータ処理が存在する環境においても、再利用するデータモデルに対する保有データの検証範囲を拡張できるため、ユーザの探索工数のより一層の削減を実現することができる。
【0073】
以上実施形態について説明したが、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、実施形態の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【0074】
データ利活用支援システムの処理に用いるデータのメタデータが、リポジトリに蓄積されて共有され、データ利活用支援システムは、リポジトリに蓄積されたメタデータを用いて処理を行ってもよい。
【0075】
中央制御装置10(プロセッサ)の一例としてはCPUが考えられるが、所定の処理を実行する主体であれば他の半導体デバイス(例えば、GPU)でもよい。
【符号の説明】
【0076】
1 データ管理装置
5 データカタログサーバ
7 ETLリポジトリサーバ
9 実行ETLログ
20 共通データモデル対応データ把握支援処理部
29 推定ETLレベルマッピング処理部
32 共通データモデル対応候補データ提示部
37 データストア
38 データストアアクセスログ