Cloud hard disk management method based on cloud management platform, and cloud management platform
By dynamically selecting and creating cloud disks through a cloud management platform, the problem of low resource utilization in the storage-compute separation architecture is solved, achieving efficient utilization of storage nodes and cost savings.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-09-01
- Publication Date
- 2026-07-02
Smart Images

Figure CN2025118218_02072026_PF_FP_ABST
Abstract
Description
A cloud disk management method based on a cloud management platform and the cloud management platform itself.
[0001] This application claims priority to Chinese Patent Application No. 202411944353.7, filed on December 24, 2024, entitled "A Cloud Disk Management Method and Cloud Management Platform Based on a Cloud Management Platform", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of cloud technology, and in particular to a cloud disk management method and a cloud management platform based on a cloud management platform. Background Technology
[0003] With the rapid development of cloud technology, more and more users are choosing the compute-storage separation architecture provided by cloud vendors to complete their business. In the compute-storage separation architecture, if a user has data processing needs, the user can read the required data from the user's storage node through the user's compute node and process the data to meet the user's needs.
[0004] In related technologies, to better handle sudden surges in data processing demands from users, cloud providers can pre-create multiple compute nodes and corresponding storage nodes for each user. Each storage node has a cloud disk that can be accessed by a compute node. Thus, when a user triggers data processing on several compute nodes, these nodes can access the data stored on their respective storage nodes via the cloud disks within those nodes to complete the data processing.
[0005] In the process described above, cloud providers need to create a large number of computing nodes and storage nodes including cloud disks for users in advance. However, in actual applications, users do not frequently trigger all computing nodes to process data. This results in some storage nodes including cloud disks being idle for a long time, leading to low utilization of the resources allocated to users and thus wasting resources. Summary of the Invention
[0006] This application provides a cloud disk management method and a cloud management platform based on a cloud management platform, which can improve resource utilization to a certain extent and thus save resources to a certain extent.
[0007] The first aspect of this application provides a cloud disk management method based on a cloud management platform. The cloud management platform implementing this method can manage infrastructure providing cloud services to users. This infrastructure includes a first storage cluster, which in turn includes multiple storage nodes. It should be noted that these multiple storage nodes can be located in at least one data center providing cloud services to users. Each of the at least one data center can include at least one physical server, and each of the multiple storage nodes can include at least one physical server. The method includes:
[0008] When a user needs to preheat multiple cloud disks that "store" their data, the cloud management platform can provide a preheating interface. The user can then input a preheating request into this interface. In this way, the cloud management platform can receive the user's preheating request through the preheating interface, and this request can be used to indicate which cloud disks are associated with the data and require preheating.
[0009] Upon receiving the cloud disk preheating request, the cloud management platform can select multiple available first storage nodes from the multiple storage nodes included in the first storage cluster. These first storage nodes are capable of creating the cloud disks. After determining the available first storage nodes for creating the cloud disks, the cloud management platform can instruct these first storage nodes to cache the data. At this point, the cloud management platform has completed the preheating of the cloud disks.
[0010] After the multiple cloud disks have been warmed up, the user can select at least one cloud disk to be created and input a cloud disk creation request into the creation interface provided by the cloud management platform. In this way, the cloud management platform can receive the cloud disk creation request sent by the user through the creation interface, and the cloud disk creation request can be used to indicate the at least one cloud disk to be created.
[0011] Upon receiving the cloud disk creation request, the cloud management platform can select at least one primary storage node from among the multiple primary storage nodes to create the at least one cloud disk, and then create the at least one cloud disk on that primary storage node. In this way, if the user subsequently needs to process the data, the user can access the data stored on that primary storage node through the at least one cloud disk, thereby completing the processing of the data.
[0012] As can be seen from the above method, the cloud management platform can prepare multiple primary storage nodes with cached user data in advance by preheating. After determining the number of cloud disks that the user needs to create, these cloud disks can be created in real time on some primary storage nodes. Since the cloud management platform can create one or more cloud disks on a primary storage node, these primary storage nodes with one or more cloud disks can be used by the user for data processing many times over. This can improve the resource utilization of these primary storage nodes and eliminate the need for the cloud management platform to preheat too many primary storage nodes in advance, thereby saving resources to a certain extent.
[0013] In one possible implementation, the cloud management platform selects multiple first storage nodes from multiple storage nodes, including: the cloud management platform predicts the user's access frequency to the data based on the frequency of the user's access to historical data, and the historical data is matched with the new data; the cloud management platform obtains performance indicators of multiple storage nodes, which include at least one of the following: available capacity of multiple storage nodes, read / write speed of multiple storage nodes, throughput of multiple storage nodes, network latency of multiple storage nodes, and communication path between multiple storage nodes and the user's computing node; the cloud management platform evaluates multiple storage nodes based on the performance indicators and the user's access frequency to the data, and obtains evaluation values for multiple storage nodes; the cloud management platform selects multiple first storage nodes from the multiple storage nodes whose evaluation values are greater than or equal to a preset threshold. In the aforementioned implementation, after receiving the cloud disk preheating request sent by the user, the cloud management platform can first obtain the user's access frequency to this historical data, and use this access frequency to predict the user's access frequency to this data. Meanwhile, for any one of these storage nodes, the cloud management platform can evaluate it using the user's access frequency to the data and the node's performance metrics, thus obtaining an evaluation value. The cloud management platform performs a similar operation on the remaining storage nodes, obtaining their evaluation values. Based on this, the cloud management platform identifies several storage nodes with evaluation values greater than or equal to a preset threshold as multiple first storage nodes. Therefore, the cloud management platform can evaluate whether each storage node is suitable for caching data based on the user's access frequency and the performance metrics of each node. This process considers a comprehensive range of factors, accurately selecting first storage nodes with sufficient performance to meet the user's needs. The selected storage nodes can then be used to cache the data, enabling the creation of multiple cloud disks and successfully completing the cloud disk warm-up process.
[0014] In one possible implementation, in at least one first storage node, the number of cloud disks contained in each first storage node is less than or equal to a preset number, where the preset number is greater than one. In the aforementioned implementation, for any one of these at least one first storage nodes, the number of cloud disks created by the cloud management platform on that first storage node is less than or equal to the number of cloud disks that the first storage node can create, where the number of cloud disks that the first storage node can create is typically greater than one. Therefore, the cloud management platform can limit the number of cloud disks created in real time on the selected at least one first storage node by setting the number of cloud disks that can be created on each storage node, thereby ensuring that these first storage nodes do not experience overload and guaranteeing the normal operation and use of the created cloud disks.
[0015] In one possible implementation, the method further includes: the cloud management platform selecting at least one second storage node from multiple storage nodes, the at least one second storage node being capable of creating at least one cloud disk; and the cloud management platform notifying the at least one second storage node to cache data. In the aforementioned implementation, the cloud management platform can select at least one second storage node from multiple storage nodes included in the first storage cluster, and this at least one second storage node has the capability to create the aforementioned at least one cloud disk. Then, the cloud management platform can notify the at least one second storage node to cache the data, thereby completing the re-warming of the at least one cloud disk. Thus, since the cloud management platform has already created the at least one cloud disk on the at least one first storage node, the total number of cloud disks that can be created from the initially selected multiple first storage nodes has decreased. The cloud management platform can ensure that the selected at least one second storage node and the multiple first storage nodes always cache the data, so these at least one second storage node and the multiple first storage nodes still have the capability to create the multiple cloud disks initially required by the user, thereby meeting the user's expected number of cloud disks that can be created.
[0016] In one possible implementation, the method further includes: for any one of the at least one cloud disks, the cloud management platform determines that the cloud disk has received a deletion request from the user; based on the deletion request, the cloud management platform deletes the cloud disk from its location on the first storage node. In the aforementioned implementation, for any one of the at least one created cloud disks, if the cloud disk receives a deletion request from the user, the cloud management platform can delete the cloud disk from its location on the first storage node. Therefore, once a user has a deletion request for a particular cloud disk, the cloud management platform can delete the cloud disk from its location on the first storage node in real time, satisfying the user's deletion request and enabling the user to freely manage cloud disk resources, thereby improving the user experience.
[0017] In one possible implementation, the method further includes: for any one of the at least one cloud disks, the cloud management platform determines that the cloud disk has received a modification request for data sent by the user; based on the modification request, the cloud management platform notifies the first storage node where the cloud disk resides to store the modified data, the modification request indicating the modified data, and the cloud disk being used by the user to access the modified data stored on the first storage node. In the aforementioned implementation, for any one of the at least one created cloud disks, if the cloud disk receives a modification request for data sent by the user, since the request indicates modified data, the cloud management platform can notify the first storage node where the cloud disk resides to store the modified data. Then, the user can subsequently access the modified data stored on the first storage node where the cloud disk resides through the cloud disk. Therefore, once a user has a need to modify data on a cloud disk, the cloud management platform can modify the data stored on the first storage node where the cloud disk is located in real time, and store the modified data on the first storage node. This allows the user to access the modified data stored on the first storage node through the cloud disk, thus satisfying the user's data modification needs and enabling the user to freely manage the data "stored" on the cloud disk, thereby further improving the user experience.
[0018] In one possible implementation, the cloud management platform also manages a second storage cluster that stores data. The cloud management platform instructs multiple first storage nodes to cache the data, including: the cloud management platform instructs the multiple first storage nodes to retrieve the data from the second storage cluster and store the data. In the aforementioned implementation, the infrastructure managed by the cloud management platform may also include the second storage cluster storing the data. Therefore, the cloud management platform can instruct these multiple first storage nodes to read the data from the second storage cluster and store the data. In this way, these multiple first storage nodes can cache the data, meaning they truly possess the ability to create multiple cloud disks with cloud data management capabilities, thus successfully completing the preheating of these multiple cloud disks.
[0019] In one possible implementation, the cloud management platform also manages a computing cluster, which includes at least one computing node belonging to a user; at least one cloud disk is used for the at least one computing node to access data stored on at least one first storage node, and the number of cloud disks is equal to the number of computing nodes. In the aforementioned implementation, the infrastructure managed by the cloud management platform may also include a computing cluster on which at least one computing node belonging to a user has been created. After the cloud management platform creates at least one cloud disk on the at least one first storage node, if the user has a data processing requirement, the user can trigger the at least one computing node to access the data stored on the at least one storage node through the at least one cloud disk, thereby successfully completing the data processing.
[0020] In one possible implementation, each of the multiple storage nodes contains at least one physical server.
[0021] A second aspect of this application provides a cloud management platform for managing a first storage cluster. The first storage cluster includes multiple storage nodes, which are located in at least one data center providing cloud services. Each data center includes at least one physical server, and each storage node includes at least one physical server. The cloud management platform includes: a first receiving module for receiving a cloud disk preheating request sent by a user, the cloud disk preheating request indicating multiple cloud disks associated with the user's data; a first selection module for selecting multiple first storage nodes from the multiple storage nodes based on the cloud disk preheating request, the multiple first storage nodes being used to create multiple cloud disks; a first notification module for notifying the multiple first storage nodes to cache data; a second receiving module for receiving a cloud disk creation request sent by a user, the cloud disk creation request indicating at least one cloud disk among the multiple cloud disks; and a creation module for creating at least one cloud disk in at least one first storage node based on the cloud disk creation request, the at least one cloud disk being used by the user to access data stored on at least one first storage node.
[0022] In one possible implementation, the first selection module is configured to: predict the user's access frequency to historical data based on the user's access frequency to obtain the user's access frequency to the data, and match the historical data with the data; obtain performance indicators of multiple storage nodes, the performance indicators including at least one of the following: the available capacity of multiple storage nodes, the read / write speed of multiple storage nodes, the throughput of multiple storage nodes, the network latency of multiple storage nodes, and the communication path between multiple storage nodes and the user's computing node; evaluate the multiple storage nodes based on the performance indicators and the user's access frequency to obtain the evaluation value of multiple storage nodes; and select multiple first storage nodes from the multiple storage nodes whose evaluation value is greater than or equal to a preset threshold.
[0023] In one possible implementation, in at least one first storage node, each first storage node contains a number of cloud disks less than or equal to a preset number, where the preset number is greater than one.
[0024] In one possible implementation, the cloud management platform further includes: a second selection module for selecting at least one second storage node from a plurality of storage nodes, wherein the at least one second storage node can be used to create at least one cloud disk; and a second notification module for notifying the at least one second storage node to cache data.
[0025] In one possible implementation, the cloud management platform further includes a deletion module, configured to: determine, for any one of the at least one cloud disks, that the cloud disk has received a deletion request from a user; and delete the cloud disk from the first storage node where it resides based on the deletion request.
[0026] In one possible implementation, the cloud management platform further includes a third notification module, configured to: determine, for any one of the at least one cloud disks, that the cloud disk has received a modification request for data sent by a user; and based on the modification request, notify the first storage node where the cloud disk is located to store the modified data, wherein the modification request is used to indicate the modified data, and the cloud disk is used for users to access the modified data stored on the first storage node.
[0027] In one possible implementation, the cloud management platform is also used to manage a second storage cluster that stores data, and a first notification module is used to notify multiple first storage nodes to retrieve data from the second storage cluster and store the data.
[0028] In one possible implementation, the cloud management platform is also used to manage a computing cluster, which includes at least one computing node for a user; at least one cloud disk is used for at least one computing node to access data stored on at least one first storage node, and the number of at least one cloud disk is equal to the number of at least one computing node.
[0029] In one possible implementation, each of the multiple storage nodes contains at least one physical server.
[0030] A third aspect of this application provides a computing device cluster, which includes at least one computing device, each computing device including a processor and a memory: the memory is used to store instructions; the processor is used to cause the computing device cluster to perform the method described in the first aspect or any possible implementation of the first aspect according to the instructions.
[0031] A fourth aspect of this application provides a computer storage medium storing one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method described in the first aspect or any possible implementation of the first aspect.
[0032] A fifth aspect of this application provides a computer program product storing instructions that, when executed by a computer, cause the computer to perform the method described in the first aspect or any possible implementation of the first aspect.
[0033] In this embodiment, when a user needs to preheat multiple cloud disks "storing" their data, the user can send a cloud disk preheating request to the preheating interface provided by the cloud management platform. This request indicates the multiple cloud disks associated with the data that need to be preheated. Based on this request, the cloud management platform can select multiple first storage nodes from the multiple storage nodes included in the first storage node and notify these multiple first storage nodes to cache the data. Since these multiple first storage nodes have the ability to create these multiple cloud disks, it is equivalent to these multiple cloud disks having completed preheating. Therefore, the cloud management platform can also notify the user that these multiple cloud disks have completed preheating. Then, if the user currently only needs to create at least one of the preheated cloud disks, the user can send a cloud disk preheating request to the creation interface provided by the cloud management platform. This request indicates the at least one cloud disk to be created. Based on this request, the cloud management platform can select at least one first storage node from the multiple first storage nodes and create the at least one cloud disk on the at least one first storage node. In this way, the at least one cloud disk that has been created can serve as the entry point for the user to access the data stored on the at least one first storage node, thereby enabling the user to access and process the data to meet the user's data processing needs. In the aforementioned process, the cloud management platform can pre-prepare multiple first storage nodes that cache the user's data through a preheating process. After determining the number of cloud disks the user needs to create, these cloud disks can be created in real-time on certain first storage nodes. Since the cloud management platform can create one or more cloud disks on a single first storage node, these first storage nodes with one or more cloud disks can be used by the user for data processing multiple times over. This improves the resource utilization of these first storage nodes and avoids the need for the cloud management platform to preheat too many first storage nodes in advance, thus saving resources to some extent. Attached Figure Description
[0034] Figure 1 is a schematic diagram of a cloud service system provided in an embodiment of this application;
[0035] Figure 2 is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0036] Figure 3 is a flowchart illustrating a cloud disk management method based on a cloud management platform provided in an embodiment of this application;
[0037] Figure 4 is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0038] Figure 5 is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0039] Figure 6 is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0040] Figure 7 is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0041] Figure 8 is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0042] Figure 9 is a schematic diagram of the structure of a cloud management platform provided in an embodiment of this application;
[0043] Figure 10 is a schematic diagram of a computing device provided in an embodiment of this application;
[0044] Figure 11 is a schematic diagram of a computing device cluster provided in an embodiment of this application;
[0045] Figure 12 is a schematic diagram of computer devices in a computer cluster connected via a network according to an embodiment of this application. Detailed Implementation
[0046] This application provides a cloud disk management method and a cloud management platform based on a cloud management platform, which can improve resource utilization to a certain extent and thus save resources to a certain extent.
[0047] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0048] With the rapid development of cloud technology, more and more users are choosing the compute-storage separation architecture provided by cloud vendors to complete their business. In the compute-storage separation architecture, the compute nodes allocated to users can run user applications, and the storage nodes allocated to users can store user data. If users have data processing needs, they can read the required data from the storage nodes through their compute nodes and process the data to meet their needs.
[0049] In related technologies, to better handle sudden surges in data processing demands from users, cloud providers can pre-create multiple compute nodes and storage nodes for users, with each storage node corresponding to one of the compute nodes. For any one of these storage nodes, a cloud disk has been created, which can be accessed by a compute node to store the data. Thus, when a user triggers data processing on several compute nodes, these compute nodes can access the data stored on their corresponding storage nodes through the cloud disks in those storage nodes to complete the data processing.
[0050] In the process described above, cloud providers need to create a large number of computing nodes and storage nodes including cloud disks for users in advance. However, in actual applications, users do not frequently trigger all computing nodes to process data. This results in some storage nodes including cloud disks being idle for a long time, leading to low utilization of the resources allocated to users and thus wasting resources.
[0051] Furthermore, since these resources, including storage nodes containing cloud disks, are pre-built, cloud vendors often find it difficult to easily implement various management operations for these resources. This makes it difficult for cloud vendors to meet users' complex needs for these resources, resulting in a poor user experience.
[0052] Furthermore, since the cloud disks on these storage nodes have been created in advance to meet the users' large data processing needs, regardless of whether these cloud disks are idle or not, cloud vendors often need to incur significant management costs to manage these created cloud disks and the storage nodes they reside on.
[0053] To address the aforementioned problems, this application provides a cloud disk management method based on a cloud management platform. This method can be implemented through a cloud service system. Figure 1 is a schematic diagram of the structure of the cloud service system provided in this application embodiment. As shown in Figure 1, the cloud service system includes infrastructure that can provide cloud services and a cloud management platform that manages this infrastructure. The cloud management platform and the infrastructure are described in detail below:
[0054] A cloud management platform can centrally manage the infrastructure of the entire cloud service system (for example, selecting computing and storage resources from existing computing clusters, distributed block storage clusters, and external storage clusters according to a user's instructions to meet the user's data processing needs). The cloud management platform can also be accessible to users outside the cloud service system and respond to their requests. For example, the cloud management platform can provide various interfaces such as login, warm-up, and creation interfaces for user clients (e.g., the user's terminal device or the browser on that device) to access. Specifically, the cloud management platform can authenticate a user's client through the login interface, allowing the client to log in after successful authentication. For example, the cloud management platform can also allow a user's client to send a cloud disk preheating request to the cloud management platform via a preheating interface. This request indicates multiple cloud disks associated with the user's data, signifying that the user needs to preheat multiple cloud disks "containing" the data. Therefore, the cloud management platform can select multiple target storage nodes from the multiple storage nodes included in the distributed block storage cluster and notify these target storage nodes to cache the data. Since these target storage nodes have the capability to create these multiple cloud disks, it is equivalent to the preheating of these multiple cloud disks "containing" the data being completed. Therefore, the cloud management platform can also notify the user that the preheating of these multiple cloud disks is complete. Alternatively, the cloud management platform can also allow a user's client to send a cloud disk creation request to the cloud management platform via a creation interface. This request indicates at least one cloud disk among the multiple preheated cloud disks, signifying that the user only needs to create this at least one cloud disk. Therefore, the cloud management platform can select at least one target storage node from these multiple target storage nodes and create this at least one cloud disk on this at least one target storage node. In this way, the at least one cloud disk that has been created can serve as an entry point for users to access the data stored on the at least one target storage node, thereby enabling users to access and process the data to meet their data processing needs, etc.
[0055] The infrastructure includes a compute cluster, a distributed block storage cluster, and an external storage cluster. The compute cluster may contain at least one compute node created by the cloud management platform for the user. These compute nodes can run the user's applications. When the user has data processing needs, they can trigger these applications, causing the compute nodes hosting these applications to access data from the distributed block storage cluster. The external storage cluster stores the user's data. The distributed block storage cluster may contain multiple storage nodes. When the user needs to preheat multiple cloud disks "storing" the data, the cloud management platform can select multiple target storage nodes from these multiple storage nodes to cache the data. These target storage nodes then have the capability to create these multiple cloud disks, effectively preheating them.
[0056] It should be understood that an external storage cluster can also contain multiple storage nodes, which store the user's data. Furthermore, each storage node in an external storage cluster can contain one or more physical servers, so the user's data can be stored in the storage resources of these physical servers.
[0057] It should also be understood that this embodiment is only used as an illustrative example of an external storage cluster being part of the infrastructure managed by the cloud management platform, that is, the external storage cluster is part of the cloud service system and belongs to the cloud provider of the cloud service system. In practical applications, the external storage cluster can also be a storage cluster outside the cloud service system, for example, the storage cluster can belong to the user or other users, etc., without limitation.
[0058] Furthermore, as shown in Figure 2 (Figure 2 is another structural schematic diagram of the cloud service system provided in this application embodiment), for any one of these multiple storage nodes, the storage node may contain one or more physical servers. Since physical servers possess certain computing resources (e.g., central processing unit (CPU) and graphics processing unit (GPU), etc.), storage resources (e.g., block storage devices (also called disks) and memory), and network resources (e.g., network interface cards), the storage node also possesses certain computing, storage, and network resources. When the storage node is selected by the cloud management platform as a target storage node that can be preheated, the storage node can read the data from the external storage cluster and store the data in the storage resources of the storage node.
[0059] Furthermore, when the cloud management platform notifies the storage node to cache the data, it can allow the storage node to cache one or more copies of the data. Since each copy of the data can be shared and accessed by several cloud disks, the cloud management platform can create a certain number of cloud disks on the storage node, that is, the storage node has the ability to create a certain number of cloud disks. For example, suppose a cloud disk on a storage node can be bound to the storage space containing the data on that storage node via linked clone. The cloud management platform can determine the number of cloud disks that the storage node can create by setting a linked clone oversubscription ratio. The linked clone oversubscription ratio refers to the ratio between the number of storage spaces and the number of cloud disks that can be bound to those storage spaces. For example, if the storage node stores one copy of the data, and the cloud management platform sets the linked clone oversubscription ratio to 3, then the storage node can create 3 cloud disks. Or, if the storage node stores 3 copies of the data, and the cloud management platform sets the linked clone oversubscription ratio to 4, then the storage node can create 12 cloud disks. Each storage space containing the data can be bound to 4 cloud disks. In other words, each cloud disk can only access the copy of data it is bound to and cannot access the other copies of data that are not bound to it.
[0060] Furthermore, since the number of cloud disks that a storage node can create is limited, the number of cloud disks created by the cloud management platform on that storage node cannot exceed the maximum number of cloud disks that the storage node can create. Continuing with the example above, when the storage node can create 3 cloud disks, the cloud management platform can choose to create 1 cloud disk, 3 cloud disks, or other options when creating cloud disks on that storage node.
[0061] Furthermore, the cloud disks created by the cloud management platform on this storage node can typically be allocated to several compute nodes of the user. That is, any one of these compute nodes can access the data stored on that storage node through the cloud disk allocated to it, triggered by the user. Generally, a cloud disk created on this storage node is usually allocated to one of the user's compute nodes. Continuing with the example above, if the cloud management platform creates three cloud disks on this storage node, it can allocate these three cloud disks to the user's three compute nodes, and each of the three compute nodes can use its dedicated cloud disk to access the data on that storage node.
[0062] Furthermore, for computing nodes serving users, these nodes can take various forms. For example, they can be physical servers (containing certain specifications of computing, storage, and network resources, etc.) selected by the cloud management platform in the infrastructure. Alternatively, they can be bare-metal servers (containing certain specifications of computing, storage, and network resources, etc.) selected by the cloud management platform in the infrastructure. Furthermore, they can be virtual machines (VMs) created by the cloud management platform on physical or bare-metal servers using virtualization technology. They can also be containers (Docker) created by the cloud management platform on physical or bare-metal servers using virtualization technology. Finally, they can be microVMs created by the cloud management platform on physical or bare-metal servers using virtualization technology, and so on.
[0063] Furthermore, for multiple storage nodes in a distributed block storage cluster, these storage nodes can be deployed in the same site or different sites. Sites can take various forms; for example, a site can be a region within the infrastructure, an availability zone within the infrastructure, a data center (DC) within the infrastructure, a room within the infrastructure, or a rack within the infrastructure (also known as a physical server group), and so on. Similarly, for multiple compute nodes in a computing cluster, these compute nodes can also be deployed in the same site or different sites, which will not be elaborated further here.
[0064] Based on the aforementioned cloud service system, when a user needs to preheat multiple cloud disks "storing" their data, the user can send a cloud disk preheating request to the preheating interface provided by the cloud management platform. This request indicates the multiple cloud disks associated with the data that need to be preheated. Based on this request, the cloud management platform can select multiple target storage nodes from multiple storage nodes and notify these target storage nodes to cache the data. Since these target storage nodes have the capability to create these multiple cloud disks, it is equivalent to these multiple cloud disks having completed preheating. Therefore, the cloud management platform can also notify the user that these multiple cloud disks have completed preheating. Then, if the user currently only needs to create at least one of the preheated cloud disks, the user can send a cloud disk preheating request to the creation interface provided by the cloud management platform. This request indicates the at least one cloud disk to be created. Based on this request, the cloud management platform can select at least one target storage node from the multiple target storage nodes and create the at least one cloud disk on the at least one target storage node. In this way, the at least one cloud disk that has been created can serve as the entry point for the user to access the data stored on the at least one target storage node, thereby enabling the user to access and process the data to meet the user's data processing needs. In the aforementioned process, the cloud management platform can pre-prepare multiple target storage nodes that cache the user's data through a preheating process. After determining the number of cloud disks the user needs to create, these cloud disks can be created in real-time on certain target storage nodes. Since the cloud management platform can create one or more cloud disks on a single target storage node, these target storage nodes with one or more cloud disks can be used by the user for data processing on a multiplier basis. This improves the resource utilization of these target storage nodes and avoids the need for the cloud management platform to preheat too many target storage nodes, thus saving resources to some extent. To further understand the working process of the cloud management platform, the following description, in conjunction with Figure 3, illustrates this process. Figure 3 is a flowchart illustrating a cloud disk management method based on a cloud management platform provided in this embodiment. This method can be implemented through a cloud service system as shown in Figure 1 or Figure 2. The cloud service system includes infrastructure that provides cloud services to users and a cloud management platform that manages this infrastructure. This infrastructure may include a first storage cluster (i.e., the aforementioned distributed block storage cluster), which contains multiple storage nodes. The method includes:
[0065] 301. The cloud management platform receives a cloud disk preheating request sent by the user. The cloud disk preheating request is used to indicate multiple cloud disks associated with the user's data.
[0066] In this embodiment, when a user needs to preheat multiple cloud disks that "store" their data (but these cloud disks do not actually need to store the data), the cloud management platform can provide a preheating interface to the user's client (e.g., a cloud disk preheating bar in the user interface). Therefore, the user can input their preheating request for the cloud disks through their client to the preheating interface. In this way, the cloud management platform can receive the cloud disk preheating request sent by the user's client through the preheating interface. The cloud disk preheating request may include information such as the data, the identifier of the preheating operation, and the identifiers of the multiple cloud disks. Therefore, the cloud disk preheating request can be used to indicate the multiple cloud disks associated with the data that need to be preheated.
[0067] For example, as shown in Figure 4 (Figure 4 is another structural schematic diagram of the cloud service system provided in this application embodiment), suppose a user needs to preheat 30 cloud disks "containing" certain data. The user can log in to the cloud management platform, which can provide a user interface. Since the user interface includes a cloud disk preheating section, the user can input a cloud disk preheating request to indicate the 30 cloud disks associated with this data. The cloud management platform can then receive this cloud disk preheating request through the cloud disk preheating section.
[0068] 302. Based on the cloud disk preheating request, the cloud management platform selects multiple first storage nodes from multiple storage nodes. These multiple first storage nodes are used to create multiple cloud disks.
[0069] 303. The cloud management platform notifies multiple primary storage nodes to cache data.
[0070] Upon receiving a cloud disk preheating request, the cloud management platform can determine, based on the request, that the user needs to preheat multiple cloud disks associated with the data. Therefore, the cloud management platform can select multiple available first storage nodes (i.e., the aforementioned multiple target storage nodes) from the multiple storage nodes contained in the first storage cluster. These multiple first storage nodes have the ability to create these multiple cloud disks.
[0071] After identifying the primary storage nodes suitable for creating these cloud disks, the cloud management platform can instruct these primary storage nodes to cache the data. At this point, the cloud management platform has completed the preheating process for these cloud disks.
[0072] Specifically, the cloud management platform can select these multiple primary storage nodes in the following ways:
[0073] Upon receiving a cloud disk preheating request from a user, the cloud management platform can determine, based on the request, that the user needs to preheat multiple cloud disks associated with the data. First, the cloud management platform can identify historical data that matches the current data. This matching can include at least one of the following: the size of the historical data is similar to or equal to the current data size; the type of the historical data is similar to or the same as the current data type; the user's usage habits with the historical data are similar to or the same as those with the current data, etc. Next, the cloud management platform can obtain the user's access frequency to this historical data, i.e., the number of times the user accesses this historical data, etc. Then, the cloud management platform can use the user's access frequency to predict the user's access frequency to this data, i.e., the number of times the user accesses this data, etc.
[0074] Meanwhile, for the multiple storage nodes included in the first storage cluster, the cloud management platform can also collect performance metrics of these storage nodes. For any one of these storage nodes, the performance metrics of the storage node may include at least one of the following: the available capacity of the storage node, the read and write speed of the storage node, the throughput of the storage node, the network latency of the storage node, and the communication path between the storage node and the computing nodes of users in the computing cluster.
[0075] After obtaining the user's access frequency to the data and the performance metrics of these multiple storage nodes, the cloud management platform can use a certain evaluation algorithm. Taking the user's access frequency and the performance metrics of these storage nodes as input, the algorithm is run to evaluate the storage nodes and obtain their evaluation values. Specifically, the better the performance metrics of a storage node (e.g., larger available capacity, faster read / write speed, lower throughput, lower network latency, or shorter communication path between the storage node and the user's compute node), the higher its evaluation value. Conversely, the worse the performance metrics of a storage node (e.g., smaller available capacity, slower read / write speed, higher throughput, higher network latency, or longer communication path between the storage node and the user's compute node), the lower its evaluation value. The more frequently a user accesses the data, the higher the evaluation value of the storage node with better performance indicators, and the lower the evaluation value of the storage node with worse performance indicators. When the frequency of access to the data is lower, the impact of access frequency on the evaluation values of storage nodes with better and worse performance indicators is relatively similar.
[0076] After obtaining the evaluation values of these multiple storage nodes, the cloud management platform selects several storage nodes whose evaluation values are greater than or equal to a preset threshold (the size of this threshold can be set according to actual needs and is not limited here) as multiple first storage nodes.
[0077] Continuing with the example above, suppose the distributed block storage cluster managed by the cloud management platform includes storage node 1, storage node 2, ..., storage node n. After receiving a cloud disk preheating request from a user, the cloud management platform can determine that the user needs to preheat 30 cloud disks "containing" this data. Based on this, the cloud management platform first obtains the user's access frequency to historical data to predict the user's access frequency to this data. This historical data and the data itself are matched. Then, the cloud management platform can obtain the performance metrics of storage node 1, storage node 2, ..., storage node n. The performance metrics of storage node 1 may include its available capacity, read / write speed, throughput, network latency, and the communication path between storage node 1 and the user's compute node, etc. The performance metrics of storage node 2, ..., storage node n are similarly obtained, and will not be elaborated further here. Subsequently, the cloud management platform can use the user's access frequency to this data, the performance indicators of storage node 1, the performance indicators of storage node 2, ..., the performance indicators of storage node n to evaluate storage node 1, storage node 2, ..., storage node n, thereby obtaining the evaluation values of storage node 1, storage node 2, ..., storage node n.
[0078] Once the evaluation values of storage node 1, storage node 2, and storage node 3 are determined to be greater than the preset threshold, the cloud management platform can use storage node 1, storage node 2, and storage node 3 as storage nodes that can create these 30 cloud disks.
[0079] More specifically, the cloud management platform can enable these multiple primary storage nodes to cache the data in the following ways:
[0080] The infrastructure managed by the cloud management platform may also include a second storage cluster (i.e., the aforementioned external storage cluster). Since the second storage cluster stores the data, the cloud management platform can instruct the multiple first storage nodes to read and store the data from the second storage cluster. In this way, the multiple first storage nodes can cache the data. It is worth noting that for any one of these multiple first storage nodes, that first storage node can cache at least one copy of the data. Since one copy of the data can be shared with several cloud disks (the number of these cloud disks is the aforementioned linked clone superdistribution ratio), the first storage node can create a certain number of cloud disks (for example, the number of cloud disks that the first storage node can create can be the product of the number of copies of the data stored by the first storage node and the number of cloud disks that one copy of the data can be shared with, etc., and the number of cloud disks that the first storage node can create is usually greater than one).
[0081] As in the example above, after selecting storage node 1, storage node 2, and storage node 3, the cloud management platform can instruct storage node 1, storage node 2, and storage node 3 to read this data from the external storage cluster. Since the cloud management platform sets the link clone super-resolution ratio of storage node 1, storage node 2, and storage node 3 to 5, the cloud management platform can control storage node 1 to cache 1 copy of this data, storage node 2 to cache 3 copies of this data, and storage node 3 to cache 2 copies of this data. Since each copy of data can be shared by 5 cloud disks, storage node 1, storage node 2, and storage node 3 can create a total of 30 cloud disks.
[0082] 304. The cloud management platform receives a cloud disk creation request sent by the user. The cloud disk creation request is used to indicate at least one cloud disk among multiple cloud disks.
[0083] After the preheating of these multiple cloud disks is complete, the cloud management platform can notify the user that the preheating has been successful. The user can then select at least one cloud disk to create from these disks (this at least one cloud disk can be some or all of the multiple cloud disks), and input the cloud disk creation request set by the user through the creation interface provided by their client to the cloud management platform (e.g., the cloud disk creation field in the user interface). In this way, the cloud management platform can receive the cloud disk creation request sent by the user's client through the creation interface. The cloud disk creation request may contain information such as the identifier of the creation operation and the identifier of the at least one cloud disk, thus it can be used to indicate the at least one cloud disk to be created.
[0084] As in the example above, as shown in Figure 5 (Figure 5 is another structural schematic diagram of the cloud service system provided in this application embodiment), after the cloud management platform notifies the user that the 30 cloud disks have been preheated, the user can determine whether to create 5 cloud disks according to their own needs. Since the user interface also includes a cloud disk creation bar, the user can enter a cloud disk creation request to indicate the creation of these 5 cloud disks. Then, the cloud management platform can receive the cloud disk creation request through the cloud disk creation bar.
[0085] 305. Based on the cloud disk creation request, the cloud management platform creates at least one cloud disk in at least one first storage node. The at least one cloud disk is used for users to access data stored in at least one first storage node.
[0086] Upon receiving the cloud disk creation request, the cloud management platform can determine that the user needs to create at least one cloud disk. Then, the cloud management platform can select at least one first storage node from the plurality of first storage nodes that can be used to create the at least one cloud disk (this at least one first storage node can be some or all of the plurality of first storage nodes).
[0087] After identifying at least one primary storage node, the cloud management platform can create at least one cloud disk on that storage node. In this way, if the user subsequently needs to process the data, they can access the data stored on the at least one storage node through the at least one cloud disk to complete the data processing.
[0088] Specifically, for any one of the at least one first storage node, the number of cloud disks created by the cloud management platform on that first storage node (i.e., the number of cloud disks contained in that first storage node) is less than or equal to the number of cloud disks that the first storage node can create (i.e., the aforementioned preset number).
[0089] Continuing with the example above, upon receiving the cloud disk creation request, the cloud management platform can determine that the user needs to create 5 cloud disks. Therefore, among storage node 1, storage node 2, and storage node 3, the cloud management platform can choose storage node 1 and storage node 3. Since storage node 1 caches one copy of this data, the cloud management platform can create one cloud disk (i.e., cloud disk 1) on storage node 1 that can use this data. Since storage node 3 caches two copies of this data, the cloud management platform can create one cloud disk (i.e., cloud disk 2) on storage node 3 that can use one copy of the data, and three cloud disks (i.e., cloud disk 3, cloud disk 4, and cloud disk 5) that can use the remaining copy of the data. In this way, the cloud management platform successfully creates 5 cloud disks for the user.
[0090] More specifically, the infrastructure managed by the cloud management platform may also include a computing cluster, which may contain at least one computing node created by the cloud management platform for the user. After at least one cloud disk is created on this at least one first storage node, if the user subsequently has a need to process the data, the user can trigger this at least one computing node, so that this at least one computing node can access the data stored on this at least one storage node through this at least one cloud disk, thereby completing the processing of the data.
[0091] It should be noted that cloud management platforms can typically allocate one cloud disk to one compute node, meaning a compute node can use its dedicated cloud disk to access the data. In other words, the number of these at least one cloud disk can be equal to the number of these at least one compute nodes.
[0092] As in the example above, when creating cloud disk 1, cloud disk 2, cloud disk 3, cloud disk 4, and cloud disk 5, the cloud management platform can allocate cloud disk 1 to the user's computing node 1, cloud disk 2 to the user's computing node 2, cloud disk 3 to the user's computing node 3, cloud disk 4 to the user's computing node 4, and cloud disk 5 to the user's computing node 5.
[0093] Therefore, when the user needs to process this data, they can trigger compute node 1 to access the data stored on storage node 1 through cloud disk 1, trigger compute node 2 to access the data stored on storage node 3 through cloud disk 2, trigger compute node 3 to access the data stored on storage node 3 through cloud disk 3, trigger compute node 4 to access the data stored on storage node 3 through cloud disk 4, and trigger compute node 5 to access the data stored on storage node 3 through cloud disk 5. In this way, the user's data processing needs can be fulfilled.
[0094] More specifically, the cloud management platform can also perform the following operations:
[0095] The cloud management platform can select at least one second storage node from the multiple storage nodes included in the first storage cluster. This at least one second storage node has the capability to create the aforementioned at least one cloud disk. The cloud management platform can then instruct the at least one second storage node to cache the data. At this point, the cloud management platform has completed the re-warming of this at least one cloud disk, that is, the warming up of at least one new cloud disk.
[0096] In this way, since the cloud management platform has already created at least one cloud disk on at least one first storage node, it is equivalent to some of the pre-warmed resources being used. In order to ensure that the first storage cluster always retains the amount of pre-warmed resources that meet the user's expectations, the cloud management platform can allow at least one selected second storage node and the aforementioned multiple first storage nodes to always cache the data. Therefore, the combination of at least one second storage node and multiple first storage nodes still has the ability to create the multiple cloud disks that the user initially needed, that is, to always maintain the pre-warmed resources that meet the user's expectations.
[0097] It is worth noting that the at least one second storage node and the at least one first storage node can be the same storage node or different storage nodes; there is no restriction here.
[0098] As in the example above, as shown in Figure 6 (Figure 6 is another structural schematic diagram of the cloud service system provided in this application embodiment), since storage node 1 and storage node 3 have already created 5 cloud disks, it indicates that 5 of the 30 cloud disks pre-warmed by the cloud management platform for this user have been used. Therefore, storage node 1, storage node 2, and storage node 3 currently only have the ability to create 25 cloud disks. Based on this, the cloud management platform can select storage node 4 from storage node 1 to storage node n, and notify storage node 4 to read this data from the external storage cluster and cache a copy of this data. Therefore, storage node 4 has the ability to create 5 cloud disks.
[0099] In this way, even though storage node 1 and storage node 3 have created 5 cloud disks, storage node 1, storage node 2, storage node 3 and storage node 4 still have the ability to create 30 cloud disks, which can maintain the preheating resources that meet the user's needs.
[0100] More specifically, the cloud management platform can also perform the following operations:
[0101] (1) For any one of the at least one cloud disks that have been created, if the cloud disk receives a deletion request sent by the user for the cloud disk (for example, the deletion request may be a request generated by the user deleting the computing node that uses the cloud disk, which in turn causes the cloud disk that can be used by the computing node to be deleted, or the deletion request may be a request generated by the user directly deleting the cloud disk, etc.), the cloud management platform may delete the cloud disk from the first storage node where it is located based on the deletion request.
[0102] Continuing with the example above, as shown in Figure 7 (Figure 7 is another structural schematic diagram of the cloud service system provided in this application embodiment), suppose that under certain circumstances, the user chooses to delete compute node 3, which will trigger the deletion of cloud disk 3. Based on this, the user's deletion operation will generate a deletion request and send it to cloud disk 3. After detecting the deletion request, the cloud management platform can directly delete compute node 3 and cloud disk 3. In this way, the number of cloud disks that can be created from storage node 3 is increased, which is equivalent to releasing some of the resources that have been used.
[0103] (2) For any one of the at least one cloud disks that has been created, if the cloud disk receives a modification request for the data sent by the user (for example, the modification request could be a request generated by the user triggering a compute node using the cloud disk to modify the data), the cloud management platform can, based on the modification request, notify the first storage node where the cloud disk is located to store the modified data indicated by the modification request. It should be noted that if the user modifies all of the data, the compute node using the cloud disk can only access the modified data stored in the first storage node where the cloud disk is located through the cloud disk. If the user modifies a part of the data, the compute node using the cloud disk can access not only the unmodified part of the data stored in the first storage node where the cloud disk is located, but also the modified data (i.e., the modified part of the data) stored in the first storage node where the cloud disk is located.
[0104] As in the example above, as shown in Figure 8 (Figure 8 is another structural diagram of the cloud service system provided in this application embodiment), suppose that under certain circumstances, the user wants to modify these data through compute node 3. Based on this, the user's modification operation on these data will generate a modification request and send it to cloud disk 3. After detecting the modification request, the cloud management platform can determine the modified data obtained based on these data modifications and control storage node 3 to cache the modified data. If these data are completely modified, the cloud management platform can remove the access relationship (reference relationship) between cloud disk 3 and these data, and add the access relationship between cloud disk 3 and the modified data. That is, the user can subsequently trigger compute node 3 to access the modified data stored in storage node 3 through cloud disk 3. If these data are only partially modified, the cloud management platform can maintain the access relationship between cloud disk 3 and the unmodified part of the data, and add the access relationship between cloud disk 3 and the modified data (the modified part of the data). That is, the user can subsequently trigger compute node 3 to access the unmodified part of the data and the modified data stored in storage node 3 through cloud disk 3 (Figure 8 illustrates this situation).
[0105] In this embodiment, when a user needs to preheat multiple cloud disks "storing" their data, the user can send a cloud disk preheating request to the preheating interface provided by the cloud management platform. This request indicates the multiple cloud disks associated with the data that need to be preheated. Based on this request, the cloud management platform can select multiple first storage nodes from the multiple storage nodes included in the first storage node and notify these multiple first storage nodes to cache the data. Since these multiple first storage nodes have the ability to create these multiple cloud disks, it is equivalent to these multiple cloud disks having completed preheating. Therefore, the cloud management platform can also notify the user that these multiple cloud disks have completed preheating. Then, if the user currently only needs to create at least one of the preheated cloud disks, the user can send a cloud disk preheating request to the creation interface provided by the cloud management platform. This request indicates the at least one cloud disk to be created. Based on this request, the cloud management platform can select at least one first storage node from the multiple first storage nodes and create the at least one cloud disk on the at least one first storage node. In this way, the at least one cloud disk that has been created can serve as the entry point for the user to access the data stored on the at least one first storage node, thereby enabling the user to access and process the data to meet the user's data processing needs. In the aforementioned process, the cloud management platform can pre-prepare multiple first storage nodes that cache the user's data through a preheating process. After determining the number of cloud disks the user needs to create, these cloud disks can be created in real-time on certain first storage nodes. Since the cloud management platform can create one or more cloud disks on a single first storage node, these first storage nodes with one or more cloud disks can be used by the user for data processing multiple times over. This improves the resource utilization of these first storage nodes and avoids the need for the cloud management platform to preheat too many first storage nodes in advance, thus saving resources to some extent.
[0106] Furthermore, in this embodiment of the application, since a first storage node can create one or more cloud disks, the cloud management platform can create a sufficient number of cloud disks on some first storage nodes according to the user's demand for cloud disks, instead of creating cloud disks on all first storage nodes. This can also save the cloud management platform's management cost for cloud disks to a certain extent.
[0107] Furthermore, in this embodiment of the application, even if some of the multiple first storage nodes have already created several cloud disks, causing the number of cloud disks that can be created by these multiple first storage nodes to decrease, the cloud management platform can manage the number of cloud disks that can be created by these multiple first storage nodes in real time (for example, by selecting at least one second storage node to cache the user's data, so that), in order to meet the number of cloud disks that the user expects to be created, that is, the number of preheated cloud disks.
[0108] Furthermore, in this embodiment of the application, since the cloud management platform can create one or more cloud disks on any first storage node through link cloning, the cloud disks can be deployed quickly, with the deployment time reaching the second level, thus improving the deployment speed.
[0109] Furthermore, in this embodiment, there are two processes: cloud disk preheating and cloud disk provisioning (creation). These two processes do not intrude on the original business of storage nodes and computing nodes. In this way, these two processes can be implemented without adjusting the current business processes of these nodes, which is conducive to maintaining the business stability of the entire cloud service system.
[0110] The above is a detailed description of the cloud disk management method based on a cloud management platform provided in the embodiments of this application. The cloud management platform provided in the embodiments of this application will be described below. Figure 9 is a structural schematic diagram of the cloud management platform provided in the embodiments of this application. As shown in Figure 9, the cloud management platform is used to manage a first storage cluster, which includes multiple storage nodes. The multiple storage nodes are located in at least one data center providing cloud services. Each data center includes at least one physical server, and each storage node includes at least one physical server. The cloud management platform includes:
[0111] The first receiving module 901 is used to receive a cloud disk preheating request sent by the user. The cloud disk preheating request is used to indicate multiple cloud disks associated with the user's data.
[0112] The first selection module 902 is used to select multiple first storage nodes from multiple storage nodes based on the cloud disk preheating request, and the multiple first storage nodes are used to create multiple cloud disks;
[0113] The first notification module 903 is used to notify multiple first storage nodes of cached data;
[0114] The second receiving module 904 is used to receive a cloud disk creation request sent by the user. The cloud disk creation request is used to indicate at least one cloud disk among a plurality of cloud disks.
[0115] Module 905 is used to create at least one cloud disk in at least one first storage node based on a cloud disk creation request. The at least one cloud disk is used for users to access data stored in at least one first storage node.
[0116] In one possible implementation, the first selection module is configured to: predict the user's access frequency to historical data based on the user's access frequency to obtain the user's access frequency to the data, and match the historical data with the data; obtain performance indicators of multiple storage nodes, the performance indicators including at least one of the following: the available capacity of multiple storage nodes, the read / write speed of multiple storage nodes, the throughput of multiple storage nodes, the network latency of multiple storage nodes, and the communication path between multiple storage nodes and the user's computing node; evaluate the multiple storage nodes based on the performance indicators and the user's access frequency to obtain the evaluation value of multiple storage nodes; and select multiple first storage nodes from the multiple storage nodes whose evaluation value is greater than or equal to a preset threshold.
[0117] In one possible implementation, in at least one first storage node, each first storage node contains a number of cloud disks less than or equal to a preset number, where the preset number is greater than one.
[0118] In one possible implementation, the cloud management platform further includes: a second selection module for selecting at least one second storage node from a plurality of storage nodes, wherein the at least one second storage node can be used to create at least one cloud disk; and a second notification module for notifying the at least one second storage node to cache data.
[0119] In one possible implementation, the cloud management platform further includes a deletion module, configured to: determine, for any one of at least one cloud disks, that the cloud disk has received a deletion request from a user; and delete the cloud disk from its location on the first storage node based on the deletion request.
[0120] In one possible implementation, the cloud management platform further includes a third notification module, configured to: determine, for any one of the at least one cloud disks, that the cloud disk has received a modification request for data sent by a user; and based on the modification request, notify the first storage node where the cloud disk is located to store the modified data, wherein the modification request is used to indicate the modified data, and the cloud disk is used for users to access the modified data stored on the first storage node.
[0121] In one possible implementation, the cloud management platform is also used to manage a second storage cluster that stores data, and a first notification module is used to notify multiple first storage nodes to retrieve data from the second storage cluster and store the data.
[0122] In one possible implementation, the cloud management platform is also used to manage a computing cluster, which includes at least one computing node for a user; at least one cloud disk is used for at least one computing node to access data stored on at least one first storage node, and the number of at least one cloud disk is equal to the number of at least one computing node.
[0123] In one possible implementation, each of the multiple storage nodes contains at least one physical server.
[0124] It should be noted that the information interaction and implementation process between the modules / units of the above-mentioned device are based on the same concept as the method embodiments of this application, and the resulting technical effects are the same as those of the method embodiments of this application. For details, please refer to the description in the method embodiments shown above in the embodiments of this application, and will not be repeated here.
[0125] Please refer to Figure 10, which is a schematic diagram of a computing device provided in an embodiment of this application. As shown in Figure 10, the computing device 1000 (which can be used to present the aforementioned cloud management platform) includes: a processor 1001, a memory 1002, a communication interface 1003, and a bus 1004. The processor 1001, the memory 1002, and the communication interface 1003 are coupled through the bus 1004. The memory 1002 stores instructions. When the execution instructions in the memory 1002 are executed, the computing device 1000 executes the method performed by the cloud management platform in the above-described method embodiment.
[0126] The computing device 1000 may be one or more integrated circuits configured to implement the methods described above, such as: one or more application-specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field-programmable gate arrays (FPGAs), or a combination of at least two of these forms of integrated circuits. Furthermore, when the units in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor capable of calling programs. Alternatively, these units may be integrated together and implemented as a system-on-a-chip (SOC).
[0127] The processor 1001 can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor can be a microprocessor or any conventional processor.
[0128] The memory 1002 can be volatile memory or non-volatile memory, or it can include both. The non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0129] The memory 1002 stores executable program code, and the processor 1001 executes this executable program code to implement the functions of the aforementioned first receiving module, first selection module, first notification module, second receiving module, and creation module, thereby realizing the cloud disk management method based on the cloud management platform. That is, the memory 1002 stores instructions for executing the aforementioned cloud disk management method based on the cloud management platform.
[0130] The communication interface 1003 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 1000 and other devices or communication networks.
[0131] In addition to the data bus, the 1004 bus can also include a power bus, a control bus, and a status signal bus. The bus can be a Peripheral Component Interconnect Express (PCIe) bus, an Extended Industry Standard Architecture (EISA) bus, a Unified Bus (Ubus or UB), a Compute Express Link (CXL) bus, a Cache Coherent Interconnect for Accelerators (CCIX) bus, etc. The bus can be divided into address bus, data bus, and control bus.
[0132] Please refer to Figure 11, which is a schematic diagram of a computing device cluster provided in an embodiment of this application. As shown in Figure 11, the computing device cluster 1100 includes at least one computing device 1000.
[0133] As shown in Figure 11, the computing device cluster 1100 includes at least one computing device 1000. The memory 1002 of one or more computing devices 1000 in the computing device cluster 1100 may store the same instructions for executing the cloud disk management method based on the cloud management platform described above.
[0134] In some possible implementations, the memory 1002 of one or more computing devices 1000 in the computing device cluster 1100 may also store partial instructions for executing the cloud disk management method based on the cloud management platform described above. In other words, a combination of one or more computing devices 1000 can jointly execute the cloud disk management method based on the cloud management platform described above.
[0135] It should be noted that the memory 1002 in different computing devices 1000 within the computing device cluster 1100 can store different instructions, which are used to execute certain functions of the aforementioned cloud management platform. That is, the instructions stored in the memory 1002 of different computing devices 1000 can implement the functions of one or more modules, such as the first receiving module, the first selection module, the first notification module, the second receiving module, and the creation module.
[0136] In some possible implementations, one or more computing devices 1000 in the computing device cluster 1100 can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc.
[0137] Please refer to Figure 12, which is a schematic diagram of computer devices in a computer cluster provided in an embodiment of this application being connected via a network. As shown in Figure 12, two computing devices 1000A and 1000B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0138] In one possible implementation, the memory in computing device 1000A stores instructions for performing the functions of modules such as the first receiving module and the second receiving module. Meanwhile, the memory in computing device 1000B stores instructions for performing the functions of modules such as the first selection module, the first notification module, and the creation module.
[0139] It should be understood that the functions of computing device 1000A shown in Figure 12 can also be performed by multiple computing devices. Similarly, the functions of computing device 1000B can also be performed by multiple computing devices.
[0140] This application also relates to a computer storage medium storing a program for signal processing, which, when run on a computer, causes the computer to perform the steps executed by the cloud management platform in the embodiment shown in FIG3.
[0141] This application also relates to a computer program product that stores instructions that, when executed by a computer, cause the computer to perform the steps performed by the cloud management platform in the embodiment shown in FIG3.
[0142] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0143] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0144] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0145] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0146] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A cloud hard disk management method based on a cloud management platform, characterized in that, The cloud management platform is used to manage a first storage cluster, which includes multiple storage nodes. These multiple storage nodes are located in at least one data center providing cloud services. Each data center includes at least one physical server, and each storage node includes at least one physical server. The method includes: The cloud management platform receives a cloud disk preheating request sent by the user, the cloud disk preheating request being used to indicate multiple cloud disks associated with the user's data; Based on the cloud disk preheating request, the cloud management platform selects multiple first storage nodes from the multiple storage nodes, and the multiple first storage nodes are used to create the multiple cloud disks; The cloud management platform notifies the multiple first storage nodes to cache the data; The cloud management platform receives a cloud disk creation request sent by the user, and the cloud disk creation request is used to indicate at least one cloud disk among the plurality of cloud disks; Based on the cloud disk creation request, the cloud management platform creates the at least one cloud disk in at least one first storage node, and the at least one cloud disk is used for the user to access the data stored in the at least one first storage node.
2. The method of claim 1, wherein, The cloud management platform selects multiple first storage nodes from the multiple storage nodes, including: The cloud management platform predicts the frequency of the user's access to the data based on the frequency of the user's access to historical data, and the historical data is matched with the data. The cloud management platform obtains performance metrics of the plurality of storage nodes, the performance metrics including at least one of the following: available capacity of the plurality of storage nodes, read and write speed of the plurality of storage nodes, throughput of the plurality of storage nodes, network latency of the plurality of storage nodes, and communication path between the plurality of storage nodes and the user's computing node; The cloud management platform evaluates the multiple storage nodes based on the performance indicators and the frequency of user access to the data, and obtains the evaluation values of the multiple storage nodes. The cloud management platform selects multiple first storage nodes from the multiple storage nodes whose evaluation values are greater than or equal to a preset threshold.
3. The method according to claim 1 or 2, characterized in that, In the at least one first storage node, each first storage node contains a number of cloud hard drives that are less than or equal to a preset number, and the preset number is greater than one.
4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: The cloud management platform selects at least one second storage node from the plurality of storage nodes, and the at least one second storage node can be used to create the at least one cloud disk; The cloud management platform notifies at least one second storage node to cache the data.
5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: For any one of the at least one cloud disks, the cloud management platform determines that the cloud disk has received a deletion request from the user. Based on the deletion request, the cloud management platform deletes the cloud disk from the first storage node where it resides.
6. The method according to any one of claims 1 to 5, characterized in that, The method further includes: For any one of the at least one cloud disks, the cloud management platform determines that the cloud disk has received a modification request for the data sent by the user; Based on the modification request, the cloud management platform notifies the first storage node where the cloud disk is located to store the modified data. The modification request is used to indicate the modified data, and the cloud disk is used for users to access the modified data stored on the first storage node.
7. The method according to any one of claims 1 to 6, characterized in that, The cloud management platform is also used to manage a second storage cluster, which stores the data. The cloud management platform notifies the plurality of first storage nodes to cache the data, including: The cloud management platform notifies the multiple first storage nodes to obtain the data from the second storage cluster and store the data.
8. The method according to any one of claims 1 to 7, characterized in that, The cloud management platform is also used to manage a computing cluster, which includes at least one computing node of the user. The at least one cloud hard disk is used for the at least one computing node to access the data stored in the at least one first storage node, and the number of the at least one cloud hard disk is equal to the number of the at least one computing node.
9. A cloud management platform, characterized by, The cloud management platform is used to manage a first storage cluster, which includes multiple storage nodes. These storage nodes are located in at least one data center providing cloud services. Each data center includes at least one physical server, and each storage node includes at least one physical server. The cloud management platform includes: The first receiving module is used to receive a cloud disk preheating request sent by the user, wherein the cloud disk preheating request is used to indicate multiple cloud disks associated with the user's data; The first selection module is used to select multiple first storage nodes from the multiple storage nodes based on the cloud disk preheating request, and the multiple first storage nodes are used to create the multiple cloud disks; The first notification module is used to notify the plurality of first storage nodes to cache the data; The second receiving module is used to receive the cloud disk creation request sent by the user, wherein the cloud disk creation request is used to indicate at least one cloud disk among the plurality of cloud disks; A creation module is configured to create at least one cloud disk in at least one first storage node based on the cloud disk creation request, wherein the at least one cloud disk is used for the user to access the data stored in the at least one first storage node.
10. The cloud management platform of claim 9, wherein, The first selection module is used for: Based on the frequency of the user's access to historical data, the frequency of the user's access to the data is predicted, and the historical data is matched with the data. Obtain performance metrics for the plurality of storage nodes, wherein the performance metrics include at least one of the following: available capacity of the plurality of storage nodes, read / write speed of the plurality of storage nodes, throughput of the plurality of storage nodes, network latency of the plurality of storage nodes, and communication path between the plurality of storage nodes and the user's computing node; Based on the performance metrics and the frequency of user access to the data, the multiple storage nodes are evaluated to obtain evaluation values for the multiple storage nodes. From the plurality of storage nodes, select a plurality of first storage nodes whose evaluation values are greater than or equal to a preset threshold.
11. The cloud management platform of claim 9 or 10, wherein, In the at least one first storage node, each first storage node contains a number of cloud hard drives that are less than or equal to a preset number, and the preset number is greater than one.
12. The cloud management platform of any of claims 9 to 11, wherein, The cloud management platform also includes: The second selection module is used to select at least one second storage node from the plurality of storage nodes, wherein the at least one second storage node can be used to create the at least one cloud disk; The second notification module is used to notify the at least one second storage node to cache the data.
13. The cloud management platform of any of claims 9 to 12, wherein, The cloud management platform also includes a deletion module, used for: For any one of the at least one cloud disks, it is determined that the cloud disk has received a deletion request from the user. Based on the deletion request, the cloud disk is deleted from the first storage node where it resides.
14. The cloud management platform of any of claims 9 to 13, wherein, The cloud management platform also includes: a third notification module, used for: For any one of the at least one cloud disks, it is determined that the cloud disk has received a modification request for the data sent by the user; Based on the modification request, the first storage node where the cloud disk is located is notified to store the modified data. The modification request is used to indicate the modified data, and the cloud disk is used for users to access the modified data stored on the first storage node.
15. The cloud management platform according to any of claims 9 to 14, characterized in that, The cloud management platform is also used to manage a second storage cluster, which stores the data. The first notification module is used to notify the plurality of first storage nodes to retrieve the data from the second storage cluster and store the data.
16. The cloud management platform of any of claims 9 to 15, wherein, The cloud management platform is also used to manage a computing cluster, which includes at least one computing node of the user. The at least one cloud hard disk is used for the at least one computing node to access the data stored in the at least one first storage node, and the number of the at least one cloud hard disk is equal to the number of the at least one computing node.
17. A cluster of computing devices, characterized in that, The computing device cluster includes at least one computing device, each computing device including a processor and memory: The memory is used to store instructions; The processor is configured to, according to the instructions, cause the computing device cluster to perform the method of any one of claims 1 to 8.
18. A computer storage medium, characterized in that, The computer storage medium stores one or more instructions that, when executed by one or more computers, cause the one or more computers to perform the method of any one of claims 1 to 8.
19. A computer program product, characterised in that, The computer program product stores instructions that, when executed by a computer, cause the computer to perform the method described in any one of claims 1 to 8.