Controller cluster migration method and device, equipment and storage medium
By rebuilding the target controller cluster and mirroring service requests during the controller cluster migration process, the problems of network failure and service request loss during controller cluster migration are resolved, achieving lossless service request transmission and system data consistency.
Patent Information
- Application Number
- CN202411142209.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2026-03-03
AI Technical Summary
During controller cluster migration, existing technologies suffer from network failures and lost service requests, especially during dynamic scaling up and down, leading to network anomalies.
The destination controller cluster is reconstructed based on the number of controllers in the source controller cluster in the control plane, and the service requests of the source controller cluster are mirrored to the destination controller cluster. The data plane and application plane are instructed to switch channels. Finally, when the channel switch is successful, the channel of the source controller cluster is closed and a channel with the destination controller cluster is established.
It avoids network failures and loss of business requests during controller node restarts, ensures lossless transmission of business requests during controller cluster migration, and solves the problems of network control chaos and system data inconsistency.
Smart Images

Figure CN121603386A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of cloud networking and provides a method, apparatus, device, and storage medium for migrating a controller cluster. Background Technology
[0002] With the continuous development of public cloud technology, more and more enterprises are adopting public cloud services to connect their enterprise data centers to the public cloud for processing non-critical business data, disaster recovery backup, and some critical application data.
[0003] When a cloud network's Software Defined Network (SDN) controller cluster encounters abnormal situations such as cluster failures during operation, such as... Figure 1 As shown, the following steps are required to complete the overall migration of the controller cluster: For each new controller node horizontally expanded, after the new controller node completes data completion and consistency verification, the source controller cluster is dynamically scaled up or down, old controller nodes in the cluster are removed, and the newly added controller nodes and other old controller nodes in the cluster form the live network controller cluster. Service requests between other layers and the control plane are migrated from the source controller cluster to the live network controller cluster. This process continues until all old controller nodes have been replaced, and then all service requests between other layers and the control plane are migrated to the destination controller cluster composed of multiple new controller nodes.
[0004] However, when migrating a source controller cluster that persists cluster node configurations using the above scheme, during the dynamic scaling up and down process of the source controller cluster, all node services of the source controller cluster need to be restarted. A new controller node will be elected to build the destination controller cluster after migration. During the restart of the source controller cluster, abnormal situations such as loss of business requests and network failures may occur.
[0005] Therefore, in order to solve the above problems, this application proposes a new method for migrating controller clusters. Summary of the Invention
[0006] This application provides a controller cluster migration method, apparatus, device, and storage medium to solve the problem of network failures that easily occur during the migration process caused by cluster migration based on dynamic scaling.
[0007] In a first aspect, embodiments of this application provide a controller cluster migration method, including:
[0008] Based on the number of controllers contained in the source controller cluster in the control plane, the corresponding destination controller cluster is reconstructed, and each service request received by the source controller cluster from the application plane and the data plane is mirrored to the destination controller cluster.
[0009] The cluster data in the source controller cluster is transmitted to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, the data plane is instructed to switch to the southbound transmission channel.
[0010] Instruct the application plane to switch to the northward reporting channel, and instruct the data plane to switch to the southward reporting channel;
[0011] Upon successful handover, the control plane is further instructed to close the southbound and northbound forwarding channels of the source controller cluster, and the controller cluster migration is confirmed to be successful when the application plane is instructed to successfully establish a northbound forwarding channel with the destination controller cluster.
[0012] Secondly, embodiments of this application also provide a controller cluster migration apparatus, comprising:
[0013] The migration startup unit is used to rebuild the corresponding destination controller cluster based on the number of controllers contained in the source controller cluster in the control plane, and to mirror the service requests received by the source controller cluster from the application plane and the data plane to the destination controller cluster.
[0014] The channel switching unit is used to transmit cluster data in the source controller cluster to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, instruct the data plane to perform a southbound forwarding channel switch.
[0015] Instruct the application plane to switch to the northward reporting channel, and instruct the data plane to switch to the southward reporting channel;
[0016] The migration termination unit is used to further instruct the control plane to close the southbound and northbound channels of the source controller cluster when the switchover is successful, and to determine that the controller cluster migration is successful when instructing the application plane to establish a northbound channel with the destination controller cluster.
[0017] Optionally, the configuration detection unit determines whether the target controller cluster has been successfully rebuilt using the following method:
[0018] Query the running status of the source controller cluster, the destination controller cluster, and the data plane respectively;
[0019] If all operating states are normal, the target controller cluster is determined to have been successfully rebuilt.
[0020] If at least one of the operating states is abnormal, it is determined that the target controller cluster has failed to rebuild, and the target controller cluster is shut down.
[0021] Optionally, the channel switching unit is used for:
[0022] The destination controller cluster forwards the channel switching request to the data plane, instructing the data plane to switch the southward channel from the source controller cluster to the destination controller cluster;
[0023] Based on the channel information of the source controller cluster and the destination controller cluster, when it is determined that the southbound transmission channel of the data plane is consistent between the two clusters and the data plane, the southbound transmission channel of the data plane is considered to have been successfully switched.
[0024] Optionally, the configuration detection unit is further configured to:
[0025] Based on the channel information of the source controller cluster and the destination controller cluster, if it is determined that the southbound transmission channels between the two clusters and the data plane are inconsistent, the southbound transmission channel between the destination controller cluster and the data plane is closed, and an abnormal rollback process is triggered to re-instruct the data plane to switch the southbound transmission channel.
[0026] Optionally, after instructing the data plane to perform a southward transmission channel switch, and before instructing the application plane to perform a northward reporting channel switch, the channel switching unit is further configured to:
[0027] When the southbound transmission channel of the data plane is successfully switched, the application plane is instructed to send the northbound transmission request to be sent to the source controller cluster to the destination controller cluster through the northbound interface of the source controller cluster, and the northbound transmission request is mirrored to the source controller cluster.
[0028] The destination controller cluster is checked for request processing. If the destination controller cluster cannot process the northbound request sent by the application plane normally, an abnormal rollback process is triggered to re-instruct the application plane to send the northbound request to the destination controller cluster and mirror the northbound request to the source controller cluster.
[0029] Optionally, the channel switching unit is used for:
[0030] The destination controller cluster forwards the reporting channel switching request to the data plane, instructing the data plane to switch the southward reporting channel from the source controller cluster to the destination controller cluster;
[0031] In addition, the reporting channel switching request is forwarded to the application plane through the destination controller cluster, instructing the application plane to switch the northbound reporting channel from the source controller cluster to the destination controller cluster;
[0032] Based on the channel information of the source controller cluster and the destination controller cluster, if it is determined that the southward reporting channel between the two clusters and the data plane is consistent, and the northward reporting channel between the two clusters and the application plane is consistent, then it is determined that the northward reporting channel of the application plane and the southward reporting channel of the data plane have both been successfully switched.
[0033] Optionally, after both the instruction to the application layer to switch to the northbound reporting channel and the instruction to the data layer to switch to the southbound reporting channel are successfully completed, the channel switching unit is further configured to:
[0034] Send a mirroring start request to the destination controller cluster, instructing the destination controller cluster to mirror the southbound reporting requests received from the data plane to the source controller cluster;
[0035] After instructing the application layer to switch to the northbound reporting channel and instructing the data layer to switch to the southbound reporting channel, the method further includes:
[0036] If at least one of the southward reporting channels between the two clusters and the data plane and the northward reporting channels between the application plane is found to be inconsistent, an abnormal rollback process is triggered, and the application layer is re-instructed to switch the northward reporting channel and the data layer is re-instructed to switch the southward reporting channel.
[0037] Thirdly, embodiments of this application also provide a computer device, including a processor and a memory, wherein the memory stores program code, and when the program code is executed by the processor, the processor performs the steps of any of the controller cluster migration methods described above.
[0038] Fourthly, embodiments of this application also provide a computer-readable storage medium including program code, which, when the program product is run on a computer device, is used to cause the computer device to perform the steps of any of the controller cluster migration methods described above.
[0039] Fifthly, embodiments of this application also provide a computer program product, including computer instructions, which are executed by a processor using the steps of any of the controller cluster migration methods described above.
[0040] The beneficial effects of this application are as follows:
[0041] This application provides a controller cluster migration method, apparatus, device, and storage medium. The method includes: reconstructing a corresponding target controller cluster based on the number of controllers contained in the source controller cluster in the control plane, and mirroring each service request received by the source controller cluster from the application plane and the data plane to the target controller cluster; transmitting the cluster data in the source controller cluster to the target controller cluster, and instructing the data plane to switch the southbound forwarding channel when the target controller cluster is successfully reconstructed; instructing the application plane to switch the northbound reporting channel, and instructing the data plane to switch the southbound reporting channel; when the switching is successful, further instructing the control plane to close the southbound forwarding channel and the northbound forwarding channel of the source controller cluster, and determining that the controller cluster migration is successful when instructing the application plane to establish a northbound forwarding channel with the target controller cluster.
[0042] Unlike traditional controller cluster migration methods, this application rebuilds the corresponding target controller cluster based on the number of controllers contained in the source controller cluster in the control plane. In this way, even when migrating a source controller cluster that persists the cluster node configuration, there is no need to dynamically scale up or down the controller nodes in the cluster, thereby avoiding abnormal situations such as loss of business requests and network failures that may occur during node reconstruction.
[0043] Secondly, during the cluster migration process, this application continuously mirrors all business requests sent by the application plane and the data plane, ensuring that the north-south business requests received by each controller node in the cluster are lossless during the controller cluster migration. This effectively solves the problems that may have occurred during previous migrations, such as loss of business requests, inconsistency of system data stored in the cluster, network control chaos, and impact on business forwarding.
[0044] Furthermore, in response to the channel switching command sent by the migration system, the SDN network sequentially switches the southbound transmission channel of the data plane, the northbound transmission channel of the application plane, and the southbound transmission channel of the data plane from the source controller cluster to the destination controller cluster. When the above three channels are successfully switched, the control plane is further instructed to close the southbound transmission channel and the northbound transmission channel of the source controller cluster, and to instruct the application plane to establish a northbound transmission channel with the destination controller cluster, so that service requests between other layers and the control plane can be migrated from the source controller cluster of the control plane to the destination controller cluster.
[0045] Other features and advantages of this application will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the application. The objectives and other advantages of this application may be realized and obtained by means of the structures particularly pointed out in the written description, claims, and drawings. Attached Figure Description
[0046] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0047] Figure 1 This is a logical diagram of a controller cluster migration method based on dynamic scaling.
[0048] Figure 2A This is an optional schematic diagram of an application scenario in the embodiments of this application;
[0049] Figure 2B This is a schematic diagram of the topology of a traditional network;
[0050] Figure 2C This is a schematic diagram of the SDN network architecture;
[0051] Figure 2D This is a schematic diagram of the architecture of the migration system provided in the embodiments of this application;
[0052] Figure 3A A flowchart illustrating the migration source controller cluster provided in an embodiment of this application;
[0053] Figure 3B A logical schematic diagram of the migration source controller cluster provided in the embodiments of this application;
[0054] Figure 3C A logical diagram illustrating the reconstruction of the target controller cluster provided in this application embodiment;
[0055] Figure 3D A logical diagram illustrating the mirrored north-south service request provided in this application embodiment;
[0056] Figure 3E This is a logical diagram illustrating the copy source controller cluster data provided in an embodiment of this application.
[0057] Figure 3F A schematic diagram illustrating the process for determining whether the target controller cluster has been successfully rebuilt, provided in an embodiment of this application.
[0058] Figure 3G A logical schematic diagram of the indication data plane switching southbound transmission channel provided in an embodiment of this application;
[0059] Figure 3H A logical diagram illustrating the modification of Nginx cluster configuration parameters provided in an embodiment of this application;
[0060] Figure 3I A flowchart illustrating the process of switching the reporting channel between the application plane and the data plane, provided in an embodiment of this application.
[0061] Figure 3J A logical diagram illustrating the switching of the application plane and data plane reporting channels provided in this application embodiment;
[0062] Figure 3K A logical diagram illustrating the closure of the distribution channel of the source controller cluster provided in this embodiment of the application;
[0063] Figure 4A This is a schematic diagram illustrating the process of cluster migration in a cluster failure scenario provided in an embodiment of this application.
[0064] Figure 4B This is a logical diagram illustrating cluster migration in a cluster failure scenario provided by an embodiment of this application.
[0065] Figure 5A This is a schematic diagram illustrating the process of cluster migration in a data center relocation scenario provided in an embodiment of this application.
[0066] Figure 5B This is a logical diagram illustrating cluster migration in a data center relocation scenario, as provided in an embodiment of this application.
[0067] Figure 6A This is a schematic diagram illustrating the process of cluster migration in an architecture iteration and evolution scenario provided by an embodiment of this application;
[0068] Figure 6B This is a logical diagram illustrating cluster migration in an architecture iteration and evolution scenario, provided as an embodiment of this application.
[0069] Figure 7 This is a schematic diagram of the structure of a controller cluster migration device provided in an embodiment of this application;
[0070] Figure 8 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of this application;
[0071] Figure 9 This is a schematic diagram of the hardware structure of another computer device that applies an embodiment of this application. Detailed Implementation
[0072] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings of the embodiments of this application. Obviously, the described embodiments are only some embodiments of the technical solutions of this application, and not all embodiments. Based on the embodiments recorded in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the technical solutions of this application.
[0073] The design concept of the embodiments of this application is briefly introduced below:
[0074] With the continuous development of public cloud technology, more and more enterprises are adopting public cloud services to connect their data centers to the public cloud to build enterprise information technology (IT) management systems, handle non-critical business, disaster recovery and backup data, and process online business.
[0075] When the SDN controller cluster of a cloud network is running and encounters abnormal situations such as cluster failure, such as... Figure 1 As shown, the following steps are required to complete the overall migration of the controller cluster: For each new controller node horizontally expanded, after the new controller node completes data completion and consistency verification, the source controller cluster is dynamically scaled up or down, old controller nodes in the cluster are removed, and the newly added controller nodes and other old controller nodes in the cluster form the live network controller cluster. Service requests between other layers and the control plane are migrated from the source controller cluster to the live network controller cluster. This process continues until all old controller nodes have been replaced, and then all service requests between other layers and the control plane are migrated to the destination controller cluster composed of multiple new controller nodes.
[0076] However, when migrating a source controller cluster that persists cluster node configurations using the above solution, all node services of the source controller cluster need to be restarted during the dynamic scaling up and down process. During the restart, abnormal situations such as loss of business requests and network failures may occur.
[0077] Therefore, to solve the above problems, this application proposes a controller cluster migration method. This method is applied to a migration system and includes: reconstructing the corresponding target controller cluster based on the number of controllers contained in the source controller cluster in the control plane, and mirroring each service request received by the source controller cluster from the application plane and the data plane to the target controller cluster; transmitting the cluster data in the source controller cluster to the target controller cluster, and instructing the data plane to switch the southbound forwarding channel when the target controller cluster is successfully reconstructed; instructing the application plane to switch the northbound reporting channel, and instructing the data plane to switch the southbound reporting channel; when the switch is successful, further instructing the control plane to close the southbound forwarding channel and the northbound forwarding channel of the source controller cluster, and determining that the controller cluster migration is successful when instructing the application plane to establish a northbound forwarding channel with the target controller cluster.
[0078] Unlike traditional controller cluster migration methods, this application reconstructs the corresponding target controller cluster based on the number of controllers contained in the source controller cluster in the control plane. In this way, even when migrating a source controller cluster that persists cluster node configurations, there is no need to dynamically scale up or down the controller nodes within the cluster, thereby avoiding abnormal situations such as loss of business requests and network failures that may occur during node restarts.
[0079] Secondly, during the cluster migration process, this application continuously mirrors all business requests sent by the application plane and the data plane, ensuring that the north-south business requests received by each controller node in the cluster are lossless during the controller cluster migration. This effectively solves the problems that may have occurred during previous migrations, such as loss of business requests, inconsistency of system data stored in the cluster, network control chaos, and impact on business forwarding.
[0080] Furthermore, in response to the channel switching command sent by the migration system, the SDN network sequentially switches the southbound transmission channel of the data plane, the northbound transmission channel of the application plane, and the southbound transmission channel of the data plane from the source controller cluster to the destination controller cluster. When the above three channels are successfully switched, the control plane is further instructed to close the southbound transmission channel and the northbound transmission channel of the source controller cluster, and to instruct the application plane to establish a northbound transmission channel with the destination controller cluster, so that service requests between other layers and the control plane can be migrated from the source controller cluster of the control plane to the destination controller cluster.
[0081] The preferred embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the preferred embodiments described herein are for illustration and explanation only and are not intended to limit this application. Furthermore, the embodiments and features in the embodiments of this application can be combined with each other without conflict.
[0082] With the increasing adoption of cloud computing by enterprises, Direct Connect (DC), a high-speed, secure, and low-latency network service, provides a dedicated physical connection between enterprises and the public cloud. It enables the rapid creation of multiple dedicated channels, connecting computing resources deployed in the cloud and facilitating flexible and reliable hybrid cloud deployments. Therefore, Direct Connect has become the preferred network channel for enterprises to connect to the public cloud, establishing a private connection service completely isolated from the public network, allowing enterprises to better utilize the various services offered by the public cloud.
[0083] However, as the actual customer configurations carried increase, the stability requirements for leased access networks are also increasing. During the migration of SDN controller clusters of leased access products in various scenarios such as cluster failure, data center downsizing and relocation, and architecture iteration and evolution, it is also necessary to ensure the consistency of online services and system data to achieve smooth migration of SDN controller clusters.
[0084] Figure 2A One application scenario is shown, which includes: a terminal device 210, a server 220 with a source controller cluster deployed, a forwarding device 230, a server 240 with a destination controller cluster deployed, and a server 250 with a migration system deployed.
[0085] Terminal devices 210 include, but are not limited to: mobile phones, computers (such as tablets, laptops, desktop computers, etc.), smart home appliances, smart voice interaction devices (such as smartwatches, smart speakers, etc.), in-vehicle terminals, aircraft, etc. Application-side services are used to provide various cloud services to users of client devices.
[0086] Forwarding device 230 is a hardware device used to forward network data, such as a switch or router. The source controller cluster and destination controller cluster are used to control network data forwarding, and the migration system is used to realize the migration between controller clusters. Figure 2A The servers shown can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. This application does not impose any restrictions on these services.
[0087] Terminal device 210, server 220, and forwarding device 230 form SDN network 1; terminal device 210, forwarding device 230, and server 240 form SDN network 2. Figure 2B In traditional networks, each forwarding node operates independently, with internal management commands and interfaces proprietary to each vendor and not publicly accessible. As network topologies become increasingly complex, this "each doing their own thing" execution strategy becomes cumbersome and inefficient. The core idea of SDN networks is to separate control from forwarding, such as... Figure 2C As shown, the overall architecture of the SDN network is divided into three layers, from top to bottom: the application plane, the control plane, and the data plane. The core of the entire architecture is the SDN controller cluster built on the control plane. The management functions of each forwarding device in the data plane are stripped away, and only the forwarding function is retained. Multiple controller nodes in the SDN controller cluster are responsible for the unified management and control of data forwarding in the data plane, which makes network forwarding simpler and makes it easier for administrators to deploy network policies in the SDN controller nodes, enabling the SDN network to implement new routing and forwarding strategies.
[0088] The interface through which the SDN controller cluster communicates upwards with the application plane is called the Northbound Interface (MBI) interface, and the interface through which the SDN controller cluster communicates downwards with the data plane is called the Southbound Interface, also known as the Control-Data-Plane Interface (CDPI) interface. Based on the direction of request transmission, the Northbound Interface is further divided into: a Northbound Reporting Channel for forwarding requests from the SDN controller cluster to the application plane, and a Northbound Sending Channel for sending requests from the application plane to the SDN controller cluster; similarly, the Southbound Interface is divided into: a Southbound Reporting Channel for sending requests from the data plane to the SDN controller cluster, and a Southbound Sending Channel for forwarding requests from the SDN controller cluster to the data plane.
[0089] Figure 2D The migration system shown consists of a migration orchestration subsystem, a controller subsystem, and a network configuration subsystem. The controller subsystem includes the source controller cluster to be migrated, the destination controller cluster after migration, and an Nginx cluster for mirroring northbound service requests. The network configuration subsystem includes a configuration reconciliation module and a status query module, providing functions such as configuration query, configuration reconciliation, and status query for the data plane, control plane, application plane, and Nginx cluster. It provides the migration orchestration subsystem with the basis for determining whether to trigger an abnormal rollback process. The migration orchestration subsystem controls the operation of the entire migration process, including the forward migration process and the abnormal rollback process. During the forward migration, the query capabilities provided by the network configuration subsystem check the status of each network component before and after each migration step, query the configuration reconciliation results, and promptly detect anomalies in the migration process. When unexpected situations occur during the migration, the abnormal rollback process is triggered, quickly rolling back network services to the state provided by the source controller cluster to prevent network control chaos and disruption of service forwarding.
[0090] like Figure 2AAs shown, terminal device 210 responds to a network configuration request triggered by a cloud tenant and accesses the SDN application in the application plane. In the application plane, the SDN application obtains the network configuration issued by the cloud tenant and orchestrates and manages the tenant network through the northbound forwarding channel provided by the source controller cluster. In the control plane, after receiving the northbound tenant network configuration, the source controller cluster performs route calculation iteration locally and then distributes the service configuration and routing configuration to the routers, switches, and other forwarding devices 230 in the data plane through the southbound forwarding channel established with the data plane forwarding devices 230. In the data plane, when routers, switches, and other forwarding devices 230 detect changes in network links, they proactively report the latest learned routing, Address Resolution Protocol (ARP), and other information through the southbound reporting channel with the source controller cluster. The source controller cluster processes, iterates, and distributes the information reported from the data plane, and also reports the latest routing information to specific SDN applications through the northbound reporting channel with the application plane.
[0091] Server 220, which deploys an active controller cluster, sends a cluster migration request to server 250, which deploys a migration system. With the assistance of the migration system, application plane and data plane service requests are migrated from the source controller cluster to the destination controller cluster. The specific migration process is as follows: Based on the number of controllers contained in the source controller cluster in the control plane, the corresponding destination controller cluster is rebuilt, and all service requests received by the source controller cluster from the application plane and data plane are mirrored to the destination controller cluster; the cluster data in the source controller cluster is transmitted to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, the data plane is instructed to switch to the southbound forwarding channel; the application plane is instructed to switch to the northbound reporting channel, and the data plane is instructed to switch to the southbound reporting channel. When the switching is successful, the control plane is further instructed to close the southbound and northbound forwarding channels of the source controller cluster, and when the application plane is instructed to successfully establish a northbound forwarding channel with the destination controller cluster, the controller cluster migration is determined to be successful.
[0092] During the cluster migration process, all business requests sent by the application plane and data plane are continuously mirrored to ensure that the north-south business requests received by each controller node in the cluster are undamaged during the controller cluster migration. This effectively solves the problems that may have occurred during previous migrations, such as loss of business requests, inconsistency of system data stored in the cluster, network control chaos, and impact on business forwarding.
[0093] Upon completion of cluster migration, the application-plane SDN application obtains the network configuration issued by the cloud tenant and orchestrates and manages the tenant network through the northbound forwarding channel provided by the destination controller cluster. In the control plane, after receiving the northbound tenant network configuration, the destination controller cluster performs route calculation and iteration locally, and then distributes the service configuration and routing configuration to the routers, switches, and other forwarding devices 230 in the data plane through the southbound forwarding channel established with the data plane forwarding devices 230. When the routers, switches, and other forwarding devices 230 detect changes in network links, they also actively synchronize relevant information to the destination controller cluster through the southbound reporting channel with it. The destination controller cluster then processes, iterates, and distributes the information reported from the data plane. Furthermore, the destination controller cluster also reports the latest routing information to specific SDN applications through the northbound reporting channel with the application plane.
[0094] Next, see Figures 3A-3B The attached diagram illustrates the migration system employing the controller cluster migration method, where the process of migrating the source controller cluster is as follows.
[0095] S301: Based on the number of controllers contained in the source controller cluster in the control plane, reconstruct the corresponding destination controller cluster, and mirror the service requests received by the source controller cluster from the application plane and data plane to the destination controller cluster.
[0096] like Figure 3C As shown, the migration process orchestration subsystem issues a cluster establishment command to the control plane, instructing the control plane to re-establish a destination controller cluster containing multiple controller nodes based on the number of controllers contained in the source controller cluster, so that the number of controllers in the destination controller cluster is consistent with the number of controllers in the source controller cluster.
[0097] However, at this point, none of the controller nodes within the destination controller cluster have been configured with relevant business data or basic software configuration data. No northbound reporting or southbound sending channels have been established between the destination controller cluster and the application plane, nor have any southbound reporting or southbound sending channels been established between the cluster and the data plane. Once the destination controller cluster starts, the migration orchestration subsystem copies the business data and basic software configuration data from the source controller cluster to each controller node of the destination controller cluster, establishes channel connections with other layers, and checks the operational status of the source controller cluster, the destination controller cluster, the application plane, and the data plane through the network configuration subsystem, verifying whether each migration step has been executed successfully.
[0098] like Figure 3DAs shown, after rebuilding the destination controller cluster, the migration orchestration subsystem establishes an Nginx cluster at the northbound interface of the control plane. This Nginx cluster manages the northbound requests sent from the application plane to the control plane. The migration orchestration subsystem, through the Nginx cluster at the northbound interface of the control plane, instructs the application plane to mirror the northbound requests sent to the source controller cluster to the destination controller cluster. Simultaneously, the migration orchestration subsystem sends a mirroring start request to the source controller cluster, instructing it to mirror the southbound reporting requests received from the data plane (such as proactively reporting newly learned routes, ARP, etc.) to the destination controller cluster. This achieves the mirroring of northbound and southbound service requests from the source controller cluster, ensuring that northbound and southbound service requests received by each controller node within the cluster are lossless during the controller cluster migration. This effectively solves problems that may have occurred during previous migrations, such as lost service requests, inconsistent system data stored in the cluster, network control chaos, and impacts on service forwarding.
[0099] S302: Transmit the cluster data in the source controller cluster to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, instruct the data plane to switch the southbound transmission channel.
[0100] like Figure 3E As shown, after completing the north-south service requests of the mirror source controller cluster, the migration orchestration subsystem issues a data copy command to the control plane to copy the data point-to-point. The service data and basic software configuration data in the source controller cluster are compressed and packaged and sent to the destination controller cluster. After receiving the cluster data, the destination controller cluster first confirms the consistency of the cluster data with the migration orchestration subsystem. After confirming the data consistency, it decompresses the data and copies the cluster data of the source controller cluster to each controller node of its own cluster. This ensures that the persistent data stored locally on each node in the destination controller cluster is the same as that in the source controller cluster during the controller cluster migration. This ensures that the destination controller cluster can accurately and timely process relevant service requests during the controller cluster migration, avoiding abnormal situations such as network control chaos and impact on service forwarding.
[0101] Then, the migration process orchestration subsystem uses the configuration reconciliation module of the network configuration subsystem to reconcile the configuration data between the source controller cluster and the destination controller cluster. This involves comparing the configuration data within the two clusters to determine whether the business data and basic software configuration data copied from the destination controller cluster are consistent with the configuration within the source controller cluster. If the configuration data is inconsistent, the cluster data in the source controller cluster is retransmitted to the destination controller cluster.
[0102] When the configuration data of the two clusters are consistent, the migration orchestration subsystem issues a cluster rebuild command to the control plane. The rebuild command instructs the destination controller cluster to rebuild the software processes within the destination controller cluster, and then re-elects controller nodes within the destination controller cluster to determine the master controller node and multiple slave controller nodes, so as to achieve orderly forwarding of north-south service requests. At this time, the destination controller cluster receives the mirrored service requests. During the rebuild of the destination controller cluster, the source controller cluster can still process the service requests, ensuring uninterrupted service processing and avoiding abnormal situations such as service request loss, network failure, network control chaos, and impact on service forwarding.
[0103] Once the cluster is rebuilt, the migration orchestration subsystem can use... Figure 3F The method shown indicates whether the target controller cluster has been successfully rebuilt:
[0104] S3021: The migration process orchestration subsystem queries the running status of the source controller cluster, the destination controller cluster, and the data plane through the status query module of the network configuration subsystem.
[0105] S3022: Determine whether each operating state is normal. If yes, proceed to step 3023; otherwise, proceed to step 3024.
[0106] S3023: When all operating states are normal, the target controller cluster is confirmed to have been successfully rebuilt.
[0107] S3024: If at least one running state is abnormal, determine that the target controller cluster reconstruction has failed and shut down the target controller cluster.
[0108] If the northbound distribution channel of the application plane is switched first when the destination controller cluster is successfully rebuilt, the destination controller cluster will be unable to forward the network configuration requests received from the application plane to the data plane because the distribution channel between the destination controller cluster and the data plane has not yet been established, which will affect business processing.
[0109] Therefore, upon successful reconstruction of the destination controller cluster, the data plane is instructed to switch to the southbound forwarding channel. For example... Figure 3G As shown, the migration process orchestration subsystem forwards the southbound channel switching request to the data plane through the destination controller cluster, instructing the data plane to switch the southbound channel from the source controller cluster to the destination controller cluster; then, based on the channel information of the source controller cluster and the destination controller cluster, when it is determined that the southbound channel switching of the data plane is successful, it is determined that the southbound channel switching of the data plane is consistent between the two clusters and the data plane.
[0110] After the southbound forwarding channel of the data plane switches to the destination controller cluster, although the northbound forwarding channel of the application plane has not yet switched to the destination controller cluster, the cloud tenant's network configuration requests can still be sent from the northbound forwarding channel of the application plane to the source controller cluster, and then from the southbound forwarding channel of the source controller cluster to the data plane. This does not affect the normal processing of business requests.
[0111] However, if the southbound forwarding channels between the two clusters and the data plane are inconsistent based on the channel information of the source controller cluster and the destination controller cluster, it indicates that the destination controller cluster does not have the ability to send data to the data plane. If this anomaly is not handled in time, after the cluster migration is completed, the destination controller cluster will not be able to send service configurations and routing configurations to the data plane, which may easily lead to network control chaos and affect service forwarding. Therefore, when the southbound forwarding channels between the two clusters and the data plane are inconsistent, the southbound forwarding channel between the destination controller cluster and the data plane should be closed, and an anomaly rollback process should be triggered to re-instruct the data plane to switch the southbound forwarding channel.
[0112] When the southbound transmission channel of the data plane is successfully switched over, the destination controller cluster has the ability to transmit data to the data plane. Therefore, as Figure 3H As shown, the migration orchestration subsystem modifies the configuration parameters of the Nginx cluster established at the northbound interface of the source controller cluster, instructing the application plane to send the northbound requests to be sent to the source controller cluster to the destination controller cluster. In order to ensure that the control plane can also process business requests from other layers in a timely manner in the event of migration anomalies, it will also mirror the northbound requests to the source controller cluster.
[0113] Then, the migration orchestration subsystem verifies the connectivity between the application plane and the destination controller cluster through the northbound query interface, and checks the request processing of the destination controller cluster. If the destination controller cluster cannot process the northbound request sent by the application plane normally, an exception rollback process is triggered, instructing the application plane to resend the northbound request to the destination controller cluster, and mirroring the northbound request to the source controller cluster.
[0114] S303: Instructs the application plane to switch the northbound reporting channel and the data plane to switch the southbound reporting channel. When the switch is successful, it further instructs the control plane to close the southbound and northbound reporting channels of the source controller cluster. When the application plane successfully establishes the northbound reporting channel with the destination controller cluster, it determines that the controller cluster migration is successful.
[0115] like Figure 3I-3J As shown, the migration process orchestration subsystem instructs the application plane and data plane to switch reporting channels as follows:
[0116] S3031: Through the destination controller cluster, forward the reporting channel switching request to the data plane, instructing the data plane to switch the southward reporting channel from the source controller cluster to the destination controller cluster; and through the destination controller cluster, forward the reporting channel switching request to the application plane, instructing the application plane to switch the northward reporting channel from the source controller cluster to the destination controller cluster.
[0117] The migration process orchestration subsystem sends the reporting channel switching request to the destination controller cluster, which then forwards the request to the data plane, instructing the data plane to switch the southbound reporting channel from the source controller cluster to the destination controller cluster according to the reporting channel switching request.
[0118] Additionally, the migration process orchestration subsystem sends the reporting channel switching request to the destination controller cluster, which then forwards the request to the application plane, instructing the application plane to switch the northbound reporting channel from the source controller cluster to the destination controller cluster according to the reporting channel switching request.
[0119] S3032: Based on the channel information of the source controller cluster and the destination controller cluster, if it is determined that the southward reporting channels between the two clusters and the data plane are consistent, and the northward reporting channels between the two clusters and the application plane are consistent, then it is determined that the northward reporting channel of the application plane and the southward reporting channel of the data plane have been successfully switched.
[0120] After both the application layer and data layer instructions for switching the northbound reporting channel and the data layer instructions for switching the southbound reporting channel are successfully completed, the migration orchestration subsystem will also send a mirroring start request to the destination controller cluster. This instructs the destination controller cluster to mirror the southbound reporting requests received from the data plane to the source controller cluster, ensuring that the northbound and southbound service requests received by each controller node in the cluster are unaffected during the controller cluster migration. If an unexpected situation occurs during the migration, an abnormal rollback process will be triggered to quickly roll back the network services to the state where they are provided by the source controller cluster, so as to avoid network control chaos and impact on service forwarding.
[0121] After instructing the application layer to switch to the northbound reporting channel and the data layer to switch to the southbound reporting channel, the migration orchestration subsystem compares the consistency of the northbound and southbound reporting channels of the source and destination controller clusters based on their respective channel information. If it is determined that the southbound reporting channels between the two clusters and the data plane are consistent, and the northbound reporting channels between the two clusters and the application plane are consistent, it is determined that both the northbound reporting channels of the application plane and the southbound reporting channels of the data plane have been successfully switched. If it is determined that at least one of the southbound reporting channels between the two clusters and the data plane and the northbound reporting channels between the application plane is inconsistent, an exception rollback process is triggered, and the application layer is re-instructed to switch to the northbound reporting channel, and the data layer is re-instructed to switch to the southbound reporting channel.
[0122] After the north-south reporting channel switch, the migration process orchestration subsystem compares the consistency of configuration parameters between the application plane and the control plane, as well as the consistency of configuration parameters between the control plane and the data plane, through the configuration reconciliation module of the network configuration subsystem. If at least one configuration parameter is found to be inconsistent, the configuration parameters of the source controller cluster shall be used as the standard, and the inconsistent configuration parameters shall be supplemented in a timely manner, or the abnormal rollback process shall be triggered to re-instruct the application layer to switch the north-south reporting channel and instruct the data layer to switch the south-south reporting channel.
[0123] like Figure 3K As shown, upon successful switching, the migration orchestration subsystem further instructs the control plane to close the southbound and northbound forwarding channels of the source controller cluster, and instructs the application plane to establish a northbound forwarding channel with the destination controller cluster. Simultaneously, the migration orchestration subsystem also sends a request to the Nginx cluster to disable its mirroring function and cancel the northbound request proxy.
[0124] The migration process orchestration subsystem queries the system status of the application plane, data plane, and destination controller cluster through the network configuration subsystem. If all system statuses are normal, the cluster migration is confirmed to be successful. If at least one system status is abnormal, the abnormal rollback process is triggered, instructing the control plane to close the southbound and northbound channels of the source controller cluster, instructing the Nginx cluster to disable the mirroring function, and instructing the application plane to establish a northbound channel with the destination controller cluster.
[0125] This application provides a cluster migration solution for distributed SDN controller clusters in public cloud networks, designed for public cloud leased line access products. During the migration, the control plane maintains normal transmission and reception of northbound service requests from the public cloud, effectively ensuring the real-time availability of the SDN controller cluster's functions and uninterrupted northbound and southbound service requests. This effectively solves problems that may occur during previous migrations, such as lost service requests, inconsistent system data in the cluster storage, network control chaos, and impact on service forwarding. The solution maintains the data integrity and consistency of the application plane, control plane, and data plane of the entire cloud network service system during the migration, improving the disaster recovery capabilities of the cloud network. It is suitable for various failure scenarios, including cluster failures, data center relocation, and architecture evolution.
[0126] Next, we will use several specific embodiments as examples to introduce the application process of this method in corresponding scenarios.
[0127] Specific Implementation Example 1: Cluster Failure Scenario.
[0128] Cluster failure scenario: During operation, cloud network controller clusters face risks such as sudden large-scale cluster failures, including power outages in IDC data centers and underlying network failures. SDN controller systems manage numerous data plane network devices and store massive amounts of cloud tenant business data, requiring emergency migration capabilities in the event of sudden failures. In this case, the controller cluster migration method proposed in this application can migrate all north-south traffic from the controller cluster to a functioning controller cluster in a short period, ensuring the network system can quickly mitigate network failure risks in cluster failure scenarios.
[0129] like Figures 4A-4B As shown, the process of performing cluster migration in a cluster failure scenario using the method provided in this application embodiment is as follows:
[0130] S401: The control plane monitors the node operation status of each SDN controller node in the source controller cluster in real time. Based on the node operation status, when a cluster failure occurs in the source controller cluster, a cluster migration request is sent to the migration system.
[0131] S402: The migration system reconstructs the corresponding destination controller cluster based on the number of controllers contained in the source controller cluster in the control plane, and mirrors the various service requests received by the source controller cluster from the application plane and data plane to the destination controller cluster through the Nginx cluster on the northbound interface of the control plane.
[0132] S403: The migration system transmits the cluster data in the source controller cluster to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, it instructs the data plane to switch the southbound transmission channel.
[0133] S404: Upon successful switchover, the migration system modifies the configuration parameters of the Nginx cluster established at the northbound interface of the source controller cluster, instructing the application plane to send the northbound requests to be sent to the source controller cluster to the destination controller cluster.
[0134] S405: The migration system instructs the application plane to switch the northbound reporting channel and the data plane to switch the southbound reporting channel. When the switch is successful, it further instructs the control plane to close the southbound and northbound reporting channels of the source controller cluster, instructs the Nginx cluster to close the mirroring function, and determines that the controller cluster migration is successful when the application plane successfully establishes the northbound reporting channel with the destination controller cluster.
[0135] Specific Implementation Example 2: Data Center Demolition and Relocation Scenario.
[0136] Data center decommissioning and relocation scenarios: Public cloud infrastructure needs to meet the requirements of elastic planning and scheduling, enabling lossless migration during data center decommissioning and relocation, thereby reducing the overall operating costs of the public cloud. The controller cluster migration method proposed in this application meets the requirements of elastic planning and scheduling for public clouds in data center decommissioning and relocation scenarios.
[0137] like Figures 5A-5B As shown, the process of cluster migration in a data center relocation scenario using the method provided in this application embodiment is as follows:
[0138] S501: The network operation object sends a cluster migration request to the migration system, requesting the migration system to perform migration work on the source controller cluster of the cloud network.
[0139] S502: The migration system reconstructs the corresponding destination controller cluster based on the number of controllers contained in the source controller cluster in the control plane, and mirrors the various service requests received by the source controller cluster from the application plane and data plane to the destination controller cluster through the Nginx cluster on the northbound interface of the control plane.
[0140] S503: The migration system transmits the cluster data in the source controller cluster to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, it instructs the data plane to switch the southbound transmission channel.
[0141] S504: Upon successful handover, the migration system modifies the configuration parameters of the Nginx cluster established at the northbound interface of the source controller cluster, instructing the application plane to send the northbound requests to be sent to the source controller cluster to the destination controller cluster.
[0142] S505: The migration system instructs the application plane to switch the northbound reporting channel and the data plane to switch the southbound reporting channel. When the switch is successful, it further instructs the control plane to close the southbound and northbound reporting channels of the source controller cluster, instructs the Nginx cluster to close the mirroring function, and determines that the controller cluster migration is successful when the application plane successfully establishes the northbound reporting channel with the destination controller cluster.
[0143] Specific Implementation Example 3: Architecture Iteration and Evolution Scenario.
[0144] Architecture Iteration and Evolution Scenario: As public cloud network architectures continue to develop and evolve, older controller clusters face upgrade and iteration requirements, and the performance requirements for server nodes are also increasing. Sometimes, a complete cluster migration solution is needed to smoothly migrate services to a new architecture controller cluster. The controller cluster migration solution proposed in this application achieves smooth iteration and evolution optimization between the old and new architectures.
[0145] like Figures 6A-6BAs shown, the process of cluster migration in an architecture iteration evolution scenario using the method provided in the embodiments of this application is as follows:
[0146] S601: The network operation object sends a cluster migration request to the migration system, requesting the migration system to perform migration work on the source controller cluster of the cloud network.
[0147] S602: The migration system reconstructs the corresponding destination controller cluster based on the number of controllers contained in the source controller cluster in the control plane, and mirrors the various service requests received by the source controller cluster from the application plane and data plane to the destination controller cluster through the Nginx cluster on the northbound interface of the control plane.
[0148] S603: The migration system transmits the cluster data in the source controller cluster to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, it instructs the data plane to switch the southbound transmission channel.
[0149] S604: Upon successful handover, the migration system modifies the configuration parameters of the Niginx cluster established at the northbound interface of the source controller cluster, instructing the application plane to send the northbound requests to be sent to the source controller cluster to the destination controller cluster.
[0150] S605: The migration system instructs the application plane to switch the northbound reporting channel and the data plane to switch the southbound reporting channel. When the switch is successful, it further instructs the control plane to close the southbound and northbound reporting channels of the source controller cluster, instructs the Nginx cluster to close the mirroring function, and determines that the controller cluster migration is successful when the application plane successfully establishes the northbound reporting channel with the destination controller cluster.
[0151] Furthermore, it should be noted that in the specific implementation of this application, object data related to obtaining network configuration and sending and receiving service requests is involved. When the above embodiments of this application are applied to specific products or technologies, permission or consent from the object is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0152] Based on the same inventive concept as the above-described method embodiments, this application also provides an image retrieval device. For example... Figure 7 As shown, the image retrieval device 700 may include:
[0153] The migration startup unit 701 is used to rebuild the corresponding destination controller cluster based on the number of controllers contained in the source controller cluster in the control plane, and to mirror the various service requests received by the source controller cluster from the application plane and the data plane to the destination controller cluster.
[0154] The channel switching unit 702 is used to transmit cluster data in the source controller cluster to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, instruct the data plane to perform southbound forwarding channel switching.
[0155] Instruct the application plane to switch to the northward reporting channel, and instruct the data plane to switch to the southward reporting channel;
[0156] The migration termination unit 703 is used to further instruct the control plane to close the southbound and northbound transmission channels of the source controller cluster when the handover is successful, and to determine that the controller cluster migration is successful when the application plane is instructed to successfully establish a northbound transmission channel with the destination controller cluster.
[0157] Optionally, the migration startup unit 701 is used for:
[0158] By instructing the application plane to send a northbound request to the source controller cluster via the northbound interface of the control plane, the request is mirrored to the destination controller cluster.
[0159] Send a mirroring start request to the source controller cluster, instructing the source controller cluster to mirror the southbound reporting requests received from the data plane to the destination controller cluster.
[0160] Optionally, after transmitting cluster data from the source controller cluster to the destination controller cluster, and before rebuilding the destination controller cluster, the controller cluster migration device 700 further includes a configuration detection unit 704, which is used for:
[0161] Reconcile configuration data between the source controller cluster and the destination controller cluster;
[0162] When the configuration data is inconsistent, the cluster data in the source controller cluster is retransmitted to the destination controller cluster.
[0163] Optionally, the detection unit 704 can determine whether the target controller cluster has been successfully rebuilt using the following method:
[0164] Query the running status of the source controller cluster, the destination controller cluster, and the data plane respectively;
[0165] When all operating states are normal, the target controller cluster is confirmed to have been successfully rebuilt.
[0166] If at least one of the operating states is abnormal, determine that the target controller cluster reconstruction has failed and shut down the target controller cluster.
[0167] Optionally, the channel switching unit 702 is used for:
[0168] The destination controller cluster forwards the channel switching request to the data plane, instructing the data plane to switch the southward channel from the source controller cluster to the destination controller cluster;
[0169] Based on the channel information of the source controller cluster and the destination controller cluster, when it is determined that the southward transmission channel of the data plane is consistent between the two clusters and the data plane, the southward transmission channel of the data plane is considered to have been successfully switched.
[0170] Optionally, the configuration detection unit 704 is also used for:
[0171] Based on the channel information of the source controller cluster and the destination controller cluster, if it is determined that the southbound transmission channels between the two clusters and the data plane are inconsistent, the southbound transmission channel between the destination controller cluster and the data plane is closed, and an abnormal rollback process is triggered to re-instruct the data plane to switch the southbound transmission channel.
[0172] Optionally, after instructing the data plane to perform a southward transmission channel switch, and before instructing the application plane to perform a northward reporting channel switch, the channel switching unit 702 is further configured to:
[0173] When the southbound transmission channel of the data plane is successfully switched, the application plane is instructed to send the northbound transmission request to be sent to the source controller cluster to the destination controller cluster through the northbound interface of the source controller cluster, and the northbound transmission request is mirrored to the source controller cluster.
[0174] The request processing of the destination controller cluster is checked. If the destination controller cluster cannot process the northbound request sent by the application plane normally, the exception rollback process is triggered, and the application plane is instructed to send the northbound request to the destination controller cluster again, and the northbound request is mirrored to the source controller cluster.
[0175] Optionally, the channel switching unit 702 is used for:
[0176] The destination controller cluster forwards the reporting channel switching request to the data plane, instructing the data plane to switch the southward reporting channel from the source controller cluster to the destination controller cluster.
[0177] Additionally, the reporting channel switching request is forwarded to the application plane through the destination controller cluster, instructing the application plane to switch the northbound reporting channel from the source controller cluster to the destination controller cluster;
[0178] Based on the channel information of the source controller cluster and the destination controller cluster, if it is determined that the southward reporting channels between the two clusters and the data plane are consistent, and the northward reporting channels between the two clusters and the application plane are consistent, then it is determined that the northward reporting channel of the application plane and the southward reporting channel of the data plane have both been successfully switched.
[0179] Optionally, after both the northward reporting channel switch at the application layer and the southward reporting channel switch at the data layer are successfully completed, the channel switching unit 702 is further configured to:
[0180] Send a mirroring start request to the destination controller cluster, instructing the destination controller cluster to mirror the southbound reporting request received from the data plane to the source controller cluster;
[0181] After instructing the application layer to switch the northward reporting channel and instructing the data layer to switch the southward reporting channel, the method further includes:
[0182] If at least one of the southward reporting channels between the two clusters and the data plane and the northward reporting channels between the application plane is found to be inconsistent, an abnormal rollback process is triggered, and the application layer is instructed to switch the northward reporting channel and the data layer is instructed to switch the southward reporting channel.
[0183] For ease of description, the above sections are divided into modules (or units) according to their functions and described separately. Of course, in implementing this application, the functions of each module (or unit) can be implemented in one or more software or hardware components.
[0184] Having introduced the controller cluster migration method and apparatus according to exemplary embodiments of this application, we will now introduce a computer device according to another exemplary embodiment of this application.
[0185] Those skilled in the art will understand that various aspects of this application can be implemented as a system, method, or program product. Therefore, various aspects of this application can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, collectively referred to herein as a "circuit," "module," or "system."
[0186] Based on the same inventive concept as the above-described method embodiments, this application also provides a computer device. In one embodiment, the computer device may be a server, such as... Figure 2A The server 250 is shown. In this embodiment, the computer device is structured as follows: Figure 8 As shown, it may include at least a memory 801, a communication module 803, and at least one processor 802.
[0187] The memory 801 is used to store computer programs executed by the processor 802. The memory 801 may mainly include a program storage area and a data storage area. The program storage area may store the operating system and programs required to run instant messaging functions, etc.; the data storage area may store various instant messaging information and operation instruction sets, etc.
[0188] Memory 801 may be volatile memory, such as random-access memory (RAM); memory 801 may also be non-volatile memory, such as read-only memory, flash memory, hard disk drive (HDD), or solid-state drive (SSD); or memory 801 may be any other medium capable of carrying or storing a desired computer program having the form of instructions or data structures and accessible by a computer, but is not limited thereto. Memory 801 may be a combination of the above-described memories.
[0189] Processor 802 may include one or more central processing units (CPUs) or digital processing units, etc. Processor 802 is used to implement the above-described controller cluster migration method when calling computer programs stored in memory 801.
[0190] The communication module 803 is used to communicate with terminal devices and other servers.
[0191] This application embodiment does not limit the specific connection medium between the memory 801, communication module 803, and processor 802 described above. This application embodiment... Figure 8 The memory 801 and the processor 802 are connected via a bus 804, and the bus 804 is in Figure 8 The diagram uses thick lines to describe the connections between other components; these are for illustrative purposes only and should not be considered limiting. The 804 bus can be divided into address bus, data bus, control bus, etc. For ease of description, Figure 8 It is described using only a thick line, but does not indicate that there is only one bus or one type of bus.
[0192] The memory 801 stores a computer storage medium, which stores computer-executable instructions for implementing the controller cluster migration method of this application embodiment. The processor 802 is used to execute the above-described controller cluster migration method, such as... Figure 3A As shown.
[0193] In another embodiment, the computer device can also be other types of computer devices. Figure 2A The terminal device shown. In this embodiment, the structure of the computer device can be as follows. Figure 9 As shown, it includes components such as: communication component 910, memory 920, display unit 930, camera 940, sensor 950, audio circuit 960, Bluetooth module 970, and processor 980.
[0194] The communication component 910 is used to communicate with the server. In some embodiments, it may include a Wireless Fidelity (WiFi) module, which is a short-range wireless transmission technology. Electronic devices can use the WiFi module to help objects send and receive information.
[0195] The memory 920 can be used to store software programs and data. The processor 980 executes various functions of the terminal device 210 and performs data processing by running the software programs or data stored in the memory 920. The memory 920 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. The memory 920 stores an operating system that enables the terminal device 210 to run. In this application, the memory 920 may store the operating system and various application programs, and may also store a computer program that executes the controller cluster migration method of the embodiments of this application.
[0196] The display unit 930 can also be used to display information input by an object or information provided to an object, as well as a graphical user interface (GUI) of various menus of the terminal device 210. Specifically, the display unit 930 may include a display screen 932 disposed on the front of the terminal device 210. The display screen 932 may be configured as a liquid crystal display, a light-emitting diode, or the like. The display unit 930 can be used to display the controller cluster migration interface, etc., as described in the embodiments of this application.
[0197] The display unit 930 can also be used to receive input digital or character information and generate signal inputs related to object settings and function control of the terminal device 210. Specifically, the display unit 930 may include a touch screen 931 disposed on the front of the terminal device 210, which can collect touch operations on or near the object, such as clicking a button, dragging a scroll bar, etc.
[0198] The touchscreen 931 can be placed on top of the display screen 932, or the touchscreen 931 and the display screen 932 can be integrated to realize the input and output functions of the terminal device 210. After integration, it can be referred to as a touch display screen. In this application, the display unit 930 can display the application program and the corresponding operation steps.
[0199] Camera 940 can be used to capture still images, and objects can publish images captured by camera 940 through an application. There can be one or multiple cameras 940. An object generates an optical image through a lens, which is projected onto a photosensitive element. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then transmitted to processor 980 to be converted into a digital image signal.
[0200] The terminal device may also include at least one sensor 950, such as an accelerometer 951, a proximity sensor 952, a fingerprint sensor 953, and a temperature sensor 954. The terminal device may also be equipped with other sensors such as a gyroscope, barometer, hygrometer, thermometer, infrared sensor, light sensor, and motion sensor.
[0201] Audio circuitry 960, speaker 961, and microphone 962 provide an audio interface between the device and terminal device 210. Audio circuitry 960 converts received audio data into electrical signals, which are then transmitted to speaker 961, where they are converted into sound signals for output. Terminal device 210 may also be equipped with volume buttons for adjusting the volume of the sound signal. On the other hand, microphone 962 converts collected sound signals into electrical signals, which are received by audio circuitry 960, converted into audio data, and then output to communication component 910 for transmission to, for example, another terminal device 210, or to memory 920 for further processing.
[0202] The Bluetooth module 970 is used to interact with other Bluetooth devices that also have a Bluetooth module via the Bluetooth protocol. For example, a terminal device can establish a Bluetooth connection with a wearable electronic device (such as a smartwatch) that also has a Bluetooth module through the Bluetooth module 970, thereby exchanging data.
[0203] The processor 980 is the control center of the terminal device, connecting various parts of the terminal through various interfaces and lines. It executes various functions and processes data by running or executing software programs stored in the memory 920 and calling data stored in the memory 920. In some embodiments, the processor 980 may include one or more processing units; the processor 980 may also integrate an application processor and a baseband processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the baseband processor mainly handles wireless communication. It is understood that the baseband processor may not be integrated into the processor 980. In this application, the processor 980 can run the operating system, applications, user interface display and touch response, as well as the controller cluster migration method of this embodiment. Furthermore, the processor 980 is coupled to the display unit 930.
[0204] In some possible implementations, various aspects of the controller cluster migration method provided in this application can also be implemented as a program product, which includes a computer program. When the program product is run on a computer device, the computer program causes the computer device to perform the steps in the controller cluster migration method according to the various exemplary embodiments of this application described above. For example, the computer device can perform actions such as... Figure 3A The steps are shown in the figure.
[0205] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: electrical connections having one or more wires, portable 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 thereof.
[0206] The program product of the embodiments of this application may employ a portable compact disc read-only memory (CD-ROM) and include a computer program, and may run on an electronic device. However, the program product of this application is not limited thereto. In this document, the readable storage medium may be any tangible medium that contains or stores a program that may be used by or in conjunction with a command execution system, apparatus, or device.
[0207] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying a readable computer program. This propagated data signal may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting a program for use by or in conjunction with a command execution system, apparatus, or device.
[0208] Computer programs contained on readable media may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0209] Computer programs for performing the operations of this application can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The computer program can execute entirely on the user's computer device, partially on the user's computer device, as a standalone software package, partially on the user's computer device and partially on a remote computer device, or entirely on a remote computer device. In cases involving remote computer devices, the remote computer device can be connected to the user's computer device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer device (e.g., via the Internet using an Internet service provider).
[0210] It should be noted that although several units or sub-units of the device have been mentioned in the detailed description above, this division is merely exemplary and not mandatory. In fact, according to embodiments of this application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided and embodied by multiple units.
[0211] Furthermore, although the operations of the method of this application are described in a specific order in the accompanying drawings, this does not require or imply that these operations must be performed in that specific order, or that all the operations shown must be performed to achieve the desired result. Additionally or alternatively, certain steps may be omitted, multiple steps may be combined into one step, and / or one step may be broken down into multiple steps.
[0212] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing a computer-usable computer program.
[0213] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, produce a machine for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0214] These computer program commands may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the commands stored in the computer-readable storage medium produce an article of manufacture including command means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0215] These computer program commands can also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing the commands executed on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0216] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0217] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A controller cluster migration method, characterized in that, The method includes: Based on the number of controllers contained in the source controller cluster in the control plane, the corresponding destination controller cluster is reconstructed, and each service request received by the source controller cluster from the application plane and the data plane is mirrored to the destination controller cluster. The cluster data in the source controller cluster is transmitted to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, the data plane is instructed to switch to the southbound transmission channel. Instruct the application plane to switch to the northward reporting channel, and instruct the data plane to switch to the southward reporting channel; Upon successful handover, the control plane is further instructed to close the southbound and northbound forwarding channels of the source controller cluster, and the controller cluster migration is confirmed to be successful when the application plane is instructed to successfully establish a northbound forwarding channel with the destination controller cluster.
2. The method as described in claim 1, characterized in that, The step of mirroring the service requests received by the source controller cluster from the application plane and data plane to the destination controller cluster includes: By instructing the application plane to send a northbound request to the source controller cluster via the northbound interface of the control plane, the application plane is mirrored to the destination controller cluster. A mirroring start request is sent to the source controller cluster, instructing the source controller cluster to mirror the southbound reporting requests received from the data plane to the destination controller cluster.
3. The method as described in claim 1, characterized in that, After transmitting the cluster data within the source controller cluster to the destination controller cluster, and before the destination controller cluster is rebuilt, the method further includes: Perform configuration data reconciliation between the source controller cluster and the destination controller cluster; If the configuration data is inconsistent, the cluster data in the source controller cluster will be retransmitted to the destination controller cluster.
4. The method as described in claim 3, characterized in that, The following method is used to determine whether the target controller cluster has been successfully rebuilt: Query the running status of the source controller cluster, the destination controller cluster, and the data plane respectively; If all operating states are normal, the target controller cluster is determined to have been successfully rebuilt. If at least one of the operating states is abnormal, it is determined that the target controller cluster has failed to rebuild, and the target controller cluster is shut down.
5. The method as described in claim 1, characterized in that, The instruction to the data plane to switch to the southbound transmission channel includes: The destination controller cluster forwards the channel switching request to the data plane, instructing the data plane to switch the southward channel from the source controller cluster to the destination controller cluster; Based on the channel information of the source controller cluster and the destination controller cluster, when it is determined that the southbound transmission channel of the data plane is consistent between the two clusters and the data plane, the southbound transmission channel of the data plane is considered to have been successfully switched.
6. The method as described in claim 5, characterized in that, The method further includes: Based on the channel information of the source controller cluster and the destination controller cluster, if it is determined that the southbound transmission channels between the two clusters and the data plane are inconsistent, the southbound transmission channel between the destination controller cluster and the data plane is closed, and an abnormal rollback process is triggered to re-instruct the data plane to switch the southbound transmission channel.
7. The method according to any one of claims 1-6, characterized in that, After instructing the data plane to switch to the southward reporting channel, and before instructing the application plane to switch to the northward reporting channel and instructing the data plane to switch to the southward reporting channel, the method further includes: When the southbound transmission channel of the data plane is successfully switched, the application plane is instructed to send the northbound transmission request to be sent to the source controller cluster to the destination controller cluster through the northbound interface of the source controller cluster, and the northbound transmission request is mirrored to the source controller cluster. The destination controller cluster is checked for request processing. If the destination controller cluster cannot process the northbound request sent by the application plane normally, an abnormal rollback process is triggered to re-instruct the application plane to send the northbound request to the destination controller cluster and mirror the northbound request to the source controller cluster.
8. The method according to any one of claims 1-6, characterized in that, The instruction to the application layer to switch to the northward reporting channel and the instruction to the data layer to switch to the southward reporting channel include: The destination controller cluster forwards the reporting channel switching request to the data plane, instructing the data plane to switch the southward reporting channel from the source controller cluster to the destination controller cluster; In addition, the reporting channel switching request is forwarded to the application plane through the destination controller cluster, instructing the application plane to switch the northbound reporting channel from the source controller cluster to the destination controller cluster; Based on the channel information of the source controller cluster and the destination controller cluster, if it is determined that the southward reporting channel between the two clusters and the data plane is consistent, and the northward reporting channel between the two clusters and the application plane is consistent, then it is determined that the northward reporting channel of the application plane and the southward reporting channel of the data plane have both been successfully switched.
9. The method as described in claim 8, characterized in that, After both the instruction to the application layer to switch to the northbound reporting channel and the instruction to the data layer to switch to the southbound reporting channel are successfully completed, the method further includes: Send a mirroring start request to the destination controller cluster, instructing the destination controller cluster to mirror the southbound reporting requests received from the data plane to the source controller cluster; After instructing the application layer to switch to the northbound reporting channel and instructing the data layer to switch to the southbound reporting channel, the method further includes: If at least one of the southward reporting channels between the two clusters and the data plane and the northward reporting channels between the application plane is found to be inconsistent, an abnormal rollback process is triggered, and the application layer is re-instructed to switch the northward reporting channel and the data layer is re-instructed to switch the southward reporting channel.
10. A controller cluster migration device, characterized in that, include: The migration startup unit is used to rebuild the corresponding destination controller cluster based on the number of controllers contained in the source controller cluster in the control plane, and to mirror the service requests received by the source controller cluster from the application plane and the data plane to the destination controller cluster. The channel switching unit is used to transmit cluster data in the source controller cluster to the destination controller cluster, and when the destination controller cluster is successfully rebuilt, instruct the data plane to perform a southbound forwarding channel switch. Instruct the application plane to switch to the northward reporting channel, and instruct the data plane to switch to the southward reporting channel; The migration termination unit is used to further instruct the control plane to close the southbound and northbound channels of the source controller cluster when the switchover is successful, and to determine that the controller cluster migration is successful when instructing the application plane to establish a northbound channel with the destination controller cluster.
11. The apparatus as claimed in claim 10, characterized in that, The migrated startup unit is used for: By instructing the application plane to send a northbound request to the source controller cluster via the northbound interface of the control plane, the application plane is mirrored to the destination controller cluster. A mirroring start request is sent to the source controller cluster, instructing the source controller cluster to mirror the southbound reporting requests received from the data plane to the destination controller cluster.
12. The apparatus as claimed in claim 10, characterized in that, After transmitting the cluster data from the source controller cluster to the destination controller cluster, and before the destination controller cluster is rebuilt, the controller cluster migration device further includes a configuration detection unit, which is used for: Perform configuration data reconciliation between the source controller cluster and the destination controller cluster; If the configuration data is inconsistent, the cluster data in the source controller cluster will be retransmitted to the destination controller cluster.
13. A computer device, characterized in that, It includes a processor and a memory, wherein the memory stores program code that, when executed by the processor, causes the processor to perform the steps of the method according to any one of claims 1 to 9.
14. A computer-readable storage medium, characterized in that, It includes program code that, when run on a computer device, causes the computer device to perform the steps of the method according to any one of claims 1 to 9.
15. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of the method according to any one of claims 1 to 9.