(57)【要約】  プロセッサとメモリとを有する計算機が、データソースのデータに変更が発生したことを検出するデータ管理方法であって、前記計算機が、前記データソースからデータを取得する第１のステップと、前記計算機が、前記取得したデータの意味をカラム単位で解析して今回の解析結果を意味格納部へ格納する第２のステップと、前記計算機が、前記意味格納部から当該カラムの前回の解析結果を取得する第３のステップと、前記計算機が、今回の解析結果と前回の解析結果を比較して、前記解析結果に差分がある場合には前記データに変更が発生したと判定する第４のステップと、前記計算機が、前記データに変更が発生したと判定された場合には、当該変更の発生と前記差分の内容を出力する第５のステップと、を含む。
2020115864.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリとを有する計算機が、データソースのデータに変更が発生したことを検出するデータ管理方法であって、
前記計算機が、前記データソースからデータを取得する第１のステップと、
前記計算機が、前記取得したデータの意味をカラム単位で解析して今回の解析結果を意味格納部へ格納する第２のステップと、
前記計算機が、前記意味格納部から当該カラムの前回の解析結果を取得する第３のステップと、
前記計算機が、今回の解析結果と前回の解析結果を比較して、前記解析結果に差分がある場合には前記データに変更が発生したと判定する第４のステップと、
前記計算機が、前記データに変更が発生したと判定された場合には、当該変更の発生と前記差分の内容を出力する第５のステップと、
を含むことを特徴とするデータ管理方法。
【請求項２】
請求項１に記載のデータ管理方法であって、
前記第２のステップは、
前記データのカラム単位の特徴量を前記データの意味として算出し、今回の解析結果として前記意味格納部へ格納することを特徴とするデータ管理方法。
【請求項３】
請求項２に記載のデータ管理方法であって、
前記第４のステップは、
前記今回の特徴量と前記前回の特徴量の距離を算出し、前記距離が予め設定された閾値よりも大きい場合には前記データに変更が発生したと判定することを特徴とするデータ管理方法。
【請求項４】
請求項２に記載のデータ管理方法であって、
前記第２のステップは、
前記データのカラム単位の特徴量を前記データの意味として算出し、予め学習させた機械学習部に前記特徴量を入力して前記データの内容を推定させ、前記機械学習部の推定結果を今回の解析結果として前記意味格納部へ格納することを特徴とするデータ管理方法。
【請求項５】
請求項１に記載のデータ管理方法であって、
前記計算機は、前記データソースのデータを集約して出力データを生成するためのマッピング情報を、前記差分の内容に応じて更新し、更新されたマッピング情報をデータの集約を実行するサーバに送信する第６のステップを、さらに含むことを特徴とするデータ管理方法。
【請求項６】
プロセッサとメモリとを有する計算機が、データソースのデータに変更が発生したことを検出するデータ管理システムであって、
前記データソースからデータを取得するデータ取得部と、
前記取得したデータの意味をカラム単位で解析して今回の解析結果を意味格納部へ格納するデータ意味解析部と、
前記意味格納部から当該カラムの前回の解析結果を取得して、今回の解析結果と前回の解析結果を比較して、前記解析結果に差分がある場合には前記データに変更が発生したと判定するデータ仕様変更検出部と、
前記データに変更が発生したと判定された場合には、当該変更の発生と前記差分の内容を出力するデータ仕様変更通知部と、
を有することを特徴とするデータ管理システム。
【請求項７】
請求項６に記載のデータ管理システムであって、
前記データ意味解析部は、
前記データのカラム単位の特徴量を前記データの意味として算出し、今回の解析結果として前記意味格納部へ格納することを特徴とするデータ管理システム。
【請求項８】
請求項７に記載のデータ管理システムであって、
前記データ仕様変更検出部は、
前記今回の特徴量と前記前回の特徴量の距離を算出し、前記距離が予め設定された閾値よりも大きい場合には前記データに変更が発生したと判定することを特徴とするデータ管理システム。
【請求項９】
請求項７に記載のデータ管理システムであって、
前記データ意味解析部は、
前記データのカラム単位の特徴量を前記データの意味として算出し、予め学習させた機械学習部に前記特徴量を入力して前記データの内容を推定させ、前記機械学習部の推定結果を今回の解析結果として前記意味格納部へ格納することを特徴とするデータ管理システム。
【請求項１０】
請求項６に記載のデータ管理システムであって、
前記計算機は、前記データソースのデータを集約して出力データを生成するためのマッピング情報を、前記差分の内容に応じて更新し、更新されたマッピング情報をデータの集約を実行するサーバに送信する第６のステップを、さらに含むことを特徴とするデータ管理システム。
【請求項１１】
プロセッサとメモリとを有する計算機で、データソースのデータに変更が発生したことを検出させるためのプログラムであって、
前記データソースからデータを取得する第１のステップと、
前記取得したデータの意味をカラム単位で解析して今回の解析結果を意味格納部へ格納する第２のステップと、
前記意味格納部から当該カラムの前回の解析結果を取得する第３のステップと、
今回の解析結果と前回の解析結果を比較して、前記解析結果に差分がある場合には前記データに変更が発生したと判定する第４のステップと、
前記データに変更が発生したと判定された場合には、当該変更の発生と前記差分の内容を出力する第５のステップと、
を前記計算機に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの変更を検出する技術に関する。
【背景技術】
【０００２】
基幹システムやＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）機器やセンサ等のデータソースからデータを収集して、解析を行うデータベースやデータウェアハウス（Ｄａｔａ  ＷａｒｅＨｏｕｓｅ、以下ＤＷＨ）へデータを書き込むＥＴＬ（Ｅｘｔｒａｃｔ、Ｔｒａｎｓｆｏｒｍ、Ｌｏａｄ）サーバが普及している。【０００３】
データソース側で、データ項目の変更や追加などが発生した場合には、データソース側の運用管理者が、ＥＴＬサーバの運用管理者へ変更の通知を行う必要があった。データの変更を行う技術としては、例えば、特許文献１が知られている。【０００４】
特許文献１には、汎用機側でレコードの再定義が変更された場合には、変更された該当レコードの定義情報を、再度ＲＤＢＭＳのレコードに反映させるために、汎用機のデータベース（抽出元）とオープン系のＲＤＢＭＳ（抽出先）の項目間の関連付けを引き継ぐ技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２８０９５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従来例では、データソース側のデータの変更をＥＴＬサーバのデータ取り込み定義に反映させるためには、データソース側の管理者が変更の内容を、ＥＴＬサーバの管理者へ通知しなければ実現することはできない。【０００７】
データソース側の管理組織と、ＥＴＬサーバの管理組織が異なる組織である場合、データソース側の管理組織が単独でデータソースの更新を行うケースが発生すると、ＥＴＬサーバの管理組織が変更を知るまでに時間がかかってしまい対応が遅れる場合があった。【０００８】
また、データソース側がＩｏＴ機器やセンサネットワークの場合、ＩｏＴ機器やセンサ等が他の管理組織によって更新された場合、データ項目の順序の変更や、データの内容の変更などは、データソース側の管理組織が通知しなければ、ＥＴＬサーバの管理組織では把握することができない、という問題があった。【０００９】
そこで本発明は、上記問題点に鑑みてなされたもので、データソースの追加、更新、仕様変更に対する対応を支援するシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、プロセッサとメモリとを有する計算機が、データソースのデータに変更が発生したことを検出するデータ管理方法であって、前記計算機が、前記データソースからデータを取得する第１のステップと、前記計算機が、前記取得したデータの意味をカラム単位で解析して今回の解析結果を意味格納部へ格納する第２のステップと、前記計算機が、前記意味格納部から当該カラムの前回の解析結果を取得する第３のステップと、前記計算機が、今回の解析結果と前回の解析結果を比較して、前記解析結果に差分がある場合には前記データに変更が発生したと判定する第４のステップと、前記計算機が、前記データに変更が発生したと判定された場合には、当該変更の発生と前記差分の内容を出力する第５のステップと、を含む。
【発明の効果】
【００１１】
本発明によれば、データソースから取得したデータの意味を解析して蓄積し、今回の解析結果と前回の解析結果を比較することで、データソースの仕様変更をカラム単位で検出することが可能となる。【００１２】
本明細書において開示される主題の、少なくとも一つの実施の詳細は、添付されている図面と以下の記述の中で述べられる。開示される主題のその他の特徴、態様、効果は、以下の開示、図面、請求項により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１を示し、計算機システムの一例を示すシステム構成図である。
【図２】本発明の実施例１を示し、データチェックサーバの構成の一例を示すブロック図である。
【図３】本発明の実施例１を示し、データチェックサーバで行われる仕様変更の検出処理の一例を示す図である。
【図４】本発明の実施例１を示し、データチェックサーバで行われる更新処理の一例を示す図である。
【図５】本発明の実施例１を示し、データチェックサーバで行われる仕様変更の検出処理の一例を示すフローチャートである。
【図６】本発明の実施例１を示し、データチェックサーバで行われる仕様変更の更新処理の一例を示すフローチャートである。
【図７】本発明の実施例１を示し、データチェックサーバが出力するデータ仕様変更画面の一例を示す図である。
【図８Ａ】本発明の実施例１を示し、マッピング編集用画面の一例を示す図である。
【図８Ｂ】本発明の実施例１を示し、データ仕様変更の通知画面の一例を示す図である。
【図９】本発明の実施例１を示し、データチェックサーバで行われるデータモデルの更新処理の一例を示すフローチャートである。
【図１０】本発明の実施例１を示し、データチェックサーバで行われるマッピング情報の更新処理の一例を示すフローチャートである。
【図１１】本発明の実施例１を示し、データチェックサーバで行われるマッピング情報の修正処理の一例を示すフローチャートである。
【図１２】本発明の実施例１を示し、データチェックサーバで行われるデータモデルの修正処理の一例を示すフローチャートである。
【図１３】本発明の実施例１を示し、データチェックサーバが収集した解析対象のデータの一例を示す図である。
【図１４】本発明の実施例１を示し、データ意味解析部で行われる処理の一例を示すフローチャートである。
【図１５】本発明の実施例１を示し、データ意味格納部の特徴量テーブルの一例を示す図である。
【図１６】本発明の実施例１を示し、データの意味の差分の検出処理の一例を示すフローチャートである。
【図１７】本発明の実施例１を示し、データの意味の一致の判定処理の一例を示すフローチャートである。
【図１８】本発明の実施例１を示し、データ仕様変更検出部が利用するカラム変化テーブルの一例を示す図である。
【図１９】本発明の実施例２を示し、データ意味解析部で行われる処理の一例を示すフローチャートである。
【図２０】本発明の実施例２を示し、数値型の機械学習部の一例を示す図である。
【図２１】本発明の実施例２を示し、日付時刻型の機械学習部の一例を示す図である。
【図２２】本発明の実施例２を示し、文字型のデータパターンの一例を示す図である。
【図２３】本発明の実施例２を示し、データ意味格納部の特徴量テーブルの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について添付図面を用いて説明する。
【実施例１】
【００１５】
図１は、実施例１を示し、計算機システムの一例を示すシステム構成図である。本実施例１の計算機システムは、データソース１からのデータを整形して出力するＥＴＬ（Ｅｘｔｒａｃｔ、Ｔｒａｎｓｆｏｒｍ、Ｌｏａｄ）サーバ２と、ＥＴＬサーバ２が整形したデータを入力して所定の処理を行うＤＷＨ（Ｄａｔａ  ＷａｒｅＨｏｕｓｅ）３と、データソース１のデータ仕様の変更を検出するデータチェックサーバ５と、データの仕様変更の通知を受け付けるユーザ操作用ＰＣ７−１〜７−ｎを含む。【００１６】
なお、以下の説明ではユーザ操作用ＰＣ７−１〜７−ｎの個々を特定しない場合には、「−」以降の符号を省略した符号「７」を用いる。他の構成要素の符号についても同様である。【００１７】
また、計算機システムには、データソース１とＥＴＬサーバ２及びデータチェックサーバ５を接続するネットワーク４と、データチェックサーバ５とユーザ操作用ＰＣ７−１〜７−ｎを接続するネットワーク６が含まれる。【００１８】
データソース１は、基幹システムのデータベースサーバや、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）機器や、センサネットワーク等が含まれ、ＤＷＨ３で解析するデータを提供する。【００１９】
ＥＴＬサーバ２は、基幹システムのデータベースサーバやＩｏＴ機器やセンサネットワークからデータを取得して、所定のマッピング情報（または集約情報）に基づいてデータソース１のデータを整形してＤＷＨ３で利用可能な形式で出力する。【００２０】
ＤＷＨ３は、ＥＴＬサーバ２が整形したデータを用いて統計処理や解析処理などの所定の処理を実施する。本実施例１では、ＤＷＨ３で各種処理を実施する例を示すが、データベースサーバであってもよい。また、図示の例では、ＥＴＬサーバ２とＤＷＨ３が直接接続されているが、実際にはＤＷＨ３はネットワーク４を介してＥＴＬサーバ２及びデータチェックサーバ５と接続されているものとする。また、ＤＷＨ３は、１以上の計算機を含む。【００２１】
データチェックサーバ５は、データソース１のデータを解析して仕様変更の発生を検出し、データの仕様変更が発生した場合には、ユーザ操作用ＰＣ７にデータの仕様変更の通知を送信する。データの仕様変更の通知は、後述するようなデータ仕様変更画面で構成され、データの仕様変更内容と、データモデルの定義と、ＥＴＬ（集約情報）の定義が含まれる。【００２２】
ユーザ操作用ＰＣ７は、データ仕様変更画面を介して、データモデルの決定または編集と、ＥＴＬの定義の変更反映をデータチェックサーバ５に指示することができる。データチェックサーバ５は、データの仕様変更に対してユーザ操作用ＰＣ７が決定したＥＴＬの定義とデータモデルの定義をＥＴＬサーバ２とＤＷＨ３へ送信して反映させる。【００２３】
なお、ユーザ操作用ＰＣ７は、図示はしないが、プロセッサと、メモリと、ネットワークインタフェースと、入出力装置と、出力装置（または表示装置）を含む計算機である。【００２４】
図２は、データチェックサーバ５の構成の一例を示すブロック図である。データチェックサーバ５は、プロセッサ１１と、ネットワークインタフェース１２と、ストレージ装置１３と、メモリ１４と、入出力装置１５を含む計算機である。【００２５】
ネットワークインタフェース１２は、ネットワーク４とネットワーク６にそれぞれ接続される。入出力装置１５は、マウスやキーボードやタッチパネルなどの入力装置と、ディスプレイなどの出力装置で構成される。【００２６】
メモリ１４には、データ取得部２１と、データ意味解析部２２と、データ仕様変更検出部２３と、データ仕様変更通知部２４と、マッピング情報修正部２５と、データモデル修正部２６がプログラムとしてロードされて、プロセッサ１１によって実行される。【００２７】
ストレージ装置１３には、一時格納領域３１と、データ意味格納部３２と、マッピング情報格納部３３と、データモデル格納部３４が保持される。【００２８】
データ取得部２１は、所定のタイミングでデータソース１からデータを取得して、一時格納領域３１に格納する。データ取得部２１が取得するデータは、ＥＴＬサーバ２が取得するデータと同一であり、取得するデータは予め設定される。なお、所定のタイミングは、例えば、入出力装置１５やユーザ操作用ＰＣ７からデータを取得する指令を受け付けた場合や、予め設定した周期（例えば、２４時間など）となった場合である。【００２９】
データ意味解析部２２は、一時格納領域３１からデータを読み込んで、カラム単位で特徴情報を算出して、特徴情報に基づいてデータ（カラム）の意味を解析する。解析されたデータの意味（データ意味）は、今回の解析結果としてデータ意味格納部３２に格納される。格納された意味データは過去分も含めて蓄積され、データ仕様変更検出部２３が仕様変更を検出する際に利用する。【００３０】
データ仕様変更検出部２３は、データ意味解析部２２が解析した今回の解析結果（特徴量）と、前回の解析結果を基に、データの仕様変更を検出する。データ仕様変更通知部２４は、データソース１のデータの仕様変更が発生した場合に、仕様変更の通知をユーザ操作用ＰＣ７へ出力する。【００３１】
マッピング情報修正部２５は、データ仕様変更通知部２４からの指示に従い、ＥＴＬサーバ２で定義された入力データと、出力先データモデルの項目間のマッピング（マッピング情報）を修正する。【００３２】
データモデル修正部２６は、データ仕様変更通知部２４からの指示に従い、ＥＴＬサーバ２で定義された出力先のデータモデルの項目情報を修正する。なお、本実施例１では、ＥＴＬサーバ２の出力先のデータモデルは、ＤＷＨ３のデータモデルである。【００３３】
プロセッサ１１は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ１１は、データ意味解析プログラムに従って処理することでデータ意味解析部２２として機能する。他のプログラムについても同様である。さらに、プロセッサ１１は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。【００３４】
ストレージ装置１３の一時格納領域３１には、データ取得部２１が収集したデータソース１のデータが格納される。データ意味格納部３２には、データ意味解析部２２が算出したデータの意味（特徴量）が蓄積される。【００３５】
マッピング情報格納部３３には、データソース１が出力するデータ及びカラムと、ＤＷＨ３が利用するデータとカラムの対応関係がマッピング情報として格納される。データモデル格納部３４には、ＤＷＨ３が利用するデータの形式がデータモデルとして格納される。【００３６】
図３は、データチェックサーバ５で行われる仕様変更の検出処理の一例を示す図である。【００３７】
データチェックサーバ５は、所定のタイミングでデータ取得部２１がデータソース１から所定のデータを取得して、データソース１の識別情報を付加して一時格納領域３１に格納する（Ｓ１０１）。【００３８】
データ取得部２１がデータソース１から取得するデータは、ＥＴＬサーバ２が利用しているデータと同一のデータである。また、ストレージ装置１３の一時格納領域３１に格納されたデータは、予め決められた期間中は保存され、データ意味解析部２２で利用される。【００３９】
次に、データ意味解析部２２は、一時格納領域３１から解析に必要なデータ（例：過去Ｎレコード分、過去Ｎ日分など）を読み込んで（Ｓ１０２）、データの意味解析を後述するように実行し、今回の解析結果をデータ意味格納部３２へ格納する（Ｓ１０３）。なお、データの意味の解析は、後述するように、カラム単位で行われる。また、データ意味格納部３２へ格納されるデータには、日時や世代などを示す情報が付加される。【００４０】
次に、データ仕様変更検出部２３は、上記データ意味格納部３２から前回の解析結果を読み込んで、データのカラム単位で、今回の解析結果と前回の解析結果を比較して、データの仕様変更を検出する。データ仕様変更検出部２３は、前回の解析結果と今回の解析結果に差分がある場合には、データの仕様変更が発生したと判定し、データの意味解析結果および検出結果をデータ仕様変更通知部２４に送信する（Ｓ１０４）。【００４１】
データ仕様変更通知部２４は、受信した意味解析結果とデータ仕様変更の検出結果を基に、データモデル格納部３４の既存のデータモデルに変更を加え、また、マッピング情報格納部３３の既存のマッピング情報に変更を加え、仕様変更後のデータモデルと、マッピングとしてユーザ操作用ＰＣ７−ｎに通知する（Ｓ１０５）。【００４２】
仕様変更後のデータモデルは、データカラムの追加、削除、変更に応じて、出力先（ＤＷＨ３）のデータモデルの項目定義を変更したものである。また、仕様変更後のマッピング情報は、データカラムの追加、削除、順序入れ替えに応じて、出力先（ＤＷＨ３）のデータモデルの項目と入力データのカラムのマッピング定義を変更したものである。【００４３】
なお、データ仕様変更通知部２４は、マッピング情報の変更に応じた処理内容の更新情報を生成して、ユーザ操作用ＰＣ７−ｎに通知してもよい。データ仕様変更通知部２４は、マッピング情報と処理内容を合わせた情報を集約情報として扱うようにしてもよい。【００４４】
上記処理によって、データチェックサーバ５は、ＥＴＬサーバ２が使用するデータをデータソース１から取得して、データの意味をカラム単位で解析し、前回と今回のデータの意味の解析結果に基づいてデータの仕様変更の発生を検出する。データチェックサーバ５は、データの仕様変更が発生していれば、仕様変更の発生の通知と、仕様変更後のデータモデルと、マッピング情報をユーザ操作用ＰＣ７へ提示することができる。【００４５】
図４は、データチェックサーバ５で行われる更新処理の一例を示す図である。この処理は、仕様変更発生の通知を受け付けたユーザ操作用ＰＣ７からの応答に基づいて実行される。【００４６】
データの仕様変更通知を受け付けたユーザ操作用ＰＣ７では、ユーザが仕様変更の内容を確認する。仕様変更の内容（仕様変更後のデータモデルと、マッピング情報または集約情報）が正しいと判断したユーザは、変更内容のフィードバックをデータチェックサーバ５に指示する（Ｓ２０１）。【００４７】
ユーザ操作用ＰＣ７から変更内容の反映を指示されたデータチェックサーバ５のデータ仕様変更通知部２４は、仕様変更後のデータモデルをデータモデル格納部３４へ書き込み、仕様変更後のマッピング情報（または集約情報）をマッピング情報格納部３３に書き込んで、情報を更新する（Ｓ２０２）。【００４８】
次に、データ仕様変更通知部２４は、仕様変更後のマッピング情報をマッピング情報修正部２５に送信し、仕様変更後のデータモデルをデータモデル修正部２６へそれぞれ送信する（Ｓ２０３）。【００４９】
マッピング情報修正部２５は、新たなマッピング情報（または集約情報）をＥＴＬサーバ２へ送信して、ＥＴＬサーバ２が利用するマッピング情報を新たなマッピング情報（または集約情報）に更新させる（Ｓ２０４）。【００５０】
データモデル修正部２６は、新たなデータモデルをＤＷＨ３へ送信して、ＤＷＨ３が利用するデータモデルを新たなデータモデルに更新させる（Ｓ２０５）。【００５１】
以上の処理によって、データ仕様変更通知部２４はユーザ操作用ＰＣ７から応答を受け付けると、仕様変更後のデータモデルと、マッピング情報（集約情報）をＤＷＨ３とＥＴＬサーバ２へ反映させることができる。【００５２】
図５は、データチェックサーバ５で行われる仕様変更の検出処理の一例を示すフローチャートである。この処理は、図３の処理の詳細を示す。【００５３】
ステップＳ１では、データチェックサーバ５のデータ取得部２１が、所定のタイミングでデータソース１から所定のデータを取得して、データソース１の識別情報を付加して一時格納領域３１に格納する。【００５４】
次に、ステップＳ２では、データ意味解析部２２が、一時格納領域３１から解析対象のデータを読み込んで、カラム単位でデータの意味解析を実行し、解析結果をデータ意味格納部３２へ格納する。この処理については、図１４で詳述する。【００５５】
ステップＳ３では、データ仕様変更検出部２３が、カラム毎に今回の意味解析の結果と、前回の意味解析の結果をデータ意味格納部３２から取得して、差分の有無を判定する。この処理については、図１６で詳述する。ステップＳ４では、前回の解析結果と今回の解析結果に差分が有ると判定された場合にはステップＳ５に進み、差分がなければ処理を終了する。【００５６】
ステップＳ５では、データ仕様変更通知部２４が、データ仕様変更の検出結果を基に、データモデル格納部３４およびマッピング情報格納部３３から取得した既存のデータモデルと、マッピング情報に変更を加え、仕様変更後のデータモデルと、マッピングとしてユーザ操作用ＰＣ７に通知する。【００５７】
図６は、データチェックサーバ５で行われる仕様変更の反映処理の一例を示すフローチャートである。この処理は、図４の処理の詳細を示す。【００５８】
ステップＳ１１では、データ仕様変更通知部２４が、ユーザ操作用ＰＣ７からデータの仕様変更の反映指示を受信する。ステップＳ１２では、反映指示からデータモデル修正部２６とデータ仕様変更通知部２４のいずれで処理を行うかを判定する。ステップＳ１３では、マッピング情報の修正のみであればステップＳ１４へ進み、そうでない場合にはステップＳ１５に進む。【００５９】
ステップＳ１４では、データ項目の順序が入れ替わっただけであるので、マッピング情報修正部２５を起動する。【００６０】
マッピング情報修正部２５は、データ項目の順序の入れ替えが発生したデータソース１の項目と、出力先データモデル（ＤＷＨ３の入力データ）の項目のマッピングを修正し、マッピング情報格納部３３に書き込んでマッピング情報を更新する。また、マッピング情報修正部２５は、ＥＴＬサーバ２に対して更新されたマッピング情報を通知して、最新のマッピング情報に更新させる。【００６１】
ステップＳ１５では、データ項目の順序が入れ替わり、カラムの内容も変化しているので、マッピング情報修正部２５とデータモデル修正部２６で処理を実行する。【００６２】
まず、データモデル修正部２６は、出力先データモデル（ＤＷＨ３の入力データ）に項目の追加、変更、削除を行って、データモデル格納部３４のデータモデルを更新する。そして、データモデル修正部２６は、更新されたデータモデルをＤＷＨ３へ送信して、新たなをデータモデルに更新させる。【００６３】
次に、マッピング情報修正部２５は、上記ステップＳ１４と同様に、マッピング情報格納部３３のマッピング情報を更新し、ＥＴＬサーバ２に更新されたマッピング情報を通知する。【００６４】
図７は、データチェックサーバ５が出力するデータ仕様変更画面１００の一例を示す図である。この画面は、例えば、ユーザ操作用ＰＣ７の出力装置や、データチェックサーバ５の入出力装置１５で表示される。【００６５】
データ仕様変更画面１００は、データの仕様変更の内容を表示するデータ仕様変更内容表示部１１０と、変更後のデータモデルの定義を表示するデータモデル定義表示部１２０と、変更後のＥＴＬ定義を表示する新規ＥＴＬ定義表示部１３０を有する。【００６６】
データ仕様変更内容表示部１１０は、データ意味格納部３２の今回の解析結果と前回の解析結果の差分情報１１００が表示される。差分情報１１００は、データの識別子（図中、Ａ、Ｂ）毎に、カラム名１１０１と、データ型１１０２と、データの意味１１０３と、カラムの変更内容１１０４からひとつのエントリが構成される。【００６７】
図示の例では、データ「Ａ」のカラム「ｃ」の内容がモータ温度からモータ回転数に変更され、カラム「ｄ」にモータ出力が追加された例を示す。【００６８】
データ仕様変更内容表示部１１０では、カラムの仕様変更箇所や、変更内容が明示され、変更のあったカラムが強調表示され、どの箇所がどのように変更されたかを認識できる。ユーザは、表示されている内容を編集しデータ仕様の編集をすることもできる。【００６９】
データモデル定義表示部１２０には、ＥＴＬサーバ２の出力先のデータモデルの定義がデータ関連図１２１０と、データ関連図１２１０に連動して結合されたデータサンプル１２２０として表示される。また、データモデル定義表示部１２０には、ユーザが変更後のデータモデルを許可するモデル決定ボタン１２３０が表示される。【００７０】
データサンプル１２２０には、仕様変更後のデータモデルが表示され、出力先のデータモデルとして、データＡのカラムａ〜ｄと、データＢのカラムａ１を含むデータモデルの例が表示される。【００７１】
データ関連図１２１０は、データ間の関連を図式化したモデルが表示される。データ関連図１２１０では、追加された関係が強調表示されたり、削除された関係が破線で表示されるなどデータの関連性の変更箇所とその内容が認識できる。ユーザは、データ関連図１２１０を編集し、データモデル（入力データの出力先となるデータのデータ構造）を定義することができる。【００７２】
新規ＥＴＬ定義表示部１３０には、仕様変更後のＥＴＬサーバ２における処理と入出力のモデル１３１０が表示される。また、新規ＥＴＬ定義表示部１３０には、新規ＥＴＬ定義を受け入れるための変更反映ボタン１３２０とキャンセルボタン１３３０が表示される。【００７３】
図示のモデル１３１０では、ＥＴＬサーバ２が、データソース１のデータＡ、Ｂ、Ｃのカラムを「処理１」で結合して「モデルＸ」の出力先データを生成する例を示す。【００７４】
図８Ａは、データチェックサーバ５が出力するマッピング編集用ダイアログ３００の一例を示す図である。この画面は、例えば、図７のデータサンプル１２２０内のデータをユーザがクリックすることで、ユーザ操作用ＰＣ７の出力装置や、データチェックサーバ５の入出力装置１５で表示される。【００７５】
マッピング編集用ダイアログ３００は、指定されたデータモデルのカラムを示す出力項目３０１と、入力となるデータソース１側のデータとカラムを表示する編集内容３０２を含む。【００７６】
ユーザ操作用ＰＣ７のユーザは、編集内容３０２を修正することで、データソース１と出力先のデータモデルのマッピング情報を修正することができる。図示の例では、出力項目３０１のモデルＸ．ａが、出力先のデータモデルＸのカラムａを示し、編集内容３０２のＴｒｉｍ（データＡ．ａ）がデータソース１のデータＡのカラムａの内容からスペースを取り除いた情報を示す。【００７７】
図８Ｂは、データチェックサーバ５が出力するデータ仕様変更通知４００の一例を示す図である。この画面は、例えば、ユーザ操作用ＰＣ７の出力装置や、データチェックサーバ５の入出力装置１５で表示される。【００７８】
データ仕様変更通知４００は、データ仕様変更検出部２３でデータの仕様変更が検出されたときに、データ仕様変更通知部２４から出力される。ユーザ操作用ＰＣ７や入出力装置１５で、データ仕様変更通知４００をクリックすることで、図７のデータ仕様変更画面１００が表示される。【００７９】
図９は、データ仕様変更通知部２４で行われるデータモデルの更新処理の一例を示すフローチャートである。【００８０】
ステップＳ２１では、データ仕様変更通知部２４が、データ仕様変更検出部２３から得た判定結果に基づき、変更、削除、追加となったカラムをデータ仕様変更検出部２３から取得する。【００８１】
ステップＳ２２では、データ仕様変更通知部２４が、意味の変更または新規追加のカラムがあるか否かを判定する。意味の変更または新規追加がある場合にはステップＳ２３へ進み、そうでない場合にはステップＳ２４に進む。【００８２】
ステップＳ２３では、データ仕様変更通知部２４が、新規追加または意味の変更が検出されたカラムがある場合、その他のデータのカラムとの関連性を評価し、次のような関連性の追加、削除を検出する。
（１）新規追加のカラムまたは変更のあったカラムと別データのカラムとの新たな関連性の追加
（２）変更のあったカラムと別データのカラムとの既存の関連性の削除【００８３】
ステップＳ２４では、データ仕様変更通知部２４が、削除されたカラムの有無を判定する。削除されたカラムがある場合にはステップＳ２５へ進み、そうでない場合にはステップＳ２６に進む。【００８４】
ステップＳ２５では、データ仕様変更通知部２４が、上記（２）の検出結果に対応するカラムと別データのカラムとの既存の関連性を抽出し、削除対象となる関連性を検出する。【００８５】
ステップＳ２６では、データ仕様変更通知部２４が、上記ステップＳ２３、Ｓ２５で検出された関連性を、データモデル格納部３４に格納されたデータモデルに反映する。ステップＳ２７では、データ仕様変更通知部２４が、変更や追加または削除を反映させたデータモデルを図７のデータ仕様変更画面１００（データ関連図１２１０またはデータサンプル１２２０）に出力する。【００８６】
図１０は、データモデル修正部２６で行われるマッピング情報の更新処理の一例を示すフローチャートである。【００８７】
ステップＳ３１では、データモデル修正部２６が、データ仕様変更検出部２３から変更、削除、追加となったカラムを取得する。ステップＳ３２では、データモデル修正部２６が、当該カラムに対応する既存のマッピング情報をマッピング情報格納部３３から取得する。【００８８】
ステップＳ３３では、データモデル修正部２６が、仕様変更で新規追加の有無を判定し、新規追加があればステップＳ３４へ進み、なければステップＳ３５に進む。ステップＳ３４では、データモデル修正部２６が、当該カラムのマッピング情報に対して入力データ項目の新規追加と、新規追加するカラムの意味に対応する処理の追加と、新規追加するカラムに対応するデータモデルのデータ項目の追加を行う。【００８９】
ステップＳ３５では、データモデル修正部２６が、仕様変更で変更（意味の変更、出現順の変更等）されたカラムの有無を判定し、変更があればステップＳ３６へ進み、なければステップＳ３７に進む。【００９０】
ステップＳ３６では、データモデル修正部２６が、仕様変更で変更されたカラムに対応するマッピング情報に対して入力データ項目（の順序）の変更と、変更後のカラムの意味に対応する処理への変更と、対応するデータモデルの項目の変更を行う。なお、変更後のカラムの意味に対応する処理は、ＥＴＬサーバ２へカラムの意味が変更されたことを通知してもよい。【００９１】
ステップＳ３７では、データモデル修正部２６が、仕様変更で削除されたカラムの有無を判定し、削除があればステップＳ３８へ進み、なければステップＳ３９に進む。【００９２】
ステップＳ３８では、データモデル修正部２６が、仕様変更で削除されたカラムに対応するマッピング情報に対して入力データ項目から該当カラムの削除と、削除カラムに関連する処理の削除ないしは更新と、対応するデータモデルのデータ項目の削除を行う。【００９３】
ステップＳ３９では、データモデル修正部２６が、上記ステップＳ３４、Ｓ３６、Ｓ３８で仕様変更が行われたマッピング情報を出力し、図７のデータ仕様変更画面１００の新規ＥＴＬ定義表示部１３０のモデル１３１０に出力する。【００９４】
図１１は、マッピング情報修正部２５で行われるマッピング情報の修正処理の一例を示すフローチャートである。【００９５】
ステップＳ４１では、マッピング情報修正部２５が、マッピング情報格納部３３から最新のマッピング情報（例えば、ユーザが図７のデータ仕様変更画面１００で確認または修正したマッピング情報）を取得する。【００９６】
次に、ステップＳ４２では、マッピング情報修正部２５が、更新先のＥＴＬサーバ２の処理の仕様に合わせて、最新のマッピング情報をＥＴＬの処理の定義に変換する。なお、最新のマッピング情報をＥＴＬの処理定義への反映は、例えば、データマッピングの統合ツール等を用いればよい。【００９７】
ステップＳ４３では、マッピング情報修正部２５が、変換したＥＴＬ定義をＥＴＬサーバ２に送信してＥＴＬの定義内容を更新させる。【００９８】
上記処理によって、ユーザが確認したマッピング情報に基づいて、ＥＴＬサーバ２の定義を更新することができる。【００９９】
図１２は、データモデル修正部２６で行われるデータモデルの修正処理の一例を示すフローチャートである。【０１００】
ステップＳ５１では、データモデル修正部２６が、データモデル格納部３４から最新のデータモデル（ユーザが図７のデータ仕様変更画面１００で確認または修正したデータモデル）を取得する。【０１０１】
ステップＳ５２では、データモデル修正部２６が、更新先のＤＷＨ３の入力データの仕様に合わせて、データモデルの情報をＤＷＨ３のスキーマ更新用の定義に変換する。なお、スキーマの定義の変換は、例えば、スキーマ変換ツールを用いることができる。ステップＳ５３では、データモデル修正部２６が、変換されたスキーマ更新用の定義をＤＷＨ３に送信し、ＤＷＨ３のスキーマを更新させる。【０１０２】
上記処理によって、ユーザが確認したデータモデルに基づいて、ＤＷＨ３のスキーマを更新することができる。【０１０３】
図１３は、データチェックサーバ５が解析するデータソース１のデータ５００の一例を示す図である。データ５００は、データ取得部２１がデータソース１から取得して一時格納領域３１へ格納されたデータである。このデータ５００は、ＥＴＬサーバ２が入力するデータと同一であり、ＥＴＬサーバ２は当該データ５００に所定の処理（クレンジングやマッピング等）を行ってＤＷＨ３の入力データ（出力先データ）を生成する。【０１０４】
データ５００は、カラム番号＝１に記録日時が格納され、カラム番号＝２に湿度が格納され、カラム番号＝３に速度が格納され、カラム番号＝４に温度が格納され、カラム番号＝５に電圧が格納され、カラム番号＝６に風向が格納されてひとつのエントリが構成される。【０１０５】
図１４は、データ意味解析部２２で行われる処理の一例を示すフローチャートである。この処理は、図５のステップＳ２で行われる。【０１０６】
データ意味解析部２２は、一時格納領域３１からデータ５００の１カラムに含まれるデータを読み込む（Ｓ６１）。データ意味解析部２２は、カラム中のデータの型を数値型、文字型、日付時刻型のいずれであるかを判定する（Ｓ６２）。【０１０７】
ステップＳ６３では、データ意味解析部２２が、データの型に応じて分岐を行う。データ意味解析部２２は、数値型であればステップＳ６４へ進み、文字型であればステップＳ６５へ進み、日付時刻型であればステップＳ６６へ進む。【０１０８】
ステップＳ６４では、データ意味解析部２２が、数値型のカラムの特徴量を算出する。ステップＳ６５では、データ意味解析部２２が、文字型のカラムの特徴量を算出する。ステップＳ６６では、データ意味解析部２２が、日付時刻型のカラムの特徴量を算出する。【０１０９】
特徴量としては例えば次のような特徴量（特徴情報）を用いることができる。数値型では、最大値、最小値、平均値、分散などの統計量や、周期性、などが特徴量として算出される。文字型では、文字列長に関する最大値、最小値、平均値、分散などの統計量や、頻出する文字パターンとそのパターンの出現割合、などが特徴量として算出される。日付時刻型では、間隔に関する最大値、最小値、平均値、分散などの統計量などが特徴量として算出される。上記は特徴量の一例であり、これらに限定されるものではない。【０１１０】
データ意味解析部２２は、データ５００に未処理のカラムがあるか否かを判定し、未処理のカラムがあればステップＳ６８へ進み、全てのカラムの処理が完了していればステップＳ６９へ進む（Ｓ６７）。【０１１１】
データ意味解析部２２は、残りのカラムがある場合には次のカラムに処理を移し（Ｓ６８）、ステップＳ６１へ戻って当該カラムに関して上記の処理を実行する。一方、残りのカラムがない場合、データ意味解析部２２は、上述のように算出した特徴量を今回のデータの意味を示す特徴量テーブル７００としてデータ意味格納部３２へ格納する（Ｓ６９）。【０１１２】
図１５は、データ意味格納部３２の特徴量テーブル７００の一例を示す図である。特徴量テーブル７００は、データ５００のカラム番号７４０毎に、データの型の判定結果を格納するデータ型７４５と、データの長さを示す桁数７５０と、最大値７５５と、最小値７６０と、平均値７６５と、分散７７０と、周期性７７５と、頻出パターン７８０と、出現率７８５を含む。【０１１３】
カラム番号７４０には、図１３に示したデータ５００のカラム番号が格納される。桁数７５０には、数値型データの桁数、文字型データの文字列長、日付時刻型データの文字列長が格納される。【０１１４】
最大値７５５には、数値型データの値の最大値、文字型データの文字列長の最大値、日付時刻型データの時間間隔の最大値が格納される。最小値７６０には、数値型データの値の最小値、文字型データの文字列長の最小値、日付時刻型データの時間間隔の最小値が格納される。【０１１５】
平均値７６５には、数値型データの値の平均値、文字型データの文字列長の平均値、日付時刻型データの時間間隔の平均値が格納される。【０１１６】
分散７７０には、数値型データの値の分散、文字型データの文字列長の分散、日付時刻型データの時間間隔の分散が格納される。【０１１７】
周期性７７５には、数値型データの周期性が格納される。頻出パターン７８０には、文字型データで頻出するパターン、または、日付時刻型データのフォーマットが格納される。出現率７８５には、頻出パターン７８０のフォーマットに当てはまるデータの出現率が格納される。【０１１８】
カラム番号＝１の特徴量は、データ型７４５が日付時刻型データであることが格納される。頻出パターン７８０には、日付及び文字列のフォーマットが格納され、対応する文字列が桁数７５０に格納される。【０１１９】
出現率７８５には、頻出パターン７８０のパターンに合致するデータが出現する割合が格納される。出現率７８５が、１００％の場合は、すべてのデータがこのフォーマットで格納されていることを示している。最大値７５５〜平均値７６５は６００秒（１０分）の等間隔となっている。【０１２０】
カラム番号＝２〜５には、数値型データの特徴量が格納された例を示す。桁数７５０に格納されている数値の整数部分は、カラムのデータ値の整数部分の桁数を示し、小数部分は、カラムのデータ値の小数部分の桁数を表す。例えば、カラム番号＝２の列の桁数７５０は「２．１」なので、カラム番号＝２に格納されているデータの値は整数部分２桁で、小数部分１桁であることを示している。桁数が一定でない場合には、桁数７５０には値は格納されない。【０１２１】
カラム番号＝２の周期性７７５には「１４４」が入力されているので、カラム番号＝２は１４４個のデータ毎に周期性を有するデータが入っていることを示している。周期性がない場合には０が入力される。【０１２２】
カラム番号＝６には、文字型データの特徴量が格納された例を示す。文字列長が固定である場合には桁数７５０に文字列長が格納されるが、文字列長が可変である場合、値は入力されない。【０１２３】
また、カラム番号＝６の最大値７５５〜分散７７０には、文字列長の最大、最小、平均、分散が格納される。周期性７７５には周期性を格納するが、周期性がない場合は０が格納される。頻出パターン７８０には、頻出するパターンが正規表現の形式で格納される。出現率７８５には、頻出パターン７８０のパターンに合致するデータの割合が格納され、カラム番号＝６では、９８％のデータが頻出パターン７８０に合致していることを示している。【０１２４】
図１６は、データ仕様変更検出部２３で行われる処理の一例を示すフローチャートである。この処理は、図５のステップＳ３で行われるデータの意味の差分の検出処理である。【０１２５】
データ仕様変更検出部２３は、データ意味格納部３２にアクセスして、今回のデータ５００の意味を示す特徴量テーブル７００から１カラムのデータの意味（特徴量）を取得（Ｓ１３０５）する。【０１２６】
さらに、データ仕様変更検出部２３は、データ意味格納部３２にアクセスして、前回のデータ５００の同じカラムのデータの意味を示す特徴量を取得する(Ｓ１３１０)。【０１２７】
ステップＳ１３１５で、データ仕様変更検出部２３は、取得した今回のデータの意味（特徴量）と、前回のデータの同一カラムのデータの意味（特徴量）を比較して、特徴量が一致するか否かを判定する。特徴量の一致については図１７で詳述する。【０１２８】
ステップＳ１３１５でデータの意味（特徴量）が一致した場合には、データ仕様変更検出部２３がステップＳ１３２０で「カラムの変更無し」と判定する。一方、ステップＳ１３１５でデータの意味が一致しなかった場合、データ仕様変更検出部２３は、ステップＳ１３２５に処理を移す。【０１２９】
ステップＳ１３２５では、データ仕様変更検出部２３が、前回のデータのうち、上記ステップＳ１３１０で取得したカラムとは別のすべてのカラムと、ステップＳ１３０５で取得した今回データのカラムとの、データの意味（特徴量）を比較する。そして、ステップＳ１３３０では、データ仕様変更検出部２３が、他のカラムと今回のカラムのデータの意味（特徴量）が一致するか否かを判定する。一致の判定は上記ステップＳ１３１５と同じ内容である。【０１３０】
ステップＳ１３３０の判定で、一致する他のカラムがあった場合、データ仕様変更検出部２３は、カラムの入れ替えと判定し（Ｓ１３３５）、一致する他のカラムがない場合にはカラムの追加と判定する（Ｓ１３４０）。【０１３１】
上記ステップＳ１３２０、Ｓ１３３５、Ｓ１３４０によるカラムの変更無、入れ替え、追加の判定結果に基づき、データ仕様変更検出部２３は、前回のデータのいずれのカラムが、今回のデータのどのカラムに該当するか、または、新規に追加されたデータか、をカラム変化テーブル８００に記録する（Ｓ１３４５）。カラム変化テーブル８００は、データ意味格納部３２に格納され、図１８を用いて後述する。【０１３２】
次に、データ仕様変更検出部２３は、データ意味格納部３２の特徴量テーブル７００にアクセスして、今回のデータの中に、まだ処理を行っていないカラムがあるか否かを判定し（Ｓ１３５０）する。【０１３３】
データ仕様変更検出部２３は、まだ処理を行っていないカラムがあればステップＳ１３５５に進んで次のカラムに処理を移し、上記ステップＳ１３０５に戻って上記処理を繰り返す。【０１３４】
一方、ステップＳ１３５０の判定で、残りのカラムがないと判定した場合には、データ仕様変更検出部２３が、上記ステップＳ１３４５で記録したカラム変化テーブル８００を参照し、今回のデータと前回のデータのカラムの対応関係を取得する（Ｓ１３６０）。【０１３５】
次に、ステップＳ１３６５では、データ仕様変更検出部２３が、前回のデータのカラムのうち、今回のデータと対応づいていないカラムの有無を判定する（Ｓ１３６５）。データ仕様変更検出部２３は、前回のデータのカラムのうち、今回のデータと対応関係がないカラムがない場合（削除されたカラムがない場合）にはそのまま処理を終了する。【０１３６】
一方、前回のデータのカラムのうち、今回のデータと対応関係がないカラムが存在する場、データ仕様変更検出部２３は、当該カラムは今回のデータでは削除されていると判定し（Ｓ１３７０）、削除されたことを示す情報をステップＳ１３４５で記録したカラム変化テーブル８００追記して（Ｓ１３７５）処理を終了する。【０１３７】
上記処理によって、前回のデータ５００のカラム毎の特徴量テーブル７００と、今回のデータの特徴量テーブル７００の値を比較することで、カラム毎の変化が検出されてカラム変化テーブル８００に記録される。【０１３８】
図１７は、データ仕様変更検出部２３が行うデータの意味（特徴量）の一致の判定処理の一例を示すフローチャートである。この処理は、図１６のステップＳ１３１５、Ｓ１３３０で行われる。【０１３９】
データ仕様変更検出部２３は、特徴量テーブル７００を参照して、前回のデータのカラムと、今回のデータのカラムのデータ型７４５が一致するか否かを判定する（Ｓ１４０５）。データ仕様変更検出部２３は、データ型７４５が一致する場合には、ステップＳ１４１５へ進む。データ仕様変更検出部２３は、データ型７４５が一致しない場合にはデータの意味（特徴量）は不一致と判定（Ｓ１４１０）して処理を終了する。【０１４０】
データ仕様変更検出部２３は、ステップＳ１４０５の判定で、データ型７４５が一致した場合には、ステップＳ１４１５でデータ型に応じた分岐を行う。データ仕様変更検出部２３は、データ型７４５が数値型、日付時刻型の場合ステップＳ１４２０へ進み、文字型の場合にはステップＳ１４４０へ進む（Ｓ１４１５）。【０１４１】
ステップＳ１４２０では、データ仕様変更検出部２３が、今回のデータの特徴量テーブル７００と、前回のデータの特徴量テーブル７００から特徴量空間における特徴量の距離を算出する。特徴量の距離は、最大値７５５〜分散７７０の値から幾何学的な距離等の公知または周知の手法で算出すればよい。【０１４２】
ステップＳ１４２５では、データ仕様変更検出部２３が、上記距離が所定の閾値以下であるか否かを判定する。データ仕様変更検出部２３は、距離が閾値以下であれば、ステップＳ１４３０に進んで、前回と今回のカラムのデータの意味（特徴量）は一致すると判定する。一方、距離が閾値を超えていれば、データ仕様変更検出部２３は、ステップＳ１４３５へ進んで、前回と今回のカラムのデータの意味（特徴量）は一致しないと判定する。【０１４３】
文字型のステップＳ１４４０では、データ仕様変更検出部２３が、今回のデータの特徴量テーブル７００と、前回のデータの特徴量テーブル７００から頻出パターン７８０が一致するか否かを判定する。【０１４４】
データ仕様変更検出部２３は、頻出パターン７８０が一致すれば、ステップＳ１４４５に進んで、前回と今回のカラムのデータの意味（特徴量）は一致すると判定する。一方、頻出パターン７８０が一致しなければ、データ仕様変更検出部２３は、ステップＳ１４５０へ進んで、前回と今回のカラムのデータの意味（特徴量）は一致しないと判定する。【０１４５】
上処理によって、カラムの特徴量に基づいて、今回のデータのカラムと、前回のデータのカラムが同一であるか否かが判定される。【０１４６】
図１８は、データ仕様変更検出部２３が使用するカラム変化テーブル８００の一例を示す図である。このカラム変化テーブル８００は、図１６のステップＳ１３４５と、Ｓ１３７５で記録され、データ意味格納部３２に格納される。【０１４７】
カラム変化テーブル８００は、列方向（１５０５〜１５２５）に前回のデータのカラムが配置され、行方向（１５３０〜１５５０）に今回のデータのカラムが配置される。【０１４８】
図１６のステップＳ１３２０で、データ仕様変更検出部２３がカラムの変更はない、と判定した場合、今回のデータのカラムと、同じ番号の前回のデータカラムの交差するセルに１を入力し、それ以外のセルに０を入力する。さらにデータ仕様変更検出部２３は、今回データカラム１５３０〜１５５０の隣の列のカラム１５５５と、対応する前回のデータのカラム１５６０の欄に、「一致」と記録する。【０１４９】
図１６のステップＳ１３３５で、データ仕様変更検出部２３がカラムの入替と判定した場合、今回のデータのカラムと、対応する前回のデータのカラムが交差するセルに１を入力し、それ以外のセルに０を入力する。さらにデータ仕様変更検出部２３は、今回のデータカラムの隣のカラム１５５５と、対応する前回のデータのカラム１５６０に、「入替」と記録する。【０１５０】
図１６のステップＳ１３４０で、データ仕様変更検出部２３が、追加と判定した場合には、今回のデータのカラムの行のセルはすべて０を入力し、カラム１５５５の欄に「追加」と記録する。【０１５１】
ステップＳ１３６０では、データ仕様変更検出部２３が、このカラム変化テーブル８００の行１５６０を取得し、一致、入替と記録のない列があった場合には、図１６のステップＳ１３６５で対応する今回データのカラムがないと判定し、ステップＳ１３７０で当該カラムは削除されたと判定する。図１６のステップＳ１３７５では、データ仕様変更検出部２３が、該当する前回のカラム１５６０の欄に「削除」と記録する。【０１５２】
カラム変化テーブル８００を参照することで、データ仕様変更検出部２３は、前回のデータと、今回のデータの差異を判定することができる。【０１５３】
以上のように、上記実施例１では、データチェックサーバ５は、データソース１から取得したデータの意味を特徴量として解析しておくことで、データソース１におけるカラムの追加や、更新、あるいは削除などの仕様変更を検出することが可能となる。【０１５４】
また、データ仕様変更通知部２４は、カラムの変更の内容に応じて、マッピング情報の修正案と、データモデルの修正案をユーザ操作用ＰＣ７へ提示することができ、ＥＴＬサーバ２とＤＷＨ３のメンテナンスを容易に行うことが可能となる。
【実施例２】
【０１５５】
図１９〜図２３は、本発明の実施例２を示し、データ意味解析部２２に機械学習部を加え、カラムのデータの意味（内容）を推定するもので、その他の構成については前記実施例１と同様である。【０１５６】
本実施例２のデータ意味解析部２２は、機械学習部９０５、１００５（図２０、図２１参照）を有し、特徴量テーブル７００にデータの内容を追加した点が前記実施例１と相違する。【０１５７】
図１９は、データ意味解析部２２で行われる処理の一例を示すフローチャートである。この処理は、前記実施例１の図５のステップＳ２で行われるデータの意味の解析処理である。このフローチャートは、ステップＳ６１〜Ｓ６９が前記実施例１と同様であり、特徴量を算出した後に、データの内容を推定するステップＳ８１、Ｓ８２、Ｓ８３を追加した点が相違する。【０１５８】
データ意味解析部２２は、数値型であればステップＳ６４へ進んで数値型のカラムの特徴量を算出して、特徴量テーブル７００に書き込む。そして、ステップ８１では、データ意味解析部２２が、上記算出された特徴量を機械学習部９０５（図２０）へ入力して、データの内容の推定値を算出させる。データ意味解析部２２は、データの内容の推定値を特徴量テーブル７００へ格納する。【０１５９】
ステップ８２では、データ意味解析部２２が、ステップＳ６５で算出された文字型の特徴量から予め設定されたデータパターン１２００を参照して、データの内容の推定値を取得し、特徴量テーブル７００へ格納する。【０１６０】
ステップ８３では、データ意味解析部２２が、ステップＳ６６で算出された日付時刻型の特徴量を機械学習部１００５（図２１）へ入力して、データの内容の推定値をさせて、特徴量テーブル７００へ格納する。【０１６１】
図２０は、数値型のデータに関して、データの内容を推定する機械学習部９０５の一例を示す図である。【０１６２】
図１９のステップＳ８１では、機械学習部９０５へ特徴量を入力してカラムのデータの内容を推定する。機械学習部９０５としてはニューラルネットワークを用いる例を示すが、ベイズ推定など、公知または周知のパターン認識技術を用いることができる。【０１６３】
機械学習部９０５は、入力部（９１０〜９３０）と、出力部（９５０〜９７５）を有する。入力部（入力素子）としては、最大値９１０、最小値９１５、平均値９２０、分散９２５、周期性９３０を含む。また、出力部（出力素子）としては、温度９５０、湿度９５５、速度９６０、電圧９６５、電流９７０、圧力９７５を含む。【０１６４】
機械学習部９０５は、データの内容が既知のデータの特徴量を用い、特徴量を入力すると該当する出力部が１、それ以外の出力部が０を出力するよう学習しておく。【０１６５】
図１９のステップＳ８１では、学習済みの機械学習部９０５に、ステップＳ６４で算出された特徴量を入力し、各出力部の出力を求める。出力の最大値が、予め設定した閾値以上の場合、その出力値を出力した出力部に該当するデータの内容を、機械学習部９０５の推定結果とする。閾値以下の場合、機械学習部９０５では、該当するデータの内容の出力は無しとする。【０１６６】
図２１は、日付時刻型のデータに関して、データの内容を推定する機械学習部１００５の一例を示す図である。【０１６７】
図１９のステップＳ８３では、学習済みの機械学習部１００５へ特徴量を入力してカラムのデータの内容を推定する。機械学習部１００５としてはニューラルネットワークを用いる例を示すが、ベイズ推定など、公知または周知のパターン認識技術を用いることができる。【０１６８】
機械学習部１００５は、入力部（入力素子）１０１０〜１０２５と、出力部（出力素子）１０５０〜１０６５を有する。入力部としては、最大値１０１０、最小値１０１５、平均値１０２０、分散１０２５を含む。また、出力部としては、開始時刻１０５０、終了時刻１０５５、測定時刻１０６０、イベント発生時刻１０６５を含む。【０１６９】
図１９のステップＳ６６で算出された特徴量を、それぞれ該当する入力部へ与えて、出力部から推定結果を得る。機械学習部１００５は、データの内容が既知のデータの特徴量を用い、特徴量を入力すると該当する出力部が１、それ以外の出力部が０を出力するよう学習しておく。【０１７０】
図１９のステップＳ８３では、学習済みの機械学習部１００５に、ステップＳ６６で算出された特徴量を入力し、各出力部の出力を求める。これにより、データ意味解析部２２は、日付時刻型のデータの内容の推定値を得ることができる。【０１７１】
図２２は、文字型のデータパターン２２００の一例を示す図である。図１９のステップＳ８２で、データ意味解析部２２が、文字列型データのデータ内容を推定する方法の一例としては、予め文字型のデータの内容と、そのデータの内容に対する文字列パターンとの組をデータパターン２２００に設定しておく。【０１７２】
そして、データ意味解析部２２は、データパターン１２００に設定されたパターンと、ステップＳ６５で文字列型データの特徴量として求めた頻出パターン７８０とを比較し、データ内容を推定する。【０１７３】
図２２のデータパターン２２００は、予め設定されるデータのパターン２２１０と、データの内容２２２０の組の一例を示す。パターン２２１０に文字列のパターンを記録し、データの内容２２２０に各パターンに対応するデータの意味を記録しておく。【０１７４】
図１９のステップＳ６５では、データ意味解析部２２が、文字列型データの特徴量として頻出パターン７８０を正規表現の形式で算出する。そして、データ意味解析部２２は、算出された正規表現形式の頻出パターン７８０を、パターン２２１０に格納されたパターンと比較して一致するパターンを特定する。データ意味解析部２２は、一致したパターン２２１０に対し、データの内容２２２０に格納されているデータの内容を、推定結果とする。一致するパターンが存在しない場合には、該当するデータの内容は無し、とする。【０１７５】
図２３は、特徴量テーブル７００の一例を示す図である。前記実施例１の図１５に対して、新たにデータ内容１２４０の行を追加した点が前記実施例１と異なる。【０１７６】
データ意味解析部２２は、図１９のステップＳ８１、Ｓ８２、Ｓ８３で推定したデータの内容をデータ内容１２４０に格納する。前記実施例１では、図１６に示したカラムの一致を特徴量と閾値で判定していたが、本実施例２では、カラムのデータ内容１２４０が前回のデータと、今回のデータで一致しているか否かを判定すればよい。これにより、前回のデータと、今回のデータのカラム毎の変更の有無を判定する精度を向上させることができる。【０１７７】
＜まとめ＞【０１７８】
以上のように、上記実施例１、２は、プロセッサ（１１）とメモリ（１４）とを有する計算機（データチェックサーバ５）が、データソース（１）のデータに変更が発生したことを検出するデータ管理方法であって、前記計算機（５）が、前記データソース（１）からデータを取得する第１のステップ（Ｓ１）と、前記計算機（５）が、前記取得したデータの意味をカラム単位で解析して今回の解析結果を意味格納部（データ意味格納部３２）へ格納する第２のステップ（Ｓ２）と、前記計算機（５）が、前記意味格納部（３２）から当該カラムの前回の解析結果を取得する第３のステップ（Ｓ３）と、前記計算機（５）が、今回の解析結果と前回の解析結果を比較して（Ｓ３）、データに差分がある場合には前記データに変更が発生したと判定する第４のステップ（Ｓ４）と、前記計算機（５）が、前記データに変更が発生したと判定された場合には、当該変更の発生と前記差分の内容を出力する第５のステップ（Ｓ５）と、を含む。【０１７９】
これにより、データチェックサーバ５は、データソース１から取得したデータの意味を特徴量として解析しておくことで、データソース１におけるカラムの追加や、更新、あるいは削除などの仕様変更を検出することが可能となる。【０１８０】
また、前記第２のステップ（Ｓ２）は、前記データのカラム単位の特徴量を前記データの意味として算出し、今回の解析結果として前記意味格納部（３２）へ格納する。これにより、データ意味解析部２２が、データソース１のカラム単位の特徴量を算出し、データ意味格納部３２へ蓄積しておくことでデータ仕様変更検出部２３は、同一のカラムの仕様の変更を検出することができる。【０１８１】
また、前記第４のステップは、前記今回の特徴量と前記前回の特徴量の距離を算出し（Ｓ１４２０）、前記距離が予め設定された閾値よりも大きい場合（Ｓ１４２５）には前記データに変更が発生したと判定する（Ｓ１４３５）。【０１８２】
これにより、データ仕様変更検出部２３は、前回の特徴量と今回の特徴量を所定の閾値で比較することで、カラム単位でのデータの変更を検出することが可能となる。【０１８３】
また、前記第２のステップは、前記データのカラム単位の特徴量を前記データの意味として算出し、予め学習させた機械学習部（９０５、１００５）に前記特徴量を入力して前記データの内容を推定させ、前記機械学習部（９０５、１００５）の推定結果を今回の解析結果として前記意味格納部（３２）へ格納する。【０１８４】
これにより、データ意味解析部２２が、カラム単位の特徴量を機械学習部９０５、１００５へ入力してデータの内容を推定させることで、データ仕様変更検出部２３は、推定結果の一致または不一致を判定することで、カラムの変更の発生を検出することができる。【０１８５】
また、前記計算機（５）は、前記データソース１のデータを集約して出力データを生成するためのマッピング情報を、前記差分の内容に応じて更新し、更新されたマッピング情報をデータの集約を実行するサーバに送信する第６のステップ（Ｓ２０４）を、さらに含む。【０１８６】
これにより、データチェックサーバ５のマッピング情報修正部２５は、データの変更内容に基づいて更新したマッピング情報を、データの集約を実行するＥＴＬサーバ２へ通知することができる。【０１８７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。【０１８８】
また、上記の各構成、機能、処理部、及び処理部等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。【０１８９】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【図１】
2020115864.tif 000003
【図２】
2020115864.tif 000004
【図３】
2020115864.tif 000005
【図４】
2020115864.tif 000006
【図５】
2020115864.tif 000007
【図６】
2020115864.tif 000008
【図７】
2020115864.tif 000009
【図８Ａ】
2020115864.tif 000010
【図８Ｂ】
2020115864.tif 000011
【図９】
2020115864.tif 000012
【図１０】
2020115864.tif 000013
【図１１】
2020115864.tif 000014
【図１２】
2020115864.tif 000015
【図１３】
2020115864.tif 000016
【図１４】
2020115864.tif 000017
【図１５】
2020115864.tif 000018
【図１６】
2020115864.tif 000019
【図１７】
2020115864.tif 000020
【図１８】
2020115864.tif 000021
【図１９】
2020115864.tif 000022
【図２０】
2020115864.tif 000023
【図２１】
2020115864.tif 000024
【図２２】
2020115864.tif 000025
【図２３】
2020115864.tif 000026
【国際調査報告】
2020115864.tif 000027
2020115864.tif 000028
2020115864.tif 000029
2020115864.tif 000030