JP6861894B1 - データ処理システム、データ処理装置、データ処理方法、及びプログラム - Google Patents

データ処理システム、データ処理装置、データ処理方法、及びプログラム Download PDF

Info

Publication number
JP6861894B1
JP6861894B1 JP2020516940A JP2020516940A JP6861894B1 JP 6861894 B1 JP6861894 B1 JP 6861894B1 JP 2020516940 A JP2020516940 A JP 2020516940A JP 2020516940 A JP2020516940 A JP 2020516940A JP 6861894 B1 JP6861894 B1 JP 6861894B1
Authority
JP
Japan
Prior art keywords
data
processing
partial
identification information
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020516940A
Other languages
English (en)
Other versions
JPWO2021038820A1 (ja
Inventor
紀之 尾崎
紀之 尾崎
督 那須
督 那須
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6861894B1 publication Critical patent/JP6861894B1/ja
Publication of JPWO2021038820A1 publication Critical patent/JPWO2021038820A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)

Abstract

データ処理装置(10)は、順次実行される複数の部分処理を含む処理フローのうち設定された処理を実行する複数のデータ処理部(300)と、出版/購読型モデルに従って、データ処理部(300)の間におけるデータのやり取りを仲介するデータ配信部(210)と、を含む。ID照合部(330)は、データ配信部(210)から受信したデータである受信データが、データ処理部(300)が実行するように設定された部分処理の対象であるか否かを、受信データに付加された識別情報に基づいて判別する。データ処理実行部(340)は、ID照合部(330)が受信データが部分処理の対象であると判別すると、部分処理を実行する。データ変換部(310)は、データ処理実行部(340)による部分処理の実行結果であるデータに新たな識別情報を付加し、新たな識別情報を付加したデータをデータ配信部(210)に送信する。

Description

本発明は、データ処理システム、データ処理装置、データ処理方法、及びプログラムに関する。
特許文献1に開示されている情報処理システムにおいては、データ処理装置が、データの生成者である作用装置が送信したデータに決められた処理を実行し、処理後のデータをデータの需要者である他の作用装置に送信する。この情報処理システムにおいては、データの生成者である作用装置と、データ処理装置と、データの需要者である他の作用装置とが、出版/購読型モデルに従ってデータ交換する。データ処理装置は、出版/購読型モデルに従ったデータ交換を仲介するブローカと、データに決められた処理を実行するフロー関数とを備えている。
データの生成者である作用装置が、生成したデータを、ブローカに設定された決められたチャネルに出版する。よって、ブローカは、そのチャネルを購読しているフロー関数にデータを渡す。さらに、フロー関数が、処理後のデータをブローカに設定された他のチャネルに出版すると、ブローカは、そのチャネルを購読している他の作用装置にデータを渡す。このように、特許文献1に記載されている情報処理システムにおいては、データをやり取りする2つの処理部が決められたチャネルを使用してデータをやり取りすることで、2つの処理部間でデータを一対一でやり取りすることができる。
特開2010−165172号公報
特許文献1に記載された構成では、データを決められた順序で処理するため、複数のチャネルをブローカに設定する必要がある。図15に、複数の処理部が連携して処理を行うためブローカに複数のチャネルを設定する例を示す。図示するように、ブローカB1にはチャネルXとチャネルYとが設定されている。ここでは、処理部A2がチャネルXを購読し、処理部A3がチャネルYを購読するよう設定されている。処理部A1が、チャネルXにデータを出版すると、ブローカB1はデータを処理部A2に配信する。処理部A2はチャネルXから受信したデータを処理する。処理部A2が、処理した後のデータをチャネルYに出版すると、ブローカB1はデータを処理部A3に配信する。処理部A3はチャネルYから受信したデータを処理する。このように、ブローカB1に複数のチャネルを設定することで、データを決められた順序で処理部に流すことができる。
ここで、データの処理の流れが変更された場合には、チャネルの追加、削除等について、ブローカの設定を変更する必要がある。さらに、出版または購読するチャネルについて、それぞれの処理部の設定を変更する必要がある。例えば、図16に示すように、新たに処理部A4が追加され、処理部A2が処理したデータを、処理部A4が処理し、その後、データが処理部A3に供給される、というように処理の流れが変更されたとする。
この場合、次のような設定変更が必要となる。ブローカB1に、新たにチャネルZを追加する。チャネルYを購読するように処理部A4の設定を変更する。さらに、処理後のデータをチャネルZに出版するように処理部A4の設定を変更する。処理部A3の購読するチャネルをチャネルYに変更する。このように、データの処理の流れが変更された場合には、ブローカのチャネルの設定を変更し、さらに、出版または購読するチャネルについて、それぞれの処理部の設定を変更する必要がある。特許文献1に記載されている構成では、設定変更に係るユーザの作業負担が重くなる。
本発明は、上記実情に鑑みてなされたものであり、出版/購読型モデルに従ったメッセージングを採用したシステムにおいて、簡易な構成で、複数の処理部が連携してデータを順次処理することを目的とする。
上記目的を達成するため、本発明に係るデータ処理システムは、順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行する複数のデータ処理手段と、出版/購読型モデルに従って、データ処理手段の間におけるデータのやり取りを仲介する配信手段と、を含む。データ処理手段が備える記憶手段は、部分処理の処理対象となるデータに直前に実行されることが設定された部分処理を特定する第1識別情報と、処理実行手段が実行する部分処理を特定する第2識別情報と、を対応付けて記憶する。データ処理手段が備える判別手段は、配信手段から受信したデータである受信データが、データ処理手段が実行するように設定された部分処理の処理対象であるか否かを、受信データに付加された識別情報に基づいて判別し、受信データに付加されている識別情報が第1識別情報と一致する場合に、受信データが部分処理の処理対象であると判別する。データ処理手段が備える処理実行手段は、判別手段が、受信データが部分処理の処理対象であると判別すると、部分処理を実行する。データ処理手段が備える送信手段は、処理実行手段による部分処理の実行結果であるデータに新たな識別情報として第2識別情報を付加し、第2識別情報を付加したデータを配信手段に送信する。
本発明に係るデータ処理システムにおいて、データ処理手段は、配信手段から受信した受信データが、データ処理手段が実行するように設定された部分処理の対象であるか否かを、受信データに付加された識別情報に基づいて判別する。データ処理手段は、受信データが部分処理の対象であると判別すると、部分処理を実行し、部分処理の実行結果であるデータに新たな識別情報を付加し、新たな識別情報を付加したデータを配信手段に送信する。このような構成を備えることで、出版/購読型モデルに従ったメッセージングを採用した場合に、簡易な構成で、複数の処理部が連携してデータを順次処理することができる。
本発明の実施の形態に係るデータ処理システムの構成を示すブロック図 実施の形態に係る処理フローの設定の一例を示す図 実施の形態に係る出版/購読型モデルに従ったメッセージングを説明するための図 実施の形態に係るデータ処理装置のハードウェア構成を示すブロック図 実施の形態に係るデータ処理装置の機能構成を示すブロック図 実施の形態に係るID記憶部に登録されるデータの一例を示す図 実施の形態に係るメッセージの一例を示す図 実施の形態に係るデータ処理部のメッセージ処理のフローチャート 実施の形態に係るID記憶部に登録されるデータの例を示す図 実施の形態に係るID記憶部に登録されるデータの他の例を示す図 実施の形態に係るID記憶部に登録されるデータのさらに他の例を示す図 実施の形態に係るデータ配信部間でやり取りされるデータの流れの例を示す図 変形例1に係るID記憶部に登録されるデータの例を示す図 変形例3に係る処理フローの他の例を示す図 変形例4に係るデータに付加されるIDを説明するための図 ブローカにトピックを設定した場合の出版/購読型モデルに従ったメッセージングを説明するための図 従来技術を説明するための図 従来技術の問題点を説明するための図
(実施の形態)
以下、本発明の実施の形態に係るデータ処理装置について、図面を参照しつつ詳細に説明する。
実施の形態に係るデータ処理装置10は、例えば、図1に示すように、機器61、62にネットワーク701を介して接続されており、データ処理システム1を構成する。実施の形態においては、データ処理装置10は、例えば、機器61、62と同じ工場内に配置されているIPC(Industrial Personal Computer)である。機器61、62は、例えば、アクチュエータ、ロボットといったFA機器である。以下、機器61、62を機器60と称することがある。ネットワーク701は、例えば、フィールドネットワークの規格に則ったネットワークである。
データ処理装置10は、機器60が備えるセンサが取得したデータを機器60から収集する。機器60が備えるセンサは、例えば、振動センサ、温度センサ、圧力センサ、流量センサである。データ処理装置10は、例えば、機器60からデータを収集し、収集したデータに、加工処理、分析処理等の各種のデータ処理を実行する。
データ処理装置10は、連携して一連の処理を行う複数の処理部を含む。データ処理装置10が実行する処理として、例えば、図2に示すように、順次実行される部分処理P101、P102、…、P105を含む処理フローP100が、ユーザによって規定されている。
処理フローP100は、機器60が出力したデータに対して実行する部分処理を含む。図2中の矢印はデータの伝送を示す。例えば、部分処理P101は機器60からデータを収集する処理であり、部分処理P105はデータ出力である。例えば、部分処理P101の実行により機器60からデータが収集され、収集されたデータに部分処理P102が施される。続いて、部分処理P102が施されたデータに部分処理P103が施される。さらに、部分処理P103が施されたデータに部分処理P104が施される。部分処理P104が施されたデータは部分処理P105の処理対象となり、例えば、データ処理装置10の外部へ出力される。
データ処理装置10は、処理フローについて定義された内容を示す設定データを有しており、定義された処理フローの設定に従った処理を実行する。具体的には、データ処理装置10が備える処理部が、決められた順序で決められた部分処理を実行する。
また、実施の形態において、データ処理装置10の部分処理を実行する処理部は、出版/購読型モデルに従ってデータをやり取りする。各処理部の機能は、例えば、それぞれのアプリケーションにより実現される。
出版/購読型モデルにおいて、メッセージを送信する側のアプリケーションをパブリッシャといい、メッセージを受信する側のアプリケーションをサブスクライバという。パブリッシャとサブスクライバとのデータ交換を仲介するアプリケーションをブローカという。
図3に出版/購読型モデルに従ったメッセージングの一例を示す。図示するように、パブリッシャP1は、メッセージM1を生成し、生成したメッセージM1をブローカB1に送信する。パブリッシャP1がメッセージM1を送信することを出版ということがある。サブスクライバS1、S2、S3はメッセージの購読をブローカB1に要求する。サブスクライバS1、S2、S3が出版されたメッセージを受信することを購読ということがある。ブローカB1は、メッセージM1の購読を要求しているサブスクライバS1、S2、S3に、パブリッシャP1が出版したメッセージM1を送信する。
出版/購読型モデルに従ったメッセージングでは、パブリッシャP1は、メッセージM1の受信者を想定せずにメッセージM1を送信する。サブスクライバS1、S2、S3は、メッセージM1の送信者を想定せずにメッセージM1を受信する。出版/購読型モデルに従ったメッセージングを採用することで、パブリッシャP1とサブスクライバS1、S2、S3との結合度が低くなり、システムのスケーラビリティが高くなる。その一方で、メッセージの送信者は特定の受信者だけにメッセージを送信することができず、メッセージの受信者はメッセージの送信者を特定することができない。
前述のように、データ処理装置10においては、複数の処理部が、部分処理を順次実行する。処理部はそれぞれ、処理フローで規定された順に部分処理を実行する必要がある。このため、実施の形態に特徴的な構成として、データ処理装置10の処理部がやり取りするデータには、処理フローの進捗度を識別するための識別情報が付加されている。具体的には、識別情報は、そのデータに施された直前の部分処理を特定するための情報である。各処理部は、識別情報により受信したデータが処理対象のデータであるか否かを判別する。
図4に示すように、データ処理装置10は、ハードウェア構成として、データ処理装置10全体を制御するCPU(Central Processing Unit)11と、各種のプログラム及びデータを記憶するメモリ12と、ネットワーク701を介して他の装置と通信する通信インタフェース13と、ユーザインタフェースである入力デバイス14及び出力デバイス15とを有する。メモリ12と通信インタフェース13と入力デバイス14と出力デバイス15とは、バス19を介してCPU11と接続されており、それぞれCPU11と通信する。
CPU11は、メモリ12に記憶されているプログラムを実行することにより、後述する処理を実行する。
メモリ12は、揮発性メモリと不揮発性メモリとを含む。メモリ12は、データ処理装置10の各種機能を実現するためのプログラムを格納する。さらに、メモリ12はCPU11のワークメモリとして用いられる。
通信インタフェース13は、ネットワークインタフェース回路を含み、CPU11の制御の下、ネットワーク701を介して機器60と通信する。
入力デバイス14は、入力キー、ポインティングデバイス等を含む。入力デバイス14は、ユーザからの操作入力を受け付け、ユーザの操作入力を示す信号をCPU11に出力する。ユーザは、例えば、データ処理装置10の管理者である。
出力デバイス15は、ディスプレイ、スピーカ等を含む。出力デバイス15は、CPU11から供給された信号に基づく画像をディスプレイに表示する。出力デバイス15は、CPU11から供給された信号に基づく音声をスピーカから出力する。
図5に示すように、データ処理装置10は、機能的には、機器60からデータを収集するデータ収集部100と、処理フローを制御する実行制御部200と、部分処理を実行するデータ処理部300と、ユーザとの間で情報を授受するユーザインタフェース部400と、処理フローの設定を受け付ける受付部500と、各種データを記憶する記憶部600とを含む。図5において、矢印の向きは、データ処理装置10の各部の間で、データ、信号等が流れる向きを示す。
データ収集部100は、機器60に設けられたセンサが取得したデータを、機器60から収集する。データ収集部100は、例えば、指定された対象から指定された収集間隔で指定されたデータを収集する。データ収集部100は、収集したデータを実行制御部200に供給する。データ収集部100の機能は、主として図4に示すCPU11、通信インタフェース13により実現される。データ収集部100は、本発明に係る収集手段の一例である。
図5に示す実行制御部200は、データ配信部210とフロー制御部220とを含む。実行制御部200の機能は、主として図4に示すCPU11により実現される。
図5に示すデータ配信部210は、出版/購読型モデルにおけるブローカとして動作し、データ処理部300間のデータのやり取りを仲介する。後述するフロー制御部220は、パブリッシャとして動作する。データ処理部300は、パブリッシャかつサブスクライバとして動作する。データ配信部210は、フロー制御部220から受信したデータを含むメッセージをデータ処理部300に配信する。データ配信部210がフロー制御部220から受信したデータは、データ収集部100が機器60から収集したデータである。さらに、データ配信部210は、データ処理部300から受信した部分処理が施されたデータを含むメッセージをデータ処理部300に配信する。データ配信部210は、データ処理部300から受信したデータに付加された識別情報からすべての部分処理が完了したと判別すると、そのデータをフロー制御部220に出力する。データ配信部210は、本発明に係るデータ配信手段の一例である。
フロー制御部220は、定義された処理フローの設定に従って、データ収集部100から供給されたデータを含むメッセージをデータ配信部210に出力する。処理フローは次のように設定される。後述の受付部500が、ユーザから処理フローの設定を受け付け、フロー制御部220に通知する。フロー制御部220は、通知された処理フローの設定を示すデータを記憶部600に格納する。また、フロー制御部220は、データ配信部210からすべてのデータ処理部300による部分処理が実行されたデータを含むメッセージを受信すると、例えば、処理結果に基づく指示を機器60に出力する。あるいは、フロー制御部220は、処理結果に基づき、決められたアプリケーションを起動してもよい。また、あるいは、フロー制御部220は、データ配信部210からすべてのデータ処理部300による部分処理が実行されたデータを含むメッセージを受信すると、受信したデータが示す処理結果をユーザに提示してもよい。フロー制御部220は、本発明に係るフロー制御手段の一例である。
データ処理部300は、データ配信部210から受信したメッセージに含まれているデータに自身が実行するように設定された部分処理を施し、部分処理を施したデータを含むメッセージをデータ配信部210に送信する。データ配信部210から受信したデータは、本発明の受信データの一例である。図5に示す例では、データ処理部300は、データ処理部301、302、303を含む。例えば、データ処理部301は、加工処理1を実行する。データ処理部302は、加工処理2を実行する。データ処理部303は、データ処理部302が加工したデータを分析する。加工処理1、2は、データの分析前に必要な前処理である。
以下、データ処理部300の具体的な機能を説明する。データ処理部300は、データ変換部310と、ID記憶部320と、ID照合部330と、データ処理実行部340とを含む。データ処理部300の機能は、主として図4に示すCPU11、メモリ12により実現される。データ処理部300は、本発明に係るデータ処理手段の一例である。
図5に示すデータ変換部310は、データ配信部210とメッセージを送受信するインタフェースとして動作する。さらに、データ変換部310は、データ配信部210から受信したメッセージに含まれているデータを、後述のデータ処理実行部340が処理可能な形式に変換する。
例えば、データ変換部310がデータ配信部210から受信するメッセージは、図7に示すように、ヘッダとメッセージ本文とを含む。メッセージ本文は、データ処理部300が処理するデータを含む。ヘッダはIDを含む。前述したように、データ処理装置10内において、データ処理部300がやり取りするデータには、処理フローの進捗度を識別するための識別情報が付加されている。ここで、IDは、処理フローの進捗度を識別するための識別情報としての役割を持つ。IDは、任意の値でよく、例えば、初期値から順次加算される数値であってもよいし、あるいは、数値と文字列とを含むものであってもよい。
図5に示すデータ変換部310は、データ配信部210からメッセージを受信すると、受信したメッセージをメッセージ本文とヘッダとに分離する。データ変換部310は、ヘッダからIDを抽出し、IDをID照合部330に出力する。さらに、データ変換部310は、メッセージ本文をデータ処理実行部340に出力する。
データ変換部310は、データ処理実行部340からから処理済みのデータが供給されると、メッセージを生成する。具体的には、データ変換部310は、処理済みのデータをメッセージ本文にセットし、現在の工程のIDをヘッダにセットして、メッセージを生成する。現在の工程のIDは、後述のID照合部330からデータ変換部310に通知される。データ変換部310は、生成したメッセージをデータ配信部210に送信する。データ変換部310は、本発明に係る送信手段の一例である。
ID記憶部320は、データ処理実行部340が部分処理を実行する現在の工程のIDと、その工程の直前の工程のIDとの対応付けを記憶する。現在の工程のIDは、データ処理実行部340が実行する部分処理を特定する情報である。直前の工程のIDは、データ処理実行部340が実行する部分処理の対象となるデータに直前に実行されることが設定された部分処理を特定する情報である。例えば、ID記憶部320は、図6に示すように、直前の工程を示すIDと現在の工程を示すIDとを対応付けたデータを記憶する。データ処理部300が受信したデータに付加されているIDは、直前に部分処理を実行した他のデータ処理部300が付加したものである。データに直前の工程のIDが付加されている場合、そのデータは、データ処理部300が部分処理を実行すべきでデータであることを示す。
なお、最初の部分処理を実行するデータ処理部300の処理の対象は、いずれの部分処理も施されていないデータである。このデータは、具体的には、データ収集部100から、フロー制御部220を介してデータ配信部210に供給されたデータである。この場合、最初の部分処理を実行するデータ処理部300が有するID記憶部320には、直前の工程のIDとして、データにいずれの部分処理も施されていないことを示すIDが格納されている。フロー制御部220が、このIDをデータに付加するものとする。直前の工程のIDは、本発明に係る第1識別情報の一例である。現在の工程のIDは、本発明に係る第2識別情報の一例である。ID記憶部320は、本発明に係る記憶手段の一例である。
ID照合部330は、データ変換部310が出力したIDがID記憶部320に記憶されているか否かを判別する。具体的には、ID照合部330は、ヘッダに含まれていたIDと、ID記憶部320が記憶する直前の工程のIDとが一致する場合、データ配信部210から受信したメッセージに含まれているデータが処理すべきデータであると判別する。そのデータには直前の工程における部分処理が施されているからである。ID照合部330は、判別結果をデータ処理実行部340に通知する。さらに、ID照合部330は、現在の工程のIDをデータ変換部310に通知する。
一方、ID照合部330は、ヘッダに含まれるIDが、直前の工程のIDとしてID記憶部320に記憶されていない場合、データ配信部210から受信したメッセージに含まれているデータが処理対象のデータではないと判別する。ID照合部330は、判別結果をデータ処理実行部340に通知する。ID照合部330は、本発明に係る判別手段の一例である。
データ処理実行部340は、ID照合部330から通知された結果がデータ変換部310が出力したメッセージ本文を処理すべきであることを示す場合、メッセージ本文に予め設定された部分処理を行う。例えば、データ処理部301のデータ処理実行部340は、加工処理1を実行する。データ処理実行部340は、処理後のデータをデータ変換部310に出力する。一方、データ処理実行部340は、ID照合部330から通知された結果が、データ変換部310が出力したメッセージ本文を処理すべきではないことを示す場合、メッセージ本文を破棄する。データ処理実行部340は、本発明のデータ処理実行手段の一例である。
ユーザインタフェース部400は、ユーザインタフェース機能を提供する。例えば、ユーザインタフェース部400は、ユーザによって入力された処理フローの設定を受付部500に通知する。また、ユーザインタフェース部400は、受付部500を介して実行制御部200から供給された情報をユーザに提示する。ユーザインタフェース部400の機能は、主として図4に示す入力デバイス14、出力デバイス15により実現される。
図5に示す受付部500は、ユーザインタフェース部400を介して処理フローの設定を受け付け、処理フローの設定を実行制御部200に通知する。受付部500は、実行制御部200から供給された情報をユーザインタフェース部400に出力する。受付部500の機能は、主として図4に示すCPU11により実現される。
図5に示す記憶部600は、処理フローの設定データを含むデータ処理装置10が機能するために必要なデータを記憶する。記憶部600の機能は、主として図4に示すメモリ12により実現される。
続いて、データ配信部210からメッセージを受信したデータ処理部300の処理を説明する。まず、フロー制御部220は、データ収集部100からデータを受信すると、受信したデータをメッセージ本文にセットし、データにいずれの部分処理も施されていないことを示すIDをヘッダにセットして、図7に示すようなメッセージを生成する。図5に示すように、フロー制御部220は、生成したメッセージをデータ配信部210に送信する。データ配信部210は、フロー制御部220からメッセージを受信すると、メッセージをサブスクライバであるデータ処理部300に配信する。
図8に示すように、データ変換部310は、データ配信部210からメッセージを受信すると(ステップS11;Yes)、受信したメッセージをメッセージ本文とヘッダとに分離する(ステップS12)。データ変換部310は、ヘッダからIDを抽出し(ステップS13)、IDをID照合部330に出力する。さらに、データ変換部310は、メッセージ本文をデータ処理実行部340に出力する。
ID照合部330は、データ変換部310が出力したIDが、ID記憶部320に記憶されているか否かを判別する(ステップS14)。ID照合部330は、IDが直前の工程のIDとしてID記憶部320に記憶されている場合(ステップS14;Yes)、データ配信部210から受信したメッセージが処理対象である旨をデータ処理実行部340に通知する。この場合、データ処理実行部340は、データ変換部310が出力したメッセージ本文に含まれているデータに部分処理を実行する(ステップS15)。データ処理実行部340は、処理後のデータをデータ変換部310に出力する。
データ変換部310は、データ処理実行部340が出力した処理後のデータに現在の工程のIDを付加する(ステップS16)。具体的には、データ変換部310は、データ処理実行部340が出力した処理済みのデータをメッセージ本文にセットし、さらに、ID記憶部320に格納されている現在の工程のIDをヘッダにセットして、メッセージを生成する。データ変換部310は、生成したメッセージをデータ配信部210に送信する(ステップS17)。データ配信部210は、データ処理部300からメッセージを受信すると、メッセージをデータ処理部300に配信する。
一方、ステップS14で、ID照合部330は、IDが直前の工程のIDとしてID記憶部320に記憶されていないと判別すると(ステップS14;No)、その旨をデータ処理実行部340に通知する。この場合、データ処理実行部340は、データを破棄する(ステップS18)。その後、データ変換部310は、再びステップS11の処理を実行する。以上がデータ処理部300の処理である。
続いて、実施の形態におけるデータ処理装置10内のデータの流れの一例を説明する。ここで、データ処理部301が実行する加工処理1の工程を示すIDが“P101”、データ処理部302が実行する加工処理2の工程を示すIDが“P102”、データ処理部303が実行する分析処理の工程を示すIDが“P103”であるとする。いずれの部分処理も施されていないことを示すIDが“P000”であるとする。加工処理1、加工処理2、分析処理の順で、収集されたデータに処理が実行されることが規定されていると仮定する。フロー制御部220は、いずれの部分処理も施されていないことを示すIDとデータ処理部303により最後に実行される部分処理の工程を示すIDとを予め記憶しているものとする。
以下、説明の便宜上、データ処理部301が有するID記憶部320をID記憶部320Aとする。データ処理部302が有するID記憶部320をID記憶部320Bとする。データ処理部303が有するID記憶部320をID記憶部320Cとする。データ処理部301が有するID記憶部320Aには、図9Aに示すようなデータが格納されているものとする。データ処理部302が有するID記憶部320Bには、図9Bに示すようなデータが格納されているものとする。データ処理部303が有するID記憶部320Cには、図9Cに示すようなデータが格納されているものとする。
フロー制御部220は、データ収集部100からデータが供給されると、データにID“P000”を付加し、そのデータを含むメッセージをデータ配信部210に出力するものとする。よって、図10に示すように、データ配信部210は、データをデータ処理部301、302、303に配信する(S1001)。
データ処理部301は、ID“P000”が付加されたデータを受信すると、図9Aに示すID記憶部320Aを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P000”であり、ID記憶部320Aに格納されている直前の工程のIDと一致するため、データ処理部301のID照合部330は受信したデータが処理対象のデータであると判別する。よって、図10に示すように、データ処理部301のデータ処理実行部340は加工処理1を実行する(S1002)。データ処理部301のデータ変換部310は、加工処理1が施されたデータに図9Aに示すID記憶部320Aに格納されている現在の工程のID“P101”を付加し、IDを付加したデータを含むメッセージをデータ配信部210に送信する(S1003)。
データ処理部302は、ID“P000”が付加されたデータを受信すると、図9Bに示すID記憶部320Bを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P000”であり、ID記憶部320Bに格納されている直前の工程のIDと一致しないため、データ処理部302のID照合部330は受信したデータが処理対象のデータではないと判別する。よって、図10に示すように、データ処理部302のデータ処理実行部340はデータを破棄する(S1004)。
データ処理部303は、ID“P000”が付加されたデータを受信すると、図9Cに示すID記憶部320Cを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P000”であり、ID記憶部320Cに格納されている直前の工程のIDと一致しないため、データ処理部303のID照合部330は受信したデータが処理対象のデータではないと判別する。よって、図10に示すように、データ処理部303のデータ処理実行部340はデータを破棄する(S1005)。
データ配信部210は、データ処理部301からデータを受信すると、データをデータ処理部301、302、303に配信する(S1006)。
データ処理部301は、ID“P101”が付加されたデータを受信すると、図9Aに示すID記憶部320Aを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P101”であり、ID記憶部320Aに格納されている直前の工程のIDと一致しないため、データ処理部301のID照合部330は受信したデータが処理対象のデータではないと判別する。よって、図10に示すように、データ処理部301のデータ処理実行部340はデータを破棄する(S1007)。
データ処理部302は、ID“P101”が付加されたデータを受信すると、図9Bに示すID記憶部320Bを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P101”であり、ID記憶部320Bに格納されている直前の工程のIDと一致するため、データ処理部302のID照合部330は受信したデータが処理対象のデータであると判別する。よって、図10に示すように、データ処理部302のデータ処理実行部340は加工処理2を実行する(S1008)。データ処理部302のデータ変換部310は、加工処理2が施されたデータに図9Bに示すID記憶部320Bに格納されている現在の工程のID“P102”を付加し、IDを付加したデータを含むメッセージをデータ配信部210に送信する(S1009)。
データ処理部303は、ID“P101”が付加されたデータを受信すると、図9Cに示すID記憶部320Cを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P101”であり、ID記憶部320Cに格納されている直前の工程のIDと一致しないため、データ処理部303のID照合部330は受信したデータが処理対象のデータではないと判別する。よって、図10に示すように、データ処理部303のデータ処理実行部340はデータを破棄する(S1010)。
データ配信部210は、データ処理部302からデータを受信すると、データをデータ処理部301、302、303に配信する(S1011)。
データ処理部301は、ID“P102”が付加されたデータを受信すると、図9Aに示すID記憶部320Aを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P102”であり、ID記憶部320Aに格納されている直前の工程のIDと一致しないため、データ処理部301のID照合部330は受信したデータが処理対象のデータではないと判別する。よって、図10に示すように、データ処理部301のデータ処理実行部340はデータを破棄する(S1012)。
データ処理部302は、ID“P102”が付加されたデータを受信すると、図9Bに示すID記憶部320Bを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P102”であり、ID記憶部320Bに格納されている直前の工程のIDと一致しないため、データ処理部302のID照合部330は受信したデータが処理対象のデータではないと判別する。よって、図10に示すように、データ処理部302のデータ処理実行部340はデータを破棄する(S1013)。
データ処理部303は、ID“P102”が付加されたデータを受信すると、図9Cに示すID記憶部320Cを参照して、受信したデータが処理対象のデータであるか否かを判別する。ここで、IDが“P102”であり、ID記憶部320Cに格納されている直前の工程のIDと一致するため、データ処理部303のID照合部330は受信したデータが処理対象のデータであると判別する。よって、図10に示すように、データ処理部303のデータ処理実行部340は分析処理を実行する(S1014)。
なお、分析処理に決められた数のデータが必要な場合がある。このような場合、データ処理部303は、データ処理部302が処理したデータを蓄積し、必要な数のデータが揃ったところで分析処理を実行してもよい。
データ処理部303のデータ変換部310は、分析処理結果を示すデータに図9Cに示すID記憶部320Cに格納されている現在の工程のID“P103”を付加し、IDを付加したデータを含むメッセージをデータ配信部210に送信する(S1015)。
データ配信部210がデータ処理部300が最終工程を示すID“P103”が付加されたデータを受信すると、フロー制御部220は、分析結果を示す画像を受付部500を介してユーザインタフェース部400に出力する。よって、ユーザは分析結果を視認することが可能となる。以上が実施の形態に係る構成である。
以上説明したように、データ処理装置10におけるデータ処理部300は、データ配信部210から受信したデータに付加されたIDが、直前の工程を示すIDとしてID記憶部320に記憶されているか否かに応じて、データが部分処理の対象であるか否かを判別する。データ処理部300は、データに付加されたIDからデータが部分処理の対象であると判別した場合、部分処理を実行し、現在の工程を示すIDを付加したデータをデータ配信部210に送信する。一方、データ処理部300は、データが部分処理の対象ではないと判別すると、部分処理を実行しない。
このように、データ処理部300は、データが処理対象であるか否かをデータに付加されたIDに基づいて判別することができる。よって、データの送信元を特定することができない出版/購読型モデルに従ったメッセージングを採用している場合であっても、複数の処理部が連携してデータを順次処理することができる。実施の形態においては、データ処理部300が処理後のデータに処理フローの進捗度を識別するための識別情報であるIDを付加するという簡易な構成により、定義された処理フローに従ってデータを処理することができる。
データ処理部300は、IDに基づいて設定された処理フローに従ってデータを処理するので、ブローカとして動作するデータ配信部210はデータを配信するだけでよい。例えば、特許文献1に記載されているように、ブローカに複数のチャネルを設定することによりデータを流す順序を制御する必要はない。処理フローが変更された場合であっても、ブローカとして動作するデータ配信部210の設定の変更を要することなく、データ処理部300の設定を変更すれば変更後の処理フローに対応することができる。例えば、ブローカとして動作するデータ配信部210の役割を、外部のシステム事業提供者が提供するサーバ上で動作するアプリケーションが果たすことがある。この場合、ブローカが出版されたデータをすべてのデータ処理部300にデータを配信するように設定しておけば、データ処理部300を追加または削除した場合、処理の順序の変更等に簡便に対応することができる。
(変形例1)
実施の形態においては、データ処理部300がそれぞれ1つの部分処理を実行する例を説明したが、データ処理部300は、2つ以上の部分処理を実行してもよい。この場合、データ処理部300が有するID記憶部320には、図11に示すように、直前の工程と現在の工程の組み合わせ毎に、対象の部分処理を定義したデータが格納される。
この場合、ID照合部330は、ヘッダに含まれていたIDと図11に示すID記憶部320が記憶する直前の工程のIDのいずれとが一致する場合、データ配信部210から受信したメッセージに含まれているデータが処理対象のデータであると判別する。ID照合部330は、該当する直前の工程のIDに対応付けられている部分処理をデータ処理実行部340に通知する。従って、データ処理実行部340は、通知された部分処理を実行する。さらに、ID照合部330は、対応する現在の工程のIDをデータ変換部310に通知する。データ変換部310は、データ処理実行部340により部分処理が実行されたデータに、現在の工程のIDを追加してデータをデータ配信部210に送信する。
例えば、ヘッダに含まれていたIDが“P004”である場合、ID照合部330は、対応する処理が“加工処理5”であることをデータ処理実行部340に通知する。従って、データ処理実行部340は加工処理5を実行する。データ変換部310は、処理後のデータにID“P005”を付加したものをデータ配信部210に送信する。
一方、ID照合部330は、ヘッダに含まれていたIDが、図11に示すID記憶部320が記憶する直前の工程のIDのいずれにも該当しない場合、データ配信部210から受信したデータが処理対象ではないと判別し、判別した結果をデータ処理実行部340に通知する。従って、データ処理実行部340はデータを破棄する。
(変形例2)
実施の形態においては、データ処理部300が、メッセージからヘッダを分離することにより、メッセージから直前の工程のIDを削除し、部分処理後のデータに現在の工程のIDを追加する例を説明したが、これに限られない。
データ処理部300は、メッセージから直前の工程のIDを削除せず、直前の工程のIDに、現在の工程のIDを付加したものをヘッダにセットしてもよい。従って、データ処理部300が部分処理を実行するたびに、ヘッダに新たなIDが追加されていくことになる。データ処理部300は、受信したメッセージのヘッダに含まれるIDのうち最後に追加されたIDを直前の工程のIDとみなして、データが処理対象であるか否かを判別すればよい。このような構成の場合、例えば、フロー制御部220が、最終工程における部分処理が実行された後のデータについて、処理フローで定義されたすべての処理が実行されたかを確認することができる。
(変形例3)
実施の形態では、図2に示すような処理フローの例を示したが、処理フローの例はこれに限られない。図12に処理フローの他の例を示す。図示する処理フローP200では、部分処理P101により収集されID“P001”が付加されたデータは、部分処理P102の工程に渡される。
部分処理P102の工程において、ID“P001”が付加されていたデータには、部分処理P102が施された後、ID“P011”が付加され、部分処理P103の工程と部分処理P107の工程に渡される。
部分処理P103の工程において、ID“P011”が付加されていたデータには、部分処理P103が施された後、ID“P012”が付加され、部分処理P104の工程に渡される。部分処理P107の工程において、ID“P011”が付加されていたデータには、部分処理P107が施された後、ID“P031”が付加され、部分処理P104の工程に流される。
部分処理P104の工程において、ID“P012”が付加されていたデータには、部分処理P104が施された後、ID“P013”が付加され、データ配信部210に出力される。ID“P031”が付加されていたデータには、部分処理P104が施された後、ID“P032”が付加され、データ配信部210に出力される。
(変形例4)
実施の形態、変形例1においては、IDが処理の各工程を示す例を説明したが、これに限られない。例えば、図13に示すように処理が実行されるとする。図示する例では、矢印は、部分処理が実行される順序を示す。変形例4においては、IDは、工程間をつなぐ矢印に割り当てられる。
ここでは、データ加工1の工程からデータ加工3の工程をつなぐ矢印にID1が割り振られている。データ加工1の工程から出力されるデータにはID1が付加されているとする。データ加工3を実行するデータ処理部300のID記憶部320には、ID1が付加されたデータがデータ加工3の対象であることを定義した情報が格納されている。データ加工3を実行するデータ処理部300のID照合部330は、ID1が付加されたデータを受信すると、ID記憶部320に格納された情報に基づいて、受信したデータが、データ加工1の工程からデータ加工3の工程に流されたものであると判別する。よって、ID照合部330は、そのデータにデータ加工3を実行すべきであると判別する。この場合、データ処理実行部340は、そのデータにデータ加工3の処理を実行する。一方、データ加工3を実行するデータ処理部300のID照合部330は、受信したデータに付加されているIDがID1以外である場合、そのデータが処理の対象でないと判別する。この場合、データ処理実行部340はそのデータを破棄する。
また、データ加工1の工程からデータ加工4の工程をつなぐ矢印にはID2が割り振られている。データ加工2の工程からデータ加工4の工程をつなぐ矢印にはID3が割り振られている。
データ加工4を実行するデータ処理部300のID記憶部320には、ID2が付加されたデータがデータ加工4の対象であること、ID3が付加されたデータがデータ加工4の対象であること、を定義した情報が格納されている。データ加工4を実行するデータ処理部300のID照合部330は、ID2またはID3が付加されたデータを受信すると、ID記憶部320に格納された情報に基づいて、そのデータにデータ加工4を実行すべきであると判別する。この場合、データ処理実行部340は、そのデータにデータ加工4の処理を実行する。一方、データ加工4を実行するデータ処理部300のID照合部330は、受信したデータに付加されているIDが、ID2、ID3のいずれでもない場合、そのデータが処理の対象でないと判別する。よって、データ処理実行部340はそのデータを破棄する。
このように、IDは、データが直前の部分処理の工程から次の部分処理の工程に流されたデータであることを特定するものであってもよい。
また、データ処理装置10が有するデータ収集部100の数は1つに限られず、2つ以上であってもよい。データ処理装置10が有するデータ処理部300の数は、3つに限られず、2つであってもよいし、4つ以上であってもよい。
実施の形態においては、データ処理装置10がデータ収集部100を有する例を説明したが、例えば、データ処理装置10とネットワークを介して接続されている他の装置がデータ収集部100として機能してもよい。この場合、データ処理装置10は、他の装置が機器60から収集したデータを当該装置から受信する。
また、データ処理部300の一部または全部が、データ処理装置10にネットワークを介して接続されている他の装置に設けられていてもよい。また、ブローカとして動作するデータ配信部210は、データ処理装置10にネットワークを介して接続されている他の装置に設けられていてもよい。例えば、外部のシステム事業提供者が提供するサーバ上で動作するアプリケーションがブローカとして機能してもよい。あるいは、クラウド上のサービスがブローカとして機能してもよい。
実施の形態においては、ブローカにトピックが設定されていない例を説明したが、ブローカにトピックを設定してもよい。トピックは、パブリッシャが出版するメッセージに含まれる情報の主題を表す。パブリッシャはトピックを指定してメッセージを出版することができる。サブスクライバは、トピックを指定してメッセージの購読をブローカに要求する。ブローカは、トピックを購読しているサブスクライバに、パブリッシャが出版したメッセージを送信する。
例えば、データ処理装置10がデータ収集部101、102を有していると仮定する。図14に示すように、フロー制御部220には、データ収集部101、102からデータが供給される。ブローカであるデータ配信部210には、トピックT1、T2が設定されているとする。データ処理部301はトピックT1及びT2を購読しており、データ処理部302はトピックT2を購読しているものとする。
例えば、フロー制御部220は、データ収集部101から供給されたデータを含むメッセージM1をトピックT1に出版し、データ収集部102から供給されたデータを含むメッセージM2をトピックT2に出版する。なお、フロー制御部220は、それぞれのメッセージに含まれるデータにIDを付加しているものとする。よって、データ配信部210は、フロー制御部220から、トピックT1に出版されたメッセージM1をデータ処理部301に配信し、トピックT2に出版されたメッセージM2をデータ処理部301及び302に配信する。データ処理部301、302は、それぞれ受信したメッセージに含まれるデータに付加されたIDに基づいて部分処理を実行すればよい。
データ処理部300のID記憶部320へのデータの格納方法は任意である。例えば、ユーザがデータ処理部300毎のID記憶部320のデータを、ユーザインタフェース部400を介してデータ処理装置10の記憶部600に登録してもよい。この場合、データ処理部300は、起動された後に記憶部600から必要なデータを読み出してもよい。あるいは、実行制御部200がデータ処理部300を起動する場合には、実行制御部200がデータ処理部300に与えるパラメータに必要なデータを指定してもよい。また、あるいは、実行制御部200が、定義された処理フローの設定に従って、ID記憶部320に格納するIDを生成し、生成したIDについてのデータをデータ処理部300に与えてもよい。
図10に示す例では、1つのデータが、データ処理部300間でやり取りされる例を説明したが、データ収集部100が短い時間間隔でデータを収集し、収集したデータをフロー制御部220に供給することもある。このような場合、個々のデータを識別することができるように、例えば、フロー制御部220は、データ収集部100からデータを受信した時刻情報と、いずれの部分処理も施されていないことを示すIDとを結合した値をIDとしてデータにセットしてもよい。例えば、フロー制御部220がデータを受信した時刻が9時03分15秒だとする。この場合、フロー制御部220は、IDを“090315_P000”としてもよい。データ処理部300は、時刻情報を除く部分、ここでは“P000”の部分、に基づいて、データが処理の対象か否かを判別すればよい。
実施の形態においては、データ収集を実行するデータ収集部100はパブリッシャとして動作していないが、データ収集部100もパブリッシャとして動作してよい。この場合、データ収集部100は、フロー制御部220にデータを送信するのではなく、データ配信部210にデータを含むメッセージを出版すればよい。
上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
A1,A2,A3 処理部、B1 ブローカ、M1,M2 メッセージ、P100 処理フロー、P1 パブリッシャ、P101,P102,P103,P104,P105 部分処理、S1,S2,S3 サブスクライバ、T1,T2 トピック、X,Y チャネル、1 データ処理システム、10 データ処理装置、11 CPU、12 メモリ、13 通信インタフェース、14 入力デバイス、15 出力デバイス、19 バス、60,61,62 機器、100,101,102 データ収集部、200 実行制御部、210 データ配信部、220 フロー制御部、300,301,302,303 データ処理部、310 データ変換部、320,320A,320B,320C ID記憶部、330 ID照合部、340 データ処理実行部、400 ユーザインタフェース部、500 受付部、600 記憶部、701 ネットワーク

Claims (14)

  1. 順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行する複数のデータ処理手段と、
    出版/購読型モデルに従って、前記データ処理手段の間におけるデータのやり取りを仲介する配信手段と、
    を含み、
    前記データ処理手段は、
    前記部分処理の処理対象となるデータに直前に実行されることが設定された部分処理を特定する第1識別情報と、実行する前記部分処理を特定する第2識別情報と、を対応付けて記憶する記憶手段と、
    前記配信手段から受信したデータである受信データが、前記データ処理手段が実行するように設定された前記部分処理の処理対象であるか否かを、前記受信データに付加された識別情報に基づいて判別する判別手段であって、前記受信データに付加されている前記識別情報が前記第1識別情報と一致する場合に、前記受信データが前記部分処理の処理対象であると判別する、判別手段と、
    前記判別手段が、前記受信データが前記部分処理の処理対象であると判別すると、前記部分処理を実行する処理実行手段と、
    前記処理実行手段による前記部分処理の実行結果であるデータに新たな前記識別情報として前記第2識別情報を付加し、前記第2識別情報を付加したデータを前記配信手段に送信する送信手段と、
    を備える、
    データ処理システム。
  2. 前記判別手段は、前記受信データに付加されている前記識別情報が前記第1識別情報と一致しない場合に、前記受信データが前記部分処理の処理対象ではないと判別し、
    前記処理実行手段は、前記判別手段が前記受信データが前記部分処理の処理対象ではないと判別すると、前記受信データを破棄する、
    請求項1に記載のデータ処理システム。
  3. 前記判別手段が、前記受信データが前記部分処理の処理対象であると判別した場合、前記処理実行手段は、前記受信データから前記第1識別情報を削除し、そのデータに前記部分処理を実行し、
    前記送信手段は、前記処理実行手段が前記部分処理を実行した後のデータに前記第2識別情報を付加し、前記第2識別情報を付加したデータを前記配信手段に送信する、
    請求項1または2に記載のデータ処理システム。
  4. 順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行する複数のデータ処理手段と、
    出版/購読型モデルに従って、前記データ処理手段の間におけるデータのやり取りを仲介する配信手段と、
    を含み、
    前記データ処理手段は、
    実行対象の前記部分処理の処理対象であるデータがその直前に実行対象であった前記部分処理の工程から前記部分処理の工程に流されたデータであることを特定する前工程間識別情報と、実行対象である前記部分処理を特定する処理識別情報と、データが実行対象である前記部分処理の工程からその直後に実行すべきである前記部分処理の工程に流されたデータであることを特定する後工程間識別情報と、を対応付けて記憶する記憶手段と、
    前記配信手段から受信したデータである受信データが、前記データ処理手段が実行するように設定された前記部分処理の処理対象であるか否かを、前記受信データに付加された識別情報に基づいて判別する判別手段であって、前記受信データに付加されている識別情報が、複数の前記処理識別情報のうちのいずれか1つに対応する前記前工程間識別情報と一致する場合に、前記受信データが前記部分処理の処理対象であると判別する、判別手段と、
    前記判別手段が、前記受信データが前記部分処理の処理対象であると判別すると、前記受信データに前記部分処理を実行する処理実行手段と、
    前記処理実行手段が実行対象である前記部分処理を実行した後のデータに新たな前記識別情報として実行した前記部分処理の工程からその直後に実行すべき前記部分処理の工程に対応する前記後工程間識別情報を前記記憶手段から取得して付加し、新たな前記識別情報を付加したデータを前記配信手段に送信する送信手段と、
    を備える、
    データ処理システム。
  5. 前記判別手段が、前記受信データに付加された前記識別情報に基づいて、前記受信データに付加されている前記識別情報が、複数の前記前工程間識別情報のうちのいずれにも一致しないと判別すると、前記処理実行手段は、前記受信データを破棄する、
    請求項4に記載のデータ処理システム。
  6. 機器から収集されたデータであって、前記処理フローのうち最初の部分処理が実行される前のデータに前記識別情報を付加し、前記識別情報を付加したデータを前記配信手段に送信するフロー制御手段、
    を備え、
    前記配信手段は、
    前記フロー制御手段から受信したデータを、前記データ処理手段に配信する、
    請求項1から5のいずれか1項に記載のデータ処理システム。
  7. 前記配信手段は、受信したデータに付加された前記識別情報に基づいて、前記処理フローについて設定されたすべての部分処理が完了したと判別すると、そのデータを前記フロー制御手段に供給し、
    前記フロー制御手段は、前記処理フローについて設定されたすべての部分処理が完了したデータに基づいて、前記機器に指示を出力する、
    請求項6に記載のデータ処理システム。
  8. 前記機器から収集したデータを前記フロー制御手段に供給する収集手段、
    を備える、
    請求項6または7に記載のデータ処理システム。
  9. 順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行する複数のデータ処理手段と、
    出版/購読型モデルに従って、前記データ処理手段の間におけるデータのやり取りを仲介する配信手段と、
    を含み、
    前記データ処理手段は、
    前記部分処理の処理対象となるデータに直前に実行されることが設定された部分処理を特定する第1識別情報と、実行する前記部分処理を特定する第2識別情報と、を対応付けて記憶する記憶手段と、
    前記配信手段から受信したデータである受信データが、前記データ処理手段が実行するように設定された前記部分処理の処理対象であるか否かを、前記受信データに付加された識別情報に基づいて判別する判別手段であって、前記受信データに付加されている前記識別情報が前記第1識別情報と一致する場合に、前記受信データが前記部分処理の処理対象であると判別する、判別手段と、
    前記判別手段が、前記受信データが前記部分処理の処理対象であると判別すると、前記部分処理を実行する処理実行手段と、
    前記処理実行手段による前記部分処理の実行結果であるデータに新たな前記識別情報として前記第2識別情報を付加し、前記第2識別情報を付加したデータを前記配信手段に送信する送信手段と、
    を備える、
    データ処理装置。
  10. 順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行する複数のデータ処理手段と、
    出版/購読型モデルに従って、前記データ処理手段の間におけるデータのやり取りを仲介する配信手段と、
    を含み、
    前記データ処理手段は、
    実行対象の前記部分処理の処理対象であるデータがその直前に実行対象であった前記部分処理の工程から実行対象である前記部分処理の工程に流されたデータであることを特定する前工程間識別情報と、実行対象である前記部分処理を特定する処理識別情報と、データが実行対象である前記部分処理の工程からその直後に実行すべきである前記部分処理の工程に流されたデータであることを特定する後工程間識別情報と、を対応付けて記憶する記憶手段と、
    前記配信手段から受信したデータである受信データが、前記データ処理手段が実行するように設定された前記部分処理の処理対象であるか否かを、前記受信データに付加された識別情報に基づいて判別する判別手段であって、前記受信データに付加されている識別情報が、複数の前記処理識別情報のうちのいずれか1つに対応する前記前工程間識別情報と一致する場合に、前記受信データが実行対象である前記部分処理の処理対象であると判別する、判別手段と、
    前記判別手段が、前記受信データが実行対象である前記部分処理の処理対象であると判別すると、前記受信データに前記部分処理を実行する処理実行手段と、
    前記処理実行手段が実行対象である前記部分処理を実行した後のデータに新たな前記識別情報として実行した前記部分処理の工程からその直後に実行すべき前記部分処理の工程に対応する前記後工程間識別情報を前記記憶手段から取得して付加し、新たな前識別情報を付加したデータを前記配信手段に送信する送信手段と、
    を備える、
    データ処理装置。
  11. データ処理手段が、順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行するデータ処理ステップと、
    配信手段が、出版/購読型モデルに従って、前記データ処理手段の間におけるデータのやり取りを仲介する配信ステップと、
    記憶手段が、前記部分処理の処理対象となるデータに直前に実行されることが設定された部分処理を特定する第1識別情報と、前記データ処理手段が実行する前記部分処理を特定する第2識別情報と、を対応付けて記憶する記憶ステップと、
    を含み、
    前記配信ステップでは、
    前記配信手段が、前記データ処理手段に前記データを送信し、又は、前記データ処理ステップにおいて前記データ処理手段から送信された前記データを受信し、
    前記データ処理ステップでは、前記データ処理手段が、
    前記配信手段から受信したデータである受信データに付加されている識別情報が前記記憶ステップにおいて前記記憶手段に記憶された前記第1識別情報と一致する場合に、前記受信データが前記部分処理の処理対象であると判別し、
    前記受信データが前記部分処理の処理対象であると判別すると、前記部分処理を実行し、
    前記部分処理の実行結果であるデータに新たな前記識別情報として前記記憶ステップにおいて前記記憶手段に記憶された前記第2識別情報を付加し、前記第2識別情報を付加したデータを前記配信手段に送信する、
    データ処理方法。
  12. データ処理手段が、順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行するデータ処理ステップと、
    配信手段が、出版/購読型モデルに従って、前記データ処理手段の間におけるデータのやり取りを仲介する配信ステップと
    記憶手段、実行対象の前記部分処理の処理対象であるデータがその直前に実行対象であった前記部分処理の工程から前記部分処理の工程に流されたデータであることを特定する前工程間識別情報と、実行対象である前記部分処理を特定する処理識別情報と、データが実行対象である前記部分処理の工程からその直後に実行すべきである前記部分処理の工程に流されたデータであることを特定する後工程間識別情報と、を対応付けて記憶する記憶ステップと
    を含み、
    前記配信ステップでは、
    前記配信手段が、前記データ処理手段に前記データを送信し、又は、前記データ処理ステップにおいて前記データ処理手段から送信された前記データを受信し、
    前記データ処理ステップでは、前記データ処理手段が、
    記配信手段から受信したデータである受信データに付加されている識別情報が前記記憶ステップにおいて前記記憶手段に記憶された複数の前記処理識別情報のうちのいずれか1つに対応する前記前工程間識別情報と一致する場合に、前記受信データが実行対象である前記部分処理の処理対象であると判別し、
    記受信データが実行対象である前記部分処理の処理対象であると判別すると、前記受信データに前記部分処理を実行し、
    行対象である前記部分処理を実行した後のデータに新たな前記識別情報として実行した前記部分処理の工程からその直後に実行すべき前記部分処理の工程に対応する前記後工程間識別情報を前記記憶手段から取得して付加し、新たな前記識別情報を付加したデータを前記配信手段に送信する、
    データ処理方法。
  13. コンピュータを、
    順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行する複数のデータ処理手段、
    出版/購読型モデルに従って、前記データ処理手段の間におけるデータのやり取りを仲介する配信手段、
    として機能させ、
    前記データ処理手段に、
    前記部分処理の処理対象となるデータに直前に実行されることが設定された部分処理を特定する第1識別情報と、前記データ処理手段が実行する前記部分処理を特定する第2識別情報と、を対応付けて記憶させ、
    前記配信手段から受信したデータである受信データに付加されている識別情報が前記第1識別情報と一致する場合に、前記受信データが前記部分処理の処理対象であると判別させ、
    前記受信データが前記部分処理の処理対象である場合に、前記部分処理を実行させ、
    前記部分処理の実行結果であるデータに新たな前記識別情報として前記第2識別情報を付加させ、
    前記第2識別情報を付加したデータを前記配信手段に送信させる、
    プログラム。
  14. コンピュータを、
    順次実行される複数の部分処理を含む処理フローのうち設定された部分処理を実行する複数のデータ処理手段、
    出版/購読型モデルに従って、前記データ処理手段の間におけるデータのやり取りを仲介する配信手段、
    として機能させ、
    前記データ処理手段に、
    実行対象である前記部分処理の処理対象であるデータがその直前に実行対象であった前記部分処理の工程から前記部分処理の工程に流されたデータであることを特定する前工程間識別情報と、実行対象である前記部分処理を特定する処理識別情報と、データが実行対象である前記部分処理の工程からその直後に実行すべきである前記部分処理の工程に流されたデータであることを特定する後工程間識別情報と、を記憶手段に対応付けて記憶させ、
    前記配信手段から受信したデータである受信データが、前記データ処理手段が実行するように設定された前記部分処理の処理対象であるか否かを、前記受信データに付加された識別情報に基づいて、前記受信データに付加されている識別情報が、複数の前記処理識別情報のうちのいずれか1つに対応する前記前工程間識別情報と一致する場合に、前記受信データが実行対象である前記部分処理の処理対象であると判別させ、
    前記受信データが実行対象である前記部分処理の処理対象であると判別すると、前記受信データに前記部分処理を実行させ、
    実行対象である前記部分処理を実行した後のデータに新たな前記識別情報として実行した前記部分処理の工程からその直後に実行すべき前記部分処理の工程に対応する前記後工程間識別情報を前記記憶手段から取得して付加し、新たな前記識別情報を付加したデータを前記配信手段に送信させる、
    プログラム。
JP2020516940A 2019-08-30 2019-08-30 データ処理システム、データ処理装置、データ処理方法、及びプログラム Active JP6861894B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/034086 WO2021038820A1 (ja) 2019-08-30 2019-08-30 データ処理システム、データ処理装置、データ処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6861894B1 true JP6861894B1 (ja) 2021-04-21
JPWO2021038820A1 JPWO2021038820A1 (ja) 2021-09-13

Family

ID=74685381

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020516940A Active JP6861894B1 (ja) 2019-08-30 2019-08-30 データ処理システム、データ処理装置、データ処理方法、及びプログラム

Country Status (4)

Country Link
US (1) US11797362B2 (ja)
JP (1) JP6861894B1 (ja)
CN (1) CN114270325B (ja)
WO (1) WO2021038820A1 (ja)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350758A (en) * 1999-06-04 2000-12-06 Ibm Message broker providing a publish/subscribe sevice and method of processing messages in a publish/subscribe environment
US20030135556A1 (en) * 2001-12-14 2003-07-17 International Business Machines Corporation Selection of communication strategies for message brokers or publish/subscribe communications
US7434225B2 (en) * 2003-12-18 2008-10-07 International Business Machines Corporation Context information associated with message flows in a messaging system
US7421696B2 (en) * 2003-12-22 2008-09-02 Jp Morgan Chase Bank Methods and systems for managing successful completion of a network of processes
US20070027915A1 (en) * 2005-07-29 2007-02-01 Morris Robert P Method and system for processing a workflow using a publish-subscribe protocol
JP5039066B2 (ja) 2009-01-15 2012-10-03 株式会社東芝 データ処理装置、データ処理方法及びプログラム
JP5528536B2 (ja) * 2010-03-05 2014-06-25 三菱電機株式会社 プログラムトレース装置
US8549539B2 (en) * 2010-12-13 2013-10-01 International Business Machines Corporation Programmatic modification of a message flow during runtime
JP2013038647A (ja) 2011-08-09 2013-02-21 Nec Corp メッセージ転送システム、制御装置、メッセージ転送ノード、メッセージ転送方法およびプログラム
JP5861438B2 (ja) * 2011-12-16 2016-02-16 株式会社オートネットワーク技術研究所 制御装置及び処理監視方法
US9319362B1 (en) * 2012-01-25 2016-04-19 Solace Systems, Inc. Messaging system with distributed filtering modules which register interests, remove any messages that do not match the registered interest, and forward any matched messages for delivery
WO2013145467A1 (ja) 2012-03-26 2013-10-03 日本電気株式会社 メッセージングシステム、トピック管理装置、メッセージング方法及びプログラム
JP6248493B2 (ja) * 2013-09-17 2017-12-20 株式会社リコー データ処理装置、データ処理方法、及びデータ処理プログラム
JP6402077B2 (ja) * 2015-07-27 2018-10-10 日本電信電話株式会社 中継システム、中継方法、及びプログラム
CN110036372B (zh) * 2017-03-03 2020-11-27 三菱电机株式会社 数据处理装置、数据处理方法、设定管理装置以及数据处理系统
DE112017005727T5 (de) * 2017-11-06 2019-08-29 Mitsubishi Electric Corporation Datensammelvorrichtung, Datensammelverfahren und Programm
US10715469B2 (en) * 2018-09-19 2020-07-14 International Business Machines Corporation Poisoned message detection system

Also Published As

Publication number Publication date
WO2021038820A1 (ja) 2021-03-04
CN114270325A (zh) 2022-04-01
CN114270325B (zh) 2023-06-13
US11797362B2 (en) 2023-10-24
US20220283884A1 (en) 2022-09-08
JPWO2021038820A1 (ja) 2021-09-13

Similar Documents

Publication Publication Date Title
US6587870B2 (en) Information sharing system, and information sharing system management apparatus and method
US8266646B2 (en) Cooperative system for measuring electronic media
US5745686A (en) Information tracing system and information tracing method
US20080077708A1 (en) System and method for electronically managing and routing news content
CN102546467A (zh) 会议专用的状态指示符
JPH0944432A (ja) 情報処理方法および情報処理装置
US20190373051A1 (en) Task Scheduling System for Internet of Things (IoT) Devices
CN108512814A (zh) 媒体数据处理方法、装置和系统
CN110308984A (zh) 一种用于处理地理分布式数据的跨集群计算系统
CN112883011A (zh) 实时数据处理方法和装置
JP6861894B1 (ja) データ処理システム、データ処理装置、データ処理方法、及びプログラム
JP5024453B2 (ja) 業務フロー分散処理システム及び方法
JP6608572B1 (ja) データ処理装置、データ処理システム、データ処理方法及びプログラム
US9087034B2 (en) Form multiplexer for a portal environment
US20120096476A1 (en) Virtual event channel configuration method through combination of event channels and event management apparatus using the method
JP2004164636A (ja) ネットワークのパフォーマンスデータ収集を拡張するシステムおよび方法
CN113238921A (zh) 一种软件服务平台会话异常分析方法、装置、设备和介质
CN113129658A (zh) 基于虚拟现实和区块链的医疗教学系统和方法
AU2019458741B9 (en) System and method for dynamic routing of messages between networks
CN104796570A (zh) 图像形成系统中的通信控制方法、以及图像形成系统
JP7389370B2 (ja) 運用装置、保守管理システム、運用方法およびプログラム
JP4184169B2 (ja) サービスオーダ情報管理制御クライアント装置とクライアント装置のサービスオーダ情報管理制御方法、およびサービスオーダ情報管理制御クライアントプログラムとそのクライアントプログラムを記憶した記憶媒体
US11528569B2 (en) Method for transmitting information for adapting a hearing aid and networked computer infrastructure
JP2006031150A (ja) コンテンツ登録方法、コンテンツ配信システム、センター配信サーバ及びプログラム
JP2009110165A (ja) パブリッシュ/サブスクライブ通信における負荷分散処理方法及びその実施装置と処理プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200323

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200323

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200323

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210330

R150 Certificate of patent or registration of utility model

Ref document number: 6861894

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250