Communication method based on cloud service system and cloud service system

By using the address forwarding mechanism of shared memory and virtual machine monitor in the cloud service system, the problems of virtual machine communication delay and memory resource consumption are solved, and a high-performance cloud service system is realized.

CN119232782APending Publication Date: 2024-12-31HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311278629.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-28
Filing Date
2023-09-28
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In cloud service systems, the communication delay between virtual machines is high, resulting in the inability to provide high-performance cloud services. This is mainly because the virtual machine monitor needs to complete two packet copies, which consumes large memory resources and affects communication efficiency.

Method used

By introducing shared memory into the cloud service system, the virtual machine can directly access and store messages in the shared memory. The virtual machine monitor only forwards the address, avoids copying of messages, reduces communication delays and saves memory resources.

Benefits of technology

It realizes low latency and high bandwidth communication between virtual machines, saves memory resources, improves the performance of cloud service systems, and provides high-performance cloud services to tenants.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232782A_ABST
    Figure CN119232782A_ABST
Patent Text Reader

Abstract

The invention discloses a communication method based on a cloud service system and the cloud service system, which not only can save memory resources to a certain extent, but also can reduce communication delay between virtual machines, so that the cloud service system can provide high-performance cloud services for tenants. The cloud service system for implementing the method comprises a first virtual machine, a first virtual machine monitor, a second virtual machine and a shared memory, and the first virtual machine, the first virtual machine monitor and the second virtual machine can access the shared memory. The method comprises the following steps: a first virtual machine stores a message to be sent to a second virtual machine in a shared memory; the first virtual machine sends the memory address of the message in the shared memory and the network address of the second virtual machine to a first virtual machine monitor; the first virtual machine monitor sends the memory address to the second virtual machine based on the network address; and the second virtual machine obtains the message from the shared memory based on the memory address.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on June 28, 2023, with application number 202310777431.8 and invention name “A communication method and cloud management platform based on cloud management platform”, all contents of which are incorporated by reference in this application. Technical Field

[0002] The embodiments of the present application relate to the field of cloud technology, and in particular to a communication method based on a cloud service system and a cloud service system. Background Art

[0003] In a cloud service system, a large amount of internal communication will occur between the numerous virtual machines (VMs) running on physical servers or server clusters. The quality of these communications directly determines the performance of the overall cloud service provided by the system to tenants. Therefore, it is necessary to improve the network processing capabilities between virtual machines to provide low-latency, high-bandwidth network quality assurance.

[0004] In the related art, it is assumed that a physical server in a cloud server system is deployed with multiple virtual machines and a hypervisor for managing the multiple virtual machines. When a source virtual machine among the multiple virtual machines needs to send a message to a destination virtual machine, the hypervisor will store the message of the source virtual machine in the memory of the physical server, then read it out from the memory and send it to the destination virtual machine, thereby completing the communication between the source virtual machine and the destination virtual machine.

[0005] In the above process, since the virtual machine monitor needs to complete two message copies, this will result in a large consumption of memory resources and a high communication delay between the source virtual machine and the destination virtual machine, resulting in the cloud service system being unable to provide high-performance cloud services to tenants. Summary of the invention

[0006] The embodiments of the present application provide a communication method and a cloud service system based on a cloud service system, which can not only save memory resources to a certain extent, but also reduce the communication delay between virtual machines, so that the cloud service system can provide tenants with high-performance cloud services.

[0007] A first aspect of an embodiment of the present application provides a communication method based on a cloud service system, wherein the cloud service system includes a first virtual machine, a first virtual machine monitor, a second virtual machine, and a shared memory, and the first virtual machine, the first virtual machine monitor, and the second virtual machine can directly access the shared memory, and the method includes:

[0008] When the first virtual machine (ie, the source virtual machine) needs to communicate with the second virtual machine (ie, the destination virtual machine), the first virtual machine may first access the shared memory of the first physical server and store the message to be sent to the second virtual machine in the shared memory.

[0009] After storing the message in the shared memory and obtaining the memory address of the message in the shared memory, the first virtual machine may send the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor.

[0010] After obtaining the memory address of the message in the shared memory and the network address of the second virtual machine, the first virtual machine monitor may send the memory address of the message in the shared memory to the second virtual machine.

[0011] After obtaining the memory address of the message in the shared memory, the second virtual machine can read the message from the shared memory based on the memory address of the message in the shared memory. At this point, the first virtual machine successfully completes communication with the second virtual machine.

[0012] The cloud service system for implementing the above method includes a first virtual machine, a first virtual machine monitor, a second virtual machine and a shared memory, and the first virtual machine, the first virtual machine monitor and the second virtual machine can access the shared memory. When the first virtual machine needs to communicate with the second virtual machine, the first virtual machine can first store the message to be sent to the second virtual machine in the shared memory. Then, the first virtual machine can send the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor for managing the first virtual machine. Then, the first virtual machine monitor can send the memory address of the message in the shared memory to the second virtual machine based on the network address of the second virtual machine. Finally, the second virtual machine can read the message from the shared memory based on the memory address of the message in the shared memory. At this point, the first virtual machine has successfully completed communication with the second virtual machine. In the above process, two message copies are implemented by the first virtual machine and the second virtual machine respectively, that is, the first virtual machine can store the message to be sent to the second virtual machine in the shared memory in advance, and the second virtual machine can obtain the message from the shared memory by itself. During the communication process between the first virtual machine and the second virtual machine, the first virtual machine monitor mainly forwards the memory address of the message in the shared memory between the first virtual machine and the second virtual machine. Therefore, the first virtual machine monitor does not need to perform message copying, but only needs to complete address forwarding. Compared with the former, the latter requires very few memory resources and can be completed quickly. This not only saves memory resources to a certain extent, but also reduces the communication delay between the first virtual machine and the second virtual machine, so that the cloud service system can provide tenants with high-performance cloud services.

[0013] In one possible implementation, the cloud service system includes a first physical server, the first physical server includes a first virtual machine, a first virtual machine monitor, and a second virtual machine, and the first virtual machine monitor sends a memory address to the second virtual machine based on a network address, including: after the first virtual machine monitor determines that the second virtual machine is located on the first physical server based on the network address, the memory address is sent to the second virtual machine. In the aforementioned implementation, it is assumed that the first virtual machine, the second virtual machine, and the first virtual machine monitor for managing the two virtual machines can be deployed simultaneously on the first physical server in the cloud service system. Based on this, after obtaining the memory address of the message in the shared memory and the network address of the second virtual machine, the first virtual machine monitor can analyze the network address of the second virtual machine to determine that the second virtual machine is located on the first physical server, that is, the first virtual machine monitor can determine that the communication between the first virtual machine and the second virtual machine occurs inside the first physical server. Based on this, the first virtual machine monitor can send the memory address of the message in the shared memory directly to the second virtual machine.

[0014] In one possible implementation, the shared memory is located in the first physical server or a third physical server of the cloud service system, and the third physical server is accessible to the first physical server. In the aforementioned implementation, the shared memory can be set together with the first virtual machine, the second virtual machine, and the first virtual machine monitor on the first physical server. Of course, the shared memory can also be set on the third physical server that is communicatively connected to the first physical server, while the first virtual machine, the second virtual machine, and the first virtual machine monitor are set on the first physical server.

[0015] In a possible implementation, the cloud service system includes a first physical server and a second physical server, the first physical server includes a first virtual machine and a first virtual machine monitor, the second physical server includes a second virtual machine and a second virtual machine monitor, and the first virtual machine monitor sends the memory address to the second virtual machine based on the network address, including: after the first virtual machine monitor determines that the second virtual machine is located on the second physical server based on the network address, the memory address is sent to the second virtual machine monitor; the second virtual machine monitor sends the memory address to the second virtual machine. In the above implementation, it is assumed that the first physical server in the cloud service system can be deployed with a first virtual machine and a first virtual machine monitor for managing the first virtual machine, and the second physical server can be deployed with a second virtual machine and a second virtual machine monitor for managing the second virtual machine. Based on this, after obtaining the memory address of the message in the shared memory and the network address of the second virtual machine, the first virtual machine monitor can analyze the network address of the second virtual machine, thereby determining that the second virtual machine is located on the second physical server, that is, the first virtual machine monitor can determine that the communication between the first virtual machine and the second virtual machine occurs between the first physical server and the second physical server. Based on this, the first virtual machine monitor can send the memory address of the message in the shared memory to the second virtual machine monitor, so that the second virtual machine monitor sends the memory address to the second virtual machine.

[0016] In one possible implementation, the shared memory is located in a third physical server of the cloud service system, and the third physical server is accessible to the first physical server and the second physical server. In the aforementioned implementation, since the first virtual machine and the first virtual machine monitor are set on the first physical server, and the second virtual machine and the second virtual machine monitor are set on the second physical server, the shared memory is usually set on the third physical server that is communicatively connected to the first physical server and the second physical server.

[0017] In one possible implementation, the shared memory includes multiple memory areas, and the first virtual machine stores the message to be sent to the second virtual machine in the shared memory, including: the first virtual machine determines a memory area that matches the message to be sent to the second virtual machine from the multiple memory areas; the first virtual machine stores the message in the memory area, and uses the memory address corresponding to the memory area as the memory address of the message in the shared memory. In the aforementioned implementation, after the first virtual machine accesses the shared memory, the first virtual machine can determine a memory area that matches the message to be sent to the second virtual machine from the multiple memory areas included in the shared memory. Then, the first virtual machine can store the message in the memory area, and use the memory address corresponding to the memory area as the memory address of the message in the shared memory.

[0018] In one possible implementation, the second virtual machine obtains the message from the shared memory based on the memory address, including: the second virtual machine determines a memory area in the shared memory based on the memory address, and obtains the message from the memory area. In the aforementioned implementation, after obtaining the memory address of the message in the shared memory, the second virtual machine can determine a memory area corresponding to the memory address among multiple memory areas included in the shared memory, and since the memory area stores the message, the second virtual machine can read the message from the memory area.

[0019] A second aspect of an embodiment of the present application provides a cloud service system, which includes a first virtual machine, a first virtual machine monitor, a second virtual machine and a shared memory, wherein the first virtual machine, the first virtual machine monitor and the second virtual machine can access the shared memory; the first virtual machine is used to store a message to be sent to the second virtual machine in the shared memory; the first virtual machine is also used to send the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor; the first virtual machine monitor is used to send the memory address to the second virtual machine based on the network address; the second virtual machine is used to obtain the message from the shared memory based on the memory address.

[0020] The above-mentioned cloud service system includes a first virtual machine, a first virtual machine monitor, a second virtual machine and a shared memory, and the first virtual machine, the first virtual machine monitor and the second virtual machine can access the shared memory. When the first virtual machine needs to communicate with the second virtual machine, the first virtual machine can first store the message to be sent to the second virtual machine in the shared memory. Then, the first virtual machine can send the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor used to manage the first virtual machine. Then, the first virtual machine monitor can send the memory address of the message in the shared memory to the second virtual machine based on the network address of the second virtual machine. Finally, the second virtual machine can read the message from the shared memory based on the memory address of the message in the shared memory. At this point, the first virtual machine has successfully completed communication with the second virtual machine. In the above process, two message copies are implemented by the first virtual machine and the second virtual machine respectively, that is, the first virtual machine can store the message to be sent to the second virtual machine in the shared memory in advance, and the second virtual machine can obtain the message from the shared memory by itself. During the communication process between the first virtual machine and the second virtual machine, the first virtual machine monitor mainly forwards the memory address of the message in the shared memory between the first virtual machine and the second virtual machine. Therefore, the first virtual machine monitor does not need to perform message copying, but only needs to complete address forwarding. Compared with the former, the latter requires very few memory resources and can be completed quickly. This not only saves memory resources to a certain extent, but also reduces the communication delay between the first virtual machine and the second virtual machine, so that the cloud service system can provide tenants with high-performance cloud services.

[0021] In one possible implementation, a cloud service system includes a first physical server, the first physical server includes a first virtual machine, a first virtual machine monitor, and a second virtual machine; the first virtual machine monitor is used to send a memory address to the second virtual machine after determining that the second virtual machine is located on the first physical server based on a network address.

[0022] In one possible implementation, the cloud service system includes a first physical server and a second physical server, the first physical server includes a first virtual machine and a first virtual machine monitor, and the second physical server includes a second virtual machine and a second virtual machine monitor; the first virtual machine monitor is used to send a memory address to the second virtual machine monitor after determining that the second virtual machine is located on the second physical server based on a network address; the second virtual machine monitor is used to send the memory address to the second virtual machine.

[0023] In a possible implementation, the shared memory is located in the first physical server or a third physical server of the cloud service system, and the third physical server is accessible to the first physical server.

[0024] In a possible implementation, the shared memory is located in a third physical server of the cloud service system, and the third physical server is accessible to the first physical server and the second physical server.

[0025] In one possible implementation, the shared memory includes multiple memory areas, and the first virtual machine is used to: determine a memory area that matches a message to be sent to the second virtual machine among the multiple memory areas; store the message in the memory area, and use the memory address corresponding to the memory area as the memory address of the message in the shared memory.

[0026] In a possible implementation, the second virtual machine is used to determine a memory area in a shared memory based on a memory address, and obtain a message from the memory area.

[0027] A third aspect of an embodiment of the present application provides a computing device cluster, the computing device cluster includes at least one computing device, each computing device includes a processor and a memory: the memory is used to store instructions; the processor is used to enable the computing device cluster to execute the method described in the first aspect or any possible implementation method of the first aspect according to the instructions.

[0028] A fourth aspect of an embodiment of the present application provides a computer storage medium, which stores one or more instructions. When the instructions are executed by one or more computers, the one or more computers implement the method described in the first aspect or any possible implementation method of the first aspect.

[0029] A fifth aspect of the embodiments of the present application provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the method described in the first aspect or any possible implementation method of the first aspect.

[0030] The cloud service system provided by the embodiment of the present application includes a first virtual machine, a first virtual machine monitor, a second virtual machine and a shared memory, and the first virtual machine, the first virtual machine monitor and the second virtual machine can access the shared memory. When the first virtual machine needs to communicate with the second virtual machine, the first virtual machine can first store the message to be sent to the second virtual machine in the shared memory. Then, the first virtual machine can send the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor used to manage the first virtual machine. Then, the first virtual machine monitor can send the memory address of the message in the shared memory to the second virtual machine based on the network address of the second virtual machine. Finally, the second virtual machine can read the message from the shared memory based on the memory address of the message in the shared memory. At this point, the first virtual machine has successfully completed communication with the second virtual machine. In the above process, two message copies are implemented by the first virtual machine and the second virtual machine respectively, that is, the first virtual machine can store the message to be sent to the second virtual machine in the shared memory in advance, and the second virtual machine can obtain the message from the shared memory by itself. During the communication process between the first virtual machine and the second virtual machine, the first virtual machine monitor mainly forwards the memory address of the message in the shared memory between the first virtual machine and the second virtual machine. Therefore, the first virtual machine monitor does not need to perform message copying, but only needs to complete address forwarding. Compared with the former, the latter requires very few memory resources and can be completed quickly. This not only saves memory resources to a certain extent, but also reduces the communication delay between the first virtual machine and the second virtual machine, so that the cloud service system can provide tenants with high-performance cloud services. BRIEF DESCRIPTION OF THE DRAWINGS

[0031] Figure 1 A schematic diagram of the structure of a cloud service system provided in an embodiment of the present application;

[0032] Figure 2 A schematic diagram of a shared memory provided in an embodiment of the present application;

[0033] Figure 3 Another schematic diagram of a shared memory provided in an embodiment of the present application;

[0034] Figure 4 Another schematic diagram of a shared memory provided in an embodiment of the present application;

[0035] Figure 5 A schematic diagram of a flow chart of a communication method based on a cloud service system provided in an embodiment of the present application;

[0036] Figure 6 A structural diagram of a physical server provided in an embodiment of the present application;

[0037] Figure 7 Another schematic diagram of a communication method based on a cloud service system provided in an embodiment of the present application;

[0038] Figure 8 Another structural diagram of a physical server provided in an embodiment of the present application;

[0039] Fig. 9 Another structural diagram of the cloud service system provided in the embodiment of the present application;

[0040] Fig.10 A schematic diagram of a structure of a computing device provided in an embodiment of the present application;

[0041] Fig.11 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0042] Fig.12 A schematic diagram of computer devices in a computer cluster provided in an embodiment of the present application being connected via a network. DETAILED DESCRIPTION

[0043] The embodiments of the present application provide a communication method and a cloud service system in a cloud service system, which can not only save memory resources to a certain extent, but also reduce the communication delay between virtual machines, so that the cloud service system can provide tenants with high-performance cloud services.

[0044] In a cloud service system, a large amount of internal communication occurs between the numerous virtual machines running on a physical server or server cluster. The quality of these communications directly determines the performance of the overall cloud service provided by the system to tenants. Therefore, it is necessary to improve the network processing capabilities between virtual machines to provide low-latency, high-bandwidth network quality assurance.

[0045] In the related art, it is assumed that a physical server in a cloud server system is deployed with multiple virtual machines and a virtual machine monitor for managing the multiple virtual machines. Among the multiple virtual machines, if a virtual machine needs to communicate with another virtual machine, the two virtual machines can be respectively referred to as a source virtual machine and a destination virtual machine. When the source virtual machine needs to send a message to the destination virtual machine, the virtual machine monitor will store the message of the source virtual machine in the memory of the physical server, then read it out from the memory and send it to the destination virtual machine, thereby completing the communication between the source virtual machine and the destination virtual machine.

[0046] In the above process, since the virtual machine monitor needs to complete two message copies, that is, storing the message into the memory and then taking it out of the memory, this will result in a large consumption of memory resources and a high communication delay between the source virtual machine and the destination virtual machine, resulting in the cloud service system being unable to provide high-performance cloud services to tenants.

[0047] In order to solve the above problems, the present application embodiment provides a communication method based on a cloud service system, and the cloud service system used to implement the method is as follows: Figure 1 As shown ( Figure 1 A schematic diagram of a cloud service system provided in an embodiment of the present application) includes an infrastructure for providing cloud services to tenants, and the infrastructure includes multiple physical servers, which are connected to each other in communication. The following is an introduction to the physical servers:

[0048] Physical servers, as computing devices in cloud service systems, usually appear in clusters. It should be noted that through virtualization technology, one or more virtual machines (VMs) that provide cloud services to tenants and a hypervisor that manages these virtual machines can be deployed on a physical server. Then, different virtual machines on the same server can communicate with each other, or virtual machines on different servers can also communicate with each other. It should be noted that when virtual machines communicate with each other, the hypervisor on the physical server can participate in and manage the communication process.

[0049] It is worth noting that, for any one of the multiple physical servers, the physical server may have a dedicated shared memory, and the shared memory of the physical server may be presented in a variety of ways: for example, Figure 2 As shown ( Figure 2 A schematic diagram of a shared memory provided in an embodiment of the present application), the shared memory of the physical server is the memory owned by the physical server, and for example, Figure 3 As shown ( Figure 3 Another schematic diagram of the shared memory provided in the embodiment of the present application) The shared memory of the physical server is the memory owned by another physical server connected to the physical server. Then, the virtual machine monitor and all virtual machines on the physical server can directly access the shared memory of the physical server. For several physical servers among the multiple physical servers, these physical servers can have a common shared memory, and the shared memory of these physical servers can be presented in the following ways: Figure 4 As shown ( Figure 4Another schematic diagram of the shared memory provided in an embodiment of the present application), the shared memory of these physical servers is the memory owned by another physical server connected to these physical servers, then, the virtual machine monitors and all virtual machines on these physical servers can directly access the shared memory of these physical servers.

[0050] Based on this, in the above-mentioned cloud service system, when two virtual machines need to communicate, that is, when the source virtual machine needs to send a message to the destination virtual machine, the source virtual machine can first store the message in a shared memory accessible to both the source virtual machine and the destination virtual machine, and then send the memory address of the message in the shared memory and the network address of the destination virtual machine to the virtual machine monitor that manages the source virtual machine. The virtual machine monitor can send the memory address of the message in the shared memory to the destination virtual machine based on the network address of the destination virtual machine, so that the destination virtual machine obtains the message from the shared memory accessible to both the source virtual machine and the destination virtual machine based on the memory address, thereby completing the communication between the source virtual machine and the destination virtual machine.

[0051] In order to further understand the communication process between the source virtual machine and the destination virtual machine, the process is further introduced below in combination with multiple embodiments. Figure 5 A flow chart of a communication method based on a cloud service system provided in an embodiment of the present application, such as Figure 5 As shown, a first embodiment of the method can be implemented by Figure 1 The cloud service system implementation shown in the figure assumes that a first virtual machine, a second virtual machine, and a first virtual machine monitor for managing the two virtual machines can be deployed on a first physical server in the cloud service system (that is, a physical server in the cloud service system), so the first virtual machine, the second virtual machine, and the first virtual machine monitor can directly access the shared memory of the first physical server. Based on this, the first embodiment of the method includes:

[0052] 501. The first virtual machine stores a message to be sent to the second virtual machine in a shared memory.

[0053] In this embodiment, when a first virtual machine (also understood as a source virtual machine) on a first physical server needs to communicate with a second virtual machine (also understood as a destination virtual machine) on the first physical server, the first virtual machine can first access the shared memory of the first physical server and store the message to be sent to the second virtual machine in the shared memory of the first physical server.

[0054] Specifically, the shared memory of the first physical server can be presented in multiple ways:

[0055] (1) The shared memory of the first physical server may be the memory owned by the first physical server itself.

[0056] (2) The shared memory of the first physical server may also be the memory owned by the third physical server in the cloud service system (that is, another physical server in the cloud service system), wherein the first physical server is in communication connection with the third physical server, that is, the third physical server is accessible to the first physical server, etc. It is understandable that no matter which of the aforementioned methods the shared memory of the first physical server is presented, the first virtual machine, the second virtual machine, and the first virtual machine monitor on the first physical server can directly access the shared memory of the first physical server.

[0057] More specifically, the first virtual machine may store the message in the shared memory in the following manner:

[0058] (1) Assume that the shared memory of the first physical server includes multiple memory areas. After the first virtual machine accesses the shared memory of the first physical server, the first virtual machine can determine a memory area that matches the message to be sent to the second virtual machine from among the multiple memory areas included in the shared memory of the first physical server. For example, the first virtual machine can first determine the size of the message and the sizes of the multiple memory areas, so the first virtual machine can select a suitable memory area from among the multiple memory areas based on this information, the size of which matches the size of the message.

[0059] (2) After determining the memory area that matches the message, the first virtual machine may store the message in the memory area and use the memory address corresponding to the memory area as the memory address of the message in the shared memory of the first physical server.

[0060] For example, Figure 6 As shown ( Figure 6 A structural diagram of a physical server provided in an embodiment of the present application) is provided, assuming that virtual machine 1, virtual machine 2 and hypervisor 1 for managing the two virtual machines are deployed on server 1, and the shared memory of server 1 is the memory owned by server 1 itself, so virtual machine 1, virtual machine 2 and hypervisor 1 can directly access the shared memory of server 1. Then, when virtual machine 1 wants to send a message to virtual machine 2, virtual machine 1 can first access the shared memory through the memory bus. Since the shared memory includes multiple memory areas such as memory area a, memory area b and memory area c, since the size of the message is 150 bytes, the size of memory area a is 200 bytes, the size of memory area b is 300 bytes, the size of memory area c is 500 bytes, etc., virtual machine 1 can determine memory area a as the memory area matching the message, store the message in memory area a, and obtain the memory address A corresponding to memory area a, and memory address A can also be understood as the memory address of the message in the shared memory.

[0061] 502. The first virtual machine sends the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor.

[0062] After storing the message in the shared memory of the first physical server and obtaining the memory address of the message in the shared memory of the first physical server, the first virtual machine can send the memory address of the message in the shared memory of the first physical server and the network address of the second virtual machine (for example, the Internet protocol (IP) address of the second virtual machine, etc.) to the first virtual machine monitor on the first physical server.

[0063] Still as in the above example, after virtual machine 1 obtains memory address A, it can send memory address A and the protocol header of the message (including the IP address of virtual machine 1 and the IP address of virtual machine 2, etc.) to hypervisor 1.

[0064] 503. After determining that the second virtual machine is located on the first physical server based on the network address, the first virtual machine monitor sends the memory address to the second virtual machine.

[0065] After obtaining the memory address of the message in the shared memory of the first physical server and the network address of the second virtual machine, the first virtual machine monitor can analyze the network address of the second virtual machine to determine that the second virtual machine is located on the first physical server. Based on this, the first virtual machine monitor can directly send the memory address of the message in the shared memory of the first physical server to the second virtual machine.

[0066] Still like the above example, after hypervisor1 obtains memory address A and the protocol header of the message, it can first parse the protocol header of the message to obtain information such as the IP address of virtual machine 2. Then, hypervisor1 can analyze the IP address of virtual machine 2 to determine that virtual machine 2 is also located on server 1. Then, hypervisor1 can directly send memory address A to virtual machine 2.

[0067] It should be understood that after the first virtual machine monitor determines that the second virtual machine is located on the first physical server, if the protocol header of the message contains relevant information of the layer 2 protocol, the first virtual machine monitor may not access the shared memory of the first physical server, that is, the message stored in the shared memory of the first physical server may not be modified. If the protocol header of the message contains relevant information of the layer 3 protocol or above, the first virtual machine monitor may access the shared memory of the first physical server and make necessary modifications to the protocol header of the message based on the memory address of the message in the shared memory of the first physical server. After that, the shared memory of the first physical server stores the modified message, so the second virtual machine can subsequently read the modified message from the shared memory of the first physical server, which will not be repeated later.

[0068] 504. The second virtual machine obtains the message from the shared memory based on the memory address.

[0069] After obtaining the memory address of the message in the shared memory of the first physical server, the second virtual machine can read the message from the shared memory of the first physical server based on the memory address of the message in the shared memory of the first physical server. At this point, the first virtual machine successfully completes communication with the second virtual machine.

[0070] Specifically, the second virtual machine can obtain the message from the shared memory in the following manner:

[0071] After obtaining the memory address of the message in the shared memory of the first physical server, the second virtual machine can determine the memory area corresponding to the memory address (that is, the memory area matching the message) among the multiple memory areas contained in the shared memory of the first physical server. Since the memory area stores the message, the second virtual machine can read the message from the memory area.

[0072] Still like the above example, after virtual machine 2 obtains memory address A, virtual machine 2 can first access the shared memory through the memory bus. Virtual machine 2 can determine the memory area a corresponding to memory address A among multiple memory areas such as memory area a, memory area b, and memory area c contained in the shared memory. Since memory area a stores the message to be sent from virtual machine 1 to virtual machine 2, virtual machine 2 can directly read the message from memory area a. At this point, virtual machine 1 has successfully completed communication with virtual machine 2.

[0073] The above is a detailed description of the first embodiment of the communication method based on the cloud service system provided in the embodiment of the present application. The second embodiment of the communication method based on the cloud service system provided in the embodiment of the present application will be introduced below. Figure 7 Another flow chart of the communication method based on the cloud service system provided in the embodiment of the present application is as follows: Figure 7As shown, the second embodiment of the method can be achieved by Figure 1 The cloud service system implementation shown in the figure assumes that a first virtual machine and a first virtual machine monitor for managing the first virtual machine can be deployed on a first physical server in the cloud service system (that is, a physical server in the cloud service system), and a second virtual machine and a second virtual machine monitor for managing the second virtual machine can be deployed on a second physical server (that is, another physical server in the cloud service system). Therefore, the first virtual machine, the second virtual machine, the first virtual machine monitor, and the second virtual machine monitor can directly access the shared memory of the first physical server and the second physical server. Based on this, the second embodiment of the method includes:

[0074] 701. The first virtual machine stores a message to be sent to the second virtual machine in a shared memory.

[0075] In this embodiment, when a first virtual machine (also understood as a source virtual machine) on a first physical server needs to communicate with a second virtual machine (also understood as a destination virtual machine) on a second physical server, the first virtual machine can first access the shared memory of the first physical server and the second physical server, and store the message to be sent to the second virtual machine in the shared memory of the first physical server and the second physical server.

[0076] Specifically, the shared memory of the first physical server and the second physical server may be presented in the following manner:

[0077] The shared memory of the first physical server and the second physical server can be the memory owned by the third physical server (that is, another physical server in the cloud service system) in the cloud service system, wherein the first physical server and the second physical server are both in communication connection with the third physical server, that is, the third physical server can be accessed by the first physical server and the second physical server, etc. It can be understood that the first virtual machine on the first physical server, the first virtual machine monitor on the first physical server, the second virtual machine on the second physical server, and the second virtual machine monitor on the second physical server can directly access the shared memory of the first physical server and the second physical server.

[0078] More specifically, the first virtual machine may store the message in the shared memory in the following manner:

[0079] (1) Assume that the shared memory of the first physical server and the second physical server includes multiple memory areas. After the first virtual machine accesses the shared memory of the first physical server and the second physical server, the first virtual machine can determine a memory area that matches the message to be sent to the second virtual machine from among the multiple memory areas included in the shared memory of the first physical server and the second physical server. For example, the first virtual machine can first determine the size of the message and the sizes of the multiple memory areas, so the first virtual machine can select a suitable memory area from among the multiple memory areas based on this information, and the size of the memory area matches the size of the message.

[0080] (2) After determining the memory area that matches the message, the first virtual machine may store the message in the memory area and use the memory address corresponding to the memory area as the memory address of the message in the shared memory of the first physical server and the second physical server.

[0081] For example, Figure 8 As shown ( Figure 8 Another structural diagram of a physical server provided in an embodiment of the present application) is provided that a virtual machine 1 and a hypervisor 1 for managing virtual machine 1 are deployed on server 1, a virtual machine 2 and a hypervisor 2 for managing virtual machine 2 are deployed on server 2, and the shared memory of server 1 and server 2 is the memory owned by server 3 itself, so virtual machine 1, virtual machine 2, hypervisor 1 and hypervisor 2 can directly access the shared memory of server 1 and server 2. Then, when virtual machine 1 wants to send a message to virtual machine 2, virtual machine 1 can first access the shared memory through a high-speed bus. Since the shared memory includes multiple memory areas such as memory area a, memory area b and memory area c, since the size of the message is 150 bytes, the size of memory area a is 200 bytes, the size of memory area b is 300 bytes, the size of memory area c is 500 bytes, etc., virtual machine 1 can determine memory area a as the memory area matching the message, store the message in memory area a, and obtain the memory address A corresponding to memory area a, and memory address A can also be understood as the memory address of the message in the shared memory.

[0082] 702. The first virtual machine sends the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor.

[0083] After storing the message in the shared memory of the first physical server and the second physical server and obtaining the memory address of the message in the shared memory of the first physical server and the second physical server, the first virtual machine can send the memory address of the message in the shared memory of the first physical server and the second physical server and the network address of the second virtual machine to the first virtual machine monitor on the first physical server.

[0084] Still as in the above example, after virtual machine 1 obtains memory address A, it can send memory address A and the protocol header of the message (including the IP address of virtual machine 1 and the IP address of virtual machine 2, etc.) to hypervisor 1.

[0085] 703. After determining that the second virtual machine is located on the second physical server based on the network address, the first virtual machine monitor sends the memory address to the second virtual machine monitor.

[0086] 704. The second virtual machine monitor sends the memory address to the second virtual machine.

[0087] After obtaining the memory address of the message in the shared memory of the first physical server and the second physical server and the network address of the second virtual machine, the first virtual machine monitor can analyze the network address of the second virtual machine to determine that the second virtual machine is located on the second physical server. Based on this, the first virtual machine monitor can send the memory address of the message in the shared memory of the first physical server and the second physical server to the second virtual machine monitor on the second physical server, so that the second virtual machine monitor sends the memory address to the second virtual machine.

[0088] Still like the above example, after hypervisor1 obtains memory address A and the protocol header of the message, it can first parse the protocol header of the message to obtain information such as the IP address of virtual machine 2. Then, hypervisor1 can analyze the IP address of virtual machine 2 to determine that virtual machine 2 is also located on server 2. Then, hypervisor1 can send memory address A to hypervisor2. Subsequently, hypervisor1 can directly send memory address A to virtual machine 2.

[0089] It should be understood that after the first virtual machine monitor determines that the second virtual machine is located on the second physical server, if the protocol header of the message contains relevant information of the layer 2 protocol, the first virtual machine monitor may not access the shared memory of the first physical server and the second physical server, that is, the message stored in the shared memory of the first physical server and the second physical server may not be modified. If the protocol header of the message contains relevant information of the layer 3 protocol or above, the first virtual machine monitor may access the shared memory of the first physical server and the second physical server, and make necessary modifications to the protocol header of the message based on the memory address of the message in the shared memory of the first physical server and the second physical server. Thereafter, the shared memory of the first physical server and the second physical server stores the modified message, so the second virtual machine can subsequently read the modified message from the shared memory of the first physical server and the second physical server, which will not be repeated later.

[0090] 705. The second virtual machine obtains the message from the shared memory based on the memory address.

[0091] After obtaining the memory address of the message in the shared memory of the first physical server and the second physical server, the second virtual machine can read the message from the shared memory of the first physical server and the second physical server based on the memory address of the message in the shared memory of the first physical server and the second physical server. At this point, the first virtual machine successfully completes communication with the second virtual machine.

[0092] Specifically, the second virtual machine can obtain the message from the shared memory in the following manner:

[0093] After obtaining the memory address of the message in the shared memory of the first physical server and the second physical server, the second virtual machine can determine the memory area corresponding to the memory address (that is, the memory area matching the message) among the multiple memory areas included in the shared memory of the first physical server and the second physical server. Since the memory area stores the message, the second virtual machine can read the message from the memory area.

[0094] Still like the above example, after virtual machine 2 obtains memory address A, virtual machine 2 can first access the shared memory through the high-speed bus. Virtual machine 2 can determine the memory area a corresponding to memory address A among multiple memory areas such as memory area a, memory area b, and memory area c contained in the shared memory. Since memory area a stores the message to be sent from virtual machine 1 to virtual machine 2, virtual machine 2 can directly read the message from memory area a. At this point, virtual machine 1 has successfully completed communication with virtual machine 2.

[0095] The cloud service system provided by the embodiment of the present application includes a first virtual machine, a first virtual machine monitor, a second virtual machine and a shared memory, and the first virtual machine, the first virtual machine monitor and the second virtual machine can access the shared memory. When the first virtual machine needs to communicate with the second virtual machine, the first virtual machine can first store the message to be sent to the second virtual machine in the shared memory. Then, the first virtual machine can send the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor used to manage the first virtual machine. Then, the first virtual machine monitor can send the memory address of the message in the shared memory to the second virtual machine based on the network address of the second virtual machine. Finally, the second virtual machine can read the message from the shared memory based on the memory address of the message in the shared memory. At this point, the first virtual machine has successfully completed communication with the second virtual machine. In the above process, two message copies are implemented by the first virtual machine and the second virtual machine respectively, that is, the first virtual machine can store the message to be sent to the second virtual machine in the shared memory in advance, and the second virtual machine can obtain the message from the shared memory by itself. During the communication process between the first virtual machine and the second virtual machine, the first virtual machine monitor mainly forwards the memory address of the message in the shared memory between the first virtual machine and the second virtual machine. Therefore, the first virtual machine monitor does not need to perform message copying, but only needs to complete address forwarding. Compared with the former, the latter requires very few memory resources and can be completed quickly. This not only saves memory resources to a certain extent, but also reduces the communication delay between the first virtual machine and the second virtual machine, so that the cloud service system can provide tenants with high-performance cloud services.

[0096] The above is a detailed description of the communication method based on the cloud service system provided in the embodiment of the present application. The cloud service system provided in the embodiment of the present application will be introduced below. Fig. 9 Another structural diagram of the cloud service system provided in the embodiment of the present application is as follows: Fig. 9 As shown, the cloud service system includes a first virtual machine 901, a first virtual machine monitor 902, a second virtual machine 903 and a shared memory 904. The first virtual machine 901, the first virtual machine monitor 902 and the second virtual machine 903 can access the shared memory 904;

[0097] The first virtual machine 901 is used to store the message to be sent to the second virtual machine 903 in the shared memory 904; for example, the first virtual machine 901 is used to implement Figure 5 Step 501 or Figure 7 Step 701 in the illustrated embodiment.

[0098] The first virtual machine 901 is also used to send the memory address of the message in the shared memory 904 and the network address of the second virtual machine 903 to the first virtual machine monitor 902; for example, the first virtual machine 901 is used to implement Figure 5 Step 502 in the illustrated embodiment or Figure 7 Step 702 in the illustrated embodiment.

[0099] The first virtual machine monitor 902 is used to send the memory address to the second virtual machine 903 based on the network address; for example, the first virtual machine monitor 902 is used to implement Figure 5 Step 503 in the illustrated embodiment or Figure 7 Step 703 in the illustrated embodiment.

[0100] The second virtual machine 903 is used to obtain the message from the shared memory 904 based on the memory address. For example, the second virtual machine 902 is used to implement Figure 5 Step 504 in the illustrated embodiment or Figure 7 Step 705 in the illustrated embodiment.

[0101] The cloud service system provided by the embodiment of the present application includes a first virtual machine, a first virtual machine monitor, a second virtual machine and a shared memory, and the first virtual machine, the first virtual machine monitor and the second virtual machine can access the shared memory. When the first virtual machine needs to communicate with the second virtual machine, the first virtual machine can first store the message to be sent to the second virtual machine in the shared memory. Then, the first virtual machine can send the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor used to manage the first virtual machine. Then, the first virtual machine monitor can send the memory address of the message in the shared memory to the second virtual machine based on the network address of the second virtual machine. Finally, the second virtual machine can read the message from the shared memory based on the memory address of the message in the shared memory. At this point, the first virtual machine has successfully completed communication with the second virtual machine. In the above process, two message copies are implemented by the first virtual machine and the second virtual machine respectively, that is, the first virtual machine can store the message to be sent to the second virtual machine in the shared memory in advance, and the second virtual machine can obtain the message from the shared memory by itself. During the communication process between the first virtual machine and the second virtual machine, the first virtual machine monitor mainly forwards the memory address of the message in the shared memory between the first virtual machine and the second virtual machine. Therefore, the first virtual machine monitor does not need to perform message copying, but only needs to complete address forwarding. Compared with the former, the latter requires very few memory resources and can be completed quickly. This not only saves memory resources to a certain extent, but also reduces the communication delay between the first virtual machine and the second virtual machine, so that the cloud service system can provide tenants with high-performance cloud services.

[0102] In one possible implementation, the cloud service system includes a first physical server, which includes a first virtual machine 901, a first virtual machine monitor 902, and a second virtual machine 903; the first virtual machine monitor 902 is used to send a memory address to the second virtual machine 903 after determining that the second virtual machine 903 is located on the first physical server based on a network address.

[0103] In one possible implementation, the cloud service system includes a first physical server and a second physical server, the first physical server includes a first virtual machine 901 and a first virtual machine monitor 902, and the second physical server includes a second virtual machine 903 and a second virtual machine 903 monitor; the first virtual machine monitor 902 is used to send the memory address to the second virtual machine monitor after determining that the second virtual machine 903 is located on the second physical server based on the network address; the second virtual machine monitor is used to send the memory address to the second virtual machine 903.

[0104] In one possible implementation, the shared memory 904 is located in the first physical server or a third physical server of the cloud service system, and the third physical server is accessible to the first physical server.

[0105] In a possible implementation, the shared memory 904 is located in a third physical server of the cloud service system, and the third physical server is accessible to the first physical server and the second physical server.

[0106] In one possible implementation, the shared memory 904 includes multiple memory areas, and the first virtual machine 901 is used to: determine a memory area that matches a message to be sent to the second virtual machine 903 among the multiple memory areas; store the message in the memory area, and use the memory address corresponding to the memory area as the memory address of the message in the shared memory 904.

[0107] In a possible implementation, the second virtual machine 903 is used to determine a memory area in the shared memory 904 based on a memory address, and obtain a message from the memory area.

[0108] It should be noted that the information interaction, implementation process, etc. between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the embodiment of the present application, and will not be repeated here.

[0109] See also Fig.10 , Fig.10 A schematic diagram of a computing device provided in an embodiment of the present application. Fig.10As shown, the computing device 1000 (which can be used to present the aforementioned first physical server or second physical server, etc.) includes: a processor 1001, a memory 1002, a communication interface 1003 and a bus 1004. The processor 1001, the memory 1002 and the communication interface 1003 are coupled via a bus (not marked in the figure). The memory 1002 stores instructions. When the execution instructions in the memory 1002 are executed, the computing device 1000 executes the method executed by the first virtual machine, the second virtual machine, the first virtual machine monitor, and the second virtual machine monitor in the above method embodiment.

[0110] The computing device 1000 may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASIC), or one or more digital signal processors (DSP), or one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms. For another example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0111] The processor 1001 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.

[0112] The memory 1002 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).

[0113] The memory 1002 stores executable program codes, and the processor 1001 executes the executable program codes to respectively implement the functions of the first virtual machine, the second virtual machine, the first virtual machine monitor, and the second virtual machine monitor, thereby implementing the above-mentioned communication method based on the cloud service system. That is, the memory 1002 stores instructions for executing the above-mentioned communication method based on the cloud service system.

[0114] The communication interface 1003 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 a communication network.

[0115] In addition to the data bus, the bus 1004 may also include a power bus, a control bus, a status signal bus, etc. The bus may be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus may be divided into an address bus, a data bus, a control bus, etc.

[0116] See also Fig.11 , Fig.11 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application. Fig.11 As shown, the computing device cluster 1100 includes at least one computing device 1000 .

[0117] like Fig.11 As shown, the computing device cluster 1100 includes at least one computing device 1000. The memory 1002 in one or more computing devices 1000 in the computing device cluster 1100 may store the same instructions for executing the above-mentioned communication method based on the cloud service system.

[0118] In some possible implementations, the memory 1002 of one or more computing devices 1000 in the computing device cluster 1100 may also respectively store some instructions for executing the above-mentioned communication method based on the cloud service system. In other words, the combination of one or more computing devices 1000 can jointly execute the above-mentioned communication method based on the cloud service system.

[0119] It should be noted that the memory 1002 in different computing devices 1000 in the computing device cluster 1100 can store different instructions, which are used to implement the functions of one or more modules of the first virtual machine, the second virtual machine, the first virtual machine monitor, the second virtual machine monitor, etc.

[0120] In some possible implementations, one or more computing devices 1000 in the computing device cluster 1100 may be connected via a network, which may be a wide area network or a local area network.

[0121] See also Fig.12 , Fig.12A schematic diagram of computer devices in a computer cluster provided in an embodiment of the present application being connected via a network. Fig.12 As shown, two computing devices 1000A and 1000B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device.

[0122] In one possible implementation, the memory in the computing device 1000A stores instructions for functions of the first virtual machine and the first virtual machine monitor, etc. At the same time, the memory in the computing device 1000B stores instructions for executing functions of the second virtual machine and the second virtual machine monitor, etc.

[0123] It should be understood that Fig.12 The computing device 1000A and the computing device 1000B shown in FIG. 1000A may be connected to another computing device ( Fig.12 (not shown), the memory of the computing device can be used as a shared memory of the computing device 1000A and the computing device 1000B to complete the communication between the computing device 1000A and the computing device 1000B.

[0124] The embodiment of the present application also relates to a computer storage medium, in which a program for signal processing is stored. When the program is run on a computer, the computer executes the following steps: Figure 5 as well as Figure 7 Steps in the illustrated embodiment.

[0125] The present application also relates to a computer program product, which stores instructions, which, when executed by a computer, enable the computer to execute the following Figure 5 as well as Figure 7 Steps in the illustrated embodiment.

[0126] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0127] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.

[0128] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0129] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0130] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk and other media that can store program code.

Claims

1. A communication method based on a cloud service system, characterized in that: The cloud service system includes a first virtual machine, a first virtual machine monitor, a second virtual machine, and a shared memory, the first virtual machine, the first virtual machine monitor, and the second virtual machine can access the shared memory, and the method includes: The first virtual machine stores the message to be sent to the second virtual machine in the shared memory; The first virtual machine sends the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor; The first virtual machine monitor sends the memory address to the second virtual machine based on the network address; The second virtual machine obtains the message from the shared memory based on the memory address.

2. The method according to claim 1, characterized in that The cloud service system includes a first physical server, the first physical server includes the first virtual machine, the first virtual machine monitor, and the second virtual machine, and the first virtual machine monitor sends the memory address to the second virtual machine based on the network address, including: After determining that the second virtual machine is located on the first physical server based on the network address, the first virtual machine monitor sends the memory address to the second virtual machine.

3. The method according to claim 1, characterized in that The cloud service system includes a first physical server and a second physical server, the first physical server includes the first virtual machine and the first virtual machine monitor, the second physical server includes the second virtual machine and the second virtual machine monitor, and the first virtual machine monitor sends the memory address to the second virtual machine based on the network address, including: After the first virtual machine monitor determines that the second virtual machine is located on the second physical server based on the network address, the first virtual machine monitor sends the memory address to the second virtual machine monitor; The second virtual machine monitor sends the memory address to the second virtual machine.

4. The method according to claim 2, characterized in that: The shared memory is located in the first physical server or a third physical server of the cloud service system, and the third physical server is accessible to the first physical server.

5. The method according to claim 3, characterized in that: The shared memory is located in a third physical server of the cloud service system, and the third physical server is accessible to the first physical server and the second physical server.

6. The method according to any one of claims 1 to 5, characterized in that: The shared memory includes a plurality of memory areas, and the first virtual machine storing the message to be sent to the second virtual machine in the shared memory includes: The first virtual machine determines, among the multiple memory areas, a memory area that matches the message to be sent to the second virtual machine; The first virtual machine stores the message in the memory area, and uses the memory address corresponding to the memory area as the memory address of the message in the shared memory.

7. The method according to claim 6, characterized in that The second virtual machine obtaining the message from the shared memory based on the memory address includes: The second virtual machine determines the memory area in the shared memory based on the memory address, and obtains the message from the memory area.

8. A cloud service system, characterized in that: The cloud service system includes a first virtual machine, a first virtual machine monitor, a second virtual machine and a shared memory, and the first virtual machine, the first virtual machine monitor and the second virtual machine can access the shared memory; The first virtual machine is used to store the message to be sent to the second virtual machine in the shared memory; The first virtual machine is further configured to send the memory address of the message in the shared memory and the network address of the second virtual machine to the first virtual machine monitor; The first virtual machine monitor is configured to send the memory address to the second virtual machine based on the network address; The second virtual machine is used to obtain the message from the shared memory based on the memory address.

9. The cloud service system according to claim 8, characterized in that: The cloud service system includes a first physical server, the first physical server includes the first virtual machine, the first virtual machine monitor and the second virtual machine; The first virtual machine monitor is configured to send the memory address to the second virtual machine after determining that the second virtual machine is located on the first physical server based on the network address.

10. The cloud service system according to claim 8, characterized in that: The cloud service system includes a first physical server and a second physical server, the first physical server includes the first virtual machine and the first virtual machine monitor, and the second physical server includes the second virtual machine and the second virtual machine monitor; the first virtual machine monitor being configured to send the memory address to the second virtual machine monitor after determining that the second virtual machine is located on the second physical server based on the network address; The second virtual machine monitor is used to send the memory address to the second virtual machine.

11. The cloud service system according to claim 9, characterized in that: The shared memory is located in the first physical server or a third physical server of the cloud service system, and the third physical server is accessible to the first physical server.

12. The cloud service system according to claim 10, characterized in that: The shared memory is located in a third physical server of the cloud service system, and the third physical server is accessible to the first physical server and the second physical server.

13. The cloud service system according to any one of claims 8 to 12, characterized in that: The shared memory includes multiple memory areas, and the first virtual machine is used to: Determine, among the multiple memory areas, a memory area that matches the message to be sent to the second virtual machine; The message is stored in the memory area, and the memory address corresponding to the memory area is used as the memory address of the message in the shared memory.

14. The cloud service system according to claim 13, characterized in that: The second virtual machine is used to determine the memory area in the shared memory based on the memory address, and obtain the message from the memory area.

15. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, each computing device including a processor and a memory: The memory is used to store instructions; The processor is configured to cause the computing device cluster to execute the method according to any one of claims 1 to 7 according to the instructions.

16. A computer storage medium, characterized in that: The computer storage medium stores one or more instructions, which, when executed by one or more computers, enable the one or more computers to implement the method of any one of claims 1 to 7.

17. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, enable the computer to implement the method according to any one of claims 1 to 7.