Cloud service providing method and system

By configuring shared memory between the first host and the second host of the cloud service system, hot backup of memory data is realized, and business performance problems caused by backup lag in the prior art are solved, and the timeliness and efficiency of memory data is improved.

WO2025055978A1PCT designated stage expired Publication Date: 2025-03-20HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/118484
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-08
Filing Date
2024-09-12
Publication Date
2025-03-20

AI Technical Summary

Technical Problem

When an existing cloud service system backs up the memory data required for the virtual instance to run, there is a lag in the periodic initiation of checkpoint events, which affects the business performance provided based on the backup data.

Method used

Hot standby of memory data is achieved by configuring shared memory between the first host and the second host. During the operation of the main virtual instance, the first host stores the memory data in shared memory. When the second host fails, the backup virtual instance is run based on the data in the shared memory.

Benefits of technology

It effectively shortens the memory access delay of memory data, improves the timeliness and efficiency of memory data hot backup, provides the ability to real-time redundant backup, and ensures the service performance provided based on backup data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024118484_20032025_PF_FP_ABST
    Figure CN2024118484_20032025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of cloud services, and discloses a cloud service providing method and a system. The method is applied to a cloud service system; and the cloud service system is configured to provide a cloud service on the basis of a virtual instance. The method comprises: a first host runs a primary virtual instance, the primary virtual instance being used for providing a cloud service for a user; a second host runs a first standby virtual instance; during running of the primary virtual instance, in a first shared memory, the first host stores memory data required for the running of the primary virtual instance; and when the first host fails, the second host runs the first standby virtual instance on the basis of the memory data obtained from the first shared memory, so that the first standby virtual instance provides a cloud service for the user. The present application improves the timeliness and efficiency of memory data hot backup, provides the real-time redundant backup capability, and ensures the performance of the service provided on the basis of backed-up memory data.
Need to check novelty before this filing date? Find Prior Art

Description

Cloud service providing method and system

[0001] This application claims priority to Chinese patent application No. 202311192062.2, filed on September 14, 2023, with invention name “Cloud Service System”, and priority to Chinese patent application No. 202410024065.3, filed on January 8, 2024, with invention name “Cloud Service Providing Method and System”, all contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of cloud service technology, and in particular to a cloud service providing method and system. Background Art

[0003] In the field of cloud services, cloud service systems typically provide cloud services to users by running virtual instances. During the operation of a virtual instance, the cloud service system typically backs up the memory data required for the virtual instance's operation. This allows the system to continue providing cloud services to users based on the backed-up memory data in the event of a hardware failure.

[0004] Currently, when backing up memory data required for running a virtual instance in a first host to a second host, a checkpoint event is usually initiated periodically to periodically send the memory data to the second host, thereby achieving the purpose of backing up the memory data.

[0005] However, backing up memory data through checkpoint events has a lag, which affects the performance of services provided based on the backed-up memory data.

[0006] Summary of the Invention

[0007] This application provides a cloud service provision method and system. This application improves the timeliness and efficiency of hot backup of in-memory data, provides real-time redundant backup capabilities, and helps ensure the performance of services provided based on backed-up in-memory data. The technical solutions provided by this application are as follows:

[0008] In a first aspect, the present application provides a method for providing cloud services. The method is applied to a cloud service system. The cloud service system is used to provide cloud services based on virtual instances. The cloud service system includes: a first host and a second host. A first shared memory is configured between the first host and the second host, and both the first host and the second host can obtain data in the first shared memory. The method includes: the first host runs a primary virtual instance, and the primary virtual instance is used to provide cloud services to users; the second host runs a first backup virtual instance; during the operation of the primary virtual instance, the first host stores memory data required for the operation of the primary virtual instance in the first shared memory; when the first host fails, the second host runs the first backup virtual instance based on the memory data obtained from the first shared memory, so that the first backup virtual instance provides cloud services to users.

[0009] This allows the primary and secondary hosts to implement hot backup of memory data through shared memory. Compared to current methods such as backing up data using checkpoint events, this approach effectively reduces memory access latency, improves the timeliness and efficiency of hot backup, and provides real-time redundant backup capabilities, helping to ensure the performance of services provided by the backed-up memory data.

[0010] In a first implementation of shared memory, multiple hosts using shared memory are all configured with physical memory, and a host used for backing up data is configured with virtual memory, and the host used for backing up data can obtain memory data stored in the physical memory of other hosts through the virtual memory. For example, the first host is configured with a first physical memory, and the second host is configured with a first virtual memory and a second physical memory, and a mapping relationship is established between the first physical memory and the first virtual memory. Then, during the operation of the main virtual instance, the first host stores the memory data required for the operation of the main virtual instance in the first shared memory, including: during the operation of the main virtual instance, the first host stores the memory data in the first physical memory. Correspondingly, after the first host stores the memory data required for the operation of the main virtual instance in the first shared memory during the operation of the main virtual instance, the method also includes: during the operation of the main virtual instance, the second host obtains the memory data stored in the first physical memory by accessing the first virtual memory, and stores the memory data in the second physical memory.

[0011] In one implementation, a communication bus supporting memory synchronization access semantics is connected between the processor of the first host and the processor of the second host. The processor of the second host can access the first physical memory and obtain memory data from the first physical memory through the communication bus.

[0012] Optionally, after the first host stores the memory data in the first physical memory, the method further includes: the first host providing the second host with a physical address of the memory data in the first physical memory. Accordingly, the second host obtains the memory data stored in the first physical memory by accessing the first virtual memory, including: the second host accessing the first virtual memory based on the physical address to obtain the memory data stored in the first physical memory.

[0013] In the second implementation of shared memory, multiple hosts jointly use the physical memory configured on the same host. After the memory data in the physical memory is updated, the multiple hosts can obtain the updated memory data from the physical memory. For example, the cloud service system also includes a third host, and the third host is configured with a third physical memory. Then, during the operation of the main virtual instance, the first host stores the memory data required for the operation of the main virtual instance in the first shared memory, including: during the operation of the main virtual instance, the first host stores the memory data in the third physical memory. Correspondingly, before the second host runs the first backup virtual instance based on the memory data obtained from the first shared memory, so that the first backup virtual instance provides cloud services to users, the method also includes: when the first host fails, the second host reads the memory data from the third physical memory.

[0014] Optionally, after the first host stores the memory data in the third physical memory, the method further includes: the first host providing the second host with a physical address of the memory data in the third physical memory. Accordingly, the second host reads the memory data from the third physical memory, including: the second host reading the memory data from the third physical memory based on the physical address.

[0015] In the second implementation of shared memory, the cloud service system can also set up a backup host for the third host. For example, the cloud service system also includes a fourth host. The fourth host is configured with a second virtual memory and a fourth physical memory, and a mapping relationship is established between the third physical memory and the second virtual memory. The method further includes: during the operation of the primary virtual instance, the fourth host obtains memory data stored in the third physical memory by accessing the second virtual memory, and stores the memory data in the fourth physical memory.

[0016] Optionally, after the first host stores the memory data in the third physical memory, the method further includes: the first host providing a physical address of the memory data in the third physical memory to a fourth host. Accordingly, the fourth host obtains the memory data stored in the third physical memory by accessing the second virtual memory, including: the fourth host accessing the second virtual memory based on the physical address to obtain the memory data stored in the third physical memory.

[0017] In one implementation, the physical address is provided via a communication bus that supports synchronous memory access semantics, and / or the physical address is provided via a network. For example, the communication bus may be a high-speed communication bus such as CXL or UB. When multiple hosts are connected via the communication bus, the hosts support synchronous memory access.

[0018] When hosts communicate via a communication bus that supports synchronous memory access semantics, because this bus supports direct connections between host processors, there's no risk of packet loss or congestion failure points introduced by traditional network devices like switches and routers, compared to network transmission methods like TCP / IP. Furthermore, because this transmission method supports synchronous memory access semantics, message access latency and bandwidth are lower when transmitted via the communication bus. When hosts use the communication bus to transmit information requiring synchronization, such as memory data, they achieve a similar effect to inter-process communication (IP), significantly reducing synchronization overhead, improving communication performance, and significantly enhancing the reliability of connections between hosts. Furthermore, because the bandwidth for information transmission is independent, there's no resource contention with tenants. Furthermore, when information is transmitted via the network and the communication bus, a dual-plane can be established between the first and second hosts, enhancing connectivity and increasing the probability of successful information transmission between the two hosts.

[0019] The cloud service system can also set up a backup host for the second host. Then the cloud service system also includes: a fifth host. A second shared memory is configured between the first host and the fifth host, and both the first host and the fifth host can obtain data in the second shared memory. The method also includes: during the operation of the main virtual instance, the first host stores the memory data required for the operation of the main virtual instance in the second shared memory; when the second host fails, the fifth host runs the second backup virtual instance in the fifth host, and when the first host fails, the second backup virtual instance is run based on the memory data obtained from the second shared memory, so that the second backup virtual instance provides cloud services to users.

[0020] In one implementation, a first host and a second host are connected via a communication bus that supports synchronous memory access semantics. When the first host fails, the second host runs the first standby virtual instance based on memory data obtained from the first shared memory, including: when the second host cannot obtain data from the first host via the communication bus, the second host runs the first standby virtual instance based on the memory data obtained from the first shared memory.

[0021] In a second aspect, the present application provides a cloud service provision system. The cloud service system is used to provide cloud services based on virtual instances. The cloud service system includes: a first host and a second host. A first shared memory is configured between the first host and the second host, and both the first host and the second host can obtain data in the first shared memory. The first host is used to run the main virtual instance, and the main virtual instance is used to provide cloud services to users; the second host is used to run the first backup virtual instance; the first host is also used to store the memory data required for the operation of the main virtual instance in the first shared memory during the operation of the main virtual instance; the second host is also used to run the first backup virtual instance based on the memory data obtained from the first shared memory when the first host fails, so that the first backup virtual instance provides cloud services to users.

[0022] Optionally, the first host is configured with a first physical memory, the second host is configured with a first virtual memory and a second physical memory, and a mapping relationship is established between the first physical memory and the first virtual memory; the first host is specifically used to store memory data in the first physical memory during the operation of the main virtual instance; the second host is also used to obtain memory data stored in the first physical memory by accessing the first virtual memory during the operation of the main virtual instance, and store the memory data in the second physical memory.

[0023] Optionally, the first host is further configured to provide the second host with a physical address of the memory data in the first physical memory; the second host is specifically configured to access the first virtual memory based on the physical address to obtain the memory data stored in the first physical memory.

[0024] Optionally, the cloud service system further includes a third host configured with a third physical memory. The first host is specifically configured to store memory data in the third physical memory during operation of the primary virtual instance; and the second host is further configured to read memory data from the third physical memory when the first host fails.

[0025] Optionally, the first host is further configured to provide the second host with a physical address of the memory data in the third physical memory; and the second host is specifically configured to read the memory data from the third physical memory based on the physical address.

[0026] Optionally, the cloud service system further includes a fourth host. The fourth host is configured with a second virtual memory and a fourth physical memory, and a mapping relationship is established between the third physical memory and the second virtual memory. The fourth host is further configured to, during operation of the primary virtual instance, obtain memory data stored in the third physical memory by accessing the second virtual memory, and store the memory data in the fourth physical memory.

[0027] Optionally, the first host is further configured to provide the fourth host with a physical address of the memory data in the third physical memory; the fourth host is specifically configured to access the second virtual memory based on the physical address to obtain the memory data stored in the third physical memory.

[0028] Optionally, the physical address is provided via a communication bus that supports synchronous memory access semantics, and / or the physical address is provided via a network.

[0029] Optionally, the cloud service system further includes a fifth host, wherein a second shared memory is configured between the first host and the fifth host, and the first host and the fifth host are both able to access data in the second shared memory. The first host is further configured to store memory data required for the operation of the primary virtual instance in the second shared memory during operation of the primary virtual instance; the fifth host is configured to run a second backup virtual instance in the fifth host if a failure of the second host occurs, and to run the second backup virtual instance based on the memory data obtained from the second shared memory if a failure of the first host occurs, so that the second backup virtual instance provides cloud services to users.

[0030] Optionally, the first host and the second host are connected via a communication bus that supports memory synchronization access semantics; the second host is specifically used to run the first standby virtual instance based on memory data obtained from the first shared memory when data cannot be obtained from the first host via the communication bus.

[0031] In a third aspect, the present application provides a computing device comprising a memory and a processor, wherein the memory stores program instructions, and the processor runs the program instructions to execute the method provided in the first aspect of the present application and any possible implementation thereof.

[0032] In a fourth aspect, the present application provides a computing device cluster, comprising multiple computing devices, wherein the multiple computing devices include multiple processors and multiple memories, wherein program instructions are stored in the multiple memories, and the multiple processors execute the program instructions, so that the computing device cluster executes the method provided in the first aspect of the present application and any possible implementation thereof.

[0033] In a fifth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device executes the method provided in the first aspect of the present application and any possible implementation thereof.

[0034] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when run on a computer, enables the computer to execute the method provided in the first aspect of the present application and any possible implementation thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] FIG1 is a schematic diagram of a structure of an implementation scenario involved in a cloud service providing method provided in an embodiment of the present application;

[0036] FIG2 is a schematic diagram of a host provided by an embodiment of the present application, wherein the functions are implemented by functional modules;

[0037] FIG3 is a schematic diagram of an implementation of a shared memory provided in an embodiment of the present application;

[0038] FIG4 is a flow chart of a cloud service providing method provided in an embodiment of the present application;

[0039] FIG5 is a flowchart of another cloud service providing method provided in an embodiment of the present application;

[0040] FIG6 is a schematic diagram of another shared memory implementation method provided in an embodiment of the present application;

[0041] FIG7 is a flowchart of another cloud service providing method provided in an embodiment of the present application;

[0042] FIG8 is a flowchart of another cloud service providing method provided in an embodiment of the present application;

[0043] FIG9 is a flowchart of another cloud service providing method provided in an embodiment of the present application;

[0044] FIG10 is a flowchart of another cloud service providing method provided in an embodiment of the present application;

[0045] FIG11 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0046] FIG12 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0047] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0048] To facilitate understanding, the technology and background involved in the embodiments of this application are explained below.

[0049] Physical machine (PM): A physical resource used to host virtualization technology. A host is also called a physical machine. Typically, a physical server is a host used to deploy virtual instances. A physical machine has multiple physical devices. For example, a physical server has physical devices such as a processor and memory. Multiple virtual instances can be deployed on a single host. Multiple virtual instances deployed on the same host share the host's physical resources. Depending on the usage scenario, multiple virtual instances deployed on a single host can belong to the same user or different users.

[0050] A resource pool is a collection of various hardware and software resources involved in a cloud computing data center. Generally, by resource type, the resources in a resource pool can be divided into computing resources, storage resources, and network resources.

[0051] Virtualization is a resource management technology. It abstracts and transforms a host's physical resources, such as computing, networking, and storage, to create a more tangible representation. This breaks down the inherent barriers between the host's physical structure and allows users to utilize these resources in a more efficient manner than their original configuration. The resources created through virtualization are called virtualized resources, and they are not restricted by the configuration, location, or physical configuration of existing physical resources.

[0052] A virtual instance runs on the host's operating system and has its own operating system. The virtual instance's operating system runs applications that implement user services. Virtual instances can use the host's hardware resources and are isolated from each other. Typically, virtual instances can be virtual machines, containers, or independent processes.

[0053] Virtual machine (VM): refers to a complete computer system with complete hardware system functions and running in a completely isolated environment, which is simulated through virtualization technology. Some instruction subsets of the virtual machine can be processed in the host machine, and other instructions can be executed in a simulated manner. A virtual machine is also called a virtual server. A virtual machine can be regarded as a collection of several virtual devices, which have complete hardware system functions and run in a completely isolated environment. Virtual devices are virtualized through virtualization technology on the basis of physical devices that can share resources. For example, a virtual processor virtualized on the basis of a processor based on virtualization technology is a virtual device. For another example, a training card virtualized on the basis of a field-programmable gate array (FPGA) based on virtualization technology is also a virtual device. By way of example, the virtual machine in this application can be a kernel-based virtual machine (KVM).

[0054] Containers provide a lightweight virtual runtime environment. Containers can be obtained by packaging all the code, libraries, and dependencies of a user's application into an image. When the image is executed, the image runs in the virtual runtime environment. At this time, the container is a runtime instance of the image, similar to a lightweight sandbox, which can be started, started, stopped, and deleted. The image does not share the host's memory, processor (such as the central processing unit (CPU)), and disk resources with other images, achieving container isolation between the image and the host, and between the image and other images, ensuring that the process within the container cannot monitor any process or resources outside the container.

[0055] Direct memory access (DMA), also known as direct memory manipulation or group data transfer, is a data exchange mode that accesses data directly from a computer's memory, bypassing the computer's central processing unit (CPU). When transferring data in DMA mode, the computer's CPU issues instructions to the DMA controller, instructing it to control data transfer. After completing the data transfer, the DMA controller sends a completion message to the CPU. DMA data transfers don't require the computer's CPU to perform transfer operations, eliminating the need for CPU operations such as instruction fetching, data fetching, and data sending. This reduces CPU resource utilization and conserves system resources.

[0056] DMA can include remote direct memory access (RDMA) and local DMA. RDMA transfers data directly from one computer's memory to another over a network, without requiring the intervention of either computer's operating system. Local DMA transfers data without requiring a network connection.

[0057] Memory is also called internal memory or main memory. Its function is to temporarily store data required for CPU calculations, as well as data that the CPU needs to exchange with external memory such as hard disk.

[0058] In the field of cloud services, cloud service systems typically provide cloud services to users by running virtual instances. During the operation of a virtual instance, the cloud service system typically backs up the memory data required for the virtual instance's operation. This allows the system to continue providing cloud services to users based on the backed-up memory data in the event of a hardware failure.

[0059] Hot standby (also known as fault tolerance) technology is a commonly used data backup technique. Hot standby technology uses various means to back up application data in real time. This allows services to continue to be provided using the backed-up application data in the event of a hardware failure, ensuring uninterrupted service and minimal or no data loss. Currently, three main approaches are used to implement hot standby. The first is fault tolerance based on hardware redundancy. This method uses proprietary hardware to back up service data in real time. However, this method is costly, making it difficult to scale. The second is application-based fault tolerance. In this method, the application identifies the data structure and status information of the service data and backs it up. This type of application-based fault tolerance offers the advantages of mature technology and good performance. However, this type of fault tolerance is tightly coupled with the application and can typically only back up critical data, failing to guarantee uninterrupted service. The third is fault tolerance based on virtualization technology. When providing services through a running virtual machine, this method backs up the full state of the virtual machine in real time at the virtualization layer, achieving hot standby. This approach is the focus of this application.

[0060] Currently, when backing up memory data required for running a virtual instance in a first host to a second host through hot standby technology, checkpoint events are usually initiated periodically to periodically send the memory data to the second host, thereby achieving the purpose of backing up the memory data.

[0061] However, because checkpoint events are initiated periodically, backing up memory data through checkpoint events can introduce a lag, impacting the performance of services based on the backed-up memory data. For example, if the host hosting a virtual machine fails, data generated between checkpoint events will be lost before the next checkpoint event is executed. Services can only continue based on the data backed up during the previous checkpoint event, impacting service performance. Furthermore, because checkpoint state synchronization requires pausing the virtual machine to back up processor, memory, and input / output (IO) data, it can also temporarily impact services. While this duration is typically less than 100 milliseconds, the impact is significant due to the periodic nature of checkpoint events. Furthermore, the first host typically uses the Transmission Control Protocol (TCP) or Internet Protocol (IP) to send this memory data to the second host. However, due to poor network stability, transmitted data is subject to packet loss and congestion. Even with retransmissions, this can cause synchronization delays.

[0062] Based on this, an embodiment of the present application provides a cloud service providing method. The method is applied to a cloud service system. The cloud service system is used to provide cloud services based on virtual instances. The cloud service system includes: a first host and a second host. A first shared memory is configured between the first host and the second host. Both the first host and the second host can obtain data in the first shared memory. The method includes: the first host runs a primary virtual instance, and the primary virtual instance is used to provide cloud services to users; the second host runs a first backup virtual instance; during the operation of the primary virtual instance, the first host stores the memory data required for the operation of the primary virtual instance in the first shared memory; when the first host fails, the second host runs the first backup virtual instance based on the memory data obtained from the first shared memory, so that the first backup virtual instance provides cloud services to users.

[0063] This allows the primary and secondary hosts to implement hot backup of memory data through shared memory. Compared to current methods such as backing up data using checkpoint events, this approach effectively reduces memory access latency, improves the timeliness and efficiency of hot backup, and provides real-time redundant backup capabilities, helping to ensure the performance of services provided by the backed-up memory data.

[0064] This article provides a detailed introduction to the technical solution of this application from multiple perspectives, including implementation scenarios, method flow, hardware devices, and software devices.

[0065] The following first illustrates the application scenarios of the embodiments of the present application.

[0066] FIG1 is a structural diagram of an implementation scenario involved in a cloud service provision method provided in an embodiment of the present application. As shown in FIG1 , the implementation scenario includes: at least two hosts 10. Each host 10 includes hardware 101, a virtualization layer 102, and a virtual instance 103. A communication connection can be established between different hosts 10. For example, a communication connection can be established between the first host 10 and the second host 10 via a communication bus and / or a network. Optionally, the network can be a local area network, the Internet, or other networks, which are not limited in the embodiment of the present application.

[0067] In one implementation, the cloud service providing method provided in the embodiment of the present application can be implemented by running an executable program on the host 10. For example, the executable program of the cloud service providing method can be presented in the form of an application installation package. After the application installation package is installed on the host 10, the cloud service providing method can be implemented by running the executable program.

[0068] Alternatively, host 10 may be a standalone server, a server cluster consisting of multiple servers, or a server in a cloud computing service center. A large number of basic resources owned by the cloud service provider are deployed in the cloud computing service center. For example, computing resources, storage resources, and network resources are deployed in the cloud computing service center. The cloud computing service center can utilize these basic resources to implement the cloud service provision method provided in the embodiments of the present application.

[0069] When the host 10 is a server in a cloud computing service center, the user can access the cloud platform through the client and instruct the cloud platform to provide cloud services to the user through the cloud platform. At this time, the host 10 can create a virtual instance 103 on the host 10 based on the instruction of the cloud platform, and provide cloud services to the user by running the virtual instance 103. In addition, the user can also optionally instruct the cloud platform to provide additional services with redundant backup functions for the cloud service. At this time, while providing cloud services to the user, the host 10 can also run the cloud service providing method provided by the embodiment of the present application to provide the user with an additional service of redundant backup of data. Among them, after the user purchases the additional service on the cloud platform, the cloud platform can use the resources of the cloud computing service center and use the cloud service providing method provided by the embodiment of the present application to provide the user with the additional service.

[0070] It should be noted that the function of backing up data can be provided as an additional service or as an independent cloud service. In addition, the cloud platform can be a cloud platform of a central cloud, a cloud platform of an edge cloud, or a cloud platform including a central cloud and an edge cloud, and the embodiments of the present application do not make specific restrictions on it. In addition, in the implementation scenario shown in Figure 1, the host 10 can also be implemented through other resource platforms besides the cloud platform, and the embodiments of the present application do not make specific restrictions on it.

[0071] In one implementation, the cloud service provision method provided by the embodiments of the present application can be implemented through the collaboration of multiple functional modules. For example, as shown in FIG2 , the host 10 also includes: a host memory management module 104, a virtual machine state management module 105, and a heartbeat management module 106. The host memory management module 104 is deeply integrated with the high-speed communication bus and is used to map the memory of other hosts to the local host in real time or in advance. The virtual machine state management module 105 is used to manage the real-time state of virtual machines that require hot standby data. Optionally, this state includes but is not limited to CPU state, GPU state, memory / video memory data, disk I / O, and network I / O. The heartbeat management module 106 is used to determine the connectivity between the primary and standby virtual machines and trigger the primary-standby switchover. For example, as shown in FIG2 , the host memory management modules 104 of different hosts 10 establish a communication connection via a communication bus, the virtual machine state management modules 105 of different hosts 10 establish a communication connection via a communication bus and / or a network, and the heartbeat management modules 106 of different hosts 10 establish a communication connection via a communication bus and / or a network. The network may adopt the TCP / IP protocol, and the communication bus may support synchronous memory access semantics. For example, the communication bus may be a high-speed communication bus such as Compute Express Link (CXL) or Lingqu Bus (also known as UB Bus).

[0072] It should be understood that the above content is an illustrative description of the implementation scenario of the cloud service provision method provided in the embodiment of the present application, and does not constitute a limitation on the implementation scenario of the cloud service provision method. Ordinary technicians in this field know that as business needs change, its implementation scenario can be adjusted according to application requirements, and the embodiments of the present application do not list them one by one.

[0073] The cloud service provision method provided in the embodiment of the present application is described below. In the embodiment of the present application, there are multiple ways to configure shared memory. The following two configuration methods are used as examples to illustrate them. The first configuration method is: multiple hosts using shared memory are configured with physical memory, and the host used to back up data is configured with virtual memory. The host used to back up data can obtain memory data stored in the physical memory of other hosts through the virtual memory. The second configuration method is: multiple hosts jointly use the physical memory configured on the same host. After the memory data in the physical memory is updated, multiple hosts can obtain the updated memory data from the physical memory.

[0074] The following first describes the cloud service provision method using the first configuration method. As shown in Figure 3, in the first configuration method, the cloud service system includes: a first host and a second host. The first host is configured with a first physical memory. The second host is configured with a first virtual memory and a second physical memory, and a mapping relationship is established between the first physical memory and the first virtual memory. This implementation method can be regarded as realizing the function of shared memory through the first physical memory, the second physical memory, the first virtual memory, and the connection between the first physical memory and the first virtual memory. As shown in Figure 4, the cloud service provision method using the first configuration method includes the following steps:

[0075] Step 401: A first host runs a primary virtual instance and configures a first physical memory for the primary virtual instance. The primary virtual instance is used to provide cloud services to users.

[0076] After the first host is started, the first host can create a primary virtual instance on the first host to provide cloud services to users through the primary virtual instance. Furthermore, the first host allocates local first physical memory to the primary virtual instance so that the primary virtual instance can run based on the first physical memory. The primary virtual instance has read and write access permissions to the first physical memory. Optionally, the virtual instance can be a virtual machine or a container.

[0077] In one implementation, after a first host creates a primary virtual instance on the first host, it may optionally send a notification to a second host, instructing the second host to create a first backup virtual instance for the primary virtual instance. This allows the second host to use the first backup virtual instance to replace the primary virtual instance in providing cloud services to users if the primary virtual instance fails. Optionally, the notification may be sent over a network. For example, the first host may send the notification to the second host using the TCP / IP protocol. And / or, the notification may be transmitted via a communication bus that supports synchronous memory access semantics. For example, the communication bus may be a high-speed communication bus such as CXL or UB. When multiple hosts are connected via this communication bus, they support synchronous memory access between the multiple hosts. For example, as shown in Figure 3, a fifth physical memory is configured in the first host, and a CXL bus is connected between the processor of the first host and the processor of the second host. After the first host creates the primary virtual instance on the first host, the processor of the first host stores the notification in the fifth physical memory, allowing the processor of the second host to retrieve the notification from the fifth physical memory via the high-speed communication bus, thereby enabling the notification to be transmitted from the first host to the second host. The fifth physical memory may optionally be initialized by the virtualization layer. In addition, the notification can also indicate the type of the primary virtual instance and the resource specifications used, so that the second host can create the first backup virtual instance based on the type and resource specifications. Furthermore, the notification can also indicate information such as the capacity of the first physical memory and the granularity of data management by the first physical memory (such as the size of the data page), so that the second host can establish a mapping relationship between the first physical memory and the first virtual memory based on this information.

[0078] When the function of the first host is implemented by the functional module, the operation of the first host allocating the local first physical memory to the primary virtual instance may be optionally performed by the host memory management module of the first host. The operation of the processor of the first host storing the notification in the fifth physical memory may be optionally performed by the virtual machine state management module of the first host.

[0079] Step 402: The second host runs the first standby virtual instance, configures the second physical memory and the first virtual memory for the first standby virtual instance, and establishes a mapping relationship between the first physical memory and the first virtual memory.

[0080] After the second host is started, the second host can create a first backup virtual instance on the second host, so that when the main virtual instance fails, the first backup virtual instance can be used to replace the main virtual instance to provide cloud services to users. In addition, the second host allocates a local second physical memory to the first backup virtual instance so that the first backup virtual instance can run based on the physical memory. The first backup virtual instance has read and write access rights to the second physical memory. Optionally, the type of the first backup virtual instance and the resource specifications used can be the same as those of the main virtual instance. For example, when the main virtual instance is a virtual machine and the main virtual instance uses 4 processor cores and 64 gigabits (GB) of memory, the first backup virtual instance is also a virtual machine, and the first backup virtual instance also uses 4 processor cores and 64GB of memory.

[0081] At the same time, in order to facilitate the second host to back up the memory data required for the operation of the main virtual instance, the second host also needs to configure the first virtual memory for the first standby virtual instance and establish a mapping relationship between the first virtual memory and the first physical memory. The access right of the first standby virtual instance to the first virtual memory is readable permission. In one implementation, the mapping relationship can be regarded as a correspondence between the virtual address of the first virtual memory and the physical address in the first physical memory. From the perspective of the second host, when the second host accesses a virtual address of the first virtual memory, the processor of the second host can map the virtual address to the physical address in the first physical memory according to the mapping relationship, so as to achieve the purpose of accessing the first physical memory through the first virtual memory. In one implementation, a communication bus that supports memory synchronization access semantics is connected between the processor of the first host and the processor of the second host, and the communication bus provides physical support for accessing the first physical memory through the first virtual memory.

[0082] In one implementation, the operation of creating a first backup virtual instance on the second host may optionally be triggered based on a notification from the first host. For example, after receiving a notification from the first host instructing the creation of the first backup virtual instance, the second host creates the first backup virtual instance on the second host. Optionally, the notification may be sent over a network. For example, the first host may send the notification to the second host using the TCP / IP protocol. And / or, the notification may be transmitted via a communication bus that supports synchronous memory access semantics. For example, the first host may be configured with a fifth physical memory, and a CXL bus may be connected between the processor of the first host and the processor of the second host. After the processor of the first host stores the notification in the fifth physical memory, the processor of the second host may retrieve the notification from the fifth physical memory via the CXL bus and create the first backup virtual instance based on the notification. The type of the primary virtual instance and the resource specifications to be used may optionally be provided by the first host to the second host via the notification. Similarly, the operation of configuring the first virtual memory and establishing a mapping relationship between the first virtual memory and the first physical memory on the second host may also optionally be triggered based on a notification from the first host. For example, after the second host receives the notification from the first host instructing the creation of the first backup virtual instance, it configures the first virtual memory and establishes the mapping relationship based on the notification. For another example, when the notification from the first host carries information such as the capacity of the first physical memory and the granularity at which the first physical memory manages data (such as the size of a data page), the second host configures the capacity of the second physical memory and the first virtual memory based on the capacity, and configures the first virtual memory based on the information such as the capacity and granularity, and establishes a mapping relationship between the first physical memory and the first virtual memory.

[0083] When the function of the second host is implemented by a functional module, the operations of allocating the second physical memory and the first virtual memory to the first standby virtual instance and establishing a mapping relationship between the second physical memory and the first virtual memory may be optionally performed by the host memory management module of the second host. The operations of the processor of the second host obtaining the notification from the fifth physical memory via the high-speed communication bus may be optionally performed by the virtual machine state management module of the second host.

[0084] It should be noted that, as shown in Figure 3, the second host may be optionally configured with a sixth physical memory, and the sixth physical memory may be optionally initialized by the virtualization layer. When the second host needs to send a notification to the first host, the processor of the second host may store the notification in the sixth physical memory, so that the processor of the first host can obtain the notification from the sixth physical memory via a high-speed communication bus. When the functions of the first host and the functions of the second host are implemented through functional modules, the operation of the processor of the first host obtaining the notification from the sixth physical memory via a high-speed communication bus may be optionally performed by the virtual machine state management module of the first host, and the operation of the processor of the second host storing the notification in the sixth physical memory may be optionally performed by the virtual machine state management module of the second host.

[0085] When notifications are transmitted via a communication bus that supports synchronous memory access semantics, because this communication bus supports direct connections between host processors, there is no risk of packet loss or congestion failure points introduced by traditional network devices such as switches and routers, compared to transmission methods such as TCP / IP. Furthermore, because this transmission method supports synchronous memory access semantics, message transmission via the communication bus has lower memory access latency and higher bandwidth. When hosts use the communication bus to transmit information such as memory data that requires synchronization, it can achieve an effect similar to inter-process communication, significantly reducing synchronization overhead, significantly improving communication performance, and significantly enhancing the reliability of connections between hosts. Furthermore, because the bandwidth for transmitting notifications is independent, there is no resource competition with tenants. Furthermore, when notifications are transmitted via the network and the communication bus, a dual-plane can be established between the first and second hosts using these two methods, strengthening connectivity between the first and second hosts and increasing the probability of successful notification transmission between the two hosts.

[0086] Step 403: During the operation of the primary virtual instance, the first host stores memory data required for the operation of the primary virtual instance in the first physical memory.

[0087] The first physical memory is the memory required for the operation of the primary virtual instance. All data required for the operation of the primary virtual instance is stored in this first physical memory. In an embodiment of the present application, since the second host needs to back up the memory data required for the operation of the primary virtual instance, as shown in Figure 5, after the first host stores the memory data in the first physical memory, the cloud service provision method further includes: step 406, the first host provides the second host with the physical address of the memory data in the first physical memory, so that the second host can obtain the memory data based on the physical address. For example, during the operation of the primary virtual machine, memory data is managed in memory pages. For example, each memory page records 2 megabytes (MB), 4 kilobytes (KB), or other capacity (such as 64 bytes) of data. Each time the first host stores memory data in a memory page in the first physical memory, it provides the second host with the physical address of the memory page. Optionally, the physical address is provided via a communication bus that supports memory synchronization access semantics, and / or the physical address is provided via a network. The method for providing the physical address can refer to the implementation method of the first host transmitting notifications to the second host in steps 401 and 402, and will not be repeated here.

[0088] When the function of the first host is implemented by the functional module, the operation of the first host providing the physical address to the second host may be optionally performed by the virtual machine state management module of the first host.

[0089] Step 404: During the operation of the primary virtual instance, the second host obtains the memory data stored in the first physical memory by accessing the first virtual memory, and stores the memory data in the second physical memory.

[0090] Since a mapping relationship is established between the first physical memory and the first virtual memory, the second host can obtain the memory data stored in the first physical memory by accessing the first virtual memory based on the mapping relationship. In one implementation, a communication bus that supports memory synchronization access semantics is connected between the processor of the first host and the processor of the second host. The processor of the second host can access the first physical memory through the communication bus and obtain memory data from the first physical memory. After the second host obtains the memory data required for the operation of the main virtual instance, it needs to store the memory data in the second physical memory for subsequent use. Since a mapping relationship is established between the first physical memory and the first virtual memory, from the perspective of the second host, when the second host accesses a virtual address in the first virtual memory, the processor of the second host can map the virtual address to a physical address in the first physical memory according to the mapping relationship, and read data from the physical address, thereby obtaining the memory data.

[0091] When the first host provides the second host with the physical address of the memory data in the first physical memory, as shown in FIG5 , the implementation process of step 404 includes: step 4041, the second host accesses the first virtual memory based on the physical address provided by the first host, obtains the memory data stored in the first physical memory, and stores the memory data in the second physical memory. In one implementation, after obtaining the physical address of the memory data in the first physical memory, the second host may optionally access the first virtual memory based on the physical address, and store the data obtained by accessing the first virtual memory in the second physical memory through hardware DMA capabilities or direct memory copy, so as to achieve the purpose of backing up the memory data in real time in the second host.

[0092] When the function of the second host is implemented by the function module, the operation of the second host obtaining the memory data stored in the first physical memory by accessing the first virtual memory may be optionally performed by the virtual machine state management module of the second host.

[0093] Step 405: When the first host fails, the second host runs the first standby virtual instance based on the memory data in the second physical memory, so that the first standby virtual instance provides cloud services to users.

[0094] When the second host fails, the second host can run the first backup virtual instance based on the memory data required to run the primary virtual instance backed up by the second host, so as to use the first backup virtual instance instead of the primary virtual instance to provide cloud services to users. Since the first host and the second host are connected via a communication bus, when the second host cannot obtain data from the first host via the communication bus, the second host determines that the first host has failed. When the first host and the second host are connected via both a communication bus and a network, if the second host cannot obtain data from the first host via one of the communication bus and the network, it may optionally continue to obtain data from the first host via the other of the communication bus and the network. If the second host is also unable to obtain data from the first host via the other, the second host determines that the first host has failed.

[0095] When the functions of the second host are implemented by the functional modules, the operation of the second host determining that the first host has failed may optionally be performed by the heartbeat management module of the second host. For example, the heartbeat management module of the second host can periodically interact with the first host, such as by transmitting data via a communication bus and / or a network, and when the heartbeat management module is unable to interact with the first host, it determines that the first host has failed.

[0096] The following describes a method for providing cloud services using the second configuration method. As shown in FIG6 , in the second configuration method, the cloud service system includes: a first host 10, a second host 10, and a third host 10. The third host 10 is configured with a third physical memory. The first host 10 and the second host 10 are both able to obtain data stored in the third physical memory. This implementation method can be regarded as realizing the function of shared memory by sharing the third physical memory through the first host 10 and the second host 10. As shown in FIG7 , the method for providing cloud services using the second configuration method includes the following steps:

[0097] Step 701: A first host runs a primary virtual instance, and a third physical memory in a third host is configured for the primary virtual instance. The primary virtual instance is used to provide cloud services to users.

[0098] After the first host is started, the first host can create a master virtual instance on the first host so as to provide cloud services to users through the master virtual instance. In addition, the first host allocates a third physical memory located on the third host to the master virtual instance so that the master virtual instance can run based on the third physical memory. The master virtual instance has read and write access rights to the third physical memory. In order to ensure the read and write speed of data, a communication bus that supports memory synchronization access semantics is connected between the first host and the third host, and the master virtual instance performs read and write operations on the third physical memory through the communication bus. The third host can be any host that can provide memory. For example, the third host is a memory node, or the third host is a host in the memory resource pool. Optionally, the virtual instance can be a virtual machine or a container, etc.

[0099] In one implementation, after a first host creates a primary virtual instance on the first host, it may optionally send a notification to a second host, instructing the second host to create a first backup virtual instance for the primary virtual instance. This allows the second host to use the first backup virtual instance to replace the primary virtual instance in providing cloud services to users if the primary virtual instance fails. Optionally, the notification may be sent over a network. For example, the first host may send the notification to the second host using the TCP / IP protocol. And / or, the notification may be transmitted via a communication bus that supports synchronous memory access semantics. For example, the communication bus may be a high-speed communication bus such as CXL or UB. When multiple hosts are connected via this communication bus, they support synchronous memory access between them. For example, as shown in Figure 6, a fifth physical memory is configured in the first host, and a CXL bus is connected between the processor of the first host and the processor of the second host. After the first host creates the primary virtual instance on the first host, the processor of the first host stores the notification in the fifth physical memory, allowing the processor of the second host to retrieve the notification from the fifth physical memory via the CXL bus, thereby enabling the notification to be transmitted from the first host to the second host. The fifth physical memory may optionally be initialized by the virtualization layer. In addition, the notification can also indicate the type of the primary virtual instance and the resource specifications used, so that the second host can create the first backup virtual instance based on the type and resource specifications.

[0100] When the functions of the first and third hosts are implemented by functional modules, the operation of the first host allocating the third physical memory to the primary virtual instance may be optionally implemented by the interaction between the host memory management module of the first host and the host memory management module of the third host. The operation of the processor of the first host storing the notification in the fifth physical memory may be optionally performed by the virtual machine state management module of the first host.

[0101] Step 702: The second host runs the first standby virtual instance and configures a third physical memory in the third host for the first standby virtual instance.

[0102] After the second host is started, the second host can create a first backup virtual instance on the second host so that when the main virtual instance fails, the first backup virtual instance can be used to replace the main virtual instance to provide cloud services to users. In addition, the second host allocates a third physical memory located on the third host to the first backup virtual instance so that the first backup virtual instance can run based on the third physical memory. The first backup virtual instance has read and write access rights to the third physical memory. In order to ensure the read and write speed of data, a communication bus that supports memory synchronization access semantics is connected between the second host and the third host, and the first backup virtual instance performs read and write operations on the third physical memory through the communication bus. Optionally, the type and resource specifications used by the first backup virtual instance can be the same as those of the main virtual instance. For example, when the main virtual instance is a virtual machine and the main virtual instance uses 4 processor cores and 64 gigabits (GB) of memory, the first backup virtual instance is also a virtual machine and the first backup virtual instance also uses 4 processor cores and 64GB of memory.

[0103] In one implementation, the operation of the second host creating the first standby virtual instance on the second host may be optionally triggered based on a notification from the first host. For example, after the second host receives a notification from the first host instructing the creation of the first standby virtual instance, the first standby virtual instance is created in the second host. Optionally, the notification may be sent via a network. For example, the first host uses the TCP / IP protocol to send the notification to the second host. And / or, the notification is transmitted via a communication bus that supports memory synchronization access semantics. For example, a fifth physical memory is configured in the first host, and a high-speed communication bus is connected between the processor of the first host and the processor of the second host. After the processor of the first host stores the notification in the fifth physical memory, the processor of the second host can obtain the notification from the fifth physical memory via the high-speed communication bus and create the first standby virtual instance based on the notification. The type of the primary virtual instance and the resource specifications used may be optionally provided by the first host to the second host through the notification.

[0104] When the function of the second host is implemented by a functional module, the operation of the second host allocating the third physical memory to the first standby virtual instance may be optionally performed by the host memory management module of the second host. The operation of the processor of the second host obtaining the notification from the fifth physical memory via the high-speed communication bus may be optionally performed by the virtual machine state management module of the second host.

[0105] It should be noted that the second host may be optionally configured with a sixth physical memory, and the sixth physical memory may be optionally initialized by the virtualization layer. When the second host needs to send a notification to other hosts (such as the first host), the processor of the second host may store the notification in the sixth physical memory, so that the processor of the other host can obtain the notification from the sixth physical memory through a high-speed communication bus. When the functions of the first host and the functions of the second host are implemented through functional modules, the operation of the processor of the first host obtaining the notification from the sixth physical memory through the high-speed communication bus may be optionally performed by the virtual machine state management module of the first host, and the operation of the processor of the second host storing the notification in the sixth physical memory may be optionally performed by the virtual machine state management module of the second host.

[0106] When notifications are transmitted via a communication bus that supports synchronous memory access semantics, since this bus supports direct connections between host processors, there is no risk of packet loss or congestion failure points introduced by traditional network devices such as switches and routers, compared to transmission via networks like TCP / IP. Furthermore, since this transmission method supports synchronous memory access semantics, message transmission via the communication bus has lower memory access latency and higher bandwidth. When hosts use the communication bus to transmit information such as memory data that requires synchronization, it can achieve an effect similar to inter-process communication, significantly reducing synchronization overhead, significantly improving communication performance, and significantly enhancing the reliability of connections between hosts. Furthermore, since the bandwidth for transmitting notifications is independent, resource contention with tenants is eliminated. Furthermore, when notifications are transmitted via the network and the communication bus, a dual-plane can be established between the first and second hosts, enhancing connectivity between the first and second hosts and increasing the probability of successful notification transmission between the two hosts.

[0107] Step 703: During the operation of the primary virtual instance, the first host stores memory data required for the operation of the primary virtual instance in the third physical memory.

[0108] The third physical memory is physical memory located on a third host that is allocated by the first host to the primary virtual instance. During the operation of the primary virtual instance, all memory data required for the operation of the primary virtual instance is stored in the third physical memory. In an embodiment of the present application, since the second host needs to back up the memory data required for the operation of the primary virtual instance, as shown in Figure 8, after the first host stores the memory data in the third physical memory, the cloud service provision method further includes: step 705, the first host provides the second host with the physical address of the memory data in the third physical memory, so that the second host can obtain the memory data based on the physical address. For example, during the operation of the primary virtual machine, memory data is managed in memory pages. For example, each memory page records 2 megabytes (MB), 4 kilobytes (KB), or other capacity (such as 64 bytes) of data. Each time the first host stores memory data in a memory page in the third physical memory, it provides the second host with the physical address of the memory page. Optionally, the physical address is provided via a communication bus that supports memory synchronization access semantics, and / or the physical address is provided via a network. The method for providing the physical address may refer to the implementation method of the first host sending a notification to the second host in step 401 and step 402, and will not be repeated here.

[0109] When the function of the first host is implemented by the functional module, the operation of the first host providing the physical address to the second host may be optionally performed by the virtual machine state management module of the first host.

[0110] Step 704: When the first host fails, the second host reads memory data from the third physical memory and runs the first standby virtual instance based on the memory data, so that the first standby virtual instance provides cloud services to users.

[0111] Because the third physical memory is allocated for the first backup virtual instance, when the first host fails, the second host can obtain memory data from the third physical memory and run the first backup virtual instance based on the memory data, thereby using the first backup virtual instance to replace the primary virtual instance to provide cloud services to users. When the first host provides the second host with the physical address of the memory data in the third physical memory, as shown in Figure 8, the implementation process of step 704 includes the following: Step 7041: When the first host fails, the second host accesses the third physical memory based on the physical address provided by the first host, obtains the memory data stored in the third physical memory, and runs the first backup virtual instance based on the memory data, so that the first backup virtual instance provides cloud services to users.

[0112] As can be seen above, in the second shared memory configuration, since the first and second hosts share the third physical memory, if the first host fails, the second host can seamlessly access the third physical memory, enabling more flexible active / standby failover and faster startup of the first standby virtual instance. Furthermore, since the second host can directly access the memory data in the third physical memory, eliminating the need for backing up memory data, the amount of data required for hot standby can be significantly reduced.

[0113] Since the first host and the second host are connected via a communication bus, if the second host cannot obtain data from the first host via the communication bus, the second host determines that the first host has failed. If the first host and the second host are connected via both a communication bus and a network, if the second host cannot obtain data from the first host via either the communication bus or the network, it may continue to obtain data from the first host via the other of the communication bus and the network. If the second host also cannot obtain data from the first host via the other, the second host determines that the first host has failed.

[0114] When the functions of the second host are implemented by the functional modules, the operation of the second host determining that the first host has failed may optionally be performed by the heartbeat management module of the second host. For example, the heartbeat management module of the second host can periodically interact with the first host, such as by transmitting data via a communication bus and / or a network, and when the heartbeat management module is unable to interact with the first host, it determines that the first host has failed.

[0115] Optionally, in order to provide stable active-standby redundancy for the main virtual instance, a backup host can also be created for the third host to back up the memory data in the third physical memory. Similarly, in this cloud service provision method, hosts used for different roles will have backup hosts, so that when any subsequent host fails, the backup host can be used to implement the function of the host. For example, the physical memory of the backup host of the third host is used as a shared memory for the first host and the second host when the third host fails, thereby ensuring active-standby redundancy for the virtual instance used to implement the user cloud service. As an implementation method, the cloud service system also includes: a fourth host. The fourth host is configured with a second virtual memory and a fourth physical memory, and a mapping relationship is established between the third physical memory and the second virtual memory. As shown in Figure 9, the method also includes:

[0116] Step 706: The fourth host configures a fourth physical memory and a second virtual memory in the fourth host, and establishes a mapping relationship between the third physical memory and the second virtual memory.

[0117] The implementation process of step 706 may refer to the implementation process of step 402, which will not be described again here.

[0118] Step 707: During the operation of the primary virtual instance, the fourth host obtains the memory data stored in the third physical memory by accessing the second virtual memory, and stores the memory data in the fourth physical memory.

[0119] For the implementation process of step 707, please refer to the implementation process of step 404, which will not be described in detail here. In addition, after the first host stores the memory data in the third physical memory, it can also provide the physical address of the memory data in the third physical memory to the fourth host. Accordingly, the second host accesses the second virtual memory based on the physical address provided by the first host to obtain the memory data stored in the third physical memory. The physical address can also be provided via a communication bus that supports memory synchronization access semantics, and / or provided via a network. For the implementation process, please refer to the relevant descriptions in steps 703 and 704, which will not be described in detail here.

[0120] Furthermore, in order to provide stable active-standby redundancy for the main virtual instance, after the first host or the second host fails, the host that has not failed between the first host and the second host can send a notification to the other host to instruct the other host to create a standby virtual instance and back up the memory data required to run the standby virtual instance to the other host, so that when both the first host and the second host fail, the standby virtual instance can be used to replace the main virtual instance and the first standby virtual instance to provide cloud services to users. By analogy, in this cloud service provision method, when a host fails, a standby virtual instance will be pulled up on another host to ensure that at the same time there are at least two hosts that have virtual instances for implementing the same business, ensuring active-standby redundancy for the virtual instances used to implement user cloud services. As an implementation method, the cloud service system also includes: a fifth host. A second shared memory is configured between the first host and the fifth host. Both the first host and the fifth host can obtain data in the second shared memory. Taking the first configuration method of the shared memory as an example, as shown in Figure 10, the cloud service provision method provided by the embodiment of the present application also includes:

[0121] Step 407: During the operation of the primary virtual instance, the first host stores memory data required for the operation of the primary virtual instance in the second shared memory.

[0122] For the implementation process of step 407, please refer to the relevant description in step 403, which will not be repeated here.

[0123] Step 408: When the second host fails, the fifth host runs the second standby virtual instance in the fifth host. When both the first host and the second host fail, the second standby virtual instance is run based on the memory data obtained from the second shared memory, so that the second standby virtual instance provides cloud services to users.

[0124] When the first host determines that the second host has failed, it sends a notification to the fifth host, instructing the fifth host to create a second backup virtual instance for the primary virtual instance. In response to the notification, the fifth host creates and runs the second backup virtual instance in the fifth host. The fifth host also needs to obtain memory data from the second shared memory so that when the second host and the first host fail, the second backup virtual instance can be run based on the memory data to provide cloud services to users using the second backup virtual instance instead of the primary virtual instance. For the relevant implementation methods involved in this process, please refer to the relevant description when the first backup virtual instance in the second host serves as the backup virtual instance of the primary virtual instance in the first host, and no further details will be given here.

[0125] It should be noted that, in addition to backing up memory data, a host can also back up other data required to run a virtual instance, so that a backup virtual instance can be run based on this other data and memory data. For example, a second host can back up data indicating processor status and I / O data, so that in the event of a failure of the first host, the first backup virtual instance can be run based on the memory data, processor status data, and I / O data. The processor status data can include data indicating various processors in the host, such as data indicating CPU status and GPU status. The I / O data can include various types of I / O data, such as disk I / O data and network I / O data. In one implementation, this other data can also be shared between hosts via shared memory. For the implementation process, please refer to the above-mentioned implementation of sharing memory data via shared memory. However, after a host obtains this other data from another host, it does not store it in memory, but instead updates it to the virtualization layer. In another implementation, this other data can also be shared via other methods. For example, the second host receives this other data sent by the first host via the network. Furthermore, when the first host shares this other data with the second host over the network, the first and second hosts can periodically share this other data through checkpoints. Because the amount of this other data is relatively small, even when using checkpoints, the impact on service performance when providing services based on this shared other data is negligible. When the functions of the first and second hosts are implemented through functional modules, this other data can be synchronized from the virtual machine state management module in the first host to the virtual machine state management module in the second host.

[0126] In summary, in the cloud service providing method provided by the embodiment of the present application, the first host runs the main virtual instance, and the main virtual instance is used to provide cloud services to users; the second host runs the first backup virtual instance; during the operation of the main virtual instance, the first host stores the memory data required for the operation of the main virtual instance in the first shared memory; when the first host fails, the second host runs the first backup virtual instance based on the memory data obtained from the first shared memory, so that the first backup virtual instance provides cloud services to users. In this way, hot backup of memory data can be achieved between the first host and the second host through shared memory. Compared with the current methods such as using checkpoint events to back up data, this method effectively shortens the memory access latency of memory data, improves the timeliness and efficiency of hot backup of memory data, provides the capability of real-time redundant backup, and helps to ensure the performance of services provided based on backup memory data.

[0127] It should be noted that the order of the steps in the cloud service provision method provided in the embodiments of the present application can be adjusted appropriately, and the number of steps can be increased or decreased accordingly. Any method that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application, and therefore will not be described in detail.

[0128] The following describes the virtual device in the embodiment of the present application by way of example.

[0129] The above introduces the cloud service providing method of the embodiment of the present application. Corresponding to the above method, the embodiment of the present application also provides a cloud service providing system. Please refer to Figure 1, Figure 2, Figure 3 or Figure 6 for the structural diagram of the cloud service providing system. Based on the multiple components shown in Figure 1, Figure 2, Figure 3 or Figure 6, the cloud service providing system can perform all or part of the operations shown in Figure 4, Figure 5, Figure 7 or Figure 8 above. It should be understood that the system may include more additional components than the components shown or omit some of the components shown therein, and the embodiment of the present application does not limit this. Optionally, the cloud service providing system can be configured on a cloud platform. The cloud service system is used to provide cloud services based on virtual instances.

[0130] As shown in Figures 1, 2, 3, or 6, the cloud service system includes: a first host and a second host. A first shared memory is configured between the first host and the second host, and both the first host and the second host can obtain data in the first shared memory. The first host is used to run a primary virtual instance, which is used to provide cloud services to users; the second host is used to run a first backup virtual instance; the first host is also used to store memory data required for the operation of the primary virtual instance in the first shared memory during the operation of the primary virtual instance; the second host is also used to run the first backup virtual instance based on the memory data obtained from the first shared memory when the first host fails, so that the first backup virtual instance can provide cloud services to users.

[0131] Optionally, the first host is configured with a first physical memory, the second host is configured with a first virtual memory and a second physical memory, and a mapping relationship is established between the first physical memory and the first virtual memory; the first host is specifically used to store memory data in the first physical memory during the operation of the main virtual instance; the second host is also used to obtain memory data stored in the first physical memory by accessing the first virtual memory during the operation of the main virtual instance, and store the memory data in the second physical memory.

[0132] Optionally, the first host is further configured to provide the second host with a physical address of the memory data in the first physical memory; the second host is specifically configured to access the first virtual memory based on the physical address to obtain the memory data stored in the first physical memory.

[0133] Optionally, the cloud service system further includes a third host configured with a third physical memory. The first host is specifically configured to store memory data in the third physical memory during operation of the primary virtual instance; and the second host is further configured to read memory data from the third physical memory when the first host fails.

[0134] Optionally, the first host is further configured to provide the second host with a physical address of the memory data in the third physical memory; and the second host is specifically configured to read the memory data from the third physical memory based on the physical address.

[0135] Optionally, the cloud service system further includes a fourth host. The fourth host is configured with a second virtual memory and a fourth physical memory, and a mapping relationship is established between the third physical memory and the second virtual memory. The fourth host is further configured to, during operation of the primary virtual instance, obtain memory data stored in the third physical memory by accessing the second virtual memory, and store the memory data in the fourth physical memory.

[0136] Optionally, the first host is further configured to provide the fourth host with a physical address of the memory data in the third physical memory; the fourth host is specifically configured to access the second virtual memory based on the physical address to obtain the memory data stored in the third physical memory.

[0137] Optionally, the physical address is provided via a communication bus that supports synchronous memory access semantics, and / or the physical address is provided via a network.

[0138] Optionally, the cloud service system further includes a fifth host, wherein a second shared memory is configured between the first host and the fifth host, and the first host and the fifth host are both able to access data in the second shared memory. The first host is further configured to store memory data required for the operation of the primary virtual instance in the second shared memory during operation of the primary virtual instance; the fifth host is configured to run a second backup virtual instance in the fifth host if a failure of the second host occurs, and to run the second backup virtual instance based on the memory data obtained from the second shared memory if a failure of the first host occurs, so that the second backup virtual instance provides cloud services to users.

[0139] Optionally, the first host and the second host are connected via a communication bus that supports memory synchronization access semantics; the second host is specifically used to run the first standby virtual instance based on memory data obtained from the first shared memory when data cannot be obtained from the first host via the communication bus.

[0140] Here, please refer to the description of the previous method embodiment for the detailed working process of each host in the cloud service provision system. For example, the first host implements its functions according to steps 401 and 403 in the method embodiment, and the second host implements its functions according to steps 402, 404, and 405 in the method embodiment. This embodiment of the application will not be repeated here.

[0141] In summary, in the cloud service providing system provided by the embodiment of the present application, the first host runs the main virtual instance, and the main virtual instance is used to provide cloud services to users; the second host runs the first backup virtual instance; during the operation of the main virtual instance, the first host stores the memory data required for the operation of the main virtual instance in the first shared memory; when the first host fails, the second host runs the first backup virtual instance based on the memory data obtained from the first shared memory, so that the first backup virtual instance provides cloud services to users. In this way, hot backup of memory data can be achieved between the first host and the second host through shared memory. Compared with the current methods such as using checkpoint events to back up data, this method effectively shortens the memory access latency of memory data, improves the timeliness and efficiency of hot backup of memory data, provides the capability of real-time redundant backup, and helps to ensure the performance of services provided based on backup memory data.

[0142] The functions of each host in the cloud service provision system can be implemented through software or hardware.

[0143] As an example of a software functional unit, each host in a cloud service provision system may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Furthermore, the computing instance may be one or more. For example, each host in a cloud service provision system may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple geographically close data centers. Typically, a region may include multiple AZs.

[0144] Similarly, multiple hosts / virtual machines / containers running the code can be distributed within the same virtual private cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Cross-region communication between two VPCs within the same region, or between VPCs in different regions, requires a communication gateway within each VPC to interconnect the VPCs.

[0145] As an example of a hardware functional unit, each host in the cloud service provision system may include at least one computing device, such as a server. Alternatively, each host in the cloud service provision system may be implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0146] The multiple computing devices included in each host in a cloud service provisioning system can be distributed in the same region or in different regions. The multiple computing devices included in each host in a cloud service provisioning system can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in each host in a cloud service provisioning system can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, GALs, and other computing devices.

[0147] It should be noted that in other embodiments, any of the multiple hosts in the cloud service provision system can be used to execute any step in the cloud service provision method. The steps that each host in the cloud service provision system is responsible for can be specified as needed. By having each host in the cloud service provision system separately execute different steps in the cloud service provision method, the full functionality of the cloud service provision device can be realized.

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

[0149] The following is an example of the basic hardware structure involved in the embodiments of the present application.

[0150] An embodiment of the present application provides a computing device. The computing device is used to implement some or all of the functions of the cloud service provision method provided in the embodiment of the present application. Figure 11 is a schematic diagram of the structure of a computing device provided in the embodiment of the present application. As shown in Figure 11, the computing device 1100 includes a processor 1101, a memory 1102, a communication interface 1103, and a bus 1104. The processor 1101, the memory 1102, and the communication interface 1103 are connected to each other via the bus 1104.

[0151] The processor 1101 may include a general-purpose processor and / or a dedicated hardware chip. A general-purpose processor may include: a central processing unit (CPU), a microprocessor or a graphics processing unit (GPU). The CPU is, for example, a single-core processor (single-CPU) or a multi-core processor (multi-CPU). A dedicated hardware chip is a hardware module for high-performance processing. The dedicated hardware chip includes at least one of a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or a network processor (NP). The processor 1101 may also be an integrated circuit chip with signal processing capabilities. During implementation, some or all of the functions of the cloud service provision method of the present application may be completed by the hardware integrated logic circuit in the processor 1101 or instructions in software form.

[0152] Memory 1102 is used to store computer programs, including an operating system 1102a and executable code (i.e., program instructions) 1102b. Memory 1102 may be, for example, a read-only memory or other type of static storage device capable of storing static information and instructions, or a random access memory or other type of dynamic storage device capable of storing information and instructions, or an electrically erasable programmable read-only memory, a read-only optical disc or other optical disc storage, an optical disc storage (including a compact disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium, or other magnetic storage device, or any other medium capable of carrying or storing desired executable code in the form of instructions or data structures and accessible by a computer, but not limited to these. For example, memory 1102 is used to store an outbound port queue, etc. Memory 1102 may be independent and connected to processor 1101 via bus 1104. Alternatively, memory 1102 and processor 1101 may be integrated. Memory 1102 can store executable code. When the executable code stored in memory 1102 is executed by processor 1101, processor 1101 is used to perform some or all of the functions of the cloud service provision method provided in the embodiments of this application. For the implementation of the process executed by processor 1101, please refer to the relevant description in the aforementioned embodiments. Memory 1102 may also include software modules and data required for other running processes, such as an operating system.

[0153] The communication interface 1103 uses a transceiver module, such as, but not limited to, a transceiver, to communicate with other devices or communication networks. For example, the communication interface 1103 can be any one or a combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, or other device with network access capabilities.

[0154] Bus 1104 is any type of communication bus used to interconnect the internal components of a computing device (e.g., memory 1102, processor 1101, and communication interface 1103). For example, a system bus is provided. The embodiments of this application illustrate the interconnection of the aforementioned components within a computing device via bus 1104. Alternatively, the aforementioned components within computing device 1100 may be communicatively connected to each other using other connection methods besides bus 1104. For example, the aforementioned components within computing device 1100 may be interconnected via an internal logical interface.

[0155] It should be noted that the above-mentioned multiple devices can be respectively arranged on independent chips, or at least partially or completely arranged on the same chip. Whether each device is independently arranged on different chips or integrated on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation form of the above-mentioned devices. The descriptions of the processes corresponding to the above-mentioned figures have different focuses. For parts that are not described in detail in a certain process, please refer to the relevant descriptions of other processes.

[0156] In the above embodiments, all or part of the embodiments may be implemented using software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product providing a program development platform includes one or more computer instructions that, when loaded and executed on a computing device, fully or partially implement the functions of the cloud service provision method provided in the embodiments of the present application.

[0157] Furthermore, computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium stores computer program instructions that provide a program development platform.

[0158] Embodiments of the present application also provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device can 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 can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0159] Optionally, the structure of at least one computing device included in the computing device cluster may refer to the computing device 1100 shown in Figure 11. The memory 1102 in one or more computing devices 1100 in the computing device cluster may store the same instructions for executing the cloud service providing method.

[0160] In some possible implementations, the memory 1102 of one or more computing devices 1100 in the computing device cluster may also store some instructions for executing the cloud service provision method. In other words, the combination of one or more computing devices 1100 can jointly execute the instructions for executing the cloud service provision method.

[0161] It should be noted that the memory 1102 in different computing devices 1100 in the computing device cluster can store different instructions, each for executing part of the functions of the cloud service provider. In other words, the instructions stored in the memory 1102 in different computing devices 1100 can implement the functions of different hosts.

[0162] In some possible implementations, one or more computing devices in a computing device cluster may be connected via a network. The network may be a wide area network (WAN) or a local area network (LAN), etc. FIG12 shows a possible implementation. As shown in FIG12 , two computing devices 1200A and 1200B are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, computing devices 1200A and 1200B include a bus 1202, a processor 1204, a memory 1206, and a communication interface 1208. The memory 1206 in computing device 1200A stores instructions for executing the functions of a first host. At the same time, the memory 1206 in computing device 1200B stores instructions for executing the functions of a second host.

[0163] It should be understood that the functions of computing device 1200A shown in FIG12 may also be performed by multiple computing devices 1200. Similarly, the functions of computing device 1200B may also be performed by multiple computing devices 1200. Furthermore, the deployment method of the modules used to implement the cloud service provision method in the computing devices may also be adjusted according to application requirements.

[0164] An embodiment of the present application also provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium. The computer-readable storage medium includes program instructions. When the program instructions are executed on a computing device, the computing device implements the cloud service providing method provided in the embodiment of the present application.

[0165] The embodiment of the present application also provides a computer program product containing instructions. When the computer program product is run on a computer, it enables the computer to implement the cloud service providing method provided by the embodiment of the present application.

[0166] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.

[0167] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, storage, display, etc.), and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the raw data and executable code involved in this application were obtained with full authorization.

[0168] In the embodiments of the present application, the terms "first," "second," and "third" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "plurality" refers to two or more, unless otherwise expressly limited.

[0169] In this application, the term "and / or" simply describes an association between related objects, indicating that three possible relationships exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this document generally indicates that the related objects are in an "or" relationship.

[0170] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the concepts and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A cloud service providing method, characterized in that: The method is applied to a cloud service system, the cloud service system is used to provide cloud services based on virtual instances, the cloud service system includes: a first host and a second host, a first shared memory is configured between the first host and the second host, the first host and the second host can both obtain data in the first shared memory, the method includes: The first host runs a primary virtual instance, and the primary virtual instance is used to provide cloud services to users; The second host runs the first standby virtual instance; During the operation of the primary virtual instance, the first host stores memory data required for the operation of the primary virtual instance in the first shared memory; When the first host fails, the second host runs the first standby virtual instance based on the memory data obtained from the first shared memory, so that the first standby virtual instance provides cloud services to the user.

2. The method according to claim 1, characterized in that The first host is configured with a first physical memory, the second host is configured with a first virtual memory and a second physical memory, and a mapping relationship is established between the first physical memory and the first virtual memory; The first host stores memory data required for the operation of the primary virtual instance in the first shared memory during the operation of the primary virtual instance, including: The first host stores the memory data in the first physical memory during the operation of the primary virtual instance; During the operation of the primary virtual instance, after the first host stores memory data required for the operation of the primary virtual instance in the first shared memory, the method further includes: During the operation of the primary virtual instance, the second host obtains the memory data stored in the first physical memory by accessing the first virtual memory, and stores the memory data in the second physical memory.

3. The method according to claim 2, characterized in that After the first host stores the memory data in the first physical memory, the method further includes: The first host provides the second host with a physical address of the memory data in the first physical memory; The second host obtains the memory data stored in the first physical memory by accessing the first virtual memory, including: The second host accesses the first virtual memory based on the physical address to obtain the memory data stored in the first physical memory.

4. The method according to claim 1, characterized in that The cloud service system further includes a third host, wherein the third host is configured with a third physical memory; The first host stores memory data required for the operation of the primary virtual instance in the first shared memory during the operation of the primary virtual instance, including: The first host stores the memory data in the third physical memory during the operation of the primary virtual instance; Before the second host runs the first standby virtual instance based on the memory data obtained from the first shared memory so that the first standby virtual instance provides cloud services to the user, the method further includes: When the first host fails, the second host reads the memory data from the third physical memory.

5. The method according to claim 4, characterized in that After the first host stores the memory data in the third physical memory, the method further includes: The first host provides the second host with a physical address of the memory data in the third physical memory; The second host reads the memory data from the third physical memory, including: The second host reads the memory data from the third physical memory based on the physical address.

6. The method according to claim 4 or 5, characterized in that The cloud service system further includes: a fourth host, the fourth host is configured with a second virtual memory and a fourth physical memory, a mapping relationship is established between the third physical memory and the second virtual memory, and the method further includes: The fourth host obtains the third physical memory by accessing the second virtual memory during the operation of the primary virtual instance. The memory data stored in the fourth physical memory.

7. The method according to claim 6, characterized in that After the first host stores the memory data in the third physical memory, the method further includes: The first host provides the fourth host with a physical address of the memory data in the third physical memory; The fourth host obtains the memory data stored in the third physical memory by accessing the second virtual memory, including: The fourth host accesses the second virtual memory based on the physical address to obtain the memory data stored in the third physical memory.

8. The method according to claim 3, 5 or 7, characterized in that The physical address is provided via a communication bus supporting memory synchronization access semantics, and / or the physical address is provided via a network.

9. The method according to any one of claims 1 to 8, characterized in that: The cloud service system further includes: a fifth host, a second shared memory is configured between the first host and the fifth host, and the first host and the fifth host can both obtain data in the second shared memory, and the method further includes: During the operation of the primary virtual instance, the first host stores memory data required for the operation of the primary virtual instance in the second shared memory; When the second host fails, the fifth host runs the second standby virtual instance in the fifth host, and when the first host fails, the second standby virtual instance is run based on the memory data obtained from the second shared memory, so that the second standby virtual instance provides cloud services to the user.

10. The method according to any one of claims 1 to 9, characterized in that: The first host and the second host are connected via a communication bus supporting memory synchronization access semantics, and when the first host fails, the second host runs the first standby virtual instance based on the memory data obtained from the first shared memory, including: When the second host cannot obtain data from the first host through the communication bus, the second host runs the first standby virtual instance based on the memory data obtained from the first shared memory.

11. A cloud service providing system, characterized in that: The cloud service system is used to provide cloud services based on virtual instances. The cloud service system includes: a first host and a second host. A first shared memory is configured between the first host and the second host. The first host and the second host can both obtain data in the first shared memory. The first host is used to run a primary virtual instance, and the primary virtual instance is used to provide cloud services to users; The second host is used to run the first standby virtual instance; The first host is further used for storing memory data required for the operation of the primary virtual instance in the first shared memory during the operation of the primary virtual instance; The second host is also used to run the first standby virtual instance based on the memory data obtained from the first shared memory when the first host fails, so that the first standby virtual instance provides cloud services to the user.

12. The system according to claim 11, characterized in that The first host is configured with a first physical memory, the second host is configured with a first virtual memory and a second physical memory, and a mapping relationship is established between the first physical memory and the first virtual memory; The first host is specifically configured to store the memory data in the first physical memory during the operation of the primary virtual instance; The second host is also used to obtain the memory data stored in the first physical memory by accessing the first virtual memory during the operation of the primary virtual instance, and store the memory data in the second physical memory.

13. The system of claim 12, wherein: The first host is further used to provide the second host with a physical address of the memory data in the first physical memory; The second host is specifically used to access the first virtual memory based on the physical address to obtain the memory data stored in the first physical memory.

14. The system according to claim 11, characterized in that The cloud service system further includes a third host, wherein the third host is configured with a third physical memory; The first host is specifically configured to store the memory data in the third physical memory during the operation of the primary virtual instance; The second host is also used to read the memory data from the third physical memory when the first host fails.

15. The system of claim 14, wherein: The first host is further used to provide the second host with a physical address of the memory data in the third physical memory; The second host is specifically configured to read the memory data from the third physical memory based on the physical address.

16. The system according to claim 14 or 15, characterized in that The cloud service system further includes: a fourth host, the fourth host is configured with a second virtual memory and a fourth physical memory, and a mapping relationship is established between the third physical memory and the second virtual memory; The fourth host is further used to obtain the memory data stored in the third physical memory by accessing the second virtual memory during the operation of the primary virtual instance, and store the memory data in the fourth physical memory.

17. The system of claim 16, wherein: The first host is further used to provide the fourth host with a physical address of the memory data in the third physical memory; The fourth host is specifically used to access the second virtual memory based on the physical address to obtain the memory data stored in the third physical memory.

18. The system of claim 13, 15 or 17, wherein: The physical address is provided via a communication bus supporting memory synchronization access semantics, and / or the physical address is provided via a network.

19. The system according to any one of claims 11 to 18, characterized in that: The cloud service system further includes: a fifth host, a second shared memory is configured between the first host and the fifth host, and the first host and the fifth host can both obtain data in the second shared memory; The first host is further used for storing memory data required for the operation of the primary virtual instance in the second shared memory during the operation of the primary virtual instance; The fifth host is used to run the second standby virtual instance in the fifth host when the second host fails, and to run the second standby virtual instance based on the memory data obtained from the second shared memory when the first host fails, so that the second standby virtual instance provides cloud services to the user.

20. The system according to any one of claims 11 to 19, characterized in that: The first host and the second host are connected via a communication bus supporting memory synchronization access semantics; The second host is specifically configured to run the first standby virtual instance based on the memory data obtained from the first shared memory when the second host cannot obtain data from the first host through the communication bus.

21. A computing device cluster, characterized in that: The method comprises a plurality of computing devices, wherein the plurality of computing devices comprises a plurality of processors and a plurality of memories, wherein program instructions are stored in the plurality of memories, and the plurality of processors execute the program instructions, so that the computing device cluster executes any one of the methods described in claims 1 to 10.

22. A computer-readable storage medium, characterized in that: The method comprises program instructions, and when the program instructions are executed on a computing device, the computing device is caused to execute the method according to any one of claims 1 to 10.

23. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Cloud service providing method and system

    CN119621229A

  • Continuous on-line transferring data backup method of virtual machine and device thereof

    CN101609419A

  • Virtual machine quick recovery method and device

    CN106708603A

  • Guarantee method and system for high availability of virtual instance of electric power system

    CN107547273A

  • Memory sharing method and device, electronic equipment and storage medium

    CN111813584A