General declarative deployment system and method based on template and configuration parameters
Through a general declarative deployment system based on templates and configuration parameters, the problems of deployment complexity, insufficient flexibility, integration difficulties and inconvenience in the existing technology are solved, and flexible and efficient deployment of multi-cloud, multi-region, multi-project, and multi-environment are achieved, improving business response capabilities and security management levels.
Patent Information
- Application Number
- CN202510026699.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-08
- Publication Date
- 2025-05-13
AI Technical Summary
When existing deployment systems face the deployment needs of multi-cloud, multi-region, multi-project and multi-environment, they are highly complex, lack of flexibility, integration difficulties and inconvenient management, making it difficult to cope with the rapid changes in business needs and the challenges of security management.
It provides a general declarative deployment system based on templates and configuration parameters, including a data configuration platform, core engine, template module and scheduling module. Through template abstraction, parameter filling, dynamic scheduling and refined permission management, flexible and efficient deployment is achieved.
Supports global regional deployment of multi-cloud, multi-project, multi-region, and multi-environment, improving flexibility and response speed, improving security and integration simplicity, and enhancing the system's expansion capabilities and security management capabilities.
Smart Images

Figure CN119987791A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer application technology, and in particular to a general declarative deployment system and method based on templates and configuration parameters. Background Art
[0002] In the existing technology, the deployment system often faces the following difficulties when making application and configuration changes: high complexity. The current system's multi-cloud, multi-region, multi-project and multi-environment deployment requirements increase deployment complexity; insufficient flexibility. The lack of flexible parameter configuration capabilities makes it difficult to cope with rapid changes in business needs; integration difficulties. Compatibility issues on different computing platforms make integration difficult and limit expansion capabilities; inconvenient management. The lack of effective permission control and operation traceability mechanisms leads to difficulties in security management. Summary of the invention
[0003] According to an embodiment of the present invention, a general declarative deployment system based on templates and configuration parameters is provided, comprising: Data configuration platform, which is used to store and manage configuration parameters of applications and services; The core engine is connected to the data configuration platform and is used to parse and execute deployment logic. The core engine abstracts the configuration file into a general template, receives the configuration parameters from the data configuration platform, and combines the configuration parameters with the general template to generate a deployment configuration for a specific environment. Template module: The template module is connected to the core engine and is used to provide and manage declarative parameters and templates. The template module interacts with the core engine and provides necessary template information to support the generation of deployment configurations. Scheduling module,The scheduling module is connected to the core engine, and dynamically schedules and executes deployment tasks according to the needs of the core engine, while detecting the status of the deployment process.
[0004] Furthermore, the core engine contains: Template abstraction unit, which abstracts the configuration file into a general template; The parameter filling unit fills the configuration parameters from the data configuration platform into the general template to generate a deployment configuration for a specific environment.
[0005] Furthermore, the core engine contains multiple concrete implementation engines customized for specific scenarios, and each concrete implementation engine interacts with external systems through a unified abstract layer interface.
[0006] Furthermore, a real-time monitoring interface is provided between the data configuration platform and the scheduling module for real-time monitoring of changes in configuration parameters.
[0007] Further, the core engine handles multiple deployment strategies, including but not limited to rolling deployments, blue-green deployments, and canary deployments.
[0008] Furthermore, it also includes: a rights management module, which is connected to the core engine and is used for role-based rights management.
[0009] Furthermore, it also includes: an API interface, the API interface is connected to the data configuration platform, the core engine and the scheduling module, and the API interface is used to interact with a third-party platform.
[0010] Furthermore, it also includes: a data collection and alarm interaction module, which is connected to the data configuration platform, the core engine and the scheduling module, and is used to support data collection during the deployment process and interact with the alarm platform.
[0011] Furthermore, the scheduling module includes: an intelligent scheduling template, which is used to allocate computing resources according to the load of the current execution engine and monitor the differences for timely adjustment.
[0012] According to another embodiment of the present invention, a deployment method using the above system is provided, characterized in that it comprises the following steps: Users define applications and configuration parameters in the data configuration platform; The core engine reads these parameters and generates specific deployment instructions based on the general template; Use the scheduling module to distribute instructions to appropriate computing resources for execution; The scheduling module monitors the deployment process to ensure that the final state is consistent with the expected value.
[0013] According to the general declarative deployment system and method based on templates and configuration parameters of the embodiments of the present invention, support global regional deployment of multiple clouds, multiple projects, multiple regions, and multiple environments; improve flexibility: through templated management, quickly respond to changes in business needs; improve security: through refined permission control, enhance system security management; simplify integration: provide a general interface to simplify integration with various computing platforms; integration and permission management: through an open API interface, it is easy to connect with third-party platforms such as Kubernetes, and implement refined permission management based on roles.
[0014] It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the technology as claimed. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 A schematic diagram of the architecture of a general declarative deployment system based on templates and configuration parameters according to an embodiment of the present invention; Figure 2 The figure is a functional interaction diagram of a general declarative deployment system based on templates and configuration parameters according to an embodiment of the present invention. DETAILED DESCRIPTION
[0016] The preferred embodiments of the present invention will be described in detail below in conjunction with the accompanying drawings to further illustrate the present invention.
[0017] First, combine Figure 1~2 A general declarative deployment system based on templates and configuration parameters according to an embodiment of the present invention is described, which is used to provide a general and universal deployment system with a wide range of application scenarios.
[0018] like Figure 1~2 As shown, the general declarative deployment system based on templates and configuration parameters of the embodiment of the present invention includes: a data configuration platform CMDB, which is used to store and manage configuration parameters of applications and services; a core engine, which is connected to the data configuration platform CMDB and is used to parse and execute deployment logic. The core engine abstracts the configuration file into a general template, receives configuration parameters from the data configuration platform CMDB, and combines the configuration parameters with the general template to generate a deployment configuration for a specific environment; a template module, which is connected to the core engine and is used to provide and manage declarative parameters and templates. The template module interacts with the core engine and provides necessary template information to support the generation of deployment configuration; a scheduling module, which is connected to the core engine and dynamically schedules and executes deployment tasks according to the needs of the core engine, and detects the status of the deployment process. In this embodiment, the data configuration platform is used for configuration management and change control, the core engine is responsible for scheduling and executing deployment logic, the template module provides declarative parameters and template management, and realizes personalized and complex abstract compatibility layers through customization with template systems in different environments. The scheduling module realizes dynamic scheduling, execution and monitoring of tasks. The core engine is based on parameter configuration, which can realize dynamic management and optimization of application resources such as CPU and memory, as well as dynamic adjustment of key parameters of different application cores. The core engine and the scheduling module work together to support deployment requirements in different cloud environments, different projects, different regions and different environments.
[0019] Further, in this embodiment, the core engine includes: Template abstraction unit, which abstracts the configuration file into a general template; The parameter filling unit fills the configuration parameters from the data configuration platform CMDB into the general template to generate the deployment configuration for a specific environment.
[0020] Further, if Figure 2 As shown, in this embodiment, the core engine includes multiple specific implementation engines customized for specific scenarios, and each specific implementation engine interacts with the external system through a unified abstract layer interface.
[0021] Furthermore, in this embodiment, a real-time monitoring interface is provided between the data configuration platform CMDB and the scheduling module for real-time monitoring of changes in configuration parameters.
[0022] Furthermore, in this embodiment, the core engine handles multiple deployment strategies, including but not limited to rolling deployment, blue-green deployment, and canary deployment, so that users can choose flexibly.
[0023] Furthermore, in this embodiment, it also includes: a rights management module, which is connected to the core engine to implement role-based rights management.
[0024] Further, if Figure 1~2 As shown, in this embodiment, it also includes: an API interface, the API interface is connected to the data configuration platform CMDB, the core engine and the scheduling module, and the API interface is used to interact with a third-party platform such as Kubernetes.
[0025] Furthermore, in this embodiment, it also includes: a data collection and alarm interaction module, which is connected to the data configuration platform CMDB, the core engine and the scheduling module, and is used to support data collection during the deployment process and interact with the alarm platform. For example, the number of deployments of different system applications in the project dimension, the status, the operation time, etc. are asynchronously recorded to the BI platform to facilitate subsequent unified data analysis, such as the release quality, release frequency, and release announcements of the application; at the same time, the status of the relevant application deployment is pushed to the alarm platform, and the alarm is noise-suppressed (expected changes) to avoid the impact of the release on the oncall team.
[0026] Furthermore, in this embodiment, the scheduling module includes: an intelligent scheduling template, which is used to allocate computing resources according to the load of the current execution engine and monitor the difference for timely adjustment.
[0027] In this embodiment, the core engine first debugs the specific implementation logic of the target system deployment interaction, and further abstracts the corresponding configuration file into a general template and core parameters of the scenario, such as a Helm configuration file that interacts with kubernetes, and makes the general template and the dynamic filling logic of the core parameters into an engine. Under normal circumstances, each project has its own deployment logic, and it is difficult to make a unified one with the corresponding core parameters. Therefore, different engines are made according to the scenario here to be compatible with complex and changeable scenarios. The above core parameters are stored in the data configuration platform CMDB, and the scheduling module is used for real-time monitoring. The changed part is scheduled, and then dynamically filled by the corresponding engine and deployed to the corresponding target system. The whole process can be simply understood: the data configuration platform CMDB is the expected parameter value, and finally the target system is ensured to be consistent with the expected value in a declarative way. The execution of the core engine needs to be executed on various computing resources. In order to meet the large-scale engine execution and load balancing capabilities, an intelligent scheduling template is required. It will allocate computing resources to execute specific engines according to the load of the current execution engine, and dynamically monitor the difference between the target and the expected value, so as to make timely dynamic adjustments. Template module is the abbreviation of related configuration files that interact with the target system. It supports formats such as yaml, json, and helm. Its function is similar to the currently popular application management modes such as helm and yaml.
[0028] When a user needs to deploy an application under a project, the following process is required: Packaging and pushing: When users need to deploy related applications, they first compile, unit test, package, generate version numbers for related packages through the CI process, push them to the image repository, and push the version numbers to the data configuration platform CMDB; Fill out the deployment form or configuration change form: fill out the deployment request form on the corresponding system UI, including core parameter fields such as project, region, system, application, quantity, CPU, memory, and tags, and then submit; Declarative deployment: After the above steps, the core basic data related to the release has been fully synchronized to the data configuration platform CMDB; At this time, the scheduling module will monitor the deployment requests in the data configuration platform CMDB in real time, and compare the differences with the status library maintained by the scheduling engine itself. If it is inconsistent with the expected status, it will further notify the core engine to perform the next actual release operation; Core engine release operation: This is the core of the release system. A specific implementation engine will be selected based on the above parameters. The engine is the specific implementation logic under this scenario. Different scenarios have different implementation engines, and a unified abstract layer interface is provided for many engines to facilitate interaction with different modules, and then interact with the target system, such as Kubernetes, or the cloud host for release operations.
[0029] According to another embodiment of the present invention, a deployment method using the above system is provided, characterized in that it comprises the following steps: Users define applications and configuration parameters in the data configuration platform CMDB; The core engine reads these parameters and generates specific deployment instructions based on the general template; Use the scheduling module to distribute instructions to appropriate computing resources for execution; The scheduling module monitors the deployment process to ensure that the final state is consistent with the expected value.
[0030] Above, refer to Figure 1~2 The present invention describes a general declarative deployment system and method based on templates and configuration parameters according to an embodiment of the present invention. By decoupling templates from configuration parameters, it supports global regional deployment of multiple clouds, multiple projects, multiple regions, and multiple environments; improves flexibility: through templated management, it can quickly respond to changes in business needs; improves security: through refined permission control, it can enhance system security management; simplifies integration: provides a general interface to simplify integration with various computing platforms; integration and permission management: through an open API interface, it can easily connect with third-party platforms such as Kubernetes, and implements refined permission management based on roles.
[0031] It should be noted that, in this specification, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprises..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0032] Although the content of the present invention has been described in detail through the above preferred embodiments, it should be appreciated that the above description should not be considered as a limitation of the present invention. After reading the above content, it will be apparent to those skilled in the art that various modifications and substitutions of the present invention will occur. Therefore, the protection scope of the present invention should be limited by the appended claims.
Claims
1. A general declarative deployment system based on templates and configuration parameters, characterized in that: Include: A data configuration platform, which is used to store and manage configuration parameters of applications and services; A core engine, which is connected to the data configuration platform and is used to parse and execute deployment logic. The core engine abstracts the configuration file into a general template, receives configuration parameters from the data configuration platform, and combines the configuration parameters with the general template to generate a deployment configuration for a specific environment; A template module, which is connected to the core engine and is used to provide and manage declarative parameters and templates. The template module interacts with the core engine and provides necessary template information to support the generation of deployment configurations; The scheduling module is connected to the core engine, dynamically schedules and executes deployment tasks according to the needs of the core engine, and detects the status of the deployment process.
2. The general declarative deployment system based on templates and configuration parameters as claimed in claim 1, characterized in that: The core engine includes: A template abstraction unit, wherein the template abstraction unit abstracts the configuration file into a general template; A parameter filling unit fills the configuration parameters from the data configuration platform into the general template to generate a deployment configuration for a specific environment.
3. The general declarative deployment system based on templates and configuration parameters as described in claim 1 or 2, characterized in that: The core engine includes multiple specific implementation engines customized for specific scenarios, and each of the specific implementation engines interacts with the external system through a unified abstract layer interface.
4. The general declarative deployment system based on templates and configuration parameters as claimed in claim 1, characterized in that: A real-time monitoring interface is provided between the data configuration platform and the scheduling module for real-time monitoring of changes in the configuration parameters.
5. The general declarative deployment system based on templates and configuration parameters as claimed in claim 1, characterized in that: The core engine handles multiple deployment strategies, including but not limited to rolling deployment, blue-green deployment, and canary deployment.
6. The general declarative deployment system based on templates and configuration parameters as claimed in claim 1, characterized in that: It also includes: a rights management module, which is connected to the core engine and is used for role-based rights management.
7. The general declarative deployment system based on templates and configuration parameters as claimed in claim 1, characterized in that: It also includes: an API interface, which is connected to the data configuration platform, the core engine and the scheduling module, and is used to interact with a third-party platform.
8. The general declarative deployment system based on templates and configuration parameters as claimed in claim 1, characterized in that: It also includes: a data collection and alarm interaction module, which is connected to the data configuration platform, the core engine and the scheduling module, and is used to support data collection during the deployment process and interact with the alarm platform.
9. The general declarative deployment system based on templates and configuration parameters as claimed in claim 1, characterized in that: The scheduling module includes: an intelligent scheduling template, which is used to allocate computing resources according to the load of the current execution engine and monitor the difference for timely adjustment.
10. A deployment method using the system according to any one of claims 1 to 9, characterized in that: The following steps are included: Users define applications and configuration parameters in the data configuration platform; The core engine reads these parameters and generates specific deployment instructions based on the general template; Use the scheduling module to distribute instructions to appropriate computing resources for execution; The scheduling module monitors the deployment process to ensure that the final state is consistent with the expected value.