Containerized EPICS system deployment method, system, device and product

Through the containerization strategy, the deployment process of the EPICS system is simplified, the problems of complex deployment and low efficiency in existing technologies are solved, and efficient and reliable configuration and resource management of the EPICS system are achieved.

CN120653366APending Publication Date: 2025-09-16SHANGHAI AIPUQIANG PARTICLE EQUIP
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510746248.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-05
Publication Date
2025-09-16

AI Technical Summary

Technical Problem

The existing EPICS system deployment has problems such as complex environment configuration, difficult migration, low deployment efficiency and high resource usage, which makes it difficult to meet the EPICS requirements for lightweight and high real-time performance.

Method used

Adopting a containerization strategy, by establishing a basic container on the container host, pulling the basic operating system image, configuring the EPICS system operating environment, creating an input and output controller instance, and generating the EPICS system operating package, one-click deployment is achieved.

Benefits of technology

It simplifies the EPICS system deployment process, improves deployment convenience and efficiency, realizes efficient and reliable configuration of the EPICS system, and avoids resource competition affecting system performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120653366A_ABST
    Figure CN120653366A_ABST
Patent Text Reader

Abstract

The invention discloses a containerized EPICS system deployment method, system, device and product. The method comprises the following steps: S100, establishing an operating system configuration mirror image based on a basic operating system; s200, constructing an EPICS system running environment in the operating system configuration mirror image, running an EPICS system, creating an IOC instance, performing system resource allocation setting on the IOC instance through a container, exiting the container, and generating an EPICS system running package; s300, in the host machine, an operating system configuration mirror image is pulled, an EPICS system running package is imported into a container, an IOC instance is run to monitor and control hardware of the host machine, and the host machine monitors and limits system resource conditions of the IOC instance in real time; and S400, according to the actual operation state of the host machine, updating the configuration parameters of the IOC instance on the host machine. According to the invention, the deployment process of the EPICS system can be simplified, and efficient and rapid clustering deployment of the EPICS system is provided.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a containerized EPICS system deployment method, system, device, and product. Background Art

[0002] EPICS (Experimental Physics and Industrial Control System) is an open-source distributed control system framework designed for large-scale scientific experiments and industrial automation systems. Its core function is to enable real-time monitoring and control of complex equipment through distributed input / output controllers (IOCs) and operator interfaces (OPIs). It has widespread application in nuclear power plants, particle accelerators, semiconductor manufacturing, power systems, medical equipment, and other fields.

[0003] Currently, there are the following problems with EPICS deployment: 1. Complex environment configuration: Before deploying EPICS, you must first configure the EPICS environment. This includes installing dependency libraries, compiling core components, and setting multipath environment variables. Differences in dependency versions between different operating systems can easily lead to compilation failures.

[0004] 2. Difficulty in porting: The developed IOC and OPI require reconfiguration of the database, dependent libraries, and network parameters on the target machine. During porting, the hardware driver and operating system environment must be adapted item by item, which is time-consuming and prone to errors.

[0005] 3. Inefficient deployment: Manual deployment requires executing commands such as make install and dbLoadRecords, lacks standardized processes, and makes it difficult to implement batch deployment on multiple nodes.

[0006] Although using virtual machines (VMs) to deploy EPICS can encapsulate the environment, due to the need for a complete OS image, there are problems such as high resource usage and slow startup, which cannot meet EPICS's requirements for lightweight and high real-time performance. Summary of the Invention

[0007] The purpose of this application is to overcome the shortcomings of the existing technology and provide a containerized EPICS system deployment method, system, device and product that can simplify the EPICS system deployment process and provide efficient and rapid clustered deployment of the EPICS system.

[0008] In a first aspect, the present application provides a containerized EPICS system deployment method, the technical solution adopted includes the following steps: S100: Create a basic container on the container host, pull the basic operating system into the basic container, exit the basic container, and submit the basic container as an operating system configuration image; S200, calling an operating system configuration image in a container host, configuring an EPICS system operating environment in a base operating system, running the EPICS system, creating at least one input / output controller instance in the EPICS system, and setting system resource allocation for the input / output controller instance through a container, packaging the EPICS system configuration and the input / output controller configuration to generate an EPICS system operating package; S300: In the host machine, pull the operating system configuration image, import the EPICS system runtime package into the container, run the EPICS system in the operating system configuration image, call the input / output controller configuration, start the input / output controller instance to monitor and control the host machine's hardware, and the host machine monitors the system resource usage of the input / output controller instance in real time and limits the system resources used by the input / output controller instance according to the system resource allocation settings. S400 , updating the configuration parameters of the input / output controller instance on the host machine according to the actual operating state of the host machine.

[0009] By adopting the above technical solution, a layered containerization strategy is adopted based on the containerized system deployment solution. First, the basic operating system is encapsulated to ensure the uniformity of various development and production environments. Then, the operating environment configuration of the EPICS system is configured on the basis of the standard operating system, and an IOC instance is established, which is encapsulated as an EPICS system operating package for deployment, thereby achieving efficient and reliable configuration of the EPICS system for the host machine, improving the convenience and efficiency of deployment. Any host machine can call the IOC instance by calling the EPICS system operating package under the premise of ensuring the basic operating system operating environment. At the same time, this application limits the resource usage of the IOC instance on the host machine, which can prevent the IOC instance from occupying too many system resources and causing system performance degradation, thereby ensuring system stability and performance.

[0010] Preferably, in S200, when creating an input / output controller instance, the sensitive configuration file of the input / output controller instance is encrypted and saved.

[0011] Preferably, in S300, a secret key is obtained according to the host machine's authority, and the sensitive configuration file of the input and output controller instance is decrypted and then called.

[0012] IOCs typically involve sensitive data such as hardware control parameters, database passwords, and API keys. By adopting the above technical solution, sensitive information during IOC instance operation can be prevented from being exposed in plaintext in the container image or host storage, preventing information leakage or attacks and improving the security and reliability of the system.

[0013] Preferably, in S200, a plurality of input / output controller instances are created in the EPICS system, and the sum of system resource allocation settings of each input / output controller instance is less than the upper limit of the system resources that can be allocated to the target host.

[0014] By adopting the above technical solution, CPU / memory isolation is achieved between IOC instance processes, avoiding resource competition between different IOC instances on the host machine that affects system efficiency and even causes system deadlock, triggering cascading failures and crashes.

[0015] Preferably, in S300, the key data generated when the input / output controller instance is running is stored locally on the host machine or in the cloud.

[0016] Through the above technical solution, the key data generated during the operation of the IOC instance is persistently stored to prevent the loss of key data due to the persistence of the container itself, and to achieve data scheduling and sharing.

[0017] Preferably, in S400, the updates to the configuration parameters of the input / output controller instance are divided into exclusive updates and general updates. The configuration parameters of the exclusively updated input / output controller instance are stored locally on the host machine, and when the input / output controller instance is called, the configuration parameters of the exclusively updated input / output controller instance are called first; the generally updated input / output controller instance is submitted as an updated version of the EPICS system operation package, and a version number is added to the EPICS system operation package, and the updated version of the EPICS system operation package is uploaded to the cloud storage for download by other host machines.

[0018] Through the above technical solution, the host machine can locally adjust the deployment of the IOC instance according to the actual system operation status observed on site, adjust the configuration parameters accordingly, and store them locally, so that when the local IOC instance is applied, the adaptively modified parameters are preferentially called. If the adjustment of the configuration parameters is universal, the updated IOC instance is submitted as an updated EPICS system operation package and saved in the cloud, so that other hosts can directly obtain the updated EPICS system operation package, without having to update and adjust the configuration of the EPICS system operation package through the container host and then promote and transplant it. It is suitable for cluster configuration scenarios and can easily achieve capacity expansion.

[0019] Preferably, the general update is divided into insensitive updates and sensitive updates. The EPICS system operation package of the insensitive update is directly uploaded to the cloud storage; the EPICS system operation package of the sensitive update is uploaded to the cloud storage through encryption. After the host machine downloads the updated version of the EPICS system operation package, it obtains the secret key according to the host machine's permissions, decrypts the updated version of the input and output controller configuration, and then calls it.

[0020] Through the above technical solution, the updated EPICS system operation package configuration parameters uploaded to the cloud storage are classified according to whether they are sensitive or not. The updated non-sensitive configuration parameters are open for use, while the updated sensitive configuration parameters are encrypted for upload and decrypted for use. This ensures the confidentiality of specific IOC configurations and the security of the system, making it possible to achieve efficient deployment of EPICS clusters while meeting the configuration confidentiality requirements of scientific research and industrial control fields.

[0021] In a second aspect, the present application provides a containerized EPICS system deployment system, which adopts the following technical solutions: The container host includes an operating system configuration module and an input / output controller configuration module. The operating system configuration module configures the operating system environment for the EPICS system, pulls the basic operating system, and creates an operating system configuration image. The input / output controller configuration module configures the operating environment of the EPICS system in the operating system configuration image, opens the EPICS system, creates an input / output controller instance in it, and then packages it into an EPICS system operating package. The operating system configuration module and the EPICS system operating package are copied to the host machine respectively, or uploaded to the cloud storage module for downloading by the host machine. After the host machine pulls the operating system configuration image and calls the EPICS system operation package, it starts the input and output controller instance to monitor and control the host machine's hardware. The key data generated during the operation of the input and output controller instance is saved to the host machine's local or cloud storage module; the host machine updates the configuration parameters of the input and output controller instance according to the actual operation status, and submits it as an updated version of the EPICS system operation package, and uploads the updated version of the EPICS system operation package to the cloud storage module for download by other hosts.

[0022] In a third aspect, the present application provides a computer device including a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above-mentioned containerized EPICS system deployment method when executing the computer program.

[0023] In a fourth aspect, the present application provides a computer program product, which includes a computer program or instructions, so that the computer program or instructions can implement the steps of the above-mentioned containerized EPICS system deployment method.

[0024] In summary, this application includes at least one of the following beneficial technical effects: 1. This application defines the basic operating system and EPICS operating environment through containers, which can eliminate the differences between development, testing, and production environments. Through layered container design logic, the operating system configuration image is isolated from the EPICS system and IOC instance, ensuring that the layers do not affect each other.

[0025] 2. This application supports one-click deployment of EPICS core components and IOC instances by calling the EPICS system runtime package, which simplifies the deployment process and enables container image startup in seconds. It is suitable for cluster deployment application scenarios that pursue efficient deployment.

[0026] 3. This application implements resource allocation for the host machine through the container's resource restriction of the IOC instance, ensuring the reliable operation of the container on the host machine, and no resource competition occurs between multiple IOC instances to affect system efficiency.

[0027] 4. This application uses an encrypted method to encapsulate, modify, and upload sensitive configuration files of IOC instances, ensuring that only authorized hosts can obtain the secret key to decrypt and call the IOC configuration, meeting the confidentiality requirements for IOC configuration in some scientific research and industrial control fields.

[0028] 5. This application adjusts the IOC configuration directly on the host machine, enabling it to adapt and adjust the IOC configuration based on the locally observed operating status, improving the timeliness and accuracy of the adjustment. For universal configuration parameter adjustments, the EPICS system operation package can be directly uploaded to the cloud, and the expanded host machine can download it directly through the cloud without the intervention of the container host, realizing clustered cloud deployment and improving deployment efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 A flowchart of a containerized EPICS system deployment method in an embodiment of the present application; Figure 2 This is a structural diagram of a containerized EPICS system deployment system in an embodiment of the present application; Figure 3 A schematic diagram of deploying computer devices in a containerized EPICS system according to an embodiment of the present application. DETAILED DESCRIPTION

[0030] This specific embodiment is merely an explanation of the present application and is not a limitation of the present application. After reading this specification, those skilled in the art may make non-creative modifications to the present embodiment as needed, but as long as they are within the scope of the present application, they are protected by patent law.

[0031] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application. It should be noted that in the optional embodiments of the present application, when the embodiments in the present application are applied to specific products or technologies, the object information and other related data involved need to obtain the object's permission or consent, and the collection, use and processing of the relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions. In other words, if the embodiments of the present application involve data related to the object, it needs to be obtained through the authorization and consent of the object, the authorization and consent of the relevant departments, and in compliance with the relevant laws, regulations and standards of the country and region. If personal information is involved in the embodiments, the acquisition of all personal information requires the consent of the individual. If sensitive information is involved, the separate consent of the information subject needs to be obtained. The embodiments also need to be implemented with the authorization and consent of the object.

[0032] The embodiments of the present application are described in further detail below with reference to the accompanying drawings.

[0033] In one embodiment, see Figure 1 , a containerized EPICS system deployment method of the present application includes the following steps: S100, install the Docker engine on the container host, create a basic container through the Docker engine, pull the basic operating system into the basic container, exit the basic container, and submit the basic container as an operating system configuration image.

[0034] In this step, the EPICS basic operating system environment is defined using a Dockerfile. The operating system is based on the Linux kernel, preferably one that offers long-term stability, security enhancements, and a balance between development flexibility and efficiency. In this embodiment, CentOS or Ubuntu is used.

[0035] S200: Invoke the operating system configuration image in the container host, configure the EPICS system operating environment in the base operating system, run the EPICS system, create at least one input / output controller instance (IOC instance) in the EPICS system, allocate system resources to any IOC instance through the container, package the EPICS system configuration and the IOC configuration, and generate an EPICS system operating package.

[0036] In this step, the definition of the EPICS system operating environment is implemented. Specifically, it includes installing the EPICS system dependency library, obtaining the EPICS BASE source code, and configuring the EPICS BASE system environment variables. This application ensures the consistency of the development, testing, and production environments by packaging images and dependencies, which can avoid the problem of "running locally but reporting errors in production", supports migration across physical machines and cloud platforms, and achieves "build once, run anywhere". This application customizes the environment through Dockerfile and uses layered storage technology to achieve module reuse. Developers can quickly test new functions without modifying the host environment. Deployers can deploy EPICS core components and IOC instances with one click by calling the EPICS system running package. This can be achieved through simple guidance without professional training, which is convenient and efficient.

[0037] More specifically, in another embodiment, a plurality of IOC instances are created in the EPICS system, and the sum of system resource allocation settings of each IOC instance is less than the upper limit of the system resources that can be allocated to the target host.

[0038] This embodiment uses namespaces and control groups (Cgroups) to isolate EPICS processes from other system processes, preventing resource contention and configuration pollution, and enabling refined management of container resources. CPU resource control is achieved by limiting the number of CPU cores used by IOC instances within a container. A memory cap is set to set the maximum memory usage of an IOC instance within a container, and the container process can be terminated if the memory limit is exceeded. In practice, users can dynamically adjust policies through command-line parameters or by directly modifying the Cgroup file to ensure resource isolation between containers and system stability. The system resources mentioned above are examples provided for this application. In practice, system resources such as disk read / write speeds and network bandwidth can be controlled through Docker. Resource control can avoid response delays caused by resource contention in individual IOC instances, ensuring the timing accuracy of critical tasks. By allocating resources to IOCs—for example, dedicating exclusive CPU cores to high-precision sensors and limiting memory usage for low-priority logging services—resource utilization can be maximized.

[0039] S300: The host machine also needs to have the Docker engine installed, and the version of the Docker engine on the host machine must be consistent with that on the container host. On the host machine, pull the operating system configuration image, import the EPICS system runtime package, run the EPICS system within the operating system configuration image, call the IOC instance configuration, and start the IOC instance to monitor and control the host machine's hardware. The host machine monitors the IOC instance's system resource usage in real time and limits the system resources used by the IOC instance based on the system resource allocation settings.

[0040] More specifically, in another embodiment, in S400, critical data generated during the operation of the IOC instance is stored locally on the host or in the cloud to prevent data loss due to the lifespan of the container. For example, if the data directory of a containerized database such as MySQL or PostgreSQL is not permanently stored, data loss may occur after the container is restarted or deleted. In addition, log and monitoring data, as well as backup and recovery data, also need to be stored and recorded outside the container for easy access and recall.

[0041] S400 updates the configuration parameters of the IOC instance on the host based on the actual operating status of the host. For example, upgrading the host virtualization driver version may require the IOC instance to load the updated configuration. If the host has security hardening measures such as SELinux enabled, the user permissions configured for the IOC instance must be adjusted accordingly, such as adding a designated user to the whitelist. Fluctuations in the host's system resource configuration directly affect the operating efficiency of the IOC instance. For example, when the host CPU utilization exceeds a threshold, the CPU quota or thread pool parameters of the IOC instance must be dynamically adjusted to prevent resource exhaustion and service degradation. In addition, the configuration parameters of the IOC instance for controlling device entities also need to be adjusted based on actual conditions.

[0042] More specifically, in another embodiment, in S400, the updates to the configuration parameters of the IOC instance are divided into exclusive updates and universal updates. Exclusive updates refer to updates that are only effective for the current host, while universal updates refer to updates that are also effective for other hosts and need to be reused.

[0043] The configuration parameters of the exclusively updated IOC instance are stored locally on the host. In this embodiment, the specific method is to mount the host directory to the IOC configuration path in the container when starting the container. After modifying the configuration file in the host directory, the configuration in the container is automatically updated without restarting the service. For EPICS database files, such as .db, the updated file can be dynamically loaded during IOC runtime through the dbLoadRecords command without rebuilding the image. If the exclusive update is a temporary update, the directory mounted on the host is a temporary directory, and the temporary directory can be cleared after the system is restarted to achieve a reset; if the update is an update that needs to be reused, the host's permanent directory is mounted to the IOC configuration path in the container. When calling an IOC instance, the exclusive update IOC instance configuration mounted on the host's permanent directory is given priority.

[0044] Furthermore, if the update to be reused is a general update, the IOC instance of the general update is submitted as an updated EPICS system runtime package, a version number is added to the updated EPICS system runtime package, and the updated EPICS system runtime package is uploaded to cloud storage. Other hosts can then download the updated EPICS system runtime package from the cloud. Specifically, on the host, the modified EPICS system configuration and IOC instance are packaged into an updated EPICS system runtime package, generating a portable .tar file containing the complete EPICS system runtime environment and IOC configuration. This file is then versioned and uploaded to the cloud. Applying this updated EPICS system runtime package is similar to calling the EPICS system runtime package from a container host. First, ensure the same version of the Docker engine is correctly installed on the other target host, call the operating system configuration image, and then call the updated EPICS system runtime package to port, import, and apply the IOC. The method of this embodiment is particularly suitable for scientific research or industrial control systems that require consistent development, testing, and production across multiple environments. For large-scale scenarios, Kubernetes orchestration and management can be used to further improve the reliability and scalability of Docker deployments.

[0045] In another embodiment, in S200, when an IOC instance is created, the sensitive configuration file of the IOC instance is encrypted and saved. In S300, the secret key is obtained according to the host machine's authority, the sensitive configuration file of the IOC instance is decrypted, and then called. The IOC configuration file often contains sensitive information such as database passwords, device communication keys, API credentials, etc. For example, the st.cmd file of the EPICS system may contain the IP address and access password of the PLC controller. If it is stored in plain text, it can be easily stolen by attackers, resulting in the hijacking of device control. In addition, scientific research and industrial control systems must comply with security standards such as ISO 27001 and IEC 62443, which require encrypted storage of sensitive configurations. If they are not encrypted, they may face audit failure. The encrypted configuration file is decrypted by the key when the host machine is started to avoid the key from residing in the memory for a long time. The configuration is dynamically decrypted during the application initialization phase to implement the "decryption at runtime and discard after use" security policy.

[0046] In the above embodiment, since general updates require uploading the IOC instance configuration to the cloud, similar to the encrypted storage of sensitive IOC instance configurations, the sensitivity of general update configurations must also be differentiated. General updates are divided into insensitive updates and sensitive updates. Insensitive updates involve directly uploading the EPICS system runtime package to cloud storage; sensitive updates involve encrypting the EPICS system runtime package and uploading it to cloud storage. After the host downloads the updated input and output controller image, it obtains the key based on its permissions, decrypts the updated IOC configuration, and then calls it.

[0047] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0048] In another embodiment, see Figure 2 A containerized EPICS system deployment system of the present application includes a container host 1, a host machine 2 and a cloud storage module 3.

[0049] The container host includes an operating system configuration module 11 and an input / output controller configuration module 12. The operating system configuration module 11 configures the operating system environment for the EPICS system, pulls the base operating system, and creates an operating system configuration image. The input / output controller configuration module 12 configures the operating environment for the EPICS system within the operating system configuration image, opens the EPICS system, creates an input / output controller instance within it, limits the system resources used by the input / output controller through the container, and then packages it into an EPICS system runtime package. Sensitive configurations of the input / output controller are encrypted and stored. The operating system configuration module 11 and the EPICS system runtime package are copied to the host machine 2 or uploaded to the cloud storage module 3 for download by the host machine 2.

[0050] Host 2 pulls the operating system configuration image, then calls the EPICS system operation package, calls the input and output controller configuration, and starts the input and output controller instance to monitor and control the host's hardware. Among them, the encrypted and saved sensitive configuration files of the input and output controller are decrypted according to the host's acquisition key and then called. The key data generated during the operation of the input and output controller instance is saved to the host's local or cloud storage module. The host updates the configuration parameters of the input and output controller instance according to the actual operating status, and submits it as an updated version of the EPICS system operation package, and uploads the updated version of the EPICS system operation package to the cloud storage module for other host machines to download. Among them, the sensitive configuration of the input and output controller in the updated version of the EPICS system operation package is encrypted and saved.

[0051] Those skilled in the art will understand that Figure 2 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the electronic device to which the solution of the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0052] In another embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 3As shown. The computer device includes a processor, memory, network interface and database connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the computer device is used to store relevant configuration files and database data about the containerized EPICS system deployment method. The network interface of the computer device is used to communicate with an external cloud storage module network connection. When the computer program is executed by the processor, a containerized EPICS system deployment method is implemented.

[0053] In another embodiment, a computer program product of the present application includes a computer program or instructions, which enable the computer program or instructions to implement the steps of the above-described containerized EPICS system deployment method. Those skilled in the art will clearly understand that for ease and brevity of description, the specific working process of the above-described containerized EPICS system deployment method can refer to the corresponding process in the aforementioned method embodiment and will not be repeated here.

[0054] The following describes an exemplary electronic device provided by an embodiment of the present application. The electronic device includes a processor, a memory, and a network interface connected via a system bus. The processor of the electronic device is used to provide computing and control capabilities. The memory of the electronic device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The database of the electronic device is used to store data. The network interface of the electronic device is used to communicate with other external terminals or servers via a network connection. In some embodiments, the network interface can be a wired network interface, and in some embodiments, the network interface can also be a wireless network interface. When the computer program is executed by the processor, the method in the embodiment of the present application is implemented.

[0055] As described above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the above embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.

[0056] In the above embodiments, all or part of the embodiments can be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of this application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that can be accessed by a computer, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be magnetic media (e.g., floppy disk, hard disk, tape), optical media (e.g., DVD), or semiconductor media (e.g., solid-state drive).

[0057] Those skilled in the art will appreciate that all or part of the process steps in the above-described method embodiments can be implemented by a computer program instructing the relevant hardware. The program can be stored in a computer-readable storage medium, and when executed, the program can include the process steps in the above-described method embodiments. The aforementioned storage medium includes various media capable of storing program code, such as ROM or random access memory (RAM), magnetic disks, or optical disks.

[0058] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the various embodiments of the present invention, and should all be included in the scope of protection of the present invention.

Claims

1. A containerized EPICS system deployment method, characterized in that: The steps include: S100: Create a basic container on the container host, pull the basic operating system into the basic container, exit the basic container, and submit the basic container as an operating system configuration image; S200, calling an operating system configuration image in a container host, configuring an EPICS system operating environment in a base operating system, running the EPICS system, creating at least one input / output controller instance in the EPICS system, and setting system resource allocation for the input / output controller instance through a container, packaging the EPICS system configuration and the input / output controller configuration to generate an EPICS system operating package; S300: In the host machine, pull the operating system configuration image, import the EPICS system runtime package into the container, run the EPICS system in the operating system configuration image, call the input / output controller configuration, start the input / output controller instance to monitor and control the host machine's hardware, and the host machine monitors the system resource usage of the input / output controller instance in real time and limits the system resources used by the input / output controller instance according to the system resource allocation settings. S400 , updating the configuration parameters of the input / output controller instance on the host machine according to the actual operating state of the host machine.

2. The containerized EPICS system deployment method according to claim 1, characterized in that: In S200 , when creating an input / output controller instance, the sensitive configuration file of the input / output controller instance is encrypted and saved.

3. The containerized EPICS system deployment method according to claim 2, characterized in that: In S300, the secret key is obtained according to the host machine's authority, the sensitive configuration file of the input and output controller instance is decrypted, and then called.

4. The containerized EPICS system deployment method according to claim 1, characterized in that: In S200 , a plurality of input / output controller instances are created in the EPICS system, and the sum of system resource allocation settings of each input / output controller instance is less than the upper limit of the system resource allocation allowed by the target host.

5. The containerized EPICS system deployment method according to claim 1, characterized in that: In S300, key data generated during the operation of the input / output controller instance is stored locally on the host machine or in the cloud.

6. The containerized EPICS system deployment method according to claim 1, characterized in that: In S400, updates to the configuration parameters of the input / output controller instance are divided into exclusive updates and general updates. The configuration parameters of the exclusive updated input / output controller instance are stored locally on the host machine. When calling the input / output controller instance, the configuration parameters of the exclusive updated input / output controller instance are called first. The general updated input / output controller instance is submitted as an updated version of the EPICS system operation package, and a version number is added to the EPICS system operation package. The updated version of the EPICS system operation package is uploaded to the cloud storage for download by other host machines.

7. The containerized EPICS system deployment method according to claim 6, characterized in that: The general updates are divided into non-sensitive updates and sensitive updates. The EPICS system operation package of the non-sensitive update is directly uploaded to the cloud storage; the EPICS system operation package of the sensitive update is uploaded to the cloud storage through encryption. The host downloads the updated version of the EPICS system operation package, obtains the secret key based on the host's permissions, decrypts the updated version of the input and output controller configuration, and then calls it.

8. A containerized EPICS system deployment system, characterized in that: Includes container host, host machine and cloud storage modules; The container host includes an operating system configuration module and an input / output controller configuration module. The operating system configuration module configures the operating system environment for the EPICS system, pulls the basic operating system, and creates an operating system configuration image. The input / output controller configuration module configures the operating environment of the EPICS system in the operating system configuration image, opens the EPICS system, creates an input / output controller instance in it, and then packages it into an EPICS system operating package. The operating system configuration module and the EPICS system operating package are copied to the host machine respectively, or uploaded to the cloud storage module for downloading by the host machine. After the host machine pulls the operating system configuration image and calls the EPICS system operation package, it starts the input and output controller instance to monitor and control the host machine's hardware. The key data generated during the operation of the input and output controller instance is saved to the host machine's local or cloud storage module; the host machine updates the configuration parameters of the input and output controller instance according to the actual operation status, and submits it as an updated version of the EPICS system operation package, and uploads the updated version of the EPICS system operation package to the cloud storage module for download by other hosts.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the containerized EPICS system deployment method according to any one of claims 1 to 7 are implemented.

10. A computer program product, characterized in that The computer program product includes a computer program or instructions, so that the computer program or instructions can implement the steps of the containerized EPICS system deployment method according to any one of claims 1 to 7.

Citation Information

Cited By

  • Hot update control method and system for industrial PLC (Programmable Logic Controller) of microkernel operating system

    CN121092201A