Network configuration issuing method, system, device, equipment and medium

By introducing configuration and issuing controllers in the cloud computing configuration and issuing configuration update messages, the problem of network configuration and issuing error order is solved, and the orderly and correct distribution of network configuration is achieved.

CN119854114AActive Publication Date: 2025-04-18CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411785058.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-05
Publication Date
2025-04-18
Estimated Expiration
2044-12-05

AI Technical Summary

Technical Problem

In a large-scale network environment, error sequence problems may occur when network configuration is issued, resulting in the network misconfiguration to the status at creation time, loss of the changed part of the information, and thus causing network failure.

Method used

By introducing a configuration dispatch controller in the cloud computing configuration dispatch system, the controller obtains configuration update messages from the message component cluster, merges messages based on the network resource ID and version number, ensuring the orderly nature of configuration dispatch, and triggering a retransmission operation in case of failure.

Benefits of technology

It effectively avoids network failures caused by incorrect network configuration issuance, and ensures the orderly issuance and correctness of cloud computing network resource configuration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119854114A_ABST
    Figure CN119854114A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of cloud computing, and discloses a network configuration issuing method, system, device, equipment and medium, and the method comprises the steps: obtaining a target number of configuration updating messages from a message component cluster according to the level of a message queue; the configuration update message is generated according to a network resource ID and a version number after the API service component receives a network change request; according to the network resource ID and the version number, combining each configuration update message to obtain a combined configuration update message; and issuing the network configuration resources to a downstream component according to the combined configuration update message so as to change the network configuration. According to the scheme, the configuration message is bound with the version number, so that the problems that correct and ordered configuration issuing cannot be ensured, the efficiency is low, the expandability is poor and the reliability is poor during large-scale network configuration issuing are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of cloud computing technology, and in particular to a network configuration delivery method, system, device, equipment and medium. Background Art

[0002] With the advancement of digitalization, enterprises and organizations have a large number of servers, network equipment and other hardware that need to be managed and controlled in a unified manner.

[0003] In order to build the network flexibly and quickly, SDN (Software Defined Network) is usually used to separate the control layer and data forwarding layer of the network. The control layer is responsible for issuing network configurations, and the data forwarding layer forwards data according to the configurations. In large-scale network environments with a large number of network configuration change requests, multiple API servers are usually deployed as the entry point for requests. Multiple servers processing requests in parallel may result in uncertain processing time. For example, if the client's request to create first and then update is reversed when the configuration is issued, and the order becomes update first and then create, the final network may be misconfigured to the state at the time of creation, and the information of the changed part is lost, resulting in network failure. Summary of the invention

[0004] In view of this, the present application provides a network configuration sending method, device, equipment, medium and product, which can minimize network failures caused by mis-sequenced sending of network configurations. The technical solution is as follows.

[0005] In a first aspect, a network configuration delivery method is provided, the method being applied to a cloud computing configuration delivery system, the system comprising an API service component, a message component cluster, a configuration delivery controller, and a downstream component, the method being executed by the configuration delivery controller, the method comprising:

[0006] Obtaining a target number of configuration update messages from the message component cluster according to the message queue level; the configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request;

[0007] Merge each configuration update message according to the network resource ID and version number to obtain a merged configuration update message;

[0008] The network configuration resource is sent to the downstream component according to the merged configuration update message to change the network configuration.

[0009] In a possible implementation, the message component cluster includes queues of different priorities, and the priority of the queue for the API service component to generate configuration update messages is higher than the priority of the queue for configuration update messages that have failed to be sent and are waiting to be resent.

[0010] In a possible implementation, before merging the configuration update messages according to the network resource ID and the version number, the method further includes:

[0011] Verify each configuration update message and discard abnormal configuration update messages

[0012] In a possible implementation, merging the configuration update messages according to the network resource ID and the version number to obtain the merged configuration update message includes:

[0013] For each network resource ID, the configuration update message with the largest version number is determined as the merged configuration update message.

[0014] In a possible implementation manner, sending the network configuration resource to a downstream component according to the merged configuration update message includes:

[0015] When it is detected that the configuration update message fails to be sent, a resending operation is triggered;

[0016] When the number of retransmissions of the configuration update message reaches a threshold, the configuration update message is returned to a queue of failed configuration update messages waiting to be retransmitted in the message component cluster.

[0017] In a second aspect, a cloud computing configuration delivery system is provided, the system comprising an API service component, a message component cluster, a configuration delivery controller, and downstream components;

[0018] The API service component is used to receive a network change request, and generate a configuration update message according to the network resource ID and version number in the network change request and send it to the message component cluster;

[0019] The configuration delivery controller is used to obtain a target number of configuration update messages from the message component cluster according to the message queue level; merge each configuration update message according to the network resource ID and version number to obtain a merged configuration update message; and deliver the network configuration resource to the downstream component according to the merged configuration update message;

[0020] The downstream component is used to change the network configuration according to the network configuration resource.

[0021] In a possible implementation, the configuration sending controller further includes:

[0022] A message receiving module, used for obtaining a target number of configuration update messages from the message component cluster according to the message queue level;

[0023] A message merging module, used to merge various configuration update messages according to the network resource ID and version number to obtain a merged configuration update message;

[0024] An interface calling module, used to send the network configuration resource to the downstream component according to the merged configuration update message;

[0025] The interface calling module is further used to trigger a resending operation when it is detected that the configuration update message fails to be sent;

[0026] The message sending module returns the configuration update message to a queue of failed configuration update messages waiting for retransmission in the message component cluster when the number of retransmissions of the configuration update message reaches a threshold.

[0027] In a third aspect, a network configuration delivery device is provided, the device is applied to a cloud computing configuration delivery system, the system includes an API service component, a message component cluster, a configuration delivery controller and a downstream component, the device is arranged in the configuration delivery controller, and the device includes:

[0028] A receiving unit, configured to obtain a target number of configuration update messages from the message component cluster according to the message queue level; the configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request;

[0029] A merging unit, used to merge each configuration update message according to the network resource ID and the version number to obtain a merged configuration update message;

[0030] The sending unit is used to send the network configuration resource to the downstream component according to the merged configuration update message to change the network configuration.

[0031] In a possible implementation, the message component cluster includes queues of different priorities, and the priority of the queue for the API service component to generate configuration update messages is higher than the priority of the queue for configuration update messages that have failed to be sent and are waiting to be resent.

[0032] In a possible implementation manner, the device further includes:

[0033] The verification unit is used to verify each configuration update message and discard abnormal configuration update messages.

[0034] In a possible implementation manner, the merging unit is further configured to determine, for each network resource ID, a configuration update message with a largest version number as the merged configuration update message.

[0035] In a possible implementation, the sending unit is also used to trigger a retransmission operation when it detects that the configuration update message fails to be sent; when the number of retransmissions of the configuration update message reaches a threshold, the configuration update message is returned to the queue of failed configuration update messages waiting for retransmission in the message component cluster.

[0036] In a fourth aspect, a computer device is provided, comprising: a memory and a processor, wherein the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the above-mentioned network configuration delivery method by executing the computer instructions.

[0037] In a fifth aspect, a computer-readable storage medium is provided, on which computer instructions are stored, and the computer instructions are used to enable a computer to execute the above-mentioned network configuration delivery method.

[0038] In a sixth aspect, a computer program product or a computer program is provided, comprising computer instructions, wherein the computer instructions are used to enable a computer to execute the above-mentioned network configuration delivery method.

[0039] The technical solution provided by this application may have the following beneficial effects:

[0040] In the cloud computing configuration delivery system, there are API service components, message component clusters, configuration delivery controllers, and downstream components; at this time, the configuration delivery controller can obtain the target number of configuration update messages from the message component cluster according to the message queue level; and the configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request; at this time, the configuration delivery controller merges each configuration update message according to the network resource ID and version number to obtain the merged configuration update message, and at this time, the configuration delivery controller sends the network configuration resources to the downstream components according to the merged configuration update message, so as to change the network configuration. In the above scheme, the configuration message is bound to the version number, so as to ensure the orderly delivery of the cloud computing network resource configuration, avoid configuration errors caused by the disorder of concurrent configuration delivery, and ensure the correct network configuration. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0042] Figure 1 The present invention is a system architecture diagram of a cloud computing configuration delivery system according to an exemplary embodiment.

[0043] Figure 2 Diagram of the network resource update message structure generated for the API service component.

[0044] Figure 3 The specific structure diagram of the configuration issuing controller involved in the embodiment of the present application is shown.

[0045] Figure 4 A processing flow chart of the interface calling module is shown.

[0046] Figure 5 The logical diagram is shown when the configuration update message to be retried is put back into the message queue of the corresponding level.

[0047] Figure 6 The present invention is a method flow chart of a method for delivering network configuration according to an exemplary embodiment.

[0048] Figure 7 A schematic diagram of a cloud computing network configuration delivery process involved in an embodiment of the present application is shown.

[0049] Figure 8 It is a structural diagram of a network configuration sending device provided in an embodiment of the present application.

[0050] Fig. 9 It is a structural schematic diagram of a computer device provided by an optional embodiment of the present invention. DETAILED DESCRIPTION

[0051] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.

[0052] In the description of the embodiments of the present application, the term "corresponding" may indicate a direct or indirect correspondence between two items, or an association relationship between the two items, or a relationship between indication and being indicated, configuration and being configured, and the like.

[0053] With the advancement of digitalization, enterprises and organizations have a large number of servers, network equipment and other hardware that need to be uniformly managed and controlled to build a flexible cloud computing network, thereby providing a platform for application operation. In order to build the network flexibly and quickly, SDN (Software Defined Network) is usually used to separate the control layer and data forwarding layer of the network. The control layer is responsible for issuing network configurations, and the data forwarding layer forwards data according to the configuration.

[0054] The network control layer needs to quickly and reliably send the network configuration to the data forwarding layer based on the user's operation. In order to cope with large-scale network environments with complex equipment models, the network control layer is usually composed of multiple components with different functions, so as to solve the problems of difficult maintenance, poor scalability, and large impact of failures caused by the integration of too many functions in a single component. The components in the network control layer need to convert the user's network operation into corresponding network configuration update information, and pass the update information to all control components related to the update. Finally, the control plane sends the configuration to the data plane to complete the change of network configuration. The ownership and management of many network devices may belong to different teams. For example, the intra-domain network and the inter-domain network are usually divided into two teams for management, and the corresponding control plane components belong to different development teams. These components need to be configured and sent through negotiated interfaces. Decoupling between components must be considered when designing the system, otherwise the change or upgrade of a single component of a certain team may cause system failure. In large-scale scenarios involving tens of thousands of network hardware such as public clouds, a large number of users may frequently and concurrently change network configurations. Directly delivering all configuration update messages to each node will cause high system load, low efficiency, and poor scalability, which cannot meet large-scale application scenarios. In large-scale network environments with a large number of network configuration change requests, multiple API servers are usually deployed as the entry point for requests. Multiple servers processing requests in parallel may have uncertain processing time. When multiple servers modify the configuration of the same resource, the correctness of the configuration delivery order is crucial. For example, if the client's request to create first and then update is reversed when the configuration is delivered, and the order becomes update first and then create, it may cause the final network to be misconfigured to the state at the time of creation, and the information of the changed part is lost, resulting in network failure. Therefore, how to achieve the correct, orderly, efficient, and reliable transmission and delivery of cloud computing network configuration information is an important issue that needs to be solved at the network control level.

[0055] Figure 1 FIG. 1 is a system architecture diagram of a cloud computing configuration delivery system according to an exemplary embodiment. Figure 1 As shown, the system includes an API service component, a message component cluster, a configuration delivery controller, and downstream components;

[0056] The API service component is used to receive a network change request, and generate a configuration update message according to the network resource ID and version number in the network change request and send it to the message component cluster;

[0057] The configuration delivery controller is used to obtain a target number of configuration update messages from the message component cluster according to the message queue level; merge each configuration update message according to the network resource ID and version number to obtain a merged configuration update message; and deliver the network configuration resource to the downstream component according to the merged configuration update message;

[0058] The downstream component is used to change the network configuration according to the network configuration resource.

[0059] Specifically, the API service component serves as the entry point for network change requests and is responsible for processing API requests for network changes. The component stores cloud computing network configuration data persistently in the database and generates strictly ordered network resource configuration update messages. The API service component is deployed as multiple instances on multiple physical servers. Multiple threads are started in each API service component to process received API requests in parallel, thereby achieving horizontal scalability on the API entry side and supporting a large number of frequent configuration update requests for cloud computing networks. The database structure of each cloud computing network resource is designed to include: a unique network resource ID field, a version number field corresponding to the resource ID, and specific resource configurations, where the version number field type is a non-negative integer type, which is 1 when the resource is created. The API service component reads the relevant existing network configuration from the database cluster according to the request content. Each modification is performed using a database transaction. In the database transaction, the SQL SELECT FOR UPDATE statement is first used for the modified network resource to lock the row corresponding to the network resource in the database. When multiple network requests for the same network resource are sent to multiple processing threads of multiple API service components through database row locks, the lock guarantees the temporary waiting of some threads, ensuring that only one thread can perform modification operations on a network resource at a time, thereby ensuring the correctness of concurrent request processing. After the API service component obtains the lock in the database transaction, it modifies the row corresponding to the network resource, then adds one to the version number field of the resource, reads the resource ID, version number, and complete resource configuration to generate a network resource configuration update message, and finally commits the transaction to release the database row lock of the resource. The database will persistently store all configurations of the network resource. By locking the database of the resource, it is ensured that the configuration content in the message with a larger version number must be newer than the message with a smaller version number, providing a basis for the orderly distribution and merging of subsequent configurations. Figure 2 Diagram of the network resource update message structure generated for the API service component.

[0060] like Figure 2 As shown, the network resource ID, network resource version number, and network resource configuration content are all the corresponding data after the last version number in the resource operation transaction is added by one. The cumulative configuration update retry count is set to 0 at this time. The network resource version number does not use the timestamp or the self-incrementing sequence number of the message, thereby avoiding the problem of the inability to determine the order of the version number and network configuration content in the message caused by inconsistent time between multiple nodes and inconsistent processing delays. It is one of the key links to ensure the orderly delivery of network configuration. The API service component sends the generated network resource configuration update message to the level 0 message queue of this type of network resource in the message component cluster, using the network resource ID as the key of the message and the above message content as the value, for the next step of distributing the configuration update message.

[0061] Specifically, the configuration delivery controller is a stateless component, that is, multiple configuration delivery controllers can handle the same type of tasks, multiple controllers are relatively independent and do not depend on each other, and the failure of a single controller does not affect the configuration delivery. The configuration delivery controller includes four submodules: Figure 3 FIG. 2 shows a specific structural diagram of a configuration issuing controller involved in an embodiment of the present application. Figure 3 As shown, the configuration sending controller specifically includes a message receiving module, a message merging module, an interface calling module and a message sending module. The message receiving module is used to obtain the target number of configuration update messages from the message component cluster according to the message queue level; the message merging module is used to merge each configuration update message according to the network resource ID and version number to obtain the merged configuration update message; the interface calling module is used to send the network configuration resource to the downstream component according to the merged configuration update message; the interface calling module is also used to trigger a resending operation when it is detected that the configuration update message fails to be sent; the message sending module returns the configuration update message to the queue of failed configuration update messages waiting for resending in the message component cluster when the number of resending of the configuration update message reaches a threshold.

[0062] Specifically, the message receiving module is responsible for connecting to the message component cluster, subscribing to the message types that can be processed by this controller, and a single controller subscribes to the four-level message queue of network resource configuration, receiving the network configuration update message to the configuration distribution controller, and verifying whether each message meets the following requirements: Figure 2 Define the network resource update message structure and field specifications. If it is an abnormal message, it will be discarded and an error will be reported.

[0063] The message receiving module is designed to continuously receive messages from the level 0 queue, receive messages from the level 1 queue every 5 minutes, receive messages from the level 2 queue every 30 minutes, and receive messages from the level 3 queue every 60 minutes. A network configuration message will be retried three times in 5 minutes, 30 minutes, and 60 minutes respectively. The reason for this design is that the network and downstream components may be unavailable for a short period of time. Frequent retry should not be performed in a short period of time. Retry after a reasonable recovery time, through multiple reasonable intervals of retry for a single configuration, to ensure the successful delivery of the configuration. When the interface call module successfully completes the message processing, the message receiving module confirms to the message component that the message has been processed, and the message component deletes the message from the message component. The message merging module periodically receives a batch of messages from the message receiving module, and the number of messages in a single batch is less than or equal to the maximum number of messages in a single batch. The message merging module uses the network resource ID + version number in the message as the basis for message merging, merges the current batch of messages (1≤number of messages≤maximum number of messages in a single batch), and takes the network resource configuration content in the message with the largest network resource version number for each resource ID to generate a configuration content cache, thereby extracting valid messages and removing old configuration messages.

[0064] When the configuration information is updated frequently, it can ensure that the rate of calling downstream configuration delivery does not increase infinitely with the increase of the single resource configuration update rate, protect downstream components, and ensure the timely delivery of network configuration. Figure 4 It is a processing flow chart of the interface calling module. The interface calling module obtains the network resource configuration that needs to be sent from the content cache configured by the message merging module, and calls the configuration update interface corresponding to the downstream component. If the interface call is successful and the returned response code is correct, the message receiving module sends all messages of this batch of the resource ID to the message component to complete the confirmation operation; if the interface call fails, it determines whether the failure reason is a retryable type. For failures of non-retryable types, such as incorrect network configuration sent by downstream components, the abnormal message is discarded and the log error record is used for investigation. For failures of retryable types, it determines whether the cumulative number of retries of the configuration update exceeds the upper limit of the total number of failures of a single message. If it exceeds, the abnormal message is discarded and the log error is reported for subsequent investigation. If it does not exceed, it determines whether the number of retries of this node of the configuration update exceeds the upper limit of the total number of failures of this node. If it does not exceed, the number of retries is increased by one and retried to send. If it exceeds, the number of retries is increased by one and the message is put back into the corresponding graded message queue.

[0065] Figure 5The logical diagram when the configuration update message to be retried is put back into the corresponding graded message queue is shown. According to the cumulative number of updates and retries in the message, the message with less than n1 failures is put into the first-level queue, the message with n1 to n2 failures is put into the second-level queue, and the message with n2 or more failures is put into the third-level queue, that is, the message with fewer retries is considered to be a newer high-priority message, and is put into the queue with a short pull time interval for priority processing. The message sending module is connected to the message component as a message producer, responsible for receiving the configuration update information that needs to be retried from the interface calling module, encapsulating the message and sending it to the message component. The configuration delivery controller component is deployed as a multi-instance, and the deployment planning is carried out according to the configuration amount to be delivered and the high availability requirements. The delivery controller that handles the same type of network resource configuration is designed and deployed on two or more independent physical nodes. Each configuration delivery controller independently delivers network configurations with different resource IDs. For the frequent configuration updates, the number of configuration delivery controllers can be increased horizontally, and the configuration delivery controller cluster processes the configuration delivery in parallel, thereby increasing the scale of cloud computing networks that can be managed by the system.

[0066] The downstream component receives the configuration change request from the configuration delivery controller through the API interface. The change request includes the network resource ID, network resource version number, and network resource configuration content. When the local version number of the resource of the downstream component is lower than the version number in the request, the downstream component makes relevant network configuration changes according to the network resource configuration content and updates the local resource version number and returns a success response code. When the local version number of the resource of the downstream component is equal to or greater than the version number in the request, the local configuration is not updated and a success response code is directly returned to automatically keep the latest configuration.

[0067] When the downstream component fails to process, it needs to return a failure code, which contains the reason for the failure and a flag indicating whether it can be retried. The downstream component and the configuration delivery controller use internal APIs to achieve decoupling between components. When the downstream component is upgraded or has a short-term failure, the hierarchical interval retry of the configuration delivery controller can automatically deliver the latest configuration after the service is restored, ensuring the correct delivery of the network configuration.

[0068] In summary, in the cloud computing configuration delivery system, there are API service components, message component clusters, configuration delivery controllers, and downstream components; at this time, the configuration delivery controller can obtain the target number of configuration update messages from the message component cluster according to the message queue level; and the configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request; at this time, the configuration delivery controller merges each configuration update message according to the network resource ID and version number to obtain the merged configuration update message, and at this time, the configuration delivery controller sends the network configuration resources to the downstream components according to the merged configuration update message, thereby changing the network configuration. In the above scheme, the configuration message is bound to the version number to ensure the orderly delivery of the cloud computing network resource configuration, avoid configuration errors caused by the disorder of concurrent configuration delivery, and ensure the correct network configuration.

[0069] Figure 6 is a method flow chart of a method for sending a network configuration according to an exemplary embodiment. The method is applied to Figure 1 The cloud computing configuration distribution system shown in FIG. Figure 1 The configuration delivery controller in the cloud computing configuration delivery system shown in the figure is executed. Figure 3 As shown, the network configuration delivery method may include the following steps:

[0070] Step 601: Obtain a target number of configuration update messages from the message component cluster according to the message queue level.

[0071] The configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request.

[0072] Optionally, the message component cluster includes queues of different priorities, and the priority of the queue for the API service component to generate configuration update messages is higher than the priority of the queue for configuration update messages that have failed to be sent and are waiting to be resent.

[0073] That is, the configuration update message most recently generated by the API service component in the message component cluster has a relatively higher priority, and the configuration delivery controller will obtain it first; when the configuration update message most recently generated by the API service component does not exist in the message component cluster, the configuration delivery controller will try to obtain the configuration update message waiting to be resent.

[0074] Step 602: merge each configuration update message according to the network resource ID and the version number to obtain a merged configuration update message.

[0075] Specifically, the configuration delivery controller may determine, for each network resource ID, the configuration update message with the largest version number as the merged configuration update message.

[0076] Since the cloud computing configuration distribution system involved in this application can receive multiple network change requests at the same time and process them in parallel, there may be configuration update messages for the same network resource ID. At this time, the configuration distribution controller only needs to save the configuration update message with the latest version number.

[0077] Optionally, before merging the configuration update messages, it is also necessary to verify the configuration update messages and discard abnormal configuration update messages.

[0078] Step 603: Send the network configuration resource to the downstream component according to the merged configuration update message to change the network configuration.

[0079] Optionally, when it is detected that the configuration update message fails to be sent, a resending operation is triggered; when the number of resending times of the configuration update message reaches a threshold, the configuration update message is returned to the queue of failed configuration update messages waiting for resending in the message component cluster.

[0080] Please refer to Figure 7 , which shows a schematic diagram of a cloud computing network configuration delivery process involved in an embodiment of the present application. Figure 7 As shown, the output process of the cloud computing network configuration issued by the embodiment of the present application can be as follows Figure 1 The various components in the cloud computing network configuration delivery system shown in the figure jointly execute the following steps:

[0081] Step 1: The API service component receives the network change request, locks a single resource, updates the business configuration and stores it in the database, and generates a network resource update message with a strictly increasing version number according to the network resource ID.

[0082] Step 2: The API service component puts the message into the level 0 message queue of the corresponding resource type of the message component for caching.

[0083] Step 3: Configure the message receiving module of the dispatching controller to obtain a specific number of configuration update messages from the message component according to the message queue level, give priority to obtaining messages from queues with high priority, and delay obtaining messages from queues with lower priority.

[0084] Step 4: Configure the message receiving module of the sending controller to verify the message content, discard abnormal messages and report an error.

[0085] Step 5: The message merging module of the configuration delivery controller merges the message according to the resource ID + version number to generate the configuration delivery cache.

[0086] Step 6: The interface calling module of the configuration sending controller calls the downstream component interface to send the configuration according to the merged message cache, confirms the successfully sent message, and locally retries the failed message. The messages that exceed the upper limit of the number of failed calls of this node are added to the failed message queue of the corresponding level for subsequent retries.

[0087] Step 7: Complete the configuration delivery.

[0088] In actual operation, the front-end network API component is set up to receive user operation requests for network resources, store network data in the database, and generate network configuration update messages into the message queue. Kafka is used as the message queue component, and a 3-node Kafka cluster is deployed to ensure high availability and performance. The messages of the front-end network API component are received, and the messages are distributed by topic and multiple nodes, and the network configuration messages are distributed to the configuration distribution controller. The Go programming language is used to implement the configuration distribution controller and its modules to realize message reception, merging, interface calling, and message sending. The Go-implemented configuration distribution controller runs on more than two physical server nodes. The interface calling module connects to the network switch through SSH and distributes the configuration. As a downstream component, the network switch receives the interface calling module request, updates the forwarding configuration, and completes data forwarding according to the new configuration.

[0089] In summary, in the cloud computing configuration delivery system, there are API service components, message component clusters, configuration delivery controllers, and downstream components; at this time, the configuration delivery controller can obtain the target number of configuration update messages from the message component cluster according to the message queue level; and the configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request; at this time, the configuration delivery controller merges each configuration update message according to the network resource ID and version number to obtain the merged configuration update message, and at this time, the configuration delivery controller sends the network configuration resources to the downstream components according to the merged configuration update message, thereby changing the network configuration. In the above scheme, the configuration message is bound to the version number to ensure the orderly delivery of the cloud computing network resource configuration, avoid configuration errors caused by the disorder of concurrent configuration delivery, and ensure the correct network configuration.

[0090] In the embodiments of the present application, a network configuration issuing device is also provided, which is used to implement the above embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0091] The present application embodiment provides a network configuration sending device, Figure 8 : is a structural diagram of a network configuration delivery device provided in an embodiment of the present application, the device is applied to a cloud computing configuration delivery system, the system includes an API service component, a message component cluster, a configuration delivery controller and a downstream component, the device is arranged in the configuration delivery controller, and the device includes:

[0092] The receiving unit 801 is used to obtain a target number of configuration update messages from the message component cluster according to the message queue level; the configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request;

[0093] A merging unit 802, configured to merge each configuration update message according to the network resource ID and the version number to obtain a merged configuration update message;

[0094] The sending unit 803 is used to send the network configuration resource to the downstream component according to the merged configuration update message to change the network configuration.

[0095] In a possible implementation, the message component cluster includes queues of different priorities, and the priority of the queue for the API service component to generate configuration update messages is higher than the priority of the queue for configuration update messages that have failed to be sent and are waiting to be resent.

[0096] In a possible implementation manner, the device further includes:

[0097] The verification unit is used to verify each configuration update message and discard abnormal configuration update messages.

[0098] In a possible implementation manner, the merging unit is further configured to determine, for each network resource ID, a configuration update message with a largest version number as the merged configuration update message.

[0099] In a possible implementation, the sending unit is also used to trigger a retransmission operation when it detects that the configuration update message fails to be sent; when the number of retransmissions of the configuration update message reaches a threshold, the configuration update message is returned to the queue of failed configuration update messages waiting for retransmission in the message component cluster.

[0100] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0101] The network configuration delivery device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0102] The embodiment of the present invention also provides a computer device having the above Figure 8 The network configuration shown is sent to the device.

[0103] See also Fig. 9 , Fig. 9 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Fig. 9 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the computer device, including instructions stored in or on the memory to display graphic information in a graphical user interface on an external input / output device (such as a display device coupled to an interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig. 9 A processor 10 is taken as an example.

[0104] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.

[0105] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.

[0106] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0107] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.

[0108] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0109] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0110] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.

[0111] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention. Such modifications and variations are all within the scope defined by the present invention.

Claims

1. A method for issuing network configuration, characterized in that: The method is applied to a cloud computing configuration delivery system, wherein the system includes an API service component, a message component cluster, a configuration delivery controller, and downstream components. The method is executed by the configuration delivery controller, and the method includes: Obtaining a target number of configuration update messages from the message component cluster according to the message queue level; the configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request; Merge each configuration update message according to the network resource ID and version number to obtain a merged configuration update message; The network configuration resource is sent to the downstream component according to the merged configuration update message to change the network configuration.

2. The method according to claim 1, characterized in that The message component cluster includes queues of different priorities, and the priority of the queue for the API service component to generate configuration update messages is higher than the priority of the queue for configuration update messages that have failed to be sent and are waiting to be resent.

3. The method according to claim 2, characterized in that Before merging the configuration update messages according to the network resource ID and the version number, the method further includes: Each of the configuration update messages is verified, and abnormal configuration update messages are discarded.

4. The method according to any one of claims 1 to 3, characterized in that: The step of merging the configuration update messages according to the network resource ID and the version number to obtain the merged configuration update message includes: For each network resource ID, the configuration update message with the largest version number is determined as the merged configuration update message.

5. The method according to claim 4, characterized in that The sending of the network configuration resource to the downstream component according to the merged configuration update message includes: When it is detected that the configuration update message fails to be sent, a resending operation is triggered; When the number of retransmissions of the configuration update message reaches a threshold, the configuration update message is returned to a queue of failed configuration update messages waiting to be retransmitted in the message component cluster.

6. A cloud computing configuration distribution system, characterized in that: The system includes an API service component, a message component cluster, a configuration delivery controller, and downstream components; The API service component is used to receive a network change request, and generate a configuration update message according to the network resource ID and version number in the network change request and send it to the message component cluster; The configuration delivery controller is used to obtain a target number of configuration update messages from the message component cluster according to the message queue level; Merge each configuration update message according to the network resource ID and version number to obtain a merged configuration update message; send the network configuration resource to the downstream component according to the merged configuration update message; The downstream component is used to change the network configuration according to the network configuration resource.

7. The system according to claim 6, characterized in that The configuration sending controller also includes: A message receiving module, used for obtaining a target number of configuration update messages from the message component cluster according to the message queue level; A message merging module, used to merge various configuration update messages according to the network resource ID and version number to obtain a merged configuration update message; An interface calling module, used to send the network configuration resource to the downstream component according to the merged configuration update message; The interface calling module is further used to trigger a resending operation when it is detected that the configuration update message fails to be sent; The message sending module returns the configuration update message to a queue of failed configuration update messages waiting for retransmission in the message component cluster when the number of retransmissions of the configuration update message reaches a threshold.

8. A network configuration issuing device, characterized in that: The device is applied to a cloud computing configuration delivery system, wherein the system includes an API service component, a message component cluster, a configuration delivery controller, and downstream components. The device is arranged in the configuration delivery controller, and the device includes: A receiving unit, configured to obtain a target number of configuration update messages from the message component cluster according to the message queue level; the configuration update message is generated by the API service component according to the network resource ID and version number after receiving the network change request; A merging unit, used to merge each configuration update message according to the network resource ID and the version number to obtain a merged configuration update message; The sending unit is used to send the network configuration resource to the downstream component according to the merged configuration update message to change the network configuration.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the network configuration delivery method according to any one of claims 1 to 6 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the network configuration delivery method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Business processing method and system, computer equipment and readable medium

    CN111431730A

  • Network controller message processing method and system

    CN116361016A