System, method, and medium for centralized management and easy use of application configurations
By centrally managing the application configuration system, the complex configuration management problem under the microservice architecture is solved, low-cost and efficient configuration management and release are achieved, middle-end integration and hierarchical grayscale are supported, and the system reliability and operation and maintenance efficiency are improved.
Patent Information
- Application Number
- CN202211221289.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-08
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2042-10-08
AI Technical Summary
Under the microservice architecture, traditional application configuration methods require a lot of operation and maintenance time, cannot record change history and rollback operations, and cannot integrate into the middle platform, resulting in complex configuration management and error-prone.
It provides a centralized management and easy-to-use application configuration system, including access modules, functional modules, basic resource modules and service client modules, supports cluster grouping management, namespace management, grayscale release, hierarchical grayscale, plan management, command line operations, etc., and realizes dynamic configuration management through interfaces and agents.
It reduces operation and maintenance costs, reduces configuration errors, supports middle-end integration, provides plan functions and hierarchical grayscale, simplifies multi-instance configuration release, and improves the robustness and reliability of the system.
Smart Images

Figure CN115658166B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communication technologies, and in particular, to a system, method, and medium for centralized management and easy use of application configurations. Background Art
[0002] In the context of the architecture where microservices are prevalent, after services are split and deployed on different machines (which may also be virtual machines or cloud pods), when modifying the configurations of application programs involving multiple instances and multiple cluster groups, the traditional method of modifying configuration files requires a large amount of operation and maintenance time and seems inadequate. Moreover, the configurations cannot record change history and rollback operations. Therefore, it is very necessary to provide a system for centralized management and easy use of application configurations.
[0003] The configuration service with centralized control mainly solves the problem that in the scenario of distributed application deployment, the configuration center service needs to manage all configuration data of the system. It provides services such as very friendly dynamic modification and release of configurations, query of release history, rollback, etc. Compared with the traditional method of logging in to a certain machine, modifying the configuration file and then restarting the service, it greatly reduces the operation and maintenance cost. The easy-to-use interface includes a command line that can be batch-executed, facilitating system administrators to perform operation and maintenance control on system load, traffic, logs, and system functions.
[0004] There are also configuration centers with similar functions on the Internet now, but they have the following defects: 1. They are not integrated into the middle platform and are separated from other PaaS services. When users use the services, they need to switch back and forth between various middle platform services. 2. They do not have a pre-plan function and cannot pre-configure various common scenarios. Temporary configuration is required, which requires a relatively high configuration requirement for the system and is prone to configuration problems. 3. They do not have a hierarchical gray-scale function. When there are many application program instances, configuration release cannot be done in batches, and the release requirements are too high. 4. They do not have a command line function, and operations in certain specific scenarios, such as automation scripts and batch configurations, cannot be completed.
[0005] Patent document CN104301412A (application number: CN201410548806.4) discloses a big data cloud service centralized control system, which consists of multiple terminals installed on local information processing devices and a cloud management center connected to the terminals. The cloud management center includes a data center and a centralized control module, and the centralized control module has a control mathematical model. However, this invention is not integrated into the middle platform and is separated from other PaaS services. When users use the services, they need to switch back and forth between various middle platform services. Summary of the Invention
[0006] Aiming at the defects in the prior art, the purpose of the present invention is to provide a system, method, and medium for centralized management and easy use of application configurations.
[0007] A system for centralized management and easy use of application configuration provided by the present invention includes:
[0008] Access module: It is the operation entry of the system. Users log in to the web page to perform control operations on cluster grouping and configuration, and transmit request function module instructions, cluster information, configuration parameters, and user information to the function module.
[0009] Function module: It includes cluster grouping management, namespace management, file proxy function, self-monitoring, cluster information, gray release, hierarchical gray scale, pre-plan management, command line, release history, version control, metadata management, and auditing. After the function module finishes execution, it carries the obtained changed configuration information into the basic resource module.
[0010] Basic resource module: It belongs to the hardware resources on which the system architecture depends and the services based on the hardware resources. After the resources are updated, the listening mechanism is triggered, and the service client performs the next operation.
[0011] Service client module: The configuration service client is integrated on the application, and it pulls the configuration information of the basic resource module to update its own configuration.
[0012] Preferably, in the access module:
[0013] If there is no graphical interface on the server, use the command line to log in for operation. Among them, the command line has two types: interactive and non-interactive. The interactive type is the way of asking and answering after logging in, which can debug and modify various configurations. The non-interactive type is convenient for writing scripts to batch modify configurations, and can be executed regularly or by automated operation and maintenance.
[0014] The api management interface provides the ability to operate configurations through an interface. Other business systems perform application integration and secondary development. The application program interface is the interface for business system docking. The data configured by the server is synchronously updated to the application program in real time through this interface, and this interface is read-only for the configuration data.
[0015] Preferably, in the function module:
[0016] Cluster grouping management: Divide the application programs into several relatively independent cluster groupings. The application programs in different cluster groupings adopt different configuration data, and the functions realized include AB testing, user traffic diversion, and fault isolation.
[0017] Namespace management: Provide functions for creating, querying, and deleting namespaces, and perform operations of adding, deleting, modifying, and querying on the configuration and publish it.
[0018] File proxy function: It is applicable to directly deploy a proxy program in the environment where the source application is located without modifying the source application. Through the proxy program, the configuration file of the application can be modified, and the configuration of the application can take effect by reloading or restarting.
[0019] The file proxy function specifically includes: a server-side file management service and an application-side configuration proxy program;
[0020] After the configuration proxy program is deployed, the system administrator uploads the configuration file on the server side of file management or directly clicks on the configuration file for editing; after editing, click the save button, and the server side saves the edited content; the user checks the content and selects to publish after there is no problem; the server side notifies the proxy program of the configuration modification; after receiving the notification, the proxy program obtains the latest configuration data file; the proxy program backs up the local configuration file and adds the latest configuration file obtained from the server side; it notifies the application to reload the configuration or restart to read the latest configuration file.
[0021] Preferably, self-monitoring: Through the self-monitoring mechanism, obtain the running status of each node, and promptly discover and eliminate potential problems;
[0022] Cluster information: Displays each node of the system itself. In addition to the health status, it also includes information about each application using the configuration service, obtains the information of the applications currently using the configuration service, and grasps the usage situation of the configuration module;
[0023] Gray release function: Users can modify the configuration for trial and error, perform gray release by setting the gray range, and if any abnormality is found, promptly abandon the gray release to control the trial and error cost to the minimum;
[0024] Hierarchical gray release: Divide the originally one-time released configuration data into several stages for release. After each stage of release is completed, stop to observe and test whether the application is normal, enabling the system administrator and operation and maintenance personnel to promptly discover problems. The applicable scenarios include the release and online deployment of applications and the release and modification of new configurations.
[0025] Preferably, the pre-plan management function: Set in advance the configurations that need to be modified in certain specific scenarios, and directly release the configuration when encountering the corresponding scenario. The system administrator and operation and maintenance personnel can conduct prior drills and configuration modification preparations for possible scenarios;
[0026] Command line: Provides two command line execution methods, interactive and non-interactive, to use the configuration center service in the command line terminal of the character interface and to use the configuration center service by writing automation scripts;
[0027] Preferably, the release history: It details the release information, including the version numbers of gray releases, configuration content, release time, and release personnel. Browsing the release history allows viewing the modification records before the configuration and tracing back to the configuration.
[0028] Version control: Manages the release and rollback operations of versions, as well as the configuration data differences between two versions.
[0029] Metadata management: Records the configuration data of the configuration service itself, including the limit of the content length of configuration items, the differentiation dimension of namespaces, and cluster grouping information.
[0030] Audit: Records information in the form of audit logs, including the modification time and modifier of the configuration, for permission control and auditing of operations.
[0031] Preferably, in the basic resource module:
[0032] Hardware resources that are dependent on the system architecture and services based on the hardware resources. The configuration data is stored using a Mysql database. Data availability is ensured through the master-slave method. An interaction protocol is used to allow application programs to establish connections and transmit data. A notification mechanism is combined to effectively notify after configuration changes. Multiple instances are registered with each other through the microservice component Eureka to form a configuration service cluster to provide services externally, avoiding configuration unavailability caused by a single point of failure.
[0033] Preferably, in the service client module:
[0034] The configuration service client program interfaces with the Spring framework and is integrated into the JUP development tool. The configuration service address and access token are added to obtain configuration data from the configuration service. For application programs that are not based on the Spring framework, the client calls the corresponding interface to obtain the configuration. The interface has a caching mechanism. When the server adds or modifies the configuration, the configuration service client can immediately sense it and directly modify the in-memory configuration to achieve the purpose of dynamically adjusting the application program.
[0035] According to a method for centrally managing and easily using application program configurations provided by the present invention, using the described system for centrally managing and easily using application program configurations, the execution includes:
[0036] Step S1: The business party personnel enter the access layer module, perform identity verification, and enter the function module layer after obtaining identity and role authentication.
[0037] Step S2: Obtain the basic function entry and capabilities to perform the corresponding functions. After execution, a data stream is obtained, and the data stream enters the basic layer.
[0038] Step S3: The client program of the business party will receive a notice of the changed configuration, and directly modify the in-memory configuration accordingly to achieve dynamic publishing.
[0039] According to a computer-readable storage medium storing a computer program provided by the present invention, when the computer program is executed by a processor, the steps of the method for centralized management and easy use of application program configuration are implemented.
[0040] Compared with the prior art, the present invention has the following beneficial effects:
[0041] 1. The present invention is integrated into the middle platform, and users do not need to switch back and forth between various middle platform services when using the service;
[0042] 2. The present invention has a pre-plan function, which can configure items for various common scenarios in advance, without the need for temporary configuration, has low requirements for system configuration, and is not prone to configuration problems;
[0043] 3. The present invention has a hierarchical gray scale function. When there are many application program instances, it can perform configuration publishing in batches, with low requirements for publishing;
[0044] 4. The present invention has a command line function, and operations in certain specific scenarios, such as automated scripts and batch configurations, can be completed. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] By reading the detailed description of the non-restrictive embodiments with reference to the following drawings, other features, objects, and advantages of the present invention will become more apparent:
[0046] Figure 1 It is a schematic diagram of the module composition in the configuration service technical architecture of the present invention;
[0047] Figure 2 It is an interaction diagram during the configuration distribution process of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0048] The present invention will be described in detail below with reference to specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but do not limit the present invention in any form. It should be noted that those of ordinary skill in the art can make several changes and improvements without departing from the concept of the present invention. These all belong to the protection scope of the present invention.
[0049] Example 1:
[0050] The present invention provides a system, method and medium for centralized management and easy use of application configurations, including: cluster grouping management, namespace management, gray release function, emergency plan management, hierarchical gray release, command line and other modules. Among them, the cluster grouping management module: can divide application programs into several relatively independent cluster groups, and application programs in different cluster groups adopt different configuration data, which is used to implement functions such as A / B testing, user traffic splitting and fault isolation; the namespace management module: provides functions for creating, querying and deleting namespaces, which can facilitate operations such as adding, deleting, modifying and querying configurations and publishing them. It is the module that system administrators and configurators operate most frequently. The gray release function module: gives users the ability to modify configurations and try out errors. By setting the gray range and releasing gray, if any abnormalities are found, the gray can be abandoned in time, and the trial error cost can be controlled within the minimum range; the emergency plan management module: facilitates system administrators and operation and maintenance personnel to conduct prior drills and configuration modification preparations for possible scenarios, and can quickly and effectively respond when encountering corresponding scenarios, improving the robustness of application programs; the hierarchical gray release module: divides the originally once-released configuration data into several stages for release. After each stage of release is completed, it can stop to observe and test whether the application is normal, which is convenient for system administrators and operation and maintenance personnel to discover problems in time, and is applicable to scenarios such as application program release and new configuration release and modification; the command line module: provides two command line execution methods, interactive and non-interactive, which is convenient for using the configuration center service at the command line terminal and writing automation scripts to use the configuration center service.
[0051] A method for centralized management and easy use of application configurations, including:
[0052] Business personnel enter the access layer module; after authentication, obtain the identity and role authentication and then enter the function module layer; obtain the basic function entry and capabilities at this layer to perform corresponding functions. After execution, obtain the data stream, and the data stream will enter the basic layer for persistence; the client program of the business party will receive the notification of the changed configuration, and then directly modify the configuration in the memory to achieve dynamic release.
[0053] A system for centralized management and easy use of application configurations, as Figure 1 - Figure 2 shown, including:
[0054] Cluster grouping management, namespace management, gray release function, file proxy function, emergency plan management function, hierarchical gray release, command line and other modules.
[0055] Among them, the cluster grouping management module: is used to divide application programs into several relatively independent cluster groups, and application programs in different cluster groups adopt different configuration data, which is convenient for implementing functions such as A / B testing, user traffic splitting and fault isolation;
[0056] Namespace Management: It provides functions for creating, querying, and deleting namespaces, facilitating operations such as adding, deleting, modifying, and querying configurations and publishing them. It is the module that system administrators and configurators operate on most frequently;
[0057] Gray Release Function: It gives users the ability to test configuration modifications. By setting the gray scale range and then performing a gray release, configuration modifications can be made to the application in a small scope. If any abnormalities are found, the gray release can be abandoned in a timely manner, controlling the trial-and-error cost within the minimum range and providing emergency response and hemostasis for users in a timely manner;
[0058] File Proxy Function: It is applicable to directly deploying a proxy program in the environment where the source application is located without modifying the source application. Through the proxy program, the configuration file of the application can be modified, and the configuration of the application can take effect by reloading or restarting;
[0059] The file proxy function module specifically includes: the server-side file management service and the application-side configuration proxy program;
[0060] After the configuration proxy program is deployed, the system administrator can upload the configuration file on the server side of the file management or directly open the configuration file for editing;
[0061] After editing is completed and the save button is clicked, the server side will save the edited content;
[0062] Users can check the content and choose to publish it after ensuring there are no problems;
[0063] The server side will notify the proxy program of the configuration modification;
[0064] After receiving the notification, the proxy program will obtain the latest configuration data file;
[0065] The proxy program will back up the local configuration file and add the latest configuration file obtained from the server side;
[0066] Notify the application to reload the configuration or restart to read the latest configuration file.
[0067] Emergency Plan Management Function: Set in advance the configurations that need to be modified in certain specific scenarios. When encountering the corresponding scenarios, the configurations can be directly published, facilitating system administrators and operation and maintenance personnel to conduct prior drills and configuration modification preparations for possible scenarios, and enabling quick and effective responses when encountering the corresponding scenarios, improving the robustness of the application;
[0068] Hierarchical Gray Release: Divide the originally one-time released configuration data into several stages for release. After each stage of release is completed, it is possible to stop and observe and test whether the application is normal, facilitating system administrators and operation and maintenance personnel to discover problems in a timely manner. It is applicable to scenarios such as application release and online deployment and new configuration release and modification;
[0069] Command line: It provides two command line execution methods, interactive and non-interactive, which are convenient for using the configuration center service in the command line terminal of the character interface and for using the configuration center service by writing automation scripts;
[0070] Configuration service client: The above is the server program for configuration service operations. Finally, the configuration data needs to be implemented on the application program, and the configuration service client needs to be integrated on the application program. The configuration service client program has been seamlessly connected to the mainstream Spring framework and integrated into the in-house JUP development tool. As long as the configuration service address and access token are added, the configuration data can be obtained from the configuration service, which is completely transparent to application developers. For application programs that are not based on the Spring framework, the client can also be seamlessly connected. As long as the corresponding interface for obtaining configuration is called, the interface has a caching mechanism and can be called with confidence. When the server adds or modifies the configuration, the configuration service client can immediately sense it and directly modify the in-memory configuration to achieve the purpose of dynamically adjusting the application program (the response time is within 1 second).
[0071] A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the steps of the method for centralized management and easy use of application program configuration are implemented.
[0072] Example 2:
[0073] Embodiment 2 is a preferred example of Embodiment 1, which is used to illustrate the present invention more specifically.
[0074] The present invention provides a system, method and medium for centralized management and easy use of application program configuration, including: function modules such as cluster grouping management, namespace management, gray release function, emergency plan management, hierarchical gray release, command line, etc. The modules are designed with loose coupling, which is convenient for modification and extension. Refer to Figure 1 It shows the various modules of the system and the layering of the modules. Each layer and module are as follows:
[0075] 1. Access layer: It is the operation entry of the system. Users can directly log in to the web page to perform management and control operations on cluster grouping and configuration. If there is no graphical interface on the server, they can use the command line to log in and operate. The command line has two types: interactive and non-interactive. The interactive type is a question-and-answer method after logging in, which is convenient for debugging and modifying various configurations. The non-interactive type is convenient for writing scripts to batch modify configurations, which is convenient for scheduled execution or automated operation and maintenance execution. The api management interface provides the ability to operate configurations through interfaces, which is convenient for other business systems to do application integration and secondary development. Currently, the parameter configuration and dynamic allocation of the in-line microservice gateway governance, monitoring, and alarm services are all completed in this way. The last application program interface is the interface for business systems to connect. The data configured on the server side can be synchronized to the application program in real time only through this interface. This interface is read-only for configuration data.
[0076] 2. The middle is the function module layer: Most of the functions of the system are in this layer, where
[0077] (1) Cluster grouping management module: It is used to divide application programs into several relatively independent cluster groups. The application programs in different cluster groups use different configuration data isolation. The application program can only obtain the configuration data in a specific group, which is convenient for implementing functions such as A / B testing, user traffic diversion, and fault isolation;
[0078] (2) Namespace management: It provides functions for creating, querying, and deleting namespaces. In a way similar to managing individual files, it can facilitate operations such as adding, deleting, modifying, and querying configurations and publishing them. It is the module that system administrators and configurators operate most frequently;
[0079] (3) File proxy function: It is suitable for directly deploying a proxy program in the environment where the application program is located without modifying the source application program. Through the proxy program, the configuration file of the application program can be modified, and the configuration of the application program can take effect by reloading or restarting. In this function, the proxy program and the configuration service can interact. You can view Figure 2 the right part in the middle. After the user operates the configuration server through the web page or command line, the server will notify the proxy program. The proxy program obtains the data file from the server locally and then notifies application 2 to read the latest configuration file data;
[0080] (4) Self-monitoring module: It is a health check mechanism for the system itself. When the system itself is deployed distributively, usually more than 3 service nodes are deployed. Moreover, due to the high availability of the service itself, when a certain node fails, the overall service will not be affected. Therefore, there is a problem that it is difficult to manage multiple nodes. Through the self-monitoring mechanism, the running status of each node can be easily obtained, and potential problems can be discovered and eliminated in a timely manner;
[0081] (5) Cluster Information Module: It is used to display each node of the system itself. In addition to the health status, it also includes information about each application using the configuration service. Through this module, it is convenient to obtain the information of the applications currently using the configuration service and to facilitate understanding the usage of this configuration module;
[0082] (6) Gray Release Function: It gives users the ability to modify configurations and test for errors. By setting the gray scale range and then performing a gray release, the configuration of the application can be modified within a small range. If any abnormalities are found, the gray release can be abandoned in a timely manner, controlling the error testing cost within the minimum range;
[0083] (7) Hierarchical Gray Scale Function: This module is an upgraded version of Function 6. It is convenient to artificially divide the release process into several stages. After each stage of the release is completed, it is possible to stop and observe and test whether the application is normal, facilitating system administrators and operation and maintenance personnel to discover problems in a timely manner. Through the release configuration of each stage, hierarchical gray scale is achieved. It is especially suitable for the smooth switching process of the online of new system functions and the replacement of old functions;
[0084] (8) Emergency Plan Management Function: It facilitates system administrators and operation and maintenance personnel to conduct prior drills and prepare for configuration modifications for possible scenarios, facilitating a quick and effective response when encountering corresponding scenarios and improving the robustness of the application;
[0085] (9) Command Line Module: It provides two ways of command line execution, interactive and non-interactive, facilitating the use of the configuration center service at the command line terminal and writing automation scripts to use the configuration center service;
[0086] (10) Release History Module: It details records of various version numbers, configuration contents, release times, release personnel, etc. of the release, including gray release. Browsing the release history can view the modification records before the configuration, facilitating the backtracking of the configuration;
[0087] (11) Version Control Module: It mainly controls the release and rollback operations of versions, as well as the configuration data differences between two versions;
[0088] (12) Metadata Management Module: It mainly records the configuration data of the configuration service itself, such as the limit of the content length of configuration items, the differentiation dimension of namespaces, cluster grouping information, etc.;
[0089] (13) Audit Module: It records information such as the modification time and the person who modified the configuration in the form of audit logs, facilitating permission control and the audit of operations.
[0090] 3. Basic layer: It belongs to the hardware resources dependent on the system architecture and the services based on the hardware resources. It is mainly reflected in the configuration data storage. Currently, the open-source Mysql database is used, and the data high availability is ensured through the master-slave method. The interaction protocol is used to establish a connection with the application program and transmit data. Combined with the notification mechanism, it can effectively notify after the configuration is changed. The entire process from configuration release to the application program receiving the configuration takes within 1 second. The high-availability mechanism is implemented through the microservice component Eureka to register multiple instances with each other to form a configuration service cluster to provide services externally, thus avoiding the unavailability of the configuration caused by a single point of failure.
[0091] In addition to the above configuration service layering, there is also a configuration service client: It refers to the integration of the configuration service client on the application program. The configuration service client can interact with the configuration service to view Figure 2 the left part in. It is in the same operating system process as the application program. Compared with Figure 2 the file proxy service in the right part in, the interaction configuration with the application program omits the external file link and directly modifies the configuration item in the memory. The configuration service client program has been seamlessly connected to the mainstream Spring framework and integrated into the in-house JUP development tool. As long as the configuration service address and access token are added, the configuration data can be obtained from the configuration service, which is completely transparent to application developers. For application programs that are not based on the Spring framework, the client can also be seamlessly connected. As long as the corresponding interface for obtaining the configuration is called, the interface has a caching mechanism and can be called with confidence. When the server adds or modifies the configuration, the configuration service client can immediately perceive it and directly modify the memory configuration to achieve the purpose of dynamically adjusting the application program (the response time is within 1 second).
[0092] The request function module instructions, cluster information, configuration parameters, and user information of the access module will be transmitted to the function module;
[0093] After the function module finishes execution, it will carry the obtained changed configuration information into the basic resource module;
[0094] After the resources on the basic resource module are updated, the monitoring mechanism will be triggered, and the service client will perform the next operation;
[0095] The service client module will pull the configuration information of the basic resource module to update its own configuration.
[0096] Those skilled in the art know that in addition to implementing the system and its various devices, modules, and units provided by the present invention in the form of pure computer-readable program code, the method steps can be logically programmed to enable the system and its various devices, modules, and units provided by the present invention to be implemented in the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers, etc. to achieve the same functions. Therefore, the system and its various devices, modules, and units provided by the present invention can be considered as a kind of hardware component, and the devices, modules, and units included therein for implementing various functions can also be regarded as the structures within the hardware component; the devices, modules, and units for implementing various functions can also be regarded as either software modules for implementing the method or structures within the hardware component.
[0097] The specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art can make various changes or modifications within the scope of the claims, which do not affect the essence of the present invention. Without conflict, the embodiments of the present application and the features in the embodiments can be combined with each other arbitrarily.
Claims
1. A system for centralized management and easy use of application configurations, characterized in that, Including: Access module: It is the operation entry of the system. Users log in to the web page to perform management and control operations on cluster grouping and configuration, and transmit request function module instructions, cluster information, configuration parameters, and user information to the function module. Function module: It includes cluster grouping management, namespace management, file proxy function, self-monitoring, cluster information, gray release, hierarchical gray scale, emergency plan management, command line, release history, version control, metadata management, and auditing. After the function module finishes execution, it carries the obtained changed configuration information into the basic resource module. Basic resource module: It belongs to the hardware resources relied on by the system architecture and the services based on the hardware resources. After the resources are updated, it triggers the listening mechanism, and the service client performs the next operation. Service client module: The configuration service client is integrated on the application, pulls the configuration information of the basic resource module, and updates its own configuration. In the access module: If there is no graphical interface on the server, use the command line to log in. The command line has two types: interactive and non-interactive. The interactive type is a question-and-answer method after logging in, which can debug and modify various configurations. The non-interactive type is convenient for writing scripts to batch modify configurations and can be executed regularly or by automated operation and maintenance. The api management interface provides the ability to operate the configuration through an interface. Other business systems perform application integration and secondary development. The application program interface is the interface for business system docking. The data configured on the server side is synchronized to the application program in real time through this interface. This interface is read-only for the configuration data. In the function module: Cluster grouping management: Divide the application programs into several relatively independent cluster groups. The application programs in different cluster groups adopt different configuration data, and the functions achieved include AB testing, user diversion, and fault isolation. Namespace management: Provide functions for creating, querying, and deleting namespaces, and perform operations of adding, deleting, modifying, and querying on the configuration and publish it. File proxy function: It is applicable to directly deploying a proxy program in the environment where the source application program is located without modifying the source application program. Through the proxy program, the configuration file of the application program can be modified, and the configuration of the application program can take effect by reloading or restarting. The file proxy function specifically includes: server-side file management service, application-side configuration proxy program. After the configuration proxy program is deployed, the system administrator uploads the configuration file on the server side of file management or directly clicks on the configuration file for editing; after editing, click the save button, and the server side saves the edited content; the user checks the content, and after there is no problem, selects to publish; the server side notifies the proxy program of the configuration modification; after the proxy program receives the notification, it obtains the latest configuration data file; the proxy program backs up the local configuration file and adds the latest configuration file obtained from the server side; it notifies the application program to reload the configuration or restart to read the latest configuration file.
2. The system for centralized management and easy use of application program configuration according to claim 1, characterized in that: Self-monitoring: Through the self-monitoring mechanism, obtain the running status of each node, and promptly discover and eliminate potential problems. Cluster Information: Displays each node of the system itself. In addition to the health status, it also includes information about each application using the configuration service, obtains the information of the applications currently using the configuration service, and understands the usage of this configuration module; Gray Release Function: Users can modify the configuration for error testing. After setting the gray scale range, they can perform gray release. If any abnormality is found, they can immediately abandon the gray release and control the error testing cost to the minimum; Graded Gray Release: Divides the originally once-released configuration data into several stages for release. After each stage of release is completed, it stops to observe and test whether the application is normal, enabling system administrators and operation and maintenance personnel to discover problems in a timely manner. The applicable scenarios include the release and online deployment of application programs and the release and modification of new configurations.
3. The system for centralized management and easy use of application configurations according to claim 2, wherein: Emergency Plan Management Function: Sets in advance the configurations that need to be modified for specific scenarios. When encountering the corresponding scenarios, it directly releases the configurations. System administrators and operation and maintenance personnel can conduct prior drills and prepare for configuration modifications for possible scenarios; Command Line: Provides two command line execution methods, interactive and non-interactive. Use the configuration center service at the command line terminal of the character interface and use the configuration center service by writing automation scripts.
4. The system for centralized management and easy use of application configurations according to claim 3, wherein: Release History: Details the release information, including the version numbers, configuration contents, release times, and release personnel of gray releases. Browsing the release history can view the previous modification records of the configuration and trace back the configuration; Version Control: Manages the release and rollback operations of versions, as well as the configuration data differences between two versions; Metadata Management: Records the configuration data of the configuration service itself, including the limit of the content length of configuration items, the differentiation dimension of namespaces, and cluster grouping information; Audit: Records information such as the modification time and modifier of the configuration in the form of audit logs, conducts permission control, and audits the operations.
5. The system for centralized management and easy use of application configuration according to claim 1, characterized in that, In the said basic resource module: It belongs to the hardware resources dependent on the system architecture and the services based on the hardware resources. The configuration data is stored using the Mysql database, and the data availability is ensured through the master-slave method. The interactive protocol is used to enable application programs to establish connections and transmit data. The notification mechanism is combined to effectively notify after configuration changes. Multiple instances are registered with each other through the microservice component Eureka to form a configuration service cluster to provide services externally, avoiding the unavailability of configurations caused by single-point failures.
6. The system for centralized management and easy use of application configuration according to claim 1, characterized in that, In the said service client module: The configuration service client program connects to the Spring framework and is integrated into the JUP development tool. By adding the configuration service address and access token, it can obtain configuration data from the configuration service. For application programs that do not use the Spring framework, the client calls the corresponding interfaces to obtain configurations. The interfaces have a caching mechanism. When the server adds or modifies configurations, the configuration service client can immediately perceive it and directly modify the in-memory configuration to achieve the purpose of dynamically adjusting the application program.
7. A method for centralized management and easy use of application configurations, characterized in that, Adopt the system for centralized management and easy use of application configurations described in claim 1, and the execution includes: Step S1: The business personnel enter the access layer module, perform identity authentication, and after obtaining identity and role authentication, enter the function module layer; Step S2: Obtain the basic function entry and capabilities to perform corresponding functions. After execution, obtain a data stream, and the data stream enters the basic layer; Step S3: The client program of the business party will receive a notification of the changed configuration, and directly modify the memory configuration accordingly to achieve dynamic publishing.
8. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method for centralized management and easy-to-use application program configuration described in claim 7.
Citation Information
Patent Citations
Big data cloud service centralized management and control system
CN104301412A
Operation management method of electric power system cloud simulation platform
CN104463492A
Model-based management of computer systems and distributed applications
US20050091227A1