Cloud service providing method and system
By configuring shared memory between the first host and the second host of the cloud service system, real-time redundant backup of memory data is achieved, and the backup lag problem in the prior art is solved and business performance is improved.
Patent Information
- Application Number
- CN202410024065.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-09-14
- Filing Date
- 2024-01-08
- Publication Date
- 2025-03-14
AI Technical Summary
Existing cloud service systems back up memory data through periodic checkpoint events, resulting in backup lag and affecting business performance.
Real-time redundant backup 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 memory data in shared memory, and when the first host fails, the second host runs the backup virtual instance based on the data in the shared memory.
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.
Smart Images

Figure CN119621229A_ABST
Abstract
Description
[0001] This application claims priority to Chinese patent application No. 202311192062.2, filed on September 14, 2023, with invention name “Cloud Service System”, the entire 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 service technology, cloud service systems usually provide cloud services to users by running virtual instances. During the operation of virtual instances, cloud service systems usually back up the memory data required for the operation of virtual instances, so that when the hardware that the virtual instances rely on fails, cloud services can continue to be provided to users based on the backed-up memory data.
[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, there is a lag in backing up memory data through checkpoint events, which affects the performance of services provided based on the backed-up memory data. Summary of the invention
[0006] The present application provides a cloud service provision method and system. The present application 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 the backup memory data. The technical solutions provided by the present application are as follows:
[0007] 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 main virtual instance, and the main virtual instance is used to provide cloud services to users; the second host runs a first standby virtual instance; during the operation of the main virtual instance, the first host stores 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 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 users.
[0008] In this way, the first host and the second host can achieve hot backup of memory data through shared memory. Compared with the current checkpoint event data backup method, this method effectively shortens the memory access latency of memory data, improves the timeliness and efficiency of hot backup of memory data, provides real-time redundant backup capabilities, and helps to ensure the performance of services provided by the backup memory data.
[0009] 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.
[0010] 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.
[0011] Optionally, 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. Accordingly, 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.
[0012] In the second implementation of shared memory, multiple hosts jointly use a physical memory configured on the same host, and after memory data in the physical memory is updated, 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 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 users, the method also includes: when the first host fails, the second host reads the memory data from the third physical memory.
[0013] Optionally, 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. Accordingly, 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.
[0014] In the second implementation of shared memory, the cloud service system can also set 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 also includes: during the operation of the main 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.
[0015] Optionally, after the first host stores the memory data in the third physical memory, the method further includes: the first host provides the physical address of the memory data in the third physical memory to the 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 accesses the second virtual memory based on the physical address to obtain the memory data stored in the third physical memory.
[0016] In one implementation, 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. For example, the communication bus can be a high-speed communication bus such as CXL or UB. When multiple hosts are connected via the communication bus, the multiple hosts support mutual synchronous access to memory.
[0017] When hosts transmit information through a communication bus that supports memory synchronization access semantics, since the communication bus supports direct connection between processors between hosts, compared with the transmission method through TCP / IP and other networks, there is no possibility of packet loss or congestion failure points introduced by traditional network devices such as switches and routers. In addition, since this transmission method supports memory synchronization access semantics, the memory access latency and bandwidth of messages transmitted through the communication bus are lower. When hosts use the communication bus to transmit information such as memory data that needs to be synchronized, it can achieve an effect similar to inter-process communication, which greatly reduces the synchronization overhead, greatly improves the performance of communication, and greatly improves the connection reliability between hosts. At the same time, since the bandwidth for transmitting information is independent, it will not compete with tenants for resources. In addition, when information is transmitted through the network and the communication bus, the first host and the second host can establish a dual plane with the help of these two methods, which can strengthen the connectivity between the first host and the second host and increase the probability of successful transmission of information between the two hosts.
[0018] The cloud service system can also set 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.
[0019] In one implementation, the first host and the second host are connected via a communication bus supporting memory synchronization 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 through the communication bus, the second host runs the first standby virtual instance based on the memory data obtained from the first shared memory.
[0020] 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. Among them, 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 standby 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 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 users.
[0021] 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.
[0022] Optionally, 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.
[0023] Optionally, the cloud service system further includes a third host, which is configured with a third physical memory. The first host is specifically used to store memory data in the third physical memory during the operation of the primary virtual instance; the second host is also used to read memory data from the third physical memory when the first host fails.
[0024] Optionally, 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 used to read the memory data from the third physical memory based on the physical address.
[0025] 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 also used to obtain memory data stored in the third physical memory by accessing the second virtual memory during the operation of the main virtual instance, and store the memory data in the fourth physical memory.
[0026] Optionally, the first host is further used to provide the physical address of the memory data in the third physical memory to the fourth host; 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.
[0027] 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.
[0028] Optionally, 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 also used to store memory data required for the operation of the main virtual instance in the second shared memory during the operation of the main 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 users.
[0029] 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.
[0030] In a third aspect, the present application provides a computing device including 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.
[0031] In a fourth aspect, the present application provides a computing device cluster, including multiple computing devices, the multiple computing devices including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors running 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.
[0032] In a fifth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium, and 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.
[0033] In a sixth aspect, the present application provides a computer program product comprising instructions, which, when executed 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
[0034] Figure 1 It is a structural diagram of an implementation scenario involved in a cloud service providing method provided in an embodiment of the present application;
[0035] Figure 2 It is a schematic diagram of a host function provided by an embodiment of the present application being implemented through a functional module;
[0036] Figure 3 It is a schematic diagram of a shared memory implementation method provided in an embodiment of the present application;
[0037] Figure 4 It is a flow chart of a cloud service providing method provided by an embodiment of the present application;
[0038] Figure 5 is a flow chart of another cloud service providing method provided in an embodiment of the present application;
[0039] Figure 6 is a schematic diagram of another shared memory implementation method provided in an embodiment of the present application;
[0040] Figure 7 is a flow chart of another cloud service providing method provided in an embodiment of the present application;
[0041] Figure 8 It is a flow chart of another cloud service providing method provided in an embodiment of the present application;
[0042] Fig. 9 is a flow chart of another cloud service providing method provided in an embodiment of the present application;
[0043] Fig.10 It is a flow chart of another cloud service providing method provided in an embodiment of the present application;
[0044] Fig.11 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0045] Fig.12 It is a structural diagram of a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0046] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below in conjunction with the accompanying drawings.
[0047] To facilitate understanding, the technology and background involved in the embodiments of the present application are first explained below.
[0048] Host (physical machine, PM): A physical resource used to carry virtualization technology. A host is also called a physical machine. Usually, a host used to deploy a virtual instance is a physical server. A physical machine has multiple physical devices. For example, a physical server has physical devices such as a processor and a memory. Multiple virtual instances can be deployed in a host, and multiple virtual instances deployed on the same host share the physical resources of the host. According to different usage scenarios, multiple virtual instances deployed in a host can belong to the same user or to different users.
[0049] A resource pool is a collection of various hardware and software resources involved in a cloud computing data center. Generally, by resource type, resources in a resource pool can be divided into computing resources, storage resources, and network resources.
[0050] Virtualization is a resource management technology. Virtualization can abstract and transform various physical resources of the host, such as computing resources, network resources and storage resources, to break the inseparable barriers between the physical structures of the host, so that users can use these resources in a better way than the original configuration. The resources obtained through virtualization are called virtualized resources, which are not restricted by the construction method, setting region or physical configuration of existing physical resources.
[0051] The virtual instance runs on the host's operating system, and the virtual instance itself is set up with an operating system. The virtual instance's operating system runs an application, which is used to implement the user's business. The virtual instance can use the host's hardware resources, and different virtual instances are isolated from each other. Generally, the virtual instance can be a virtual machine, a container, or an independent process.
[0052] Virtual machine (VM): refers to a complete computer system with complete hardware system functions and running in a completely isolated environment, which is simulated by 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).
[0053] The container provides a lightweight virtual operating environment. The container can be obtained by packaging all the code, libraries, and dependencies of the user's application into an image. When the image is executed, the image runs in the virtual operating 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 will not share the host's memory, processor (such as the central processing unit (CPU)) and disk resources with other images, realizing container isolation between the image and the host, and between the image and other images, ensuring that the process in the container cannot monitor any process or resources outside the container.
[0054] Direct memory access (DMA): It can also be called direct memory operation or group data transmission mode. It is a data interaction mode that directly accesses data from the computer's memory without passing through the computer's central processing unit (CPU). When transmitting data in DMA mode, the computer's CPU issues instructions to the DMA controller to instruct the DMA controller to control the data transmission. After completing the data transmission, the DMA controller feeds back the information that the transmission is completed to the CPU. It can be seen that in the process of DMA data transmission, the computer's CPU does not need to perform the transmission operation, which can save the computer's CPU from fetching instructions, fetching data, sending data and other operations, reducing the resource occupancy of the computer's CPU and saving system resources.
[0055] DMA can include remote direct memory access (RDMA) and local DMA. RDMA refers to a data transmission method that directly transfers data from the memory of one computer to another computer through a network without the intervention of the operating systems of both parties. Local DMA refers to a data transmission method that does not require a network.
[0056] 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.
[0057] In the field of cloud service technology, cloud service systems usually provide cloud services to users by running virtual instances. During the operation of virtual instances, cloud service systems usually back up the memory data required for the operation of virtual instances, so that when the hardware that the virtual instances rely on fails, cloud services can continue to be provided to users based on the backed-up memory data.
[0058] Hot standby (also known as fault tolerance) technology is a relatively common technology for backing up data. Hot standby technology can back up application data in real time through various means, so that in the event of a hardware failure, the backed-up application data can be used to continue to provide services, thereby ensuring that services are not interrupted and data is zero or less lost. There are currently three main methods for implementing hot standby. The first is a fault-tolerant method based on hardware redundancy. This method backs up business data in real time through proprietary hardware. However, the cost of this method is high, which makes it difficult to promote this method. The second is an application-based fault-tolerant method. In this method, the application identifies the data structure and status information of the business data and backs up these data. This type of application-based fault-tolerant method has the advantages of mature technology and good performance. However, this type of fault-tolerant method is closely coupled with the application, and can usually only back up key data, and cannot guarantee uninterrupted services. The third is a fault-tolerant method based on virtualization technology. When providing services through the running virtual machine, the method backs up the full state of the virtual machine in real time at the virtualization layer to achieve the purpose of hot standby. This direction is the focus of discussion in this application.
[0059] Currently, when the memory data required for running a virtual instance in a first host is backed up to a second host through hot standby technology, 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.
[0060] However, since the checkpoint event is initiated periodically, there is a lag in backing up memory data through the checkpoint event, which affects the performance of providing services based on the backed-up memory data. For example, when the host where the virtual machine is located fails, if the execution time of the next checkpoint event has not yet arrived, the data generated between the two checkpoint events will be lost. At this time, the service can only be provided according to the data backed up by the previous checkpoint event, which will affect the performance of the service. In addition, since the virtual machine needs to be suspended during the checkpoint state synchronization to back up the processor, memory, and input and output (IO) data, it will also have a short-term impact on the service. Although the duration is usually less than 100 milliseconds, due to the periodic execution of the checkpoint event, the impact cannot be ignored. In addition, the first host usually uses the transmission control protocol (TCP) or the Internet protocol (IP) to send the memory data to the second host. However, due to the poor stability of the network, there is a possibility of packet loss and congestion in the transmitted data. Even if retransmission is performed, it will cause the problem of synchronization real-time delay.
[0061] Based on this, an embodiment of 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. Both the first host and the second host can obtain data in the first shared memory. The method includes: the first host runs a main virtual instance, and the main virtual instance is used to provide cloud services to users; the second host runs a first standby virtual instance; during the operation of the main virtual instance, the first host stores 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 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 users.
[0062] In this way, the first host and the second host can achieve hot backup of memory data through shared memory. Compared with the current checkpoint event data backup method, this method effectively shortens the memory access latency of memory data, improves the timeliness and efficiency of hot backup of memory data, provides real-time redundant backup capabilities, and helps to ensure the performance of services provided by the backup memory data.
[0063] This article provides a detailed introduction to the technical solution of the present application from multiple perspectives, including implementation scenarios, method flow, hardware devices, and software devices.
[0064] The following first describes the application scenarios of the embodiments of the present application with examples.
[0065] Figure 1 Schematic diagram of a cloud service provision method according to an embodiment of the present application. Figure 1 As shown, the implementation scenario includes: at least two hosts 10. Each host 10 includes hardware 101, a virtualization layer 102 and a virtual instance 103. Communication connections 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 is not limited in the embodiments of the present application.
[0066] 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, and after the application installation package is installed in the host 10, the cloud service providing method can be implemented by running the executable program.
[0067] Optionally, the host 10 can be an independent server, or a server cluster composed of several servers or a server in a cloud computing service center. Among them, 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 use this large number of basic resources to implement the cloud service provision method provided in the embodiment of the present application.
[0068] 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 an additional service with a redundant backup function 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 in 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 in the embodiment of the present application to provide the user with the additional service.
[0069] It should be noted that the data backup function can be provided as an additional service or as an independent cloud service. In addition, the cloud platform can be a central cloud platform, an edge cloud platform, or a cloud platform including a central cloud and an edge cloud, which is not specifically limited in the embodiments of the present application. Figure 1 In the implementation scenario shown, 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 any specific limitations on it.
[0070] In one implementation, the cloud service providing method provided in the embodiment of the present application can be implemented through the cooperation of multiple functional modules. Figure 2 As shown, 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 in real time or in advance. The virtual machine state management module 105 is used to manage the real-time state of the virtual machine that requires hot standby data. Optionally, the state includes but is not limited to the CPU state, GPU state, memory / video memory data, disk I / O and network I / O, etc. The heartbeat management module 106 is used to determine the connectivity between the primary and standby virtual machines and trigger the primary and standby switching. For example, as Figure 2 As shown, the host memory management modules 104 of different hosts 10 establish communication connections through a communication bus, the virtual machine state management modules 105 of different hosts 10 establish communication connections through a communication bus and / or a network, and the heartbeat management modules 106 of different hosts 10 establish communication connections through a communication bus and / or a network. Among them, the network can be selected to adopt the TCP / IP protocol, and the communication bus can be selected to support the memory synchronization access semantics. For example, the communication bus can be selected to be a high-speed communication bus such as a compute express link (CXL) or a Lingqu bus (also known as a UB bus).
[0071] 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 can 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.
[0072] The cloud service providing method provided by the embodiment of the present application is described below. In the embodiment of the present application, there are multiple ways to configure the 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.
[0073] The following will first explain the cloud service provision method using the first configuration method. Figure 3 As shown, in the first configuration mode, 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 mode 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.
[0074] like Figure 4 As shown, the cloud service provision method using the first configuration mode 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, where 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 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 local first physical memory to the master virtual instance, so that the master virtual instance runs based on the first physical memory. The master virtual instance has read and write permissions to the first physical memory. Optionally, the virtual instance can be a virtual machine or a container.
[0077] In one implementation, after the first host creates a primary virtual instance on the first host, it may optionally send a notification to the second host, instructing the second host to create a first backup virtual instance for the primary virtual instance, so that when the primary virtual instance fails, the first backup virtual instance can be used to replace the primary virtual instance to provide cloud services to users. Optionally, the notification can be sent over 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. By way of example, the communication bus can be a high-speed communication bus such as CXL or UB. When multiple hosts are connected via the communication bus, the multiple hosts support mutual synchronous access to memory. For example, Figure 3 As shown, the first host is configured with a fifth physical memory, 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 main virtual instance on the first host, the processor of the first host stores the notification in the fifth physical memory, so that the processor of the second host can obtain the notification from the fifth physical memory through the high-speed communication bus, thereby realizing the transmission of the notification from the first host to the second host. Among them, the fifth physical memory can be optionally initialized by the virtualization layer. In addition, the notification can also indicate the type of the main virtual instance and the resource specifications used, so that the second host can create a 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 the 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 the information.
[0078] When the function of the first host is implemented by the function module, the operation of the first host allocating the local first physical memory to the main virtual instance can 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 can 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 standby virtual instance on the second host, so that when the main virtual instance fails, the first standby 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 standby virtual instance so that the first standby virtual instance runs based on the physical memory. The first standby virtual instance has read and write access rights to the second physical memory. Optionally, the type of the first standby 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 standby virtual instance is also a virtual machine, and the first standby 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 first standby virtual instance has a read permission for accessing the first virtual memory. 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 supporting 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 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 indicating 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, the first host is configured with a fifth physical memory, and a CXL 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 through the CXL 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. Similarly, the operation of the second host configuring the first virtual memory and establishing a mapping relationship between the first virtual memory and the first physical memory may also be optionally triggered based on a notification from the first host. For example, after the second host receives the notification from the first host instructing to create the first standby 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 of the first physical memory for managing 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 capacity and granularity information and establishes a mapping relationship between the first physical memory and the first virtual memory.
[0083] Wherein, when the function of the second host is implemented by the function module, the operation of the second host allocating the second physical memory and the first virtual memory to the first standby virtual instance and establishing the mapping relationship 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 through the high-speed communication bus may be optionally performed by the virtual machine state management module of the second host.
[0084] It needs to be said that if Figure 3 As shown, 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 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 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] Among them, when the notification is transmitted through a communication bus that supports memory synchronization access semantics, since the communication bus supports direct connection between processors between hosts, compared with the transmission method through TCP / IP and other networks, there is no possibility of packet loss or congestion failure points introduced by traditional network devices such as switches and routers. In addition, since this transmission method supports memory synchronization access semantics, the memory access latency and bandwidth of messages transmitted through the communication bus are lower. When the hosts use the communication bus to transmit information such as memory data that needs to be synchronized, an effect similar to inter-process communication can be achieved, which greatly reduces the synchronization overhead, greatly improves the performance of communication, and greatly improves the connection reliability between hosts. At the same time, since the bandwidth for transmitting notifications is independent, it will not compete with tenants for resources. In addition, when the notification is transmitted through the network and the communication bus, the first host and the second host can establish a dual plane with the help of these two methods, which can strengthen the connectivity between the first host and the second host and increase the probability of successful transmission of the notification 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 main virtual instance. All data required for the operation of the main virtual instance will be stored in the first physical memory. In the embodiment of the present application, since the second host needs to back up the memory data required for the operation of the main virtual instance, such as Figure 5 As shown, after the first host stores the memory data in the first physical memory, the cloud service providing method also 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 main virtual machine, the 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 (Byte)) of data. Each time the first host stores memory data in a memory page in the first physical memory, it provides the physical address of the memory page to the second host. 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 of providing the physical address can refer to the implementation method of the first host transmitting notification to the second host in steps 401 and 402, which will not be repeated here.
[0088] When the function of the first host is implemented by the function 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 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 supporting memory synchronization access semantics is connected between the processor of the first host and the processor of the second host. Through the communication bus, the processor of the second host can access the first physical memory 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 physical address of the memory data in the first physical memory to the second host, such as Figure 5 As shown, 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 can 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 the hardware DMA capability or direct memory copy, so as to achieve the purpose of backing up the memory data in the second host in real time.
[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 in the first host, the second host can run the first backup virtual instance based on the memory data required for running the main virtual instance backed up by the second host, so as to use the first backup virtual instance instead of the main virtual instance to provide cloud services to users. Among them, since the first host and the second host are connected through a communication bus, when the second host cannot obtain data from the first host through the communication bus, the second host determines that the first host has failed. When the first host and the second host are connected through both a communication bus and a network, when the second host cannot obtain data from the first host through one of the communication bus and the network, it can optionally continue to obtain data from the first host through the other of the communication bus and the network. If the second host is also unable to obtain data from the first host through the other, the second host determines that the first host has failed.
[0095] When the function of the second host is implemented by the functional module, the operation of the second host determining that the first host has failed can be optionally 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 transmitting data through a communication bus and / or a network, and when the heartbeat management module cannot interact with the first host, it determines that the first host has failed.
[0096] The following describes the cloud service provision method using the second configuration method. Figure 6 As shown, in the second configuration, 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 can both obtain data stored in the third physical memory. This implementation can be regarded as realizing the function of shared memory by sharing the third physical memory by the first host 10 and the second host 10. Figure 7 As shown, the cloud service provision method using the second configuration mode includes the following steps:
[0097] Step 701: The 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 main virtual instance on the first host so as to provide cloud services to users through the main virtual instance. In addition, the first host allocates a third physical memory located on the third host to the main virtual instance so that the main virtual instance runs based on the third physical memory. The access rights of the main virtual instance to the third physical memory are read and write rights. In order to ensure the read and write speed of data, a communication bus supporting memory synchronization access semantics is connected between the first host and the third host, and the main 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 a memory resource pool. Optionally, the virtual instance can be a virtual machine or a container, etc.
[0099] In one implementation, after the first host creates a primary virtual instance on the first host, it may optionally send a notification to the second host, instructing the second host to create a first backup virtual instance for the primary virtual instance, so that when the primary virtual instance fails, the first backup virtual instance can be used to replace the primary virtual instance to provide cloud services to users. Optionally, the notification can be sent over 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. By way of example, the communication bus can be a high-speed communication bus such as CXL or UB. When multiple hosts are connected via the communication bus, the multiple hosts support mutual synchronous access to memory. For example, Figure 6 As shown, 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 main virtual instance on the first host, the processor of the first host stores the notification in the fifth physical memory, so that the processor of the second host can obtain the notification from the fifth physical memory through the CXL bus, thereby realizing the transmission of the notification from the first host to the second host. The fifth physical memory can be optionally initialized by the virtualization layer. In addition, the notification can also indicate the type of the main virtual instance and the resource specifications used, so that the second host can create a first backup virtual instance based on the type and resource specifications.
[0100] When the functions of the first host and the third host are implemented by the function modules, the operation of the first host allocating the third physical memory to the main virtual instance can be optionally implemented by the host memory management module of the first host interacting with 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 can 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 standby virtual instance on the second host, so that when the main virtual instance fails, the first standby 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 standby virtual instance, so that the first standby virtual instance runs based on the third physical memory. The access rights of the first standby virtual instance to the third physical memory are readable and writable. In order to ensure the read and write speed of data, a communication bus supporting memory synchronization access semantics is connected between the second host and the third host, and the first standby virtual instance performs read and write operations on the third physical memory through the communication bus. Optionally, the type and resource specifications of the first standby 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 standby virtual instance is also a virtual machine, and the first standby 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 can be optionally triggered based on a notification from the first host. For example, after the second host receives a notification from the first host indicating the creation of the first standby virtual instance, the first standby virtual instance is created in the second host. Optionally, the notification can 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 through the high-speed communication bus, and create the first standby virtual instance based on the notification. The type of the main virtual instance and the resource specifications used can 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 the function module, the operation of the second host allocating the third physical memory to the first standby virtual instance can 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 through the high-speed communication bus can 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 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.
[0106] Among them, when the notification is transmitted through a communication bus that supports memory synchronization access semantics, since the communication bus supports direct connection between processors between hosts, compared with the transmission method through TCP / IP and other networks, there is no possibility of packet loss or congestion failure points introduced by traditional network devices such as switches and routers. In addition, since this transmission method supports memory synchronization access semantics, the memory access latency and bandwidth of messages transmitted through the communication bus are lower. When the hosts use the communication bus to transmit information such as memory data that needs to be synchronized, an effect similar to inter-process communication can be achieved, which greatly reduces the synchronization overhead, greatly improves the performance of communication, and greatly improves the connection reliability between hosts. At the same time, since the bandwidth for transmitting notifications is independent, it will not compete with tenants for resources. In addition, when the notification is transmitted through the network and the communication bus, the first host and the second host can establish a dual plane with the help of these two methods, which can strengthen the connectivity between the first host and the second host and increase the probability of successful transmission of the notification 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 the physical memory on the third host allocated by the first host to the main virtual instance. During the operation of the main virtual instance, all memory data required for the operation of the main virtual instance will be stored in the third physical memory. In the embodiment of the present application, since the second host needs to back up the memory data required for the operation of the main virtual instance, such as Figure 8As shown, after the first host stores the memory data in the third physical memory, the cloud service providing method also 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 main virtual machine, the 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 (Byte)) of data. Each time the first host stores memory data in a memory page in the third physical memory, it provides the physical address of the memory page to the second host. 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 of providing the physical address can refer to the implementation method of the first host sending a notification to the second host in steps 401 and 402, which will not be repeated here.
[0109] When the function of the first host is implemented by the function 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] Since the third physical memory is the memory allocated for the first standby virtual instance, when the first host fails, the second host can obtain memory data from the third physical memory and run the first standby virtual instance based on the memory data, so as to use the first standby 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, such as Figure 8 As shown, the implementation process of step 704 includes: 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 standby virtual instance based on the memory data, so that the first standby virtual instance provides cloud services to users.
[0112] As can be seen from the above, in the second configuration mode of shared memory, since the first host and the second host jointly use the third physical memory, after the first host fails, the second host can seamlessly access the third physical memory, which can achieve more flexible active-standby switching and can more quickly pull up the first standby virtual instance. In addition, since the second host can directly use the memory data in the third physical memory without backing up the memory data, the amount of data that needs hot standby can be greatly reduced.
[0113] Wherein, 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, when the second host cannot obtain data from the first host via one of the communication bus and 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 function of the second host is implemented by the functional module, the operation of the second host determining that the first host has failed can be optionally 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 transmitting data through a communication bus and / or a network, and when the heartbeat management module cannot 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. By analogy, in the cloud service provision method, hosts used for different functions 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 instances used to implement user cloud services. 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. Then as Fig. 9 As shown, 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] For the implementation process of step 706, please refer to the implementation process of step 402, which will not be repeated 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 surviving host of 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 the 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 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, Fig.10 As shown, the cloud service providing method provided in 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 fails, it sends a notification to the fifth host, instructing the fifth host to create a second backup virtual instance for the main 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 use the second backup virtual instance instead of the main virtual instance to provide cloud services to users. Among them, 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 is used as a backup virtual instance of the main virtual instance in the first host, which will not be repeated here.
[0125] It should be noted that, in addition to backing up memory data, the host can also back up other data required to run the virtual instance, so as to run the standby virtual instance based on the other data and memory data. For example, the second host backs up the data indicating the processor state and the I / O data, so that when the first host fails, the first standby virtual instance can be run based on the memory data, the data indicating the processor state and the I / O data. Among them, the data indicating the processor state can be data indicating various processors in the host, such as data indicating the CPU state and data indicating the GPU. The I / O data can be various types of I / O data, such as disk I / O data and network I / O data. In one implementation, the hosts can also share the other data through shared memory. At this time, please refer to the implementation of sharing memory data through shared memory above for its implementation process. However, after the host obtains the other data from other hosts, it does not store the data in the memory, but updates the other data to the virtualization layer. In another implementation, the other data can also be shared in other ways. For example, the second host receives the other data sent by the first host through the network. Furthermore, when the first host shares the other data with the second host through the network, the first host and the second host can periodically share the other data in the form of checkpoints. Since the amount of the other data is small, even if the other data is shared in the form of checkpoints, the impact on service performance when providing services based on the shared other data can be ignored. When the functions of the first host and the second host are implemented by functional modules, the other data can be synchronized from the virtual machine state management module in the first host to the virtual state management module in the second host.
[0126] In summary, in the cloud service providing method provided in 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, the first host and the second host can realize hot backup of memory data 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 steps in the cloud service providing method provided in the embodiment of the present application can be adjusted appropriately, and the steps can be increased or decreased accordingly according to the situation. Any technician familiar with the technical field can easily think of a change within the technical scope disclosed in this application, which should be included in the protection scope of this application, so it will not be repeated.
[0128] The following is an example of a virtual device in an embodiment of the present application.
[0129] The above describes 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 the corresponding structural diagram of the cloud service providing system Figure 1 , Figure 2 , Figure 3 or Figure 6 .based on Figure 1 , Figure 2 , Figure 3 or Figure 6 The cloud service provider system can perform the above Figure 4 , Figure 5 , Figure 7 or Figure 8 All or part of the operations shown. 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 embodiments of the present application are not limited to this. Optionally, the cloud service providing system may be configured on a cloud platform. The cloud service system is used to provide cloud services based on virtual instances.
[0130] like Figure 1 , Figure 2 , Figure 3 or Figure 6As shown, 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 standby 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 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 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 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.
[0133] Optionally, the cloud service system further includes a third host, which is configured with a third physical memory. The first host is specifically used to store memory data in the third physical memory during the operation of the primary virtual instance; the second host is also used to read memory data from the third physical memory when the first host fails.
[0134] Optionally, 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 used 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 also used to obtain memory data stored in the third physical memory by accessing the second virtual memory during the operation of the main virtual instance, and store the memory data in the fourth physical memory.
[0136] Optionally, the first host is further used to provide the physical address of the memory data in the third physical memory to the fourth host; 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.
[0137] 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.
[0138] Optionally, 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 also used to store memory data required for the operation of the main virtual instance in the second shared memory during the operation of the main 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 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 in the previous method embodiment for the detailed working process of each host in the cloud service providing system. For example, the first host implements its functions according to step 401 and step 403 in the method embodiment, and the second host implements its functions according to step 402, step 404 and step 405 in the method embodiment, which will not be repeated in this application embodiment.
[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, the first host and the second host can realize hot backup of memory data 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 the services provided based on the 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. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned 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 data centers with similar geographical locations. Among them, usually a region may include multiple AZs.
[0144] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.
[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, etc. Alternatively, each host in the cloud service provision system may also be a device 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 the cloud service provision system can be distributed in the same region or in different regions. The multiple computing devices included in each host in the cloud service provision system can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in each host in the cloud service provision system can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0147] It should be noted that, in other embodiments, any one 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 implementing can be specified as needed, and all functions of the cloud service provision device are realized by each host in the cloud service provision system implementing different steps in the cloud service provision method.
[0148] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of each component described above can refer to the corresponding content in the aforementioned method embodiment, and will not be repeated here.
[0149] The following is an illustration of the basic hardware structure involved in the embodiments of the present application.
[0150] The embodiment of the present application provides a computing device. The computing device is used to implement part or all of the functions of the cloud service providing method provided in the embodiment of the present application. Fig.11 Schematic diagram of a computing device provided in an embodiment of the present application. Fig.11 As shown, 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 through the bus 1104.
[0151] 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. A 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). Processor 1101 may also be an integrated circuit chip having signal processing capabilities. In the implementation process, some or all of the functions of the cloud service provision method of the present application may be completed by hardware integrated logic circuits in processor 1101 or instructions in software form.
[0152] The memory 1102 is used to store computer programs, which include an operating system 1102a and executable codes (i.e., program instructions) 1102b. The memory 1102 is, for example, a read-only memory or other types of static storage devices that can store static information and instructions, or a random access memory or other types of dynamic storage devices that can store 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 compressed optical disc, a laser disc, an optical disc, a digital versatile disc, a blue-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired executable code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. For example, the memory 1102 is used to store an outbound port queue, etc. The memory 1102 is, for example, independent and connected to the processor 1101 via a bus 1104. Or the memory 1102 and the processor 1101 are integrated together. The memory 1102 can store executable code. When the executable code stored in the memory 1102 is executed by the processor 1101, the processor 1101 is used to perform some or all functions of the cloud service providing method provided in the embodiment of the present application. For the implementation of the process executed by the processor 1101, please refer to the relevant description in the aforementioned embodiment. The memory 1102 may also include software modules and data required for other running processes such as the operating system.
[0153] The communication interface 1103 uses a transceiver module such as, but not limited to, a transceiver to achieve communication with other devices or communication networks. For example, the communication interface 1103 can be any one or any combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, and other devices with network access functions.
[0154] The bus 1104 is any type of communication bus for interconnecting the internal devices of the computing device (e.g., the memory 1102, the processor 1101, and the communication interface 1103). For example, a system bus. The embodiment of the present application takes the interconnection of the above-mentioned devices inside the computing device through the bus 1104 as an example. Optionally, the above-mentioned devices inside the computing device 1100 can also be connected to each other in communication with each other using other connection methods other than the bus 1104. For example, the above-mentioned devices inside the computing device 1100 are interconnected through 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 to independently arrange each device on different chips or to integrate and arrange it 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 the parts 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 by software, hardware, firmware, or any combination thereof. When implemented by 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, and when these computer program instructions are loaded and executed on a computing device, all or part of the functions of the cloud service providing method provided in the embodiments of the present application are implemented.
[0157] Furthermore, computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. 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] The embodiment of the present application also provides 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 smart phone.
[0159] Optionally, the structure of at least one computing device included in the computing device cluster can be found in Fig.11 The computing device 1100 is shown. 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 providing method. In other words, the combination of one or more computing devices 1100 may jointly execute the instructions for executing the cloud service providing method.
[0161] It should be noted that the memory 1102 in different computing devices 1100 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the cloud service provider. That is, 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 the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.12 A possible implementation is shown. Fig.12 As shown, 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 the computing device 1200A stores instructions for executing the functions of the first host. At the same time, the memory 1206 in the computing device 1200B stores instructions for executing the functions of the second host.
[0163] It should be understood that Fig.12 The functions of the computing device 1200A shown in the figure can also be completed by multiple computing devices 1200. Similarly, the functions of the computing device 1200B can also be completed by multiple computing devices 1200. And the deployment mode of the modules used to implement the cloud service providing method in the computing device can also be adjusted according to the 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 including instructions. When the computer program product is executed on a computer, the computer implements the cloud service providing method provided by the embodiment of the present application.
[0166] A person 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 instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium 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, stored data, displayed data, 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 relevant countries and regions. For example, the original data and executable code involved in this application are all 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 are not to be understood as indicating or implying relative importance. The term "at least one" means one or more, and the term "plurality" means two or more, unless otherwise expressly defined.
[0169] The term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0170] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the concept and principle of the present application shall be included in the protection scope 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: 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.
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
Cited By
Cloud service providing method and system
EP4769138A1
Cloud service providing method and system
WO2025055978A1