Configuration information publishing method and apparatus, electronic device, and storage medium

By utilizing the RPC registration and discovery mechanism and distributed scheduling framework, configuration information synchronization was achieved, resolving the operational and maintenance difficulties caused by independent configuration center services and improving the stability and availability of the system.

CN116614357BActive Publication Date: 2026-06-16JD DIGITS HAIYI INFORMATION TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
JD DIGITS HAIYI INFORMATION TECHNOLOGY CO LTD
Filing Date
2023-05-11
Publication Date
2026-06-16

AI Technical Summary

Technical Problem

In the configuration information publishing system, the independent configuration center service makes operation and maintenance more difficult.

Method used

The registration and discovery mechanism of Remote Procedure Call (RPC) is used to obtain the client nodes that need to synchronize configuration information, and the configuration information is synchronized to the client nodes through a distributed scheduling framework, thus avoiding the use of a separate configuration center service.

Benefits of technology

It reduces the complexity of configuration publishing, improves system stability and availability, and avoids configuration information synchronization failures caused by client thread failures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116614357B_ABST
    Figure CN116614357B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a configuration information publishing method and device, electronic equipment and storage medium. The configuration information publishing method comprises: in the case of receiving a configuration information publishing instruction, obtaining a client node that needs to be synchronized with configuration information based on a registration and discovery mechanism of remote procedure call (RPC), and then synchronizing the to-be-synchronized configuration information corresponding to the client node to the client node through a distributed scheduling framework. The configuration information publishing method provided by the present disclosure can reduce the difficulty of system operation and maintenance, and improve the stability and availability of the configuration information publishing system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of communications, and more particularly to a method, apparatus, electronic device, and storage medium for publishing configuration information. Background Technology

[0002] In related technologies, the publication of configuration information in a distributed environment mainly relies on a separate configuration center service. Specifically, a separate configuration center service can be set up, and each service on the client node can pull its corresponding configuration information from the independent configuration center service when it starts up. However, setting up and using a separate configuration center service makes the operation and maintenance of the configuration information publication system more difficult. Summary of the Invention

[0003] This disclosure provides a configuration information publishing method, apparatus, electronic device, and storage medium to at least solve the problem of high maintenance difficulty in configuration information publishing systems in related technologies. The technical solution of this disclosure is as follows:

[0004] According to a first aspect of the present disclosure, a configuration information publishing method is provided, comprising:

[0005] Upon receiving a configuration information publishing instruction, the client nodes that need to synchronize configuration information are obtained based on the registration and discovery mechanism of Remote Procedure Call (RPC).

[0006] The configuration information to be synchronized for the client node is synchronized to the client node through a distributed scheduling framework.

[0007] In one possible implementation, the registration and discovery mechanism based on Remote Procedure Call (RPC) to obtain client nodes that need to synchronize configuration information includes:

[0008] The RPC-based registration and discovery mechanism obtains all client nodes that need to synchronize configuration information, as well as the services of each client node.

[0009] In one possible implementation, synchronizing the configuration information to be synchronized to the client node includes:

[0010] The configuration information to be synchronized for each service of the i-th client node is synchronized to the i-th client node; where i ∈ [1, m], m is the number of client nodes, and m ∈ N. * , i∈N * .

[0011] In one possible implementation, after synchronizing the configuration information to be synchronized to the client node, the method further includes:

[0012] Based on the distributed scheduling framework, determine whether the local configuration information corresponding to the service of the client node is different from the configuration information to be synchronized corresponding to the service of the client node;

[0013] If the local configuration information corresponding to the service on the client node is different from the configuration information to be synchronized corresponding to the service on the client node, the configuration information to be synchronized corresponding to the service on the client node will be synchronized to the client node.

[0014] In one possible implementation, determining whether the local configuration information corresponding to the service of the client node differs from the configuration information to be synchronized corresponding to the service of the client node based on the distributed scheduling framework includes:

[0015] By using the task node corresponding to the j-th client node, obtain the local configuration information corresponding to each service of the j-th client node; where j∈[1, m], m is the number of client nodes, and m∈N * , j∈N * ;

[0016] By using the task node corresponding to the j-th client node, determine whether the local configuration information corresponding to each service of the j-th client node is different from the configuration information to be synchronized corresponding to each service of the j-th client node.

[0017] According to a second aspect of the present disclosure, a configuration information publishing device is provided, comprising:

[0018] The acquisition module is used to acquire the client nodes that need to synchronize configuration information based on the registration and discovery mechanism of Remote Procedure Call (RPC) when a configuration information publishing instruction is received.

[0019] The first synchronization module is used to synchronize the configuration information to be synchronized to the client node through a distributed scheduling framework.

[0020] In one possible implementation, the acquisition module includes:

[0021] The first acquisition unit is used to acquire all client nodes that need to synchronize configuration information based on the RPC registration and discovery mechanism, and to acquire the services of each client node.

[0022] In one possible implementation, the first synchronization module includes:

[0023] The synchronization unit is used to synchronize the configuration information to be synchronized for each service of the i-th client node to the i-th client node; where i∈[1,m], m is the number of client nodes, and m∈N*, i∈N*.

[0024] In one possible implementation, the configuration information publishing device further includes:

[0025] The determination module is used to determine, based on the distributed scheduling framework, whether the local configuration information corresponding to the service of the client node is different from the configuration information to be synchronized corresponding to the service of the client node;

[0026] The second synchronization module is used to synchronize the configuration information to be synchronized for the service on the client node to the client node when the local configuration information corresponding to the service on the client node is different from the configuration information to be synchronized for the service on the client node.

[0027] In one possible implementation, the determining module includes:

[0028] The second acquisition unit is used to acquire local configuration information corresponding to each service of the j-th client node through the task node corresponding to the j-th client node; where j∈[1, m], m is the number of client nodes, and m∈N*, j∈N*;

[0029] The determining unit is used to determine, through the task node corresponding to the j-th client node, whether the local configuration information corresponding to each service of the j-th client node is different from the configuration information to be synchronized corresponding to each service of the j-th client node.

[0030] According to a third aspect of the present disclosure, an electronic device is provided, comprising:

[0031] processor;

[0032] Memory used to store the processor's executable instructions;

[0033] The processor is configured to execute the instructions to implement the configuration information publishing method as described in any one of the first aspects.

[0034] According to a fourth aspect of the present disclosure, a non-transitory computer-readable storage medium is provided, wherein when instructions in the non-transitory computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the configuration information publishing method as described in any one of the first aspects.

[0035] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the configuration information publishing method as described in any one of the first aspects.

[0036] The technical solutions provided by the embodiments of this disclosure have at least the following beneficial effects:

[0037] In the embodiments of this disclosure, upon receiving a configuration information publishing instruction, the client nodes requiring configuration information synchronization are obtained based on the registration and discovery mechanism of Remote Procedure Call (RPC). Then, the configuration information to be synchronized for each client node is synchronized to the client node via a distributed scheduling framework. This approach achieves two advantages: firstly, configuration information synchronization can be implemented based on the RPC registration and discovery mechanism and the distributed scheduling framework, meaning it can be achieved using lightweight components without the need for a separate configuration center service. This effectively reduces the complexity of the configuration publishing function and lowers the difficulty of system maintenance. Secondly, shifting the process from client nodes actively acquiring configuration information to the server with the configuration component actively synchronizing it avoids synchronization failures due to client thread malfunctions, thereby improving the stability and availability of the configuration information publishing system.

[0038] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0039] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0040] Figure 1 This is a flowchart illustrating a configuration information publishing method based on existing technology.

[0041] Figure 2 This is a flowchart illustrating a configuration information publishing method according to an exemplary embodiment.

[0042] Figure 3 This is a schematic diagram illustrating a configuration information publishing process according to an exemplary embodiment.

[0043] Figure 4 This is a schematic diagram illustrating a configuration information correction process according to an exemplary embodiment.

[0044] Figure 5 This is a block diagram illustrating a configuration information publishing device according to an exemplary embodiment.

[0045] Figure 6 This is a block diagram illustrating an electronic device according to an exemplary embodiment. Detailed Implementation

[0046] To enable those skilled in the art to better understand the technical solutions of this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings.

[0047] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0048] As can be seen from the background technology, in related technologies, the publication of configuration information depends on an independent configuration center service, which is usually quite heavy, making the operation and maintenance of the configuration information publication system more difficult. Figure 1 This is a flowchart illustrating a configuration information publishing method based on existing technology. For example... Figure 1 As shown, after the client node starts and initializes the service, it needs to register the configuration information it wants to listen to with the configuration center. Then, it can obtain the configuration information corresponding to the service from the configuration center and store it on its local disk. During operation, the client node can periodically start a check thread to check for differences between its local configuration information and its online configuration information. It should be noted that the client node's local configuration information can be the configuration information corresponding to its own service stored on its local disk, while the client node's online configuration information can be the configuration information corresponding to its service in the configuration center. If there are differences between the client node's local and online configuration information, it can obtain the changed configuration information corresponding to its service from the configuration center and update the local configuration information, such as updating the local memory and disk. If there are no differences between the client node's local and online configuration information, the client node can wait for the next execution cycle of the check thread. It can be seen that the acquisition and updating of client node configuration information both rely on a separate configuration center service. However, a separate configuration center service is usually heavy, leading to greater operational and maintenance difficulties for the configuration information publishing system.

[0049] The configuration information publishing method, apparatus, electronic device, and storage medium provided in the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings.

[0050] Figure 2 This is a flowchart illustrating a configuration information publishing method according to an exemplary embodiment. This method can be applied to a server, for example, a single server or a server cluster. The server may have a configuration component installed, and the server can execute the technical solutions of this disclosure embodiment through the configuration component. The configuration component can be integrated into an application on a server and can be implemented based on an RPC (Remote Procedure Call) framework and a distributed scheduling framework. The distributed scheduling framework can adopt an LTS (Lightweight Task Scheduler) framework. Figure 2 As shown, the configuration information publishing method may include the following steps:

[0051] In step S210, upon receiving a configuration information publishing instruction, the client nodes that need to synchronize configuration information are obtained based on the RPC-based registration and discovery mechanism.

[0052] In this embodiment, the server can receive a configuration information publishing instruction and, upon receiving the instruction, can assemble configuration information. After assembling the configuration information, the server can obtain the client nodes that need to synchronize configuration information based on the RPC registration and discovery mechanism. RPC is an inter-process communication method that allows calling remote services as if they were local services. Most communication protocols use binary mode, and mainstream frameworks include Dubbo and Spring Cloud. For example, Figure 3 This is a schematic diagram illustrating a configuration information publishing process according to an exemplary embodiment. For example... Figure 3 As shown, operators can input configuration information publishing commands into the server's interface, enabling the server to receive these commands and achieve real-time, synchronous publishing of configuration information. This includes, but is not limited to, sending configuration information publishing commands. The server may have configuration components installed. After receiving the configuration information publishing command, the server can run the configuration components to assemble the configuration information. After assembling the configuration information, the server can obtain client nodes, including all client nodes that need configuration information synchronization. Specifically, considering that each client node registers with RPC upon service startup, all client nodes requiring configuration information synchronization can be obtained through the RPC registry center, based on the RPC framework's registration and discovery mechanism.

[0053] In step S220, the configuration information to be synchronized to the client node is synchronized to the client node through the distributed scheduling framework.

[0054] In this embodiment of the disclosure, after the server obtains the client node that needs to synchronize configuration information through the RPC-based registration and discovery mechanism, it can determine the configuration information corresponding to the client node that needs to be synchronized, i.e., the configuration information to be synchronized. Then, the server can synchronize the configuration information to be synchronized to the client node through a distributed scheduling framework. For example, as shown below... Figure 3 As shown, after obtaining client nodes, the server can traverse the client nodes and then publish configuration information. For example, if the client nodes include nodes A, B, C, and D, it can traverse nodes A, B, C, and D, and broadcast the configuration information synchronously to nodes A, B, C, and D. It is understandable that a distributed scheduling framework, such as LTS, is a system framework composed of a group of computer nodes that communicate over a network and coordinate their work to complete a common task.

[0055] In this embodiment, upon receiving a configuration information publishing instruction, the system obtains client nodes that need configuration information synchronization based on the Remote Procedure Call (RPC) registration and discovery mechanism. Then, a distributed scheduling framework synchronizes the configuration information to be synchronized to the client nodes. This approach achieves two advantages: firstly, configuration information synchronization can be implemented based on the RPC registration and discovery mechanism and the distributed scheduling framework, meaning it can be achieved using lightweight components without the need for a separate configuration center service. This effectively reduces the complexity of the configuration publishing function and lowers the system maintenance difficulty. Secondly, shifting the process from client nodes actively acquiring configuration information to the server with the configuration component actively synchronizing it avoids synchronization failures due to client thread malfunctions, thereby improving the stability and availability of the configuration information publishing system.

[0056] In one possible implementation, the RPC-based registration and discovery mechanism identifies client nodes that need to synchronize configuration information, including:

[0057] The RPC-based registration and discovery mechanism obtains all client nodes that need to synchronize configuration information, as well as the services of each client node.

[0058] In this embodiment, considering that the configuration information is actually related to the services of each client node, and that each service of each client node typically registers with the RPC framework upon initial startup, the services of each client node can also be obtained through the RPC registration and discovery mechanism. For example, when obtaining the client nodes that need configuration information synchronization, not only can all client nodes needing configuration information synchronization be obtained based on the RPC registration and discovery mechanism, but also the services of each client node can be obtained based on the RPC registration and discovery mechanism. It is understood that each client node can have one or more services, and the services of different client nodes can be the same, partially the same, or different. In this way, the client nodes that need configuration information synchronization and the services of each client node can be obtained, thereby providing data for subsequent synchronization of information to be synchronized. Publishing configuration information based on the services of each client node improves the accuracy of configuration information publishing.

[0059] In one possible implementation, synchronizing the configuration information to be synchronized to the client node includes:

[0060] Synchronize the configuration information to be synchronized for each service of the i-th client node to the i-th client node.

[0061] Where i∈[1,m], m is the number of client nodes, and m∈N * , i∈N * .

[0062] In this embodiment, after the server obtains all client nodes requiring configuration information synchronization and their respective services through an RPC-based registration and discovery mechanism, it can synchronize the configuration information corresponding to each client node's service. For example, the configuration information to be synchronized for each service of the i-th client node can be determined. After determining the configuration information to be synchronized for each service of the i-th client node, this information can be synchronized to the i-th client node. It is understood that when the number of client nodes is m, i can range from 1 to m, ensuring that the configuration information to be synchronized for all services of all client nodes can be synchronized to the corresponding client nodes. It should be noted that the configuration information to be synchronized for all services of all client nodes can be broadcast, allowing all client nodes to receive the information in parallel. After being received by a client node, it can synchronize the configuration information to be synchronized to its local storage, such as local memory or disk. Thus, on the one hand, the configuration information to be synchronized for each service of each client can be directly synchronized to each client based on each service of each client, thereby improving the timeliness and accuracy of configuration information dissemination. On the other hand, broadcasting the configuration information to be synchronized can achieve the release of the configuration information in parallel, thereby further improving timeliness.

[0063] In one possible implementation, after synchronizing the configuration information to be synchronized to the client node, the process further includes:

[0064] Based on the distributed scheduling framework, determine whether the local configuration information corresponding to the service of the client node is different from the configuration information to be synchronized corresponding to the service of the client node.

[0065] If the local configuration information corresponding to the service on the client node is different from the configuration information to be synchronized corresponding to the service on the client node, the configuration information to be synchronized corresponding to the service on the client node will be synchronized to the client node.

[0066] In this embodiment, it is considered that the local configuration information corresponding to the service of the client node may differ from the configuration information to be synchronized for the service of the client node. For example, if one or more services of the client node are started before registration, the aforementioned services may not be registered in the RPC framework, and the server may not be able to obtain the aforementioned services corresponding to the client node based on the RPC registration discovery mechanism, i.e., a synchronization failure occurs. Therefore, after synchronizing the configuration information to be synchronized for the client node, the local configuration information corresponding to the service of the client node can be determined based on the distributed scheduling framework to determine whether it differs from the configuration information to be synchronized for the service of the client node, that is, to determine whether there is a difference between the configuration information to be synchronized on the server side and the configuration information on the client node side. If the local configuration information corresponding to the service of the client node differs from the configuration information to be synchronized for the service of the client node, the configuration information to be synchronized for the service of the client node can be synchronized to the client node. Conversely, if the local configuration information corresponding to the service of the client node is the same as the configuration information to be synchronized for the service of the client node, the next round of verification process between the local configuration information corresponding to the service of the client node and the configuration information to be synchronized for the service of the client node can be waited for.

[0067] For example, Figure 4 This is a schematic diagram illustrating a configuration information correction process according to an exemplary embodiment. For example... Figure 4As shown, operators can set up a configuration check task (e.g., periodically automatic startup) through the server's interface, essentially sending a configuration check command to the server. Upon receiving the command, the server can obtain the local configuration information of the client nodes and the configuration information to be synchronized for the services on the server side corresponding to the client nodes. For example, the client nodes requiring configuration information synchronization can be identified through an RPC registration and discovery mechanism, along with the aforementioned local configuration information of these client nodes. Specifically, the local configuration information of the client nodes can be obtained through a traversal approach. For instance, client nodes may include nodes A, B, and C. In this case, nodes A, B, and C can be traversed to obtain the configuration information corresponding to each node. After obtaining the local configuration information of the client nodes and the configuration information to be synchronized for the services on the server side corresponding to the client nodes, a difference comparison can be performed to determine whether there are any differences between the local configuration information of the client node's services and the configuration information to be synchronized for the client node's services on the server side—for example, they may be completely different or partially different. When the local configuration information corresponding to the service on the server-side client node differs from the configuration information to be synchronized corresponding to the service on the client node, configuration information correction can be performed. This involves distributing the configuration information to be synchronized corresponding to the service on the server-side client node to the corresponding client node, i.e., the client nodes with different configuration information to be synchronized corresponding to the service on the server-side client node. It is understandable that during the configuration information correction process, the server can also broadcast the configuration information to be synchronized corresponding to the service on the client node to the different client nodes. Furthermore, a configuration information correction event notification can be generated to inform operations personnel of the execution information of the configuration information correction. When the local configuration information corresponding to the service on the client node is the same as the configuration information to be synchronized corresponding to the service on the client node, it can be determined whether to perform the next round of configuration check task. If the next round of configuration check task is required, the process of obtaining client node configuration information and subsequent procedures is re-executed. If the configuration check task is not required, the configuration check task can be terminated. In this way, periodic checks of configuration information can be completed based on a distributed scheduling framework. Compared with related technologies where client nodes start local threads to periodically check and synchronize configuration information, this effectively improves the stability and availability of configuration information synchronization.

[0068] In one possible implementation, determining whether the local configuration information corresponding to the service of the client node differs from the configuration information to be synchronized corresponding to the service of the client node, based on a distributed scheduling framework, includes:

[0069] Obtain the local configuration information for each service of the j-th client node through the task node corresponding to the j-th client node;

[0070] By using the task node corresponding to the j-th client node, determine whether the local configuration information corresponding to each service of the j-th client node is different from the configuration information to be synchronized corresponding to each service of the j-th client node.

[0071] Where j∈[1, m], m is the number of client nodes, and m∈N * , j∈N * .

[0072] In this embodiment of the disclosure, considering that each client node typically has multiple services, when determining whether the local configuration information corresponding to a service of a client node differs from the configuration information to be synchronized for that service based on the distributed scheduling framework, it can be determined separately whether the local configuration information corresponding to each service of each client node differs from the configuration information to be synchronized for the server side. For example, the task node corresponding to the j-th client node can be invoked to obtain the local configuration information corresponding to each service of the j-th client node. The task node can be a node corresponding to each client node in the server-side distributed scheduling framework, and it can be established during the initial configuration information synchronization. After obtaining the local configuration information corresponding to each service of the j-th client node, it can be determined through the task node corresponding to the j-th client node whether the local configuration information corresponding to each service of the j-th client node differs from the configuration information to be synchronized for that service. Understandably, with m client nodes, j can range from 1 to m. This means that the local configuration information for each service on each client node can be obtained through the task nodes corresponding to all client nodes. Furthermore, it can be determined whether the local configuration information for each service on each client node differs from the configuration information to be synchronized for each service on each client node. Thus, the task nodes corresponding to each client node can compare the local configuration information for each service on each client node with the configuration information to be synchronized for that client node's services, achieving configuration information synchronization or correction without requiring client nodes to start their own threads. This further improves the stability and timeliness of configuration information synchronization.

[0073] Based on the same inventive concept, embodiments of this disclosure also provide a configuration information publishing device, such as... Figure 5 As shown, Figure 5 This is a block diagram illustrating a configuration information publishing device according to an exemplary embodiment. (Refer to...) Figure 5The configuration information publishing device 500 may include:

[0074] The acquisition module 510 is used to acquire the client nodes that need to synchronize configuration information based on the RPC registration and discovery mechanism when a configuration information publishing instruction is received.

[0075] The first synchronization module 520 is used to synchronize the configuration information to be synchronized to the client node through the distributed scheduling framework.

[0076] In one possible implementation, the acquisition module 510 includes:

[0077] The first acquisition unit is used to acquire all client nodes that need to synchronize configuration information based on the RPC registration and discovery mechanism, and to acquire the services of each client node.

[0078] In one possible implementation, the first synchronization module 520 includes:

[0079] The synchronization unit is used to synchronize the configuration information to be synchronized for each service of the i-th client node to the i-th client node; where i∈[1,m], m is the number of client nodes, and m∈N*, i∈N*.

[0080] In one possible implementation, the configuration information publishing device 500 further includes:

[0081] The determination module is used to determine, based on the distributed scheduling framework, whether the local configuration information corresponding to the service of the client node is different from the configuration information to be synchronized corresponding to the service of the client node.

[0082] The second synchronization module is used to synchronize the configuration information to be synchronized for the service on the client node to the client node when the local configuration information corresponding to the service on the client node is different from the configuration information to be synchronized for the service on the client node.

[0083] In one possible implementation, the determining module includes:

[0084] The second acquisition unit is used to acquire the local configuration information corresponding to each service of the j-th client node through the task node corresponding to the j-th client node; where j∈[1,m], m is the number of client nodes, and m∈N*, j∈N*;

[0085] The determining unit is used to determine, through the task node corresponding to the j-th client node, whether the local configuration information corresponding to each service of the j-th client node is different from the configuration information to be synchronized corresponding to each service of the j-th client node.

[0086] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0087] According to embodiments of this disclosure, this disclosure also provides an electronic device, a non-transitory computer-readable storage medium, and a computer program product.

[0088] Figure 6 A schematic block diagram of an example electronic device 600 that can be used to implement embodiments of the present disclosure is shown. The electronic device 600 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0089] like Figure 6 As shown, the electronic device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 602 or a computer program loaded from a storage unit 608 into a random access memory (RAM) 603. The RAM 603 may also store various programs and data required for the operation of the device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via a bus 604. An input / output (I / O) interface 605 is also connected to the bus 604.

[0090] Multiple components in electronic device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of displays, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows electronic device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0091] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as the configuration information publishing method. For example, in some embodiments, the configuration information publishing method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the configuration information publishing method described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform the configuration information publishing method by any other suitable means (e.g., by means of firmware).

[0092] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0093] The program code of a computer program product used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0094] In the context of this disclosure, a non-transitory computer-readable storage medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A non-transitory computer-readable storage medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0095] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0096] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or middleware components (e.g., application servers), or frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), the Internet, and blockchain networks.

[0097] Computer systems can include clients and servers. Clients and servers are generally geographically separated and typically interact via communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. A server can be a cloud server, also known as a cloud computing server or cloud host, a hosting product within the cloud computing service ecosystem, addressing the shortcomings of traditional physical hosts and VPS (Virtual Private Server, or simply "VPS") services, such as high management difficulty and weak business scalability. Servers can also be servers for distributed systems or servers incorporating blockchain technology.

[0098] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0099] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A method for publishing configuration information, characterized in that, Applied to servers, including: Upon receiving a configuration information publishing instruction, the client nodes that need to synchronize configuration information are obtained based on the registration and discovery mechanism of Remote Procedure Call (RPC). Each service of the client node registers with the RPC when it starts. The configuration information to be synchronized to the client node is synchronized to the client node through a distributed scheduling framework. After synchronizing the configuration information to be synchronized to the client node, the process further includes: Based on the distributed scheduling framework, determine whether the local configuration information corresponding to the service of the client node is different from the configuration information to be synchronized corresponding to the service of the client node; If the local configuration information corresponding to the service on the client node is different from the configuration information to be synchronized corresponding to the service on the client node, the configuration information to be synchronized corresponding to the service on the client node will be synchronized to the client node. The step of determining whether the local configuration information corresponding to the service of the client node is different from the configuration information to be synchronized corresponding to the service of the client node based on the distributed scheduling framework includes: By using the task node corresponding to the j-th client node, obtain the local configuration information corresponding to each service of the j-th client node; where j∈[1, m], m is the number of client nodes, and m∈N , j∈N ; By using the task node corresponding to the j-th client node, determine whether the local configuration information corresponding to each service of the j-th client node is different from the configuration information to be synchronized corresponding to each service of the j-th client node.

2. The configuration information publishing method according to claim 1, characterized in that, The registration and discovery mechanism based on Remote Procedure Call (RPC) acquires client nodes that need to synchronize configuration information, including: The RPC-based registration and discovery mechanism obtains all client nodes that need to synchronize configuration information, as well as the services of each client node.

3. The configuration information publishing method according to claim 2, characterized in that, The step of synchronizing the configuration information to be synchronized to the client node includes: The first i The configuration information to be synchronized for each service of the client nodes is synchronized to the first... i The client nodes mentioned above; wherein... i∈ [1, m ], where m is the number of client nodes, and m∈N , i ∈N .

4. A configuration information publishing device, characterized in that, include: The acquisition module is used to acquire client nodes that need to synchronize configuration information based on the registration and discovery mechanism of Remote Procedure Call (RPC) when a configuration information publishing instruction is received. Each service of the client node registers with the RPC when it starts. The first synchronization module is used to synchronize the configuration information to be synchronized to the client node through a distributed scheduling framework. The device further includes: The determination module is used to determine, based on the distributed scheduling framework, whether the local configuration information corresponding to the service of the client node is different from the configuration information corresponding to the service of the client node after the configuration information to be synchronized to the client node is synchronized to the client node. The second synchronization module is used to synchronize the configuration information to be synchronized for the service on the client node to the client node when the local configuration information corresponding to the service on the client node is different from the configuration information to be synchronized for the service on the client node. The determining module includes: The second acquisition unit is used to acquire local configuration information corresponding to each service of the j-th client node through the task node corresponding to the j-th client node; where j∈[1,m], m is the number of client nodes, and m∈N , j∈N ; The determining unit is used to determine, through the task node corresponding to the j-th client node, whether the local configuration information corresponding to each service of the j-th client node is different from the configuration information to be synchronized corresponding to each service of the j-th client node.

5. The configuration information publishing device according to claim 4, characterized in that, The acquisition module includes: The first acquisition unit is used to acquire all client nodes that need to synchronize configuration information based on the RPC registration and discovery mechanism, and to acquire the services of each client node.

6. The configuration information publishing device according to claim 5, characterized in that, The first synchronization module includes: Synchronization unit, used to synchronize the first i The configuration information to be synchronized for each service of the client nodes is synchronized to the first... i The client nodes mentioned above; wherein... i ∈[1, m ], where m is the number of client nodes, and m∈N , i ∈N .

7. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the configuration information publishing method as described in any one of claims 1 to 3.

8. A non-transitory computer-readable storage medium, wherein when instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device is enabled to perform the configuration information publishing method as described in any one of claims 1 to 3.

9. A computer program product comprising a computer program that, when executed by a processor, implements the configuration information publishing method as described in any one of claims 1 to 3.