Data processing method based on cloud management platform and cloud management platform
By dividing hot and non-hot memory areas in the cloud management platform and adjusting the data migration strategy based on performance degradation indicators, the problem of unreasonable memory offloading in the existing technology is solved, and efficient memory utilization and cost reduction are achieved.
Patent Information
- Application Number
- CN202410869137.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-03-18
- Filing Date
- 2024-06-28
- Publication Date
- 2025-09-19
AI Technical Summary
In the prior art, cloud management platforms only consider the maximum memory usage capacity when performing memory offloading, resulting in inefficient and inappropriate memory offloading, increasing tenant costs and reducing memory utilization.
The cloud management platform obtains the number of times tenants access the memory area, divides the area into hotspot and non-hotspot areas, and adjusts the data migration strategy based on performance degradation indicators, prioritizing the migration of non-hotspot data to storage nodes. At the same time, it considers the impact of migration on the performance of computing nodes and reasonably adjusts the subsequent data migration volume.
An efficient and reasonable memory offloading process is implemented, reducing tenant costs and improving memory utilization of computing nodes.
Smart Images

Figure CN120676043A_ABST
Abstract
Description
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on March 18, 2024, with application number 202410316265.6 and invention name “A memory pool management method and cloud management platform based on cloud management platform”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The embodiments of the present application relate to the field of cloud technology, and in particular to a data processing method based on a cloud management platform and a cloud management platform. Background Art
[0003] With the rapid development of cloud technology, more and more tenants are choosing to deploy their applications in the cloud, running them on cloud computing nodes to provide remote services to tenants. Due to the limited memory capacity of compute nodes, compute nodes often need to be combined with storage nodes to store a portion of tenant data to achieve memory offload and efficient resource utilization.
[0004] In cloud service systems provided by related technologies, a cloud management platform deploys compute nodes and storage nodes for tenants based on their needs. A tenant's compute node runs its applications, processes some of the tenant's data, and caches some of the tenant's data. A tenant's compute node is set with a maximum memory usage capacity. When a compute node's memory usage reaches this maximum capacity, the compute node continuously migrates data stored in its memory to the storage node, thereby achieving memory offloading.
[0005] In the above process, since only the maximum memory usage capacity is considered when the computing node is instructed to perform memory offloading, the factors considered are relatively simple and the memory offloading cannot be achieved efficiently and appropriately. Summary of the Invention
[0006] The embodiments of the present application provide a data processing method and a cloud management platform based on a cloud management platform, which can reduce the cost required for tenants to use the memory of computing nodes and improve the memory utilization of computing nodes.
[0007] A first aspect of an embodiment of the present application provides a data processing method based on a cloud management platform. The cloud management platform used to implement this method can manage the infrastructure that provides cloud services to tenants, including the tenants' computing nodes and storage nodes. The method includes:
[0008] For a tenant's compute node, the cloud management platform can obtain the number of times the tenant accesses multiple memory regions of the compute node. Among the multiple memory regions of the compute node, the cloud management platform can determine the memory region with the lowest number of tenant accesses as the first memory region, and the memory region with the highest number of tenant accesses as the second memory region. In other words, the first memory region is the hot memory region, and the second memory region is the non-hot memory region.
[0009] After obtaining the first memory area and the second memory area, the cloud management platform can migrate the first data stored in the first memory area to the storage node, thereby reducing the used capacity of the multiple memory areas of the computing node and increasing the available capacity of the multiple memory areas. This completes the initial memory offloading.
[0010] After migrating the first data, the cloud management platform can evaluate the performance of the computing node based on the migrated first data, thereby obtaining a performance degradation indicator of the computing node. It is worth noting that the performance degradation indicator of the computing node is used to indicate the degradation effect on the performance of the computing node caused by the cloud management platform migrating the first data from the first memory area to the storage node.
[0011] After obtaining the performance degradation index of the computing node, the cloud management platform can adjust the amount of second data to be subsequently migrated from the second memory area to the storage node based on the performance degradation index of the computing node and the amount of migrated first data as a reference benchmark, so as to complete the subsequent memory unloading more reasonably and efficiently.
[0012] From the above method, it can be seen that when the cloud management platform performs memory offloading between the computing node and the storage node, it can not only detect and distinguish between hot and cold memory areas of the computing node to prioritize unloading the first data in the first memory area to the storage node, but also consider the performance degradation caused by the unloaded first data to the computing node, so as to continue to perform memory offloading on the second memory area of the computing node within a reasonable performance degradation range of the computing node, that is, adjust the amount of second data to be subsequently unloaded from the second memory area to the storage node. It can be seen that the cloud management platform not only considers the priority of each memory area of the computing node during memory offloading, but also considers the impact of memory offloading on the performance of the computing node. The factors considered are relatively comprehensive, and the entire process of memory offloading can be implemented efficiently and reasonably. This not only reduces the cost required for tenants to use the memory of the computing node, but also improves the memory utilization of the computing node.
[0013] In one possible implementation, the method further includes: the cloud management platform receives the maximum usage capacity for multiple memory areas sent by the tenant through a configuration interface; the cloud management platform migrates the first data stored in the first memory area to the storage node, including: after determining that the used capacity of the multiple memory areas is greater than or equal to the maximum usage capacity, the cloud management platform migrates the first data stored in the first memory area to the storage node. In the aforementioned implementation, when the tenant purchases a computing node and a storage node, the cloud management platform may provide the tenant with a configuration interface so that the tenant inputs the maximum usage capacity of the multiple memory areas set by the tenant for the computing node into the configuration interface. Then, after dividing the multiple memory areas of the computing node into a first memory area and a second memory area, the cloud management platform may detect whether the used capacity of the multiple memory areas is greater than or equal to the maximum usage capacity set by the tenant for the multiple memory areas. If so, the cloud management platform migrates the first data stored in the first memory area to the storage node, thereby completing the memory unloading. It can be seen from this that the conditions for the cloud management platform to trigger memory unloading can be customized by the tenant, that is, the maximum usage capacity set by the tenant for multiple memory areas of the computing node. This allows the cloud management platform to strictly manage the used capacity (also understood as available capacity) of the computing node's memory in accordance with the tenant's intentions, thereby improving the tenant experience.
[0014] In one possible implementation, the method further includes: the cloud management platform receives a performance degradation index threshold for the computing node sent by the tenant through a configuration interface; the cloud management platform adjusts the amount of second data subsequently migrated from the second memory area to the storage node based on the performance degradation index, including: if the performance degradation index is greater than or equal to the performance degradation index threshold, the cloud management platform reduces the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of first data; if the performance degradation index is less than the performance degradation index threshold, the cloud management platform increases the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of first data. In the aforementioned implementation, when the tenant purchases the computing node and the storage node, the cloud management platform may provide the tenant with a configuration interface so that the tenant inputs the performance degradation index threshold for the computing node set by the tenant into the configuration interface. Then, after obtaining the performance degradation index of the computing node, the cloud management platform can detect whether the performance degradation index of the computing node is greater than or equal to the performance degradation index threshold set by the tenant for the computing node. If so, the cloud management platform can use the amount of the first data as a benchmark to reduce the amount of second data to be subsequently migrated from the second memory area to the storage node or migrate the first data from the storage node back to the first memory area. If not, the cloud management platform can use the amount of the first data as a benchmark to increase the amount of second data to be subsequently migrated from the second memory area to the storage node. It can be seen from this that the specific judgment conditions for the cloud management platform to adjust subsequent memory unloading can also be customized by the tenant, that is, the performance degradation index threshold set by the tenant for the computing node. This allows the cloud management platform to strictly adjust the amount of data stored in the memory of the computing node that needs to be migrated subsequently in accordance with the tenant's intention, thereby further improving the tenant experience.
[0015] In one possible implementation, the cloud management platform obtaining a performance degradation indicator of a computing node based on the first data includes: the cloud management platform determining the performance degradation indicator of the computing node based on information associated with the first data; wherein the information includes at least one of the following: the time required for the computing node to process an access request for the first data sent by a tenant before migrating the first data from the first memory area to the storage node; the time required for the computing node to process an access request for the first data sent by a tenant after migrating the first data from the first memory area to the storage node; the number of access requests for the first data sent by the tenant to the computing node before migrating the first data from the first memory area to the storage node; and the number of access requests for the first data sent by the tenant to the computing node after migrating the first data from the first memory area to the storage node. In the aforementioned implementation, after completing memory offloading, the cloud management platform may obtain information associated with the migrated first data, which may include: the time required for the computing node to process an access request for the first data sent by the tenant before migrating the first data from the first memory area to the storage node and the number of access requests for the first data sent by the tenant to the computing node. After migrating the first data from the first memory area to the storage node, the computing node processes information such as the time required for processing access requests for the first data sent by the tenant, and the number of access requests for the first data sent by the tenant to the computing node. After obtaining information associated with the first data, the cloud management platform can perform a series of calculations on this information to accurately obtain a performance degradation indicator for the computing node.
[0016] In one possible implementation, the method further includes: the cloud management platform obtains the number of times the tenant accesses multiple memory areas; the cloud management platform merges and / or splits the multiple memory areas based on the number of times the tenant accesses the multiple memory areas to obtain multiple memory areas with an adjusted number; the cloud management platform divides the multiple memory areas of the computing node into a first memory area and a second memory area, including: the cloud management platform divides the multiple memory areas with an adjusted number into a first memory area and a second memory area based on the number of times the tenant accesses the multiple memory areas with an adjusted number. In the aforementioned implementation, after obtaining the number of times the tenant accesses the multiple memory areas of the computing node, the cloud management platform can merge and / or split the multiple memory areas based on the number of times the tenant accesses the multiple memory areas of the computing node to obtain multiple memory areas with an adjusted number. Among them, in the case of merging and, among multiple memory areas of a computing node, for several memory areas that are located close to each other, if the difference between the number of times a tenant accesses these memory areas is less than or equal to a first threshold, the cloud management platform can merge these memory areas into a new memory area. For another example, for any memory area among the multiple memory areas, the cloud management platform can obtain the number of times a tenant accesses each sub-memory area in the memory area. If the difference between the number of times a tenant accesses these sub-memory areas is greater than or equal to a second threshold, the cloud management platform can divide the memory area into several new memory areas according to the boundaries between these sub-memory areas, and so on. Among the multiple memory areas after the number is adjusted, the cloud management platform can determine the memory area with a lower number of tenant accesses as the first memory area, and the memory area with a higher number of tenant accesses as the second memory area. It can be seen from this that the cloud management platform can merge or split the multiple memory areas of the computing node according to the number of times a tenant accesses these memory areas, which can reduce the subsequent operation of the cloud management platform to obtain the access count, thereby reducing the workload of the cloud management platform.
[0017] In one possible implementation, for any one of the multiple memory areas, the memory area includes multiple memory pages, and the cloud management platform uses the number of times the tenant accesses any one of the multiple memory pages as the number of times the tenant accesses the memory area.
[0018] In one possible implementation, the computing node and the storage node are any of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
[0019] In one possible implementation, the compute nodes and storage nodes are deployed at the same site or at different sites, where a site is any of the following: region, availability zone, data center, computer room, and cabinet.
[0020] A second aspect of an embodiment of the present application provides a cloud management platform, which is used to manage an infrastructure for providing cloud services, wherein the infrastructure includes computing nodes and storage nodes of tenants, and the cloud management platform includes: a partitioning module, which is used to partition multiple memory areas of the computing node into a first memory area and a second memory area, wherein the multiple memory areas store data of the tenants, and the number of times the tenants access the first memory area is less than the number of times the tenants access the second memory area; an unloading module, which is used to migrate first data stored in the first memory area to the storage node; an acquisition module, which is used to obtain a performance degradation index of the computing node based on the first data, wherein the performance degradation index is used to indicate the impact on the performance of the computing node after migrating the first data from the first memory area to the storage node; and an adjustment module, which is used to adjust the amount of second data subsequently migrated from the second memory area to the storage node based on the performance degradation index.
[0021] In one possible implementation, the cloud management platform also includes: a first receiving module, used to receive the maximum usage capacity for multiple memory areas sent by the tenant through the configuration interface; an unloading module, used to migrate the first data stored in the first memory area to the storage node after determining that the used capacity of the multiple memory areas is greater than or equal to the maximum usage capacity.
[0022] In one possible implementation, the cloud management platform also includes: a second receiving module, used to receive a performance degradation index threshold for a computing node sent by a tenant through a configuration interface; an adjustment module, used to: if the performance degradation index is greater than or equal to the performance degradation index threshold, reduce the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of first data; if the performance degradation index is less than the performance degradation index threshold, increase the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of first data.
[0023] In one possible implementation, an acquisition module is used to determine a performance degradation indicator of a computing node based on information associated with the first data; wherein the information includes at least one of the following: the time required for the computing node to process an access request for the first data sent by a tenant before migrating the first data from a first memory area to a storage node; the time required for the computing node to process an access request for the first data sent by a tenant after migrating the first data from the first memory area to the storage node; the number of access requests for the first data sent by the tenant to the computing node before migrating the first data from the first memory area to the storage node; and the number of access requests for the first data sent by the tenant to the computing node after migrating the first data from the first memory area to the storage node.
[0024] In one possible implementation, the cloud management platform also includes: a merging and splitting module, which is used to: obtain the number of times a tenant accesses multiple memory areas; merge and / or split the multiple memory areas based on the number of times the tenant accesses the multiple memory areas to obtain multiple memory areas with an adjusted number; and a dividing module, which is used to divide the multiple memory areas with an adjusted number into a first memory area and a second memory area based on the number of times the tenant accesses the multiple memory areas with an adjusted number.
[0025] In one possible implementation, for any one of the multiple memory regions, the memory region includes multiple memory pages, and the cloud management platform uses the number of times the tenant accesses any one of the multiple memory pages as the number of times the tenant accesses the memory region.
[0026] In one possible implementation, the computing node and the storage node are any of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
[0027] In one possible implementation, the compute nodes and storage nodes are deployed at the same site or at different sites, where a site is any of the following: region, availability zone, data center, computer room, and cabinet.
[0028] A third aspect of an embodiment of the present 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 enable the computing device cluster to execute the method described in the first aspect or any possible implementation method of the first aspect according to the instructions.
[0029] A fourth aspect of an embodiment of the present application provides a computer storage medium, which stores one or more instructions. When the instructions are executed by one or more computers, the one or more computers implement the method described in the first aspect or any possible implementation method of the first aspect.
[0030] A fifth aspect of the embodiments of the present application provides a computer program product, which stores instructions. When the instructions are executed by a computer, the computer implements the method described in the first aspect or any possible implementation method of the first aspect.
[0031] In an embodiment of the present application, the cloud management platform can divide the multiple memory areas of the computing node into a first memory area (non-hotspot memory area) and a second memory area (hotspot memory area) according to the number of times the tenant accesses the multiple memory areas of the computing node, and migrate the first data (i.e., non-hotspot data) stored in the first memory area to the storage node. Then, the cloud management platform can also determine the performance degradation index of the computing node based on the first data, and adjust the number of second data (hotspot data) subsequently accurately migrated from the second memory area to the storage node based on the performance degradation index of the computing node. In the aforementioned process, when the cloud management platform performs memory unloading between the computing node and the storage node, it can not only perform hot and cold detection and differentiation on the multiple memory areas of the computing node to prioritize unloading the first data in the first memory area to the storage node, but also consider the performance degradation caused to the computing node by the unloaded first data, so as to continue to perform memory unloading on the second memory area of the computing node within a reasonable performance degradation range of the computing node, that is, adjust the number of second data subsequently prepared to be unloaded from the second memory area to the storage node. It can be seen that the cloud management platform not only considers the priority of each memory area of the computing node during memory offloading, but also considers the impact of memory offloading on the performance of the computing node. The factors considered are relatively comprehensive and can efficiently and reasonably implement the entire process of memory offloading. This not only reduces the cost required for tenants to use the memory of the computing node, but also improves the memory utilization of the computing node. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] Figure 1 A schematic diagram of the structure of the cloud service system provided in an embodiment of the present application;
[0033] Figure 2a Another structural diagram of the cloud service system provided in an embodiment of the present application;
[0034] Figure 2b Another structural diagram of the cloud service system provided in an embodiment of the present application;
[0035] Figure 3 A flowchart of a data processing method based on a cloud management platform provided in an embodiment of the present application;
[0036] Figure 4 A schematic diagram of the structure of the cloud management platform provided in an embodiment of the present application;
[0037] Figure 5 A schematic diagram of the tenant interface provided in an embodiment of the present application;
[0038] Figure 6 A schematic diagram of the tenant interface provided in an embodiment of the present application;
[0039] Figure 7A schematic diagram of the structure of the cloud management platform provided in an embodiment of the present application;
[0040] Figure 8 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0041] Figure 9 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0042] Figure 10 A schematic diagram of computer devices in a computer cluster provided in an embodiment of the present application being connected via a network. DETAILED DESCRIPTION
[0043] The embodiments of the present application provide a data processing method and a cloud management platform based on a cloud management platform, which can reduce the cost required for tenants to use the memory of computing nodes and improve the memory utilization of computing nodes.
[0044] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, and this is merely a way of distinguishing the objects of the same attributes when describing them in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0045] With the rapid development of cloud technology, more and more tenants are choosing to deploy their applications in the cloud, running them on cloud computing nodes to provide remote services to tenants. Due to the limited memory capacity of compute nodes, compute nodes often need to be combined with storage nodes to store a portion of tenant data to achieve memory offload and efficient resource utilization.
[0046] In cloud service systems provided by related technologies, a cloud management platform deploys compute nodes and storage nodes for tenants based on their needs. A tenant's compute node runs its applications, processes some of the tenant's data, and caches some of the tenant's data. A tenant's compute node is set with a maximum memory usage capacity. When a compute node's memory usage reaches this maximum capacity, the compute node continuously migrates data stored in its memory to the storage node, thereby achieving memory offloading.
[0047] In the above process, since only the maximum memory usage capacity is considered when the computing node is instructed to perform memory unloading, the factors considered are relatively simple and memory unloading cannot be achieved efficiently and appropriately. That is to say, if the maximum memory usage capacity is not set appropriately (for example, the maximum usage capacity is too large or too small, etc.), it will not only cause the cost of tenants using the memory of the computing node to be too high, but also lead to low memory utilization of the computing node.
[0048] In order to solve the above problems, the present invention provides a data processing method based on a cloud management platform, which can be implemented through a cloud service system (for example, a public cloud system, etc.). Figure 1 A schematic diagram of the structure of the cloud service system provided in the embodiment of the present application is shown as follows: Figure 1 As shown in Figure 1, the cloud service system includes the infrastructure that can provide cloud services and the cloud management platform that manages this infrastructure. The following describes the cloud management platform and infrastructure separately:
[0049] The cloud management platform can coordinate the management of the infrastructure in the entire cloud service system (for example, in the infrastructure, according to the instructions of the tenant, it creates computing nodes and storage nodes that serve the tenant. The tenant's computing nodes can be used to run the applications specified by the tenant. The tenant's application will generate data when running on the computing node. This data can be stored in the computing node or unloaded by the computing node to the tenant's storage node for storage). The cloud management platform can also be open to tenants outside the cloud service system and respond to their requests. For example, the cloud management platform can provide various interfaces such as login interfaces and configuration interfaces for access by tenants' clients (for example, the terminal device used by the tenant or the browser on the terminal device, etc.). Among them, the cloud management platform can authenticate the tenant's client through the login interface, and after successful authentication, the tenant's client can be allowed to log in to the cloud management platform. For example, the cloud management platform can also allow the tenant's client to send the maximum memory usage capacity of the tenant's computing node or the performance degradation index threshold set by the tenant for its computing node to the cloud management platform through the configuration interface. Then, the cloud management platform can determine the used capacity of the tenant's computing node memory. If the used capacity of the computing node's memory is greater than or equal to the maximum used capacity, the cloud management platform can migrate part of the memory in the computing node to the storage node to achieve memory offloading. In addition, the cloud management platform will also determine the performance degradation index of the computing node based on the migrated data. The performance degradation index is used to represent the impact of the migrated data on the performance of the computing node. The cloud management platform can adjust the amount of data to be subsequently migrated from the computing node's memory to the storage node based on the relationship between the computing node's performance degradation index and the performance degradation index threshold.
[0050] The infrastructure includes compute nodes and storage nodes that serve tenants. The compute nodes run at least one tenant application. The data generated by these applications during operation is cached in the compute node's memory. When tenants access these applications, they call the data cached in the compute node's memory, which is equivalent to the tenant accessing the data cached in the compute node's memory. It should be noted that the cloud management platform can divide the compute node's memory into multiple memory areas of fixed size, each of which can store some of the tenant's data. Therefore, the cloud management platform can refer to memory areas that are frequently accessed by tenants as hot memory areas, and memory areas that are less frequently accessed by tenants as non-hot memory areas. Therefore, the data stored in hot memory areas can be referred to as hot data (this data is accessed frequently by tenants), and the data stored in non-hot memory areas can be referred to as non-hot data (this data is accessed less frequently by tenants). Therefore, the cloud management platform tends to offload non-hot data stored in non-hot memory areas of compute nodes to storage nodes for storage.
[0051] It is worth noting that once the cloud management platform migrates a certain part of the data (i.e., the aforementioned non-hotspot data) from the memory of the computing node to the storage node, the cloud management platform can obtain the performance degradation index of the computing node based on this part of the data. Since the performance degradation index of the computing node represents the impact on the performance of the computing node after migrating this part of the data, the cloud management platform can adjust the amount of another part of the data (i.e., the aforementioned hotspot data) to be subsequently migrated from the memory of the computing node to the storage node based on the performance degradation index, thereby efficiently and appropriately realizing memory unloading. This will not be expanded here.
[0052] Furthermore, the cloud management platform may include a hot and cold detection module, a memory offloading decision module and a performance evaluation module. Among them, the hot and cold detection module can detect in real time the number of times multiple memory areas in the computing node are accessed by tenants, so as to divide the multiple memory areas of the computing node into hot memory areas and non-hot memory areas, and notify the memory offloading decision module of the memory area division situation. The performance evaluation module can obtain the performance degradation index of the computing node, and notify the memory offloading decision module of the performance degradation index. The memory offloading decision module can migrate the data stored in the non-hot memory area of the computing node to the storage node based on the memory area division situation, and adjust the amount of data to be subsequently migrated from the hot memory area to the storage node based on the performance degradation index of the computing node. It is worth noting that modules such as the hot and cold detection module, the memory offloading decision module and the performance evaluation module can be deployed locally on the cloud management platform, or remotely deployed in the computing node of the tenant, as shown in the following example. Figure 2a and Figure 2b As shown ( Figure 2aAnother structural diagram of the cloud service system provided in an embodiment of the present application is shown. Figure 2b Another structural diagram of the cloud service system provided in an embodiment of the present application).
[0053] Furthermore, for a tenant's storage node, its type can be presented in a variety of ways. For example, a storage node is a storage node that can be accessed through a direct addressing mechanism. In this case, when a tenant sends an access request for a certain data to a computing node, the computing node will detect whether the data exists in its own multiple memory areas based on the access request. If it exists, it can obtain the data from a certain memory area and return the data to the tenant. If it does not exist, the computing node will obtain the data from the storage node and return the data to the tenant. For another example, a storage node is a storage node that can be accessed through a swap partition (swap) mechanism. In this case, when a tenant sends an access request for a certain data to a computing node, since the access request specifies a specific access address, the computing node can directly obtain the data from the computing node's own multiple memory areas or storage nodes based on the access address and return it to the tenant.
[0054] Furthermore, for the tenant's computing nodes and storage nodes, the computing nodes and storage nodes are all cloud instances in the infrastructure. These cloud instances can be presented in a variety of ways. For example, these cloud instances can be physical servers selected by the cloud management platform. For example, these cloud instances can be bare metal servers selected by the cloud management platform. For example, these cloud instances can be virtual machines (virtual machines, VMs) created by the cloud management platform on physical servers through virtualization technology. For example, these cloud instances can also be containers (docker) created by the cloud management platform on physical servers through virtualization technology. For example, these cloud instances can also be micro virtual machines (microVMs) created by the cloud management platform on physical servers through virtualization technology, and so on.
[0055] Furthermore, for the tenant's computing nodes and storage nodes, the computing nodes and storage nodes can be deployed in the same site or different sites. The site can be presented in various forms. For example, the site can be a region in the infrastructure, or an availability zone in the infrastructure, or a data center (DC) in the infrastructure, or a room in the infrastructure, or a cabinet in the infrastructure, etc.
[0056] Based on the above cloud service system, it can be seen that the cloud management platform can divide the multiple memory areas of the computing node into hot memory areas and non-hot memory areas, and migrate the data stored in the non-hot memory areas to the storage nodes. Then, the cloud management platform can also determine the performance degradation index of the computing node based on the migrated data, and adjust the amount of data to be accurately migrated from the hot memory area to the storage node based on the performance degradation index of the computing node. It can be seen that when the cloud management platform performs memory unloading between the computing node and the storage node, it can not only detect and distinguish between hot and cold memory areas of the computing node to prioritize unloading data in the non-hot memory area to the storage node, but also consider the performance degradation caused to the computing node by the data in the unloaded non-hot memory, so as to continue to unload memory for the hot memory area of the computing node within a reasonable performance degradation range of the computing node, that is, adjust the amount of data to be unloaded from the hot memory area to the storage node. It can be seen that the cloud management platform not only considers the priority of each memory area of the computing node during memory unloading (i.e., hot and cold conditions), but also considers the impact of memory unloading on the performance of the computing node. The factors considered are relatively comprehensive and can efficiently and reasonably implement the entire process of memory unloading. This can not only reduce the cost required for tenants to use the memory of the computing node, but also improve the memory utilization of the computing node. In order to further understand the workflow of the above cloud service system, the following is combined with Figure 3 To further explain this process, Figure 3 A flow chart of a data processing method based on a cloud management platform provided in an embodiment of the present application is shown as follows: Figure 3 As shown, this method can be achieved by Figure 1 The cloud service system implementation shown in the figure includes an infrastructure for providing cloud services and a cloud management platform for managing these infrastructure settings. The infrastructure includes computing nodes and storage nodes of tenants. The method includes:
[0057] 301. The cloud management platform divides multiple memory areas of a computing node into a first memory area and a second memory area. The multiple memory areas store tenant data. The number of times the tenant accesses the first memory area is less than the number of times the tenant accesses the second memory area.
[0058] In this embodiment, the cloud management platform can obtain the number of times a tenant accesses multiple memory areas of a computing node. Among the multiple memory areas of the computing node, the cloud management platform can determine a memory area with a lower number of tenant accesses as a first memory area (also referred to as a non-hotspot memory area), and determine a memory area with a higher number of tenant accesses as a second memory area (also referred to as a non-hotspot memory area). It can be seen that the number of times a tenant accesses the first memory area is less than the number of times the tenant accesses the second memory area.
[0059] Specifically, the cloud management platform may determine the first memory area and the second memory area in the following manner:
[0060] (1) Figure 4 As shown ( Figure 4 A structural diagram of the cloud management platform provided in an embodiment of the present application) For any one of the multiple memory areas of a computing node, the memory area may include multiple memory pages, and each memory page may store a certain amount of data. For the multiple memory pages of the memory area, the cloud management platform may use the number of times the tenant accesses any one of the multiple memory pages of the memory area as the number of times the tenant accesses the memory area. The cloud management platform may also perform similar operations for the remaining memory areas in the multiple memory areas except the memory area, so the cloud management platform may eventually obtain the number of times the tenant accesses the multiple memory areas of the computing node.
[0061] For example, the cloud management platform's hot / cold detection module can partition a tenant's compute node memory into multiple 2MB memory regions, each with a size of 2MB. For any of these regions, the hot / cold detection module randomly selects a memory page within that region and reads the number of times the tenant accesses that page, using this number as the number of times the tenant accesses that memory region. The same applies to regional memory regions. Therefore, the hot / cold detection module can obtain the number of times a tenant accesses each memory region in the compute node and record this number as the hot / cold status of the multiple memory regions.
[0062] (2) After obtaining the number of times the tenant accesses the multiple memory areas of the computing node, the cloud management platform can merge and / or split the multiple memory areas based on the number of times the tenant accesses the multiple memory areas of the computing node, to obtain multiple memory areas with adjusted numbers. For example, among the multiple memory areas of the computing node, for several memory areas that are close to each other, if the difference between the number of times the tenant accesses these several memory areas is less than or equal to a first threshold (the size of the threshold can be set according to actual needs and is not limited here), the cloud management platform can merge these several memory areas into a new memory area. For another example, for any one of the multiple memory areas, the cloud management platform can obtain the number of times the tenant accesses each sub-memory area in the memory area. If the difference between the number of times the tenant accesses these sub-memory areas is greater than or equal to a second threshold (the size of the threshold can be set according to actual needs and is not limited here), the cloud management platform can divide the memory area into several new memory areas according to the boundaries between these sub-memory areas, and so on.
[0063] Continuing with the previous example, within multiple memory regions of a compute node, if the difference in the number of times tenants access several adjacent memory regions is less than or equal to a small value, the hot / cold detection module can assume that the memory regions have similar heat levels and merge them into a new memory region. The size of this memory region is larger than 2MB. For a given memory region, if the difference in the number of times tenants access each sub-memory region within the memory region is greater than or equal to a large value, the hot / cold detection module can assume that the heat levels of the sub-memory regions within the memory region are different and split the memory region into new memory regions based on the boundaries of the sub-memory regions. The size of these new memory regions is smaller than 2MB. Continuous merging and splitting eventually results in multiple memory regions with adjusted numbers.
[0064] (3) After obtaining the multiple memory areas with adjusted numbers, the cloud management platform can obtain the number of times the tenant accesses the multiple memory areas with adjusted numbers. This process can be referred to the relevant instructions of step (1) and will not be repeated here.
[0065] Continuing with the above example, for any memory area in the adjusted number of memory areas, the hot / cold detection module can randomly select a memory page in that memory area, read the number of times the tenant accessed that memory page, and use this number as the number of times the tenant accessed that memory area. The same applies to regional memory areas. Therefore, the hot / cold detection module can obtain the number of times the tenant accessed the adjusted number of memory areas and record this number as the hot / cold status of the adjusted number of memory areas.
[0066] (4) After obtaining the number of times the tenants access the multiple memory areas after the number of adjustments, the cloud management platform may determine the memory area with the lower number of tenant accesses as the first memory area, and determine the memory area with the higher number of tenant accesses as the second memory area. It should be noted that the number of first memory areas may be one or more, and the number of second memory areas may be one or more. The first data stored in the first memory area is data with the lower number of tenant accesses (i.e., non-hotspot data), and the second data stored in the second memory area is data with the higher number of tenant accesses (i.e., hotspot data). In other words, the number of times the tenants access the first memory area is less than the number of times the tenants access the second memory area.
[0067] Still as in the above example, for multiple memory areas with adjusted numbers, the memory unloading decision module of the cloud management platform can obtain the number of times tenants access the multiple memory areas with adjusted numbers from the hot and cold detection module, so as to regard the memory areas with more tenant access times as hot memory areas, and regard the memory areas with fewer tenant access times as non-hot memory areas, thereby completing the hot and cold identification of memory areas.
[0068] 302. The cloud management platform migrates the first data stored in the first memory area to the storage node.
[0069] After determining the first memory area and the second memory area, the cloud management platform may migrate the first data stored in the first memory area to the storage node, thereby completing memory offloading.
[0070] Still like the above example, after determining the hot memory area and the non-hot memory area, the memory offloading decision module can migrate the data stored in the non-hot memory area to the storage node.
[0071] Specifically, the cloud management platform can complete memory offloading in the following ways:
[0072] When a tenant purchases a computing node and a storage node, the cloud management platform can provide a configuration interface (e.g., a tenant interface, etc.) to the tenant's client, so that the tenant can input the maximum usage capacity set by the tenant for multiple memory areas of the computing node into the configuration interface through its client. Therefore, the cloud management platform can receive the maximum usage capacity set by the tenant for the multiple memory areas of the computing node through the configuration interface. Then, after dividing the multiple memory areas of the computing node into a first memory area and a second memory area, the cloud management platform can detect whether the used capacity of the multiple memory areas is greater than or equal to the maximum usage capacity set by the tenant for the multiple memory areas. If so, the cloud management platform will migrate the first data stored in the first memory area to the storage node, thereby completing the memory unloading.
[0073] For example, Figure 5 As shown ( Figure 5 A schematic diagram of the tenant interface provided in this embodiment of the application. Figure 5 really Figure 4 When a tenant needs to purchase computing nodes and storage nodes, the cloud management platform can provide the tenant with a tenant interface. The tenant can enter the maximum memory usage capacity (8G) of the computing nodes and the maximum memory usage capacity (8G) of the storage nodes that they need to purchase on the tenant interface. Then, the cloud management platform can configure computing nodes with a maximum memory usage capacity of 8G and storage nodes with a maximum memory usage capacity of 8G for the tenant, and configure hot and cold detection modules, memory unloading decision modules and load performance evaluation modules for the computing nodes and storage nodes.
[0074] After the memory offloading decision module completes the hot and cold memory area identification for the computing node, the memory offloading decision module determines whether the used capacity of multiple memory areas of the computing node is greater than or equal to the maximum usage capacity set by the tenant. Assuming that the used capacity is 9G, which is greater than the maximum usage capacity, the memory offloading decision module will prioritize migrating the data stored in the non-hot memory area to the storage node to reduce the used capacity of multiple memory areas of the computing node, thereby completing memory offloading.
[0075] 303. The cloud management platform obtains a performance degradation indicator of the computing node based on the first data, where the performance degradation indicator is used to indicate the impact on the performance of the computing node after migrating the first data from the first memory area to the storage node.
[0076] After completing the memory unloading, the cloud management platform can evaluate the performance of the computing node based on the migrated first data, thereby obtaining a performance degradation index of the computing node. The performance degradation index of the computing node is used to indicate the impact on the performance of the computing node after the cloud management platform migrates the first data from the first memory area to the storage node.
[0077] Specifically, the cloud management platform can obtain the performance degradation indicators of computing nodes in the following ways:
[0078] After completing the memory unloading, the cloud management platform can obtain information associated with the migrated first data, which may include: (1) the time required for the computing node to process the access request for the first data sent by the tenant and the number of access requests for the first data sent by the tenant to the computing node before migrating the first data from the first memory area to the storage node. That is, before migrating the first data, the cloud management platform will collect the access requests for the first data sent by the tenant to the computing node in real time, and record the time required for the computing node to process the access requests for the first data and the number of these access requests. It can be understood that since the first data is still stored in the first memory area of the computing node at this time, the time required for the computing node to process the access requests for the first data is relatively short, and the number of these access requests depends on the needs of the tenant. (2) After migrating the first data from the first memory area to the storage node, the time required for the computing node to process the access requests for the first data sent by the tenant and the number of access requests for the first data sent by the tenant to the computing node. That is, after migrating the first data, the cloud management platform will collect the access requests for the first data sent by the tenant to the computing node in real time, and record the time required for the computing node to process the access requests for the first data and the number of these access requests. It can be understood that since the first data has been stored in the memory of the storage node at this time, the time required for the computing node to process the access requests for the first data is relatively long, and the number of these access requests depends on the needs of the tenant.
[0079] After obtaining the information associated with the first data, the cloud management platform may perform a series of calculations on the information (the specific calculation method is not limited here), thereby obtaining a performance degradation indicator of the computing node.
[0080] Still like Figure 4In the example shown, after migrating the data in the hot memory area to the storage node, the performance evaluation module can collect information associated with the migrated data. For example, before migrating the data, in a certain cycle T1 (for example, 5S, etc.) of the local memory operation of the computing node, the performance evaluation module can record in real time within T1 the number a of access requests for these data sent by the tenant to the computing node, and the time required for the computing node to process these access requests. The time can be presented as two indicators b and c, b is the time cycle_activity.stalls_total that the processor of the computing node waits for the memory of the computing node to read and write data when the computing node processes these access requests under the direct addressing mechanism, and c is the time memory.pressure that the thread of the computing node waits for data reading and writing when the computing node processes these access requests under the swap mechanism. For example, after migrating these data, in a certain cycle T2 (for example, 5S, etc.) of the local memory operation of the computing node, the performance evaluation module can record in real time the number x of access requests for these data sent by the tenant to the computing node within T2, and the time required for the computing node to process these access requests. This time can be presented as two indicators y and z, y is the time cycle_activity.stalls_total that the processor of the computing node waits for the memory of the computing node to read and write data when the computing node processes these access requests under the direct addressing mechanism, and z is the time memory.pressure that the thread of the computing node waits for data reading and writing when the computing node processes these access requests under the swap mechanism. Then, the performance evaluation module can calculate the performance degradation indicator Qos of the computing node through the following performance evaluation model degraded :
[0081]
[0082] In the above formula, C is the number of cycles, and T is the length of the cycle (for example, 5S, etc.). degraded After that, the performance evaluation module can degraded Provided to the memory offloading decision module.
[0083] 304. The cloud management platform adjusts the amount of second data subsequently migrated from the second memory area to the storage node based on the performance degradation indicator.
[0084] After obtaining the performance degradation index of the computing node, the cloud management platform can adjust the amount of second data to be subsequently migrated from the second memory area to the storage node based on the performance degradation index of the computing node, so as to complete the subsequent memory unloading more reasonably and efficiently.
[0085] Specifically, the cloud management platform can adjust subsequent memory offloading in the following ways:
[0086] When a tenant purchases a computing node and a storage node, the cloud management platform can provide a configuration interface to the tenant's client, so that the tenant can input the performance degradation index threshold set by the tenant for the computing node into the configuration interface through its client (the size of the threshold can be set according to actual needs and is not limited here). Therefore, the cloud management platform can receive the performance degradation index threshold set by the tenant for the computing node through the configuration interface. Then, after obtaining the performance degradation index of the computing node, the cloud management platform can detect whether the performance degradation index of the computing node is greater than or equal to the performance degradation index threshold set by the tenant for the computing node. If so, the cloud management platform can use the amount of the first data previously migrated as a benchmark to reduce the amount of the second data to be subsequently migrated from the second memory area to the storage node, or migrate part of the first data from the storage node back to the first memory area. If not, the cloud management platform can use the amount of the first data previously migrated as a benchmark to increase the amount of the second data subsequently migrated from the second memory area to the storage node.
[0087] For example, Figure 6 As shown, Figure 6 As shown ( Figure 6 A schematic diagram of the tenant interface provided in this embodiment of the application. Figure 6 really Figure 4 When tenants need to purchase computing nodes and storage nodes, the cloud management platform can provide tenants with a tenant interface where they can enter the maximum total memory usage capacity (16G) of the computing nodes and storage nodes they need to purchase, as well as the Qos threshold for the performance degradation indicator of the computing nodes. requirement (For example, 5%, etc.), then the cloud management platform can configure computing nodes with a maximum memory usage capacity of 6G and storage nodes with a maximum memory usage capacity of 10G for tenants, and configure hot and cold detection modules, memory unloading decision modules and load performance evaluation modules for the computing nodes and storage nodes.
[0088] Getting Qos degraded After that, the memory offloading decision module determines the Qos degraded and Qos requirement If Qos degraded Greater than or equal to QoS requirement , the memory unloading decision module migrates the data stored in part of the hot memory area to the storage node. The amount of data stored in the currently migrated part of the memory area is half of the amount of data stored in the non-hot memory area before, so that the new Qos can be quickly degradedLower than Qos requirement , that is, quickly reduce the degradation effect of memory offloading on the performance of computing nodes. degraded Less than QoS requirement , the memory unloading decision module migrates the data stored in part of the hot memory area to the storage node. The amount of data stored in the current migrated part of the memory area is greater than the amount of data stored in the previous non-hot memory area (for example, 1% more, etc.). When the new Qos degraded Achieve QoS requirement If the migration reaches 80%, stop increasing the amount of data to be migrated and maintain a stable migration state.
[0089] It should be understood that in this embodiment, if the computing node is a physical server, the entire memory of the physical server can be used by the computing node. If the computing node is a virtual machine among multiple virtual machines on the physical server, that is, multiple computing nodes are deployed on the physical server, the cloud management platform will ensure that the total memory capacity occupied by the multiple computing nodes does not exceed the total memory capacity of the physical server (for example, the former is 90% of the latter, etc.) when creating the computing node. In other words, each computing node can be allocated a certain amount of memory, and the memory of each computing node is divided into multiple memory areas. Therefore, the cloud management platform can obtain the performance degradation index of each computing node for each computing node to efficiently and reasonably achieve memory offloading for each computing node.
[0090] In an embodiment of the present application, the cloud management platform can divide the multiple memory areas of the computing node into a first memory area (non-hotspot memory area) and a second memory area (hotspot memory area) according to the number of times the tenant accesses the multiple memory areas of the computing node, and migrate the first data (i.e., non-hotspot data) stored in the first memory area to the storage node. Then, the cloud management platform can also determine the performance degradation index of the computing node based on the first data, and adjust the number of second data (hotspot data) subsequently accurately migrated from the second memory area to the storage node based on the performance degradation index of the computing node. In the aforementioned process, when the cloud management platform performs memory unloading between the computing node and the storage node, it can not only perform hot and cold detection and differentiation on the multiple memory areas of the computing node to prioritize unloading the first data in the first memory area to the storage node, but also consider the performance degradation caused to the computing node by the unloaded first data, so as to continue to perform memory unloading on the second memory area of the computing node within a reasonable performance degradation range of the computing node, that is, adjust the number of second data subsequently prepared to be unloaded from the second memory area to the storage node. It can be seen that the cloud management platform not only considers the priority of each memory area of the computing node during memory offloading, but also considers the impact of memory offloading on the performance of the computing node. The factors considered are relatively comprehensive and can efficiently and reasonably implement the entire process of memory offloading. This not only reduces the cost required for tenants to use the memory of the computing node, but also improves the memory utilization of the computing node.
[0091] The above is a detailed description of the data processing method based on the cloud management platform provided in the embodiment of the present application. The cloud management platform provided in the embodiment of the present application will be introduced below. Figure 7 A schematic diagram of the structure of the cloud management platform provided in the embodiment of the present application is shown as follows: Figure 7 As shown in Figure 1, the cloud management platform is used to manage the infrastructure that provides cloud services. The infrastructure includes tenants' computing nodes and storage nodes. The cloud management platform includes:
[0092] A partitioning module 701 is configured to partition multiple memory areas of a computing node into a first memory area and a second memory area, wherein the multiple memory areas store tenant data, and the number of times the tenant accesses the first memory area is less than the number of times the tenant accesses the second memory area;
[0093] An unloading module 702 is configured to migrate the first data stored in the first memory area to a storage node;
[0094] An acquisition module 703 is configured to acquire a performance degradation indicator of the computing node based on the first data, where the performance degradation indicator indicates an impact on the performance of the computing node after migrating the first data from the first memory area to the storage node.
[0095] The adjustment module 704 is configured to adjust the amount of second data subsequently migrated from the second memory area to the storage node based on the performance degradation indicator.
[0096] In one possible implementation, the cloud management platform also includes: a first receiving module, used to receive the maximum usage capacity for multiple memory areas sent by the tenant through the configuration interface; an unloading module, used to migrate the first data stored in the first memory area to the storage node after determining that the used capacity of the multiple memory areas is greater than or equal to the maximum usage capacity.
[0097] In one possible implementation, the cloud management platform also includes: a second receiving module, used to receive a performance degradation index threshold for a computing node sent by a tenant through a configuration interface; an adjustment module, used to: if the performance degradation index is greater than or equal to the performance degradation index threshold, reduce the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of first data; if the performance degradation index is less than the performance degradation index threshold, increase the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of first data.
[0098] In one possible implementation, an acquisition module is used to determine a performance degradation indicator of a computing node based on information associated with the first data; wherein the information includes at least one of the following: the time required for the computing node to process an access request for the first data sent by a tenant before migrating the first data from a first memory area to a storage node; the time required for the computing node to process an access request for the first data sent by a tenant after migrating the first data from the first memory area to the storage node; the number of access requests for the first data sent by the tenant to the computing node before migrating the first data from the first memory area to the storage node; and the number of access requests for the first data sent by the tenant to the computing node after migrating the first data from the first memory area to the storage node.
[0099] In one possible implementation, the cloud management platform also includes: a merging and splitting module, which is used to: obtain the number of times a tenant accesses multiple memory areas; merge and / or split the multiple memory areas based on the number of times the tenant accesses the multiple memory areas to obtain multiple memory areas with an adjusted number; and a dividing module, which is used to divide the multiple memory areas with an adjusted number into a first memory area and a second memory area based on the number of times the tenant accesses the multiple memory areas with an adjusted number.
[0100] In one possible implementation, for any one of the multiple memory regions, the memory region includes multiple memory pages, and the cloud management platform uses the number of times the tenant accesses any one of the multiple memory pages as the number of times the tenant accesses the memory region.
[0101] In one possible implementation, the computing node and the storage node are any of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
[0102] In one possible implementation, the compute nodes and storage nodes are deployed at the same site or at different sites, where a site is any of the following: region, availability zone, data center, computer room, and cabinet.
[0103] It should be noted that the information interaction, implementation process, etc. between the modules / units of the above-mentioned device are based on the same concept as the method embodiment of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the embodiment of the present application, and no further details will be given here.
[0104] See also Figure 8 , Figure 8 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. Figure 8 As shown, computing device 800 (which can be used to present the aforementioned cloud management platform) includes: a processor 801, a memory 802, a communication interface 803, and a bus 804. Processor 801, memory 802, and communication interface 803 are coupled via a bus (not labeled in the figure). Memory 802 stores instructions. When the execution instructions in memory 802 are executed, computing device 800 performs the method performed by the cloud management platform in the above method embodiment.
[0105] The computing device 800 may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For example, when a unit in the apparatus can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0106] The processor 801 may be a central processing unit (CPU), other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0107] Memory 802 may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory may 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. Volatile memory may be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct rambus RAM (DR RAM).
[0108] Memory 802 stores executable program code, and processor 801 executes the executable program code to implement the functions of the aforementioned modules, such as the partitioning module, the unloading module, the acquisition module, and the adjustment module, thereby implementing the aforementioned data processing method based on the cloud management platform. In other words, memory 802 stores instructions for executing the aforementioned data processing method based on the cloud management platform.
[0109] The communication interface 803 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 800 and other devices or a communication network.
[0110] In addition to the data bus, bus 804 may also include a power bus, a control bus, and a status signal bus. The bus may 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), or a Cache Coherent Interconnect for Accelerators (CCIX). Buses can be categorized as address buses, data buses, and control buses.
[0111] See also Figure 9 , Figure 9 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application. Figure 9 As shown, the computing device cluster 900 includes at least one computing device 800 .
[0112] like Figure 9 As shown, the computing device cluster 900 includes at least one computing device 800. The memory 802 in one or more computing devices 800 in the computing device cluster 900 may store the same instructions for executing the above-mentioned data processing method based on the cloud management platform.
[0113] In some possible implementations, the memory 802 of one or more computing devices 800 in the computing device cluster 900 may also store partial instructions for executing the aforementioned cloud management platform-based data processing method. In other words, a combination of one or more computing devices 800 can collectively execute the aforementioned cloud management platform-based data processing method.
[0114] It should be noted that the memory 802 in different computing devices 800 in the computing device cluster 900 can store different instructions, each for executing a portion of the functions of the aforementioned cloud management platform. In other words, the instructions stored in the memory 802 in different computing devices 800 can implement the functions of one or more modules such as the partitioning module, the uninstallation module, the acquisition module, and the adjustment module.
[0115] In some possible implementations, one or more computing devices 800 in the computing device cluster 900 may be connected via a network, which may be a wide area network or a local area network.
[0116] See also Figure 10 , Figure 10 A schematic diagram of computer devices in a computer cluster provided in an embodiment of the present application being connected via a network. Figure 10 As shown, two computing devices 800A and 800B are connected via a network. Specifically, the connection to the network is achieved through a communication interface in each computing device.
[0117] In one possible implementation, the memory of computing device 800A stores instructions for executing functions of modules such as the partition module and the uninstall module. Meanwhile, the memory of computing device 800B stores instructions for executing functions of modules such as the acquisition module and the adjustment module.
[0118] It should be understood that Figure 10 The functions of the computing device 800A shown in FIG. 8 may also be completed by multiple computing devices. Similarly, the functions of the computing device 800B may also be completed by multiple computing devices.
[0119] The embodiment of the present application also relates to a computer storage medium, in which a program for signal processing is stored. When the program is run on a computer, the computer executes the following Figure 3 The steps performed by the cloud management platform in the illustrated embodiment.
[0120] The present application also relates to a computer program product, which stores instructions. When the instructions are executed by a computer, the computer executes the following Figure 3 The steps performed by the cloud management platform in the illustrated embodiment.
[0121] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0122] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0123] The units described as separate components may or may not be physically separate, and 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 these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0124] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0125] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk, and other media that can store program code.
Claims
1. A data processing method based on a cloud management platform, characterized in that: The cloud management platform is used to manage the infrastructure for providing cloud services, wherein the infrastructure includes computing nodes and storage nodes of tenants. The method includes: The cloud management platform divides the multiple memory areas of the computing node into a first memory area and a second memory area, the multiple memory areas store the tenant's data, and the number of times the tenant accesses the first memory area is less than the number of times the tenant accesses the second memory area; The cloud management platform migrates the first data stored in the first memory area to the storage node; The cloud management platform obtains a performance degradation indicator of the computing node based on the first data, where the performance degradation indicator is used to indicate an impact on the performance of the computing node after migrating the first data from the first memory area to the storage node; The cloud management platform adjusts the amount of second data subsequently migrated from the second memory area to the storage node based on the performance degradation indicator.
2. The method according to claim 1, characterized in that The method further comprises: The cloud management platform receives the maximum usage capacity of the multiple memory areas sent by the tenant through the configuration interface; The cloud management platform migrating the first data stored in the first memory area to the storage node includes: After determining that the used capacity of the multiple memory areas is greater than or equal to the maximum used capacity, the cloud management platform migrates the first data stored in the first memory area to the storage node.
3. The method according to claim 1 or 2, characterized in that The method further comprises: The cloud management platform receives, through a configuration interface, a performance degradation indicator threshold for the computing node sent by the tenant; Adjusting, by the cloud management platform based on the performance degradation indicator, the amount of second data subsequently migrated from the second memory area to the storage node includes: If the performance degradation index is greater than or equal to the performance degradation index threshold, the cloud management platform reduces the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of the first data; If the performance degradation index is less than the performance degradation index threshold, the cloud management platform increases the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of the first data.
4. The method according to any one of claims 1 to 3, characterized in that The cloud management platform acquiring the performance degradation indicator of the computing node based on the first data includes: The cloud management platform determines a performance degradation indicator of the computing node based on information associated with the first data; The information includes at least one of the following: Before migrating the first data from the first memory area to the storage node, the time required by the computing node to process an access request for the first data sent by the tenant; After migrating the first data from the first memory area to the storage node, the time required for the computing node to process an access request for the first data sent by the tenant; before migrating the first data from the first memory area to the storage node, the number of access requests for the first data sent by the tenant to the computing node; The number of access requests for the first data sent by the tenant to the computing node after migrating the first data from the first memory area to the storage node.
5. The method according to any one of claims 1 to 4, characterized in that The method further comprises: The cloud management platform obtains the number of times the tenant accesses the multiple memory areas; The cloud management platform merges and / or splits the multiple memory areas based on the number of times the tenant accesses the multiple memory areas to obtain multiple memory areas with an adjusted number; The cloud management platform divides the multiple memory areas of the computing node into a first memory area and a second memory area, including: The cloud management platform divides the plurality of memory areas after the adjustment into a first memory area and a second memory area based on the number of times the tenant accesses the plurality of memory areas after the adjustment.
6. The method according to claim 5, characterized in that For any one of the multiple memory areas, the memory area includes multiple memory pages, and the cloud management platform uses the number of times the tenant accesses any one of the multiple memory pages as the number of times the tenant accesses the memory area.
7. The method according to any one of claims 1 to 6, characterized in that The computing node and the storage node are any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
8. The method according to any one of claims 1 to 7, characterized in that The computing node and the storage node are deployed in the same site or different sites, and the site is any one of the following: region, availability zone, data center, computer room, and cabinet.
9. A cloud management platform, characterized in that: The cloud management platform is used to manage the infrastructure that provides cloud services, which includes tenants' computing nodes and storage nodes. The cloud management platform includes: a partitioning module, configured to partition the plurality of memory areas of the computing node into a first memory area and a second memory area, wherein the plurality of memory areas store data of the tenant, and the number of times the tenant accesses the first memory area is less than the number of times the tenant accesses the second memory area; an unloading module, configured to migrate the first data stored in the first memory area to the storage node; an acquisition module, configured to acquire a performance degradation indicator of the computing node based on the first data, the performance degradation indicator being used to indicate an impact on the performance of the computing node after migrating the first data from the first memory area to the storage node; An adjustment module is configured to adjust the amount of second data subsequently migrated from the second memory area to the storage node based on the performance degradation indicator.
10. The cloud management platform according to claim 9, characterized in that: The cloud management platform also includes: A first receiving module is configured to receive, through a configuration interface, the maximum usage capacity of the multiple memory areas sent by the tenant; The unloading module is configured to migrate the first data stored in the first memory area to the storage node after determining that the used capacity of the multiple memory areas is greater than or equal to the maximum used capacity.
11. The cloud management platform according to claim 9 or 10, characterized in that: The cloud management platform also includes: A second receiving module is configured to receive, through a configuration interface, a performance degradation indicator threshold for the computing node sent by the tenant; The adjustment module is used to: If the performance degradation indicator is greater than or equal to the performance degradation indicator threshold, reducing the amount of second data subsequently migrated from the second memory area to the storage node based on the amount of the first data; If the performance degradation indicator is less than the performance degradation indicator threshold, the amount of second data subsequently migrated from the second memory area to the storage node is increased based on the amount of the first data.
12. The cloud management platform according to any one of claims 9 to 11, characterized in that: The acquisition module is configured to determine a performance degradation indicator of the computing node based on information associated with the first data; The information includes at least one of the following: Before migrating the first data from the first memory area to the storage node, the time required by the computing node to process an access request for the first data sent by the tenant; After migrating the first data from the first memory area to the storage node, the time required for the computing node to process an access request for the first data sent by the tenant; before migrating the first data from the first memory area to the storage node, the number of access requests for the first data sent by the tenant to the computing node; The number of access requests for the first data sent by the tenant to the computing node after migrating the first data from the first memory area to the storage node.
13. The cloud management platform according to any one of claims 9 to 12, characterized in that: The cloud management platform further includes a merging and splitting module, which is used to: Obtaining the number of times the tenant accesses the multiple memory areas; Merging and / or splitting the multiple memory areas based on the number of times the tenant accesses the multiple memory areas to obtain multiple memory areas with an adjusted number; The partitioning module is configured to partition the plurality of memory areas after the adjustment into a first memory area and a second memory area based on the number of times the tenant accesses the plurality of memory areas after the adjustment.
14. The cloud management platform according to claim 13, characterized in that: For any one of the multiple memory areas, the memory area includes multiple memory pages, and the cloud management platform uses the number of times the tenant accesses any one of the multiple memory pages as the number of times the tenant accesses the memory area.
15. The cloud management platform according to any one of claims 9 to 14, characterized in that: The computing node and the storage node are any one of the following: a physical server, a virtual machine, a container, a micro virtual machine, and a bare metal server.
16. The cloud management platform according to any one of claims 9 to 15, characterized in that: The computing node and the storage node are deployed in the same site or different sites, and the site is any one of the following: region, availability zone, data center, computer room, and cabinet.
17. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, each computing device including a processor and a memory: The memory is used to store instructions; The processor is configured to cause the computing device cluster to execute the method according to any one of claims 1 to 8 according to the instructions.
18. A computer storage medium, characterized in that The computer storage medium stores one or more instructions, which, when executed by one or more computers, enable the one or more computers to implement the method of any one of claims 1 to 8.
19. A computer program product, characterized in that The computer program product stores instructions, which, when executed by a computer, enable the computer to implement the method according to any one of claims 1 to 8.