Configuration data processing system and method of cloud controller

By using configuration software to compare differences in a clustered NFS shared storage environment within the cloud-based controller's configuration data processing system, the controller configuration data consistency problem was solved, enabling reliable operation and data consistency of the controller across different nodes.

CN120909210APending Publication Date: 2025-11-07SUPCON TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511110726.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-08
Publication Date
2025-11-07

AI Technical Summary

Technical Problem

In the automated production processes of process and discrete industries, how to ensure the consistency of controller configuration data so that the controller can operate reliably according to the set requirements, especially in scenarios such as controller startup, configuration download, redundant controller configuration synchronization, and controller migration.

Method used

The configuration data processing system using cloud-based controllers generates controller configuration data by writing and compiling control programs using configuration software in a Kubernetes cluster environment with clustered NFS shared storage. It ensures the consistency between the data compiled by the configuration software and the data running on the controller by comparing differences, and uses clustered NFS shared storage to synchronize data with multiple cloud-based master and backup controllers.

Benefits of technology

It enables the download of configuration data and the synchronization of redundant controller configuration in a cloud environment, ensuring the consistency of controller configuration data, thereby enabling the controller to operate reliably according to the set requirements and supporting the migration of the controller between different nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120909210A_ABST
    Figure CN120909210A_ABST
Patent Text Reader

Abstract

The invention discloses a cloud controller configuration data processing system and method, and relates to the technical field of industrial automation, the system comprises a plurality of cloud main controllers, a plurality of cloud standby controllers, configuration software and a cluster NFS shared storage, the plurality of cloud main controllers and the plurality of cloud standby controllers have a corresponding deployment relationship, and the cloud main controllers and the plurality of cloud standby controllers are arranged in the cluster NFS shared storage. According to the method, a cluster persistent volume declaration design is formed, a configuration downloading process is generated through a difference item comparison result, such as a version verification result and a file verification result, in a Kubernetes cluster environment of cluster NFS shared storage, configuration data downloading of configuration software to a controller is achieved in a clouded environment, and the configuration data downloading efficiency is improved. Configuration data compiled by the configuration software and data operated by the controller are ensured to be consistent, so that the problems of configuration downloading of the clouded controller, configuration synchronization of the redundant controller and configuration data consistency in a controller migration scene are effectively solved, and the controller is enabled to reliably operate according to set requirements.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of industrial automation, more particularly, to a configuration data processing system and method of cloud controller. BACKGROUND

[0002] In the process industry and discrete industrial automation production process, the control program running in the controller determines the degree of automation and reliability of production.

[0003] The controller configuration data includes control program, function block library and IO configuration, so in the controller startup, configuration download, redundant controller configuration synchronization, controller migration scene, how to ensure the consistency of the controller configuration data determines whether the controller can run reliably according to the set requirements.

[0004] Therefore, how to ensure the consistency of the controller configuration data and make the controller run reliably according to the set requirements is a problem to be solved by the present application. SUMMARY

[0005] Therefore, the present application discloses a configuration data processing system and method of cloud controller, which aims to ensure the consistency of the controller configuration data and make the controller run reliably according to the set requirements.

[0006] In order to achieve the above purpose, the disclosed technical scheme is as follows:

[0007] The first aspect of the present application discloses a configuration data processing system of cloud controller, which comprises a cloud controller, a configuration software and a cluster NFS shared storage; the cloud controller comprises a plurality of cloud master controllers and a plurality of cloud backup controllers;

[0008] The plurality of cloud master controllers and the plurality of cloud backup controllers have a corresponding deployment relationship to form a cluster persistent volume declaration design;

[0009] The cluster NFS shared storage is connected with the plurality of cloud master controllers, the plurality of cloud backup controllers and the configuration software respectively;

[0010] The configuration software writes a control program and performs compilation to generate controller configuration data; stores the controller configuration data into the cluster NFS shared storage; under the Kubernetes cluster environment of the cluster NFS shared storage, sends a configuration update command to a plurality of cloudized main controllers and the plurality of cloudized backup controllers which exist in a corresponding deployment relationship, so that the plurality of cloudized main controllers and the plurality of cloudized backup controllers read the controller configuration data from the cluster NFS shared storage for the latest configuration version operation; compares the controller configuration data of the latest configuration version with the configuration data compiled by the configuration software, and generates a configuration download process according to the comparison result, so as to ensure the consistency between the configuration data compiled by the configuration software and the data operated by the cloudized controller.

[0011] Preferably, the plurality of cloudized main controllers are each provided with a first directory; the first directory at least includes a first download subdirectory and a first backup subdirectory; the first download subdirectory is used to store the configuration data version to be downloaded generated by the configuration software; and the first backup subdirectory is used to store the configuration data version currently operated by the controller.

[0012] Preferably, the plurality of cloudized backup controllers are each provided with a second directory; the second directory at least includes a second download subdirectory and a second backup subdirectory; the second download subdirectory is used to store the configuration data version to be downloaded generated by the configuration software; and the second backup subdirectory is used to store the configuration data version currently operated by the cloudized controller.

[0013] Preferably, the cluster NFS shared storage at least includes a plurality of minimum deployment units of containerized applications; and the plurality of minimum deployment units of containerized applications are mounted with the same persistent data volume.

[0014] The second aspect of the present application discloses a configuration data processing method of a cloudized controller, which is applicable to the configuration data processing system of the cloudized controller of any one of the first aspect; the system includes a cloudized controller, a configuration software and a cluster NFS shared storage; the cloudized main controller at least includes a plurality of cloudized main controllers and a plurality of cloudized backup controllers; the plurality of cloudized main controllers and the plurality of cloudized backup controllers exist in a corresponding deployment relationship to form a cluster persistent volume declaration design; and the method includes:

[0015] The controller configuration data is obtained by writing a control program and performing compilation by the configuration software;

[0016] The controller configuration data is stored into the cluster NFS shared storage by the configuration software;

[0017] In the Kubernetes cluster environment with cluster NFS shared storage, the configuration software sends a configuration update command to a plurality of cloudized master controllers and a plurality of cloudized backup controllers corresponding to a plurality of deployment relationships;

[0018] The plurality of cloudized master controllers and the plurality of cloudized backup controllers read the controller configuration data from the cluster NFS shared storage to run the latest configuration version;

[0019] The configuration software compares the controller configuration data of the latest configuration version with the configuration data compiled by the configuration software, and generates a configuration download process according to the comparison result to ensure consistency between the configuration data compiled by the configuration software and the data running on the cloudized controller.

[0020] Preferably, the configuration software writes a control program and performs compilation to obtain the controller configuration data, comprising:

[0021] The configuration software writes a control program using the configuration software and a preset programming language;

[0022] The configuration software compiles the control program into a controller execution program using the configuration software and executes the controller execution program to obtain the controller configuration data; wherein the controller configuration data at least includes a configuration file, an ELF format file of the control program and an ELF format file of the function block library.

[0023] Preferably, the configuration software compares the controller configuration data of the latest configuration version with the configuration data compiled by the configuration software, comprising:

[0024] When the controller configuration data is obtained, a file list corresponding to the controller configuration data of the latest configuration version is generated; the file list at least includes all file names and respective signatures required by the controller;

[0025] When receiving a unique identifier update request of the configuration version compiled by the configuration software, the configuration software compares the configuration file universal unique identifier in the file list with the unique identifier in the update request;

[0026] When receiving an actual file signature of the configuration version compiled by the configuration software, all signatures in the file list are compared with the actual file signature respectively.

[0027] Preferably, it further comprises:

[0028] If the configuration file universal unique identifier is inconsistent with the unique identifier in the update request, the update operation is prohibited;

[0029] If the profile universal unique identifier is consistent with the unique identifier in the update request, the update operation is performed.

[0030] Preferably, further comprising:

[0031] If any signature in the file list is inconsistent with the actual file signature, the update operation is prohibited from being performed.

[0032] If all signatures in the file list are consistent with the actual file signature, the update operation is performed.

[0033] Preferably, further comprising:

[0034] Binding a first CPU when deploying the cloudification controller, and using a second CPU when synchronizing the cluster NFS shared storage; wherein the first CPU is a CPU of the cloudification controller; and the second CPU is a CPU other than the controller.

[0035] According to the technical solution, the application discloses a configuration data processing system and method of a cloudification controller. The system comprises a plurality of cloudification master controllers, a plurality of cloudification backup controllers, configuration software, and cluster NFS shared storage. The plurality of cloudification master controllers and the plurality of cloudification backup controllers have a corresponding deployment relationship to form a cluster persistent volume declaration design. The cluster NFS shared storage is connected to the plurality of cloudification master controllers, the plurality of cloudification backup controllers, and the configuration software. The configuration software writes a control program and performs compilation to generate controller configuration data, which is stored in the cluster NFS shared storage. In a Kubernetes cluster environment of the cluster NFS shared storage, a configuration update command is sent to the plurality of cloudification master controllers and the plurality of cloudification backup controllers having the corresponding deployment relationship. The plurality of cloudification master controllers and the plurality of cloudification backup controllers read the controller configuration data from the cluster NFS shared storage for the latest configuration version operation. The controller configuration data of the latest configuration version is compared with the configuration data compiled by the configuration software to generate a configuration download process according to the comparison result, so as to ensure the consistency between the configuration data compiled by the configuration software and the data operated by the controller.

[0036] The application has the following beneficial effects: in a Kubernetes cluster environment of the cluster NFS shared storage, a configuration download process is generated through the comparison result, such as a version verification result and a file verification result. The configuration software downloads the configuration data of the controller in a cloudification environment to ensure the consistency between the configuration data compiled by the configuration software and the data operated by the controller, thereby effectively solving the configuration download of the cloudification controller, the configuration synchronization of the redundant controller, and the configuration data consistency problem in the controller migration scenario, and enabling the controller to reliably operate according to the set requirements. BRIEF DESCRIPTION OF DRAWINGS

[0037] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced. Obviously, the accompanying drawings in the following description only represent some embodiments of the present application, and for those skilled in the art, other drawings can be obtained without creative effort based on the provided drawings.

[0038] Figure 1 A hierarchical architecture diagram of a configuration data processing system of a cloud controller disclosed in the embodiments of the present application;

[0039] Figure 2 A structural schematic diagram of a configuration data processing system of a cloud controller disclosed in the embodiments of the present application;

[0040] Figure 3 A PVC design schematic diagram disclosed in the embodiments of the present application;

[0041] Figure 4 A schematic diagram of component interaction disclosed in the embodiments of the present application;

[0042] Figure 5 A configuration download timing diagram disclosed in the embodiments of the present application;

[0043] Figure 6 A flowchart of a configuration data processing method of a cloud controller disclosed in the embodiments of the present application;

[0044] Figure 7 A structural schematic diagram of an electronic device disclosed in the embodiments of the present application. DETAILED DESCRIPTION

[0045] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative effort belong to the scope of protection of the present application.

[0046] In the present application, the term “comprising”, “containing” or any other variant thereof is intended to cover non-exclusive containing, so that the process, method, article or device including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. Without more limitations, the element defined by the sentence “including a…” does not exclude the presence of other identical elements in the process, method, article or device including the element.

[0047] As can be known from the background art, the controller configuration data includes a control program, a function block library and an IO configuration, and therefore, in the controller startup, configuration download, redundant controller configuration synchronization and controller migration scenarios, how to ensure the consistency of the controller configuration data determines whether the controller can reliably operate according to the set requirements.

[0048] To solve the above problems, the application discloses a configuration data processing system and method of a cloudified controller. In a Kubernetes cluster environment of a cluster NFS shared storage, a configuration download process is generated through a difference item comparison result, such as a version check result and a file check result, to realize configuration data download of a configuration software to a controller in a cloudified environment, so as to ensure the consistency between the configuration data compiled by the configuration software and the data operated by the controller, thereby effectively solving the configuration data consistency problems in the configuration download, redundant controller configuration synchronization and controller migration scenarios of the cloudified controller, and enabling the controller to reliably operate according to the set requirements. The specific implementation manner is specifically described in the following embodiments.

[0049] It should be noted that the configuration data processing system and method of the cloudified controller provided by the application can be used in the technical field of industrial automation, configuration download of a cloudified controller based on NFS shared storage, redundant controller configuration synchronization, controller migration scenarios and configuration data consistency, and the above is only an example and does not limit the application field of the configuration data processing system and method of the cloudified controller provided by the application.

[0050] The related terms of the application are explained as follows:

[0051] Container orchestration platform (Kubernetes, K8s): an open source container orchestration platform for automatically deploying, expanding and managing containerized applications. K8s simplifies the management of containers by providing service discovery, load balancing, rolling updates, automatic fault recovery and other functions.

[0052] Persistent volume (PV): an abstraction of the underlying shared storage, which defines the shared storage as a resource. It belongs to the cluster level resource and does not belong to any Namespace. Users need to apply for PV through PVC. PV is created and configured by administrators, and it is related to the implementation of the specific underlying shared storage technology, such as Ceph, GlusterFS, NFS, etc. The connection with the shared storage is completed through the plug-in mechanism, and the PV configurable parameters are also different according to different storage.

[0053] Persistent Volume Claim (PVC): A claim for user storage, similar to an application for storage resources, which belongs to the resources in a Namespace and can be used to apply for storage resources from PV. In a cluster composed of multiple servers, no matter which server the business runs on, consistent data disks can be seen. This data disk is a consistent physical disk for the entire cluster. Businesses can be migrated across multiple servers, but consistent disk data content will be seen.

[0054] NFS Shared Storeage: A shared storage solution implemented through the Network FileSystem (NFS), which allows multiple devices within a local area network to directly access the same storage resource. Multiple PODs mount the same PV and achieve file synchronization by sharing the same underlying file system.

[0055] POD: The smallest deployable computing unit in a Kubernetes cluster, consisting of one or more containers, sharing storage, network, and runtime environment.

[0056] Cloud Controller: A function similar to a hardware controller, but deployed in a way that is independent of dedicated hardware and uses general-purpose PC servers.

[0057] Function Block Diagram (FBD): A graphical programming language that complies with the IEC61131-3 standard, which describes control logic by connecting various function blocks (such as logical operations, comparisons, mathematical operations, etc.). It is one of the most important control strategy programming languages in the industrial control field.

[0058] IEC61131-3 Standard: The third part of the international electrotechnical commission (IEC) standard for industrial automation and control systems, specifically targeting the standardization of programmable logic controller (PLC) programming languages. This standard defines five programming languages: Ladder Diagram (LD), Function Block Diagram (FBD), Sequential Function Chart (SFC), Structured Text (ST), and Instruction List (IL).

[0059] Docker: A container engine that is an open-source platform for developing, delivering, and running applications. Docker can run on Windows, macOS, Linux, and other systems, and packages an application and its dependencies into a container that can run on any Docker-enabled environment. Containers are isolated from each other but can communicate with each other through specific channels.

[0060] The application is suitable for K8s cluster environment supporting NFS shared storage, and is particularly suitable for the scenario of controller downloading configuration data by configuration software. After the docker image of the controller software is deployed to the cluster environment, the K8s cluster will start by POD, which is called controller or controller instance at this time.

[0061] Bind the first CPU when deploying the cloudified controller, and use the second CPU when synchronizing the cluster NFS shared storage; wherein the first CPU is the CPU of the cloudified controller; the second CPU is the CPU of the non-controller. Bind the first CPU when deploying the cloudified controller POD, so that the non-controller CPU is used when synchronizing the NFS shared storage, which greatly reduces the CPU and thread switching in the controller, effectively improving the real-time performance of the controller.

[0062] The K8s cluster environment and docker are deployed in the platform layer of the hierarchical architecture of the configuration data processing of the cloudified controller. The specific hierarchical architecture of the configuration data processing of the cloudified controller is shown in Figure 1 .

[0063] Figure 1 The hierarchical architecture of the configuration data processing of the cloudified controller includes an application layer, a platform layer, a system layer, and a hardware layer.

[0064] The application layer includes at least configuration software, monitoring software, controller software, etc.; the platform layer includes at least K8s and docker; the system layer includes at least Linux and real-time patches; and the hardware layer can be the hardware layer of a virtualized IT environment.

[0065] Referring to Figure 2 , a structure diagram of a cloudified controller configuration data processing system disclosed by the embodiment of the application is shown. The cloudified controller configuration data processing system includes multiple cloudified master controllers, multiple cloudified backup controllers, configuration software, and cluster NFS shared storage. The multiple cloudified master controllers and the multiple cloudified backup controllers have a corresponding deployment relationship to form a cluster PVC design. The specific cluster PVC design is shown in Figure 3 .

[0066] Figure 3 In the cluster PVC design, the cluster NFS shared storage is connected to the multiple cloudified master controllers, the multiple cloudified backup controllers, and the configuration software, respectively.

[0067] Figure 3 In the process of deploying the configuration software docker image, the cluster NFS shared storage creates the PVC of ice-public-data through a script, and each controller has a directory, such as the. / ice1 directory, which is divided into two subdirectories, a download subdirectory (download) and a backup subdirectory (backup). The download subdirectory saves the configuration data version to be downloaded generated by the configuration software, and the backup subdirectory saves the current running configuration data version of the controller. When deploying the controller docker image, if the controller name is ice1, the cluster creates the PVC of ice1-config-data through a script, and the PVC has only one directory, that is, the. / config directory, which is used to save the configuration data version to be loaded by the controller.

[0068] The design of the two sets of PVCs of ice-public-data and icen-config-data is used to decouple the configuration software and the controller role, so as to prevent the modification of the configuration software from affecting the normal operation of the controller.

[0069] The functions of each component of the configuration data processing system of the cloudified controller are as follows:

[0070] Cloudified master controller:

[0071] The cloudified master controller is provided with a first directory (such as ice1-config-data); the first directory includes at least a first download subdirectory (download) and a first backup subdirectory (backup); the first download subdirectory is used to store the configuration data version to be downloaded generated by the configuration software; and the first backup subdirectory is used to store the current running configuration data version of the controller.

[0072] The first directory is the instance name of the cloudified master controller.

[0073] Cloudified backup controller:

[0074] The cloudified backup controller is provided with a second directory; the second directory includes at least a second download subdirectory and a second backup subdirectory; the second download subdirectory is used to store the configuration data version to be downloaded generated by the configuration software; and the second backup subdirectory is used to store the current running configuration data version of the cloudified controller.

[0075] The second directory is the instance name of the cloudified backup controller.

[0076] The cluster NFS shared storage comprises at least a plurality of PODs of containerized applications; the plurality of PODs of containerized applications are mounted with a same persistent data volume (PV).

[0077] The configuration software comprises:

[0078] The data processing process between the configuration software and the cluster NFS shared storage, the plurality of cloudized master controllers and the plurality of cloudized backup controllers is as follows:

[0079] The configuration software writes a control program and performs compilation to generate controller configuration data;

[0080] The configuration software stores the controller configuration data into the cluster NFS shared storage;

[0081] In the Kubernetes cluster environment of the cluster NFS shared storage, the configuration software sends a configuration update command to the plurality of cloudized master controllers and the plurality of cloudized backup controllers which have a corresponding deployment relationship, so that the plurality of cloudized master controllers and the plurality of cloudized backup controllers read the controller configuration data from the cluster NFS shared storage for the latest configuration version operation;

[0082] The configuration software compares the controller configuration data of the latest configuration version with the configuration data compiled by the configuration software, generates a configuration download process according to the comparison result, and ensures the consistency between the configuration data compiled by the configuration software and the data operated by the cloudized controller. The data processing process of the configuration software is shown in Figure 4 Figure 4 The schematic diagram of component interaction is shown.

[0083] Figure 4 In the configuration software, the configuration software supports the writing of ICE61131-3 control programs, including but not limited to the function blocks written in high-level languages such as LD, FBD, SFC, ST, C++, python, etc. After the configuration software writes the control program and completes the compilation, the controller configuration data can be generated and archived, and the controller configuration data includes but is not limited to the instrument configuration file, the ELF file of the control program, and the ELF file of the function block library. The configuration software saves the controller configuration data to a pre-set cluster NFS shared storage location; the configuration software notifies the cloudized controller to update the configuration. Since the cloudized controller is deployed in a default 1:1 redundancy, the cloudized master controller and the cloudized backup controller, i.e. the redundant controller, need to be notified at the same time. After receiving the configuration update command, the redundant controller copies and reads the controller configuration data from the pre-set NFS shared storage location, and operates according to the latest configuration version.

[0084] ​It should be noted that the redundant deployment mode of the cloudification controller can also be 2:2, 3:3, and the like, and the redundant deployment mode of the cloudification controller is set according to actual conditions, and the present application is not limited in detail.

[0085] The configuration software modifies the configuration of the controller (ice1) and compiles to generate configuration data of UUID2, which is the unique identifier of the configuration version. The backup in ice-public-data is used to compare the difference items of the configuration data before the configuration software is downloaded with the current running version of the controller, and the user is prompted through the interface. Through the configuration download process, the consistency between the configuration data compiled by the configuration software and the data running by the controller can be effectively ensured. The specific configuration download process is as shown in Figure 5

[0086] Figure 5 Among them, the configuration software is started, and the configuration software modifies the configuration of the controller (ice1);

[0087] The configuration of the controller (ice1) is compiled to generate configuration data of UUID2 and saved to the. / ice1 / download directory under the NFS shared storage PVC: ice-public-data, and configuration update notification UUID2 is initiated respectively, and the configuration update notification UUID2 is sent to the cloudification master controller running UUID1 and the cloudification backup controller running UUID1 respectively; wherein UUID1 is the unique identifier of the current configuration version currently running by the cloudification master controller;

[0088] When the cloudification master controller receives the configuration update notification UUID2, it is updated according to the configuration update notification UUID2; when the cloudification backup controller receives the configuration update notification UUID2, it is updated according to the configuration update notification UUID2, and waits for the cloudification master controller to complete the configuration data copy;

[0089] The cloudification master controller reads the manifest file in the. / ice1 / download directory under the PVC: ice-public-data, and verifies the signature of all files;

[0090] If the verification fails, return to the step of updating according to the configuration update notification UUID2;

[0091] If the verification is successful, the cloudification master controller copies the configuration data of UUID2 to the. / config directory under the PVC: ice-config-data;

[0092] ​When the configuration data copying of UUID2 is completed, the cloud master controller loads the configuration data of UUID2 and runs, and informs the cloud backup controller to load the configuration data of UUID2 and run, when the cloud backup controller updates the configuration data of UUID2, a cloud backup controller update completion notification is generated and sent to the configuration software;

[0093] The cloud master controller copies the configuration data of UUID2 to the. / ice1 / backup directory under the PVC: ice-public-data, and generates a cloud master controller update completion notification, which is sent by the cloud master controller to the configuration software;

[0094] The configuration software prompts the user through the interface with the cloud master controller update completion notification and the cloud backup controller update completion notification.

[0095] It should be noted that when the configuration software compiles the configuration data, a full file list will be generated at the same time, and each controller has a full file list, which contains the names and signatures of all files required by the controller. The signature can be implemented by MD5 or the like.

[0096] After the cloud controller receives the configuration version update request of UUID2, it will first check whether the "cfgUUID" in the list is consistent with UUID2, and if not, it will refuse to update. The cloud controller compares all "sign" signature information in the list with the signature of the actual file, and if any comparison fails, it will refuse to update. This technology can ensure the integrity of the configuration data and has the function of preventing tampering. Due to the mechanism characteristics of NFS shared storage, it will cause file synchronization delay between different server nodes, that is, there will be a delay problem in the final consistency of the file. Generally, the delay is 1-10 seconds. Through the configuration version UUID verification + full file verification + multiple retry strategy, this problem can be effectively solved.

[0097] The code of the full file list is as follows:

[0098] {

[0099] "cfgUUID": "86518572-429a-43ac-8b3e-a3f42172f6b4",

[0100] "files": [

[0101] {

[0102] "name": "program1.json",

[0103] "sign": "F37E9583501560D7B8ABFFB11AC30F30"

[0104] },

[0105] {

[0106] "name": "program2.json",

[0107] "sign": "9C303D0B88BEB3FC30EF2D640EF13491"

[0108] },

[0109] {

[0110] "name": "program3.json",

[0111] "sign": "1C9B27610A9C8614613E3FBE1F760139",

[0112] }, ]

[0114] }。

[0115] For the convenience of understanding the project implementation process of the configuration data processing of the cloud controller of the present scheme, examples are given as follows:

[0116] In the project implementation, first, in response to the user deploying the configuration software and the controller in the K8s cluster, the built-in script automatically completes the creation of the PVC according to the above-mentioned Figure 3 ;

[0117] Then, in response to the engineering personnel / user engineers using the configuration software (supporting FBD, ST, SFC, and LD, four kinds of IEC61131-3 standard languages) to write the control program of the controller;

[0118] Finally, the configuration software needs to compile the control program into a program executable by the controller and then download it to the controller.

[0119] Since the configuration software and the controller are both deployed in the K8s cloud cluster environment, the NFS shared storage technology is introduced, and on the basis of the NFS shared storage technology, the PVC isolation technology (download saves the file set compiled by the configuration software; config saves the file set run after the controller passes the verification; backup saves the file set after the controller has been updated), the controller file set signature verification technology based on PVC, and the configuration file set synchronization update technology of the cloud primary and backup controller are adopted. Through the architecture and technology innovation, a new industrial configuration file set download update scheme is realized, and the scheme supports the migration of the controller between different nodes of the K8s cluster.

[0120] The application can effectively solve the configuration data consistency problem in the configuration download of cloud controller, the configuration synchronization of redundant controller, and the controller migration scenario, by generating a full file list, version checking, and file checking on the K8s cluster supporting NFS shared storage.

[0121] The application is applicable to cloud controllers based on K8s clusters; can greatly simplify the design of self-defined protocol and network communication between configuration software and controllers, and code writing; generates a full file list in NFS shared storage, and performs version checking and file checking by the controller, to realize the configuration data download of the configuration software to the controller in the cloud environment. Meanwhile, the configuration consistency of the controller is supported when the controller is migrated between different nodes of the cluster; the strategy of file checking + multiple retries is used to solve the problem of the final consistency delay of NFS shared storage; the configuration version UUID real-time communication is added between redundant controllers to solve the configuration version difference perception, and the configuration data loading in NFS shared storage is used to solve the configuration consistency of redundant controllers.

[0122] The beneficial effects of the embodiments of the application are as follows: in the Kubernetes cluster environment of cluster NFS shared storage, the configuration download process is generated through the difference item comparison result such as the version checking result and the file checking result, the configuration data download of the configuration software to the controller is realized in the cloud environment, to ensure the consistency between the configuration data compiled by the configuration software and the data running by the controller, thereby effectively solving the configuration data consistency problem in the configuration download of cloud controller, the configuration synchronization of redundant controller, and the controller migration scenario, and enabling the controller to reliably run according to the set requirements.

[0123] Based on the above embodiments Figure 2 The disclosed configuration data processing system of cloud controller, the embodiments of the application also correspondingly disclose a flowchart of a configuration data processing method of cloud controller, as shown in Figure 6 The configuration data processing method of cloud controller is applicable to the above-mentioned configuration data processing system of cloud controller, and the configuration data processing system of cloud controller includes cloud controller, configuration software, and cluster NFS shared storage; the cloud master controller includes at least a plurality of cloud master controllers and a plurality of cloud backup controllers; the plurality of cloud master controllers and the plurality of cloud backup controllers have a corresponding deployment relationship, to form a cluster persistent volume claim design. The configuration data processing method of cloud controller mainly includes the following steps:

[0124] S601: A control program is written by the configuration software and is compiled to obtain controller configuration data.

[0125] In S601, a control program is written by using a configuration software and a preset programming language through the configuration software, the control program is programmed and compiled into a controller execution program by using the configuration software through the configuration software, and the controller configuration data is obtained by executing the controller execution program.

[0126] The controller configuration data at least includes a configuration file, an ELF format file of the control program, and an ELF format file of a function block library.

[0127] S602: The controller configuration data is stored into the cluster NFS shared storage by using the configuration software.

[0128] S603: The configuration update command is sent to the plurality of clouded main controllers and the plurality of clouded backup controllers existing in the corresponding deployment relationship by using the configuration software under the Kubernetes cluster environment of the cluster NFS shared storage.

[0129] S604: The controller configuration data is read from the cluster NFS shared storage by using the plurality of clouded main controllers and the plurality of clouded backup controllers to run the latest configuration version.

[0130] S605: The controller configuration data of the latest configuration version and the configuration data compiled by the configuration software are compared by using the configuration software, and the configuration download process is generated according to the comparison result to ensure the consistency between the configuration data compiled by the configuration software and the data running by the clouded controller.

[0131] The process of comparing the controller configuration data of the latest configuration version and the configuration data compiled by the configuration software by using the configuration software is shown as A1-A3.

[0132] A1: When the controller configuration data is obtained, a file list corresponding to the controller configuration data of the latest configuration version is generated; the file list at least includes all file names and signatures required by the controller.

[0133] A2: When the unique identifier (UUID2) update request of the configuration version compiled by the configuration software (the configuration data compiled by the configuration software) is received, the configuration file universal unique identifier (cfg UUID) in the file list is compared with the unique identifier (UUID2) in the update request by using the configuration software.

[0134] A3: When the actual file signature of the configuration version compiled by the configuration software is received, all signatures in the file list are compared with the actual file signature respectively.

[0135] If the configuration file universal unique identifier (cfg UUID) is inconsistent with the unique identifier (UUID2) in the update request, the update operation is prohibited.

[0136] If the configuration file universally unique identifier (cfg UUID) is consistent with the unique identifier (UUID2) in the update request, the update operation is performed.

[0137] If any signature in the file list is inconsistent with the actual file signature, the update operation is prohibited.

[0138] If all signatures in the file list are consistent with the actual file signature, the update operation is performed.

[0139] Bind the first CPU when deploying the cloudified controller, and use the second CPU when synchronizing the cluster NFS shared storage; wherein the first CPU is the CPU of the cloudified controller; and the second CPU is a non-controller CPU.

[0140] Bind the first CPU when deploying the cloudified controller POD, and use the non-controller CPU when synchronizing the NFS shared storage, which greatly reduces the CPU and thread switching in the controller and effectively improves the real-time performance of the controller.

[0141] The embodiment of the application has the following beneficial effects: in the Kubernetes cluster environment of the cluster NFS shared storage, the configuration download process is generated through the difference comparison result, such as the version check result and the file check result, and the configuration data of the controller is downloaded in the cloudification environment, so as to ensure the consistency between the configuration data compiled by the configuration software and the data running by the controller, thereby effectively solving the configuration download of the cloudified controller, the configuration synchronization of the redundant controller, and the consistency problem of the configuration data in the controller migration scenario, and enabling the controller to reliably operate according to the set requirements.

[0142] The embodiment of the application also provides a storage medium, which comprises stored instructions, wherein when the instructions are executed, the device where the storage medium is located performs the configuration data processing method of the cloudified controller.

[0143] The embodiment of the application also provides an electronic device, and a structural schematic diagram thereof is shown in Figure 7 The electronic device specifically comprises a memory 701, and one or more instructions 702, wherein the one or more instructions 702 are stored in the memory 701 and are configured to be executed by one or more processors 703 to execute the configuration data processing method of the cloudified controller.

[0144] For simple description, each of the foregoing method embodiments is described as a combination of a series of actions, but those skilled in the art shall understand that the present application is not limited to the action sequence described, because according to the present application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art shall understand that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present application.

[0145] It should be noted that each of the embodiments in the specification is described in a progressive manner, and each embodiment focuses on the difference from other embodiments. The same and similar parts between the embodiments can be referred to each other. For the device embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the part of the method embodiments.

[0146] The steps in the method of each embodiment of the present application can be adjusted in sequence, combined and reduced according to actual needs.

[0147] Finally, it should be noted that in this paper, relationship terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or sequence between the entities or operations.

[0148] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to the embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the scope of the present application. Therefore, the present application shall not be limited to the embodiments shown herein, but shall conform to the widest scope consistent with the principles and novel features disclosed herein.

[0149] The above is only the preferred embodiment of the present application. It should be noted that for those skilled in the art, several improvements and refinements can be made without departing from the principles of the present application, and these improvements and refinements shall be considered as the protection scope of the present application.

Claims

1. A configuration data processing system of a clouded controller, characterized by, The system comprises a cloudification controller, configuration software and cluster NFS shared storage; the cloudification master controller comprises at least a plurality of cloudification master controllers and a plurality of cloudification backup controllers; The plurality of cloudification master controllers and the plurality of cloudification backup controllers have a corresponding deployment relationship to form a cluster persistent volume claim design; The cluster NFS shared storage is connected to the plurality of cloudification master controllers, the plurality of cloudification backup controllers and the configuration software respectively; The configuration software writes a control program and performs compilation to generate controller configuration data; the controller configuration data is stored in the cluster NFS shared storage; in the Kubernetes cluster environment of the cluster NFS shared storage, a configuration update command is sent to the plurality of cloudification master controllers and the plurality of cloudification backup controllers having a corresponding deployment relationship, so that the plurality of cloudification master controllers and the plurality of cloudification backup controllers read the controller configuration data from the cluster NFS shared storage to run the latest configuration version; the controller configuration data of the latest configuration version and the configuration data compiled by the configuration software are compared for differences, and a configuration download process is generated according to the difference comparison result to ensure consistency between the configuration data compiled by the configuration software and the data running in the cloudification controller.

2. The system of claim 1, wherein, The plurality of cloudification master controllers are each provided with a first directory; the first directory comprises at least a first download subdirectory and a first backup subdirectory; the first download subdirectory is used to store the configuration data version to be downloaded generated by the configuration software; and the first backup subdirectory is used to store the configuration data version currently running in the controller.

3. The system of claim 1, wherein, The plurality of cloudification backup controllers are each provided with a second directory; the second directory comprises at least a second download subdirectory and a second backup subdirectory; the second download subdirectory is used to store the configuration data version to be downloaded generated by the configuration software; and the second backup subdirectory is used to store the configuration data version currently running in the cloudification controller.

4. The system of claim 1, wherein, The cluster NFS shared storage comprises at least a plurality of minimum deployment units of containerized applications; the plurality of minimum deployment units of containerized applications are mounted to the same persistent data volume.

5. A configuration data processing method of a clouded controller, characterized by, The method is applicable to the configuration data processing system of the cloudification controller as claimed in any one of claims 1 to 4, the system comprising a cloudification controller, configuration software and cluster NFS shared storage; the cloudification master controller comprises at least a plurality of cloudification master controllers and a plurality of cloudification backup controllers; The plurality of cloudification master controllers and the plurality of cloudification backup controllers have a corresponding deployment relationship to form a cluster persistent volume claim design, and the method comprises: The configuration software writes a control program and performs compilation to obtain controller configuration data; The configuration software stores the controller configuration data in the cluster NFS shared storage; In the Kubernetes cluster environment of the cluster NFS shared storage, the configuration software sends a configuration update command to the plurality of cloudification master controllers and the plurality of cloudification backup controllers having a corresponding deployment relationship; The multiple clouded master controllers and the multiple clouded backup controllers read the controller configuration data from the cluster NFS shared storage to run the latest configuration version; The configuration software compares the controller configuration data of the latest configuration version with the configuration data compiled by the configuration software, and generates a configuration download process according to the comparison result, so as to ensure the consistency between the configuration data compiled by the configuration software and the data running by the clouded controller.

6. The method of claim 5, wherein, The controller configuration data is obtained by compiling the control program written by the configuration software, and the method comprises the following steps: The control program is written by the configuration software using the configuration software and a preset programming language; The control program is compiled into a controller execution program by the configuration software, and the controller configuration data is obtained by executing the controller execution program; wherein the controller configuration data at least includes a configuration file, an ELF format file of the control program and an ELF format file of the function block library.

7. The method of claim 5, wherein, The controller configuration data of the latest configuration version is compared with the configuration data compiled by the configuration software, and the method comprises the following steps: When the controller configuration data is obtained, a file list corresponding to the controller configuration data of the latest configuration version is generated; the file list at least includes all file names required by the controller and respective signatures; When receiving a unique identifier update request of the configuration version compiled by the configuration software, the configuration file universal unique identifier in the file list is compared with the unique identifier in the update request by the configuration software; When receiving the actual file signature of the configuration version compiled by the configuration software, all signatures in the file list are compared with the actual file signature respectively.

8. The method of claim 7, wherein, Further comprising: If the configuration file universal unique identifier is inconsistent with the unique identifier in the update request, the update operation is prohibited; If the configuration file universal unique identifier is consistent with the unique identifier in the update request, the update operation is executed.

9. The method of claim 7, wherein, Further comprising: If any signature in the file list is inconsistent with the actual file signature, the update operation is prohibited; If all signatures in the file list are consistent with the actual file signature, the update operation is executed.

10. The method of claim 5, wherein, Further comprising: The first CPU is bound when the clouded controller is deployed, and the second CPU is used when the cluster NFS shared storage is synchronized; wherein the first CPU is the CPU of the clouded controller; The second CPU is a non-controller CPU.