An inter-cluster data interaction method and device, electronic equipment and storage medium

By receiving fragmentation information and implementing load balancing strategies, the bottleneck problem of traffic forwarding in multi-AZ cluster networks is solved, enabling efficient data interaction and fast, lossless service switching between clusters, and avoiding traffic interruption and cluster paralysis.

CN119697196BActive Publication Date: 2026-02-10CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411706808.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-26
Publication Date
2026-02-10
Estimated Expiration
2044-11-26

AI Technical Summary

Technical Problem

Existing technologies suffer from traffic forwarding bottlenecks in multi-AZ cluster networks, resulting in slow controller accounts, insufficient data plane memory, and inability to achieve inter-cluster traffic forwarding, leading to service interruptions and cluster paralysis.

Method used

By receiving fragmentation information, the cluster to which the traffic data belongs is determined, and routing is performed according to the load balancing strategy. BGP and DP are used to dynamically update the routing information, thereby achieving efficient data interaction between clusters.

Benefits of technology

No VIP needs to be modified during cluster switching, avoiding traffic interruption, enabling fast and lossless service switching, reducing the impact of failures, and supporting millisecond-level traffic jitter.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697196B_ABST
    Figure CN119697196B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide an inter-cluster data interaction method and device, electronic equipment and storage medium, the method comprising: a first cluster receives sharding information, the sharding information is used to indicate the cluster to which the traffic data belongs; after receiving first traffic data, the first cluster determines whether the cluster to which the first traffic data belongs is the first cluster according to the sharding information; when determining that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data; when determining that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the first traffic data is routed by the cluster to which the first traffic data belongs. Through the embodiments of the present application, when the cluster switching is performed, other department network elements do not need to be notified to modify the VIP, and flow interruption does not occur.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of data interaction, and in particular to a data interaction method between clusters, a data interaction device between clusters, an electronic device, and a computer-readable storage medium. Background Technology

[0002] The current cluster network controller architecture exists in a single cluster in a multi-AZ (Availability Zone) scenario, and it is not possible to migrate the entire AZ to other clusters.

[0003] like Figure 1 As shown, multiple Availability Zones (AZs) (az-1, az-2, ..., az-n) coexist in a single hostgroup (a single cluster instance). All VPCs (Virtual Private Clouds) forward traffic to the Internet Data Center (IDC) through Controller Hostgroup1 (based on BGP and DP (Data Plane)). The ratio between the controllers (Controller3 and Controller4) and the data planes DP (Data Plane1 and Data Plane2) is 1:1, and the DP uses a programmable switch. When the number of VPCs reaches 100,000, a breadth-first search (bFSWIFT) bottleneck will be reached.

[0004] against Figure 2 When the number of VPCs reaches a certain threshold, two problems arise: first, controller reconciliation becomes slow; second, the large data volume in the DP (Data Controller) causes Out of Memory (OOM) errors, directly leading to the paralysis of the current hostgroup. Furthermore, the inability of multiple clusters to automatically learn the computational load can result in the entire cluster becoming unavailable. Simultaneously, the inability of clusters to forward traffic to each other prevents normal interaction between multiple hostgroups (az-1, az-2, ..., az-n become disconnected).

[0005] Current technology has a problem: when DP reaches a bottleneck of 100,000, dynamic configuration is needed for cluster switching, such as... Figure 3As shown; however, when the cluster switch is not completed, there will be interruptions in services such as VPC Peering, VPN (Virtual Private Network), and DC (Data Center). This directly causes traffic to still be sent to the hostgroup, which cannot recognize it as its own traffic, resulting in packet loss and directly affecting the customer's business. Summary of the Invention

[0006] In view of the above problems, a data interaction method, a data interaction device, an electronic device, and a computer-readable storage medium for inter-cluster communication are proposed to overcome or at least partially solve the above problems, comprising:

[0007] A method for data interaction between clusters, the clusters including a first cluster and other clusters, the method comprising:

[0008] The first cluster receives sharding information, which is used to indicate the cluster to which the traffic data belongs;

[0009] After receiving the first traffic data, the first cluster determines whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information;

[0010] When it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data;

[0011] When it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the cluster to which the first traffic data belongs can route the first traffic data.

[0012] Optionally, the cluster is connected to a cluster controller;

[0013] The cluster controller is used to set the sharding information of each traffic data according to the data layering plane to which each traffic data belongs, and the cluster includes the data layering plane;

[0014] The step of determining whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information includes:

[0015] Based on the sharding information, determine whether the data layering plane to which the first traffic data belongs belongs to the first cluster.

[0016] Optionally, the cluster controller is used to set the data layer plane to which each traffic data belongs based on a preset load balancing strategy.

[0017] Optionally, the cluster controller is used to shard the virtual private cloud corresponding to each traffic data in sequence; and to set the data layer plane to which each shard corresponds to the traffic data.

[0018] Optionally, the cluster controller is used to divide the virtual network identifiers of each virtual private cloud according to the classless inter-domain routing of the Internet Protocol to obtain multiple shards.

[0019] Optionally, the cluster controller is further configured to partition a shard when traffic data belonging to different data layer planes exists in the shard.

[0020] Optionally, the method further includes:

[0021] Received second traffic data; the cluster to which the second traffic data belonged has been deleted;

[0022] The second traffic data is routed.

[0023] This invention also provides a data interaction device between clusters, the clusters including a first cluster and other clusters, the device comprising:

[0024] A receiving module is used to receive fragmentation information, which indicates the cluster to which the traffic data belongs;

[0025] The judgment module is used to determine whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information after the first cluster receives the first traffic data.

[0026] The first transmission module is used to route the first traffic data when it is determined that the cluster to which the first traffic data belongs is the first cluster.

[0027] The second transmission module is used to send the first traffic data to the cluster to which the first traffic data belongs when it is determined that the cluster to which the first traffic data belongs is not the first cluster, so that the cluster to which the first traffic data belongs can route the first traffic data.

[0028] Optionally, the cluster is connected to a cluster controller;

[0029] The cluster controller is used to set the sharding information of each traffic data according to the data layering plane to which each traffic data belongs, and the cluster includes the data layering plane;

[0030] The judgment module is used to determine, based on the sharding information, whether the data layering plane to which the first traffic data belongs belongs to the first cluster.

[0031] Optionally, the cluster controller is used to set the data layer plane to which each traffic data belongs based on a preset load balancing strategy.

[0032] Optionally, the cluster controller is used to shard the virtual private cloud corresponding to each traffic data in sequence; and to set the data layer plane to which each shard corresponds to the traffic data.

[0033] Optionally, the cluster controller is used to divide the virtual network identifiers of each virtual private cloud according to the classless inter-domain routing of the Internet Protocol to obtain multiple shards.

[0034] Optionally, the cluster controller is further configured to partition a shard when traffic data belonging to different data layer planes exists in the shard.

[0035] Optionally, the device further includes:

[0036] The third transmission module is used to receive the second traffic data; the cluster to which the second traffic data belongs has been deleted; and to route the second traffic data.

[0037] This invention also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, it implements the above-described inter-cluster data interaction method.

[0038] This invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the above-described inter-cluster data interaction method.

[0039] The embodiments of the present invention have the following advantages:

[0040] In this embodiment of the invention, the first cluster receives fragmentation information, which is used to indicate the cluster to which the traffic data belongs. After receiving the first traffic data, the first cluster determines whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information. When it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data. When it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the cluster to which the first traffic data belongs can route the first traffic data.

[0041] Through the embodiments of the present invention, it is possible to switch clusters without notifying other departments and network elements to modify the VIP (Virtual IP Address), and without interrupting traffic. Attached Figure Description

[0042] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the description of the present invention will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1 This is a schematic diagram of a data interaction method using existing technology;

[0044] Figure 2 This is a schematic diagram of another type of data interaction using existing technologies;

[0045] Figure 3 This is a schematic diagram of another type of data interaction using existing technology;

[0046] Figure 4 This is a flowchart illustrating the steps of a data interaction method between clusters according to an embodiment of the present invention.

[0047] Figure 5 This is a flowchart of another method for data interaction between clusters according to an embodiment of the present invention;

[0048] Figure 6 This is a schematic diagram of inter-cluster data interaction according to an embodiment of the present invention;

[0049] Figure 7 This is a schematic diagram of a data interaction according to an embodiment of the present invention;

[0050] Figure 8 This is a schematic diagram of another data interaction according to an embodiment of the present invention;

[0051] Figure 9 This is a schematic diagram of a segmentation method according to an embodiment of the present invention;

[0052] Figure 10 This is a schematic diagram of another segmentation method according to an embodiment of the present invention;

[0053] Figure 11 This is a schematic diagram of another data interaction according to an embodiment of the present invention;

[0054] Figure 12 This is a schematic diagram illustrating another data interaction according to an embodiment of the present invention;

[0055] Figure 13 This is a schematic diagram of the structure of a data interaction device between clusters according to an embodiment of the present invention. Detailed Implementation

[0056] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without inventive effort are within the scope of protection of the present invention.

[0057] Reference Figure 4 The diagram illustrates a flowchart of a data interaction method between clusters according to an embodiment of the present invention; wherein, the clusters may include a first cluster and other clusters. The first cluster may refer to any one of the clusters, and the other clusters may refer to all clusters other than the first cluster.

[0058] like Figure 4 As shown, the data interaction method between the clusters may include the following steps:

[0059] Step 401: The first cluster receives fragmentation information, which is used to indicate the cluster to which the traffic data belongs.

[0060] Taking the first cluster as an example, the controller can first send fragmentation information to the first cluster. This fragmentation information can be generated by the controller to indicate the cluster to which the traffic data belongs.

[0061] Specifically, the controller can set the cluster to which each traffic data belongs based on strategies such as load balancing; when traffic data needs to be transmitted between a virtual private cloud and an internet data center, the data can be routed through the cluster to which the traffic data belongs.

[0062] Data routing refers to the process of transmitting data packets from a source address to a destination address within a network. This process typically involves the following key steps:

[0063] Routing Table: A routing table is a table used by network devices (such as routers) to determine the path of data packets. It contains a mapping between destination addresses and next-hop addresses.

[0064] Routing Protocols: A routing protocol is a protocol used by network devices to exchange routing information. Common routing protocols include OSPF (Open Shortest Path First) and BGP (Border Gateway Protocol).

[0065] Routing decision: When a data packet arrives at a router, the router determines the next-hop address of the data packet based on information from its routing table and routing protocols. This process is called routing decision.

[0066] Forwarding: Once the router determines the next-hop address of a data packet, it forwards the packet to the corresponding interface, continuing its transmission to the next network device until the packet reaches its destination address.

[0067] After receiving the sharding information, the first cluster can store it locally so that when subsequent traffic data is received, the cluster to which the traffic data belongs can be determined based on the sharding information.

[0068] Step 402: After receiving the first traffic data, the first cluster determines whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information.

[0069] In practical applications, after receiving the first traffic data that needs to be routed, the first cluster can first query the sharding information.

[0070] Specifically, the first cluster can first query the sharding information to determine the information about the first traffic data in the sharding information.

[0071] Then, the first cluster can determine which cluster the first traffic data belongs to based on the information about the first traffic data in the sharding information; specifically, it can further determine whether the cluster to which the first traffic data belongs is the first cluster.

[0072] Step 403: When it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data.

[0073] When it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster can normally route the first traffic data.

[0074] Specifically, the first cluster can route the first traffic data based on BGP and DP.

[0075] For example, the first cluster exchanges routing information with other autonomous systems via BGP. BGP dynamically updates the network topology to ensure that the first cluster can obtain the latest routing information. When the first traffic data arrives at the first cluster, the first cluster makes a routing decision based on the routing information provided by BGP and the data plane configuration.

[0076] For example, the first cluster can select the optimal path to ensure efficient transmission of data packets. Once the routing decision is made, the data plane of the first cluster forwards the data packets to the corresponding interface.

[0077] Programmable switches process and forward data packets according to preset rules and policies, ensuring efficient traffic transmission.

[0078] Step 404: When it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the cluster to which the first traffic data belongs can route the first traffic data.

[0079] On the other hand, if it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster first determines the cluster to which the first traffic data actually belongs. For ease of explanation later, the cluster to which the first traffic data actually belongs is referred to as the second cluster.

[0080] After the second cluster is determined, the first cluster can send the received first traffic data to the second cluster, and then the second cluster will route the first traffic data.

[0081] Specifically, the second cluster can route the first traffic data based on BGP and DP.

[0082] For example, the second cluster exchanges routing information with other autonomous systems via BGP. BGP dynamically updates the network topology to ensure that the second cluster can obtain the latest routing information. When the first traffic data arrives at the second cluster, the second cluster makes a routing decision based on the routing information provided by BGP and the data plane configuration.

[0083] For example, the second cluster can select the optimal path to ensure efficient transmission of data packets. Once the routing decision is made, the data plane of the second cluster will forward the data packets to the corresponding interface.

[0084] Programmable switches process and forward data packets according to preset rules and policies, ensuring efficient traffic transmission.

[0085] In this embodiment of the invention, the first cluster receives fragmentation information, which is used to indicate the cluster to which the traffic data belongs. After receiving the first traffic data, the first cluster determines whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information. When it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data. When it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the cluster to which the first traffic data belongs can route the first traffic data.

[0086] Through the embodiments of the present invention, it is possible to switch clusters without notifying other departments and network elements to modify the VIP, and without interrupting traffic.

[0087] Reference Figure 5 The diagram illustrates a flowchart of another data interaction method between clusters according to an embodiment of the present invention, which may include the following steps:

[0088] Step 501: The first cluster receives the fragmentation information.

[0089] Taking the first cluster as an example, the controller can first send fragmentation information to the first cluster. This fragmentation information can be generated by the controller to indicate the cluster to which the traffic data belongs.

[0090] Specifically, the controller can set the cluster to which each traffic data belongs based on strategies such as load balancing; when traffic data needs to be transmitted between a virtual private cloud and an internet data center, the data can be routed through the cluster to which the traffic data belongs.

[0091] Step 502: Connect the cluster to the cluster controller; The cluster controller is used to set the fragmentation information of each traffic data according to the data layering plane to which each traffic data belongs. The cluster includes the data layering plane; After receiving the first traffic data, the first cluster determines whether the data layering plane to which the first traffic data belongs belongs to the first cluster according to the fragmentation information.

[0092] In some feasible embodiments, the first cluster and other clusters can be connected to a cluster controller, which can be used to set the sharding information of each traffic data according to the data layer plane to which each traffic data belongs.

[0093] In practical applications, within a network architecture, a cluster is not only responsible for processing and routing the initial or primary traffic data in the network, but may also include a data layer plane. Therefore, based on fragmentation information, the first cluster can determine the data layer plane to which the received traffic data belongs, and thus determine the cluster to which the traffic data belongs.

[0094] Specifically, after receiving the first traffic data, the first cluster can first query the sharding information.

[0095] Specifically, the first cluster can first query the sharding information to determine the information about the first traffic data in the sharding information.

[0096] Then, the first cluster can determine the data layer plane to which the first traffic data belongs based on the information about the first traffic data in the sharding information.

[0097] Next, the first cluster can determine whether the data layer plane to which the first traffic data belongs belongs to the first cluster.

[0098] In one embodiment of the present invention, a cluster controller is used to set the data layer plane to which each traffic data belongs based on a preset load balancing strategy.

[0099] In some feasible embodiments, in order to ensure load balancing, the cluster controller can set the data layer plane to which each traffic data belongs based on a preset load balancing strategy, so as to avoid different cluster loads, which may cause some clusters to be overloaded or underloaded, thus affecting the utilization of the entire cluster.

[0100] For example, the cluster controller can assign a data layer plane to each traffic data based on the load, performance, etc. of each cluster.

[0101] In one embodiment of the present invention, a cluster controller is used to shard the virtual private cloud corresponding to each traffic data in sequence; and to set the data layer plane to which each shard corresponds to the traffic data.

[0102] In some feasible implementations, the cluster controller can directly shard the virtual private cloud corresponding to each traffic data in sequence to obtain multiple shards.

[0103] Then, you can set the data layer plane to which each traffic data belongs for each segment.

[0104] In one embodiment of the present invention, a cluster controller is used to divide the virtual network identifiers of each virtual private cloud according to the classless inter-domain routing of the Internet Protocol to obtain multiple shards.

[0105] In some feasible implementations, the cluster controller can shard all virtual private clouds; the sharding logic can be as follows:

[0106] The Virtual Network Identifier (VNI) of the virtual private cloud is differentiated according to the CIDR (Classless Inter-Domain Routing) of IP (Internet Protocol) to obtain different fragments.

[0107] In one embodiment of the present invention, the cluster controller is further configured to partition a shard when traffic data belonging to different data layer planes exists in a shard.

[0108] In some feasible embodiments, traffic data belonging to different data layer planes can also be divided into one fragment during fragmentation.

[0109] At this point, the cluster controller can also partition a shard when there is traffic data belonging to different data layer planes within the shard.

[0110] Step 503: When it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data.

[0111] When it is determined that the data layer to which the first traffic data belongs belongs to the first cluster, the first cluster can normally route the first traffic data.

[0112] Specifically, the first cluster can route the first traffic data based on BGP and DP.

[0113] For example, the first cluster exchanges routing information with other autonomous systems via BGP. BGP dynamically updates the network topology to ensure that the first cluster can obtain the latest routing information. When the first traffic data arrives at the first cluster, the first cluster makes a routing decision based on the routing information provided by BGP and the data plane configuration.

[0114] For example, the first cluster can select the optimal path to ensure efficient transmission of data packets. Once the routing decision is made, the data plane of the first cluster forwards the data packets to the corresponding interface.

[0115] Programmable switches process and forward data packets according to preset rules and policies, ensuring efficient traffic transmission.

[0116] Step 504: When it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the cluster to which the first traffic data belongs can route the first traffic data.

[0117] On the other hand, if it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster first determines the cluster to which the first traffic data actually belongs. For ease of explanation later, the cluster to which the first traffic data actually belongs is referred to as the second cluster.

[0118] After the second cluster is determined, the first cluster can send the received first traffic data to the second cluster, and then the second cluster will route the first traffic data.

[0119] Specifically, the second cluster can route the first traffic data based on BGP and DP.

[0120] For example, the second cluster exchanges routing information with other autonomous systems via BGP. BGP dynamically updates the network topology to ensure that the second cluster can obtain the latest routing information. When the first traffic data arrives at the second cluster, the second cluster makes a routing decision based on the routing information provided by BGP and the data plane configuration.

[0121] For example, the second cluster can select the optimal path to ensure efficient transmission of data packets. Once the routing decision is made, the data plane of the second cluster will forward the data packets to the corresponding interface.

[0122] Programmable switches process and forward data packets according to preset rules and policies, ensuring efficient traffic transmission.

[0123] Step 505: Receive the second traffic data; the cluster to which the second traffic data belongs has been deleted.

[0124] In some feasible embodiments, there may be situations where a cluster is removed; in this case, the traffic data set for that cluster may no longer be able to modify the cluster routing; to address this problem, the method of the embodiments of the present invention can also perform service switching quickly and without loss.

[0125] Specifically, the cluster to be deleted is called the third cluster, and the traffic data corresponding to the third cluster is called the second traffic data.

[0126] When transmitting the second traffic data, if the third cluster is detected to have been deleted, the controller can set the second traffic data to be routed by the first cluster based on a preset load balancing strategy.

[0127] Therefore, when transmitting the second traffic data, the DCGW (Data Center Gateway) can transmit the second traffic data to the first cluster.

[0128] Step 506: Route the second traffic data.

[0129] After receiving the second traffic data, the first cluster can forward the second traffic data; specifically:

[0130] The first cluster can exchange routing information with other autonomous systems via BGP. BGP dynamically updates the network topology to ensure that the first cluster can obtain the latest routing information. When the first traffic data arrives at the first cluster, the first cluster makes a routing decision based on the routing information provided by BGP and the data plane configuration.

[0131] For example, such as Figure 6 As shown, when configuring the cluster controller, it can be configured not only to ControllerHostgroup1 (including Controller3 and Controller4), but also to ControllerHostgroup2 (including Controller1 and Controller2). When the data exists in both clusters, load balancing is basically achieved.

[0132] The VPC configuration information is fragmented (resulting in fragment 1 and fragment 2). The VPCs are sorted in order and fragmented according to the IP CIDR. The Controller Hostgroup where the data of the current fragment is located is marked, and the fragment information is downloaded. When traffic switching is not completed or the VIP cannot be changed due to interaction with other gateways, the Controller Hostgroup where the current VPC is located can be queried, and the DP forwards the traffic to the corresponding Controller Hostgroup.

[0133] like Figure 7 As shown, the current sharding information (shard 1 (VPC1-DP1, VPC2-DP1), shard 2 (VPC3-DP1, VPC4-DP1), shard 3 (VPC5-DP1, VPC6-DP1), shard 4 (VPC7-DP1, VPC8-DP1)) is all in DP1. Therefore, all traffic data passes through DP1 of Controller Hostgroup1, not DP2 of Controller Hostgroup2.

[0134] like Figure 8 As shown, when Figure 7 As shown, DP1 switches over after the load reaches the threshold. Even if the traffic data in shard 3 returns to DP1 from other external network elements, DP1 can still forward traffic according to the Controller Hostgroup where the current VPC is located, preventing traffic interruption or service interruption.

[0135] like Figure 9 As shown, firstly, all VPCs are fragmented. The fragmentation logic is to divide the VNIs of the created VPCs into different fragments according to the CIDR of the IP, resulting in fragment 1 (VPC1-DP1, VPC2-DP1), fragment 2 (VPC3-DP1, VPC4-DP1), fragment 3 (VPC5-DP1, VPC6-DP1), and fragment 4 (VPC7-DP1, VPC8-DP1). Fragment 1, fragment 2, fragment 3, and fragment 4 all correspond to Controller Hostgroup1 (hg1).

[0136] like Figure 10 As shown, VPC1, VPC2, and VPC5 are then switched to another (Controller Hostgroup2) hg2. At this point, the traffic of shard 1 needs to be switched to hg2, and shard 3 needs to be further divided into two shards (shard 3-1 and shard 3-2) to complete the data configuration.

[0137] like Figure 11 As shown, after the switch is completed, even if other network elements record the VIP of hg1, it will not affect the forwarding. When hg1 finds that the fragmentation information is in hg2, hg1 will forward the current VNI traffic to hg2. When hg2 detects that it is its own traffic, it will enter its own DP for normal traffic forwarding.

[0138] For example, when accessing cloud resources via a dedicated line, the normal business traffic flow is: IDC → DCGW (Data Center Gateway) → VPCGW (Virtual Private Cloud Gateway) (hg1-VPCGW, hg2-VPCGW) → VM (Virtual Machine) (VPC-vm1, VPC-vm2). During this process, if DCGW needs to switch hg, it needs to perform an active switch. Since DCGW records the VIP of hg1 during the active switch, it cannot detect the switch after it is completed, or the switch will cause a disconnection. On this basis, if sharding is used, even if the DCGW traffic is still sent to hg1-VPCGW, hg1-VPCGW can forward the traffic to hg2-VPCGW according to the sharding information to achieve uninterrupted traffic forwarding.

[0139] like Figure 12 As shown, in the actual deployment process, all VPC VNIs should be fragmented. After fragmentation is completed, when switching traffic, DCGW sends the data to the corresponding hg according to the record. Then, it queries the fragmentation information based on the VNI to determine whether the current traffic should be handled by the hg to which it belongs, and finds the corresponding hg to perform different traffic forwarding.

[0140] In this embodiment of the invention, a first cluster receives sharding information; the cluster is connected to a cluster controller; the cluster controller is used to set sharding information for each traffic data according to the data layering plane to which each traffic data belongs, and the cluster includes a data layering plane; after receiving the first traffic data, the first cluster determines whether the data layering plane to which the first traffic data belongs belongs to the first cluster according to the sharding information; when it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data; when it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the cluster to which the first traffic data belongs routes the first traffic data; receives second traffic data; the cluster to which the second traffic data belongs has been deleted; routes the second traffic data. Through this embodiment of the invention, service switching can be performed quickly and without loss in the event of an unrecoverable cluster failure; and it supports jitter at the millisecond level, significantly shortening the customer traffic switching time and reducing the scope of the failure impact.

[0141] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.

[0142] Reference Figure 13 The diagram shows a structural schematic of a data interaction device between clusters according to an embodiment of the present invention. The clusters include a first cluster and other clusters.

[0143] like Figure 13 As shown, the device may include the following modules:

[0144] The receiving module 1301 is used to receive fragmentation information, which is used to indicate the cluster to which the traffic data belongs;

[0145] The judgment module 1302 is used to determine whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information after the first cluster receives the first traffic data.

[0146] The first transmission module 1303 is used to route the first traffic data when it is determined that the cluster to which the first traffic data belongs is the first cluster.

[0147] The second transmission module 1304 is used to send the first traffic data to the cluster to which the first traffic data belongs when it is determined that the cluster to which the first traffic data belongs is not the first cluster, so that the cluster to which the first traffic data belongs can route the first traffic data.

[0148] In an optional embodiment of the present invention, the cluster is connected to a cluster controller;

[0149] The cluster controller is used to set the sharding information of each traffic data according to the data layer plane to which each traffic data belongs. The cluster includes the data layer plane.

[0150] The judgment module 1302 is used to determine whether the data layer plane to which the first traffic data belongs belongs to the first cluster based on the sharding information.

[0151] In an optional embodiment of the present invention, the cluster controller is configured to set the data layer plane to which each traffic data belongs based on a preset load balancing strategy.

[0152] In an optional embodiment of the present invention, the cluster controller is configured to shard the virtual private cloud corresponding to each traffic data in sequence, and to set the data layering plane to which each shard corresponds to the traffic data.

[0153] In an optional embodiment of the present invention, the cluster controller is used to divide the virtual network identifiers of each virtual private cloud according to the classless inter-domain routing of the Internet Protocol to obtain multiple shards.

[0154] In an optional embodiment of the present invention, the cluster controller is further configured to partition a shard when traffic data belonging to different data layer planes exists in a shard.

[0155] In an optional embodiment of the present invention, the apparatus further includes:

[0156] The third transmission module is used to receive the second traffic data; the cluster to which the second traffic data belongs has been deleted; and to route the second traffic data.

[0157] In this embodiment of the invention, the first cluster receives fragmentation information, which is used to indicate the cluster to which the traffic data belongs. After receiving the first traffic data, the first cluster determines whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information. When it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data. When it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the cluster to which the first traffic data belongs can route the first traffic data.

[0158] Through the embodiments of the present invention, it is possible to switch clusters without notifying other departments and network elements to modify the VIP (Virtual IP Address), and without interrupting traffic.

[0159] This invention also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and capable of running on the processor. When the computer program is executed by the processor, it implements the above-described inter-cluster data interaction method.

[0160] This invention also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, it implements the above-described inter-cluster data interaction method.

[0161] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0162] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0163] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, apparatus, or computer program products. Therefore, embodiments of the present invention can take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Furthermore, embodiments of the present invention can take the form of computer program products implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0164] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. 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 terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0165] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction 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.

[0166] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal 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.

[0167] Although preferred embodiments of the present invention 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 the present invention.

[0168] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal device that includes said element.

[0169] The foregoing has provided a detailed description of a data interaction method, a data interaction device, an electronic device, and a computer-readable storage medium for inter-cluster data interaction. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. At the same time, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A method for data interaction between clusters, characterized in that, The cluster includes a first cluster and other clusters, which are used to route traffic data when it is necessary to transmit traffic data between a virtual private cloud and an internet data center. The method includes: The first cluster receives sharding information, which is used to indicate the cluster to which the traffic data belongs; After receiving the first traffic data, the first cluster determines whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information; When it is determined that the cluster to which the first traffic data belongs is the first cluster, the first cluster routes the first traffic data; When it is determined that the cluster to which the first traffic data belongs is not the first cluster, the first cluster sends the first traffic data to the cluster to which the first traffic data belongs, so that the cluster to which the first traffic data belongs can route the first traffic data.

2. The method according to claim 1, characterized in that, The cluster is connected to the cluster controller; The cluster controller is used to set the sharding information of each traffic data according to the data layering plane to which each traffic data belongs, and the cluster includes the data layering plane; The step of determining whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information includes: Based on the sharding information, determine whether the data layering plane to which the first traffic data belongs belongs to the first cluster.

3. The method according to claim 2, characterized in that, The cluster controller is used to set the data layer plane to which each traffic data belongs based on a preset load balancing strategy.

4. The method according to claim 3, characterized in that, The cluster controller is used to shard the virtual private cloud corresponding to each traffic data in sequence; and to set the data layer plane to which each shard corresponds to the traffic data.

5. The method according to claim 4, characterized in that, The cluster controller is used to divide the virtual network identifiers of each virtual private cloud according to the classless inter-domain routing of the Internet Protocol, resulting in multiple shards.

6. The method according to claim 5, characterized in that, The cluster controller is also used to partition a shard when there is traffic data belonging to different data layer planes in a shard.

7. The method according to claim 1, characterized in that, The method further includes: Received second traffic data; the cluster to which the second traffic data belonged has been deleted; The second traffic data is routed.

8. A data interaction device for inter-cluster communication, characterized in that, The cluster includes a first cluster and other clusters, and the cluster is used to route traffic data when it is necessary to transmit traffic data between a virtual private cloud and an internet data center. The device includes: A receiving module is used to receive fragmentation information, which indicates the cluster to which the traffic data belongs; The judgment module is used to determine whether the cluster to which the first traffic data belongs is the first cluster based on the fragmentation information after the first cluster receives the first traffic data. The first transmission module is used to route the first traffic data when it is determined that the cluster to which the first traffic data belongs is the first cluster. The second transmission module is used to send the first traffic data to the cluster to which the first traffic data belongs when it is determined that the cluster to which the first traffic data belongs is not the first cluster, so that the cluster to which the first traffic data belongs can route the first traffic data.

9. An electronic device, characterized in that, It includes a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements the data interaction method between clusters as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, which, when executed by a processor, implements the data interaction method between clusters as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Cluster communication device and method based on cloud native and related equipment

    CN114143313A

  • Cross-VPC traffic forwarding method

    CN115499434A