(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023172807
(43)【公開日】2023-12-06
(54)【発明の名称】データ処理システム及びデータ処理方法
(51)【国際特許分類】
G06F 9/44 20180101AFI20231129BHJP
【FI】
G06F9/44
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2022084880
(22)【出願日】2022-05-24
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】羽原 拓哉
(72)【発明者】
【氏名】齊藤 信一郎
(72)【発明者】
【氏名】伊藤 大輔
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA32
5B376AE01
5B376CA36
5B376CA43
(57)【要約】 (修正有)
【課題】データ処理システムにおいて、多段的データ処理において無停止にてデータ処理設定変更を実現するデータ処理システム及びデータ処理方法を提供する。
【解決手段】データ処理システムにおいて、データ制御管理部は、データ処理に必要なデータ処理部の起動及びデータ処理に不必要なデータ処理部の停止を行うことにより多段的なデータ処理を停止することなくデータ処理設定の一部を変更又は新たなデータ処理設定を追加し、多段的なデータ処理を実行する際に、後段のデータ処理部は前段のデータ処理部において付与したタグを読み取ることによりデータ処理を実行したデータ処理部を判別する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
データ処理部に複数のデータ処理設定が混在する状態で前記データ処理設定の一部を変更又は新たな前記データ処理設定を追加して多段的なデータ処理を実行するデータ処理システムであって、
データ制御設計部とデータ制御管理部を有し、
前記データ制御設計部は、
前記データ制御設定にそれぞれ識別子であるタグを付与し、
前記データ制御管理部は、
前記データ処理に必要な前記データ処理部の起動及び前記データ処理に不必要な前記データ処理部の停止を行うことにより前記多段的なデータ処理を停止することなく前記データ処理設定の一部を変更又は新たな前記データ処理設定を追加し、
前記多段的なデータ処理を実行する際に、
後段の前記データ処理部は、
前段の前記データ処理部において付与した前記タグを読み取ることにより前記データ処理を実行した前記データ処理部を判別することを特徴とするデータ処理システム。
【請求項2】
前記データ処理部は、
データ処理設定変更対象とデータ処理設定変更非対象の前記データ処理設定を含み、
前記後段の前記データ処理部は、
前記データ処理設定が前記データ処理設定変更対象か前記データ処理設定変更非対象かを前記前記タグを読み取ることにより判別することを特徴とする請求項1に記載のデータ処理システム。
【請求項3】
前記データ制御設計部は、
複数のデータ処理フローにおける前記データ処理設定と前記データ処理設定が稼働する前記データ処理部を記憶するデータ制御設定記憶部を有し、
前記データ制御管理部は、
前記データ制御設定を変更又は追加する際に、前記データ処理フローの前記データ処理設定を実行するすべての前記データ処理部に対して前記データ処理部の起動及び停止を指示するデータ処理部起動停止実行部を有し、
前記データ処理部起動停止実行部は、
前記データ処理に必要なデータ処理部の起動と前記データ処理に不必要なデータ処理部の停止を実行することを特徴とする請求項1に記載のデータ処理システム。
【請求項4】
前記データ処理部起動停止実行部は、
データ処理設定変更後の前記データ制御内容が意図通りかを判定し、
前記データ処理設定変更後の前記データ制御内容が前記意図通りであると判定された場合、
データ処理設定変更前の前記データ処理部を停止させ、前記データ処理設定変更後の前記データ処理部を起動させることを特徴とする請求項3に記載のデータ処理システム。
【請求項5】
前記データ処理部起動停止実行部は、
データ処理設定変更後の前記意図通りでないと判定された場合、
前記データ処理設定変更前の前記データ処理部を起動させ、前記データ処理設定変更後の前記データ処理部を停止させることにより、変更前の前記データ処理設定へ無停止で切り戻すことを特徴とする請求項4に記載のデータ処理システム。
【請求項6】
前記データ処理部起動停止実行部は、
データ処理設定追加後の前記データ制御内容が意図通りかを判定し、
前記データ処理設定追加後の前記データ制御内容が前記意図通りであると判定された場合、
データ処理設定追加前の前記データ処理部を停止させ、前記データ処理設定追加後の前記データ処理部を起動させることを特徴とする請求項3に記載のデータ処理システム。
【請求項7】
前記データ処理部起動停止実行部は、
データ処理設定追加後の前記意図通りでないと判定された場合、
前記データ処理設定追加前の前記データ処理部を起動させ、前記データ処理設定追加後の前記データ処理部を停止させることにより、追加前の前記データ処理設定へ無停止で切り戻すことを特徴とする請求項6に記載のデータ処理システム。
【請求項8】
前記データ制御設計部は、
前記データ処理部の稼働状況と前記データ処理設定と前記タグをそれぞれ表示する表示部を有することを特徴とする請求項1に記載のデータ処理システム。
【請求項9】
前記データ制御設計部は、
前記データ処理部を、少なくとも前段と後段を含む多段的なデータ処理部で構成し、
前記前段は、データ処理設定変更前の第1のデータ処理部及びデータ処理設定変更後の第2のデータ処理部を有し、
前記後段は、データ処理設定変更前の第3のデータ処理部及びデータ処理設定変更後の第4のデータ処理部を有し、
前記第1のデータ処理部は、第1のデータ処理設定を有し、
前記第2のデータ処理部は、前記第1のデータ処理設定を変更した第2のデータ処理設定を有し、
前記第3のデータ処理部は、第3のデータ処理設定を有し、
前記第4のデータ処理部は、前記第3のデータ処理設定を変更した第4のデータ処理設定を有し、
前記データ制御設計部は、
第1のタグを生成して、前記第1のタグを前記第1のデータ処理設定に付与し、
第2のタグを生成して、前記第2のタグを前記第2のデータ処理設定に付与し、
第3のタグを生成して、前記第3のタグを前記第3のデータ処理設定に付与し、
第4のタグを生成して、前記第4のタグを前記第4のデータ処理設定に付与し、
前記データ制御管理部は、
前記第1のデータ処理部、前記第2のデータ処理部、前記第3のデータ処理部及び前記第4のデータ処理部をすべて起動させて前記データ処理を実行し、
前記前段の前記第1のデータ処理部及び前記第2のデータ処理部から前記後段の前記第3のデータ処理部及び前記第4のデータ処理部にそれぞれ送られたデータを前記第1のタグ、前記第2のタグ、前記第3のタグ及び前記第4のタグを用いて識別することを特徴とする請求項1に記載のデータ処理システム。
【請求項10】
前記データ制御設計部は、
前記データ処理部を、少なくとも前段と後段を含む多段的なデータ処理部で構成し、
前記前段は、データ処理設定追加前の第1のデータ処理部及びデータ処理設定追加後の第2のデータ処理部を有し、
前記後段は、データ処理設定追加前の第3のデータ処理部及びデータ処理設定追加後の第4のデータ処理部を有し、
前記第1のデータ処理部は、第1のデータ処理設定を有し、
前記第2のデータ処理部は、前記第1のデータ処理設定に追加された第2のデータ処理設定を有し、
前記第3のデータ処理部は、第3のデータ処理設定を有し、
前記第4のデータ処理部は、前記第3のデータ処理設定に追加された第4のデータ処理設定を有し、
前記データ制御設計部は、
第1のタグを生成して、前記第1のタグを前記第1のデータ処理設定に付与し、
第2のタグを生成して、前記第2のタグを前記第2のデータ処理設定に付与し、
第3のタグを生成して、前記第3のタグを前記第3のデータ処理設定に付与し、
第4のタグを生成して、前記第4のタグを前記第4のデータ処理設定に付与し、
前記データ制御管理部は、
前記第1のデータ処理部、前記第2のデータ処理部、前記第3のデータ処理部及び前記第4のデータ処理部をすべて起動させて前記データ処理を実行し、
前記前段の前記第1のデータ処理部及び前記第2のデータ処理部から前記後段の前記第3のデータ処理部及び前記第4のデータ処理部にそれぞれ送られたデータを前記第1のタグ、前記第2のタグ、前記第3のタグ及び前記第4のタグを用いて識別することを特徴とする請求項1に記載のデータ処理システム。
【請求項11】
データ処理部に複数のデータ処理設定が混在する状態で前記データ処理設定の一部を変更又は新たな前記データ処理設定を追加して多段的なデータ処理を実行するデータ処理方法であって、
前記データ制御設定にそれぞれ識別子であるタグを付与するステップと、
前記データ処理に必要な前記データ処理部の起動及び前記データ処理に不必要な前記データ処理部の停止を行うことにより前記多段的なデータ処理を停止することなく前記データ処理設定の一部を変更又は新たな前記データ処理設定を追加するステップと、
前記多段的なデータ処理を実行する際に、前段の前記データ処理部において付与した前記タグを読み取ることにより前記データ処理を実行した前記データ処理部を判別するステップと、
を有することを特徴とするデータ処理方法。
【請求項12】
データ処理設定変更後の前記データ制御内容が意図通りかを判定するステップと、
前記データ処理設定変更後の前記データ制御内容が前記意図通りであると判定された場合、
データ処理設定変更前の前記データ処理部を停止させ、前記データ処理設定変更後の前記データ処理部を起動させるステップと、
前記データ処理設定変更後の前記意図通りでないと判定された場合、
前記データ処理設定変更前の前記データ処理部を起動させ、前記データ処理設定変更後の前記データ処理部を停止させることにより、変更前の前記データ処理設定へ無停止で切り戻すステップと、
を更に有することを特徴とする請求項11に記載のデータ処理方法。
【請求項13】
データ処理設定追加後の前記データ制御内容が意図通りかを判定ステップと、
前記データ処理設定追加後の前記データ制御内容が前記意図通りであると判定された場合、
データ処理設定追加前の前記データ処理部を停止させ、前記データ処理設定追加後の前記データ処理部を起動させるステップと、
前記データ処理設定追加後の前記意図通りでないと判定された場合、
前記データ処理設定追加前の前記データ処理部を起動させ、前記データ処理設定追加後の前記データ処理部を停止させることにより、追加前の前記データ処理設定へ無停止で切り戻すステップと、
を更に有することを特徴とする請求項11に記載のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理システム及びデータ処理方法に関する。
【背景技術】
【0002】
IoT(Internet of Things)の活用方法として、工場の現場等のエッジに配置された機器からクラウドサービス上のマシンに至るまで、様々な場所のデータを収集し、加工分析を行うことで業務改善を行う事例がある。効率的なIoT活用のためには、各拠点のデータ形式の差異やデータ量の増減に対応可能な、データを収集、加工、蓄積するデータ収集基盤が必要である。
【0003】
データ収集基盤ではデータ処理を複数段に分けて実行する。例えばデータ収集、データ加工、データ蓄積等の処理単位でデータ処理部として切り出し、データ処理部を複数段連結してデータ処理を実行することが考えられる。データ処理部の実装はVM(Virtual Machine)やコンテナ、プロセス等様々な形態が考えられる。
【0004】
データ処理フローを処理の単位で複数のデータ処理部に分けることで、データ処理負荷が高い処理のみスケールアウトしたり、ある1つのデータ処理結果から分岐してデータ処理を行ったりすることが容易となる。本明細書においてデータ処理フローとは、データソースからデータを取得し、データ処理し、データシンクへ格納する一連の動作を指す。各データ処理部はメッセージキューを介して接続する。メッセージキューを用いることでデータの可用性確保や順序制御を実施することが可能となる。データ収集の規模が大きくなり、大量のデータ処理フローを扱う必要がある場合、全フローのデータ処理部を独立に稼働させることで必要以上の計算機資源を消費してしまう。そこで、データ収集基盤では一つのデータ処理部内で異なるデータ処理フローのデータ処理を複数並列実行することが求められる。
【0005】
複数データ処理フローを同時実行するデータ処理部が複数段連結してデータ処理を行う状況下で、データ収集対象の業務の変化や取得したい情報の変化によりデータ処理設定の一部を変更することを考える。1つのデータ処理部の中に、変更する必要があるデータ処理フローに関するデータ処理設定と、変更する必要がないデータ処理フローに関するデータ処理設定とが同梱されている。
【0006】
データ処理設定を変更する際には、一般的にはデータ処理を一時停止する必要があるため、複数データ処理設定が同梱されるデータ処理部では変更する必要がないデータ処理フローのデータ処理も停止してしまう問題がある。リアルタイム性が求められる用途でデータ処理を行う場合は、他のデータ処理フローのデータ処理設定変更による影響を受けずにデータ処理を継続するシステムが必要である。
【0007】
データ処理におけるデータ処理設定の無停止更新の技術として特許文献1に記載の技術が知られている。特許文献1には、「管理システムは、負荷分散装置から、いずれの仮想マシンにリクエストを転送させるかを管理し、クライアントからのリクエストを受け付ける装置についての設定が、第1の処理環境の負荷分散装置から第2の処理環境の装置に変更された際に、前記第1の処理環境の負荷分散装置から前記第2の処理環境の仮想マシンにリクエストを転送させるよう管理し、かつ、前記第1の処理環境の負荷分散装置から前記第1の処理環境の仮想マシンにリクエストを転送させないよう管理する」ことが記載されている。
【先行技術文献】
【特許文献】
【0008】
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1に記載の技術は、古い系と新しい系の2系統を起動しデータ処理部の前にスイッチを置くことでデータ処理部を切り替える動作を行うBlue-Greenデプロイメントを用いたシステムバージョンアップ手法を示しており、クライアントからのリクエストがアップデート前の装置へ送信された場合であっても当該リクエストをアップデート後の装置で実行可能とする発明である。特許文献1に記載の技術を用いることによりデータ処理設定の更新を行うことは可能である。
【0010】
しかし、データ処理部位が多段である場合は、前段のデータ処理部において古い系と新しい系のどちらのデータ処理設定でデータ処理が実行されたのかを把握できなければ、後段のデータ処理部において古いデータ処理設定、新しいデータ処理設定のいずれでデータ処理を実行するか決定できない。多段的なデータ処理を行う用途では、特許文献1の技術は必ずしも効果を奏さない。
【0011】
本発明は、データ処理システムにおいて、多段的データ処理において無停止にてデータ処理設定変更を実現することを目的とする。
【課題を解決するための手段】
【0012】
本発明の一態様のデータ処理システムは、データ処理部に複数のデータ処理設定が混在する状態で前記データ処理設定の一部を変更又は新たな前記データ処理設定を追加して多段的なデータ処理を実行するデータ処理システムであって、データ制御設計部とデータ制御管理部を有し、前記データ制御設計部は、前記データ制御設定にそれぞれ識別子であるタグを付与し、前記データ制御管理部は、
前記データ処理に必要な前記データ処理部の起動及び前記データ処理に不必要な前記データ処理部の停止を行うことにより前記多段的なデータ処理を停止することなく前記データ処理設定の一部を変更又は新たな前記データ処理設定を追加し、前記多段的なデータ処理を実行する際に、後段の前記データ処理部は、前段の前記データ処理部において付与した前記タグを読み取ることにより前記データ処理を実行した前記データ処理部を判別することを特徴とする。
【発明の効果】
【0013】
本発明の一態様によれば、データ処理システムにおいて、多段的データ処理において無停止にてデータ処理設定変更を実現することができる。
【図面の簡単な説明】
【0014】
【
図1】実施例1及び実施例2のデータ処理システムの構成の一例を示す図である。
【
図2】実施例1及び実施例2の計算機の一例を示す図である。
【
図3】実施例1及び実施例2のユーザ入力部及びユーザ出力部の一例を示す図である。
【
図4】実施例1及び実施例2のユーザ出力部の一例を示す図である。
【
図5】実施例1及び実施例2のユーザ出力部の一例を示す図である。
【
図7】実施例1及び実施例2の動作手順開始前のデータ処理フローを示す図である。
【
図8】実施例1のデータ制御設定の一例を示す図である。
【
図9】実施例1の一部データ制御設定変更後のデータ処理フローを示す図である。
【
図10】実施例1のデータ制御設定変更完了時のデータ処理フローを示す図である。
【
図12】実施例2の追加するデータ制御設定の入力画面の一例を示す図である。
【
図13】実施例2のデータ制御設定追加後のデータ処理フローを示す図である。
【
図14】実施例2のデータ制御設定追加完了時のデータ処理フローを示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0016】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【0017】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例0018】
実施例1では、複数データ処理フローを同時実行するデータ処理部が複数段連結してデータ処理を行う状況下で、データ収集対象の業務の変化や取得したい情報の変化が生じた際、無停止でデータ制御設定を変更する手順を示す。
【0019】
図1は、実施例1のデータ処理システムの構成の一例を示す図である。
データ処理システムは、データ制御設計部1、データ制御管理部2、データソース3、メッセージキュー4、データ処理部5及びデータシンク6を有する。
【0020】
データ制御設計部1は、機能構成として、ユーザ入力部11、ユーザ出力部12、データ制御設定管理部13を含む。
【0021】
ユーザ入力部11はデータ制御設定指定部111、データ制御設定適用指示部112及びデータ制御変更決定部113を含む。データ制御設定指定部111はデータ制御設定に関する入力を受け付け、入力内容をデータ制御設定管理部13へ送信する。データ制御設定とはメッセージキュー4でデータ受け渡しを行うキュー41の設定及びデータ処理部5で実行するデータ処理設定51を指す。
【0022】
データ制御設定適用指示部112はデータ制御設定管理部13が管理するデータ制御設定の起動や停止に関する入力を受け付け、データ制御管理部2へ入力内容を送信する。データ制御変更決定部113はデータ制御設定指定部111で入力し、データ制御設定適用指示部112の入力で稼働させたデータ制御設定を反映させるか、反映させずに切り戻しを行うかに関する入力を受け付け、データ制御管理部2へ入力内容を送信する。
【0023】
ユーザ出力部12はデータ制御内容表示部121、データ処理フロー稼働状況表示部122及びデータ処理部稼働状況表示部123を含む。データ制御内容表示部121はデータ制御設定管理部13が管理するデータ制御設定の設定内容を表示する。データ処理フロー稼働状況表示部122はデータ制御設定管理部13が管理するデータ制御設定の稼働状況を表示する。データ処理部稼働状況表示部123はデータ処理部5とデータ処理部5内で実行されるデータ処理設定51を表示し、データ処理部5の稼働状況を示す。
【0024】
データ制御設定管理部13はデータ制御設定記憶部131及びデータ処理設定タグ生成部132を含む。データ制御設定記憶部131はデータ制御設定指定部111で入力した内容を記憶する。データ処理設定タグ生成部132は、データ制御設定記憶部131に記憶されたデータ制御設定のデータ処理設定51に対し一意なタグを生成する。
【0025】
データ制御管理部2は、機能構成として、キュー設定生成部21、データ処理設定生成部22及びデータ処理部起動停止実行部23を含む。
【0026】
キュー設定生成部21はデータ制御設定適用指示部112及びデータ制御変更決定部113の入力により、データ制御設定記憶部131に記憶されたデータ制御設定を取得し、必要なキュー41が存在しない場合は、メッセージキュー4にキュー41を作成する。
【0027】
データ処理設定生成部22はデータ制御設定適用指示部112及びデータ制御変更決定部113の入力により、データ制御設定記憶部131に記憶されたデータ制御設定を取得し、データ処理設定タグ生成部132により生成されたタグを付与し、データ処理部5で稼働するデータ処理設定51を作成する。
【0028】
データ処理部起動停止実行部23はデータ制御設定適用指示部112及びデータ制御変更決定部113の入力により、データ処理設定51を含むデータ処理部5の起動及び停止を実行する。
【0029】
データソース3は、システムで処理するデータをメッセージキュー4へ送信する。データソース3はセンサ、IoT機器、ゲートウェイ、データベースなど、データを発生可能なものであればその形態は問わない。
【0030】
メッセージキュー4は、データ処理フローごとに作成するキュー41を用い、データソース3とデータ処理部5間、データ処理部5とデータ処理部5間及びデータ処理部とデータシンク間においてデータの転送を行う。データ処理部5に障害が発生しデータが消失した際にキュー41に格納されたデータから消失したデータを復元したり、データ処理部5で処理したデータをデータソース3が送信した順序に並び替えたりする動作を実行する。
【0031】
データ処理部5は、データ処理フローごとに作成されたデータ処理設定51に従い、データ処理を実行する。データ処理設定51にはデータを取得するキュー41、データ処理内容及びデータ送信先のキュー41またはデータシンク6が記載される。データ処理設定51をデータ処理部5へ追加したり変更したりする際はデータ処理部5を新たに起動する必要がある。
【0032】
データシンク6はデータ処理部5が処理したデータを格納する。データシンク6はIoT機器、IoTアプリケーション、データベースなど、データを受信可能なものであればその形態は問わない。
【0033】
図2は計算機の一例を示す図である。データ制御設計部1、データ制御管理部2、メッセージキュー4及びデータ処理部5は、
図2に示すような計算機7から構成される。計算機7は、プロセッサ71、主記憶装置72、副記憶装置73、及びネットワークインタフェース74及び入出力装置75を有する。プロセッサ71は、主記憶装置72に格納されるプログラムを実行する。プロセッサ1がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。
【0034】
以下の説明では、機能部を主語に処理を説明する場合、プロセッサ71が当該機能部を実現するプログラムを実行していることを示す。主記憶装置72は、メモリ等であり、プロセッサ71が実行するプログラム及びプログラムが使用するデータを格納する。副記憶装置73は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等であり、データを永続的に格納する。主記憶装置72に格納されるプログラム及びデータは、副記憶装置73に格納されてもよい。この場合、プロセッサ71が副記憶装置73からプログラム及びデータを読み出し、主記憶装置72にロードする。ネットワークインタフェース74は、ネットワークを介して他の装置と通信する。入出力装置75はユーザの入力を受け付けたり、計算結果をユーザに表示したりする。入出力装置75は省略することが可能である。計算機7は仮想化してVMやコンテナのような形態で動作してもよい。
【0035】
図3はユーザ入力部及びユーザ出力部の一例を示す図である。
図3ではflow1、flow2、flow3が存在しており、flow3をflow3’へ変更する場合のユーザ入力部及びユーザ出力部の一例を示す。データ処理フロー稼働状況表示部122は該当データ処理フローの起動、停止等の状態を表示する。データ制御設定適用指示部112は該当データ処理フローの編集画面の呼び出し、起動、停止等に関する入力を受け付ける。データ制御設定適用指示部112において編集の入力がなされた場合は、データ制御設定指定部111に該当データ処理フローの編集画面が表示される。
【0036】
データ制御設定指定部111ではデータ処理フローが取り扱うデータの入力元の指定、データ制御設定、出力先の指定を行う。本実施例では2段のデータ処理を実行する例を記載したが3段以上であっても良い。また、本実施例では出力先の指定数を2としているが、指定数は任意の自然数を取ることができる。データ制御設定指定部111においてデータ制御設定を作成後、「保存」の入力をすることで、データ制御設定記憶部131にデータ制御設定が保存される。「閉じる」の入力をすることでデータ制御設定指定部111を閉じる。
【0037】
データ制御設定指定部111は
図3のようにデータ制御設定適用指示部112と同じ画面に表示しても良いし、別の画面に表示しても良い。データ制御変更決定部113はデータ制御設定の変更を行うデータ処理フローに対して表示される。
図3の例ではflow3とflow3’が該当する。データ制御変更決定部113は変更前のデータ処理フローに対して「切り戻し」の入力を受け付け、変更後のデータ処理フローに対して「確定」の入力を受け付ける。データ制御内容表示部121はデータ処理フローのデータ処理設定を表示する。データ制御設定指定部111と同一の画面としても良いし別の画面としても良い。別の画面とする場合はデータ制御設定適用指示部112にてデータ処理フロー表示の入力を受け付ける。
【0038】
図4はユーザ出力部の一例を示す図である。
データ処理部稼働状況表示部123は、データ制御設定記憶部131に記憶された情報を元に、データ処理部5とデータ処理部5で稼働するデータ処理設定51との関係、各データ処理設定51のタグを表示する。データソース3、メッセージキュー4及びデータシンク6との関係を表示しても良い。該当データ処理部5の稼働状況を表示しても良い。
図4の例ではデータ処理部1とデータ処理部2が稼働しており、データ処理部1’とデータ処理部2’が起動中であることを実線と点線で分けて表示する。他の表現方法で稼働状況を区別する表現をしても良い。
【0039】
図5はユーザ出力部の一例を示す図である。
データ処理部稼働状況表示部123は
図4の代わりに
図5に示す表形式で表示することが可能である。データ処理部稼働状況表示部123は、データ制御設定記憶部131に記憶された情報を元に、データ処理部5とデータ処理部5で稼働するデータ処理設定51との関係、各データ処理設定51のタグを表示する。データソース3、メッセージキュー4及びデータシンク6との関係を表示しても良い。該当データ処理部5の稼働状況を表示しても良い。
【0040】
図6は、実施例1の動作手順を示す図である。
ステップS101で、データ処理制御設定を変更する。ステップS102で、変更後のデータ処理部を起動する。
【0041】
ステップS103ではステップS101で変更したデータ制御設定が意図通りであったかを確認する。データ制御設定はデータ収集基盤を用いる現場ごとに最適な設定が異なる。IoT活用業務の変更等に伴うデータ制御設定変更時は、最適なデータ制御設定を作成するまでにユーザが試行錯誤する期間が必要である。
【0042】
ステップS102でデータシンク6に格納されたデータがユーザの意図する通りでなかった場合は、ユーザはデータ制御変更決定部113から「切り戻し」の入力を行いステップS104へ進む。
【0043】
ステップS102でデータシンク6に格納されたデータがユーザの意図する通りであった場合は、ユーザはデータ制御変更決定部113から「確定」の入力を行いステップS105へ進む。
【0044】
ステップS104ではデータ制御設定変更前の状態へ切り戻しを行う。データ処理部起動停止実行部23はデータ制御設定記憶部131に記憶されたデータ処理部5やデータ処理設定51の情報を元に、ステップS102で起動したデータ処理部5を停止し、データ制御設定変更前のデータ処理部5のみが稼働する状態とする。
【0045】
図7は動作手順開始前のデータ処理フローを示す図である。
図7は3つのデータ処理フローが記載されている。データソース3-1が送信したデータはキュー41-1、データ処理設定51-1、キュー41-4、データ処理設定51-4の順にメッセージキュー4とデータ処理部5を経由し、データシンク6-1へ格納される。
【0046】
データ処理設定51-1ではデータソース3-1から受信したデータに対し、キー名等のメタデータ付与、符号化されたデータの復号、数値文字変換等のデータ処理が記載されており、記載内容を元にデータ処理部5-1がデータ処理を行う。データ処理内容はこれらに限定されない。データ処理設定51-4ではデータシンク6-1へデータを格納するためにRelational Databaseへのインサート、Application Programming Interfaceの実行、ファイル書き出し等のデータ処理が記載されており、記載内容を元にデータ処理部5-2がデータ処理を行う。データ処理内容はこれらに限定されない。
【0047】
データ処理部5-1でのデータ処理中に意図せぬ障害が発生した際、データソース3-1から送信したデータが消失する可能性がある。そこでメッセージキュー41-1をデータソース3-1とデータ処理部5-1との間に挿入しメッセージキュー41-1内に一時的にデータを保存することで、データ処理部5-1でデータが消失した場合でもメッセージキュー41-1から復旧可能である。
【0048】
また、データ処理部5-2でのデータ処理中に意図せぬ障害が発生した際、データ処理部5-1から送信したデータが消失する可能性がある。そこでメッセージキュー41-4をデータ処理部5-1とデータ処理部5-2との間に挿入し、メッセージキュー41-4内に一時的にデータを保存することで、データ処理部5-1でデータが消失した場合でもメッセージキュー41-4から復旧可能である。
【0049】
メッセージキュー4はデータ処理フローにおけるデータ可用性を担保する重要な機能であるため、データ制御設定指定部111への入力によりデータ制御設定を変更する際、データ制御管理部2はキュー41に変更を加えないようにし、データ処理設定51のみに変更を加える。
図7ではデータ処理設定51-1にはタグとして「1101」を設定し、データ処理設定51-4にはタグとして「1102」を設定した。データ処理設定51-1を用いて処理したデータには「1101」というタグが付与されるため、後段のデータ処理部5やデータシンク6がタグの値「1101」を確認することで、「データ処理設定51-1を用いてデータ処理部5-1上でデータ処理をされたデータ」であることを確認することができる。タグの値はシステム内で一意であれば形式や文字列長を問わない。
【0050】
データソース3-2及びデータソース3-3は、データソース3-1とは異なるデータソース3である。メッセージキュー4で経由するキュー41、データ処理部5で実行するデータ処理設定51及びデータシンク6も異なる。データ処理部5-1はデータソース3-1、データソース3-2及びデータソース3-3から受信したデータを異なるデータ処理設定51-1、データ処理設定51-2及びデータ処理設定51-3で処理するが、データ処理設定51-1、データ処理設定51-2及びデータ処理設定51-3は同一のデータ処理部5-1で実行する。データ処理設定51-1、データ処理設定51-2及びデータ処理設定51-3を個別のデータ処理部5で実行することも可能であるが、1つのデータ処理部5で実行するときと比べ多くの計算機資源を消費してしまう。
【0051】
データ処理フロー数が増加したとき、計算機資源消費量が増大するのを防ぐため、データ収集基盤では1つのデータ処理部5内で異なるデータ処理フローのデータ処理を複数並列実行することが求められる。本実施例でも1つのデータ処理部5で複数のデータ処理設定51を稼働させる。
【0052】
IoT活用業務の変更等に伴い、データソース3から入力されるデータの変更やデータ処理部5で行うデータ処理の変更が必要になったとき、ステップS101に進む。
【0053】
ステップS101で、ユーザは新しいデータ制御設定をデータ制御設定指定部111から入力する。
【0054】
図8はデータ制御設定の入力画面の一例を示す図である。
図8では
図7のデータソース3-3に関するデータ制御フローを変更する例を示す。
図7で稼働するデータ処理設定51-3、データ処理設定51-6を変更し、出力先をデータシンク6-3とは別のデータシンク6を2つ指定する。新しく作成したデータ制御設定はデータ制御設定記憶部131に記憶する。本実施例1ではデータソース3-1及びデータソース3-2に関するデータ処理フローはデータ制御設定の変更が不要である想定とする。
【0055】
ステップS102で、ユーザはデータ制御設定適用指示部112からステップS101で作成したデータ制御設定を起動する入力を行う。データ処理設定生成部22はステップS101で作成したデータ制御設定を元に新しいデータ処理設定51を作成する。データ処理設定生成部22はデータソース3-3に関する新しいデータ処理設定51の中にデータ処理設定タグ生成部132で作成した新しいタグを含める。
【0056】
また、データ処理設定生成部22はデータソース3-1及びデータソース3-2に関するデータ処理設定51においても、データ処理設定の変更はないがデータ処理設定タグ生成部132で新たに作成したタグを含める。データ処理内容は変化しないがデータ処理を実行するデータ処理部5が異なり、どのデータ処理部5でデータ処理を実行したか後段で判別するためである。データ処理部起動停止実行部23はデータ制御設定記憶部131に記憶されたデータ処理設定51とデータ処理部5との関係を元に、新規にデータ処理部5を起動する。
【0057】
実施例1ではデータ処理部起動停止実行部23は、新しいタグが含まれたデータソース3-1及びデータソース3-2に関するデータ処理設定51-1’、データ処理設定51-2’及びデータ処理設定生成部22が作成したデータソース3-3に関する新規データ処理設定51-3’を同梱したデータ処理部5-1’を起動し、新しいタグが含まれたデータソース3-1及びデータソース3-2に関するデータ処理設定51-4’、データ処理設定51-5’及びデータ処理設定生成部22が作成したデータソース3-3に関する新規データ処理設定51-6’を同梱したデータ処理部5-2’を起動する。
【0058】
図9は一部データ制御設定変更後のデータ処理フローを示す図である。
図7に加えデータ処理部5-1’及びデータ処理部5-2’が稼働する。データソース3-1が送信したデータはキュー41-1を経由し、データ処理設定51-1及びデータ処理設定51-1’双方でデータ処理を実行する。データ処理設定51-1によるデータ処理結果とデータ処理設定51-1’によるデータ処理結果はタグの値以外は同一である。
【0059】
データ処理設定51-1及びデータ処理設定51-1’によるデータ処理結果はキュー41-4を経由し、データ処理設定51-4及びデータ処理設定51-4’双方でデータ処理を実行し、データシンク6-1へ格納する。データ処理設定51-4によるデータ処理結果とデータ処理設定51-4’によるデータ処理結果はタグの値以外は同一である。データシンク6-1にはデータソース3-1が送信したデータが重複して格納される。
【0060】
データ収集基盤ではデータを欠落させることなくデータ処理することが必要であるため、データ制御設定変更時にはデータを重複して処理することでデータ欠落を防ぐ。データシンク6-1はタグの値を読み取ることで、どのデータ処理部5で処理したデータであるか判別することが可能である。データシンク6-1は重複して格納されたデータを全て保存しても良いし、タグ情報を元に一方のデータを破棄しても良い。データソース3-2が送信したデータもデータソース3-1が送信したデータと同様にデータ処理を行う。
【0061】
データソース3-3から送信したデータはキュー41-3を経由し、データ処理設定51-3及びデータ処理設定51-3’双方でデータ処理を実行する。データ処理設定51-3によるデータ処理結果とデータ処理設定51-3’によるデータ処理結果は異なる。データ処理設定51-3によるデータ処理結果はキュー41-6に入る。データ処理設定51-3’によるデータ処理結果もキュー41-6に入る。データ処理設定51-6はキュー41-6のデータの内、データ処理設定51-3で処理され「3101」のタグが付与されたデータのみを取得し、データ処理し、データシンク6-3へ格納する。したがってデータシンク6-3はデータ制御設定変更前のデータ処理が実施されたデータのみが格納される。
【0062】
データ処理設定51-6’はキュー41-6のデータの内、データ処理設定51-3’で処理され「3201」のタグが付与されたデータのみを取得し、データ処理し、データシンク6-4及びデータシンク6-5へ格納する。したがってデータシンク6-4及びデータシンク6-5はデータ制御設定変更後のデータ処理が実施されたデータのみが格納される。
【0063】
本実施例1では、ステップS104においてデータ制御設定変更前の状態へ切り戻しが行われた場合に、
図9の状態から
図7の状態へ戻る。データソース3-1、データソース3-2及びデータソース3-3に関する全てのデータ処理フローはステップS104の動作でデータ処理を停止することなくデータ制御設定変更前の設定でデータ処理を継続することが可能である。ユーザは再びステップS101で新しいデータ制御設定を作成する。
【0064】
ステップS105ではデータ制御設定前に稼働していたデータ処理部5を停止する。データ処理部起動停止実行部23はデータ制御設定記憶部131に記憶されたデータ処理部5やデータ処理設定51の情報を元に、ステップS101以前から稼働するデータ処理部5を停止し、ステップS102で起動したデータ処理部5のみが稼働する状態とする。
【0065】
図10はデータ制御設定変更完了時のデータ処理フローを示す図である。
データ処理部5としてデータ処理部5-1’及びデータ処理部5-2’が稼働する。データ処理部5-1’はデータ制御設定の変更が不要であるデータソース3-1及びデータソース3-2に関するデータ処理設定51-1’及びデータ処理設定51-2’並びにデータ制御設定の変更が必要であるデータソース3-3に関する変更後のデータ処理設定51-3のデータ処理を実行する。データ処理部5-2’はデータ制御設定の変更が不要であるデータソース3-1及びデータソース3-2に関するデータ処理設定51-4’及びデータ処理設定51-5’並びにデータ制御設定の変更が必要であるデータソース3-3に関する変更後のデータ処理設定51-6’のデータ処理を実行する。以上により、複数データ処理フローを同時実行するデータ処理部が複数段連結してデータ処理を行う状況下で、データ収集対象の業務の変化や取得したい情報の変化が生じた際、無停止でデータ制御設定の変更を実現した。
実施例2では、複数データ処理フローを同時実行するデータ処理部が複数段連結してデータ処理を行う状況下で、データ収集対象の業務が追加となり、無停止でデータ制御設定を追加する手順を示す。
ステップS102で、ユーザはデータ制御設定適用指示部112からステップS106で作成したデータ制御設定を起動する入力を行う。データ処理設定生成部22はステップS106で作成したデータ制御設定を元に新しいデータ処理設定51を作成する。データ処理設定生成部22はデータソース3-4に関するデータ処理設定51の中にデータ処理設定タグ生成部132で作成したタグを含める。また、データ処理設定生成部22はデータソース3-1、データソース3-2及びデータソース3-3に関するデータ処理設定51においても、データ処理設定の変更はないがデータ処理設定タグ生成部132で新たに作成したタグを含める。
データ処理内容は変化しないがデータ処理を実行するデータ処理部5が異なり、どのデータ処理部5でデータ処理を実行したか後段で判別するためである。データ処理部起動停止実行部23はデータ制御設定記憶部131に記憶されたデータ処理設定51とデータ処理部5との関係を元に、新規にデータ処理部5を起動する。
実施例2ではデータ処理部起動停止実行部23は、新しいタグが含まれたデータソース3-1、データソース3-2及びデータソース3-3に関するデータ処理設定51-1”、データ処理設定51-2”、データ処理設定51-3”及びデータ処理設定生成部22が作成したデータソース3-4に関する新規データ処理設定51-aを同梱したデータ処理部5-1”を起動し、新しいタグが含まれたデータソース3-1、データソース3-2及びデータソース3-3に関するデータ処理設定51-4”、データ処理設定51-5”、データ処理設定51-6”及びデータ処理設定生成部22が作成したデータソース3-4に関する新規データ処理設定51-bを同梱したデータ処理部5-2”を起動する。
データシンク6-1にはデータソース3-1が送信したデータが重複して格納される。データ収集基盤ではデータを欠落させることなくデータ処理することが必要であるため、データ制御設定追加時にはデータを重複して処理することでデータ欠落を防ぐ。データシンク6-1はタグの値を読み取ることで、どのデータ処理部5で処理したデータであるか判別することが可能である。データシンク6-1は重複して格納されたデータを全て保存しても良いし、タグ情報を元に一方のデータを破棄しても良い。 データソース3-2が送信したデータ及びデータソース3-3が送信したデータもデータソース3-1が送信したデータと同様にデータ処理を行う。データソース3-4から送信したデータはキュー41-aを経由し、データ処理設定51-aでデータ処理を実行する。データ処理設定51-aによるデータ処理結果はキュー41-bに入る。データ処理設定51-bはキュー41-bのデータを取得し、データ処理し、データシンク6-4及びデータシンク6-6へ格納する。
ステップS103ではステップS106で追加したデータ制御設定が意図通りであったかを確認する。ステップS102でデータシンク6に格納されたデータがユーザの意図する通りでなかった場合は、ユーザはデータ制御変更決定部113から「切り戻し」の入力を行いステップS104へ進む。ステップS102でデータシンク6に格納されたデータがユーザの意図する通りであった場合は、ユーザはデータ制御変更決定部113から「確定」の入力を行いステップS105へ進む。
ステップS105ではデータ制御設定前に稼働していたデータ処理部5を停止する。データ処理部起動停止実行部23はデータ制御設定記憶部131に記憶されたデータ処理部5やデータ処理設定51の情報を元に、ステップS106以前から稼働するデータ処理部5を停止し、ステップS102で起動したデータ処理部5のみが稼働する状態とする。
実施例2によれば、複数データ処理フローを同時実行するデータ処理部が複数段連結してデータ処理を行う状況下で、データ収集対象の業務追加が生じた際、無停止でデータ制御設定の追加を実現した。
上記実施例の計算機システムは、データ処理部に複数データ処理設定が混在する環境下での多段的なデータ処理においてデータ処理設定の一部を変更する際、データ処理設定変更前とデータ処理設定変更後の各系のデータ処理設定に付与する識別子を生成するデータ制御設計部と、データ処理設定変更対象とデータ処理設定変更非対象のデータ処理設定を含有した単位でデータ処理部を作成し、データ処理設定変更前とデータ処理設定変更後の各系統を全段で起動しデータ処理を実行させるデータ制御管理部とを有し、データ処理を実行した系を後段のデータ処理部において前記識別子を用いて判別する。
上記実施例によれば、多段的なデータ処理フローを複数並列実行するユースケースにおいて、あるデータ処理設定を変更する際、非変更対象のデータ処理フローを停止させることなく、変更対象のデータ処理フロー変更を実現することができる。