A data-driven cloud control method and system based on a container workflow structure

By transforming data-driven predictive control into a container workflow structure and leveraging the parallel capabilities of cloud computing, the problem of low computational efficiency in existing technologies is solved, and efficient data-driven predictive control is achieved.

CN115437790BActive Publication Date: 2025-11-25BEIJING INST OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211107082.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-09
Publication Date
2025-11-25
Estimated Expiration
2042-09-09

AI Technical Summary

Technical Problem

Existing data-driven predictive cloud control systems fail to fully utilize the parallel computing capabilities of cloud computing, resulting in low computational efficiency, which limits their application, especially in real-time and high-dimensional control systems.

Method used

A container-based workflow structure approach is adopted to transform data-driven predictive control into a directed acyclic graph workflow. By leveraging the parallel computing capabilities of cloud computing, singular value decomposition and data-driven predictive control sequence solving are performed iteratively layer by layer through the decomposition and aggregation of ingress, intermediate, and egress task nodes.

Benefits of technology

It greatly improves the processing efficiency of data-driven predictive control tasks, adapts to the distributed requirements of cloud workflows, and improves computing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115437790B_ABST
    Figure CN115437790B_ABST
Patent Text Reader

Abstract

The application discloses a data-driven cloud control method and system based on a container workflow structure. The method converts data-driven predictive control into a workflow form of a directed acyclic graph, fully utilizes parallel computing capability of cloud computing, can adapt to distributed requirements of cloud workflow processing, and greatly improves processing efficiency of data-driven predictive control tasks.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of automatic control, and particularly relates to a data-driven cloud control method and system based on a container workflow structure. BACKGROUND

[0002] With the development of science and technology, industrial process systems are becoming increasingly complex, and the data information generated and stored by industrial processes is also increasing. Therefore, data-driven methods have emerged and received widespread attention, and data-driven control has become a hotspot in the control academic and industrial circles. Model predictive control (MPC) has been widely concerned in the field of control theory and has become one of the mainstream methods of modern control. With the improvement of computing power, MPC has become one of the common control strategies in the field of industrial control. The most typical feature of MPC is that it can handle multivariable control problems, handle input-output physical constraints, and adapt to structural changes. Subspace identification method is a system identification method of state space model. This method completely releases control workers from tedious mechanism modeling. As long as there is enough process input-output data, a relatively accurate state space model of the process can be obtained through the identification method. The subspace predictor obtained in the subspace identification process can be directly used as the prediction model output of the predictive controller, forming a data-driven predictive control method, which has been applied in actual industrial processes and achieved good benefits.

[0003] Data-driven predictive control combines theories of system identification and model predictive control, directly uses measured input-output data to generate a predictive control sequence, and applies it to the controlled object. Compared with traditional control methods, data-driven predictive control has the following advantages: it does not rely on model information and other prior knowledge, it can dynamically control time-varying systems, it only relies on basic linear algebra operations, and it has high reliability. Due to the need for a large amount of historical data for the execution of data-driven predictive control, the calculation efficiency is severely restricted, which is not conducive to the application in real-time control systems and high-dimensional control systems. In the past decade, the rapid development of cloud computing has brought a new paradigm to the field of automatic control, namely cloud control system. Cloud control system refers to a system in which the controller is deployed on the cloud, the controlled object is deployed on the edge controlled node, and the cloud and the edge controlled node are connected through the network. The system aims to utilize the powerful computing power of cloud computing to solve the problem of insufficient computing power in the control field. On this basis, a data-driven predictive cloud control system is proposed, which deploys the data-driven controller on the remote cloud server and provides remote control services for the cloud server according to the needs of the controlled object.

[0004] However, the existing data-driven predictive cloud control system only simply and directly deploys a data-driven predictive control algorithm which is complete and not adapted to the design of a cloud computing environment on a single server, and the calculation mode is still centralized, which is the same as the local controller, that is, the calculation mode of the existing cloud control system does not consider the distributed processing structure of cloud computing and does not utilize the parallel computing capability of cloud computing, and therefore the calculation efficiency is not significantly improved. SUMMARY

[0005] Therefore, the present application provides a data-driven cloud control method and system based on a container workflow structure, which utilizes the parallel computing capability of cloud computing to realize a data-driven predictive control workflow.

[0006] The data-driven cloud control method based on a container workflow structure provided by the present application comprises the following steps:

[0007] The task nodes in the workflow are defined as an entry task node, intermediate task nodes and an exit task node, wherein the entry task node is the entry of the cloud controller data and is used for forwarding data; the intermediate task nodes are a multi-layer structure and are used for performing truncated singular value decomposition on data and aggregating the results of the upper-layer task nodes; and the exit task node is used for solving a data-driven predictive control sequence.

[0008] The entry task node forwards the required data to each intermediate task node; each intermediate task node establishes and updates a Hankel matrix block to form a data column block according to the data received from the upper-layer task node, performs truncated singular value decomposition on the aggregated result after performing an aggregation operation on the data column block, and iterates layer by layer until the last intermediate task node; and the exit task node performs an aggregation operation on the data received from the last intermediate task node to solve the data-driven predictive control sequence.

[0009] Further, the process of establishing and updating the Hankel matrix block to form the data column block according to the data received from the upper-layer task node, performing truncated singular value decomposition on the aggregated result after performing an aggregation operation on the data column block, and iteratively layer by layer until the last intermediate task node of each intermediate task node comprises the following steps:

[0010] Step 2.1, calculating the number of cutting column blocks N c = round(n / col+0.45), wherein n is the column number of the original matrix, col is the column number of the split matrix, and round() is an integer function; the data received from the upper-layer task node is established as a Hankel matrix block to form a data column block A list l is established to store the column blocks and the singular value decomposition results of the column blocks U , l Σ , and l V ;

[0011] Step 2.2, singular value decomposition of data column block p = M S N T p Wherein, N and M are both coefficient matrix of singular value decomposition, S is singular value sequence obtained by decomposition; M is stored in list l U , N is stored in list l V , and S is stored in list l Σ ; calculate list length Nl = len(l U ), calculate iteration level = ceil(log2Nl), let i = 1, and establish double loop to solve singular value decomposition result of matrix M;

[0012] Step 3, establish new empty list l Ut , l Σt , and l Vt ; use input list l U , l Σ , and l V to assign values to them, and then empty the input list l U , l Σ , and l V , as shown in the following formula:

[0013] l Ut = l U , l Σt = l Σ , and l Vt = l V

[0014] l U = list(); l Σ = list(); and l V = list()

[0015] Let j = 1;

[0016] Step 4, select adjacent two elements in each new list l Ut , l Σt , and l Vt to perform data aggregation processing, and then add the aggregation result to list l Ut , l Σt , and l Vt ; execute aggregation operation on new list l Ut , l Σt , and l Vt , and let j = j + 2;

[0017] ​​​Step 5, if j<=Nl, then execute step 4, otherwise execute step 6;

[0018] Step 6, if Nl is odd, then execute step 7, otherwise execute step 8;

[0019] Step 7, add list l Ut ,l Σt ,l Vt to list l U ,l Σ ,l V respectively;

[0020] Step 8, let i=i+1, if i<=level, then execute step 3, otherwise execute step 9;

[0021] Step 9, return M singular value decomposition result

[0022] Further, the aggregation operation on the data column block comprises the following steps:

[0023] Execute k=rank(Σ), calculate the singular value order k;

[0024] Use U k =U(:,1:k);Σ k =Σ(1:k,1:k);V k =V(1:k,1:k), respectively, perform low-order approximation processing on U, Σ, V, return the low-order approximation result, and execute U r ,Σ r , Aggregation and singular value decomposition are performed on U 1k Σ 1k , U 2l Σ 2l ; and then execute Aggregation is performed on V 1k ,V 2l , and the aggregated result U r ,Σ r ,V r is returned.

[0025] Further, the manner for solving the data-driven predictive control sequence is that: first, intermediate coefficients L w and L u are calculated by using formula , and then the predictive control sequence u f (k) is calculated by using formula .

[0026] The application provides a data-driven cloud control system based on a container workflow structure, comprising an edge controlled node and a cloud control platform;

[0027] The edge controlled node includes a controlled object and an edge data transmitter; the edge data transmitter is used to forward the control quantity received from the cloud controller to the controlled object, and to upload the output information collected from the controlled object to the cloud controller; the controlled object is used to execute tasks according to the control quantity of the cloud controller and use the execution result as output information;

[0028] The cloud control platform includes a Redis server, a Docker repository, containers, and a task manager. The task manager creates a Redis server and defines the DAG topology structure file of the control workflow, writing it into the Redis server in the form of a Map. It defines the images of each task in the control workflow and uploads the task images to the Docker repository. The containers interact with the Redis server to obtain information such as the task sequence number, its level in the workflow, the dependencies between the task and its predecessor and successor tasks, and the task images to be pushed from the Docker repository to complete the configuration. The containers then execute the cloud controller's computing tasks.

[0029] Furthermore, the process of the container executing the cloud controller computing task includes: after the inlet container receives the data uploaded by the edge data transmitter, each container in the container network starts to calculate and transmit data, executes the control task in the form of a workflow, and finally, the outlet container obtains the cloud control quantity and forwards it to the edge data transmitter; the container network executes the above operations in a loop until the set number of control loops is reached.

[0030] Beneficial effects:

[0031] This invention transforms data-driven predictive control into a directed acyclic graph workflow, fully leveraging the parallel computing capabilities of cloud computing. It adapts to the distributed requirements of cloud workflow processing and greatly improves the processing efficiency of data-driven predictive control tasks. Attached Figure Description

[0032] Figure 1 This is a flowchart illustrating a data-driven cloud control method based on a container workflow structure, provided by the present invention.

[0033] Figure 2 This invention provides a schematic diagram of a data-driven cloud control system based on a container workflow structure.

[0034] Figure 3 This invention provides an initialization process for a data-driven cloud control system based on a container workflow structure.

[0035] Figure 4 This invention provides a schematic diagram of the communication mechanism of a data-driven cloud control system based on a container workflow structure. Detailed Implementation

[0036] The following examples illustrate the invention in detail.

[0037] Workflow is an important information processing method in cloud computing. It breaks down complete scientific computing tasks such as image processing, gene computing, and seismic wave analysis into a directed acyclic graph (DAG) structure with dependencies between tasks. In this structure, workflow nodes represent smaller subtasks, and edges represent dependencies between subtasks. According to resource requirements, each subtask is allocated to distributed processing nodes in the cloud resource pool to improve the processing efficiency of scientific tasks.

[0038] This invention provides a data-driven cloud control method and system based on a container workflow structure. Its core idea is to study the computational characteristics of data-driven predictive control algorithms, use truncated distributed singular value algorithms to establish a data-driven predictive control workflow to match the distributed processing environment of cloud computing, and introduce the concept of containers to establish a containerized data-driven cloud control execution system to execute the data-driven predictive control workflow.

[0039] This invention provides a data-driven cloud control method based on a container workflow structure, the workflow of which is as follows: Figure 1 The above includes the following steps:

[0040] The task nodes in the workflow are defined as entry task nodes, intermediate task nodes, and exit task nodes. The entry task node is the entry point for cloud controller data and is used to forward data. The intermediate task node has a multi-layer structure and is used to perform truncated singular value decomposition on the data and aggregate the results of the upper-level task nodes. The exit task node is used to solve for the data-driven predictive control sequence.

[0041] The entry task node forwards the required data to each intermediate task node; the intermediate task nodes establish and update the Hankel matrix based on the data received from the upper-level task nodes to form data column blocks. After performing aggregation operations on the data column blocks, the aggregated results are then subjected to truncated singular value decomposition, iterating layer by layer until the last intermediate task node; the exit task node performs aggregation operations on the data received from the last intermediate task node and solves the data-driven predictive control sequence.

[0042] This invention defines a Hankel matrix of the form shown in formula (1):

[0043]

[0044] Among them, U p U is the Hankel matrix representing the past input data of the controlled object. fLet N be the future input data of the controlled object, which is the Hankel matrix, where N is the number of rows in the Hankel matrix and j is the number of columns in the Hankel matrix.

[0045] Define intermediate variable W p For W p =[U p ,Y p ], where Y p This represents the Hankel matrix, which represents past output data.

[0046] definition Y represents f The line space along U f The line space towards W p The projection of the line space, Y f The Hankel matrix represents the future output data.

[0047] Define the column vectors of the past and future input and output data matrices of the controlled object at sampling time k as shown in formula (2):

[0048]

[0049] Among them, u f (k) represents the column vector of the future input data matrix of the controlled object at sampling time k, u p (k) represents the column vector of the past input data matrix of the controlled object at sampling time k, y f (k) represents the column vector of the future output data matrix of the controlled object at sampling time k, y p (k) represents the column vector of the past output data matrix of the controlled object at sampling time k, w p (k) represents the column vector of the past input and output data matrix of the controlled object at sampling time k.

[0050] At sampling time k, for the Hankel matrix The result V is obtained by performing singular value decomposition. p =MSN T Then calculate the singular value decomposition result V. p Morre-Penrose pseudoinverse matrix Using formula Calculate the intermediate coefficient L w and L u Finally, the formula is used. The predicted control sequence u is calculated. f (k), where N and M are both coefficient matrices of the singular value decomposition, and S is the sequence of singular values ​​obtained from the decomposition.

[0051] The singular value decomposition process involves iteratively truncating the singular value decomposition of the obtained matrix M, and includes the following steps:

[0052] Step 1: Calculate the number of cut columns N c =round(n / col+0.45), where n is the number of columns in the original matrix, col is the number of columns in the matrix after splitting, and round() is the rounding function; This creates a list l storing the column blocks and the singular value decomposition results of the column blocks. U l Σ and l V and l A Fill it, as shown in the following formula: l A =list(); U =list(); Σ =list(); V =list(). This step splits a large matrix into multiple smaller matrices by column.

[0053] Among them, l A This is a list used to store the split matrices.

[0054] Step 2: Perform singular value decomposition on each column block and store the results in the list from Step 1. U l Σ and l V Specifically, M obtained from singular value decomposition is stored in list l. U In the process, N obtained from singular value decomposition is stored in list l. V In the middle, store S into list l Σ In the middle. Calculate the list length Nl = len(l U ), calculate the number of iterations level = ceil(log2Nl), let i = 1, and establish a double-loop solution for the singular value decomposition result of matrix M.

[0055] Step 3: Create a new empty list l Ut ,l Σt ,l Vt Using input list l U ,l Σ ,l V After assigning values ​​to the corresponding values, the input list l will be... U ,l Σ ,l V To empty the string, see the formula below:

[0056] l Ut =l U ,l Σt =l Σ ,l Vt =l V

[0057] l U =list(); Σ =list(); V =list()

[0058] Let j = 1.

[0059] Step 4: Select each new list Ut ,l Σt ,l Vt After aggregating data between two adjacent elements, the aggregation result is added to list l. Ut ,l Σt ,l Vt In the following formula:

[0060] U j ,Σ j V j =BlockMerge(l Ut (j),l Σt (j),l Vt (j),l Ut (j+1),l Σt (j+1),l Vt (j+1))

[0061] l U +=U j ;l Σ +=Σ j ;l V +=V j

[0062] Let j = j + 2.

[0063] Step 5: If j≤Nl, then execute step 4; otherwise, execute step 6.

[0064] Step 6: If N1 is not odd, proceed to step 7; otherwise, proceed to step 8.

[0065] Step 7: List l Ut ,l Σt ,l Vt The last item is added to the list. U ,l Σ ,l V middle.

[0066] Step 8: Let i = i + 1.

[0067] Step 9: If i ≤ level, then execute step 3; otherwise, execute step 10.

[0068] Step 10: Return the M singular value decomposition results.

[0069] Step 11: Calculate the singular value decomposition results

[0070] The execution process of the aggregation process BlockMerge() in step 4 is as follows:

[0071] Step 4.1, execute U 1k ,Σ 1k V 1k =DoTruncate(U1,Σ1,V1) returns a low-order approximation of U1,Σ1,V1;

[0072] Step 4.2, Execute U 2l ,Σ 2l V 2l =DoTruncate(U2,Σ2,V2) returns a low-order approximation of U2,Σ2,V2;

[0073] Step 4.3, Execute For U 1k Σ 1k U 2l Σ 2l Perform aggregation and singular value decomposition;

[0074] Step 4.4, Execute For V 1k V 2l Perform aggregation and return the aggregated result U. r ,Σ r V r .

[0075] The execution process of DoTruncate() in steps 4.1 and 4.2 is as follows:

[0076] Execute k = rank(Σ) to calculate the singular value order k; execute U k =U(:,1:k); Σ k =Σ(1:k,1:k); V k =V(1:k,1:k), performs low-order approximations on U, Σ, and V respectively, and returns the low-order approximation result U. k ,Σ k V k .

[0077] Example:

[0078] In this embodiment, four functions, ParallelSVDbyCols, DoMergeOfBlocks, BlockMerge, and DoTruncate, are designed to perform iterative truncation of singular value decomposition, thus completing the splitting of the singular value decomposition stage.

[0079] Design a function ParallelSVdbyCols that takes an m×n matrix M to be decomposed and the column width col after decomposition as input, and outputs the singular value decomposition result.

[0080] S1.1, Using N c =round(n / col+0.45) calculates the number of columns to be cut;

[0081] S1.2, Establish a list of storage column blocks and the results of singular value decomposition of the column blocks: l A =list(); U =list(); Σ =list(); V =list(), and then list l A Fill;

[0082] S1.3 Perform singular value decomposition on each column block and store the results in the list in S1.2;

[0083] S1.4, Execution Calling the DoMergeOfBlocks function returns the result of the singular value decomposition of M.

[0084] Design the DoMergeOfBlocks function, whose input is a list of singular value decomposition results for each block. U ,l Σ ,l V The output is the singular value decomposition result.

[0085] S2.1, Execute Nl = len(l U Calculate the list length Nl;

[0086] S2.2 Execute level = ceil(log2Nl) to calculate the iteration level;

[0087] S2.3. Establish a nested loop to solve for the singular value decomposition result of M:

[0088] S2.3-1, Let i = 1;

[0089] S2.3-2, Create a new empty list l Ut ,l Σt ,l VtUsing input list l U ,l Σ ,l V Assign values ​​to them and empty the input list:

[0090] l Ut =l U ,l Σt =l Σ ,l Vt =l V

[0091] l U =list(); Σ =list(); V =list()

[0092] S2.3-3, Let j = 1;

[0093] S2.3-4, Call BlockMerge to return the aggregated results of the two input data items and add them to the list. Ut ,l Σt ,l Vt middle:

[0094] U j ,Σ j V j =BlockMerge(l Ut (j),l Σt (j),l Vt (j),l Ut (j+1),l Σt (j+1),l Vt (j+1))

[0095] l U +=U j ;l Σ +=Σ j ;l V +=V j

[0096] S2.3-5, Let j = j + 2;

[0097] S2.3-6. Determine if j≤Nl. If yes, return to step S2.3-4; otherwise, proceed to S2.3-7.

[0098] S2.3-7. Determine if Nl is odd. If it is odd, proceed to S2.3-8; if it is even, proceed to S2.3-9.

[0099] S2.3-8, List l Ut ,l Σt ,l Vt The last item is added to the list.U ,l Σ ,l V middle;

[0100] S2.3-9, Let i = i + 1;

[0101] S2.3-10, Check if i ≤ level. If yes, return to S2.3-2; otherwise, end the loop.

[0102] S2.4 Return the results of the singular value decomposition of M.

[0103] Design a BlockMerge function that takes two sets of singular value decomposition results U1, Σ1, V1, U2, Σ2, V2 as input and outputs the aggregated result U. r ,Σ r V r :

[0104] S3.1, Execute U 1k ,Σ 1k V 1k =DoTruncate(U1,Σ1,V1) calls DoTruncate and returns a low-order approximation of U1,Σ1,V1;

[0105] S3.2, Execute U 2l ,Σ 2l V 2l =DoTruncate(U2,Σ2,V2) calls DoTruncate and returns a low-order approximation of U2,Σ2,V2;

[0106] S3.3, Execution For U 1k Σ 1k U 2l Σ 2l Perform aggregation and singular value decomposition;

[0107] S3.4, Execution For V 1k V 2l Perform aggregation and return the aggregated result U. r ,Σ r V r .

[0108] Design a DoTruncate function that takes the singular value matrix decomposition results U, Σ, V as input and outputs a low-order approximation U. k ,Σ k V k :

[0109] S4.1 Execute k = rank(Σ) to calculate the singular value order k;

[0110] S4.2, Execute U k =U(:,1:k); Σ k =Σ(1:k,1:k); V k =V(1:k,1:k) performs low-order approximations on U, Σ, and V respectively, and returns the low-order approximation result U. k ,Σ k V k .

[0111] Based on the above steps, a data-driven predictive control workflow was established, such as... Figure 1 As shown, for example, a workflow is established with a parallelism col=10. Table 1 describes the task functions and dependencies between tasks in the data-driven predictive control workflow with a parallelism col=10. The complete workflow contains four task mirroring types, such as mirrored Task. B The task can be reused up to 10 times in the second layer of the workflow with different input data. The functions and relationships of each task are described as follows:

[0112] (1) Task1 serves as the data entry point, forwarding the required data to each subtask;

[0113] (2) The data generated by Task1 is transmitted to Task1 through Task2 respectively. 11 In Task1 to Task 11 In each task, the Hankel matrix blocks are established and updated, and the DoMergeOfBlocks function is used to perform truncated singular value decomposition on the column blocks.

[0114] (3) Task 12 To Task 18 The BlockMerge method is used to aggregate the results of the parent task, and then the aggregated results are subjected to truncated singular value decomposition again.

[0115] (4) Export Task 19 Collect and aggregate the results returned by all parent tasks to solve for the data-driven predictive control sequence.

[0116] Among them, (2) and (3) are equivalent to performing part of the operation of the function ParallelSVdbyCols. Due to workflow structure optimization, not all loops in the function ParallelSVdbyCols were completed.

[0117] Table 1. Description of Workflow Task Functions and Dependencies

[0118]

[0119] Furthermore, since data-driven predictive control workflows need to be executed in a real cloud control execution system, the emergence and rapid development of container virtualization technology, particularly Docker, has garnered increasing attention. Compared to traditional virtual machine technology, it offers a more lightweight, user-friendly, resource-efficient, and faster application deployment solution. While existing scientific computing workflow processing systems like Argo exist, workflow processing systems specifically designed for control tasks do not yet exist. Therefore, this invention provides a data-driven cloud control execution system based on a container workflow architecture.

[0120] This invention provides a data-driven cloud control system based on a container workflow structure, the structure of which is as follows: Figure 2 As shown, it includes edge-controlled nodes and a cloud control platform.

[0121] The edge controlled node includes the controlled object and the edge data transmitter; the edge data transmitter is used to forward the control quantities received from the cloud controller to the controlled object, and to upload the output information collected from the controlled object to the cloud controller; the controlled object is used to execute tasks according to the control quantities of the cloud controller and use the execution results as output information.

[0122] The cloud control platform includes a Redis server, a Docker repository, containers, and a task manager. The task manager creates the Redis server and defines the DAG topology file for the control workflow, writing it to the Redis server in Map format. It also defines the images for each task in the control workflow and uploads these images to the Docker repository. The containers interact with the Redis server to obtain information such as task sequence numbers, their hierarchy within the workflow, dependencies between tasks and their predecessors and successors, and task images to be pushed from the Docker repository. Once configured, the containers begin executing the cloud controller's computational tasks.

[0123] The process of a container executing cloud controller computation tasks includes: after the ingress container receives data uploaded by the edge data transmitter, each container in the container network begins to compute and transmit data, executing control tasks in a workflow format. Finally, the egress container receives the cloud control input and forwards it to the edge data transmitter. The container network repeats the above operations until the set number of control cycles is reached.

[0124] Furthermore, before executing the control task workflow, the data-driven cloud control execution system based on the container workflow structure proposed in this invention also needs to perform initialization operations, such as... Figure 3 As shown, this includes offline user operations and online system operations.

[0125] Offline user operations include creating a Redis server, creating a DAG topology mapping, and creating and uploading images through Task Manager. Users also need to create environment variables through Task Manager as adjustable parameters for the cloud controller.

[0126] The online system operation includes the following steps: writing the defined DAG file to the Redis server; pushing the control workflow task image from the Docker repository to the container network; creating each container of the control workflow according to the image; each container of the control workflow reading environment variables as adjustable parameters for the cloud controller; each container of the control workflow obtaining its own IP address in the container network; each container of the control workflow reading its own name from the environment variables; writing the "name-IP" key-value pairs to the Redis server; each container of the control workflow reading the DAG topology from the Redis server; creating a parent task list and a child task list for each task container based on the read DAG topology; reading the parent task IP address and child task IP address from the Redis server using "name-IP" key-value pairs based on the task names in the previously created parent task list and child task list; creating a parent task IP address list and a child task IP address list for each task container; and establishing socket connections with the preceding and succeeding tasks in each container of the control workflow.

[0127] The cloud-edge communication mechanism for a data-driven cloud control execution system based on a container workflow structure proposed in this invention, such as... Figure 4 As shown, the specific settings are as follows: Create a dedicated container network for the control workflow task containers to run; use TCP communication between control workflow task containers; use UDP communication bidirectionally between the cloud and the edge; when information is transmitted from the edge controlled node into the control workflow, set port mapping so that the data can directly reach the control workflow entry container; when information enters the edge controlled node from the cloud controller, set IP mapping so that the data can reach the local area network IP of the controlled object under the same public IP; use TCP communication within the edge controlled node.

[0128] In summary, the above are merely preferred embodiments of the present invention and are not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A data-driven cloud control method based on a container workflow structure, characterized in that, Includes the following steps: The task nodes in the workflow are defined as entry task nodes, intermediate task nodes, and exit task nodes. The entry task node is the entry point for cloud controller data and is used to forward data. The intermediate task node has a multi-layer structure and is used to perform truncated singular value decomposition on the data and aggregate the results of the upper-level task nodes. The exit task node is used to solve for the data-driven predictive control sequence. The entry task node forwards the required data to each intermediate task node; the intermediate task nodes establish and update the Hankel matrix based on the data received from the upper-level task nodes to form data column blocks, and after performing aggregation operations on the data column blocks, they perform truncated singular value decomposition on the aggregated results, iterating layer by layer until the last intermediate task node; the exit task node performs aggregation operations on the data received from the last intermediate task node and solves the data-driven predictive control sequence. The intermediate task node establishes and updates the Hankel matrix based on the data received from the upper-level task node, forming data column blocks. After aggregating the data column blocks, it performs truncated singular value decomposition on the aggregated result, iterating layer by layer until the last intermediate task node. The process includes the following steps: Step 2.1: Calculate the number of cut columns N. c =round(n / col+0.45), where n is the number of columns in the original matrix, col is the number of columns in the split matrix, and round() is the rounding function; This function uses a Hankel matrix to divide the data received from the upper-level task node into data blocks. Create a list of storage columns and their singular value decomposition results. U l Σ and l V W p For W p =[U p ,Y p ], U p U is the Hankel matrix representing the past input data of the controlled object. f Let Y be the Hankel matrix representing the future input data of the controlled object. p The Hankel matrix represents the past output data of the controlled object. Step 2.2: Process the data column blocks Singular value decomposition yields V p =MSN T Calculate V p Morre-Penrose pseudoinverse matrix Where N and M are both coefficient matrices of the singular value decomposition, and S is the sequence of singular values ​​obtained from the decomposition; M is stored in list l. U Store N in list l V Store the middle and S into list l Σ In the middle; calculate the list length Nl = len(l U ), calculate the iteration level level = ceil(log2Nl), let i = 1, and establish a double-loop solution for the singular value decomposition result of matrix M; Step 3: Create a new empty list l Ut ,l Σt ,l Vt Using input list l U ,l Σ ,l V After assigning values ​​to the corresponding values, the input list l will be... U ,l Σ ,l V To empty the string, see the formula below: l Ut =l U ,l Σt =l Σ ,l Vt =l V l U =list();l Σ =list();l V =list() Let j = 1; Step 4: Select each new list Ut ,l Σt ,l Vt After aggregating data between two adjacent elements, the aggregation result is added to list l. Ut ,l Σt ,l Vt In the middle, for the new list l Ut ,l Σt ,l Vt Perform an aggregation operation, and let j = j + 2; Step 5: If j≤Nl, then execute step 4; otherwise, execute step 6. Step 6: If N1 is not odd, proceed to step 7; otherwise, proceed to step 8. Step 7: List l Ut ,l Σt ,l Vt The last item is added to the list. U ,l Σ ,l V middle; Step 8: Let i = i + 1. If i ≤ level, then execute step 3; otherwise, execute step 9. Step 9: Return the M singular value decomposition results.

2. A data-driven cloud control system based on a container workflow structure employing the data-driven cloud control method of claim 1, characterized in that, This includes edge-controlled nodes and cloud control platforms; The edge controlled node includes a controlled object and an edge data transmitter; the edge data transmitter is used to forward the control quantity received from the cloud controller to the controlled object, and to upload the output information collected from the controlled object to the cloud controller; the controlled object is used to execute tasks according to the control quantity of the cloud controller and use the execution result as output information; The cloud control platform includes a Redis server, a Docker repository, a container network, and a task manager; the task manager creates a Redis server and defines a DAG topology file for controlling the workflow, which is written into the Redis server in the form of a Map. Define the images of each task in the control workflow and upload the task images to the Docker repository. Containers in the container network are used for the computation tasks of the task nodes in the workflow.

Citation Information

Patent Citations

  • Subspace system identification method and system

    CN113110068A

  • Deriving a function that represents data points

    US20100198897A1