Communication method based on cloud technology, cloud system and cloud management platform

Passing network addresses between different resource pools through the cloud management platform, the problems of poor interoperability between resource pools and large resource overhead are solved, efficient interoperability between layer three and layer two is achieved, and resource utilization is improved.

CN120416153APending Publication Date: 2025-08-01HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410332740.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-01-31
Filing Date
2024-03-20
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

The interoperability schemes between different resource pools have problems such as poor availability and large resource overhead. Especially in the scenarios of instance migration and business expansion between resource pools, it is difficult for the existing technology to achieve efficient layer 2 and layer 3 interoperability.

Method used

The network addresses of instances and gateways in the resource pool are obtained through the cloud management platform and sent to the corresponding instances and gateways, realizing layer three and layer two interoperability between different resource pools, using alternative network addresses to resolve address conflicts, avoiding repeated instance establishment to save resources.

Benefits of technology

It realizes high availability communication between different resource pools, saves resource overhead, improves resource utilization, and can still communicate normally in the case of network address conflicts.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120416153A_ABST
    Figure CN120416153A_ABST
Patent Text Reader

Abstract

The invention provides a communication method based on a cloud technology, a cloud system and a cloud management platform. The method comprises the following steps: a cloud management platform obtains a first network address of a first instance and a second network address of a first gateway, wherein the first instance and the first gateway belong to a first resource pool in a plurality of resource pools; the cloud management platform sends the first network address to a second instance and sends the second network address to a second gateway, and the second instance and the second gateway belong to a second resource pool in the plurality of resource pools; the second gateway receives a first data message sent by the second instance, wherein the destination address of the first data message is the first network address; and the second gateway sends the first data message to the first gateway based on the second network address, so that the first gateway forwards the first data message to the first instance. According to the method, intercommunication between different resource pools can be realized under the conditions of high availability and resource saving.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims the priority of a Chinese patent application with the application number 202410137622.2 and the application title "A Method and Device for Layer 2 Interconnection between Hybrid Resource Pools" submitted to the China National Intellectual Property Administration on January 31, 2024, the entire content of which is incorporated herein by reference. Technical Field

[0002] This application relates to the field of cloud computing technologies, and particularly to a communication method, a cloud system, and a cloud management platform based on cloud technologies. Background Art

[0003] Cloud providers or users may deploy resource pools in different geographical locations, such as regions. Through a cloud management platform, resource pools distributed in different geographical locations can be managed, such as creating or deleting instances in the resource pools and managing the instances in the resource pools. Due to reasons such as business expansion and aging of computer rooms in the resource pools, users hope that different resource pools can communicate with each other, especially layer 2 (L2) interconnection. For example, migrating an instance between different resource pools, and the migrated instance needs to be able to communicate at layer 2 with the instances in the resource pool where the instance was located before migration.

[0004] Currently, there are problems such as poor availability and high resource overhead in the interconnection solutions between different resource pools. Summary of the Invention

[0005] This application provides a communication method, a cloud system, and a cloud management platform based on cloud technologies, which can achieve interconnection between different resource pools with high availability and resource savings.

[0006] In a first aspect, a communication method based on cloud technologies is provided. This method is applied to a cloud system, which includes a cloud management platform and multiple resource pools. Each resource pool among the multiple resource pools deploys instances and gateways. Each resource pool among the multiple resource pools includes one or more data centers, and a data center includes multiple servers. The instances in each resource pool among the multiple resource pools are deployed in the servers of the resource pool. The cloud management platform is used to manage the instances and gateways in each resource pool among the multiple resource pools. The method includes: the cloud management platform obtains the first network address of a first instance and the second network address of a first gateway, where the first instance and the first gateway belong to a first resource pool among the multiple resource pools; the cloud management platform sends the first network address to a second instance and sends the second network address to a second gateway, where the second instance and the second gateway belong to a second resource pool among the multiple resource pools; the second gateway receives a first data packet sent by the second instance, and the destination address of the first data packet is the first network address; the second gateway sends the first data packet to the first gateway based on the second network address, so that the first gateway forwards the first data packet to the first instance.

[0007] Among them, the network address can be an Internet Protocol (IP) address, a Media Access Control (MAC) address, or both an IP address and a MAC address. When the network address is an IP address, three-layer intercommunication between different resource pools can be achieved. When the network address is a MAC address, two-layer intercommunication between different resource pools can be achieved. When the network address is both an IP address and a MAC address, both three-layer and two-layer intercommunications between different resource pools can be achieved.

[0008] Exemplarily, the first resource pool can be the first region, and the second resource pool can be the second region. That is to say, through this method, intercommunication between different regions can be achieved.

[0009] In a cloud system, the cloud management platform is responsible for managing instances and gateways in the resource pool, can obtain the network addresses of any instance and gateway in the resource pool, and send the obtained network addresses to any instance or gateway in another resource pool. In this way, through the cloud management platform, an instance in a resource pool can obtain the network address of any instance in another resource pool, and thus can send a data packet based on the network address of the instance in the other resource pool. Through the cloud management platform, a gateway in a resource pool can obtain the network address of the gateway in another resource pool, and thus can send the data packet to the gateway in the other resource pool, and then forward the data packet to the corresponding instance through this gateway.

[0010] Therefore, through the method provided in the embodiments of the present application, communication from any instance in one resource pool to any instance in another resource pool can be achieved, and the any instance can include existing instances. That is to say, through this method, communication between existing instances in different resource pools can be achieved, so that there is no need to specially create new instances in the resource pool to achieve communication between resource pools, improving availability and saving resources.

[0011] Moreover, in the method provided in the embodiments of the present application, instances in different resource pools directly communicate based on each other's network addresses. Therefore, in the case of a conflict in the network address segments of different resource pools, instances in different resource pools can communicate with each other.

[0012] In a possible implementation manner, the cloud management platform sending the first network address to the second instance includes: when it is confirmed that the first network address is different from the network address of the instance in the second resource pool, the cloud management platform sends the first network address to the second instance.

[0013] In this implementation, when it is confirmed that the network address of the instance in the first resource pool is different from the network address of the instance in the second resource pool, the network address of the instance in the first resource pool is sent to the instance in the second resource pool, so as to avoid the conflict caused by the same network address when the instance in the second resource pool sends a data packet to the instance in the first resource pool based on the network address of the instance in the first resource pool.

[0014] In a possible implementation, the method further includes: the cloud management platform obtains the third network address of the third instance in the first resource pool; the cloud management platform confirms that the third network address is the same as the network address of at least one instance in the second resource pool; the cloud management platform sends the alternative network address of the third instance to the second instance, and sends the third network address to the second gateway; wherein, the alternative network address is different from the network address of the instance in the second resource pool; the second gateway receives the second data packet sent by the second instance, and the destination address of the second data packet is the alternative network address; the second gateway modifies the destination address of the second data packet to the third network address to obtain a third data packet; the second gateway sends the third data packet to the first gateway based on the second network address, so that the first gateway forwards the third data packet to the first instance.

[0015] In this implementation, when the network address of the third instance is the same as the network address of the instance in the second resource pool, the cloud management platform sends the alternative network address of the third instance to the instance in the second resource pool, so that the instance in the second resource pool sends a data packet to the third instance based on the alternative network address of the third instance. Moreover, the gateway of the second resource pool can modify the destination address of the data packet sent to the third instance from the alternative network address to the network address of the third instance, and send the modified data packet to the gateway of the first resource pool, so that the gateway of the first resource pool can forward the data packet to the third instance based on the destination address of the data packet. In short, this implementation can achieve intercommunication between different resource pools in the case of network address conflicts between different resource pools.

[0016] In a possible implementation, the alternative network address is the network address of the second gateway.

[0017] Taking the network address of the second gateway as the alternative network address, there is no need to allocate network addresses again, and the data packet can be sent to the gateway while saving network resources.

[0018] In a second aspect, a cloud system is provided. The cloud system includes a cloud management platform and multiple resource pools. Each resource pool among the multiple resource pools deploys instances and gateways. Each resource pool among the multiple resource pools includes one or more data centers. The data center includes multiple servers. The instances in each resource pool among the multiple resource pools are deployed in the servers of the resource pool. The cloud management platform is used to manage the instances and gateways in each resource pool among the multiple resource pools. Among them, the cloud management platform is used to: obtain the first network address of the first instance and the second network address of the first gateway. The first instance and the first gateway belong to the first resource pool among the multiple resource pools. The cloud management platform is used to: send the first network address to the second instance, and send the second network address to the second gateway. The second instance and the second gateway belong to the second resource pool among the multiple resource pools. The second gateway is used to: receive the first data packet sent by the second instance. The destination address of the first data packet is the first network address. The second gateway is used to: based on the second network address, send the first data packet to the first gateway, so that the first gateway forwards the first data packet to the first instance.

[0019] In a possible implementation manner, the cloud management platform is used to: when it is confirmed that the first network address is different from the network address of the instance in the second resource pool, send the first network address to the second instance.

[0020] In a possible implementation manner, the cloud management platform is further used to: obtain the third network address of the third instance in the first resource pool. The cloud management platform is further used to: confirm that the third network address is the same as the network address of at least one instance in the second resource pool. The cloud management platform is further used to: send the alternative network address of the third instance to the second instance, and send the third network address to the second gateway. Among them, the alternative network address is different from the network address of the instance in the second resource pool. The second gateway is further used to: receive the second data packet sent by the second instance. The destination address of the second data packet is the alternative network address. The second gateway is further used to: modify the destination address of the second data packet to the third network address to obtain a third data packet. The second gateway is further used to: based on the second network address, send the third data packet to the first gateway, so that the first gateway forwards the third data packet to the first instance.

[0021] In a third aspect, a communication method based on cloud technology is provided. The method is applied to a cloud management platform in a cloud system. The cloud system further includes multiple resource pools. Each resource pool among the multiple resource pools deploys an instance and a gateway. Each resource pool among the multiple resource pools includes one or more data centers. The data center includes multiple servers. The instance in each resource pool among the multiple resource pools is deployed in the server of the resource pool. The cloud management platform is used to manage the instance and the gateway in each resource pool among the multiple resource pools. The method includes: The cloud management platform obtains the first network address of the first instance and the second network address of the first gateway. The first instance and the first gateway belong to the first resource pool among the multiple resource pools. The cloud management platform sends the first network address to the second instance and sends the second network address to the second gateway. The second instance and the second gateway belong to the second resource pool among the multiple resource pools. Wherein, the second gateway is used to receive the first data packet sent by the second instance. The destination address of the first data packet is the first network address. The second gateway is used to send the first data packet to the first gateway based on the second network address, so that the first gateway forwards the first data packet to the first instance.

[0022] In a possible implementation, the cloud management platform sending the first network address to the second instance includes: When it is confirmed that the first network address is different from the network address of the instance in the second resource pool, the cloud management platform sends the first network address to the second instance.

[0023] In a possible implementation, the method further includes: The cloud management platform obtains the third network address of the third instance in the first resource pool. The cloud management platform confirms that the third network address is the same as the network address of at least one instance in the second resource pool. The cloud management platform sends the alternative network address of the third instance to the second instance and sends the third network address to the second gateway. Wherein, the alternative network address is different from the network address of the instance in the second resource pool. Wherein, the second gateway is used to receive the second data packet sent by the second instance. The destination address of the second data packet is the alternative network address. The second gateway is used to modify the destination address of the second data packet to the third network address to obtain a third data packet. The second gateway is used to send the third data packet to the first gateway based on the second network address, so that the first gateway forwards the third data packet to the first instance.

[0024] Fourthly, a cloud management platform is provided. The cloud system where the cloud management platform is located further includes multiple resource pools. Each resource pool among the multiple resource pools deploys instances and gateways. Each resource pool among the multiple resource pools includes one or more data centers. The data center includes multiple servers. The instances in each resource pool among the multiple resource pools are deployed in the servers of the resource pool. The cloud management platform is used to manage the instances and gateways in each resource pool among the multiple resource pools. The cloud management platform includes: an acquisition module, configured to acquire the first network address of the first instance and the second network address of the first gateway. The first instance and the first gateway belong to the first resource pool among the multiple resource pools; a sending module, configured to send the first network address to the second instance and send the second network address to the second gateway. The second instance and the second gateway belong to the second resource pool among the multiple resource pools; wherein, the second gateway is configured to receive the first data packet sent by the second instance, and the destination address of the first data packet is the first network address; the second gateway is configured to send the first data packet to the first gateway based on the second network address, so that the first gateway forwards the first data packet to the first instance.

[0025] In a possible implementation manner, the sending module is configured to: when it is confirmed that the first network address is different from the network address of the instance in the second resource pool, send the first network address to the second instance.

[0026] In a possible implementation manner, the cloud management platform further includes: a confirmation module; the acquisition module is further configured to: acquire the third network address of the third instance in the first resource pool; the confirmation module is configured to: confirm that the third network address is the same as the network address of at least one instance in the second resource pool; the sending module is further configured to: send the alternative network address of the third instance to the second instance and send the third network address to the second gateway; wherein, the alternative network address is different from the network address of the instance in the second resource pool; wherein, the second gateway is configured to receive the second data packet sent by the second instance, and the destination address of the second data packet is the alternative network address; the second gateway is configured to modify the destination address of the second data packet to the third network address to obtain a third data packet; the second gateway is configured to send the third data packet to the first gateway based on the second network address, so that the first gateway forwards the third data packet to the first instance.

[0027] Fifthly, a computing device cluster is provided, including at least one computing device. Each computing device includes a processor and a memory; the processor of at least one computing device is configured to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes the method provided in the first aspect.

[0028] In a sixth aspect, there is provided a computer-readable storage medium including computer program instructions. When the computer program instructions are executed by a cluster of computing devices, the cluster of computing devices executes the method provided in the first aspect.

[0029] In a seventh aspect, there is provided a computer program product containing instructions. When the instructions are run by a cluster of computer devices, the cluster of computer devices is caused to execute the method provided in the first aspect.

[0030] For the beneficial effects of the second aspect to the seventh aspect, reference may be made to the introduction of the beneficial effects of the first aspect above, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 FIG.

[0032] Figure 2 FIG.

[0033] Figure 3 FIG.

[0034] Figure 4 FIG.

[0035] Figure 5 FIG.

[0036] Figure 6 FIG.

[0037] Figure 7 FIG.

[0038] Figure 8 FIG.

[0039] Figure 9 FIG.

[0040] Figure 10 FIG.

[0041] Figure 11 FIG.

[0042] Figure 12 FIG. Detailed implementation manners

[0043] The solutions provided in the embodiments of the present application will be described below with reference to the accompanying drawings. In the embodiments of the present application, "a plurality of" means two or more, and "a variety of" means two or more. "First", "second", etc. are only used to distinguish similar objects and do not have to be used to describe a specific order or the number of objects.

[0044] To facilitate understanding of the solutions provided in the embodiments of the present application, the technical terms that may be involved in the embodiments of the present application will be introduced first.

[0045] Cloud technology refers to a hosting service that unifies a series of resources such as hardware, software, and networks within a wide area network or a local area network to achieve data computing, storage, processing, and sharing.

[0046] Resource pool: An infrastructure that provides computing resources, storage resources, and / or network resources, etc. for cloud computing services. A resource pool may include at least one data center, and each data center includes a plurality of physical machines (such as servers). Among them, the physical machine can be used as a host for deploying instances. Usually, the resource pool belongs to a local area network, and the instances in the resource pool can communicate with each other through the local area network. That is, the instances in the same resource pool can perform layer 2 intercommunication and layer 3 intercommunication.

[0047] Region: A common resource pool, which is a cloud computing unit divided from the dimensions of geographical location and network latency. Among them, within the same region, common services such as elastic computing, block storage, object storage, VPC network, elastic public network IP, and images are shared.

[0048] Public cloud refers to a cloud that can be used provided by a third-party provider for users. The public cloud can generally be used through the network and may be free or inexpensive. This cloud has multiple instances and can provide services in the entire open public network.

[0049] Private cloud is to build cloud infrastructure and software and hardware resources within a firewall for departments within an institution or enterprise to share the resources in the data center.

[0050] Hybrid cloud refers to a cloud computing environment composed of private cloud resources and public cloud resources.

[0051] Cloud management platform: A platform provided by a cloud service provider for interacting with users. Users can register an account on the cloud management platform and rent cloud services with the account, thus becoming tenants of cloud services. Users can manage the resource pool and the instances in the resource pool through the cloud management platform.

[0052] User: A tenant who rents a resource pool. A user can register an account on the cloud management platform operated by the cloud service provider through a browser or other client. The cloud service provider will record the accounts of different tenants and isolate the cloud services of different tenants according to the accounts. The user has full access rights to the resources and cloud services it owns.

[0053] Instance: Also known as a virtual computing device or virtual computing instance, it refers to a complete computer system with a complete hardware system simulated by software and running in a completely isolated environment. Among them, the hardware system of the computing instance is a virtual hardware system obtained by virtualizing physical hardware. A complete computing instance has an independent virtual computing system (such as a central processing unit (CPU)) and a virtual disk. Among them, a computing instance that needs to communicate with the outside world also has an independent virtual network card. Typical computing instances include virtual machines (VMs), containers, elastic cloud servers (ECSs), bare metal servers (BMSs), etc.

[0054] Virtual Private Cloud (VPC): Used to build an isolated and private virtual network environment for instances such as virtual machines, containers, elastic cloud servers, and bare metal servers.

[0055] Subnet: It is an Internet Protocol (IP) address segment within a virtual private cloud. Among them, at least one subnet is deployed within the virtual private cloud, and all resources in the virtual private cloud are deployed within the subnet.

[0056] Layer 2 (L2): It refers to the second layer in the seven-layer Open System Interconnect (OSI) model, that is, the data link layer. Among them, layer 2 communicates through the Media Access Control (MAC) address as the network address.

[0057] Layer 3 (L3): It refers to the third layer in the OSI seven-layer model, that is, the network layer. Among them, layer 3 communicates through the IP address as the network address.

[0058] Virtual Extensible Local Area Network (VXLAN): It is an overlay network technology that enables Layer 2 intercommunication through Layer 3. Among them, VXLAN uses the outer tunnel in the User Datagram Protocol (UDP) format as the data link layer, and the data packet content is transmitted as the tunnel payload. Since UDP is used as the transmission means in the outer layer, the payload data can be easily transmitted in the Layer 2 and Layer 3 networks.

[0059] In various scenarios, cloud service users hope that resource pools can communicate with each other, such as Layer 2 intercommunication and / or Layer 3 intercommunication. Exemplarily, in the scenario of cross-generation update of resource pools, it is necessary to migrate the instances in the old resource pool to the new resource pool. The migration of instances between two resource pools requires that these two resource pools can perform Layer 2 intercommunication. Exemplarily, in the scenario of capacity expansion, instances for executing related services are deployed in different resource pools, and Layer 2 intercommunication is required between these instances deployed in different resource pools, that is, Layer 2 intercommunication is required between different resource pools.

[0060] In a Layer 2 intercommunication solution between resource pools, the source resource pool and the target resource pool to be interconnected conduct network negotiation, and based on the negotiation result, a subnet belonging to the source resource pool is created in the target resource pool, and an instance is created in this subnet. This subnet belongs to the local area network of the source resource pool, that is, the instances in this subnet and the instances in the source resource pool belong to the same local area network. Layer 2 intercommunication is achieved between the instances in this subnet and the instances in the target resource pool, so as to realize Layer 2 intercommunication between the instances in the target resource pool (specifically, the instances in this subnet) and the instances in the source resource pool.

[0061] In order to achieve Layer 2 intercommunication between resource pools, this solution creates a subnet in the target resource pool that belongs to the same local area network as the source resource pool. The instances in the newly created subnet can perform Layer 2 intercommunication with the source resource pool, while the existing instances in the target resource pool still cannot perform Layer 2 intercommunication with the instances in the source resource pool, and the availability is poor. In addition, in order to achieve Layer 2 intercommunication between different resource pools, a dedicated new subnet and instances are created, which increases the resource overhead.

[0062] An embodiment of the present application provides a communication method based on cloud technology. This method can achieve intercommunication between any instance in a resource pool and any instance in other resource pools, such as layer 2 intercommunication. Taking resource pool A1 and resource pool A2 as an example, resource pool A1 and resource pool A2 belong to different local area networks respectively. The cloud management platform can obtain the network address of the instance in resource pool A1 and the network address of the gateway of resource pool A2, and send the network address of the instance in resource pool A1 to the instance in resource pool A2, and send the network address of the gateway in resource pool A1 to the gateway in resource pool A2. The instance in resource pool A2 can send a data packet with the destination address being the network address of the instance in resource pool A1 based on the network address of the instance in resource pool A1. The gateway in resource pool A2 can receive this data packet and send this data packet to the gateway in resource pool A1 based on the network address of the gateway in resource pool A1. The gateway in resource pool A1 can send this data packet to the instance in resource pool A1 based on the destination address of this data packet (i.e., the network address of the instance in resource pool A1). Thus, intercommunication between resource pool A1 and resource pool A2 is achieved. Among them, when the network address is a MAC address, layer 2 intercommunication between resource pool A1 and resource pool A2 can be achieved.

[0063] In this method, the cloud management platform can obtain the network address of the instance in the resource pool it manages, such as obtaining the network address of the existing instance in the resource pool. The cloud management platform sends the obtained network address of the instance to the instance in another resource pool, so that the instance can send a data packet based on the received network address and forward the data packet through the gateway, thereby achieving intercommunication between the instances in different resource pools.

[0064] Next, the communication method of cloud technology provided by the embodiment of the present application will be described.

[0065] Figure 1 A cloud system in which this communication method can be implemented is shown. This cloud system includes a cloud management platform 100 and multiple resource pools, such as resource pool 200, resource pool 300, etc. Exemplarily, the resource pools in this cloud system can be regions, that is, different resource pools among the multiple resource pools are different regions.

[0066] In some embodiments, the cloud system may be a public cloud. That is to say, the multiple resource pools may be resource pools provided by a cloud provider or a third party and available for multiple users. In some embodiments, the cloud system may be a private cloud. That is to say, the multiple resource pools may be resource pools deployed by the user and dedicated to the user. In some embodiments, the cloud system may be a hybrid cloud. That is to say, some of the multiple resource pools are resource pools provided by a cloud provider or a third party and available for multiple users, and the other part of the resource pools are resource pools deployed by the user and dedicated to the user.

[0067] Each resource pool may include one or more data centers, and each data center includes multiple servers. The servers can act as hosts for deploying instances. In other words, multiple instances can be deployed in each resource pool, and each instance is deployed in at least one server in the resource pool.

[0068] A resource pool belongs to a local area network, which can be a VPC. The local area network may include one or more subnets. The instances in the resource pool are located in the subnets. Among them, one instance is located in one subnet, and one subnet includes at least one instance. The resource pool has a public network gateway, which can be used for the instances in the resource pool to communicate with the external network of the resource pool. Each subnet has an internal network gateway. The internal network gateway can be used for the instances within the subnet to communicate with the instances in other subnets in the same resource pool. The internal network gateway can also be used for the instances within the subnet to communicate with the public network gateway to communicate with the external network of the resource pool through the public network gateway.

[0069] For example, as Figure 2 shown, the resource pool 200 includes a gateway 210, a subnet 220, and a subnet 230. The gateway 210 can serve as the public network gateway of the resource pool 200. The subnet 220 includes a gateway 221, an instance 222, and an instance 223. The subnet 230 includes a gateway 231, an instance 232, and an instance 233. Among them, the gateway 221 can serve as the internal network gateway of the subnet 220, and the gateway 231 can serve as the internal network gateway of the subnet 230. The resource pool 300 may include a gateway 310, a subnet 320, and a subnet 330. The gateway 310 can serve as the public network gateway of the resource pool 300. The subnet 320 includes a gateway 321, an instance 322, and an instance 323. The subnet 330 includes a gateway 331, an instance 332, and an instance 333. Among them, the gateway 321 can serve as the internal network gateway of the subnet 320, and the gateway 331 can serve as the internal network gateway of the subnet 330.

[0070] In some embodiments, the internal network gateway can be a virtual switch. Exemplarily, the internal network gateway can be deployed on the same server as one or more instances in the subnet where it is located.

[0071] In some embodiments, the public network gateway may be a virtual switch (vSwitch) or a hardware switch.

[0072] In some embodiments, as Figure 3 shown, the public network gateway may include at least one endpoint virtual routing forwarding (EP VRF) module. Among them, the endpoint virtual routing forwarding module is used to process three-layer data packets, that is, for three-layer intercommunication. The endpoint virtual routing forwarding module corresponds one-to-one with the subnets in the resource pool where the public network gateway is located. The endpoint virtual routing forwarding module is used to process the data packets sent by the instances in the subnet corresponding to the endpoint virtual routing forwarding module. For example, based on the destination address of the data packet, the next hop is obtained, and the data packet is forwarded to the next hop. The public network gateway may also include a joint virtual routing forwarding (joint VRF) module. The joint virtual routing forwarding module can be used as an outlet for the endpoint virtual routing forwarding module to send data packets to the gateways of other resource pools.

[0073] In some embodiments, as Figure 3 shown, the public network gateway may include a bridge domain. The bridge domain is used for two-layer intercommunication. Exemplarily, the bridge domain may use the VXLAN technology to send data packets to the gateways of other resource pools to achieve two-layer intercommunication.

[0074] The cloud management platform 100 may manage the instances and gateways in the resource pool. For example, deploy instances and gateways in one or some servers in the resource pool, and obtain the network addresses of the instances, the network addresses of the gateways, etc. The cloud management platform 100 may send the network addresses of the instances in a resource pool (such as resource pool 200) and the network addresses of the gateways obtained to the instances and gateways in another resource pool (such as resource pool 300). The gateway here may be a public network gateway.

[0075] Among them, the cloud management platform 100 may send the network addresses of the instances in resource pool 200 to the instances in resource pool 300, and send the network addresses of the gateways in resource pool 200 to the gateways in resource pool 300.

[0076] In some embodiments, as Figure 4As shown, the resource pool corresponds to a local controller. The cloud management platform 100 can send the network addresses of instances and gateways in other resource pools to the resource pool through the local controller corresponding to the resource pool. Specifically, the cloud management platform 100 can query the network addresses in the resource pool, and the queried network addresses include the network addresses of instances and the network addresses of gateways. The cloud management platform 100 can send the network addresses queried from one resource pool to the local controllers corresponding to other resource pools. For example, send the network addresses queried from resource pool 300 to the local controller corresponding to resource pool 200, and send the network addresses queried from resource pool 200 to the local controller corresponding to resource pool 300. The local controller can distinguish the network addresses of instances and gateways, and send the network addresses of instances to the instances in the resource pool corresponding to the local controller, and send the network addresses of gateway addresses to the gateways in the resource pool corresponding to the local controller.

[0077] In some embodiments, when the network address is a MAC address, the cloud management platform 100 or the local controller can send the network address to the internal network gateway of the subnet where the instance is located. When an instance needs the MAC address of an instance in another resource pool, it can obtain the MAC address from the internal network gateway where it is located. For example, the instance can send an address resolution protocol (ARP) request, and the internal network gateway can respond to the ARP request and send the corresponding MAC address to the instance.

[0078] In some embodiments, the cloud management platform 100 or the local controller can generate routing information based on the queried network addresses and send the routing information to the corresponding gateways. Among them, when the network address includes an IP address, the routing information includes a routing table. Among them, the routing table can also be called an L3 table. When the network address includes a MAC address, the routing information includes a MAC table. Among them, the MAC table can also be called an L2 table.

[0079] Among them, the L2 table includes information related to the destination MAC address and the next hop, such as the MAC address of the next hop. Among them, the destination MAC address in the L2 table for forwarding data packets to the instances in the resource pool is the MAC address of the instances in the resource pool, and the next hop is the gateway of the resource pool. For example, an L2 table 211 can be generated and sent to the gateway 210 of resource pool 200. An L2 table 311 can also be generated and sent to the gateway 310 of resource pool 300. As Figure 5As shown in the figure, the MAC addresses of the destinations in the L2 table 211 include the MAC addresses of the instances 332 and 333 in the resource pool 300. The next hop in the L2 table 211 is the gateway 310 in the resource pool 300. The MAC addresses of the destinations in the L2 table 311 include the MAC addresses of the instances 232 and 233 in the resource pool 200. The next hop in the L2 table 311 is the gateway 210 in the resource pool 200.

[0080] The L3 table includes information about the destination IP address and the next hop, such as the IP address of the next hop. Among them, the destination IP address in the L3 table for forwarding data packets to the instances in the resource pool is the IP address of the instance in the resource pool, and the next hop is the gateway of the resource pool. For example, the L3 table 212 can be generated and sent to the gateway 210 of the resource pool 200. The L3 table 312 can also be generated and sent to the gateway 310 of the resource pool 300. As Figure 6 shown in the figure, the IP addresses of the destinations in the L3 table 212 include the IP addresses of the instances 332 and 333 in the resource pool 300. The next hop in the L3 table 212 is the gateway 310 in the resource pool 300. The IP addresses of the destinations in the L3 table 312 include the IP addresses of the instances 232 and 233 in the resource pool 200. The next hop in the L3 table 312 is the gateway 210 in the resource pool 200.

[0081] The above introduced a cloud system provided by an embodiment of the present application. Next, in combination with this cloud system, an example of the communication method provided by an embodiment of the present application will be described. As Figure 7 shown in the figure, the method includes the following steps.

[0082] Step 701, the cloud management platform 100 obtains the network address of the instance 232 and the network address of the gateway 210. The instance 232 and the gateway 210 belong to the resource pool 200 among the multiple resource pools managed by the cloud management platform 100. Among them, the gateway 210 is the public network gateway of the resource pool 200.

[0083] In step 701, the network addresses of all or part of the instances in the resource pool 200 can be obtained. That is to say, in step 701, the cloud management platform 100 can obtain the network addresses of one or more instances including the instance 232 in step 701. In some embodiments, the cloud management platform 100 can send a network address acquisition instruction to one or more instances including the instance 232 and the gateway 210. The instance or gateway that receives the network address acquisition instruction responds to the network address acquisition instruction and sends its own network address to the cloud management platform 100.

[0084] In some embodiments, when the cloud management platform 100 confirms that the resource pool 200 needs to communicate with other resource pools (such as the resource pool 300), it may execute step 701. Among them, the cloud management platform 100 may obtain the network addresses of all instances in the resource pool 200 in step 701.

[0085] In some embodiments, when the cloud management platform 100 confirms that the subnet 230 in the resource pool 200 needs to communicate with other resource pools (such as the resource pool 300), it may execute step 701. Among them, the cloud management platform 100 may obtain the network addresses of all instances in the subnet 200 in step 701.

[0086] In some embodiments, the user may, through relevant operations, instruct the cloud management platform 100 that the resource pool 200 or the subnet 230 needs to communicate with the resource pool 300. Thus, the cloud management platform 100 confirms that the resource pool 200 or the subnet 230 needs to communicate with the resource pool 300.

[0087] In some embodiments, if the communication that the resource pool 200 needs to perform with the resource pool 300 is layer 2 communication, the address obtained in step 701 is the MAC address. In some embodiments, if the communication that the resource pool 200 needs to perform with the resource pool 300 is layer 3 communication, the address obtained in step 701 is the IP address.

[0088] Step 702, the cloud management platform 100 sends the network address of the instance 232 to the instance 332, and sends the network address of the gateway 210 to the gateway 310. The instance 332 and the gateway 310 belong to the resource pool 300 among the multiple resource pools managed by the cloud management platform 100. Among them, the gateway 310 is the public network gateway of the resource pool 300.

[0089] In step 702, the cloud management platform 100 may send the network addresses of the instances in the resource pool 200 obtained in step 701 to one or more instances including the instance 332 in the resource pool 300.

[0090] Among them, when the cloud management platform 100 confirms that one or more instances in the resource pool 200 such as the instance 232 need to communicate with all instances in the resource pool 300, in step 702, the cloud management platform 100 sends the network addresses of the one or more instances to all instances in the resource pool 300.

[0091] When the cloud management platform 100 confirms that one or more instances in the resource pool 200 such as instance 232 need to communicate with some instances in the resource pool 300, at step 702, the cloud management platform 100 sends the network addresses of the one or more instances to the some instances in the resource pool 300. For example, when the cloud management platform 100 confirms that one or more instances in the resource pool 200 such as instance 232 need to communicate with the instances in the subnet 330, at step 702, the cloud management platform 100 sends the network addresses of the one or more instances to the instances in the subnet 330.

[0092] In some embodiments, at step 702, when it is confirmed that the network address of instance 232 is different from the network addresses of the instances in the resource pool 300, the network address of instance 232 is sent to instance 332.

[0093] In one example, instance 232 may need to communicate with all the instances in the resource pool 300, then it is necessary to determine whether the network address of instance 232 is the same as the network addresses of each instance in the resource pool 300. When it is confirmed that the network address of instance 232 is different from the network addresses of all the instances in the resource pool 300, the network address of instance 232 is sent to instance 332.

[0094] In one example, instance 232 only needs to communicate with the instances in a certain subnet in the resource pool 300, and this subnet is not interoperable with other subnets in the resource pool 300. In this case, it is only necessary to determine whether the network address of instance 232 is the same as the network addresses of the instances in this subnet. When it is confirmed that the network address of instance 232 is different from the network addresses of the instances in this subnet, the network address of instance 232 is sent to instance 332.

[0095] In some embodiments, the cloud management platform 100 prohibits sending a network address that is the same as the network address of an instance in the resource pool 300 to instance 332. That is to say, if there is a network address in the network addresses obtained in step 701 that is the same as the network address of an instance in the resource pool 300, the cloud management platform 100 does not send the network address that is the same as the network address of an instance in the resource pool 300 to instance 332 and other instances in the resource pool 300.

[0096] In some embodiments, if there is a network address in the network addresses of the instances obtained in step 701 that is the same as the network address of an instance in resource pool 300, cloud management platform 100 sends an alternative network address to instance 332 and other instances in resource pool 300. For example, it can be set that in step 701, cloud management platform 100 also obtains the network address of instance 233 in resource pool 200. Cloud management platform 100 identifies that the network address of instance 233 is the same as the network address of at least one instance (such as instance 333) in resource pool 300. In this case, cloud management platform 100 can generate an alternative network address for instance 233, and this alternative network address is different from the network addresses of the instances in resource pool 300. Then, cloud management platform 100 sends the alternative network address of instance 233 to instance 332 and other instances in resource pool 300. Among them, the alternative network address is different from the network addresses of all instances in resource pool 300.

[0097] Cloud management platform 100 sends the network address of instance 233 to gateway 310. Exemplarily, cloud management platform 100 can also send the alternative network address of instance 233 to gateway 310. Cloud management platform 100 can establish and record the association relationship between the network address and the alternative network address of instance 233 for subsequent use.

[0098] In an example of this embodiment, the alternative network address of instance 233 can be the network address of gateway 210.

[0099] In some embodiments, when the network address of instance 232 is a MAC address, in step 702, the MAC address of instance 232 can be sent to the internal network gateway corresponding to instance 332, that is, into gateway 331.

[0100] In the above manner, cloud management platform can send the network address of the instance obtained in step 701 to the instances in resource pool 300 such as instance 332. When the instances in resource pool 300 such as instance 332 receive the network address sent by cloud management platform 100, they can record this network address for subsequent use.

[0101] In step 701, cloud management platform 100 sends the network address of gateway 210 obtained in step 701 to gateway 310. When gateway 310 receives the network address of gateway 210 sent by cloud management 100, it can record the network address of gateway 210 for subsequent use.

[0102] In some embodiments, the cloud management platform 100 may generate routing information based on the network address of the instance obtained in step 701 and the network address of the gateway 210, and then send the routing information to the gateway 310. The gateway 310 records the routing information for subsequent use. When the network address of the instance is a MAC address, the routing information is an L2 table. When the network address of the instance is an IP address, the routing information is an L3 table. Specifically, reference may be made to the descriptions of the embodiments shown in Figure 5 and Figure 6 above respectively.

[0103] Continuing to refer to Figure 7 , in step 703, the gateway 310 receives the data packet B1 sent by the instance 332, and the destination address of the data packet B1 is the network address of the instance 232.

[0104] When the instance 332 sends data to the instance 232, it may generate the data packet B1 and set the destination address of the data packet B1 to the network address of the instance 232.

[0105] In some embodiments, when the instance 332 sends data to the instance 332 through layer 3, the data packet B1 is a data packet generated based on the layer 3 protocol, where the destination address of the data packet B1 is the IP address of the instance 232.

[0106] In some embodiments, when the instance 332 sends data to the instance 332 through layer 2, the data packet B1 is a data packet generated based on the layer 2 protocol, where the destination address of the data packet B1 is the MAC address of the instance 232. Exemplarily, as described above, the cloud management platform 100 sends the MAC address of the instance 232 to the gateway 331. The instance 232 may send an ARP request to the gateway 331, and the gateway 331 responds to the ARP request and sends the MAC address of the instance 232 to the instance 332, so that the instance 332 can add the MAC address of the instance 232 to the data packet B1.

[0107] After generating the data packet B1, the instance 332 may send the data packet B1 to the gateway 310. Exemplarily, the instance 332 sends the data packet B1 to the internal network gateway of the subnet where the instance 332 is located, that is, the gateway 331. The gateway 331 identifies that the destination address of the data packet B1 is not the network address of the instance within the subnet where the gateway 331 is located, and then sends the data packet B1 to the public network gateway (i.e., the gateway 210).

[0108] In step 704, the gateway 310 sends the data packet B1 to the gateway 210 based on the network address of the gateway 210, so that the gateway 210 forwards the data packet B1 to the instance 232.

[0109] When the gateway 310 receives the data packet B1, it can identify that the destination of the data packet B1 is an instance in the resource pool 200 based on the destination address of the data packet B1. Then, the gateway 310 forwards the data packet B1 to the gateway 210 based on the network address of the gateway 210.

[0110] In some embodiments, as described above, the gateway 310 records routing information, which records information such as the network address of the next hop corresponding to the destination address of the data packet. The gateway 310 can obtain, through this routing information, that the network address of the next hop corresponding to the destination address of the data packet B1 is the network address of the gateway 210. Thus, the gateway 310 can forward the data packet to the gateway 210 based on the network address of the gateway 310.

[0111] When the gateway 210 receives the data packet B1, it can forward the data packet B1 to the instance 232 based on the destination address of the data packet B1. Among them, the gateway 210 and the instance 232 are in the same local area network, and the forwarding of the data packet B1 can be specifically performed with reference to the regulations of the message forwarding protocol within the local area network, which will not be elaborated here.

[0112] In some embodiments, the gateway 310 can also receive the data packet B2 sent by the instance 332, and the destination address of the data packet B2 is the alternative network address of the instance 233.

[0113] As described above, the cloud management platform 100 sends the alternative network address of the instance 233 to the instance 332. When the instance 332 sends data to the instance 233, it can generate the data packet B2 and set the destination address of the data packet B2 to the alternative network address of the instance 233. Then, the instance 332 can send the data packet B2 to the gateway 310. Exemplarily, the alternative network address of the instance 233 is the network address of the gateway 310. Thus, the instance 332 can send the data packet B2 to the gateway 310.

[0114] The gateway 310 can modify the destination address of the data packet B2 from the alternative network address of the instance 233 to the network address of the instance 233. As described above, the cloud management platform 100 sends the network address of the instance 233 to the gateway 310. Thus, the gateway 310 can modify the destination address of the data packet B2 from the alternative network address of the instance 233 to the network address of the instance 233, obtaining the data packet B3. Exemplarily. As described above, the cloud management platform 100 also sends the network address of the instance 233 to the gateway 310, and the gateway 310 establishes an association relationship between the alternative network address of the instance 233 and the network address of the instance 233. Thus, the gateway 310 can identify the network address of the instance 233 based on this association relationship and the destination address of the data packet B2.

[0115] The gateway 310 may forward the data packet B3 to the gateway 210 based on the network address of the gateway 210. The gateway 210 may forward the data packet B3 to the instance 233 based on the destination address of the data packet B3 (i.e., the network address of the instance 233).

[0116] Through the above method, communication between any instance in the resource pool 300 and any instance in the resource pool 200 can be achieved.

[0117] Referring to the above method, the cloud management platform 100 may also obtain the network address of the instance in the resource pool 300 and the network address of the gateway 310, and send the network address of the instance in the resource pool 300 to the instance in the resource pool 200, and send the network address of the gateway 310 to the gateway 210. Then, the instance in the resource pool 200 may send a data packet with the destination being the instance in the resource pool 300 based on the network address of the instance in the resource pool 300. The gateway 210 may forward the data packet to the gateway 310 based on the network address of the gateway 310. Thus, communication between any instance in the resource pool 200 and any instance in the resource pool 300 can be achieved.

[0118] In summary, through the method provided in the embodiments of the present application, communication between any instance in one resource pool and any instance in another resource pool can be achieved. That is to say, through this method, communication between existing instances in different resource pools can be achieved, so that there is no need to specially create new instances in the resource pools to achieve communication between resource pools. In this way, resources are saved and the utilization rate of resources is improved. And, in the method provided in the embodiments of the present application, instances in different resource pools directly communicate based on the network addresses of each other. Thus, in the case of conflicts in the network address segments of different resource pools, instances in different resource pools can communicate.

[0119] The embodiments of the present application also provide a cloud system, as Figure 8 shown, including: multiple resource pools such as the resource pool 810 and the resource pool 820, and a cloud management platform 900. Each of the multiple resource pools deploys an instance and a gateway. Each of the multiple resource pools includes one or more data centers, the data center includes multiple servers, the instance in each of the multiple resource pools is deployed in the server of the resource pool, and the cloud management platform 900 is used to manage the instance and the gateway in each of the multiple resource pools; wherein,

[0120] The cloud management platform 900 is used to: obtain the first network address of the instance 811 and the second network address of the gateway 812, where the instance 811 and the gateway 812 belong to the resource pool 810 in the multiple resource pools;

[0121] The cloud management platform 900 is used to: send the first network address to the instance 821, and send the second network address to the gateway 822, where the instance 821 and the gateway 822 belong to the resource pool 820 in the multiple resource pools;

[0122] The gateway 822 is used to: receive a first data packet sent by the instance 821, where the destination address of the first data packet is the first network address;

[0123] The gateway 822 is used to: based on the second network address, send the first data packet to the gateway 812, so that the gateway 812 forwards the first data packet to the instance 811.

[0124] In some embodiments, the cloud management platform 900 is used to: when it is confirmed that the first network address is different from the network address of the instance in the resource pool 820, send the first network address to the instance 821.

[0125] In some embodiments, the cloud management platform 900 is further used to: obtain a third network address of the instance 813 in the resource pool 810;

[0126] The cloud management platform 900 is further used to: confirm that the third network address is the same as the network address of at least one instance in the resource pool 820; the cloud management platform 900 is further used to: send an alternative network address of the instance 813 to the instance 821, and send the third network address to the gateway 822; where the alternative network address is different from the network address of the instance in the resource pool 820; the gateway 822 is further used to: receive a second data packet sent by the instance 821, where the destination address of the second data packet is the alternative network address; the gateway 822 is further used to: modify the destination address of the second data packet to the third network address to obtain a third data packet; the gateway 822 is further used to: based on the second network address, send the third data packet to the gateway 812, so that the gateway 812 forwards the third data packet to the instance 811.

[0127] The gateway 822 can be implemented by software or by hardware. Exemplarily, the implementation manner of the gateway 822 is introduced next.

[0128] As an example of a software functional unit, the gateway 822 may include code running on a computing instance. Among them, the computing instance may be at least one of computing devices such as a physical host (computing device), a virtual machine, and a container. Further, the above computing device may be one or more. For example, the gateway 822 may include code running on multiple hosts / virtual machines / containers.

[0129] As an example of a hardware functional unit, the gateway 822 may include at least one computing device, such as a server, a switch, etc. Alternatively, the gateway 822 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). Among them, the above PLD may be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0130] The cloud management platform 900 can be implemented by software or by hardware. Exemplarily, the implementation manner of the cloud management platform 900 can refer to the introduction of the implementation manner of the gateway 822 above.

[0131] The difference is that multiple hosts / virtual machines / containers for running the code of the cloud management platform 900 can be distributed in the same region or in different regions. Multiple hosts / virtual machines / containers for running the code of the cloud management platform 900 can be distributed in the same availability zone (AZ) or in different AZs, and each AZ includes one data center or multiple geographically proximate data centers. Among them, generally one region may include multiple AZs.

[0132] Similarly, multiple hosts / virtual machines / containers for running the code of the cloud management platform 900 can be distributed in the same VPC or in multiple VPCs. Among them, generally one VPC is set within one region. For cross-region communication between two VPCs within the same region and between VPCs in different regions, a communication gateway needs to be set in each VPC, and the interconnection between VPCs is achieved through the communication gateway.

[0133] Multiple computing devices included in the cloud management platform 900 can be distributed in the same region or in different regions. Multiple computing devices included in the cloud management platform 900 can be distributed in the same AZ or in different AZs. Similarly, multiple computing devices included in the cloud management platform 900 can be distributed in the same VPC or in multiple VPCs. Among them, the multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0134] As shown Figure 9 in the figure, the cloud management platform 900 may include:

[0135] An obtaining module 910, configured to obtain a first network address of the instance 811 and a second network address of the gateway 812, where the instance 811 and the gateway 812 belong to the resource pool 810 in the multiple resource pools;

[0136] A sending module 920, configured to send the first network address to the instance 821, and send the second network address to the gateway 822, where the instance 821 and the gateway 822 belong to the resource pool 820 in the multiple resource pools;

[0137] Wherein, the gateway 822 is configured to receive a first data packet sent by the instance 821, and a destination address of the first data packet is the first network address; the gateway 822 is configured to send the first data packet to the gateway 812 based on the second network address, so that the gateway 812 forwards the first data packet to the instance 811.

[0138] In some embodiments, the sending module 820 is configured to: when it is confirmed that the first network address is different from the network address of the instance in the resource pool 820, send the first network address to the instance 821.

[0139] In some embodiments, the cloud management platform 900 further includes: a confirmation module 930; the obtaining module 910 is further configured to: obtain a third network address of the instance 813 in the resource pool 810; the confirmation module 930 is configured to: confirm that the third network address is the same as the network address of at least one instance in the resource pool 820; the sending module 920 is further configured to: send an alternative network address of the instance 813 to the instance 821, and send the third network address to the gateway 822; wherein, the alternative network address is different from the network address of the instance in the resource pool 820; wherein, the gateway 822 is configured to receive a second data packet sent by the instance 821, and a destination address of the second data packet is the alternative network address; the gateway 822 is configured to modify the destination address of the second data packet to the third network address to obtain a third data packet; the gateway 822 is configured to send the third data packet to the gateway 812 based on the second network address, so that the gateway 812 forwards the third data packet to the instance 811.

[0140] Among them, both the obtaining module 910 and the sending module 920 can be implemented by software or by hardware. Exemplarily, next, taking the obtaining module 910 as an example, the implementation manner of the obtaining module 910 will be introduced. Similarly, the implementation manners of the sending module 920 and the confirmation module 930 can refer to the implementation manner of the obtaining module 910.

[0141] As an example of a software functional unit, the obtaining module 910 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above computing instance may be one or more. For example, the obtaining module 910 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running the code may be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers for running the code may be distributed in the same availability zone AZ or in different AZs, and each AZ includes one data center or multiple geographically proximate data centers. Among them, generally one region may include multiple AZs.

[0142] Similarly, the multiple hosts / virtual machines / containers for running the code may be distributed in the same VPC or in multiple VPCs. Among them, generally one VPC is set within one region. For cross-region communication between two VPCs within the same region and between VPCs in different regions, a communication gateway needs to be set in each VPC, and the interconnection between VPCs is realized through the communication gateway.

[0143] As an example of a hardware functional unit, the obtaining module 910 may include at least one computing device, such as a server, etc. Alternatively, the obtaining module 910 may also be a device implemented by ASIC or PLD, etc. Among them, the above PLD may be implemented by CPLD, FPGA, GAL, or any combination thereof.

[0144] The multiple computing devices included in the obtaining module 910 may be distributed in the same region or in different regions. The multiple computing devices included in the obtaining module 910 may be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the obtaining module 910 may be distributed in the same VPC or in multiple VPCs. Among them, the multiple computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0145] It should be noted that in other embodiments, the obtaining module 910 may be used to executeFigure 7 For any step executed by the cloud management platform in the method shown, the sending module 920 can be used to execute Figure 7 any step executed by the cloud management platform in the method shown. The steps to be implemented by the obtaining module 910 and the sending module 920 can be specified as needed, and are implemented by the obtaining module 910 and the sending module 920 respectively Figure 7 different steps executed by the cloud management platform in the method shown to implement all functions of the cloud management platform 900.

[0146] This application also provides a computing device 1000. As Figure 10 shown, the computing device 1000 includes: a bus 1002, a processor 1004, a memory 1006, and a communication interface 1008. The processor 1004, the memory 1006, and the communication interface 1008 communicate with each other through the bus 1002. The computing device 1000 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 1000.

[0147] The bus 1002 can be a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of representation, Figure 10 only one line is shown in, but it does not mean that there is only one bus or one type of bus. The bus 1002 can include a path for transmitting information between various components of the computing device 1000 (for example, the memory 1006, the processor 1004, the communication interface 1008).

[0148] The processor 1004 can include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a micro processor (MP), or a digital signal processor (DSP), etc.

[0149] The memory 1006 may include volatile memory, such as random access memory (RAM). The memory 1006 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0150] Executable program code is stored in the memory 1006, and the processor 1004 executes the executable program code to respectively implement the functions of the aforementioned acquisition module 910 and transmission module 920, thereby implementing Figure 7 the steps executed by the cloud management platform in the method shown. That is, instructions for executing Figure 7 the steps executed by the cloud management platform in the method shown are stored on the memory 1006.

[0151] The communication interface 1008 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 1000 and other devices or communication networks.

[0152] The embodiments of the present application also provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0153] As Figure 11 shown, the computing device cluster includes at least one computing device 1000. Instructions for executing Figure 7 the steps executed by the cloud management platform in the method shown may be stored in the memory 1006 of one or more computing devices 1000 in the computing device cluster.

[0154] In some possible implementation manners, instructions for respectively executing Figure 7 part of the steps executed by the cloud management platform in the method shown may also be stored in the memory 1006 of one or more computing devices 1000 in the computing device cluster. In other words, a combination of one or more computing devices 1000 may jointly execute the instructions for executing Figure 7 the steps executed by the cloud management platform in the method shown.

[0155] It should be noted that the memories 1006 in different computing devices 1000 in the computing device cluster can store different instructions, which are respectively used to execute some functions of the cloud management platform 900. That is to say, the instructions stored in the memories 1006 in different computing devices 1000 can implement the functions of one or more modules among the acquisition module 910 and the sending module 920.

[0156] In some possible implementation manners, one or more computing devices in the computing device cluster can be connected through a network. Among them, the network can be a wide area network or a local area network, etc. Figure 12 A possible implementation manner is shown. As Figure 12 shown, two computing devices 1000A and 1000B are connected through a network. Specifically, they are connected to the network through the communication interfaces in each computing device. In this type of possible implementation manner, the memory 1006 in the computing device 1000A stores instructions for executing the function of the acquisition module 910. At the same time, the memory 1006 in the computing device 1000B stores instructions for executing the function of the sending module 920.

[0157] It should be understood that Figure 12 the function of the computing device 1000A shown in

[0158] can also be completed by multiple computing devices 1000. Similarly, the function of the computing device 1000B can also be completed by multiple computing devices 1000.

[0158] The embodiment of the present application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to Figure 11 and Figure 12 the connection manner of the computing device cluster described above. The difference is that the memories 1006 in one or more computing devices 1000 in this computing device cluster can store the same instructions for executing the steps executed by the cloud management platform in the Figure 7 shown method.

[0159] In some possible implementation manners, the memories 1006 in one or more computing devices 1000 in this computing device cluster can also respectively store partial instructions for executing the steps executed by the cloud management platform in the Figure 7 shown method. In other words, a combination of one or more computing devices 1000 can jointly execute the instructions for executing the steps executed by the cloud management platform in the Figure 7 shown method.

[0160] The embodiments of the present application also provide a computer program product containing instructions. The computer program product may be software or a program product containing instructions that can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computing device, it causes at least one computing device to execute Figure 7 the steps executed by the cloud management platform in the method shown.

[0161] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium may be any available medium that a computing device can store or a host migration device such as a data center containing one or more available mediums. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive), etc. The computer-readable storage medium includes instructions that instruct the computing device to execute Figure 7 the steps executed by the cloud management platform in the method shown.

[0162] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments or perform equivalent replacements for some of the technical features. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present application.

Claims

1. A communication method based on cloud technology, characterized in that, The method is applied to a cloud system, which includes a cloud management platform and multiple resource pools. Each resource pool among the multiple resource pools deploys instances and gateways. Each resource pool among the multiple resource pools includes one or more data centers, and the data center includes multiple servers. The instances in each resource pool among the multiple resource pools are deployed in the servers of the resource pool. The cloud management platform is used to manage the instances and gateways in each resource pool among the multiple resource pools. The method includes: The cloud management platform obtains the first network address of the first instance and the second network address of the first gateway. The first instance and the first gateway belong to the first resource pool among the multiple resource pools. The cloud management platform sends the first network address to the second instance and sends the second network address to the second gateway. The second instance and the second gateway belong to the second resource pool among the multiple resource pools. The second gateway receives the first data packet sent by the second instance, and the destination address of the first data packet is the first network address. Based on the second network address, the second gateway sends the first data packet to the first gateway, so that the first gateway forwards the first data packet to the first instance.

2. The method according to claim 1, wherein The cloud management platform sending the first network address to the second instance includes: when it is confirmed that the first network address is different from the network addresses of the instances in the second resource pool, the cloud management platform sends the first network address to the second instance.

3. The method according to claim 1 or 2, characterized in that, The method further includes: The cloud management platform obtains the third network address of the third instance in the first resource pool. The cloud management platform confirms that the third network address is the same as the network addresses of at least one instance in the second resource pool. The cloud management platform sends the alternative network address of the third instance to the second instance and sends the third network address to the second gateway. Wherein, the alternative network address is different from the network addresses of the instances in the second resource pool. The second gateway receives the second data packet sent by the second instance, and the destination address of the second data packet is the alternative network address. The second gateway modifies the destination address of the second data packet to the third network address to obtain a third data packet. Based on the second network address, the second gateway sends the third data packet to the first gateway, so that the first gateway forwards the third data packet to the first instance.

4. The method according to claim 3, characterized in that, The alternative network address is the network address of the second gateway.

5. The method according to any one of claims 1-4, characterized in that, The network address is an Internet Protocol (IP) address and / or a Media Access Control (MAC) address.

6. The method according to any one of claims 1-5, characterized in that, The first resource pool is the first region, and the second resource pool is the second region.

7. A cloud system, characterized in that, The cloud system includes a cloud management platform and multiple resource pools. Each resource pool among the multiple resource pools deploys instances and gateways. Each resource pool among the multiple resource pools includes one or more data centers, and the data center includes multiple servers. The instances in each resource pool among the multiple resource pools are deployed in the servers of the resource pool. The cloud management platform is used to manage the instances and gateways in each resource pool among the multiple resource pools; wherein, The cloud management platform is used to: obtain the first network address of the first instance and the second network address of the first gateway, where the first instance and the first gateway belong to the first resource pool among the multiple resource pools; The cloud management platform is used to: send the first network address to the second instance, and send the second network address to the second gateway, where the second instance and the second gateway belong to the second resource pool among the multiple resource pools; The second gateway is used to: receive the first data packet sent by the second instance, and the destination address of the first data packet is the first network address; The second gateway is used to: based on the second network address, send the first data packet to the first gateway, so that the first gateway forwards the first data packet to the first instance.

8. The cloud system according to claim 7, characterized in that, The cloud management platform is used to: in the case of confirming that the first network address is different from the network addresses of the instances in the second resource pool, send the first network address to the second instance.

9. The cloud system according to claim 7 or 8, wherein The cloud management platform is further used to: obtain the third network address of the third instance in the first resource pool; The cloud management platform is further used to: confirm that the third network address is the same as the network addresses of at least one instance in the second resource pool; The cloud management platform is further used to: send the alternative network address of the third instance to the second instance, and send the third network address to the second gateway; wherein, the alternative network address is different from the network addresses of the instances in the second resource pool; The second gateway is further used to: receive the second data packet sent by the second instance, and the destination address of the second data packet is the alternative network address; The second gateway is further used to: modify the destination address of the second data packet to the third network address to obtain a third data packet; The second gateway is further used to: based on the second network address, send the third data packet to the first gateway, so that the first gateway forwards the third data packet to the first instance.

10. A communication method based on cloud technology, characterized in that, The method is applied to the cloud management platform in the cloud system. The cloud system further includes multiple resource pools. Each resource pool among the multiple resource pools deploys instances and gateways. Each resource pool among the multiple resource pools includes one or more data centers, and the data center includes multiple servers. The instances in each resource pool among the multiple resource pools are deployed in the servers of the resource pool. The cloud management platform is used to manage the instances and gateways in each resource pool among the multiple resource pools; The method includes: The cloud management platform obtains the first network address of the first instance and the second network address of the first gateway, where the first instance and the first gateway belong to the first resource pool among the multiple resource pools; The cloud management platform sends the first network address to the second instance and sends the second network address to the second gateway, where the second instance and the second gateway belong to the second resource pool among the multiple resource pools; Wherein, The second gateway is used to receive a first data packet sent by the second instance, and the destination address of the first data packet is the first network address; The second gateway is used to send the first data packet to the first gateway based on the second network address, so that the first gateway forwards the first data packet to the first instance.

11. The method according to claim 10, wherein The cloud management platform sending the first network address to the second instance includes: when it is confirmed that the first network address is different from the network addresses of the instances in the second resource pool, the cloud management platform sends the first network address to the second instance.

12. The method according to claim 10 or 11, characterized in that The method further includes: The cloud management platform obtains the third network address of a third instance in the first resource pool; The cloud management platform confirms that the third network address is the same as the network addresses of at least one instance in the second resource pool; The cloud management platform sends an alternative network address of the third instance to the second instance and sends the third network address to the second gateway; wherein, the alternative network address is different from the network addresses of the instances in the second resource pool; Wherein, The second gateway is used to receive a second data packet sent by the second instance, and the destination address of the second data packet is the alternative network address; The second gateway is used to modify the destination address of the second data packet to the third network address to obtain a third data packet; The second gateway is used to send the third data packet to the first gateway based on the second network address, so that the first gateway forwards the third data packet to the first instance.

13. A cloud management platform, characterized in that, The cloud system where the cloud management platform is located further includes multiple resource pools. Each resource pool among the multiple resource pools deploys instances and gateways. Each resource pool among the multiple resource pools includes one or more data centers. The data center includes multiple servers. The instances in each resource pool among the multiple resource pools are deployed in the servers of the resource pool. The cloud management platform is used to manage the instances and gateways in each resource pool among the multiple resource pools; The cloud management platform includes: An obtaining module, configured to obtain the first network address of the first instance and the second network address of the first gateway, where the first instance and the first gateway belong to the first resource pool among the multiple resource pools; A sending module, configured to send the first network address to the second instance and send the second network address to the second gateway, where the second instance and the second gateway belong to the second resource pool among the multiple resource pools; Wherein, The second gateway is configured to receive a first data packet sent by the second instance, where the destination address of the first data packet is the first network address; The second gateway is configured to send the first data packet to the first gateway based on the second network address, so that the first gateway forwards the first data packet to the first instance.

14. The cloud management platform according to claim 13, wherein The sending module is configured to: when it is confirmed that the first network address is different from the network addresses of the instances in the second resource pool, send the first network address to the second instance.

15. The cloud management platform according to claim 13 or 14, characterized in that, The cloud management platform further includes: a confirmation module; The obtaining module is further configured to: obtain the third network address of a third instance in the first resource pool; The confirmation module is configured to: confirm that the third network address is the same as the network addresses of at least one instance in the second resource pool; The sending module is further configured to: send the alternative network address of the third instance to the second instance, and send the third network address to the second gateway; wherein, the alternative network address is different from the network addresses of the instances in the second resource pool; Wherein, The second gateway is configured to receive a second data packet sent by the second instance, where the destination address of the second data packet is the alternative network address; The second gateway is configured to modify the destination address of the second data packet to the third network address to obtain a third data packet; The second gateway is configured to send the third data packet to the first gateway based on the second network address, so that the first gateway forwards the third data packet to the first instance.

16. A cluster of computing devices, characterized in that, Comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 10 to 12.

17. A computer-readable storage medium, characterized in that, Comprising computer program instructions, when the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 10 to 12.

18. A computer program product comprising instructions, characterized in that, When the instructions are run by a computer device cluster, the computer device cluster is caused to execute the method according to any one of claims 10 to 12.