(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-06
(45)【発行日】2024-11-14
(54)【発明の名称】データ連携システム
(51)【国際特許分類】
H04L 67/00 20220101AFI20241107BHJP
【FI】
H04L67/00
(21)【出願番号】P 2020034412
(22)【出願日】2020-02-28
【審査請求日】2023-01-30
(73)【特許権者】
【識別番号】000006150
【氏名又は名称】京セラドキュメントソリューションズ株式会社
(74)【代理人】
【識別番号】100140796
【氏名又は名称】原口 貴志
(72)【発明者】
【氏名】中島 孝記
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特表2019-506785(JP,A)
【文献】特開2019-074856(JP,A)
【文献】国際公開第2014/172564(WO,A1)
【文献】高木 章光 AKIMITSU TAKAGI,図解入門 最新 データサイエンスがよ~くわかる本 第1版 Data Science,第1版,株式会社秀和システム 斉藤 和邦,2019年02月01日,P.156-159, 168-169
【文献】西田 圭介 Keisuke Nishida,WEB+DB PRESS plusシリーズ、ビッグデータを支える技術 刻々とデータが脈打つ自動化の世界 初版 ,第1版,株式会社技術評論社 片岡 巌,2017年11月03日,P.12-16, P.88-97, P.132-138, P.178-189
【文献】西田 圭介 Keisuke Nishida,WEB+DB PRESS plusシリーズ、ビッグデータを支える技術 刻々とデータが脈打つ自動化の世界 初版 ,第1版,株式会社技術評論社 片岡 巌,2017年11月03日,P.12-16, P.178-189
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/00
(57)【特許請求の範囲】
【請求項1】
情報システムが保持しているデータを収集するデータ収集システムと、
前記データ収集システムによって収集された、複数の前記情報システムが保持しているデータを蓄積するデータ蓄積システムと
、
前記データ蓄積システムに蓄積されているデータを利用するアプリケーション部と
を備え、
前記データ収集システムは、前記情報システムが保持しているデータを収集するトランザクションの対象のデータが特定の処理単位より大きい場合に、前記トランザクションの対象のデータを前記特定の処理単位毎に分割する、
データ連携システムであって、
前記データ連携システムにおける前記特定の処理単位のデータに対する各段階の処理を監視する処理監視システムを備え、
前記処理監視システムは、失敗した前記処理を検出した場合に、この処理を再実行させ
、
前記データ蓄積システムは、
前記データ収集システムによって収集されたデータに対して第1のデータ変換処理を実行する第1のデータ変換システムと、
前記第1のデータ変換システムによって前記第1のデータ変換処理が実行されたデータに対して第2のデータ変換処理を実行して、前記第2のデータ変換処理が実行されたデータを、前記アプリケーション部によって利用されるデータとして管理する第2のデータ変換システムと、
前記第1のデータ変換システムによって前記第1のデータ変換処理が実行されたデータを前記第2のデータ変換システムに転送するデータ転送処理部と、
前記第2のデータ変換システムへの転送用のデータを蓄積する転送用データ蓄積システムと
を備え、
前記データ転送処理部は、前記第1のデータ変換システムによって前記第1のデータ変換処理が実行されたデータを前記転送用データ蓄積システム経由で前記第2のデータ変換システムに転送し、
前記処理監視システムは、前記データ蓄積システムに蓄積されているデータの最新化が前記アプリケーション部から要求された場合に、前記アプリケーション部から最新化が要求されたデータを収集する前記処理を前記データ収集システムに実行させ、
前記データ転送処理部は、前記アプリケーション部から最新化が要求されて前記データ収集システムによって収集されたデータに関して、前記第1のデータ変換システムによって前記第1のデータ変換処理が実行されたデータを、前記転送用データ蓄積システムを経由せずに、前記第2のデータ変換システムに直接転送することを特徴とするデータ連携システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の情報システムが保持しているデータを収集して蓄積するデータ連携システムおよび処理監視システムに関する。
【背景技術】
【0002】
従来、外部の複数のシステムと連携する情報処理システムが知られている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1には、複数の情報システムが保持しているデータを収集して蓄積するデータ連携システムにおいて、連携の途中で処理が失敗した場合の振る舞いについては記載されていない。
【0005】
そこで、本発明は、連携の途中で処理が失敗したとしてもデータを連携することができるデータ連携システムおよび処理監視システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明のデータ連携システムは、情報システムが保持しているデータを収集するデータ収集システムと、前記データ収集システムによって収集された、複数の前記情報システムが保持しているデータを蓄積するデータ蓄積システムとを備えるデータ連携システムであって、前記データ連携システムにおけるデータに対する各段階の処理を監視する処理監視システムを備え、前記処理監視システムは、失敗した前記処理を検出した場合に、この処理を再実行させることを特徴とする。
【0007】
この構成により、本発明のデータ連携システムは、データ連携システム自身におけるデータに対する各段階の処理のうち、失敗した処理を検出した場合に、この処理を再実行させるので、連携の途中で処理が失敗したとしてもデータを連携することができる。
【0008】
本発明のデータ連携システムは、前記データ蓄積システムに蓄積されているデータを利用するアプリケーション部を備え、前記処理監視システムは、前記データ蓄積システムに蓄積されているデータの最新化が前記アプリケーション部から要求された場合に、前記アプリケーション部から最新化が要求されたデータを収集する前記処理を前記データ収集システムに実行させても良い。
【0009】
この構成により、本発明のデータ連携システムは、データ蓄積システムに蓄積されているデータの最新化がアプリケーション部から処理監視システムに要求された場合に、アプリケーション部から最新化が要求されたデータを収集する処理をデータ収集システムに実行させるので、データ蓄積システムに蓄積されているデータを容易に最新化することができる。
【0010】
本発明の処理監視システムは、情報システムが保持しているデータを収集するデータ収集システムと、前記データ収集システムによって収集された、複数の前記情報システムが保持しているデータを蓄積するデータ蓄積システムとを備えるデータ連携システムにおけるデータに対する各段階の処理を監視する処理監視システムであって、前記処理監視システムは、失敗した前記処理を検出した場合に、この処理を再実行させることを特徴とする。
【0011】
この構成により、本発明の処理監視システムは、データ連携システムにおけるデータに対する各段階の処理のうち、失敗した処理を検出した場合に、この処理を再実行させるので、データ連携システムによる連携の途中で処理が失敗したとしてもデータ連携システムによってデータを連携することができる。
【発明の効果】
【0012】
本発明のデータ連携システムおよび処理監視システムは、連携の途中で処理が失敗したとしてもデータを連携することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の一実施の形態に係るシステムのブロック図である。
【
図2】
図1に示すデータ蓄積システムに備えられるパイプラインのブロック図である。
【
図3】
図1に示すパイプライン・オーケストレーターのブロック図である。
【
図4】情報システムが保持しているデータがPOSTコネクターによって収集されてパイプラインに送信される場合の
図1に示すシステムの動作の流れの一例を示す図である。
【
図5】パイプラインにファイルを送信する場合の
図4に示すPOSTコネクターの動作のフローチャートである。
【
図6】情報システムが保持しているデータがGETコネクターによって収集されてパイプラインに渡される場合の
図1に示すシステムの動作の流れの一例を示す図である。
【
図7】情報システムが保持しているデータがPOSTエージェントによって収集されてパイプラインに送信される場合の
図1に示すシステムの動作の流れの一例を示す図である。
【
図8】パイプラインにファイルを送信する場合の
図7に示すPOSTエージェントの動作のフローチャートである。
【
図9】情報システムが保持しているデータがGETエージェントによって収集されてパイプラインに渡される場合の
図1に示すシステムの動作の流れの一例を示す図である。
【
図10】データ蓄積システムがデータを蓄積する場合の
図1に示すデータ連携システムの動作の一部のシーケンス図である。
【
図11】
図10に示す動作の続きの動作のシーケンス図である。
【
図12】
図10に示すマスキング処理におけるマスキング処理部の動作のフローチャートである。
【
図13】
図12に示す動作において使用されるデータ管理テーブルの一例を示す図である。
【
図14】マスキング処理部がデータの処理を失敗した場合の
図1に示すデータ連携システムの動作のシーケンス図である。
【
図15】データ蓄積システムに蓄積されている特定の情報システムのデータの最新化をアプリケーション部が要求する場合の
図1に示すデータ連携システムの動作のシーケンス図である。
【
図16】特定の情報システムの構成の変更に応じて自身の構成を変更する場合の
図1に示すデータ連携システムの動作のフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、図面を用いて説明する。
【0015】
まず、本発明の一実施の形態に係るシステムの構成について説明する。
【0016】
図1は、本実施の形態に係るシステム10のブロック図である。
【0017】
図1に示すように、システム10は、データを生み出すデータソース部20と、データソース部20によって生み出されたデータを連携するデータ連携システム30とを備えている。
【0018】
データソース部20は、データを生み出す情報システム21を備えている。情報システム21は、情報システム21の構成や設定を保存する構成管理サーバー21aを備えている。データソース部20は、情報システム21以外にも、少なくとも1つの情報システムを備えていても良い。情報システムの例としては、MFP(Multifunction Peripheral)、プリンター専用機などの画像形成装置を遠隔で管理する遠隔管理システムなどのIoT(Internet of Things)システムと、ERP(Enterprise Resource Planning)、生産管理システムなどの社内システムとが存在する。情報システムのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。情報システムは、構造化データのファイルを保持しても良い。情報システムは、非構造化データのファイルを保持しても良い。情報システムは、構造化データのデータベースを保持しても良い。
【0019】
データソース部20は、情報システムが保持している、構造化データまたは非構造化データのファイルを取得して、取得したファイルをデータ連携システム30の後述のパイプラインに送信するデータ収集システムとしてのPOSTコネクター22を備えている。データソース部20は、POSTコネクター22と同様の構成のPOSTコネクターをPOSTコネクター22以外に少なくとも1つ備えても良い。POSTコネクターは、POSTコネクター自身がファイルを取得する情報システムを構成するコンピューターによって構成されても良い。なお、POSTコネクターは、データ連携システム30の構成でもある。
【0020】
データソース部20は、情報システムが保持している構造化データのデータベースから構造化データを取得して、取得した構造化データをデータ連携システム30の後述のパイプラインに送信するデータ収集システムとしてのPOSTエージェント23を備えている。データソース部20は、POSTエージェント23と同様の構成のPOSTエージェントをPOSTエージェント23以外に少なくとも1つ備えても良い。POSTエージェントは、POSTエージェント自身が構造化データを取得する情報システムを構成するコンピューターによって構成されても良い。なお、POSTエージェントは、データ連携システム30の構成でもある。
【0021】
データソース部20は、情報システムが保持しているデータに基づいて連携用の構造化データを生成するデータ収集システムとしてのGET用エージェント24を備えている。データソース部20は、GET用エージェント24と同様の構成のGET用エージェントをGET用エージェント24以外に少なくとも1つ備えても良い。GET用エージェントは、連携用の構造化データの生成の元になったデータを保持している情報システムを構成するコンピューターによって構成されても良い。なお、GET用エージェントは、データ連携システム30の構成でもある。
【0022】
データ連携システム30は、データソース部20によって生み出されたデータを蓄積するデータ蓄積システム40と、データ蓄積システム40に蓄積されているデータを利用するアプリケーション部50と、データ蓄積システム40およびアプリケーション部50に対する各種の制御を実行する制御サービス部60とを備えている。
【0023】
データ蓄積システム40は、データソース部20によって生み出されたデータを蓄積するパイプライン41を備えている。データ蓄積システム40は、パイプライン41以外にも、少なくとも1つのパイプラインを備えていても良い。情報システムにおけるデータの構成が情報システム毎に異なる可能性があるので、データ蓄積システム40は、基本的に、情報システム毎にパイプラインを備えている。パイプラインのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0024】
図2は、データ蓄積システム40に備えられるパイプライン70のブロック図である。
【0025】
図2に示すように、パイプライン70は、POSTコネクター、POSTエージェント、後述のGETコネクター、または、後述のGETエージェントから受け取ったデータを記憶する記憶領域を備える1次ストレージ71と、1次ストレージ71に記憶されたデータのうち、情報システムの利用者の個人情報などのプライバシーに関するデータに対してデータ変換処理としてマスキング処理を実行するデータ変換システムとしてのマスキング処理部72と、マスキング処理部72によってマスキング処理が実行されたデータを、後述のビッグデータ解析部44(
図1参照。)に転送するデータ転送処理を実行するデータ転送処理部73と、ビッグデータ解析部44への転送用のデータを蓄積する記憶領域を備える2次ストレージ74とを備えている。なお、1次ストレージ71が設けられる理由は、データの処理において、例えばマスキング処理の工程やデータ転送処理の工程など、1次ストレージ71へのデータの記憶の工程より後の工程で処理が失敗した場合に、ネットワーク通信コストが高い、データソース部20からデータ連携システム30へのデータの再送信を行うことなく、1次ストレージ71に記憶されているデータを使用して、失敗した処理を再実行することを可能にするためである。1次ストレージ71および2次ストレージ74は、それぞれ単なる記憶装置ではなく、後述する種々の処理を実行することができるシステムである。
【0026】
図1に示すように、データ蓄積システム40は、情報システムが保持している、構造化データまたは非構造化データのファイルを取得して、取得したファイルをパイプラインに連携するデータ収集システムとしてのGETコネクター42を備えている。データ蓄積システム40は、GETコネクター42と同様の構成のGETコネクターをGETコネクター42以外に少なくとも1つ備えても良い。GETコネクターは、GETコネクター自身がファイルを連携するパイプラインを構成するコンピューターによって構成されても良い。
【0027】
なお、システム10は、構造化データまたは非構造化データのファイルがデータ蓄積システム40側から取得されることに対応していない情報システムに対しては、データソース部20にPOSTコネクターを備える。一方、システム10は、構造化データまたは非構造化データのファイルがデータ蓄積システム40側から取得されることに対応している情報システムに対しては、データ蓄積システム40にGETコネクターを備える。
【0028】
データ蓄積システム40は、GET用エージェントによって生成された構造化データを取得して、取得した構造化データをパイプラインに連携するデータ収集システムとしてのGETエージェント43を備えている。データ蓄積システム40は、GETエージェント43と同様の構成のGETエージェントをGETエージェント43以外に少なくとも1つ備えても良い。GETエージェントは、GETエージェント自身が構造化データを連携するパイプラインを構成するコンピューターによって構成されても良い。
【0029】
なお、システム10は、構造化データがデータ蓄積システム40側から取得されることに対応していない情報システムに対しては、データソース部20にPOSTエージェントを備える。一方、システム10は、構造化データがデータ蓄積システム40側から取得されることに対応している情報システムに対しては、データソース部20にGET用エージェントを備えるとともに、データ蓄積システム40にGETエージェントを備える。
【0030】
データ蓄積システム40は、複数のパイプラインによって蓄積されたデータを、例えばSQLなどのデータベース言語などのクエリー言語で検索や集計が可能な形態に変換するデータ変換処理として最終変換処理を実行するデータ変換システムとしてのビッグデータ解析部44を備えている。ビッグデータ解析部44は、最終変換処理を実行したデータに対して、アプリケーション部50側からの検索要求や集計要求に応じて検索や集計を実行することも可能である。ビッグデータ解析部44は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0031】
最終変換処理は、複数の情報システムのデータを統合するデータ統合処理をデータ変換処理として含んでいても良い。アジアに配置されている多数の画像形成装置を遠隔で管理するためにアジアに配置されている遠隔管理システムと、ヨーロッパに配置されている多数の画像形成装置を遠隔で管理するためにヨーロッパに配置されている遠隔管理システムと、アメリカに配置されている多数の画像形成装置を遠隔で管理するためにアメリカに配置されている遠隔管理システムとをシステム10が情報システムとして備えている場合、これら3つの遠隔管理システムは、それぞれ、遠隔管理システム自身が管理している画像形成装置を管理するデバイス管理テーブルを備えている。デバイス管理テーブルは、画像形成装置毎に付与したIDに対応付けて、画像形成装置の各種の情報を示す情報である。ここで、3つの遠隔管理システムがそれぞれ独自にデバイス管理テーブルを備えているので、3つの遠隔管理システムのデバイス管理テーブル間においては、別々の画像形成装置に同一のIDが付与されている可能性がある。そこで、ビッグデータ解析部44は、3つの遠隔管理システムのデバイス管理テーブルを統合して1つのデバイス管理テーブルを生成する場合に、画像形成装置のIDを重複が生じないように付与し直す。
【0032】
アプリケーション部50は、ビッグデータ解析部44によって管理されているデータを利用して、例えばデータの表示や、データの分析など、利用者によって指示された特定の動作を実行するアプリケーションサービス51を備えている。アプリケーション部50は、アプリケーションサービス51以外にも、少なくとも1つのアプリケーションサービスを備えていても良い。アプリケーションサービスのそれぞれは、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0033】
アプリケーション部50は、ビッグデータ解析部44によって管理されているデータを利用して特定の動作を実行するAPI(Application Program Interface)を提供するAPIプラットフォーム52を備えている。APIプラットフォーム52は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。例えば、APIプラットフォーム52によって提供されるAPIとしては、画像形成装置のトナーなどの消耗品の残量が特定の量以下である場合に消耗品を発注する、システム10の外部の消耗品発注システムに、遠隔管理システムによって画像形成装置から収集された消耗品の残量のデータを送信するAPIと、画像形成装置の故障を予測する、システム10の外部の故障予測システムに、遠隔管理システムによって画像形成装置から収集された各種のデータを送信するAPIとが存在する。
【0034】
制御サービス部60は、データソース部20、データ蓄積システム40およびアプリケーション部50におけるデータに対する各段階の処理を監視する処理監視システムとしてのパイプライン・オーケストレーター61を備えている。パイプライン・オーケストレーター61は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0035】
図3は、パイプライン・オーケストレーター61のブロック図である。
【0036】
図3に示すように、パイプライン・オーケストレーター61は、パイプライン・オーケストレーター61の動作のトリガーを処理するトリガー処理部81と、パイプライン・オーケストレーター61の動作のシナリオを複数記憶しているアクション記述部82と、パイプライン・オーケストレーター61の動作を実行するアクション処理部83とを備えている。
【0037】
図1に示すように、制御サービス部60は、データ蓄積システム40の構成や設定を保存し、必要に応じて自動的にデプロイを実行する構成管理サーバー62を備えている。構成管理サーバー62は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。構成管理サーバー62は、データ連携システム30の構成を変更する構成変更システムを構成している。
【0038】
制御サービス部60は、情報システムの構成管理サーバーに接続し、情報システムにおけるデータベースや非構造化データに関する構成の変更、すなわち、情報システムにおけるデータの構成の変更を検出するための情報を収集する構成管理ゲートウェイ63を備えている。構成管理ゲートウェイ63は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0039】
制御サービス部60は、情報システムなどの各システム間を連携するために必要な鍵情報や接続文字列などのセキュリティー情報を暗号化して保管するKey管理サービス64を備えている。Key管理サービス64は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0040】
制御サービス部60は、データ蓄積システム40やアプリケーション部50からの要求を受け付ける管理API65を備えている。管理API65は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。
【0041】
制御サービス部60は、アプリケーション部50のアプリケーションサービスの認証認可を実行する認証認可サービス66を備えている。認証認可サービス66は、1台のコンピューターによって構成されても良いし、複数台のコンピューターによって構成されても良い。認証認可サービス66は、例えば、データ蓄積システム40に蓄積されている情報システムのデータの最新化を要求することをアプリケーションサービスが許可されているか否かを確認することができる。
【0042】
次に、システム10の動作について説明する。
【0043】
まず、情報システム21が保持しているデータがPOSTコネクター22によって収集されてパイプライン41に送信される場合のシステム10の動作について説明する。
【0044】
図4は、情報システム21が保持しているデータがPOSTコネクター22によって収集されてパイプライン41に送信される場合のシステム10の動作の流れの一例を示す図である。
【0045】
図4に示す例においては、情報システム21は、生産管理システム100である。
【0046】
図4に示すように、生産管理システム100は、生産管理を実行する生産管理サーバー101と、構造化データまたは非構造化データのファイルを記憶するためのストレージ102とを備えている。
【0047】
生産管理サーバー101は、バッチ処理によって構造化データまたは非構造化データのファイルをストレージ102に記憶させるバックアップを実行する(S201)。
【0048】
生産管理サーバー101は、S201の処理の後、S201においてストレージ102に記憶させたファイルをパイプラインに転送することをPOSTコネクター22に対して指示する(S202)。ここで、生産管理サーバー101は、S201においてストレージ102に記憶させたファイルの識別情報をS202における指示に含める。
【0049】
POSTコネクター22は、S202における指示を受けると、S202における指示に含まれている識別情報によって特定されるファイルをストレージ102から取得する(S203)。
【0050】
POSTコネクター22は、S203の処理の後、S203において取得したファイルを、POSTコネクター22自身が対応付けられているパイプライン41に送信する(S204)。
【0051】
図5は、パイプライン41にファイルを送信する場合のPOSTコネクター22の動作のフローチャートである。
【0052】
図5に示すように、POSTコネクター22は、パイプライン41にファイルを送信する今回のトランザクションに識別情報としてのトランザクションIDを付与する(S221)。ここで、トランザクションIDは、例えば数値であり、POSTコネクター22において新たなトランザクションが発生する度にインクリメントされる。
【0053】
POSTコネクター22は、今回のトランザクションの対象のデータが特定の処理単位より大きいか否かを判断する(S222)。ここで、特定の処理単位は、例えば特定の数のファイルである。
【0054】
POSTコネクター22は、今回のトランザクションの対象のデータが特定の処理単位より大きいとS222において判断すると、今回のトランザクションの対象のデータを特定の処理単位毎に分割する(S223)。
【0055】
POSTコネクター22は、今回のトランザクションの対象のデータが特定の処理単位以下であるとS222において判断するか、S223の処理が終了すると、処理単位のデータ毎に識別情報としての処理IDを付与する(S224)。ここで、処理IDは、例えば数値であり、同一のトランザクションにおいて、POSTコネクター22において特定の処理単位のデータが新たに発生する度にインクリメントされる。
【0056】
POSTコネクター22は、S224の処理の後、今回のトランザクションの対象のデータを処理単位毎にパイプライン41に送信することを開始する(S225)。
【0057】
次いで、POSTコネクター22は、特定の単位時間当たりにパイプライン41に送信したファイルの数が特定の数を超えたか否かを判断する(S226)。
【0058】
POSTコネクター22は、特定の単位時間当たりにパイプライン41に送信したファイルの数が特定の数を超えていないとS226において判断すると、今回のトランザクションの対象のデータをパイプライン41に送信することが完了したか否かを判断する(S227)。
【0059】
POSTコネクター22は、今回のトランザクションの対象のデータをパイプライン41に送信することが完了していないとS227において判断すると、S226の処理を実行する。
【0060】
POSTコネクター22は、今回のトランザクションの対象のデータをパイプライン41に送信することが完了したとS227において判断すると、
図5に示す動作を終了する。
【0061】
POSTコネクター22は、特定の単位時間当たりにパイプライン41に送信したファイルの数が特定の数を超えたとS226において判断すると、パイプライン41のスケールアウトと、パイプライン41による並列処理の開始とをパイプライン・オーケストレーター61に指示する(S228)。したがって、パイプライン・オーケストレーター61は、S227における指示に従って、パイプライン41を特定の状態までスケールアウトするとともに、並列処理の開始をパイプライン41に指示する。
【0062】
次いで、POSTコネクター22は、今回のトランザクションの対象のデータをパイプライン41に送信することが完了したと判断するまで、今回のトランザクションの対象のデータをパイプライン41に送信することが完了したか否かを判断する(S229)。
【0063】
POSTコネクター22は、今回のトランザクションの対象のデータをパイプライン41に送信することが完了したとS229において判断すると、パイプライン41のスケールインと、パイプライン41による並列処理の終了とをパイプライン・オーケストレーター61に指示する(S230)。したがって、パイプライン・オーケストレーター61は、S230における指示に従って、パイプライン41を元の状態までスケールインするとともに、並列処理の終了をパイプライン41に指示する。
【0064】
POSTコネクター22は、S230の処理の後、
図5に示す動作を終了する。
【0065】
次に、情報システムが保持しているデータがGETコネクター42によって収集されてパイプラインに渡される場合のシステム10の動作について説明する。
【0066】
図6は、情報システムが保持しているデータがGETコネクター42によって収集されてパイプラインに渡される場合のシステム10の動作の流れの一例を示す図である。
【0067】
図6に示す例においては、情報システムは、画像形成装置の遠隔管理システム120である。
図6に示す例は、画像形成装置の各種のセンサーの出力値を含むセンサー情報を含むメンテナンスレポートの取得を利用者が遠隔管理システム120に指示する場合の動作の例である。
【0068】
図6に示すように、遠隔管理システム120は、利用者からの指示を受け付けるための利用者通信サーバー121と、利用者からの指示に応じた処理を実行するバックエンド処理サーバー122と、画像形成装置に各種のコマンドを送信するコマンドサーバー123と、画像形成装置からデータを受信するためのデバイス通信サーバー124と、遠隔管理システム120の管理の対象の画像形成装置の各種のデータを記憶するデータベース125と、構造化データまたは非構造化データのファイルを記憶するためのストレージ126とを備えている。遠隔管理システム120は、画像形成装置130を含む多数の画像形成装置を管理している。データベース125は、遠隔管理システム120の管理の対象の画像形成装置について、画像形成装置の識別情報としてのデバイスIDを記憶している。
【0069】
遠隔管理システム120の利用者は、画像形成装置130のメンテナンスレポートの取得の指示を遠隔管理システム120に送信することができる。この指示には、メンテナンスレポートの取得先の画像形成装置130のデバイスIDが含まれている。遠隔管理システム120の利用者通信サーバー121は、メンテナンスレポートの取得の指示を受信すると、受信した指示をバックエンド処理サーバー122に送信する(S251)。
【0070】
バックエンド処理サーバー122は、S251において利用者通信サーバー121によって送信された、メンテナンスレポートの取得の指示を受信すると、メンテナンスレポートを取得するためのメンテナンスレポート取得コマンドの送信の要求をコマンドサーバー123に送信する(S252)。この要求には、メンテナンスレポートの取得の指示に含まれていたデバイスIDが含まれている。
【0071】
コマンドサーバー123は、S252においてバックエンド処理サーバー122によって送信された、メンテナンスレポート取得コマンドの送信の要求を受信すると、この要求に含まれているデバイスIDによって特定される画像形成装置130にメンテナンスレポート取得コマンドを送信する(S253)。
【0072】
画像形成装置130は、S253においてコマンドサーバー123によって送信されたメンテナンスレポート取得コマンドを受信すると、画像形成装置130自身のメンテナンスレポートを遠隔管理システム120に送信する(S254)。ここで、画像形成装置130は、画像形成装置130自身のデバイスIDをメンテナンスレポートに含める。
【0073】
遠隔管理システム120のデバイス通信サーバー124は、S254において画像形成装置130によって送信されたメンテナンスレポートを受信すると、受信したメンテナンスレポートに含まれるデバイスIDがデータベース125に含まれるか否かを判断する(S255)。
【0074】
デバイス通信サーバー124は、受信したメンテナンスレポートに含まれるデバイスIDがデータベース125に含まれることをS255において判断すると、受信したメンテナンスレポートをストレージ126に記憶させる(S256)。
【0075】
データ連携システム30のGETコネクター42は、特定の画像形成装置のメンテナンスレポートのファイルに関して、GETコネクター42自身が対応付けられている情報システムである遠隔管理システム120のストレージ126を定期的に検索する(S257)。
【0076】
GETコネクター42は、特定の画像形成装置130のメンテナンスレポートのファイルがストレージ126に存在することを確認すると、このファイルをストレージ126から取得する(S258)。
【0077】
GETコネクター42は、S258の処理の後、S258において取得したファイルを、GETコネクター42自身が対応付けられているパイプラインに渡す(S259)。
【0078】
なお、GETコネクター42は、パイプラインにファイルを渡す場合、
図5に示す動作と同様の動作を実行する。すなわち、GETコネクター42は、今回のトランザクションにトランザクションIDを付与する。また、GETコネクター42は、今回のトランザクションの対象のデータが特定の処理単位より大きい場合に、今回のトランザクションの対象のデータを特定の処理単位毎に分割する。また、GETコネクター42は、処理単位のデータ毎に処理IDを付与する。また、GETコネクター42は、特定の単位時間当たりにパイプラインに渡したファイルの数が特定の数を超えた場合に、パイプラインのスケールアウトと、パイプラインによる並列処理の開始とをパイプライン・オーケストレーター61に指示し、その後、今回のトランザクションの対象のデータをパイプラインに渡すことが完了したときに、パイプラインのスケールインと、パイプラインによる並列処理の終了とをパイプライン・オーケストレーター61に指示する。
【0079】
次に、情報システムが保持しているデータがPOSTエージェント23によって収集されてパイプラインに送信される場合のシステム10の動作について説明する。
【0080】
図7は、情報システムが保持しているデータがPOSTエージェント23によって収集されてパイプラインに送信される場合のシステム10の動作の流れの一例を示す図である。
【0081】
図7に示す例においては、情報システムは、
図6に示す例と同様に、画像形成装置の遠隔管理システム120である。データベース125は、遠隔管理システム120の管理の対象の画像形成装置に発生したイベントを示すイベント情報を記憶する。
図7に示す例は、遠隔管理システム120の管理の対象の画像形成装置130が画像形成装置130自身に発生したイベントを示すイベント情報を遠隔管理システム120に送信する場合のシステム10の動作の例である。
【0082】
画像形成装置130は、エラーなどのイベントが画像形成装置130自身に発生した場合、画像形成装置130自身に発生したイベントを示すイベント情報を遠隔管理システム120のデバイス通信サーバー124に送信する(S271)。例えば、画像形成装置130に発生するエラーとしては、画像形成装置130の内部に紙が詰まったことを示す紙詰まりと、画像形成装置130のカバーが開状態であることを示すカバーオープンとが存在する。
【0083】
遠隔管理システム120のデバイス通信サーバー124は、S271において画像形成装置130によって送信されたイベント情報を受信すると、受信したイベント情報でデータベース125を更新する(S272)。
【0084】
POSTエージェント23は、データベース125に記憶されているイベント情報が変更されているか否かを特定のタイミングで確認する(S273)。S273における確認は、例えば、データベース125の定期的なバックアップの際に実行されても良いし、データベース125の変更をデータベース125自身が検出した場合に実行されても良いし、データベース125の変更のためのAPIが遠隔管理システム120においてコールされた場合に実行されても良い。
【0085】
POSTエージェント23は、S273における確認の結果、データベース125におけるイベント情報の変更を検出すると、このイベント情報の変更の内容を示すデータをデータベース125から取得する(S274)。
【0086】
POSTエージェント23は、S274の処理の後、S274において取得したデータを、POSTエージェント23自身が対応付けられている、データ連携システム30のパイプラインに送信する(S275)。
【0087】
図8は、パイプラインにファイルを送信する場合のPOSTエージェント23の動作のフローチャートである。
【0088】
図8に示すように、POSTエージェント23は、パイプラインにファイルを送信する今回のトランザクションにトランザクションIDを付与する(S291)。ここで、トランザクションIDは、例えば数値であり、POSTエージェント23において新たなトランザクションが発生する度にインクリメントされる。
【0089】
POSTエージェント23は、今回のトランザクションの対象のデータが特定の処理単位より大きいか否かを判断する(S292)。ここで、特定の処理単位は、例えば特定の数のテーブルである。
【0090】
POSTエージェント23は、今回のトランザクションの対象のデータが特定の処理単位より大きいとS292において判断すると、今回のトランザクションの対象のデータを特定の処理単位毎に分割する(S293)。
【0091】
POSTエージェント23は、今回のトランザクションの対象のデータが特定の処理単位以下であるとS292において判断するか、S293の処理が終了すると、処理単位のデータ毎に識別情報としての処理IDを付与する(S294)。ここで、処理IDは、例えば数値であり、同一のトランザクションにおいて、POSTエージェント23において特定の処理単位のデータが新たに発生する度にインクリメントされる。
【0092】
POSTエージェント23は、S294の処理の後、今回のトランザクションの対象のデータを処理単位毎にパイプラインに送信することを開始する(S295)。
【0093】
次いで、POSTエージェント23は、特定の単位時間当たりにパイプラインに送信したデータ量が特定の量を超えたか否かを判断する(S296)。
【0094】
POSTエージェント23は、特定の単位時間当たりにパイプラインに送信したデータ量が特定の量を超えていないとS296において判断すると、今回のトランザクションの対象のデータをパイプラインに送信することが完了したか否かを判断する(S297)。
【0095】
POSTエージェント23は、今回のトランザクションの対象のデータをパイプラインに送信することが完了していないとS297において判断すると、S296の処理を実行する。
【0096】
POSTエージェント23は、今回のトランザクションの対象のデータをパイプラインに送信することが完了したとS297において判断すると、
図8に示す動作を終了する。
【0097】
POSTエージェント23は、特定の単位時間当たりにパイプラインに送信したデータ量が特定の量を超えたとS296において判断すると、パイプラインのスケールアウトと、パイプラインによる並列処理の開始とをパイプライン・オーケストレーター61に指示する(S298)。したがって、パイプライン・オーケストレーター61は、S297における指示に従って、パイプラインを特定の状態までスケールアウトするとともに、並列処理の開始をパイプラインに指示する。
【0098】
次いで、POSTエージェント23は、今回のトランザクションの対象のデータをパイプラインに送信することが完了したと判断するまで、今回のトランザクションの対象のデータをパイプラインに送信することが完了したか否かを判断する(S299)。
【0099】
POSTエージェント23は、今回のトランザクションの対象のデータをパイプラインに送信することが完了したとS299において判断すると、パイプラインのスケールインと、パイプラインによる並列処理の終了とをパイプライン・オーケストレーター61に指示する(S300)。したがって、パイプライン・オーケストレーター61は、S300における指示に従って、パイプラインを元の状態までスケールインするとともに、並列処理の終了をパイプラインに指示する。
【0100】
POSTエージェント23は、S300の処理の後、
図8に示す動作を終了する。
【0101】
次に、情報システムが保持しているデータがGETエージェント43によって収集されてパイプラインに渡される場合のシステム10の動作について説明する。
【0102】
図9は、情報システムが保持しているデータがGETエージェント43によって収集されてパイプラインに渡される場合のシステム10の動作の流れの一例を示す図である。
【0103】
図9に示す例においては、情報システムは、
図4に示す例と同様に、生産管理システム100である。
【0104】
図9に示すように、生産管理システム100のGET用エージェント24は、ストレージ102に記憶されているデータに基づいて連携用の構造化データを特定のタイミングで生成する(S321)。
【0105】
データ連携システム30のGETエージェント43は、GETエージェント43自身が対応付けられている情報システムである生産管理システム100のGET用エージェント24に連携用の構造化データの有無を定期的に問い合わせる(S322)。
【0106】
GETエージェント43は、連携用の構造化データがGET用エージェント24に存在することを確認すると、この構造化データをGET用エージェント24から取得する(S323)。
【0107】
GETエージェント43は、S323の処理の後、S323において取得した構造化データを、GETエージェント43自身が対応付けられているパイプラインに渡す(S324)。
【0108】
なお、GETエージェント43は、パイプラインにファイルを渡す場合、
図8に示す動作と同様の動作を実行する。すなわち、GETエージェント43は、今回のトランザクションにトランザクションIDを付与する。また、GETエージェント43は、今回のトランザクションの対象のデータが特定の処理単位より大きい場合に、今回のトランザクションの対象のデータを特定の処理単位毎に分割する。また、GETエージェント43は、処理単位のデータ毎に処理IDを付与する。また、GETエージェント43は、特定の単位時間当たりにパイプラインに渡したデータ量が特定の量を超えた場合に、パイプラインのスケールアウトと、パイプラインによる並列処理の開始とをパイプライン・オーケストレーター61に指示し、その後、今回のトランザクションの対象のデータをパイプラインに渡すことが完了したときに、パイプラインのスケールインと、パイプラインによる並列処理の終了とをパイプライン・オーケストレーター61に指示する。
【0109】
次に、データ蓄積システム40がデータを蓄積する場合のデータ連携システム30の動作について説明する。
【0110】
図10は、データ蓄積システム40がデータを蓄積する場合のデータ連携システム30の動作の一部のシーケンス図である。
【0111】
図10に示すように、パイプライン70の1次ストレージ71は、データ収集システム、すなわち、POSTコネクター、POSTエージェント、GETコネクターまたはGETエージェントから特定の処理単位のデータを受け取ると、受け取ったデータを記憶する(S341)。次いで、1次ストレージ71は、データの記憶の完了を示すイベントをパイプライン・オーケストレーター61に通知する(S342)。
【0112】
パイプライン・オーケストレーター61のトリガー処理部81は、S342において1次ストレージ71によって通知されたイベントを受け取ると、このイベントの内容を解析して、このイベントに対応するシナリオ、すなわち、マスキング処理のシナリオをアクション記述部82から呼び出して(S343)、S343において呼び出したシナリオをアクション処理部83に通知する(S344)。したがって、アクション処理部83は、S344において通知されたシナリオに基づいた処理の実行、すなわち、S341において1次ストレージ71に記憶されたデータに対するマスキング処理の実行をパイプライン70のマスキング処理部72に指示する(S345)。
【0113】
マスキング処理部72は、S345における指示を受けると、S341において1次ストレージ71に記憶されたデータに対してマスキング処理を実行する。すなわち、マスキング処理部72は、まず、S341において1次ストレージ71に記憶されたデータを1次ストレージ71から取得する(S346)。次いで、マスキング処理部72は、S346において取得したデータに対してマスキング処理を実行する(S347)。次いで、マスキング処理部72は、S347においてマスキング処理を実行したデータをデータ転送処理部73に渡す(S348)。そして、マスキング処理部72は、マスキング処理の完了を示すイベントをパイプライン・オーケストレーター61に通知する(S349)。
【0114】
パイプライン・オーケストレーター61のトリガー処理部81は、S349においてマスキング処理部72によって通知されたイベントを受け取ると、このイベントの内容を解析して、このイベントに対応するシナリオ、すなわち、データ転送処理のシナリオをアクション記述部82から呼び出して(S350)、S350において呼び出したシナリオをアクション処理部83に通知する(S351)。したがって、アクション処理部83は、S351において通知されたシナリオに基づいた処理の実行、すなわち、S347においてマスキング処理が実行されたデータに対するデータ転送処理の実行をパイプライン70のデータ転送処理部73に指示する(S352)。
【0115】
図11は、
図10に示す動作の続きの動作のシーケンス図である。
【0116】
図11に示すように、データ転送処理部73は、S352における指示を受けると、マスキング処理部72によってマスキング処理が実行されたデータに対してデータ転送処理を実行する。すなわち、データ転送処理部73は、まず、S348においてマスキング処理部72から渡されたデータをビッグデータ解析部44への転送用のデータとして2次ストレージ74に蓄積する(S353)。次いで、データ転送処理部73は、S353において2次ストレージ74に蓄積したデータを2次ストレージ74経由でビッグデータ解析部44に転送する(S354)。そして、データ転送処理部73は、データ転送処理の完了を示すイベントをパイプライン・オーケストレーター61に通知する(S355)。
【0117】
パイプライン・オーケストレーター61のトリガー処理部81は、S355においてデータ転送処理部73によって通知されたイベントを受け取ると、このイベントの内容を解析して、このイベントに対応するシナリオ、すなわち、最終変換処理のシナリオをアクション記述部82から呼び出して(S356)、S356において呼び出したシナリオをアクション処理部83に通知する(S357)。したがって、アクション処理部83は、S357において通知されたシナリオに基づいた処理の実行、すなわち、S354において2次ストレージ74に蓄積されたデータに対する最終変換処理の実行をビッグデータ解析部44に指示する(S358)。
【0118】
ビッグデータ解析部44は、S358における指示を受けると、データ転送処理部73によって転送されてきたデータに対して最終変換処理を実行する。すなわち、ビッグデータ解析部44は、まず、S354においてデータ転送処理部73から転送されてきたデータを特定のクエリー言語で検索や集計が可能な形態に変換する(S359)。そして、ビッグデータ解析部44は、最終変換処理の完了を示すイベントをパイプライン・オーケストレーター61に通知する(S360)。
【0119】
次に、S347のマスキング処理におけるマスキング処理部72の動作について説明する。
【0120】
図12は、マスキング処理におけるマスキング処理部72の動作のフローチャートである。
【0121】
マスキング処理部72は、処理単位のデータ毎に
図12に示す動作を実行する。
【0122】
図12に示すように、マスキング処理部72は、今回のマスキング処理の対象のデータに関してマスキング処理が実行中であることを示す情報を、連携の対象のデータの処理の履歴を管理するデータ管理情報としてのデータ管理テーブル90(
図13参照。)に書き込む(S381)。
【0123】
図13は、
図12に示す動作において使用されるデータ管理テーブル90の一例を示す図である。
【0124】
図13に示すデータ管理テーブル90は、トランザクションIDと、処理IDと、トランザクションIDおよび処理IDの組み合わせによって識別されるデータが記憶されているストレージを示すストレージ種別と、トランザクションIDおよび処理IDの組み合わせによって識別されるデータがストレージに格納されている場合のファイルの名称を示す格納名と、データ管理テーブル90に情報が記憶された日時を示す最終更新日時と、トランザクションIDおよび処理IDの組み合わせによって識別されるデータに対する処理の名称を示す処理名と、処理名によって示される処理の状態を示す処理状態とを含んでいる。
【0125】
ストレージ種別には、1次ストレージと、2次ストレージとが存在する。
【0126】
処理名には、マスキング処理を示すMaskingと、データ転送処理を示すTransferとが存在する。S381においては、Maskingが書き込まれる。
【0127】
処理状態には、処理名によって示される処理が実行中であることを示すProcessingと、処理名によって示される処理が正常に終了したことを示すCompletedと、処理名によって示される処理が失敗したことを示すErrorとが存在する。S381においては、Processingが書き込まれる。
【0128】
図12に示すように、マスキング処理部72は、S381の処理の後、対象のデータに対してマスキング処理を開始する(S382)。
【0129】
次いで、マスキング処理部72は、S382において開始したマスキング処理の失敗、すなわち、データの変換の失敗を検知したか否かを判断する(S383)。
【0130】
マスキング処理部72は、マスキング処理の失敗を検知していないとS383において判断すると、S382において開始したマスキング処理が終了したか否かを判断する(S384)。
【0131】
マスキング処理部72は、マスキング処理が終了していないとS384において判断すると、S383の処理を実行する。
【0132】
マスキング処理部72は、マスキング処理の失敗を検知したとS383において判断すると、マスキング処理の失敗を示すイベントをパイプライン・オーケストレーター61に通知する(S385)。このイベントには、対象のデータのトランザクションIDおよび処理IDが含まれている。
【0133】
次いで、マスキング処理部72は、今回のマスキング処理の対象のデータに関してマスキング処理が失敗したことを示す情報をデータ管理テーブル90に書き込み(S386)、
図12に示す動作を終了する。S386において書き込まれる情報における「処理名」、「処理状態」は、それぞれ、「Masking」、「Error」である。
【0134】
マスキング処理部72は、マスキング処理が終了したとS384において判断すると、今回のマスキング処理の対象のデータに関してマスキング処理が正常に終了したことを示す情報をデータ管理テーブル90に書き込み(S387)、
図12に示す動作を終了する。S387において書き込まれる情報における「処理名」、「処理状態」は、それぞれ、「Masking」、「Completed」である。
【0135】
以上においては、S347のマスキング処理におけるマスキング処理部72の動作について説明しているが、S354のデータ転送処理におけるデータ転送処理部73の動作や、S359の最終変換処理におけるビッグデータ解析部44の動作についても同様である。
【0136】
次に、マスキング処理部72がデータの処理を失敗した場合のデータ連携システム30の動作について説明する。
【0137】
図14は、マスキング処理部72がデータの処理を失敗した場合のデータ連携システム30の動作のシーケンス図である。
【0138】
マスキング処理部72は、
図10に示す動作の実行中にマスキング処理が失敗すると、
図14に示すように、マスキング処理の失敗を示すイベントをパイプライン・オーケストレーター61に通知する(S401)。S401の通知は、S385(
図12参照。)の通知に対応する。
【0139】
パイプライン・オーケストレーター61のトリガー処理部81は、S401においてマスキング処理部72によって通知されたイベントを受け取ると、このイベントの内容を解析して、このイベントに対応するシナリオ、すなわち、マスキング処理の再実行のシナリオをアクション記述部82から呼び出して(S402)、S402において呼び出したシナリオをアクション処理部83に通知する(S403)。したがって、アクション処理部83は、S403において通知されたシナリオに基づいた処理の実行、すなわち、S341において1次ストレージ71に記憶されたデータに対するマスキング処理の実行をパイプライン70のマスキング処理部72に指示する(S404)。ここで、アクション処理部83は、S401においてマスキング処理部72によって通知されたイベントに含まれるトランザクションIDおよび処理IDの組み合わせで特定されるデータに対してデータ管理テーブル90に含まれる情報のうち、最終更新日時が最新である情報を特定し、特定した情報における処理状態がCompletedではない、すなわち、ProcessingまたはErrorである場合に、このデータに対するマスキング処理の実行をパイプライン70のマスキング処理部72に指示する。
【0140】
S404の処理の後は、
図10に示すS346の処理以降の処理が実行される。
【0141】
以上においては、マスキング処理部72がデータの処理を失敗した場合のデータ連携システム30の動作について説明しているが、データ転送処理部73やビッグデータ解析部44など、データ蓄積システム40におけるマスキング処理部72以外の構成がデータの処理を失敗した場合や、データ収集システムなど、データ連携システム30におけるデータ蓄積システム40以外の構成がデータの処理を失敗した場合についても、データ連携システム30は、同様の仕組みによって処理を再実行させることができる。
【0142】
なお、1次ストレージ71に記憶されたデータは、頻繁に利用されるものではない。したがって、1次ストレージ71は、1次ストレージ71自身に記憶してから特定の期間を経過したデータをパイプライン外の特定の記憶領域に移動させても良い。1次ストレージ71は、データをパイプライン外の特定の記憶領域に移動させる場合、データを圧縮してから移動させても良い。1次ストレージ71は、データをパイプライン外の特定の記憶領域に移動させた後、パイプライン外の特定の記憶領域に移動させたデータのトランザクションIDおよび処理IDの組み合わせをパイプライン・オーケストレーター61に通知する。パイプライン・オーケストレーター61は、パイプライン外の特定の記憶領域に移動されたデータに対するマスキング処理の実行をパイプライン70のマスキング処理部72に指示する場合、このデータを1次ストレージ71に復元することを1次ストレージ71に指示する。したがって、1次ストレージ71は、パイプライン・オーケストレーター61から指定されたデータをパイプライン外の特定の記憶領域から取得して、1次ストレージ71自身に記憶する。ここで、1次ストレージ71は、パイプライン・オーケストレーター61から指定されたデータが圧縮されている場合には、このデータを伸長してから1次ストレージ71自身に記憶する。
【0143】
以上においては、1次ストレージ71に記憶されたデータについて説明しているが、2次ストレージ74に記憶されたデータについても同様である。すなわち、2次ストレージ74は、2次ストレージ74自身に記憶してから特定の期間を経過したデータをパイプライン外の特定の記憶領域に移動させても良く、パイプライン外の特定の記憶領域に移動させたデータをパイプライン・オーケストレーター61の指示に応じて2次ストレージ74自身に復元する。また、2次ストレージ74は、データをパイプライン外の特定の記憶領域に移動させる場合、データを圧縮してから移動させても良い。
【0144】
次に、データ蓄積システム40に蓄積されている特定の情報システムのデータの最新化をアプリケーション部50が要求する場合のデータ連携システム30の動作について説明する。
【0145】
図15は、データ蓄積システム40に蓄積されている特定の情報システム(以下、
図15に示す動作の説明において「対象情報システム」という。)のデータの最新化をアプリケーション部50が要求する場合のデータ連携システム30の動作のシーケンス図である。
【0146】
なお、データ蓄積システム40に蓄積されている対象情報システムのデータの最新化をアプリケーション部50が要求する場合としては、例えば、アプリケーション部50のアプリケーションサービスの利用者の指示に応じて、データ蓄積システム40に蓄積されている対象情報システムのデータの最新化を、このアプリケーションサービスが要求する場合などが存在する。
【0147】
図15に示すように、アプリケーション部50は、データ蓄積システム40に蓄積されている対象情報システムのデータの最新化を管理API65に要求する(S421)。
【0148】
管理API65は、S421における要求を受けると、受けた要求を示すイベントをパイプライン・オーケストレーター61に通知する(S422)。
【0149】
パイプライン・オーケストレーター61のトリガー処理部81は、S422において管理API65によって通知されたイベントを受け取ると、このイベントの内容を解析して、このイベントに対応するシナリオ、すなわち、データ蓄積システム40に蓄積されている対象情報システムのデータの最新化のシナリオをアクション記述部82から呼び出して(S423)、S423において呼び出したシナリオをアクション処理部83に通知する(S424)。したがって、アクション処理部83は、S424において通知されたシナリオに基づいた処理を実行する。すなわち、アクション処理部83は、まず、データ蓄積システム40に蓄積されている対象情報システムのデータが最新であるか否かを確認する(S425)。アクション処理部83は、S425における確認の結果、データ蓄積システム40に蓄積されている対象情報システムのデータが最新ではない場合、対象情報システムのデータの送信の実行を対象情報システム用のデータ収集システムに指示する(S426)。
【0150】
したがって、データ収集システムは、対象情報システムからデータを取得し(S427)、S427において取得したデータを、データ収集システム自身に対応付けられたパイプラインに渡す(S428)。
【0151】
S428の処理の後は、
図10および
図11に示す処理が実行される。
【0152】
なお、データ蓄積システム40に蓄積されている対象情報システムのデータの最新化をアプリケーション部50が要求することによって、パイプライン70およびビッグデータ解析部44がデータを処理する場合には、ビッグデータ解析部44による最終変換処理が早期に完了することが好ましい。したがって、データ転送処理部73は、S354の処理に関して、S353において2次ストレージ74に蓄積したデータを2次ストレージ74経由でビッグデータ解析部44に転送するのではなく、S348においてマスキング処理部72から渡されたデータをビッグデータ解析部44に直接転送しても良い。
【0153】
以上においては、データ蓄積システム40に蓄積されている対象情報システムのデータの最新化について説明している。ここで、データ連携システム30は、データ蓄積システム40に蓄積されている対象情報システムのデータのうち、特定のデータのみを最新化することもできる。例えば、データ連携システム30は、データ蓄積システム40に蓄積されている対象情報システムのデータのうち、デバイス管理テーブルなどの特定のテーブルのデータのみを最新化することもできる。
【0154】
次に、特定の情報システムの構成の変更に応じて自身の構成を変更する場合のデータ連携システム30の動作について説明する。
【0155】
図16は、特定の情報システム(以下、
図16に示す動作の説明において「対象情報システム」という。)の構成の変更に応じて自身の構成を変更する場合のデータ連携システム30の動作のフローチャートである。
【0156】
構成管理ゲートウェイ63は、特定のタイミングで、
図16に示す動作を実行する。
【0157】
図16に示すように、構成管理ゲートウェイ63は、対象情報システムの構成管理サーバーに接続して(S441)、連携の対象のデータの構成に変更があるか否かを対象情報システムの構成管理サーバーからの情報に基づいて判断する(S442)。
【0158】
構成管理ゲートウェイ63は、連携の対象のデータの構成に変更がないとS442において判断すると、
図16に示す動作を終了する。
【0159】
構成管理サーバー62は、連携の対象のデータの構成に変更があるとS442において判断されると、データ収集システムおよびデータ蓄積システム40の構成のうち、連携の対象のデータの構成の変更の内容に対応して変更されるべき構成の変更の内容が定められているか否かを判断する(S443)。ここで、構成管理サーバー62には、連携の対象のデータの構成の変更の内容と、データ収集システムおよびデータ蓄積システム40の構成のうち、連携の対象のデータの構成の変更の内容に対応して変更されるべき構成の変更の内容との対応関係を示す変更内容対応関係情報が記憶されている。構成管理サーバー62は、連携の対象のデータの構成の変更の内容に関する対応関係が変更内容対応関係情報に記憶されている場合、データ収集システムおよびデータ蓄積システム40の構成のうち、連携の対象のデータの構成の変更の内容に対応して変更されるべき構成の変更の内容が定められていると判断する。一方、構成管理サーバー62は、連携の対象のデータの構成の変更の内容に関する対応関係が変更内容対応関係情報に記憶されていない場合、データ収集システムおよびデータ蓄積システム40の構成のうち、連携の対象のデータの構成の変更の内容に対応して変更されるべき構成の変更の内容が定められていないと判断する。
【0160】
構成管理サーバー62は、データ収集システムおよびデータ蓄積システム40の構成のうち、連携の対象のデータの構成の変更の内容に対応して変更されるべき構成の変更の内容が定められていないとS443において判断すると、連携の対象のデータに関するデータ収集システムおよびデータ蓄積システム40の処理を停止する(S444)。次いで、構成管理サーバー62は、対象情報システムの構成の変更に応じてデータ連携システム30の構成を変更することができない旨を、例えば対象情報システムの関係者の宛先など、予め定められた宛先に連絡して(S445)、
図16に示す動作を終了する。
【0161】
構成管理サーバー62は、データ収集システムおよびデータ蓄積システム40の構成のうち、連携の対象のデータの構成の変更の内容に対応して変更されるべき構成の変更の内容が定められているとS443において判断すると、データ収集システムおよびデータ蓄積システム40の構成のうち、連携の対象のデータの構成の変更の内容に対応して変更されるべき構成を、変更内容対応関係情報に定められている変更の内容で、変更する(S446)。ここで、データ収集システムの構成の変更の内容としては、例えば、連携の対象のデータの範囲の変更や、連携の頻度の変更などが考えられる。なお、構成管理サーバー62は、データ収集システムの構成を変更する場合、構成を変更した新たなデータ収集システムをデプロイしても良い。データ蓄積システム40の構成の変更の内容としては、例えば、マスキング処理部によるマスキング処理の処理内容の変更や、ビッグデータ解析部44における最終変換処理の処理内容の変更などが考えられる。
【0162】
構成管理サーバー62は、S446の処理の後、
図16に示す動作を終了する。
【0163】
以上に説明したように、データ連携システム30は、データ連携システム30自身におけるデータに対する各段階の処理のうち、失敗した処理を検出した場合(S401)に、この処理を再実行させる(S404)ので、連携の途中で処理が失敗したとしてもデータを連携することができる。
【0164】
例えば、データ連携システム30は、データソース部20との間の通信エラーなどの障害が発生した場合に、この障害に対する復旧、すなわち、データの収集の処理の再実行が自動的かつ最小限度の範囲で実行されるので、大量のデータを連携するときであっても、データ連携システム30全体の運用コストを低減することができる。
【0165】
データ連携システム30は、データ蓄積システム40に蓄積されているデータの最新化がアプリケーション部50からパイプライン・オーケストレーター61に要求された場合(S421~S422)に、アプリケーション部50から最新化が要求されたデータを収集する処理をデータ収集システムに実行させる(S426)ので、データ蓄積システム40に蓄積されているデータを容易に最新化することができる。
【0166】
パイプラインは、本実施の形態において、データ変換システムとしてマスキング処理部を備えている。しかしながら、パイプラインは、マスキング処理部以外の少なくとも1つのデータ変換システムを、マスキング処理部に代えて、または、マスキング処理部に加えて、備えても良い。
【符号の説明】
【0167】
21 情報システム
22 POSTコネクター(データ収集システム)
23 POSTエージェント(データ収集システム)
24 GET用エージェント(データ収集システム)
30 データ連携システム
40 データ蓄積システム
42 GETコネクター(データ収集システム)
43 GETエージェント(データ収集システム)
50 アプリケーション部
61 パイプライン・オーケストレーター(処理監視システム)
100 生産管理システム(情報システム)
120 遠隔管理システム(情報システム)