CN111045745A - Method and system for managing configuration information - Google Patents

Method and system for managing configuration information Download PDF

Info

Publication number
CN111045745A
CN111045745A CN201811177274.2A CN201811177274A CN111045745A CN 111045745 A CN111045745 A CN 111045745A CN 201811177274 A CN201811177274 A CN 201811177274A CN 111045745 A CN111045745 A CN 111045745A
Authority
CN
China
Prior art keywords
configuration information
configuration
application program
synchronization
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811177274.2A
Other languages
Chinese (zh)
Inventor
罗庆辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Financial Technology Holding Co Ltd
Original Assignee
Beijing Jingdong Financial Technology Holding Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Financial Technology Holding Co Ltd filed Critical Beijing Jingdong Financial Technology Holding Co Ltd
Priority to CN201811177274.2A priority Critical patent/CN111045745A/en
Publication of CN111045745A publication Critical patent/CN111045745A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Abstract

The invention discloses a method and a system for managing configuration information, and relates to the technical field of computers. One embodiment of the method comprises: after the configuration information of the application program is changed, sending a change notification to a client where the application program is located; after receiving the change notification, the client sends a configuration information synchronization request; and receiving the configuration information synchronization request, and returning the changed configuration information to the client. The implementation method can realize the real-time perception of the application program on the change of the configuration information in a data pushing mode of the server side.

Description

Method and system for managing configuration information
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method and a system for managing configuration information.
Background
In a distributed system and a micro-service system, system integration configuration information, switch degradation configuration information, black and white list configuration information, service configuration information and the like of an application program are basic data for driving the normal operation of the whole system service, and need to be managed and issued dynamically in a unified manner.
In the prior art, there are mainly two kinds of configuration information management systems. The first implementation is based on Zookeeper (a distributed application coordination service), and when configuration information on a Zookeeper node is changed, changes are sensed in real time through a monitoring mechanism and a corresponding client is notified. The system lacks a local persistence mechanism, and service failure is easily caused when a server fails or a local cache is unavailable. The second implementation is based on Spring (an open source Java design platform, Java is a programming language), and the client initiates a network request at regular time and pulls configuration information from the server. The system adopts a timing pulling mechanism, and the synchronization of the configuration information has the problem of weak timeliness. In addition, the two systems adopt a single client-side data pulling mode, and the data synchronization effect is poor.
Disclosure of Invention
In view of this, embodiments of the present invention provide a method and a system for managing configuration information, which can implement real-time perception of configuration information change by an application program in a manner that a server pushes data.
To achieve the above object, according to one aspect of the present invention, there is provided a method of managing configuration information.
The method for managing the configuration information comprises the following steps: after the configuration information of the application program is changed, sending a change notification to a client where the application program is located; after receiving the change notification, the client sends a configuration information synchronization request; and receiving the configuration information synchronization request, and returning the changed configuration information to the client.
Optionally, the method further comprises: after the application program is started, establishing long connection with the client; wherein the long connection is used to send the change notification to the client; after returning the changed configuration information to the client, the client stores the changed configuration information to a local cache and a local file; wherein the configuration information in the local cache is readable by the application.
Optionally, the configuration information includes configuration item data and configuration version data corresponding to the configuration item data; and, the method further comprises: receiving a timing synchronization request sent by the client at regular time; wherein, the timing synchronization request carries the identifier of the application program; responding to the timing synchronization request, and returning the current configuration information of the application program to the client by utilizing a synchronization configuration interface; after receiving the current configuration information, the client compares the current configuration information with corresponding configuration item data in the configuration information of the application program in a local cache: when the configuration version data of the corresponding configuration item data are inconsistent, updating the configuration item data in the current configuration information to a local cache; and after the updating of the local cache is finished, updating the current configuration information of the application program in the local cache to a local file.
Optionally, the method further comprises: receiving a first synchronization request sent by the client; the first synchronization request is sent when the application program is started for the first time, and carries an identifier of the application program; responding to the first synchronization request, and returning the current configuration information of the application program to the client by using a synchronization configuration interface; after receiving the configuration information, the client stores the configuration information into a local cache and a local file.
Optionally, the method further comprises: receiving a configuration information pushing request sent by the client; the configuration information pushing request carries an identifier of the application program and configuration information of automatic change of the application program stored in a local cache; and acquiring the automatically changed configuration information from the configuration information pushing request, and storing the automatically changed configuration information into a cache and a database.
To achieve the above object, according to another aspect of the present invention, there is provided a system for managing configuration information.
The system for managing configuration information according to the embodiment of the present invention may include: the system comprises a configuration management system, a storage system, a notification system, a data interaction system and a configuration synchronization system, wherein the configuration management system, the storage system, the notification system and the data interaction system are arranged at a server side, and the configuration synchronization system is arranged at a client side where an application program is located; the configuration management system can be used for sending a configuration change request to the notification system after monitoring that the configuration information of the application program is changed, and sending the changed configuration information to the storage system for storage; the notification system can be used for converting the received configuration change request into a change notification and sending the change notification to the configuration synchronization system; the configuration synchronization system can be used for sending a configuration information synchronization request to the data interaction system after receiving the change notification; the data interaction system may be configured to, after receiving the configuration information synchronization request, obtain the changed configuration information from the storage system and return the changed configuration information to the configuration synchronization system.
Optionally, the configuration synchronization system may be further configured to: after the application program is started, establishing long connection with a notification system; wherein the long connection is to receive the change notification by a configuration synchronization system; after receiving the changed configuration information, storing the changed configuration information into a local cache and a local file; wherein the configuration information in the local cache is readable by the application.
Optionally, the configuration information includes configuration item data and configuration version data corresponding to the configuration item data; the data interaction system may be further operable to: receiving a timing synchronization request sent by a configuration synchronization system at a fixed time; wherein, the timing synchronization request carries the identifier of the application program; responding to the timing synchronization request, and returning the current configuration information of the application program acquired from the storage system to the configuration synchronization system by using a synchronization configuration interface; configuring the synchronization system to further: after receiving the current configuration information, comparing the current configuration information with corresponding configuration item data in the configuration information of the application program in a local cache: when the configuration version data of the corresponding configuration item data are inconsistent, updating the configuration item data in the current configuration information to a local cache; and after the updating of the local cache is finished, updating the current configuration information of the application program in the local cache to a local file.
Optionally, the data interaction system may be further configured to: receiving a first synchronization request sent by a configuration synchronization system; the first synchronization request is sent when the application program is started for the first time, and carries an identifier of the application program; responding to the first synchronization request, and returning the current configuration information of the application program, which is acquired from the storage system, to the configuration synchronization system by using a synchronization configuration interface; the configuration synchronization system may be further operable to: after receiving the configuration information, the configuration information is stored in a local cache and a local file.
Optionally, the data interaction system may be further configured to: receiving a configuration information pushing request sent by a configuration synchronization system; the configuration information pushing request carries an identifier of the application program and configuration information of automatic change of the application program stored in a local cache; acquiring the automatically changed configuration information from the configuration information pushing request, and storing the automatically changed configuration information into a storage system; the storage system comprises a cache and a database.
According to the technical scheme of the invention, one embodiment of the invention has the following advantages or beneficial effects:
firstly, monitoring configuration information of a server, and sending a change notification to a client through a notification system and a pre-established long connection after the configuration information is changed; and after receiving the change notification, the client sends a request to the server to acquire the updated configuration information. Through the arrangement, the invention can realize the real-time perception of the change of the configuration information through the mode of pushing data by the server.
Secondly, in order to further ensure the high availability of the configuration information, the client can send a request to the server at regular time to acquire the latest configuration information of the server, and judge whether the locally stored configuration information is overdue or not by comparing the configuration versions, so as to determine whether the configuration information is updated or not. Through the arrangement, the invention provides a timing synchronization configuration information mechanism based on client pulling, and the timing synchronization configuration information mechanism is combined with a real-time synchronization configuration information mechanism to improve the synchronization timeliness of configuration information and realize the final consistency guarantee of the configuration information.
Thirdly, when the configuration information of the client is changed due to the fact that the configuration information meets the triggering condition, the method and the system can enable the client to directly push the changed configuration information to the server based on a mechanism that the client pushes data, and therefore bidirectional synchronization of the configuration information between the server and the client is achieved. In addition, the invention sets a storage scheme combining the local cache and the local file at the client, and when the server is unavailable, the configuration information can be read from the local file and loaded to the local cache, thereby improving the availability of the system.
Further effects of the above-mentioned non-conventional alternatives will be described below in connection with the embodiments.
Drawings
The drawings are included to provide a better understanding of the invention and are not to be construed as unduly limiting the invention. Wherein:
FIG. 1 is a schematic diagram of a server-side interaction and a client-side interaction of a method for managing configuration information according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of components of a system for managing configuration information in an embodiment of the invention;
FIG. 3 is a schematic diagram of first-load configuration information for a system for managing configuration information according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of real-time synchronization configuration information for a system for managing configuration information according to an embodiment of the present invention;
fig. 5 is a schematic diagram of timing synchronization configuration information of a system for managing configuration information according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present invention are described below with reference to the accompanying drawings, in which various details of embodiments of the invention are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
It should be noted that the embodiments of the present invention and the technical features of the embodiments may be combined with each other without conflict.
Fig. 1 is a schematic diagram of interaction between a server and a client according to an embodiment of the present invention.
As shown in fig. 1, the method for managing configuration information according to the embodiment of the present invention may be specifically performed according to the following steps:
step S101: and after the configuration information of the application program is changed, the server side sends a change notification to the client side where the application program is located.
In this step, the application program may be various application programs designed using a programming language such as Java, such as a Web program (network program), a system program, and the like, or may be software APP installed in the intelligent terminal. The configuration information of the application program can be newly created, deleted or modified by staff at the server side, and needs to be synchronized to the client side where the application program is located for the application program to use, so that a normal business process is realized. In a specific application, the total configuration information (i.e. all required configuration information) of an application program is composed of a plurality of configuration items, each configuration item is composed of configuration item data and configuration version data, and whether the configuration item data is the current latest configuration data can be judged through the configuration version data.
In the embodiment of the invention, the server side monitors whether the configuration information is changed, and when the configuration information is changed, the server side sends a change message to the client side where the application program is located through a notification mechanism, so that the client side knows that the application program is changed. Typically, the change message may carry an identifier of the application. It should be noted that the change of the configuration information includes new creation, modification, and deletion of the configuration information. In specific application, after an application program is started at a client, a server establishes long connection with the client; and after monitoring that the configuration information is changed, the server side can send a change notice to the client side through the long connection. Illustratively, the long connection can be implemented based on a framework such as Netty (a Java open source framework), Tomcat (an open source Web application framework), and the like.
Step S102: after receiving the change notification, the client sends a configuration information synchronization request to the server to acquire the changed configuration information. In a specific application, the client sends the configuration information request to call a corresponding interface for providing configuration data by the server, so as to obtain the changed configuration information.
Step S103: and the server side receives the configuration information synchronization request and returns the changed configuration information to the client side.
In this step, the server may return the changed configuration information to the client according to the corresponding interface providing the configuration data. And after receiving the changed configuration information, the client stores the changed configuration information in a local cache and a local file. The local cache refers to a cache system occupying a memory of the client, and the local file refers to a file occupying a disk space of the client. It is worth mentioning that in the embodiment of the present invention, the client uses a storage scheme combining a local cache and a local file, when the server is available, the system can load the configuration information from the server to the local cache, so as to be efficiently read by the application program; when the server is unavailable, the system can read the configuration information from the local file and load the configuration information into the local cache for the application program to use, thereby improving the system availability.
Through the steps, the invention realizes the real-time synchronization of the configuration information from the server to the client by using the mode that the server pushes data (namely, the server actively sends the change message to the client to trigger the synchronization of the configuration information).
As a preferred scheme, the present invention further provides a scheme for pulling the data synchronization configuration information at regular time by the client. Specifically, the client sends a timing synchronization request carrying an application program identifier to the server at regular time. The "timing" may be determined according to a preset timing policy, for example, "once every 30 seconds", "monday to friday every week, once every 10 seconds", and the like may be used as the timing policy. And after receiving the timing synchronization request, the server returns the current configuration information of the application program to the client by using the synchronization configuration interface. The synchronous configuration interface is used for acquiring configuration data and sending the configuration data to the client. After receiving the current configuration information, the client compares the current configuration information with corresponding configuration item data in the configuration information of the application program in the local cache: if the configuration version data of the corresponding configuration item data are consistent, no processing is performed; and if the configuration version data of the corresponding configuration item data are not consistent, updating the configuration item data in the current configuration information to a local cache. And after the updating of the local cache is finished, updating the full configuration information of the application program in the local cache to the local file.
In this way, by combining the timing synchronization configuration information scheme and the real-time synchronization configuration information scheme, the client can sense and read the latest configuration information at the first time, and the final consistency and availability of the configuration information can be ensured.
In practical applications, configuration information is often modified by staff at a server and is changed, so the configuration information is generally synchronized from the server to a client, but in some cases, the client may also automatically change the configuration information due to the satisfaction of a trigger condition, for example, when the trigger condition is satisfied, the configuration information of a certain function or an interface of the client may be automatically changed, and at this time, the changed configuration information needs to be synchronized to the server. Specifically, a client sends a configuration information pushing request to a server, wherein the configuration information pushing request carries an identification of an application program and configuration information of automatic change of the application program stored in a local cache; and after receiving the configuration information pushing request, the server side acquires the automatically changed configuration information from the configuration information pushing request and stores the configuration information into a cache and a database of the server side. The cache can adopt distributed cache JIMDB, and the database can be implemented based on MYSQL (a database management system). Thus, the synchronization of the configuration information from the client to the server is realized in a mode that the client pushes data.
In an actual application scenario, when an application program is started at a client for the first time, configuration information needs to be loaded from a server according to the following steps: after the application program is started for the first time, the client sends a first synchronization request to the server, wherein the first synchronization request carries an identifier of the application program; after receiving the first synchronization request, the server returns the current configuration information of the application program to the server by using a synchronization configuration interface; after receiving the configuration information, the client stores the configuration information into a local cache and a local file. Therefore, the mode that the client pulls the data realizes the synchronization of the configuration information from the server to the client when the application program is started for the first time.
In the technical scheme of the embodiment of the invention, the cache system such as JIMDB and the like can be combined with the framework such as Netty and the like to replace the Zookeeper framework widely used in the prior art, the problems of configuration information consistency, flexible capacity expansion and the like can be successfully solved, and meanwhile, the cache system has the advantages of excellent communication performance, high availability and the like and supports the access of a large number of application programs.
It should be noted that, for the convenience of description, the foregoing method embodiments are described as a series of acts, but those skilled in the art will appreciate that the present invention is not limited by the order of acts described, and that some steps may in fact be performed in other orders or concurrently. Moreover, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no acts or modules are necessarily required to implement the invention.
To facilitate a better implementation of the above-described aspects of embodiments of the present invention, the following also provides related systems for implementing the above-described aspects.
Referring to fig. 2, a system for managing configuration information according to an embodiment of the present invention includes: the configuration management system, the storage system, the notification system, the data interaction system and the configuration synchronization system are arranged at the server side, and the configuration synchronization system is arranged at the client side where the application program is located.
Preferably, the configuration management system is used as an entrance for configuration information maintenance and manual operation, is used for managing configuration information and configuration strategies, and is responsible for system management work. In a specific application, the configuration management system can be implemented based on a computer cluster, and comprises the following units:
and the configuration maintenance unit is used for providing an interface for a worker to operate and realizing the new establishment, modification and deletion of configuration information.
And the historical version rolling-back unit is used for displaying and enabling the historical version of the configuration information to be effective.
And the configuration dependency unit is used for managing the dependency relationship between the configuration information.
And the dynamic configuration unit is used for realizing dynamic loading of the configuration items.
And the configuration persistence unit is used for storing the changed configuration information into a database and a cache in the storage system.
And the gray strategy unit is used for managing the deployment proportion of the configuration information in the application program. For example, after the configuration information is changed, the application program with a smaller proportion can be deployed first, and after the detection result shows that the effect is better, the application program with a larger proportion is popularized.
And the black and white list strategy unit is used for setting a black list and a white list aiming at the user.
And the configuration version unit is used for managing the configuration version data in the configuration information.
And the configuration validation policy unit is used for setting the validation policy of the configuration information.
The configuration change monitoring unit is used for monitoring whether the configuration information is changed; and when monitoring that the configuration information is changed, sending a configuration change request to a notification system.
In addition, the configuration management system also has the functions of user management, authority management, monitoring alarm, data synchronization management and the like.
Preferably, the storage system in the embodiment of the present invention is configured to store the configuration information at the server, and the storage system is composed of a cache and a database. The cache is used for data interaction with the data interaction system, and the database is used for persistence of configuration information. In practical application, the cache can adopt distributed cache JIMDB, the database can be realized based on MYSQL, and the storage system can be realized based on a computer cluster.
As a preferred scheme, the notification system is configured to send a notification to the client after the configuration information of the server is changed. The notification system can comprise a notification interface and a communication server, wherein the notification interface can be called by the configuration change monitoring unit and receives the configuration change request sent by the configuration change monitoring unit. The notification interface may then convert the configuration change request to a change notification to be sent to the communication server. The communication server corresponds to a communication client in the configuration synchronization system to be described below, and the communication server and the communication client may be based on the same application framework, such as a Netty server and a Netty client. In practical application, after an application program is started, a communication client in a configuration synchronization system of a client where the application program is located actively initiates a request, and long connection is established with a communication server for subsequent notification issuing. Generally, the notification system may be implemented based on a cluster of computers.
In some embodiments, the data interaction system is configured to directly interact with the client, and send the server-side changed configuration information to the client or obtain the client-side changed configuration information from the client. The data interaction system can comprise an identity authentication unit and a synchronous configuration interface, wherein the identity authentication unit is used for identifying the user authority of the client and the like, and the synchronous configuration interface is used for interacting configuration information with the client. Generally, the data interaction system may be implemented based on a cluster of computers.
In the embodiment of the invention, the configuration synchronization system is arranged on the client and can be realized by integrating the corresponding software development kit through the client. The configuration synchronization system can comprise a real-time synchronization unit, a first time synchronization unit, a timing synchronization unit, an event monitoring unit, a communication client, a local cache and a local file. The real-time synchronization unit is used for acquiring changed configuration information after the communication client receives the change notification; the first-time synchronization unit is used for loading the configuration information when the application program is started for the first time, and is also used for reading the latest configuration information from the local file and loading the latest configuration information to the local cache for the application program to use when the server is unavailable; the timing synchronization unit is used for acquiring latest configuration information at fixed time; the event monitoring unit is used for automatically triggering a user self-defining method when the configuration information is changed; both the local cache and the local file depend on the hardware resources of the client.
The specific flow of the above system for managing configuration information in different application scenarios will be described in detail below.
FIG. 3 is a diagram illustrating first-load configuration information for a system for managing configuration information according to an embodiment of the present invention. As shown in fig. 3, when the application program is started for the first time, the specific execution steps are as follows:
step S301: the client integrates corresponding software development toolkits in advance to load and configure the synchronous system. When the application program is started at the client, the first time synchronization unit in the application program is automatically triggered.
Step S302: the first-time synchronization unit triggers the communication client to send a request to the communication server to establish duplex long connection, and provides a disconnection automatic reconnection mechanism to guarantee the availability of connection resources.
Step S303: the first synchronization unit initiates a first synchronization request to the data interaction system to call a synchronization configuration interface.
Step S, 304: and the data interaction system acquires the full configuration information of the application program from the storage system through the synchronous configuration interface and returns the full configuration information to the primary synchronization unit.
Step S305: the first time synchronization unit updates the received full configuration information to a local cache and a local file, and the application program can read the configuration information from the local cache.
Through the steps, the synchronization of the configuration information from the server to the client when the application program is started for the first time can be realized based on the mode that the client pulls the data.
Fig. 4 is a schematic diagram of real-time synchronization configuration information of a system for managing configuration information according to an embodiment of the present invention, as shown in fig. 4, the specific steps are as follows:
step S401: after the configuration information of the configuration management system is changed, the configuration persistence unit updates the changed configuration information to the storage system.
Step S402: the configuration change monitoring unit acquires the changed configuration information and sends a configuration change request to the notification system to call a notification interface in the notification system.
Step S403: the notification interface converts the configuration change request into a change notification and sends the change notification to the communication server.
Step S404: the communication service side determines a connection channel of the corresponding communication client side from the connection resource pool, and sends the change notice to the communication client side through the connection channel. The connection channel is a transmission path of input data and output data, and may be a channel component of a Netty framework.
Step S405: and after monitoring the change notification, the real-time synchronization unit sends a configuration information synchronization request to the data interaction system to call a synchronization configuration interface.
Step S406: and the data interaction system acquires the changed configuration information from the storage system by using the synchronous configuration interface and returns the changed configuration information to the real-time synchronization unit.
Step S407: and the real-time synchronization unit receives the changed configuration information and stores the changed configuration information into a local cache and a local file.
Through the steps, the real-time synchronization of the configuration information from the server side to the client side can be realized based on the mode of pushing data by the server side.
Fig. 5 is a schematic diagram of timing synchronization configuration information of a system for managing configuration information according to an embodiment of the present invention, as shown in fig. 5, specifically executed steps are as follows:
step S501: the timing synchronization unit periodically initiates a timing synchronization request to the data interaction system to call a synchronization configuration interface.
Step S502: and the data interaction system acquires the full configuration information of the application program from the storage system by using the synchronous configuration interface and returns the full configuration information to the timing synchronization unit.
Step S503: the timing synchronization unit compares the received configuration information with the corresponding configuration item data in the local cache in configuration version: if the configuration version data of the corresponding configuration item data are consistent, no processing is performed; and if the configuration version data of the corresponding configuration item data are not consistent, updating the configuration item data in the current configuration information to a local cache.
Step S504: and after the local cache is updated, the timing synchronization unit updates the full configuration information of the application program in the local cache to the local file. Therefore, timing synchronization of configuration information from the server to the client can be realized based on a mode of pulling data by the client.
Through the steps, the first start synchronization, the real-time synchronization and the timing synchronization of the client configuration information can be realized. In addition, when the triggering condition is met and the configuration information of the client is automatically changed, the configuration synchronization system sends a configuration information pushing request to the data interaction system, wherein the configuration information pushing request carries the identification of the application program and the configuration information of the automatic change of the application program stored in the local cache; the data interaction system receives the configuration information pushing request, acquires the automatically changed configuration information from the configuration information pushing request, and stores the automatically changed configuration information into the storage system, so that the synchronization of the configuration information from the client to the server is realized in a mode of pushing data by the client, and the bidirectional efficient synchronization of the configuration information between the server and the client is further realized.
It should be noted that, although the above details each unit in the configuration management system, the storage system, the notification system, the data interaction system and the configuration synchronization system, this does not set any limit to the system composition and the application scenario of the technical solution of the present invention, each unit in each system is not necessary to the technical solution of the present invention, and in practical application, a specific functional unit may be set according to business requirements.
In the technical scheme of the embodiment of the invention, a cache system such as JIMDB and a framework such as Netty can be combined to replace a Zookeeper framework widely used in the prior art, the problems of rapid perception of configuration change (millisecond synchronization can be realized), consistency of configuration information, flexible capacity expansion and the like are successfully solved, and meanwhile, the method has the advantages of excellent communication performance, high availability and the like and supports the access of a large number of application programs.
The above-described embodiments should not be construed as limiting the scope of the invention. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions can occur, depending on design requirements and other factors. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (10)

1. A method of managing configuration information, comprising:
after the configuration information of the application program is changed, sending a change notification to a client where the application program is located; after receiving the change notification, the client sends a configuration information synchronization request;
and receiving the configuration information synchronization request, and returning the changed configuration information to the client.
2. The method of claim 1, further comprising:
after the application program is started, establishing long connection with the client; wherein the long connection is used to send the change notification to the client;
after returning the changed configuration information to the client, the client stores the changed configuration information to a local cache and a local file; wherein the configuration information in the local cache is readable by the application.
3. The method of claim 1, wherein the configuration information includes configuration item data and configuration version data corresponding to the configuration item data; and, the method further comprises:
receiving a timing synchronization request sent by the client at regular time; wherein, the timing synchronization request carries the identifier of the application program;
responding to the timing synchronization request, and returning the current configuration information of the application program to the client by utilizing a synchronization configuration interface; wherein the content of the first and second substances,
after the client receives the current configuration information, comparing the current configuration information with corresponding configuration item data in the configuration information of the application program in a local cache: when the configuration version data of the corresponding configuration item data are inconsistent, updating the configuration item data in the current configuration information to a local cache; and after the updating of the local cache is finished, updating the current configuration information of the application program in the local cache to a local file.
4. The method of claim 1, further comprising:
receiving a first synchronization request sent by the client; the first synchronization request is sent when the application program is started for the first time, and carries an identifier of the application program;
responding to the first synchronization request, and returning the current configuration information of the application program to the client by using a synchronization configuration interface; after receiving the configuration information, the client stores the configuration information into a local cache and a local file.
5. The method according to any one of claims 1-4, wherein the method further comprises:
receiving a configuration information pushing request sent by the client; the configuration information pushing request carries an identifier of the application program and configuration information of automatic change of the application program stored in a local cache;
and acquiring the automatically changed configuration information from the configuration information pushing request, and storing the automatically changed configuration information into a cache and a database.
6. A system for managing configuration information, comprising: the system comprises a configuration management system, a storage system, a notification system, a data interaction system and a configuration synchronization system, wherein the configuration management system, the storage system, the notification system and the data interaction system are arranged at a server side, and the configuration synchronization system is arranged at a client side where an application program is located; wherein the content of the first and second substances,
the configuration management system is used for sending a configuration change request to the notification system after monitoring that the configuration information of the application program is changed, and sending the changed configuration information to the storage system for storage;
the notification system is used for converting the received configuration change request into a change notification and sending the change notification to the configuration synchronization system;
the configuration synchronization system is used for sending a configuration information synchronization request to the data interaction system after receiving the change notification;
and the data interaction system is used for acquiring the changed configuration information from the storage system and returning the changed configuration information to the configuration synchronization system after receiving the configuration information synchronization request.
7. The system of claim 6, wherein the configuration synchronization system is further configured to:
after the application program is started, establishing long connection with a notification system; wherein the long connection is to receive the change notification by a configuration synchronization system; after receiving the changed configuration information, storing the changed configuration information into a local cache and a local file; wherein the configuration information in the local cache is readable by the application.
8. The system of claim 6, wherein the configuration information includes configuration item data and configuration version data corresponding to the configuration item data; and the number of the first and second groups,
the data interaction system is further configured to: receiving a timing synchronization request sent by a configuration synchronization system at a fixed time; wherein, the timing synchronization request carries the identifier of the application program; responding to the timing synchronization request, and returning the current configuration information of the application program acquired from the storage system to the configuration synchronization system by using a synchronization configuration interface;
configuring the synchronization system to further: after receiving the current configuration information, comparing the current configuration information with corresponding configuration item data in the configuration information of the application program in a local cache: when the configuration version data of the corresponding configuration item data are inconsistent, updating the configuration item data in the current configuration information to a local cache; and after the updating of the local cache is finished, updating the current configuration information of the application program in the local cache to a local file.
9. The system of claim 6,
the data interaction system is further configured to: receiving a first synchronization request sent by a configuration synchronization system; the first synchronization request is sent when the application program is started for the first time, and carries an identifier of the application program; responding to the first synchronization request, and returning the current configuration information of the application program, which is acquired from the storage system, to the configuration synchronization system by using a synchronization configuration interface;
configuring the synchronization system to further: after receiving the configuration information, the configuration information is stored in a local cache and a local file.
10. The system of any of claims 6-9, wherein the data interaction system is further configured to:
receiving a configuration information pushing request sent by a configuration synchronization system; the configuration information pushing request carries an identifier of the application program and configuration information of automatic change of the application program stored in a local cache; acquiring the automatically changed configuration information from the configuration information pushing request, and storing the automatically changed configuration information into a storage system; the storage system comprises a cache and a database.
CN201811177274.2A 2018-10-10 2018-10-10 Method and system for managing configuration information Pending CN111045745A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811177274.2A CN111045745A (en) 2018-10-10 2018-10-10 Method and system for managing configuration information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811177274.2A CN111045745A (en) 2018-10-10 2018-10-10 Method and system for managing configuration information

Publications (1)

Publication Number Publication Date
CN111045745A true CN111045745A (en) 2020-04-21

Family

ID=70228917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811177274.2A Pending CN111045745A (en) 2018-10-10 2018-10-10 Method and system for managing configuration information

Country Status (1)

Country Link
CN (1) CN111045745A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858524A (en) * 2020-07-27 2020-10-30 北京百川盈孚科技有限公司 Data synchronization method and device
CN111881148A (en) * 2020-06-18 2020-11-03 北京三快在线科技有限公司 Object combination attribute determination method and device and electronic equipment
CN112445864A (en) * 2020-12-11 2021-03-05 北京北信源软件股份有限公司 Organization personnel information synchronization method and device, electronic equipment and storage medium
CN112559025A (en) * 2020-12-16 2021-03-26 中国人寿保险股份有限公司 Configuration information updating synchronization method and equipment
CN112650545A (en) * 2020-12-30 2021-04-13 邦邦汽车销售服务(北京)有限公司 Configuration management system, method and storage medium
CN112988329A (en) * 2021-03-22 2021-06-18 北京思特奇信息技术股份有限公司 Container configuration management method and system
CN113656098A (en) * 2021-08-13 2021-11-16 上海哔哩哔哩科技有限公司 Configuration acquisition method and system
CN115134239A (en) * 2022-08-31 2022-09-30 广州市千钧网络科技有限公司 Client configuration method, system, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222969A1 (en) * 2004-04-06 2005-10-06 Microsoft Corporation Centralized configuration data management for distributed clients
CN107154922A (en) * 2016-03-04 2017-09-12 北京京东尚科信息技术有限公司 Configuration management system and configuring management method
CN107947960A (en) * 2017-10-13 2018-04-20 用友网络科技股份有限公司 The method for pushing and system of configuration information, the method for reseptance and system of configuration information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050222969A1 (en) * 2004-04-06 2005-10-06 Microsoft Corporation Centralized configuration data management for distributed clients
CN107154922A (en) * 2016-03-04 2017-09-12 北京京东尚科信息技术有限公司 Configuration management system and configuring management method
CN107947960A (en) * 2017-10-13 2018-04-20 用友网络科技股份有限公司 The method for pushing and system of configuration information, the method for reseptance and system of configuration information

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881148A (en) * 2020-06-18 2020-11-03 北京三快在线科技有限公司 Object combination attribute determination method and device and electronic equipment
CN111858524A (en) * 2020-07-27 2020-10-30 北京百川盈孚科技有限公司 Data synchronization method and device
CN112445864A (en) * 2020-12-11 2021-03-05 北京北信源软件股份有限公司 Organization personnel information synchronization method and device, electronic equipment and storage medium
CN112445864B (en) * 2020-12-11 2024-03-26 北京北信源软件股份有限公司 Organization personnel information synchronization method and device, electronic equipment and storage medium
CN112559025A (en) * 2020-12-16 2021-03-26 中国人寿保险股份有限公司 Configuration information updating synchronization method and equipment
CN112650545A (en) * 2020-12-30 2021-04-13 邦邦汽车销售服务(北京)有限公司 Configuration management system, method and storage medium
CN112988329A (en) * 2021-03-22 2021-06-18 北京思特奇信息技术股份有限公司 Container configuration management method and system
CN113656098A (en) * 2021-08-13 2021-11-16 上海哔哩哔哩科技有限公司 Configuration acquisition method and system
CN113656098B (en) * 2021-08-13 2024-02-06 上海哔哩哔哩科技有限公司 Configuration acquisition method and system
CN115134239A (en) * 2022-08-31 2022-09-30 广州市千钧网络科技有限公司 Client configuration method, system, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN111045745A (en) Method and system for managing configuration information
CN111800282B (en) Network system, instance management and control method, device and storage medium
EP3490224B1 (en) Data synchronization method and system
CN110990047B (en) Fusion method and device for multiple microservice architectures
CN111800285B (en) Instance migration method and device and electronic equipment
CN107404509B (en) Distributed service configuration system and information management method
CN113296903A (en) Edge cloud system, edge control method, control node and storage medium
CN104935672A (en) High available realizing method and equipment of load balancing service
CN113742031B (en) Node state information acquisition method and device, electronic equipment and readable storage medium
CN104065517A (en) Distributed-system software configuration management method and system
CN112910937B (en) Object scheduling method and device in container cluster, server and container cluster
CN111459639A (en) Distributed task management platform and method supporting global multi-machine-room deployment
CN112015744A (en) Configuration data access method, device, equipment, configuration center and storage medium
EP3457668B1 (en) Clustering in unified communication and collaboration services
CN113765690A (en) Cluster switching method, system, device, terminal, server and storage medium
CN109344202B (en) Data synchronization method and management node
CN106534758B (en) Conference backup method and device
CN104052799A (en) Method for achieving high availability storage through resource rings
CN114900449B (en) Resource information management method, system and device
CN114598711B (en) Data migration method, device, equipment and medium
CN116319963A (en) Service management method, system, terminal equipment and storage medium
CN114301909B (en) Edge distributed management and control system, method, equipment and storage medium
CN116260827A (en) Election method, election system and related device of leader in cluster
CN112751693B (en) Data processing method and device of distributed storage system and electronic equipment
CN115550424B (en) Data caching method, device, equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant after: Jingdong Technology Holding Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant before: Jingdong Digital Technology Holding Co.,Ltd.

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant after: Jingdong Digital Technology Holding Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant before: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address after: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant after: JINGDONG DIGITAL TECHNOLOGY HOLDINGS Co.,Ltd.

Address before: 101111 Room 221, 2nd Floor, Block C, 18 Kechuang 11th Street, Beijing Economic and Technological Development Zone

Applicant before: BEIJING JINGDONG FINANCIAL TECHNOLOGY HOLDING Co.,Ltd.