JP7492451B2 - Data control system and data control method - Google Patents

Data control system and data control method Download PDF

Info

Publication number
JP7492451B2
JP7492451B2 JP2020212414A JP2020212414A JP7492451B2 JP 7492451 B2 JP7492451 B2 JP 7492451B2 JP 2020212414 A JP2020212414 A JP 2020212414A JP 2020212414 A JP2020212414 A JP 2020212414A JP 7492451 B2 JP7492451 B2 JP 7492451B2
Authority
JP
Japan
Prior art keywords
data
attribute value
unit
processing
processed
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
JP2020212414A
Other languages
Japanese (ja)
Other versions
JP2022098810A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020212414A priority Critical patent/JP7492451B2/en
Publication of JP2022098810A publication Critical patent/JP2022098810A/en
Application granted granted Critical
Publication of JP7492451B2 publication Critical patent/JP7492451B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、データ制御システム及びデータ制御方法に関し、フローベースアプリケーションにおけるデータの変化を監視するデータ制御システム及びデータ制御方法に適用して好適なものである。 The present invention relates to a data control system and a data control method, and is suitable for use in a data control system and a data control method that monitors changes in data in a flow-based application.

近年、コンポーネント化されたソフトウェア部品(ソフトウェアコンポーネント)を組み合わせて開発されたアプリケーション(フローベースアプリケーション)の実装が進んでおり、当該システムにおける効率的な運用方法等が提案されている。 In recent years, the implementation of applications (flow-based applications) developed by combining componentized software parts (software components) has progressed, and efficient operation methods for such systems have been proposed.

例えば、特許文献1には、「ビジネス環境の変化やSLAの充足状況に応じて柔軟に、機能、性能、または信頼性といったサービスレベルを制御することを可能としたアプリケーション運用管理システム及び方法」が開示されている。 For example, Patent Document 1 discloses "an application operation management system and method that enables flexible control of service levels, such as functionality, performance, or reliability, in response to changes in the business environment and the fulfillment of SLAs."

特開2006-252189号公報JP 2006-252189 A

ところで、フローベースアプリケーションのようなサーバレス環境のアプリケーションにおいては、各機能が疎結合になるため、アプリケーションに入力されたデータが各ソフトウェアコンポーネントにおいて処理されていく過程で、データの変化が発生し得る。例えば、ソフトウェアコンポーネントの設計ミス等によって、想定しないデータの変化が生じることもある。そしてこのようなデータの変化を見逃すと、データの完全性や機密性が低下したり、フローベースアプリケーションが誤った結果を出力したりするおそれがあった。ここで、上述した特許文献1には、フローベースアプリケーションの運用管理について記載されているが、フローベースアプリケーションに入力されたデータが各ソフトウェアコンポーネントを通る過程で発生するデータの変化や、データの変化に伴う制御については、開示されていなかった。 In serverless applications such as flow-based applications, functions are loosely coupled, so data changes can occur as data input to the application is processed by each software component. For example, unexpected data changes can occur due to design errors in software components. If such data changes are overlooked, data integrity and confidentiality can be reduced, and the flow-based application can output erroneous results. The above-mentioned Patent Document 1 describes the operation management of flow-based applications, but does not disclose data changes that occur as data input to the flow-based application passes through each software component, or control associated with data changes.

本発明は以上の点を考慮してなされたもので、フローベースアプリケーションにおいてデータが処理される過程におけるデータ変化を検知することが可能なデータ制御システム及びデータ制御方法を提案しようとするものである。 The present invention has been made in consideration of the above points, and aims to propose a data control system and a data control method that are capable of detecting data changes during data processing in a flow-based application.

かかる課題を解決するため本発明においては、全体またはその一部を疎結合なソフトウェアコンポーネントの組み合わせで構成したフローベースアプリケーションにおいて処理されるデータ変化を検知するデータ制御システムであって、前記フローベースアプリケーションを構成する疎結合された複数の前記ソフトウェアコンポーネントには、個々が入力データに対して任意のデータ処理を実施して加工済データを出力するデータ加工部としての機能を有するソフトウェアコンポーネントが含まれ、前記データ処理によるデータの変化を数値化した属性値を所定の計算用データを用いて計算する属性値計算部と、それぞれの前記データ加工部による前記データ処理が終了するごとに、当該データ処理に関する前記計算用データを添えて、当該データ処理の前記加工済データに対する前記属性値の計算を前記属性値計算部に要求する制御機能要求部と、を備え、前記制御機能要求部は、前記属性値計算部から前記加工済データに対する前記属性値の計算結果である更新済属性値を受け取った後、前記加工済データ及び前記更新済属性値を次の前記データ加工部のソフトウェアコンポーネントに送信する、データ制御システムが提供される。 In order to solve such problems, the present invention provides a data control system that detects changes in data processed in a flow-based application that is composed of a combination of loosely coupled software components, in whole or in part, and the plurality of loosely coupled software components that compose the flow-based application each include a software component that functions as a data processing unit that performs arbitrary data processing on input data and outputs processed data, and the data control system includes an attribute value calculation unit that calculates attribute values that quantify changes in data due to the data processing using predetermined calculation data, and a control function request unit that requests the attribute value calculation unit to calculate the attribute values for the processed data of the data processing, attaching the calculation data related to the data processing, each time the data processing by each of the data processing units is completed, and the control function request unit receives updated attribute values that are the calculation results of the attribute values for the processed data from the attribute value calculation unit, and then transmits the processed data and the updated attribute values to the next software component of the data processing unit.

また、かかる課題を解決するため本発明においては、全体またはその一部を疎結合なソフトウェアコンポーネントの組み合わせで構成したフローベースアプリケーションにおいて処理されるデータ変化を検知するデータ制御システムによるデータ制御方法であって、前記フローベースアプリケーションを構成する疎結合された複数の前記ソフトウェアコンポーネントには、個々が入力データに対して任意のデータ処理を実施して加工済データを出力するデータ加工部としての機能を有するソフトウェアコンポーネントが含まれ、前記データ加工部としての機能を有するそれぞれのソフトウェアコンポーネントによる前記データ処理が終了するごとに、当該データ処理に関する計算用データを添えて、当該データ処理の前記加工済データに対する属性値の計算を要求する要求ステップと、前記要求ステップにおける前記要求に添えられた前記計算用データを用いて、前記加工済データに対して、前記データ処理によるデータの変化を数値化した前記属性値を計算する属性値計算ステップと、前記属性値計算ステップにおける計算後、前記加工済データと前記加工済データに対する前記属性値である更新済属性値とを、次の前記データ加工部のソフトウェアコンポーネントに送信する出力ステップと、を備えるデータ制御方法が提供される。 In order to solve such problems, the present invention provides a data control method using a data control system that detects changes in data processed in a flow-based application that is composed of a combination of loosely coupled software components, in whole or in part, and the loosely coupled software components that compose the flow-based application each include a software component that functions as a data processing unit that performs arbitrary data processing on input data and outputs processed data, and the data control method includes the following steps: a request step for requesting calculation of an attribute value for the processed data of the data processing by attaching calculation data related to the data processing each time the data processing by each software component that functions as the data processing unit is completed; an attribute value calculation step for calculating, for the processed data, the attribute value that quantifies the data change due to the data processing using the calculation data attached to the request in the request step; and an output step for transmitting, after the calculation in the attribute value calculation step, the processed data and the updated attribute value that is the attribute value for the processed data to the next software component of the data processing unit.

本発明によれば、フローベースアプリケーションにおいてデータが処理される過程におけるデータ変化を検知することができる。 The present invention makes it possible to detect data changes during data processing in a flow-based application.

本発明の第1の実施形態に係るデータ制御システム1の構成例を示す図である。1 is a diagram illustrating an example of a configuration of a data control system 1 according to a first embodiment of the present invention. 図1に示したデータ制御システム1が動作する計算機10のハードウェア構成例を示すブロック図である。2 is a block diagram showing an example of a hardware configuration of a computer 10 on which the data control system 1 shown in FIG. 1 operates. データ加工部112で処理されるデータの構成例を説明する図である。1 is a diagram illustrating an example of the configuration of data processed by a data processing unit 112. FIG. 属性値情報の構成例を説明する図である。FIG. 11 is a diagram illustrating an example of the configuration of attribute value information. 属性値再計算処理の処理手順例を示すフローチャートである。13 is a flowchart illustrating an example of a processing procedure for attribute value recalculation processing. 属性値再計算処理における属性値の計算過程の一例を視覚的に説明する図である。11A and 11B are diagrams for visually explaining an example of a calculation process of attribute values in the attribute value recalculation process. データ制御システム1における全体的な処理の手順例を示すシーケンス図である。1 is a sequence diagram showing an example of an overall processing procedure in the data control system 1. FIG. データ制御システム1を利用したデータ処理検証システム2の構成例を示すブロック図である。1 is a block diagram showing an example of the configuration of a data processing verification system 2 using a data control system 1. データ処理検証システム2における全体的な処理の手順例を示すシーケンス図である。11 is a sequence diagram showing an example of an overall processing procedure in the data processing verification system 2. FIG. 第2の実施形態に係るデータ制御システム3の構成例を示す図である。FIG. 11 is a diagram illustrating an example of a configuration of a data control system 3 according to a second embodiment. データ制御システム3における全体的な処理の手順例を示すシーケンス図である。10 is a sequence diagram showing an example of an overall processing procedure in the data control system 3. FIG. 属性値閾値リスト410を示す図である。FIG. 4 is a diagram showing an attribute value threshold list 410. 評価式リスト420を示す図である。FIG. 4 is a diagram showing an evaluation formula list 420. 格納先リスト430を示す図である。FIG. 4 is a diagram showing a storage destination list 430.

以下、図面を参照して、本発明の実施形態を詳述する。 The following describes an embodiment of the present invention in detail with reference to the drawings.

(1)第1の実施形態
図1は、本発明の第1の実施形態に係るデータ制御システム1の構成例を示す図である。データ制御システム1は、入力されたデータを処理するフローベースアプリケーション100と、フローベースアプリケーション100に接続されて、フローベースアプリケーション100で順次実行されるデータ処理に伴うデータの変化を検知するデータ制御機能150とを備える。
1 is a diagram showing an example of the configuration of a data control system 1 according to a first embodiment of the present invention. The data control system 1 includes a flow-based application 100 that processes input data, and a data control function 150 that is connected to the flow-based application 100 and detects changes in data associated with data processing that is sequentially executed by the flow-based application 100.

フローベースアプリケーション100は、全体またはその一部をN個のソフトウェアコンポーネントが疎結合して構成されるアプリケーションであり、例えば構造化されたデータ形式であるJSON形式に基づいた入出力を持つとする。JSON形式は、本実施形態を説明する上で用いる構造化データのデータ形式の一例であり、その他のデータ形式による構造化データであってよい。上記ソフトウェアコンポーネントはそれぞれ、入力されたデータをフローベースアプリケーションの目的に基づいて加工等の処理を行う。フローベースアプリケーション100では、これら複数のソフトウェアコンポーネントが連結されることにより、フローベースアプリケーション100に入力されたデータに対して、図1の処理1、処理2、・・・処理Nのように各処理ブロック101,102,103で順次データ加工などの処理を実施して、最終的なデータ処理の結果を出力する。 The flow-based application 100 is an application that is composed entirely or partially of N software components loosely coupled, and has input and output based on the JSON format, which is a structured data format, for example. The JSON format is an example of a data format for structured data used in explaining this embodiment, and structured data in other data formats may be used. Each of the above software components processes input data, such as processing, based on the purpose of the flow-based application. In the flow-based application 100, these multiple software components are linked together, and data input to the flow-based application 100 is processed in sequence in each processing block 101, 102, 103, as shown in processing 1, processing 2, ... processing N in Figure 1, and the final data processing result is output.

図1に示したように、フローベースアプリケーション100には、情報入力部111、データ加工部112、データ記憶部113、制御機能要求部114、第1情報出力部115、及び第2情報出力部116が含まれる。なお、制御機能要求部114は、フローベースアプリケーション100にデータ制御機能を接続するための機能部であり、フローベースアプリケーションの本来の機能であるデータ加工等のために必要な機能部ではないため、データ制御機能150を構成する機能部とも言える。 As shown in FIG. 1, the flow-based application 100 includes an information input unit 111, a data processing unit 112, a data storage unit 113, a control function request unit 114, a first information output unit 115, and a second information output unit 116. Note that the control function request unit 114 is a functional unit for connecting a data control function to the flow-based application 100, and is not a functional unit required for data processing, which is an original function of the flow-based application, and therefore can also be said to be a functional unit that constitutes the data control function 150.

情報入力部111は、データ制御システム1の外部からフローベースアプリケーション100に対する入力を受け付ける。具体的には、情報入力部111には、フローベースアプリケーション100での処理が要求されるデータ121と、当該データの属性値122とが入力される。情報入力部111は、入力されたデータ121及び属性値122を、処理1の処理ブロック101のデータ加工部112に入力する。なお、処理2以降の処理ブロック102,103では、情報入力部111からのデータ121及び属性値122の入力に代えて、直前の処理ブロックにおける制御機能要求部114から、加工済データ125及び更新済属性値126がデータ加工部112に入力される。 The information input unit 111 accepts input to the flow-based application 100 from outside the data control system 1. Specifically, data 121 requested to be processed by the flow-based application 100 and attribute values 122 of the data are input to the information input unit 111. The information input unit 111 inputs the input data 121 and attribute values 122 to the data processing unit 112 of the processing block 101 of processing 1. Note that in processing blocks 102 and 103 from processing 2 onwards, instead of inputting the data 121 and attribute values 122 from the information input unit 111, processed data 125 and updated attribute values 126 are input to the data processing unit 112 from the control function request unit 114 in the immediately preceding processing block.

なお、本実施形態では、フローベースアプリケーション100においてデータが処理される過程で変化し得るデータの変化を数値化した指標値を「属性値」と称する。後述する図4に示すように、本実施形態における「属性値」は、データを構成する項目(データ項目)ごとに割り当てられる。したがって、データ121に対応する属性値122や、加工済データ125に対応する更新済属性値126は、各データ項目に割り当てられた属性値をリスト化した属性値情報の形式を持つ。 In this embodiment, the index value that quantifies the change in data that may occur in the process of data processing in the flow-based application 100 is called an "attribute value." As shown in FIG. 4, which will be described later, in this embodiment, an "attribute value" is assigned to each item (data item) that constitutes the data. Therefore, the attribute value 122 corresponding to the data 121 and the updated attribute value 126 corresponding to the processed data 125 have the format of attribute value information that lists the attribute values assigned to each data item.

データ加工部112は、入力されたデータに対して、フローベースアプリケーション100の目的に基づいて何らかの処理(例えばデータ加工)を実行し、その実行結果を出力する。図1に示したように、フローベースアプリケーション100はN個のデータ加工部112を備えており、それぞれのデータ加工部112が別個のソフトウェアコンポーネントで実現される。このデータ加工部112のソフトウェアコンポーネントは、フローベースアプリケーション100全体と同様なJSON形式の入出力インタフェースを持ち、それぞれのソフトウェアコンポーネントの独立性が強い疎結合な構成となっている。疎結合な構成においては、インタフェース以外において他のソフトウェアコンポーネントに対して相互に依存する余地が少ないため、ソフトウェアコンポーネントの改良や交換に際して、他のソフトウェアコンポーネントに対する影響が非常に少ないという特徴を持つ。 The data processing unit 112 performs some processing (e.g., data processing) on the input data based on the purpose of the flow-based application 100, and outputs the execution result. As shown in FIG. 1, the flow-based application 100 has N data processing units 112, and each data processing unit 112 is realized by a separate software component. The software component of this data processing unit 112 has a JSON-format input/output interface similar to the entire flow-based application 100, and has a loosely coupled configuration in which each software component has strong independence. In a loosely coupled configuration, there is little room for mutual dependency on other software components other than the interface, so that when a software component is improved or replaced, the impact on other software components is very small.

また、本実施形態では、フローベースアプリケーション100にデータ制御機能150が接続されているため、データ加工部112から出力されたデータ(加工済データ125)は、同一処理ブロック内の制御機能要求部114を経由して、次の処理ブロックのデータ加工部112または第1情報出力部115に入力される。 In addition, in this embodiment, since the data control function 150 is connected to the flow-based application 100, the data output from the data processing unit 112 (processed data 125) is input to the data processing unit 112 or the first information output unit 115 of the next processing block via the control function request unit 114 in the same processing block.

データ記憶部113は、同一処理ブロック内のデータ加工部112による処理で用いられるデータ等を格納する。具体的には例えば、データ記憶部113は、データ加工部112がデータ加工の際に入力データに追加するデータ(内部データ123)、及び内部データ123のデータ項目の属性値124を保持する。内部データ123やそのデータ項目の属性値124については、図5及び図6の説明で後述する。 The data storage unit 113 stores data and the like used in processing by the data processing unit 112 in the same processing block. Specifically, for example, the data storage unit 113 holds data (internal data 123) that the data processing unit 112 adds to input data when processing data, and attribute values 124 of data items of the internal data 123. The internal data 123 and the attribute values 124 of the data items will be described later in the explanation of Figures 5 and 6.

制御機能要求部114は、同一処理ブロック内のデータ加工部112による処理が終了したときに、データ制御機能150に対して属性値再計算の要求処理を実行する。当該要求処理の実行時、制御機能要求部114は、データ加工部112によるデータ処理に関する計算用データをデータ制御機能150の属性値計算部151に送信する。その後、属性値計算部151から再計算された更新済属性値126を受信すると、制御機能要求部114は、加工済データ125及び更新済属性値126を次の処理ブロックのデータ加工部112または第1情報出力部115に送信する。計算用データの詳細は、図5の説明で後述する。なお、制御機能要求部114は、データ加工部112とは別の独立したソフトウェアコンポーネントで実現される。 When the processing by the data processing unit 112 in the same processing block is completed, the control function request unit 114 executes a request process for recalculating the attribute value to the data control function 150. When executing the request process, the control function request unit 114 transmits calculation data related to the data processing by the data processing unit 112 to the attribute value calculation unit 151 of the data control function 150. After that, when the control function request unit 114 receives the recalculated updated attribute value 126 from the attribute value calculation unit 151, it transmits the processed data 125 and the updated attribute value 126 to the data processing unit 112 or the first information output unit 115 of the next processing block. Details of the calculation data will be described later in the explanation of FIG. 5. The control function request unit 114 is realized by a software component independent of the data processing unit 112.

第1情報出力部115及び第2情報出力部116は、フローベースアプリケーション100及びデータ制御機能150による最終的な処理結果を示す情報、すなわち、処理ブロック103(処理N)の制御機能要求部114から送信された加工済データ125及び更新済属性値126を、所定の出力手段によって出力する。図1では、加工済データ125を出力する第1情報出力部115と、更新済属性値126を出力する第2情報出力部116とを分けて示しているが、1つの情報出力部で構成されてもよい。 The first information output unit 115 and the second information output unit 116 output information indicating the final processing results by the flow-based application 100 and the data control function 150, i.e., the processed data 125 and the updated attribute value 126 transmitted from the control function request unit 114 of the processing block 103 (processing N), by a predetermined output means. In FIG. 1, the first information output unit 115 that outputs the processed data 125 and the second information output unit 116 that outputs the updated attribute value 126 are shown separately, but they may be configured as a single information output unit.

データ制御機能150は、フローベースアプリケーション100でデータ処理される過程におけるデータの変化に応じて、当該データの属性値を計算(再計算)する属性値計算部151を備える。属性値計算部151は、ソフトウェアコンポーネントによって実現される。 The data control function 150 includes an attribute value calculation unit 151 that calculates (recalculates) the attribute value of data in response to changes in the data during data processing by the flow-based application 100. The attribute value calculation unit 151 is realized by a software component.

属性値計算部151は、フローベースアプリケーション100における各データ加工部112のソフトウェアコンポーネントが処理を終了するごとに、制御機能要求部114からの属性値再計算の要求に応じて、当該処理後のデータの属性値を計算(再計算)し、計算結果の属性値(更新済属性値126)を制御機能要求部114に送信する(属性値再計算処理)。属性値計算部151は、データ加工部112や制御機能要求部114とは別の独立したソフトウェアコンポーネントによって実現される。属性値再計算処理の詳細は、図5及び図6等を参照しながら後述する。 The attribute value calculation unit 151 calculates (recalculates) the attribute value of the processed data in response to a request for attribute value recalculation from the control function request unit 114 each time the software component of each data processing unit 112 in the flow-based application 100 finishes processing, and transmits the calculated attribute value (updated attribute value 126) to the control function request unit 114 (attribute value recalculation process). The attribute value calculation unit 151 is realized by an independent software component separate from the data processing unit 112 and the control function request unit 114. Details of the attribute value recalculation process will be described later with reference to Figures 5 and 6, etc.

図2は、図1に示したデータ制御システム1が動作する計算機10のハードウェア構成例を示すブロック図である。図2に示したように、計算機10は、CPU(Central Processing Unit)11、メモリ12、記憶装置13、通信部14、入力部15、及び出力部16がバス17で相互に接続されて構成されるサーバである。 Figure 2 is a block diagram showing an example of the hardware configuration of a computer 10 on which the data control system 1 shown in Figure 1 operates. As shown in Figure 2, the computer 10 is a server configured by a CPU (Central Processing Unit) 11, a memory 12, a storage device 13, a communication unit 14, an input unit 15, and an output unit 16, all connected together via a bus 17.

CPU11は中央演算装置であり、メモリ12(または記憶装置13)に保持しているプログラムを実行することで、必要な機能を実装する。メモリ12は、CPU11が処理を実行する際に利用する主記憶装置であり、RAM(Random Access Memory)等の揮発性記憶素子で構成される。記憶装置13は、CPU11に提供する入力データや、CPU11から出力される出力データを保管するための補助記憶装置であり、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性記憶素子で構成される。 The CPU 11 is a central processing unit that implements necessary functions by executing programs stored in the memory 12 (or storage device 13). The memory 12 is a main storage device that the CPU 11 uses when executing processes, and is composed of volatile storage elements such as RAM (Random Access Memory). The storage device 13 is an auxiliary storage device for storing input data provided to the CPU 11 and output data output from the CPU 11, and is composed of non-volatile storage elements such as an HDD (Hard Disk Drive) or SSD (Solid State Drive).

通信部14は、計算機10が外部装置との通信を行うために用いるインタフェースであり、NIC(Network Interface Card)等で構成される。通信部14はネットワーク(例えばインターネット)に接続され、ネットワークを介して外部装置との間で通信を行う。入力部15は、ユーザ(操作者)からの入力を受け付けるインタフェースであり、キーボード、タッチパネル、カードリーダ、または音声入力装置等で構成される。出力部16は、操作者に対してデータの出力を行うインタフェースであり、ディスプレイ、スピーカ、またはプリンタ等で構成される。バス17は、計算機10の内部通信路である。 The communication unit 14 is an interface used by the computer 10 to communicate with external devices, and is composed of a NIC (Network Interface Card) or the like. The communication unit 14 is connected to a network (e.g., the Internet) and communicates with external devices via the network. The input unit 15 is an interface that accepts input from a user (operator), and is composed of a keyboard, touch panel, card reader, or voice input device, or the like. The output unit 16 is an interface that outputs data to the operator, and is composed of a display, speaker, printer, or the like. The bus 17 is an internal communication path for the computer 10.

本実施形態において、図1に示したフローベースアプリケーション100及びデータ制御機能150は、図2に例示したようなハードウェア構成を有する1台以上の計算機10の上で実行されることにより、後述する各処理を実現することができる。 In this embodiment, the flow-based application 100 and data control function 150 shown in FIG. 1 can be executed on one or more computers 10 having a hardware configuration as shown in FIG. 2 to realize the processes described below.

図3は、データ加工部112で処理されるデータの構成例を説明する図である。図3に示したデータ210は、フローベースアプリケーション100に入力されるデータ121のうち、データ加工部112のソフトウェアコンポーネントで処理され、その結果が出力されるデータについて、その構成を視覚的に説明するために表形式で表したものである。したがって実際のデータは、必ずしも図3のような表形式で保持される必要はない。 Figure 3 is a diagram for explaining an example of the structure of data processed by the data processing unit 112. The data 210 shown in Figure 3 is shown in a tabular format to visually explain the structure of data 121 input to the flow-based application 100, which is processed by the software components of the data processing unit 112 and the results are output. Therefore, the actual data does not necessarily need to be held in a tabular format like that of Figure 3.

本実施形態ではJSON形式を入出力形式としているため、データ121は、キーと値との組み合わせによって記述することができる。具体的には図3の場合、データ210は、キーとして「項目1」~「項目4」の項目名で示される4つのデータ項目211~214をキーとして有し、各データ項目211~214に紐付く値が設定されることにより、複数のデータ項目211~214を組み合わせて構成されるデータの値を各行に保持することができる。 In this embodiment, the input/output format is the JSON format, so the data 121 can be described by a combination of a key and a value. Specifically, in the case of FIG. 3, the data 210 has four data items 211 to 214, indicated by the item names "Item 1" to "Item 4", as keys, and a value associated with each of the data items 211 to 214 is set, so that the value of the data composed of a combination of the multiple data items 211 to 214 can be held in each row.

図4は、属性値情報の構成例を説明する図である。図4に示した属性値情報220は、属性値122及び更新済属性値126の構成を視覚的に説明するために、表形式で表したものである。したがって実際の属性値情報は、必ずしも図4のような表形式で保持される必要はない。 Figure 4 is a diagram illustrating an example of the configuration of attribute value information. The attribute value information 220 shown in Figure 4 is shown in a table format to visually explain the configuration of the attribute value 122 and the updated attribute value 126. Therefore, the actual attribute value information does not necessarily need to be held in a table format like that of Figure 4.

具体的には図4の場合、属性値情報220は、属性値名221と1以上のデータ項目211~214とから構成されている。ここで、属性値情報220のデータ項目211~214の項目名「項目1」~「項目4」は、図3に示したデータ210のデータ項目211~214の項目名と対応している。すなわち、属性値情報220では、ある属性値名221を有する属性値として、データ210を構成する各データ項目211~214に対して属性値が割り当てられる。 Specifically, in the case of FIG. 4, the attribute value information 220 is composed of an attribute value name 221 and one or more data items 211-214. Here, the item names "Item 1" to "Item 4" of the data items 211-214 in the attribute value information 220 correspond to the item names of the data items 211-214 in the data 210 shown in FIG. 3. In other words, in the attribute value information 220, an attribute value having a certain attribute value name 221 is assigned to each of the data items 211-214 constituting the data 210.

図5は、属性値再計算処理の処理手順例を示すフローチャートである。また、図6は、属性値再計算処理における属性値の計算過程の一例を視覚的に説明する図である。 Figure 5 is a flowchart showing an example of the processing procedure for the attribute value recalculation process. Also, Figure 6 is a diagram visually explaining an example of the attribute value calculation process in the attribute value recalculation process.

前述したように、属性値再計算処理は、フローベースアプリケーション100の各処理ブロックにおいてデータ加工部112のソフトウェアコンポーネントが処理を終了するごとに、属性値計算部151によって実行される処理である。 As described above, the attribute value recalculation process is executed by the attribute value calculation unit 151 each time a software component of the data processing unit 112 finishes processing in each processing block of the flow-based application 100.

なお、フローベースアプリケーション100においてそれぞれのデータ加工部112が実行する処理は、主に以下の3種類の処理に大別することができる。但し、データ加工部112は、3種の処理の何れかを必ずしも実行すると定義されるものではなく、それ以外の種類の処理(例えばバリデーション等)を実行してもよい。 The processes executed by each data processing unit 112 in the flow-based application 100 can be broadly categorized into the following three types of processes. However, the data processing unit 112 is not necessarily defined as executing any one of the three types of processes, and may execute other types of processes (e.g., validation, etc.).

第1種の処理は、入力されたデータに対して、データ加工部112がアクセス可能なデータ記憶部113から新たなデータ項目を取得し、各データ項目内の値に紐付く形式で挿入する処理である。第2種の処理は、入力されたデータから、不要なデータ項目を削除する処理である。第3種の処理は、既にデータに存在するデータ項目に対して特定の処理を実施する処理である。第3種の処理では、対象となるデータ項目のデータ自体が変更されるため、属性値も変化する可能性がある。そこで、属性値計算部151は、データ加工部112によって第3種の処理が実行された場合には、処理対象となったデータ項目に対応する属性値を変更する。 The first type of processing is processing in which the data processing unit 112 retrieves new data items from the accessible data storage unit 113 for the input data, and inserts them in a format linked to the values in each data item. The second type of processing is processing in which unnecessary data items are deleted from the input data. The third type of processing is processing in which specific processing is performed on data items that already exist in the data. In the third type of processing, the data itself of the target data item is changed, and therefore the attribute value may also change. Therefore, when the third type of processing is executed by the data processing unit 112, the attribute value calculation unit 151 changes the attribute value corresponding to the data item that is the target of processing.

以下、必要に応じて図6も参照しながら、図5のフローチャートに沿って属性値再計算処理の処理手順を説明する。 Below, the procedure for the attribute value recalculation process will be explained according to the flowchart in Figure 5, while also referring to Figure 6 as necessary.

まず、属性値計算部151は、データ加工部112による処理(以下、代表的な処理であるデータ加工として説明する)が行われた後に、属性値を再計算するための計算用データを添えた属性値再計算の要求を制御機能要求部114から受信したことを契機として、図5に示す属性値再計算処理を開始する。 First, after processing by the data processing unit 112 (hereinafter, described as data processing, which is a representative process), the attribute value calculation unit 151 starts the attribute value recalculation process shown in FIG. 5 when it receives an attribute value recalculation request from the control function request unit 114, which includes calculation data for recalculating the attribute value.

計算用データは、具体的には、データ加工の入力データ及び出力データに関して、入力データを構成するデータ項目の項目名リスト(入力データ項目名リスト)、出力データを構成するデータ項目の項目名リスト(出力データ項目名リスト)、入力データ以外から出力データに追加された内部データ123を構成するデータ項目の項目名リスト(内部データ項目名リスト)、入力データを構成する各データ項目に紐付く属性値情報(入力属性値情報)、内部データ123を構成する各データ項目に紐付く属性値124を示す情報(変更属性値情報)、及びデータ加工の処理内容にかかる情報(処理内容情報)の6種類のデータを、JSON形式で記述したデータである。内部データ項目名リストは、データ加工において内部データ123の追加が行われた場合にのみ計算用データに含められるとしてもよい。なお、入力データ、出力データ、及び内部データのデータ構成は図3のデータ210の構成に準ずるとし、各属性値情報のデータ構成は図4の属性値情報220の構成に準ずるとする。 Specifically, the calculation data is data in which six types of data are described in JSON format for the input data and output data of the data processing: an item name list of data items constituting the input data (input data item name list), an item name list of data items constituting the output data (output data item name list), an item name list of data items constituting the internal data 123 added to the output data from other than the input data (internal data item name list), attribute value information linked to each data item constituting the input data (input attribute value information), information indicating the attribute value 124 linked to each data item constituting the internal data 123 (changed attribute value information), and information related to the processing content of the data processing (processing content information). The internal data item name list may be included in the calculation data only when the internal data 123 is added in the data processing. Note that the data configuration of the input data, output data, and internal data is based on the configuration of the data 210 in FIG. 3, and the data configuration of each attribute value information is based on the configuration of the attribute value information 220 in FIG. 4.

属性値再計算処理を開始するとまず、属性値計算部151は、制御機能要求部114から受信した計算用データが適切に揃っているかを確認する(ステップS101)。データが適切に揃っていない場合、属性値計算部151は、計算用データが揃っていない旨を通知するエラーを送信元の制御機能要求部114に返答し、属性値再計算処理を終了する。一方、データが適切に揃っている場合は、ステップS102に進む。 When the attribute value recalculation process starts, the attribute value calculation unit 151 first checks whether the calculation data received from the control function request unit 114 is properly prepared (step S101). If the data is not properly prepared, the attribute value calculation unit 151 returns an error to the control function request unit 114 that sent the error, notifying the user that the calculation data is not properly prepared, and ends the attribute value recalculation process. On the other hand, if the data is properly prepared, the process proceeds to step S102.

ステップS102において、属性値計算部151は、出力データ項目名リストに対して、入力データ項目名リストを紐付ける。また、内部データ項目名リストが存在する場合は、内部データ項目名リストも出力データ項目名リストに紐付ける。 In step S102, the attribute value calculation unit 151 links the input data item name list to the output data item name list. In addition, if an internal data item name list exists, the internal data item name list is also linked to the output data item name list.

次に、ステップS103において、属性値計算部151は、ステップS102の紐付けの結果に基づいて、出力データ項目名リストの各データ項目名に対して、入力属性値情報及び変更属性値情報を参照して、それぞれの紐付け元の入力データまたは内部データのデータ項目名に紐付く属性値を紐付ける。 Next, in step S103, the attribute value calculation unit 151, based on the result of the linking in step S102, links the attribute values linked to the data item names of the respective source input data or internal data for each data item name in the output data item name list by referencing the input attribute value information and the changed attribute value information.

ステップS103の処理は、データ加工において第1種の処理(データ項目の追加)または第2種の処理(データ項目の削除)が行われた場合に実行される。このとき、属性値計算部151は、追加も削除もされていないデータ項目名に対しては、入力属性値情報から対応するデータ項目名の属性値を紐付ける。また、追加されたデータ項目名に対しては、属性値計算部151は、変更属性値情報から対応するデータ項目名の属性値を紐付ける。また、削除されたデータ項目名については、属性値計算部151は、当該データ項目名の属性値を登録しないようにする。 The process of step S103 is executed when a first type of process (addition of a data item) or a second type of process (deletion of a data item) is performed in data processing. At this time, for data item names that have not been added or deleted, the attribute value calculation unit 151 links the attribute value of the corresponding data item name from the input attribute value information. Furthermore, for added data item names, the attribute value calculation unit 151 links the attribute value of the corresponding data item name from the changed attribute value information. Furthermore, for deleted data item names, the attribute value calculation unit 151 does not register the attribute value of the data item name.

次に、ステップS104において、属性値計算部151は、処理内容情報を参照し、ステップS103までの処理を終えた出力データ項目名リストについて、そのデータ項目名に紐付けられた属性値を更新する必要がある場合に、対象となる属性値の更新を実施する。ステップS104の処理は、データ加工において第3種の処理(データ変更処理)が行われた場合に実行される。このとき、属性値計算部151は、変更属性値情報に示される属性値の変更方針に従って、データ変更処理が行われたデータ項目名の属性値を再計算する。 Next, in step S104, the attribute value calculation unit 151 refers to the processing content information, and if it is necessary to update the attribute value associated with the data item name in the output data item name list for which processing up to step S103 has been completed, updates the target attribute value. The processing in step S104 is executed when a third type of processing (data modification processing) is performed in data processing. At this time, the attribute value calculation unit 151 recalculates the attribute value of the data item name for which data modification processing has been performed, in accordance with the attribute value modification policy indicated in the modified attribute value information.

最後に、ステップS105において、属性値計算部151は、ステップS102で紐付けた出力データ項目名リストと、ステップS103~S104で紐付けた各データ項目名の属性値とを、JSON形式で記述することにより、出力データを構成する各データ項目に紐付く属性値である更新済属性値126を生成する。そして、属性値計算部151は、生成した更新済属性値126を属性値再計算の要求元の制御機能要求部114に返答し、属性値再計算処理を終了する。 Finally, in step S105, the attribute value calculation unit 151 generates updated attribute values 126, which are attribute values linked to each data item constituting the output data, by describing in JSON format the list of output data item names linked in step S102 and the attribute values of each data item name linked in steps S103 and S104. Then, the attribute value calculation unit 151 returns the generated updated attribute values 126 to the control function request unit 114, which has requested the attribute value recalculation, and ends the attribute value recalculation process.

ここで、図6を参照して、ステップS102~S105における属性値の紐付け及び算出について具体的に説明する。図6には、入力データの属性値情報として入力属性値情報231が示されており、この入力データに対するデータ加工として第1種、第2種、または第3種の処理が実行された場合における属性値の紐付けの具体例が、それぞれ処理パターン(A),(B),(C)に示されている。 Now, referring to FIG. 6, the linking and calculation of attribute values in steps S102 to S105 will be specifically described. In FIG. 6, input attribute value information 231 is shown as attribute value information of the input data, and specific examples of linking of attribute values when a first, second, or third type of processing is performed as data processing on this input data are shown in processing patterns (A), (B), and (C), respectively.

処理パターン(A)は、上記入力データに対して「項目4」のデータ項目を挿入する第1種のデータ加工が実行された場合であり、この場合、属性値計算部151は、ステップS102~S103の処理において、追加された「項目4」の内部データに関する変更属性値情報232を入力属性値情報231に追加することにより、出力データにおける属性値の紐付けを行うことができる。この属性値の紐付けの結果を用いて、ステップS105において属性値計算部151は、データ加工後の出力データ(加工済データ125)を構成する各データ項目に紐付く更新済属性値126(図6では更新済属性値234)を生成することができる。 Processing pattern (A) is a case where a first type of data processing is performed to insert the data item "item 4" into the input data. In this case, the attribute value calculation unit 151 can link attribute values in the output data by adding changed attribute value information 232 related to the added internal data of "item 4" to the input attribute value information 231 in the processing of steps S102 to S103. Using the result of this attribute value linking, in step S105, the attribute value calculation unit 151 can generate updated attribute values 126 (updated attribute values 234 in FIG. 6) linked to each data item constituting the output data (processed data 125) after data processing.

処理パターン(B)は、上記入力データに対して「項目2」のデータ項目を削除する第2種のデータ加工が実行された場合であり、この場合、属性値計算部151は、ステップS102~S103の処理において、削除された「項目2」のデータ項目全体を入力属性値情報231から削除することにより、出力データにおける属性値の紐付けを行うことができる。この属性値の紐付けの結果を用いて、ステップS105において属性値計算部151は、データ加工後の出力データ(加工済データ125)を構成する各データ項目に紐付く更新済属性値126(図6では更新済属性値235)を生成することができる。 Processing pattern (B) is a case where a second type of data processing is performed on the input data to delete the data item "item 2". In this case, the attribute value calculation unit 151 can link attribute values in the output data by deleting the entire data item of "item 2" that was deleted in the processing of steps S102 to S103 from the input attribute value information 231. Using the result of this attribute value linking, in step S105, the attribute value calculation unit 151 can generate updated attribute values 126 (updated attribute values 235 in FIG. 6) that are linked to each data item that constitutes the output data (processed data 125) after data processing.

処理パターン(C)は、上記入力データに対して「項目2」の内部データを変更する第3種のデータ加工が実行された場合であり、この場合、属性値計算部151は、ステップS102,S104の処理において、「項目2」のデータ項目における内部データの変更に関する変更属性値情報233に基づいて、入力属性値情報231の「項目2」の属性値を変更することにより、出力データにおける属性値の更新を行うことができる。この属性値の更新結果を用いて、ステップS105において属性値計算部151は、データ加工後の出力データ(加工済データ125)を構成する各データ項目に紐付く更新済属性値126(図6では更新済属性値236)を生成することができる。 Processing pattern (C) is a case where a third type of data processing is performed on the input data to change the internal data of "item 2". In this case, in the processing of steps S102 and S104, the attribute value calculation unit 151 can update the attribute value in the output data by changing the attribute value of "item 2" in the input attribute value information 231 based on the changed attribute value information 233 related to the change of the internal data in the data item of "item 2". Using the result of this attribute value update, in step S105, the attribute value calculation unit 151 can generate updated attribute values 126 (updated attribute values 236 in FIG. 6) linked to each data item constituting the output data (processed data 125) after data processing.

このように、属性値計算部151は、処理内容情報に示されたデータ処理の処理内容の種別(例えば第1種~第3種の処理)に応じて所定のリスト操作(挿入、削除、属性値変更など)を行うことにより、出力データの各項目名に対応する属性値を更新した属性値情報(更新済属性値126)を生成することができる。なお、データ加工部112において、上述した第1種~第3種の処理を組み合わせたデータ加工が実行された場合は、属性値計算部151は、処理パターン(A)~(C)の処理を適宜組み合わせて実行することにより、加工済データ125に対応する更新済属性値126を生成することができる。 In this way, the attribute value calculation unit 151 can generate attribute value information (updated attribute value 126) in which the attribute values corresponding to each item name of the output data are updated by performing a predetermined list operation (insertion, deletion, attribute value change, etc.) according to the type of data processing content indicated in the processing content information (for example, first to third types of processing). Note that when the data processing unit 112 executes data processing that combines the above-mentioned first to third types of processing, the attribute value calculation unit 151 can generate updated attribute value 126 corresponding to the processed data 125 by executing an appropriate combination of the processing patterns (A) to (C).

以上のように、本実施形態では、データ加工部112のソフトウェアコンポーネントによる処理が終了するたびに、データ制御機能150において属性値計算部151が属性値のリストを更新することにより、データの変化を記録する。また、データ制御機能150を構成する制御機能要求部114や属性値計算部151のソフトウェアコンポーネントの入出力を、データ加工部112のソフトウェアコンポーネントと同様の構造化データ(例えばJSON形式)に統一することで、データ加工部112と疎結合な構成を実現することができる。そのため、データ制御システム1では、複数のデータ加工部112を備える既存のフローベースアプリケーション100に大きな変更を加えることなく、データ制御機能150を追加することが可能となる。 As described above, in this embodiment, each time processing by the software components of the data processing unit 112 is completed, the attribute value calculation unit 151 in the data control function 150 updates the list of attribute values to record changes in data. In addition, by unifying the input and output of the software components of the control function request unit 114 and the attribute value calculation unit 151 that constitute the data control function 150 into structured data (e.g., JSON format) similar to that of the software components of the data processing unit 112, a configuration that is loosely coupled with the data processing unit 112 can be realized. Therefore, in the data control system 1, it is possible to add the data control function 150 without making major changes to an existing flow-based application 100 that includes multiple data processing units 112.

図7は、データ制御システム1における全体的な処理の手順例を示すシーケンス図である。図7では、フローベースアプリケーション100にデータ121及びその属性値122が入力されてから、フローベースアプリケーション100及びデータ制御機能150において処理が実行され、最終的な出力が行われるまでの全体的な処理について、その手順が示されている。なお、データ制御機能150による属性値再計算の処理は、図5のフローチャートを参照して説明した通りであり、詳細な説明の繰り返しを省略する。 Figure 7 is a sequence diagram showing an example of the overall processing procedure in the data control system 1. Figure 7 shows the overall processing procedure from when data 121 and its attribute value 122 are input to the flow-based application 100, to when processing is executed in the flow-based application 100 and the data control function 150, to when final output is produced. Note that the attribute value recalculation process by the data control function 150 has been described with reference to the flowchart in Figure 5, and detailed description will not be repeated.

図7によれば、まず、フローベースアプリケーション100の情報入力部111が、フローベースアプリケーション100における処理が要求されるデータ121と、そのデータの属性値をJSON形式で表現した属性値122とを、外部から入力として受け付け、アプリケーションの処理を開始する(ステップS201)。 As shown in FIG. 7, first, the information input unit 111 of the flow-based application 100 accepts data 121 that is requested to be processed in the flow-based application 100 and attribute values 122 that express the attribute values of that data in JSON format as input from outside, and starts processing of the application (step S201).

次に、情報入力部111は、処理ブロック101(処理1)のソフトウェアコンポーネント(データ加工部112)に対して、ステップS201で入力されたデータ121及び属性値122を入力する(ステップS202)。 Next, the information input unit 111 inputs the data 121 and attribute value 122 input in step S201 to the software component (data processing unit 112) of the processing block 101 (processing 1) (step S202).

次に、処理1のデータ加工部112は、ステップS202で入力されたデータ121に対して所定のデータ処理(例えばデータ加工)を実施する(ステップS203)。当該データ処理の実施によって、データ加工部112は、加工済データ125を出力する。 Next, the data processing unit 112 for process 1 performs a predetermined data processing (e.g., data processing) on the data 121 input in step S202 (step S203). By performing this data processing, the data processing unit 112 outputs the processed data 125.

次に、処理1の制御機能要求部114は、ステップS203で実施されたデータ処理の結果に基づいて、図5で説明した計算用データをデータ制御機能150に対して送信し、属性値の再計算を要求する(ステップS204)。 Next, the control function request unit 114 of process 1 sends the calculation data described in FIG. 5 to the data control function 150 based on the results of the data processing performed in step S203, and requests recalculation of the attribute values (step S204).

ステップS204の要求を受けたデータ制御機能150では、属性値計算部151が、図5のフローチャートで詳述した属性値再計算処理を実行することにより、加工済データ125に対応する属性値のリストをJSON形式で表現した更新済属性値126を生成する(ステップS205)。そして、属性値計算部151は、生成した更新済属性値126をステップS204の要求元の制御機能要求部114に送信する(ステップS206)。 In the data control function 150 that received the request in step S204, the attribute value calculation unit 151 executes the attribute value recalculation process detailed in the flowchart of FIG. 5 to generate updated attribute values 126 that express a list of attribute values corresponding to the processed data 125 in JSON format (step S205). The attribute value calculation unit 151 then transmits the generated updated attribute values 126 to the control function request unit 114 that made the request in step S204 (step S206).

次に、制御機能要求部114は、ステップS203でデータ加工部112から出力された加工済データ125と、ステップS206で属性値計算部151から受信した更新済属性値126とを、次の処理ブロック102(処理2)のソフトウェアコンポーネント(データ加工部112)に入力する(ステップS207)。 Next, the control function request unit 114 inputs the processed data 125 output from the data processing unit 112 in step S203 and the updated attribute value 126 received from the attribute value calculation unit 151 in step S206 to the software component (data processing unit 112) of the next processing block 102 (process 2) (step S207).

以下、最後の処理ブロック103(処理N)まで順次、各処理ブロックにおいてステップS202~ステップS207の処理を繰り返し実行する(ステップS208)。但し、最後の処理ブロック103(処理N)では、ステップS206で属性値計算部151から更新済属性値126を受信した制御機能要求部114は、ステップS207の処理を実行する代わりに、処理NのステップS203でデータ加工部112から出力された加工済データ125を第1情報出力部115に入力し、処理NのステップS206で属性値計算部151から受信した更新済属性値126を第2情報出力部116に入力する。 Then, the processing of steps S202 to S207 is repeatedly executed in each processing block in sequence up to the final processing block 103 (processing N) (step S208). However, in the final processing block 103 (processing N), the control function request unit 114, which has received the updated attribute value 126 from the attribute value calculation unit 151 in step S206, inputs the processed data 125 output from the data processing unit 112 in step S203 of processing N to the first information output unit 115, instead of executing the processing of step S207, and inputs the updated attribute value 126 received from the attribute value calculation unit 151 in step S206 of processing N to the second information output unit 116.

そして最後に、第1情報出力部115及び第2情報出力部は、ステップS201で入力されたデータ121に対してフローベースアプリケーション100における全てのデータ加工部112のソフトウェアコンポーネントによるデータ加工が実施された後の最終的な加工済データ125と、各データ加工の処理が行われるごとにデータ制御機能150によって再計算された最終的な更新済属性値126とを、フローベースアプリケーション100の結果として出力する(ステップS209,S210)。 Finally, the first information output unit 115 and the second information output unit output, as the results of the flow-based application 100, the final processed data 125 obtained after data processing is performed on the data 121 input in step S201 by the software components of all the data processing units 112 in the flow-based application 100, and the final updated attribute value 126 recalculated by the data control function 150 each time each data processing process is performed (steps S209, S210).

図7のように全体処理が行われることにより、データ制御システム1では、フローベースアプリケーション100の各ソフトウェアコンポーネント(データ加工部112)の処理後に、データ制御機能150のソフトウェアコンポーネント(属性値計算部151)によって属性値が再計算され、全てのソフトウェアコンポーネントによる処理が完了した時点で、最終的な加工済データ125と、当該データに対応する属性値(最終的な更新済属性値126)が取得できる状態となる。 By performing the overall processing as shown in FIG. 7, in the data control system 1, after processing by each software component (data processing unit 112) of the flow-based application 100, attribute values are recalculated by the software component (attribute value calculation unit 151) of the data control function 150, and when processing by all software components is completed, the final processed data 125 and the attribute value corresponding to that data (final updated attribute value 126) can be obtained.

また、データ制御システム1では、制御機能要求部114から属性値計算部151に対する属性値再計算要求の際、データ加工部112によるデータ処理の入出力データ自体は送信されず、入力データ項目リストや出力データ項目名リスト等といった、入出力データよりもサイズの小さい情報だけが計算用データとして送信されることから、データ制御機能150による属性値の再計算処理に関してシステム全体に掛かる負荷を抑制することができ、データ制御機能150を接続することによってフローベースアプリケーション100の設計に与える影響を極力抑えることができる。 In addition, in the data control system 1, when the control function request unit 114 requests the attribute value calculation unit 151 to recalculate the attribute values, the input/output data for data processing by the data processing unit 112 is not sent, and only information smaller in size than the input/output data, such as an input data item list and an output data item name list, is sent as data for calculation. This makes it possible to reduce the load on the entire system regarding the attribute value recalculation process by the data control function 150, and by connecting the data control function 150, the impact on the design of the flow-based application 100 can be minimized.

図8は、データ制御システム1を利用したデータ処理検証システム2の構成例を示すブロック図である。データ処理検証システム2は、フローベースアプリケーション100の開発者160が、フローベースアプリケーション100による処理内容及び処理結果が適切であるか否かを、データ制御システム1から出力される(最終的な)更新済属性値126を用いて検証するシステムである。なお、図8では、図1で示した構成の大部分を省略して記載している。 Figure 8 is a block diagram showing an example of the configuration of a data processing verification system 2 that uses the data control system 1. The data processing verification system 2 is a system in which a developer 160 of a flow-based application 100 verifies whether the processing content and processing results of the flow-based application 100 are appropriate by using the (final) updated attribute value 126 output from the data control system 1. Note that most of the configuration shown in Figure 1 is omitted in Figure 8.

図8によれば、データ処理検証システム2は、データ制御システム1と、開発者160が操作する開発者用計算機170とがネットワークで接続されて構成される。開発者用計算機170は、図2に例示した計算機10と同様のハードウェア構成を有する計算機である。開発者用計算機170は、検証用のテストデータをフローベースアプリケーション100に対して送信するテストデータ送信部171と、フローベースアプリケーション100及びデータ制御機能150で処理された処理後のテストデータを受信するテストデータ受信部172とを備える。 As shown in FIG. 8, the data processing verification system 2 is configured by connecting the data control system 1 and a developer computer 170 operated by a developer 160 via a network. The developer computer 170 is a computer having a hardware configuration similar to that of the computer 10 illustrated in FIG. 2. The developer computer 170 includes a test data transmission unit 171 that transmits test data for verification to the flow-based application 100, and a test data reception unit 172 that receives the processed test data that has been processed by the flow-based application 100 and the data control function 150.

図9は、データ処理検証システム2における全体的な処理の手順例を示すシーケンス図である。図9では、図7で説明した処理は省略して記載している。 Figure 9 is a sequence diagram showing an example of the overall processing procedure in the data processing verification system 2. In Figure 9, the processing described in Figure 7 is omitted.

図9によれば、開発者160は検証処理を開始すると、開発者用計算機170を操作して、テストデータ送信部171からフローベースアプリケーション100の情報入力部111に対して、検証用のテストデータを送信する(ステップS301)。検証用のテストデータは、データ加工部112によるデータ処理を行わせるデータ(例えばデータ121)と、当該データの属性値(例えば属性値122)とが含まれる。また、開発者用計算機170とフローベースアプリケーション100との間のデータの送受信は、それぞれの計算機10の通信部14(図2参照)を介して行われる。 As shown in FIG. 9, when the developer 160 starts the verification process, he operates the developer computer 170 to send test data for verification from the test data sending unit 171 to the information input unit 111 of the flow-based application 100 (step S301). The test data for verification includes data (e.g., data 121) that causes the data processing unit 112 to perform data processing, and an attribute value of the data (e.g., attribute value 122). In addition, data is sent and received between the developer computer 170 and the flow-based application 100 via the communication unit 14 of each computer 10 (see FIG. 2).

次に、検証用のテストデータを情報入力部111で受信したフローベースアプリケーション100では、検証用のテストデータに含まれるデータ121を最初の処理対象として、各データ加工部112が、順次データ処理を実施する(ステップS302)。また、図7等で説明したように、各データ加工部112による処理が終了するごとに、データ制御機能150が属性値の再計算を行う(ステップS303~S305)。 Next, in the flow-based application 100, which receives the test data for verification at the information input unit 111, each data processing unit 112 sequentially processes data, starting with the data 121 included in the test data for verification as the first processing target (step S302). Also, as explained in FIG. 7 and other figures, each time the processing by each data processing unit 112 is completed, the data control function 150 recalculates the attribute value (steps S303 to S305).

そして、データ制御システム1(フローベースアプリケーション100及びデータ制御機能150)における処理が終了すると、第1情報出力部115及び第2情報出力部116から最終的な加工済データ125及びその更新済属性値126が出力され、開発者用計算機170のテストデータ受信部172は、上記加工済データ125及び更新済属性値126を処理後のテストデータとして受信する(ステップS306,S307)。 When the processing in the data control system 1 (flow-based application 100 and data control function 150) is completed, the first information output unit 115 and the second information output unit 116 output the final processed data 125 and its updated attribute values 126, and the test data receiving unit 172 of the developer computer 170 receives the processed data 125 and the updated attribute values 126 as processed test data (steps S306, S307).

そして、開発者用計算機170は、テストデータ受信部172が受信した処理後のテストデータ(加工済データ125及び更新済属性値126)を、開発者用計算機170の出力部16(図2参照)から出力する(ステップS308)。開発者160は、ステップS308で出力された加工済データ125及び更新済属性値126を、自身が予め意図したデータの処理結果及び属性値と比較することにより、フローベースアプリケーション100の設計が適切であるか否かを評価することができる。 The developer computer 170 then outputs the processed test data (processed data 125 and updated attribute values 126) received by the test data receiving unit 172 from the output unit 16 of the developer computer 170 (see FIG. 2) (step S308). The developer 160 can evaluate whether the design of the flow-based application 100 is appropriate by comparing the processed data 125 and updated attribute values 126 output in step S308 with the processing results and attribute values of the data that the developer 160 intended in advance.

このようなデータ処理検証システム2によれば、最終的なデータ処理結果である加工済データ125だけでなく、各データ処理の段階で適宜更新された属性値(更新済属性値126)も評価対象として出力されることから、開発者160からは見えないフローベースアプリケーション100のソフトウェアコンポーネント間において想定していないデータの変化がないことを検証することが容易となる。特に、データ処理検証システム2では、属性値を用いた検証が可能であることから、データ自体を検証することに比べて、簡易に検証が可能という利点がある。 According to such a data processing verification system 2, not only the processed data 125, which is the final data processing result, but also the attribute values (updated attribute values 126) appropriately updated at each data processing stage are output as evaluation targets, making it easy to verify that there are no unexpected data changes between the software components of the flow-based application 100 that are invisible to the developer 160. In particular, the data processing verification system 2 has the advantage that verification using attribute values is possible more easily than verifying the data itself.

(2)第2の実施形態
図10は、第2の実施形態に係るデータ制御システム3の構成例を示す図である。データ制御システム3は、第1の実施形態で示したデータ制御システム1に、データ保管アプリケーション300及びストレージ320が接続されて構成される。また、データ制御システム3には、フローベースアプリケーション100の利用者180が操作する利用者用計算機190が接続される。なお、第1の実施形態で説明した構成や処理と共通する部分については、説明を省略する。
(2) Second embodiment Fig. 10 is a diagram showing a configuration example of a data control system 3 according to a second embodiment. The data control system 3 is configured by connecting a data storage application 300 and a storage 320 to the data control system 1 shown in the first embodiment. In addition, a user computer 190 operated by a user 180 of the flow-based application 100 is connected to the data control system 3. Note that a description of parts common to the configuration and processing described in the first embodiment will be omitted.

利用者用計算機190は、図2に例示した計算機10と同様のハードウェア構成を有する計算機であり、フローベースアプリケーション100を操作するソフトウェアを有する。利用者180は、この利用者用計算機190を操作することによって、フローベースアプリケーション100を利用することができる。 The user computer 190 is a computer having a hardware configuration similar to that of the computer 10 illustrated in FIG. 2, and has software for operating the flow-based application 100. The user 180 can use the flow-based application 100 by operating the user computer 190.

利用者用計算機190は、入力データ送信部191及び保管場所受信部192を備える。 The user computer 190 includes an input data transmission unit 191 and a storage location receiving unit 192.

入力データ送信部191は、利用者180による操作に基づいて、フローベースアプリケーション100でデータ処理を行わせるデータ121及び当該データの属性値122を、フローベースアプリケーション100に送信する。入力データ送信部191から送信されたデータ121及び属性値122は、フローベースアプリケーション100の情報入力部111に入力される。 The input data transmission unit 191 transmits data 121 to be processed by the flow-based application 100 and attribute values 122 of the data to the flow-based application 100 based on the operation of the user 180. The data 121 and attribute values 122 transmitted from the input data transmission unit 191 are input to the information input unit 111 of the flow-based application 100.

保管場所受信部192は、データ保管アプリケーション300の保管情報出力部306から、加工済データ125の保管場所情報312を受信する。 The storage location receiving unit 192 receives storage location information 312 of the processed data 125 from the storage information output unit 306 of the data storage application 300.

データ保管アプリケーション300は、フローベースアプリケーション100でデータ処理された加工済データ125を自動的に振り分けて保管し、その保管場所を出力するアプリケーションであって、第1情報入力部301、第2情報入力部302、データ保管部303、保管場所決定部304、設定データ格納部305、及び保管情報出力部306を備える。 The data storage application 300 is an application that automatically sorts and stores the processed data 125 that has been processed by the flow-based application 100, and outputs the storage location, and includes a first information input unit 301, a second information input unit 302, a data storage unit 303, a storage location determination unit 304, a setting data storage unit 305, and a storage information output unit 306.

第1情報入力部301は、フローベースアプリケーション100の第1情報出力部115に接続され、第1情報出力部115から加工済データ125を入力する。第2情報入力部302は、フローベースアプリケーション100の第2情報出力部116に接続され、第2情報出力部116から更新済属性値126を入力する。 The first information input unit 301 is connected to the first information output unit 115 of the flow-based application 100, and inputs the processed data 125 from the first information output unit 115. The second information input unit 302 is connected to the second information output unit 116 of the flow-based application 100, and inputs the updated attribute value 126 from the second information output unit 116.

データ保管部303は、第1情報入力部301に入力された加工済データ125を保管場所決定部304によって決定された保管場所に保管する。また、データ保管部303は、加工済データ125を保管した後、保管場所を示す情報である保管場所情報312を生成し、保管情報出力部306に送信する。 The data storage unit 303 stores the processed data 125 input to the first information input unit 301 in a storage location determined by the storage location determination unit 304. After storing the processed data 125, the data storage unit 303 generates storage location information 312, which is information indicating the storage location, and transmits it to the storage information output unit 306.

保管場所決定部304は、第2情報入力部302に入力された更新済属性値126に基づいて、加工済データ125の保管場所をストレージ320の複数の記憶域321の何れかに決定する。 The storage location determination unit 304 determines the storage location of the processed data 125 to be one of the multiple memory areas 321 of the storage 320 based on the updated attribute value 126 input to the second information input unit 302.

設定データ格納部305は、保管場所決定部304が保管場所を決定する際に参照される情報(設定ルール311)を格納する。 The setting data storage unit 305 stores information (setting rules 311) that is referenced when the storage location determination unit 304 determines the storage location.

保管情報出力部306は、データ保管部303から受信した保管場所情報312を、フローベースアプリケーション100にデータ121を入力した利用者用計算機190に送信する。 The storage information output unit 306 transmits the storage location information 312 received from the data storage unit 303 to the user computer 190 that input the data 121 to the flow-based application 100.

図11は、データ制御システム3における全体的な処理の手順例を示すシーケンス図である。 Figure 11 is a sequence diagram showing an example of the overall processing procedure in data control system 3.

図11によれば、利用者180は、利用者用計算機190を操作して、フローベースアプリケーション100に対してデータ処理を要求するデータ121とその属性値122を入力し、データ処理後のデータ(加工済データ125)の保管を要求する(ステップS401)。 According to FIG. 11, the user 180 operates the user computer 190 to input data 121 and its attribute value 122 for which data processing is requested to the flow-based application 100, and requests storage of the data after data processing (processed data 125) (step S401).

次に、フローベースアプリケーション100及びデータ制御機能150は、図7に示したシーケンス図の処理によって、データ処理と、及びデータ処理ごとの属性値の再計算とを行う(ステップS402,S403)。 Next, the flow-based application 100 and the data control function 150 perform data processing and recalculate attribute values for each data processing by the processing of the sequence diagram shown in FIG. 7 (steps S402, S403).

そして、フローベースアプリケーション100及びデータ制御機能150における処理が終了すると、加工済データ125及び更新済属性値126がデータ保管アプリケーション300に送信される(ステップS404)。詳しくは、第1情報出力部115が加工済データ125を第1情報入力部301に送信し、第2情報出力部116が更新済属性値126を第2情報入力部302に送信する。 When the processing in the flow-based application 100 and the data control function 150 is completed, the processed data 125 and the updated attribute value 126 are sent to the data storage application 300 (step S404). In detail, the first information output unit 115 sends the processed data 125 to the first information input unit 301, and the second information output unit 116 sends the updated attribute value 126 to the second information input unit 302.

次に、データ保管アプリケーション300では、保管場所決定部304が、第2情報入力部302に入力された属性値(更新済属性値126)を評価して、データ保管部303による加工済データ125の保管場所を決定する(ステップS405)。保管場所決定部304による保管場所の決定では、例えば、設定データ格納部305に格納された設定ルール311を用いて評価する。このような保管場所の決定方法の具体例については、図12~図14を参照しながら後述する。 Next, in the data storage application 300, the storage location determination unit 304 evaluates the attribute value (updated attribute value 126) input to the second information input unit 302 and determines the storage location of the processed data 125 by the data storage unit 303 (step S405). When determining the storage location by the storage location determination unit 304, for example, evaluation is performed using the setting rules 311 stored in the setting data storage unit 305. A specific example of such a method of determining a storage location will be described later with reference to Figures 12 to 14.

なお、保管場所決定部304による保管場所の決定において参照されるデータは、設定データ格納部305内の設定ルール311に限定されるものではなく、その他の情報を参照してもよい。具体的には例えば、更新済属性値126に示される属性値の他、加工済データ125、アクセス元のアプリケーション(フローベースアプリケーション100)、利用者180、または利用者用計算機190等に関する情報を参照してもよい。また、データ保管アプリケーション300が任意の方法によって参照可能なその他の情報も保管場所の決定の根拠とするように実装されてもよい。 The data referenced by the storage location determination unit 304 in determining the storage location is not limited to the setting rules 311 in the setting data storage unit 305, and other information may be referenced. Specifically, for example, in addition to the attribute value indicated in the updated attribute value 126, information on the processed data 125, the application from which the access originates (flow-based application 100), the user 180, or the user's computer 190 may be referenced. Furthermore, the data storage application 300 may be implemented to use other information that can be referenced by any method as the basis for determining the storage location.

また、保管場所決定部304による保管場所の決定において参照されるデータは、予め用意されたデータに限定されるものではなく、例えば、保管場所を決定する際、もしくはその他の任意のタイミングで、任意の方法で自動生成されるデータであってもよい。 In addition, the data referenced by the storage location determination unit 304 when determining a storage location is not limited to data prepared in advance, but may be, for example, data that is automatically generated by any method when determining the storage location or at any other time.

次に、データ保管部303が、ステップS405で決定された保管場所(ストレージ320の記憶域321)に、ステップS404で第1情報入力部301に入力されたデータ(加工済データ125)を保管する(ステップS406)。そして、ストレージ320は、加工済データ125を記憶域321に保管すると、データの保管結果をデータ保管アプリケーション300に返答する(ステップS407)。 Next, the data storage unit 303 stores the data (processed data 125) input to the first information input unit 301 in step S404 in the storage location (memory area 321 of storage 320) determined in step S405 (step S406). Then, after storing the processed data 125 in the memory area 321, the storage 320 responds to the data storage application 300 with the data storage result (step S407).

なお、データ制御システム3では、ステップS405で保管場所決定部304が保管場所を決定した後、ステップS406でデータ保管部303が加工済データ125を保管場所に保管する前に、任意の方法により、利用者180に対して保管場所について確認をとるように実装してもよい。 In addition, in the data control system 3, after the storage location determination unit 304 determines the storage location in step S405, and before the data storage unit 303 stores the processed data 125 in the storage location in step S406, the data control system 3 may be implemented to confirm the storage location with the user 180 by any method.

次に、データ保管部303は、加工済データ125を保管した場所を示す保管場所情報312を保管情報出力部306に送信し、保管情報出力部306が、ステップS401でフローベースアプリケーション100に対して要求を行った利用者用計算機190に、保管場所情報312を出力する(ステップS408)。 Next, the data storage unit 303 transmits storage location information 312 indicating the location where the processed data 125 is stored to the storage information output unit 306, and the storage information output unit 306 outputs the storage location information 312 to the user computer 190 that made a request to the flow-based application 100 in step S401 (step S408).

そして、利用者180は、利用者用計算機190の出力部16(図2参照)に表示された保管場所情報312を確認することにより、自身がフローベースアプリケーション100に対して送信した入力データ(データ121)のデータ処理後のデータ(加工済データ125)の保管場所を確認することができる(ステップS409)。 Then, the user 180 can check the storage location of the data (processed data 125) after data processing of the input data (data 121) that he or she sent to the flow-based application 100 by checking the storage location information 312 displayed on the output unit 16 (see Figure 2) of the user computer 190 (step S409).

以上が、データ制御システム3における全体的な処理の手順例である。以下では、補足として、ステップS405における保管場所の決定について、図12~図14を参照しながら、具体的な決定方法の一例を説明する。 The above is an example of the overall processing procedure in the data control system 3. In the following, as a supplement, an example of a specific method for determining the storage location in step S405 will be described with reference to Figures 12 to 14.

図12は、属性値閾値リスト410を示す図であり、図13は、評価式リスト420を示す図であり、図14は、格納先リスト430を示す図である。図12~図14に示す各リストは、設定データ格納部305に格納される設定ルール311の一例である。 Figure 12 shows an attribute value threshold list 410, Figure 13 shows an evaluation formula list 420, and Figure 14 shows a storage destination list 430. Each list shown in Figures 12 to 14 is an example of a setting rule 311 stored in the setting data storage unit 305.

図12に示した属性値閾値リスト410は、属性値ごとの閾値を設定したデータであって、属性値名411~413のそれぞれに閾値が設定されている。属性値名411~413は、更新済属性値126に含まれる属性値名(属性値情報のデータ構成については、図4を参照)に対応するものであり、例えば、「属性値a」という属性値に対しては閾値「α」が設定されている。 The attribute value threshold list 410 shown in FIG. 12 is data in which a threshold is set for each attribute value, and a threshold is set for each of the attribute value names 411 to 413. The attribute value names 411 to 413 correspond to the attribute value names included in the updated attribute values 126 (see FIG. 4 for the data structure of the attribute value information), and for example, a threshold value "α" is set for the attribute value "attribute value a."

図13に示した評価式リスト420は、更新済属性値126に対する評価式を設定したデータであって、評価順421、評価式422、及び格納先423のデータ項目を有する。評価順421は、評価式422の実行順序を示し、評価順の小さい方から優先して評価式422が実行されて、格納先423が決定される。評価式422で用いられている「α」や「β」といった変数は、図12の属性値閾値リスト410に設定された閾値に対応している。また、格納先423には、加工済データ125の保管場所としてストレージ320の記憶域321の何れかが設定されている。 The evaluation formula list 420 shown in FIG. 13 is data that sets evaluation formulas for the updated attribute value 126, and has data items of evaluation order 421, evaluation formula 422, and storage destination 423. The evaluation order 421 indicates the execution order of the evaluation formulas 422, and the evaluation formulas 422 are executed with priority from the one with the lowest evaluation order, and the storage destination 423 is determined. The variables such as "α" and "β" used in the evaluation formula 422 correspond to the thresholds set in the attribute value threshold list 410 in FIG. 12. In addition, one of the memory areas 321 of the storage 320 is set as the storage location for the processed data 125 in the storage destination 423.

図14に示した格納先リスト430は、保管場所へのアクセス方法を設定したデータであって、格納先431及びアクセス方法432のデータ項目を有する。格納先431の設定内容は、図13の評価式リスト420の格納先423の設定内容に対応する。 The storage destination list 430 shown in FIG. 14 is data that sets the access method to the storage location, and has data items of storage destination 431 and access method 432. The setting contents of storage destination 431 correspond to the setting contents of storage destination 423 of evaluation formula list 420 in FIG. 13.

保管場所決定部304は、上記の図12~図14の各リスト(設定ルール311)を用いて更新済属性値126を評価することにより、加工済データ125の保管場所(格納先)を決定することができる。 The storage location determination unit 304 can determine the storage location (storage destination) of the processed data 125 by evaluating the updated attribute value 126 using each list (setting rule 311) in Figures 12 to 14 above.

以上に説明したように、データ制御システム3によれば、データの性質に応じて保管方法を分ける必要がある場合に、利用者180は、フローベースアプリケーション100の設計に依存することなく、データ制御機能150によって算出された属性値(更新済属性値126)に基づいて、データ処理後の加工済データ125を適切な場所に自動で保管することができる。これにより、フローベースアプリケーション100の設計ミス、利用者180の操作ミス、または、利用者180による意図しない入力データによる不適切なデータの保管等を防止することができる。 As described above, according to the data control system 3, when it is necessary to use different storage methods depending on the nature of the data, the user 180 can automatically store the processed data 125 after data processing in an appropriate location based on the attribute value (updated attribute value 126) calculated by the data control function 150, without relying on the design of the flow-based application 100. This makes it possible to prevent storage of inappropriate data due to design errors in the flow-based application 100, operational errors by the user 180, or data unintentionally input by the user 180.

なお、本発明は上記した各実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した各実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 The present invention is not limited to the above-described embodiments, but includes various modified examples. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and are not necessarily limited to those having all of the configurations described. It is also possible to replace part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. It is also possible to add, delete, or replace part of the configuration of each embodiment with other configurations.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。 Furthermore, the above-mentioned configurations, functions, processing units, processing means, etc. may be realized in hardware, in part or in whole, for example by designing them as integrated circuits. Furthermore, the above-mentioned configurations, functions, etc. may be realized in software, by a processor interpreting and executing a program that realizes each function. Information on the programs, tables, files, etc. that realize each function can be stored in a memory, a recording device such as a hard disk or SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD.

また、図面において制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。 In addition, the control lines and information lines shown in the drawings are those that are considered necessary for explanation, and do not necessarily show all control lines and information lines on the product. In reality, it can be assumed that almost all components are interconnected.

1,3 データ制御システム
2 データ処理検証システム
10 計算機
11 CPU
12 メモリ
13 記憶装置
14 通信部
15 入力部
16 出力部
17 バス
100 フローベースアプリケーション
101,102,103 処理ブロック
111 情報入力部
112 データ加工部
113 データ記憶部
114 制御機能要求部
115 第1情報出力部
116 第2情報出力部
121 データ
122,124 属性値
123 内部データ
125 加工済データ
126 更新済属性値
150 データ制御機能
151 属性値計算部
160 開発者
170 開発者用計算機
171 テストデータ送信部
172 テストデータ受信部
180 利用者
190 利用者用計算機
191 入力データ送信部
192 保管場所受信部
210 データ
220 属性値情報
231 入力属性値情報
232,233 変更属性値情報
234,235,236 更新済属性値
300 データ保管アプリケーション
301 第1情報入力部
302 第2情報入力部
303 データ保管部
304 保管場所決定部
305 設定データ格納部
306 保管情報出力部
311 設定ルール
312 保管場所情報
320 ストレージ
321 記憶域
410 属性値閾値リスト
420 評価式リスト
430 格納先リスト
1, 3 Data control system 2 Data processing verification system 10 Computer 11 CPU
12 Memory 13 Storage device 14 Communication unit 15 Input unit 16 Output unit 17 Bus 100 Flow-based application 101, 102, 103 Processing block 111 Information input unit 112 Data processing unit 113 Data storage unit 114 Control function request unit 115 First information output unit 116 Second information output unit 121 Data 122, 124 Attribute value 123 Internal data 125 Processed data 126 Updated attribute value 150 Data control function 151 Attribute value calculation unit 160 Developer 170 Developer computer 171 Test data transmission unit 172 Test data reception unit 180 User 190 User computer 191 Input data transmission unit 192 Storage location reception unit 210 Data 220 Attribute value information 231 Input attribute value information 232, 233 Changed attribute value information 234, 235, 236 Updated attribute value 300 Data storage application 301 First information input unit 302 Second information input unit 303 Data storage unit 304 Storage location determination unit 305 Setting data storage unit 306 Storage information output unit 311 Setting rule 312 Storage location information 320 Storage 321 Storage area 410 Attribute value threshold list 420 Evaluation formula list 430 Storage destination list

Claims (10)

全体またはその一部を疎結合なソフトウェアコンポーネントの組み合わせで構成したフローベースアプリケーションにおいて処理されるデータ変化を検知するデータ制御システムであって、
前記フローベースアプリケーションを構成する疎結合された複数の前記ソフトウェアコンポーネントには、個々が入力データに対して任意のデータ処理を実施して加工済データを出力するデータ加工部としての機能を有するソフトウェアコンポーネントが含まれ、
前記データ処理によるデータの変化を数値化した属性値を所定の計算用データを用いて計算する属性値計算部と、
それぞれの前記データ加工部による前記データ処理が終了するごとに、当該データ処理に関する前記計算用データを添えて、当該データ処理の前記加工済データに対する前記属性値の計算を前記属性値計算部に要求する制御機能要求部と、
を備え、
前記制御機能要求部は、前記属性値計算部から前記加工済データに対する前記属性値の計算結果である更新済属性値を受け取った後、前記加工済データ及び前記更新済属性値を次の前記データ加工部のソフトウェアコンポーネントに送信する
ことを特徴とするデータ制御システム。
A data control system that detects changes in data processed in a flow-based application, the whole or a part of which is composed of a combination of loosely coupled software components, comprising:
the plurality of loosely coupled software components constituting the flow-based application each include a software component having a function as a data processing unit that performs arbitrary data processing on input data and outputs processed data;
an attribute value calculation unit that calculates an attribute value that quantifies a change in data due to the data processing using predetermined calculation data;
a control function request unit that requests, each time the data processing by each of the data processing units is completed, the attribute value calculation unit to calculate the attribute value for the processed data of the data processing unit by attaching the calculation data related to the data processing unit;
Equipped with
a control function request unit that receives an updated attribute value, which is a calculation result of the attribute value for the processed data, from the attribute value calculation unit, and then transmits the processed data and the updated attribute value to a next software component of the data processing unit.
前記属性値計算部は、前記フローベースアプリケーション及び前記データ加工部としての機能を有するソフトウェアコンポーネントに対して疎結合なソフトウェアコンポーネントによって実装される
ことを特徴とする請求項1に記載のデータ制御システム。
2. The data control system according to claim 1, wherein the attribute value calculation unit is implemented by a software component that is loosely coupled to a software component having a function as the flow-based application and the data processing unit.
前記フローベースアプリケーション、前記データ加工部としての機能を有するソフトウェアコンポーネント、及び前記属性値計算部のソフトウェアコンポーネントは、同一形式の構造化データを入出力とする
ことを特徴とする請求項2に記載のデータ制御システム。
3. The data control system according to claim 2, wherein the flow-based application, the software component having a function as the data processing unit, and the software component of the attribute value calculation unit input and output structured data of the same format.
前記制御機能要求部が前記要求の際に添える前記計算用データには、
前記データ処理における前記入力データ及び前記加工済データが含まれず、前記入力データの前記構造化データの項目名と各項目名に対応する前記属性値、前記加工済データの前記構造化データの項目名、及び、前記データ処理における処理内容を示す処理内容情報が含まれ、
前記属性値計算部は、前記計算用データに基づいて、前記処理内容情報に示される処理内容の種別に応じた所定のリスト操作を行うことにより、前記加工済データの前記構造化データの各項目名に対応する前記属性値を更新した前記更新済属性値を生成する
ことを特徴とする請求項3に記載のデータ制御システム。
The calculation data attached by the control function request unit when making the request includes:
The input data and the processed data in the data processing are not included, but the input data includes item names of the structured data of the input data and the attribute values corresponding to each item name, the processed data includes item names of the structured data of the processed data, and processing content information indicating processing content in the data processing,
The data control system according to claim 3, characterized in that the attribute value calculation unit generates the updated attribute values by updating the attribute values corresponding to each item name of the structured data of the processed data by performing a predetermined list operation according to the type of processing content indicated in the processing content information based on the calculation data.
前記データ処理において前記入力データ以外から前記加工済データに追加された内部データが存在する場合、
前記制御機能要求部は、前記内部データの前記構造化データの項目名と各項目名に対応する前記属性値を前記計算用データに加える
ことを特徴とする請求項4に記載のデータ制御システム。
When there is internal data added to the processed data from other than the input data in the data processing,
5. The data control system according to claim 4, wherein the control function request unit adds item names of the structured data of the internal data and the attribute values corresponding to each item name to the calculation data.
前記フローベースアプリケーションと、前記制御機能要求部と、前記属性値計算部と、を備えて構成されるデータ制御システムであって、
前記フローベースアプリケーションにおいて前記データ加工部としての機能を有する全てのソフトウェアコンポーネントによる前記データ処理が実施された後の最終的な前記加工済データと、前記最終的な加工済データに対して前記属性値計算部によって計算された最終的な前記更新済属性値と、を出力する情報出力部をさらに備える
ことを特徴とする請求項1に記載のデータ制御システム。
A data control system comprising the flow-based application, the control function request unit, and the attribute value calculation unit,
2. The data control system according to claim 1, further comprising an information output unit that outputs the final processed data after the data processing is performed by all software components having a function as the data processing unit in the flow-based application, and the final updated attribute value calculated by the attribute value calculation unit for the final processed data.
前記情報出力部に接続されて、前記最終的な加工済データ及び前記最終的な更新済属性値を入力するデータ保管アプリケーションをさらに備え、
前記データ保管アプリケーションは、
前記最終的な加工済データの保管場所を決定する保管場所決定部と、
前記保管場所決定部によって決定された保管場所に前記最終的な加工済データを保管するとともに、前記保管場所を示す保管場所情報を生成するデータ保管部と、
前記データ保管部で生成された前記保管場所情報を出力する保管情報出力部と、を有する
ことを特徴とする請求項6に記載のデータ制御システム。
a data storage application connected to the information output unit and configured to input the final processed data and the final updated attribute value;
The data storage application includes:
a storage location determination unit that determines a storage location for the final processed data;
a data storage unit that stores the final processed data in a storage location determined by the storage location determination unit and generates storage location information indicating the storage location;
The data control system according to claim 6 , further comprising: a storage information output unit that outputs the storage location information generated by the data storage unit.
前記保管場所決定部は、所定の設定ルールを用いて前記最終的な更新済属性値を評価することにより、前記最終的な加工済データの前記保管場所を決定する
ことを特徴とする請求項7に記載のデータ制御システム。
The data control system according to claim 7 , wherein the storage location determination unit determines the storage location of the final processed data by evaluating the final updated attribute value using a predetermined setting rule.
前記保管場所には、前記データ保管アプリケーションに接続されたストレージの記憶域が含まれる
ことを特徴とする請求項7に記載のデータ制御システム。
The data control system according to claim 7 , wherein the storage location includes a storage area of a storage device connected to the data storage application.
全体またはその一部を疎結合なソフトウェアコンポーネントの組み合わせで構成したフローベースアプリケーションにおいて処理されるデータ変化を検知するデータ制御システムによるデータ制御方法であって、
前記フローベースアプリケーションを構成する疎結合された複数の前記ソフトウェアコンポーネントには、個々が入力データに対して任意のデータ処理を実施して加工済データを出力するデータ加工部としての機能を有するソフトウェアコンポーネントが含まれ、
前記データ加工部としての機能を有するそれぞれのソフトウェアコンポーネントによる前記データ処理が終了するごとに、当該データ処理に関する計算用データを添えて、当該データ処理の前記加工済データに対する属性値の計算を要求する要求ステップと、
前記要求ステップにおける前記要求に添えられた前記計算用データを用いて、前記加工済データに対して、前記データ処理によるデータの変化を数値化した前記属性値を計算する属性値計算ステップと、
前記属性値計算ステップにおける計算後、前記加工済データと前記加工済データに対する前記属性値である更新済属性値とを、次の前記データ加工部のソフトウェアコンポーネントに送信する出力ステップと、
を備えることを特徴とするデータ制御方法。
A data control method for detecting a change in data processed in a flow-based application, the whole or a part of which is composed of a combination of loosely coupled software components, comprising:
the plurality of loosely coupled software components constituting the flow-based application each include a software component having a function as a data processing unit that performs arbitrary data processing on input data and outputs processed data;
a request step of requesting calculation of an attribute value for the processed data of the data processing by attaching calculation data related to the data processing each time the data processing by each software component having a function as the data processing unit is completed;
an attribute value calculation step of calculating, for the processed data, an attribute value that quantifies a change in data due to the data processing, using the calculation data attached to the request in the request step;
an output step of transmitting, after the calculation in the attribute value calculation step, the processed data and an updated attribute value which is the attribute value for the processed data, to a next software component of the data processing unit;
A data control method comprising:
JP2020212414A 2020-12-22 2020-12-22 Data control system and data control method Active JP7492451B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020212414A JP7492451B2 (en) 2020-12-22 2020-12-22 Data control system and data control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020212414A JP7492451B2 (en) 2020-12-22 2020-12-22 Data control system and data control method

Publications (2)

Publication Number Publication Date
JP2022098810A JP2022098810A (en) 2022-07-04
JP7492451B2 true JP7492451B2 (en) 2024-05-29

Family

ID=82261826

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020212414A Active JP7492451B2 (en) 2020-12-22 2020-12-22 Data control system and data control method

Country Status (1)

Country Link
JP (1) JP7492451B2 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102615A (en) 2008-10-27 2010-05-06 Fujitsu Ltd Job flow analysis program, method and apparatus
JP2019516167A (en) 2016-03-23 2019-06-13 フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. Tools and methods for a real time data flow programming language

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102615A (en) 2008-10-27 2010-05-06 Fujitsu Ltd Job flow analysis program, method and apparatus
JP2019516167A (en) 2016-03-23 2019-06-13 フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. Tools and methods for a real time data flow programming language

Also Published As

Publication number Publication date
JP2022098810A (en) 2022-07-04

Similar Documents

Publication Publication Date Title
CN103329130A (en) Managing changes to collections of data
Van Hee et al. Soundness of resource-constrained workflow nets
US10140403B2 (en) Managing model checks of sequential designs
JP4908073B2 (en) Service-based software design support method and apparatus therefor
JP2020013544A (en) Management method and management apparatus for effectiveness of information processing task
US8458204B2 (en) System and method for customized file comparison
JP4383484B2 (en) Message analysis apparatus, control method, and control program
Abdelmoez et al. Quantifying software architectures: an analysis of change propagation probabilities
US9430595B2 (en) Managing model checks of sequential designs
JP6692281B2 (en) Test case generation device and test case generation method
US10678864B2 (en) Analysis model preparing system, programming apparatus, and analysis model preparing method
JP2012064129A (en) Gui integration method of multiple applications
US10664653B2 (en) Automated structured cloud datatester
JP7492451B2 (en) Data control system and data control method
US8024158B2 (en) Management system and management method of CAD data used for a structural analysis
US20100228801A1 (en) Information processing apparatus, file management system, information processing method and computer readable medium
JP6632777B2 (en) Security design apparatus, security design method, and security design program
WO2019163266A1 (en) Security evaluation server and security evaluation method
US20110178970A1 (en) Template clauses based sat techniques
US20220334912A1 (en) System and method for visualizing results of cause diagnosis of event that has occurred or may occur in equipment
US11625497B2 (en) File management system and non-transitory computer readable medium
WO2013114911A1 (en) Risk assessment system, risk assessment method, and program
CN111857883B (en) Page data checking method and device, electronic equipment and storage medium
JP2008293103A (en) Distributed arrangement device and method for arranging virtual device
CN110114767A (en) Use the system and method for the satisfiability theory of modules process for not explaining functional symbol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240329

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: 20240430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240517