Cloud management platform-based data management method and cloud management platform
By negotiating and determining the critical point of data versions through the cloud management platform, the problem of excessively long user waiting time in distributed systems was solved, enabling real-time data access and improving user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-08-27
- Publication Date
- 2026-07-09
AI Technical Summary
In distributed systems, users often have to wait a long time from initiating a data processing request to obtaining the processed data, resulting in a poor user experience.
The cloud management platform determines a final period as the critical point for data versioning by negotiating the arrival time of data processing requests between the main storage node and the user. If the user access request ends before the end of this period, the data before processing is returned; if it ends after the end of this period, the data after processing is returned, thus reducing the user's waiting time.
This method allows users to access data instantly before processing is complete, reducing waiting time and improving user experience.
Smart Images

Figure CN2025117169_09072026_PF_FP_ABST
Abstract
Description
A data management method based on a cloud management platform and the cloud management platform.
[0001] This application claims priority to Chinese Patent Application No. 202411998489.6, filed with the State Intellectual Property Office of China on December 31, 2024, entitled “A Data Management Method Based on a Cloud Management Platform and 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 data 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 distributed systems provided by cloud vendors to store their data. Distributed systems consist of multiple storage nodes located far from the user and in different geographical locations. These storage nodes can act as primary and backup nodes for each other, providing a certain level of security for the user's data.
[0004] In related technologies, a distributed system may include a primary storage node, backup storage nodes, and a cloud management platform that manages these storage nodes. The cloud management platform can store user data on the primary storage node and synchronize it to the backup storage nodes. In some cases, if a user needs to process this data, the cloud management platform can notify the primary storage node to process the data and synchronize the processed data to the backup storage nodes. Then, if the user subsequently needs to use the processed data, the cloud management platform can notify the backup storage nodes to provide the processed data to the user.
[0005] In the above process, if the data processing time is too long, there is often a large time gap between when the user sends a request to the cloud management platform and when the processed data is obtained. This will cause the user to wait too long, resulting in a poor user experience. Summary of the Invention
[0006] This application provides a data management method and a cloud management platform based on a cloud management platform, which can reduce the waiting time required for users to obtain data, thereby improving the user experience to a certain extent.
[0007] The first aspect of this application provides a data management method based on a cloud management platform. The cloud management platform implementing this method can manage the infrastructure providing cloud services. This infrastructure includes primary storage nodes and backup storage nodes created by the cloud management platform for users, and the primary and backup storage nodes store user data. The method includes:
[0008] When a user needs to process data stored on the primary and backup storage nodes, the user can input a data processing request into the data processing interface provided by the cloud management platform. In this way, the cloud management platform can receive the data processing request sent by the user through the data processing interface. The data processing request can be used to instruct the user to process the data.
[0009] Upon receiving a data processing request, the cloud management platform can determine the first period in which the data processing request arrived and notify the primary storage node to provide the cloud management platform with the second period in which the data processing request arrived.
[0010] After obtaining the second period data, the cloud management platform can instruct the primary storage node to process the data to obtain the processed data. Then, the cloud management platform can also instruct the primary storage node to synchronize the processed data to the backup storage node. Furthermore, the cloud management platform can compare the end time of the first period with the end time of the second period, determining the period with the latest end time as the third period.
[0011] When a user needs to access their data, they can input their configured data access request into the data access interface provided by the cloud management platform. The cloud management platform can then receive this data access request through the data access interface. This data access request can indicate to the user that they need to access their data, either the data before or after processing.
[0012] Upon receiving a data access request, the cloud management platform can compare the arrival time of the data access request with the end time of the third period. If the arrival time of the data access request is earlier than the end time of the third period, the cloud management platform can notify the backup storage node to provide the user with the data before processing. If the arrival time of the data access request is equal to or later than the end time of the third period, the cloud management platform can notify the backup storage node to provide the user with the data after processing.
[0013] As can be seen from the above method, the cloud management platform and the primary storage node negotiate with each other to determine the final period (i.e., the third period) in which the user's data processing request arrives as the critical point for the data version. In other words, if the user's data access request arrives later than the end time of the final period, it indicates that the data processing is usually complete, and the cloud management platform can have the backup storage node return the new version of the data (i.e., the processed data) to the user. If the user's data access request arrives earlier than the end time of the final period, it indicates that the data processing is not yet complete, and the cloud management platform can have the backup storage node directly return the old version of the data (i.e., the data before processing) to the user. In this way, the user does not need to wait for the data processing to be completed before they can read their data, which can reduce the user's waiting time and thus improve the user experience to a certain extent.
[0014] In one possible implementation, the primary storage node pre-configures multiple periods. In any two adjacent periods, the end time of the preceding period becomes the start time of the following period, and the second period is one of these periods. Alternatively, in this implementation, the primary storage node can pre-set multiple consecutive periods, where the end time of the preceding period becomes the start time of the following period. In this way, after receiving the arrival time of a data processing request from the cloud management platform, the primary storage node can accurately determine the period from these multiple periods as the second period and provide it to the cloud management platform. This second period then participates in the cloud management platform's process of determining the final period (i.e., the third period) in which the data processing request arrives, thereby achieving negotiation between the primary storage node and the cloud management platform.
[0015] In one possible implementation, the duration of any one of the multiple periods is determined based on at least one of the following: a preset duration, a clock offset of the primary storage node's timer, and a clock drift of the timer; wherein the timer is used to determine the start time and end time of the period; the clock offset is used to indicate the time required for the timer to send the start time of the period to the primary storage node, and the time required for the timer to send the end time of the period to the primary storage node; the clock drift is used to indicate the difference between the start time of the period determined by the timer and the start time of the period determined by the preset timer, and the difference between the end time of the period determined by the timer and the end time of the period determined by the preset timer. In the aforementioned implementation, for any one of the multiple periods of the primary storage node, the duration of that period can be calculated by the primary storage node using one or more of the following information: the preset duration, the clock offset of the primary storage node's timer, and the clock drift of the primary storage node's timer. The duration of the remaining periods in the primary storage node, other than that one period, can also be determined in a similar manner. This demonstrates that the primary storage node can autonomously divide the timeframe into multiple periods based on a certain algorithm, in order to negotiate with the cloud management platform in the future.
[0016] In one possible implementation, the cloud management platform notifies the backup storage node to provide the processed data to the user by: determining that the time when the processed data synchronization is completed is later than the time when the data access request arrives, and notifying the backup storage node to provide the processed data to the user at a target time, where the target time is later than or equal to the time when the processed data synchronization is completed. In the aforementioned implementation, if it is determined that the time when the data access request arrives is later than the end time of the third period, and the time when the processed data synchronization is completed is later than the time when the data access request arrives, it means that the primary storage node has completed data processing but not data synchronization. The user needs to wait for the data synchronization to complete. Therefore, the cloud management platform can notify the backup storage node to provide the processed data to the user at a certain time after the time when the processed data synchronization is completed (i.e., the target time). In this way, it can be ensured that all processed data is provided to the user completely, thus ensuring data consistency.
[0017] In one possible implementation, there are multiple primary storage nodes storing data. The cloud management platform notifies the primary storage nodes of the arrival time of the data processing request, which includes a second period in which the cloud management platform notifies multiple primary storage nodes of the arrival time of the data processing request. The cloud management platform determines the third period with the latest end time from the first and second periods, which includes the cloud management platform determining the period with the latest end time as the third period from the first and multiple second periods. In the aforementioned implementation, when there are multiple primary storage nodes serving the user, the cloud management platform can send the arrival time of the data processing request to these multiple primary storage nodes, and subsequently receive multiple second periods from these primary storage nodes. Then, the cloud management platform can compare the end time of the first period with the end times of these multiple second periods to determine the period with the latest end time as the third period. In this way, all multiple primary storage nodes can participate in the process of the cloud management platform determining the final period (i.e., the third period) in which the data processing request arrives, thereby realizing the negotiation between the multiple primary storage nodes and the cloud management platform.
[0018] In one possible implementation, the start times and end times of multiple second periods are different. In the aforementioned implementation, due to differences in the clock offsets and clock drifts of the timers of these multiple primary storage nodes, the start times and end times of the periods for these multiple primary storage nodes are different. Therefore, the start and end times of the multiple second periods returned by these multiple primary storage nodes to the cloud management platform are also different.
[0019] In one possible implementation, there are multiple backup storage nodes, with one primary storage node corresponding to at least one backup storage node among the multiple backup storage nodes. The multiple backup storage nodes store data. The cloud management platform notifies the primary storage nodes to process the data, obtain the processed data, and synchronize the processed data to the backup storage nodes. This includes: the cloud management platform notifying multiple primary storage nodes to process the data, obtain the processed data, and synchronize the processed data to the multiple backup storage nodes. The cloud management platform notifying the backup storage nodes to provide data to the user includes: the cloud management platform notifying multiple backup storage nodes to provide data to the user. The cloud management platform notifying the backup storage nodes to provide the processed data to the user includes: the cloud management platform notifying multiple backup storage nodes to provide the processed data to the user. In the aforementioned implementation, when there are multiple primary storage nodes serving the user, there are correspondingly multiple backup storage nodes, which store both the data before and after processing. Based on this, upon receiving a data access request, if the data access request arrives before the end time of the third period, the cloud management platform can notify the multiple backup storage nodes to provide the user with the data before processing. If the data access request arrives at a time equal to or later than the end time of the third period, the cloud management platform can notify the multiple backup storage nodes to provide the user with the processed data. In this way, the cloud management platform can control the multiple backup storage nodes to either provide the user with the data before processing or the data after processing, thus ensuring data consistency.
[0020] In one possible implementation, the primary or backup storage node includes: a physical server, a bare metal server, a virtual machine, a container, or a microvirtual machine.
[0021] A second aspect of this application provides a cloud management platform for managing infrastructure providing cloud services. The infrastructure includes a primary storage node and a backup storage node, which store user data. The cloud management platform includes: a receiving module for receiving data processing requests sent by users and obtaining a first period in which the data processing request arrives, the data processing request indicating data; a providing module for notifying the primary storage node to provide a second period in which the data processing request arrives; a first notification module for notifying the primary storage node to process the data, obtain the processed data, and synchronize the processed data to the backup storage node; a determining module for determining a third period with the latest end time from the first and second periods; the receiving module is further configured to receive data access requests sent by users, the data access requests indicating data or processed data; a second notification module for determining that the arrival time of the data access request is earlier than the end time of the third period and notifying the backup storage node to provide data to the user; and a second notification module for determining that the arrival time of the data access request is equal to or later than the end time of the third period and notifying the backup storage node to provide the processed data to the user.
[0022] In one possible implementation, the primary storage node is pre-configured with multiple periods, where the end time of the previous period is the start time of the next period in any two adjacent periods, and the second period is one of the multiple periods.
[0023] In one possible implementation, the duration of any one of the multiple periods is determined based on at least one of the following: a preset duration, a clock offset of a timer on the primary storage node, and a clock drift of the timer; wherein the timer is used to determine the start time and the end time of the period; the clock offset is used to indicate the duration required for the timer to send the start time of the period to the primary storage node, and the duration required for the timer to send the end time of the period to the primary storage node; and the clock drift is used to indicate the difference between the start time of the period determined by the timer and the start time of the period determined by the preset timer, and the difference between the end time of the period determined by the timer and the end time of the period determined by the preset timer.
[0024] In one possible implementation, the second notification module is used to determine that the time when the processed data is synchronized is later than the time when the data access request arrives, and to notify the backup storage node to provide the processed data to the user at a target time, which is later than or equal to the time when the processed data is synchronized.
[0025] In one possible implementation, there are multiple primary storage nodes, each storing data; a providing module is used to notify the multiple primary storage nodes of multiple second periods in which the data processing request arrives; and a determining module is used to determine the period with the latest end time from the first period and the multiple second periods as the third period.
[0026] In one possible implementation, the start times of multiple second periods are different, and the end times of multiple second periods are different.
[0027] In one possible implementation, there are multiple backup storage nodes, one of the multiple primary storage nodes corresponds to at least one of the multiple backup storage nodes, and the multiple backup storage nodes store data; a first notification module is used to notify the multiple primary storage nodes to process the data, obtain the processed data, and synchronize the processed data to the multiple backup storage nodes; a second notification module is used to notify the multiple backup storage nodes to provide data to the user; a third notification module is used to notify the multiple backup storage nodes to provide the processed data to the user.
[0028] In one possible implementation, the primary or backup storage node includes: a physical server, a bare metal server, a virtual machine, a container, or a microvirtual machine.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] In this embodiment, when a user needs to process data stored on the primary storage node and the backup storage node, the user can send a data processing request to the cloud management platform. Since the data processing request indicates the data being processed, the cloud management platform can first obtain the first period in which the data processing request arrived, and then notify the primary storage node to provide the cloud management platform with the second period in which the data processing request arrived. Next, the cloud management platform can select the period with the latest end time from the first and second periods as the third period in which the data processing request arrived. Then, the cloud management platform can notify the primary storage node to process the data and synchronize the processed data to the backup storage node. When a user needs to access their data, the user can send a data access request to the cloud management platform. Since the data access request indicates that the user needs to access their data (i.e., the data before processing or the data after processing), if the data access request arrives before the end time of the third period, the cloud management platform notifies the backup storage node to return the data before processing to the user; if the data access request arrives after the end time of the third period, the cloud management platform notifies the backup storage node to return the processed data to the user, thus satisfying the user's data access needs. In the aforementioned process, the cloud management platform and the primary storage node negotiate to determine the final period (i.e., the third period) in which the user's data processing request arrives as the critical point for the data version. In other words, if the user's data access request arrives later than the end time of the final period, it indicates that the data processing is usually complete, and the cloud management platform can have the backup storage node return the new version of the data (i.e., the processed data) to the user. If the user's data access request arrives earlier than the end time of the final period, it indicates that the data processing is not yet complete, and the cloud management platform can have the backup storage node directly return the old version of the data (i.e., the data before processing) to the user. In this way, the user does not need to wait for the data processing to be completed before they can read their data, which can reduce the user's waiting time and thus improve the user experience to a certain extent. Attached Figure Description
[0033] Figure 1 is a schematic diagram of a cloud service system provided in an embodiment of this application;
[0034] Figure 2 is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0035] Figure 3a is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0036] Figure 3b is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0037] Figure 3c is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0038] Figure 3d is another structural schematic diagram of the cloud service system provided in the embodiment of this application;
[0039] Figure 4 is a flowchart illustrating a data management method based on a cloud management platform provided in an embodiment of this application.
[0040] Figure 5 is a schematic diagram of different storage nodes during different periods provided in the embodiments of this application;
[0041] Figure 6 is a schematic diagram of the data provided in the embodiments of this application;
[0042] Figure 7 is a schematic diagram of the structure of a cloud management platform provided in an embodiment of this application;
[0043] Figure 8 is a schematic diagram of a computing device provided in an embodiment of this application;
[0044] Figure 9 is a schematic diagram of a computing device cluster provided in an embodiment of this application;
[0045] Figure 10 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 data management method and a cloud management platform based on a cloud management platform, which can reduce the waiting time required for users to obtain data, thereby improving the user experience 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 distributed systems provided by cloud vendors to store their data. Distributed systems consist of multiple storage nodes located far from the user and in different geographical locations. These storage nodes can act as primary and backup nodes for each other, providing a certain level of security for the user's data.
[0049] In related technologies, a distributed system may include a primary storage node, backup storage nodes, and a cloud management platform that manages these storage nodes. The cloud management platform can store user data on the primary storage node and synchronize it to the backup storage nodes. In some cases, if a user needs to process this data, the cloud management platform can define a preparation time. After the preparation time, it can notify the primary storage node to begin processing the data and synchronize the processed data to the backup storage nodes. Then, if the user subsequently needs to use the processed data, the cloud management platform can notify the backup storage nodes to provide the processed data to the user.
[0050] In the above process, the primary storage node and the backup storage node are coupled with each other. The backup storage node must complete the data preparation, data processing and data synchronization on the primary storage node. If the time spent on data preparation, data processing and data synchronization is too long, there is often a long time gap between when the user sends a request to the cloud management platform and when the user obtains the processed data. This will make the user wait too long, resulting in a poor user experience.
[0051] To address the aforementioned problems, this application provides a data management method based on a cloud management platform. This method can be implemented through a cloud service system (i.e., a distributed 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:
[0052] A cloud management platform can centrally manage the infrastructure of the entire cloud service system (for example, creating multiple storage nodes to meet a user's needs based on their instructions; these storage nodes can be used to store the user's data, etc.). The cloud management platform can also be open 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, data processing and acquisition, and data access interfaces for user clients (e.g., the user's terminal device or the browser on that device). Specifically, the cloud management platform can authenticate a user's client through the login interface, allowing the client to log in after successful authentication. Furthermore, the cloud management platform can also allow user clients to send data processing requests to the cloud management platform through the data processing interface. Since the data processing request indicates the data stored on the primary and backup storage nodes, the cloud management platform can first obtain the arrival time of the data processing request and then notify the primary storage node to provide the cloud management platform with the arrival time of the data processing request. Next, the cloud management platform can select the latest ending time from both the time period it determines when the data processing request arrives and the time period determined by the primary storage node as the final time period for the data processing request arrival. Then, the cloud management platform can notify the primary storage node to process this data and synchronize the processed data to the backup storage node. Alternatively, the cloud management platform can also allow user clients to send data access requests to the cloud management platform via a data access interface. Since the data access request indicates that the user needs to access their data (i.e., the data before or after processing), if the arrival time of the data access request is earlier than the end time of the final time period for which the data processing request arrives, the cloud management platform returns the data before processing to the user; if the arrival time of the data access request is later than the end time of the final time period for which the data processing request arrives, the cloud management platform returns the data after processing to the user, thus satisfying the user's data access needs.
[0053] The infrastructure includes at least one primary storage node and at least one backup storage node serving users. For any one of these primary storage nodes and backup storage nodes, the storage node may occupy any one or any combination of a certain amount of computing resources (e.g., central processing unit (CPU) and graphics processing unit (GPU) etc.), a certain amount of storage resources (e.g., memory and disks etc.), and a certain amount of network resources (e.g., network interface cards etc.), without any limitation.
[0054] It should be noted that, whether it is the primary storage node or the backup storage node serving the user, the storage resources of these storage nodes can be presented as one or more physical partitions. These physical partitions have a certain amount of storage space and can be used to store one or more pieces of data of the user.
[0055] It should also be noted that user data can be stored either centrally on a single primary storage node or distributed across multiple primary storage nodes. For any primary storage node serving a user, the cloud management platform can allocate at least one backup storage node to that primary storage node. Both the primary storage node and its assigned backup storage node can store the same data. Therefore, once the data on the primary storage node is processed, it can send the processed data to its assigned backup storage node for storage, thus completing data processing and synchronization, and achieving data consistency between the primary and backup nodes.
[0056] Further, as shown in Figure 2 (Figure 2 is another structural schematic diagram of the cloud service system provided in this application embodiment), the cloud management platform may include multiple interfaces (including the aforementioned login interface and resource acquisition interface, etc.), a coordinator, a log module, a processing module, and a replay module. The coordinator has a built-in consistency tracking protocol and a consistency read-only protocol. Under the instruction of the consistency tracking protocol, the coordinator can obtain the time period in which the user's data processing request arrives, and then forward the data processing request to at least one primary storage node serving the user. This allows the at least one primary storage node to return the time period in which the data processing request arrives to the coordinator. The coordinator can select the latest ending time from the time period in which it determines the arrival time of the data processing request, and the time period in which the at least one primary storage node determines the arrival time of the data processing request, as the final time period in which the data processing request arrives. The log module can record the final time period in which the data processing request arrives. The processing module can notify the at least one primary storage node to process the user's data, thereby obtaining the processed data. The replay module can notify the at least one primary storage node to synchronize the processed data to the backup storage nodes allocated to the at least one primary storage node. The protocol period can also, under the guidance of the consistent read-only protocol, determine whether the arrival time of a user's data access request precedes the end time of the final period in which the data processing request arrives. If so, the coordinator can read the pre-processed data from the backup storage node allocated to at least one primary storage node and return it to the user. If not, the coordinator can read the processed data from the backup storage node allocated to at least one primary storage node and return it to the user. It is worth noting that modules in the cloud management platform, such as the coordinator, logging module, processing module, and replay module, can be deployed either far from or near the storage nodes. For example, the cloud management platform's interfaces and other modules can be deployed at a site far from the storage node, while the coordinator, logging module, processing module, and replay module can be deployed at the storage node's site. Alternatively, the cloud management platform's interfaces, coordinator, logging module, processing module, and replay module can all be deployed at a site far from the storage node.
[0057] Furthermore, in the at least one primary storage node and at least one backup storage node serving the user, any one of these primary and backup storage nodes can be presented in various forms. For example, the storage node can be a physical server selected by the cloud management platform; it can also be a virtual machine (VM) created by the cloud management platform on cloud resources using virtualization technology; it can also be a container (Docker) created by the cloud management platform on cloud resources using virtualization technology; it can also be a micro VM created by the cloud management platform on cloud resources using virtualization technology; it can also be a bare metal server selected by the cloud management platform, and so on.
[0058] Furthermore, the primary and backup storage nodes serving users are typically deployed at different sites. When there are multiple primary and backup storage nodes serving users, these multiple primary storage nodes can be located at the same site or different sites, and these multiple backup storage nodes can also be located at the same site or different sites. These sites can be presented in various forms, such as regions, availability zones, data centers (DCs), server rooms, physical server groups (also known as racks), and so on.
[0059] For example, suppose a user has data 1 to data 6, and the cloud management platform stores data 1 to data 3 in primary storage node 1 and data 4 to data 6 in primary storage node 2. Primary storage node 1 synchronizes data 1 to data 3 to backup storage node 1, and primary storage node 2 synchronizes data 4 to data 6 to backup storage node 2. Then, when a user needs to access data 1 to data 6, the cloud management platform can read data 1 to data 6 from backup storage node 1 and backup storage node 2 and return it to the user. Among them, these four storage nodes can have multiple deployment methods: (1) As shown in Figure 3a (Figure 3a is another structural schematic diagram of the cloud service system provided in the embodiment of this application), primary storage node 1 and primary storage node 2 can be deployed in region 1, and backup storage node 1 and backup storage node 2 can be deployed in region 2. (2) As shown in Figure 3b (Figure 3b is another structural schematic diagram of the cloud service system provided in the embodiment of this application), primary storage node 1 can be deployed in region 1, primary storage node 2 can be deployed in region 2, and backup storage node 1 and backup storage node 2 can be deployed in region 3. (3) As shown in Figure 3c (Figure 3c is another structural schematic diagram of the cloud service system provided in the embodiment of this application), the primary storage node 1 and the primary storage node 2 can be deployed in region 1, the backup storage node 1 can be deployed in region 2, and the backup storage node 2 can be deployed in region 3. (4) As shown in Figure 3d (Figure 3d is another structural schematic diagram of the cloud service system provided in the embodiment of this application), the primary storage node 1 can be deployed in region 1, the primary storage node 2 can be deployed in region 2, the backup storage node 1 can be deployed in region 3, and the backup storage node 2 can be deployed in region 4.
[0060] Based on the aforementioned cloud service system, when a user needs to process data stored on the primary and backup storage nodes, the user can send a data processing request to the cloud management platform. Since the data processing request indicates the data being processed, the cloud management platform first obtains the arrival time of the data processing request and then notifies the primary storage node to provide the same arrival time. Next, the cloud management platform selects the latest arrival time from both its own determined arrival time and the primary storage node's determined arrival time as the final arrival time of the data processing request. Finally, the cloud management platform notifies the primary storage node to process this data and synchronize the processed data to the backup storage node. When a user needs to access (read) their data, the user can send a data access request to the cloud management platform. Since the data access request is used to indicate that the user needs to access their data (i.e., the data before processing or the data after processing), if the data access request arrives before the end time of the final period in which the data processing request arrives, the cloud management platform will notify the backup storage node to return the data before processing to the user. If the data access request arrives after the end time of the final period in which the data processing request arrives, the cloud management platform will notify the backup storage node to return the data after processing to the user, so as to meet the user's data access needs. In the aforementioned process, the cloud management platform and the primary storage node negotiate with each other to determine the final period in which the user's data processing request arrives as the critical point for data versioning (i.e., data consistency). In other words, if the user's data access request arrives later than the end time of the final period, it indicates that data processing is usually complete, and the cloud management platform can have the backup storage node return the new version of the data (i.e., the processed data) to the user. If the user's data access request arrives earlier than the end time of the final period, it indicates that data processing is not yet complete, and the cloud management platform can have the backup storage node directly return the old version of the data (i.e., the data before processing) to the user. In this way, the user does not need to wait for the data processing to be completed before they can read their data, which can reduce the user's waiting time and thus improve the user experience to a certain extent. To further understand the working process of the cloud management platform, the following description, in conjunction with Figure 4, illustrates this process. Figure 4 is a flowchart illustrating a data management method based on a cloud management platform provided in this embodiment. As shown in Figure 4, 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 primary storage nodes and backup storage nodes, which store user data. The method includes:
[0061] 401. The cloud management platform receives data processing requests sent by users and obtains the first period in which the data processing request arrives. The data processing request is used to indicate data.
[0062] In this embodiment, when a user needs to process data stored on the primary and backup storage nodes, the cloud management platform can provide a data processing interface to the user's client (e.g., a data processing bar in the user interface). The user can then input their configured data processing requests into the data processing interface through their client. In this way, the cloud management platform can receive the data processing requests sent by the user's client through the data processing interface. These data processing requests can be used to indicate the data stored on the primary and backup storage nodes, signifying that the user needs to process this data; this data can also be referred to as the data before processing.
[0063] Upon receiving a data processing request, the cloud management platform can record the arrival time of the request to further determine the first epoch containing that time. It's important to note that the cloud management platform can pre-set multiple consecutive epochs; that is, in any two adjacent epochs, the end time of the previous epoch becomes the start time of the next epoch. Therefore, the cloud management platform can determine the epoch containing the arrival time of the data processing request as the first epoch.
[0064] For example, suppose user data X1 and X2 are stored on primary storage node 1 and backup storage node 1, data Y1 and Y2 are stored on primary storage node 2 and backup storage node 2, and data Z1 and Z2 are stored on primary storage node 3 and backup storage node 3. All these data are version V1. When a user needs to process (or modify or write) this data, they can log in to the cloud management platform. The cloud management platform provides a user interface with a data processing section. The user can then input a data processing request for this data, which instructs them to change the version of this data from V1 to V2.
[0065] After receiving the data processing request through the data processing section, the cloud management platform can record the time when the data processing request arrived (let's say this time is 16). Since the cloud management platform is divided into multiple epochs, namely epoch1, epoch2, ..., epochN, the cloud management platform can determine that the data processing request arrived in epoch6 (i.e., the aforementioned first period), with the start time of epoch6 being 15.5 and the end time of epoch6 being 18.5.
[0066] 402. The cloud management platform notifies the primary storage node of the second period in which the data processing request arrives.
[0067] Upon receiving a data processing request, the cloud management platform can send the request and its arrival time to the primary storage node. This allows the primary storage node to determine the second period in which the data processing request arrived and return this second period to the cloud management platform. It's worth noting that the primary storage node can also pre-set multiple consecutive periods. That is, in any two adjacent periods, the end time of the previous period becomes the start time of the next period. Therefore, the primary storage node can determine the period in which the data processing request arrived as the second period from among these multiple periods.
[0068] Specifically, the cloud management platform can obtain the second phase through the following methods:
[0069] The number of primary storage nodes serving a user can be one or more. When there are multiple primary storage nodes serving a user, it means that the user's data is distributed across these multiple primary storage nodes. The cloud management platform can provide the arrival times of data processing requests for this data to these multiple primary storage nodes. For any one of these primary storage nodes, that primary storage node can determine the period in which the data processing request arrived from its multiple periods, then designate that period as the second period, and return the second period to the cloud management platform. The cloud management platform can also perform the same operations on the other primary storage nodes, so the cloud management platform can ultimately obtain multiple second periods provided by these multiple primary storage nodes.
[0070] Continuing with the example above, if the user's data is distributed across primary storage nodes 1 to 3, the cloud management platform can provide the arrival time of the data processing request to these nodes. Since primary storage node 1 is also divided into epochs 1, 2, ..., 3 (where N is a positive integer greater than or equal to 2), the primary storage node can determine that the arrival time of the data processing request is epoch 6 and return epoch 6 to the cloud management platform (the start time of epoch 6 is 14.5, and the end time of epoch 6 is 18). Similarly, primary storage node 2 and primary storage node 3 can also perform similar operations. Therefore, the cloud management platform can eventually receive the epoch 6 of the time when the data processing request was reached, returned by primary storage node 1 (hereinafter referred to as epoch 6 of primary storage node 1), the epoch 6 of the time when the data processing request was reached, returned by primary storage node 2 (the start time of epoch 6 is 12 and the end time of epoch 6 is 19), and the epoch 6 of the time when the data processing request was reached, returned by primary storage node 3 (the start time of epoch 6 is 15 and the end time of epoch 6 is 20). These three epochs 6 are the aforementioned multiple second periods.
[0071] More specifically, the duration of a primary storage node's period can be determined in the following ways:
[0072] Regardless of whether there are one or more primary storage nodes serving a user, for any primary storage node serving a user, the duration of any one of the multiple periods that the primary storage node has can be calculated by the primary storage node based on a certain algorithm using one or more of the following information: a preset duration (the size of which can be set according to actual needs and is not limited here), the clock offset of the primary storage node's timer, and the clock drift of the primary storage node's timer. Specifically, the primary storage node's timer is used to determine the start time and end time of the period; the primary storage node's clock offset is used to indicate the time required for the primary storage node's timer to send the start time of the period to the primary storage node and the time required for the primary storage node's timer to send the end time of the period to the primary storage node; and the primary storage node's clock drift is used to indicate the difference between the start time of the period determined by the primary storage node's timer and the start time of the period determined by the preset timer, as well as the difference between the end time of the period determined by the primary storage node's timer and the end time of the period determined by the preset timer.
[0073] It should be noted that the preset timer can be a timer designed to mimic real-world physical time or a reference timer developed in advance by a cloud vendor (the owner of a cloud service system), etc.
[0074] It should also be noted that for any primary storage node serving a user, the duration of different periods within the multiple periods of that primary storage node can be the same or different, and there is no restriction here.
[0075] It should also be noted that when there are multiple primary storage nodes serving users, the internal structures of different primary storage nodes differ, and the precision of their timers also varies. This typically leads to differences in clock skew and clock drift of the timers on different primary storage nodes. Consequently, the duration of the periods on different primary storage nodes will also differ. That is, the start time of the first period on these multiple primary storage nodes will be different, the end time of the first period on these multiple primary storage nodes will be different, the start time of the second period on these multiple primary storage nodes will be different, the end time of the second period on these multiple primary storage nodes will be different, and so on, until the start time of the last period on these multiple primary storage nodes is different, and the end time of the last period on these multiple primary storage nodes is different.
[0076] It can be seen that the multiple second periods returned by these multiple primary storage nodes to the cloud management platform usually have different start times and different end times.
[0077] As in the example above, as shown in Figure 5 (Figure 5 is a schematic diagram of the periods of different storage nodes provided in the embodiments of this application), for primary storage node 1, the duration I' of epoch 1 of primary storage node 1 is I' = I × (1 + D) + E, where I is the preset duration, D is the clock drift of the timer of primary storage node 1, and E is the duration offset of the timer of primary storage node 1. Similarly, epoch 2 to epoch N of primary storage node 1 can also be determined in a similar way. Similarly, the epoch 1 to epoch N of primary storage node 1 for primary storage nodes 2 and 3 are also determined in the same way, and will not be repeated here.
[0078] It is worth noting that the duration of epoch 1, epoch 2, ..., epoch N of primary storage node 1 can be the same or different. Similarly, the same applies to primary storage node 2 and primary storage node 3, which will not be elaborated further here.
[0079] It is also worth noting that the duration of epoch 1 on primary storage node 1, the duration of epoch 1 on primary storage node 2, and the duration of epoch 1 on primary storage node 3 are usually different, ... and the duration of epoch N on primary storage node 1, the duration of epoch N on primary storage node 2, and the duration of epoch N on primary storage node 3 are usually different. In other words, the end time of epoch 1 on primary storage node 1, the end time of epoch 1 on primary storage node 2, and the end time of epoch 1 on primary storage node 3 are usually different, the start time of epoch 2 on primary storage node 1, the start time of epoch 2 on primary storage node 2, and the start time of epoch 2 on primary storage node 3 are usually different, ... and the end time of epoch N on primary storage node 1, the end time of epoch N on primary storage node 2, and the end time of epoch N on primary storage node 3 are usually different.
[0080] Based on this, the start time of epoch 6 of primary storage node 1, the start time of epoch 6 of primary storage node 2, and the start time of epoch 6 of primary storage node 3 received by the cloud management platform are different, and the end time of epoch 6 of primary storage node 1, the end time of epoch 6 of primary storage node 2, and the end time of epoch 6 of primary storage node 3 are also different.
[0081] It should be understood that this embodiment only describes the process of determining the duration of multiple periods of the main storage node. The process of determining the duration of multiple periods of the cloud management platform is similar and will not be repeated here.
[0082] 403. The cloud management platform notifies the primary storage node to process the data, obtains the processed data, and synchronizes the processed data to the backup storage node.
[0083] After receiving the second data, the cloud management platform can instruct the primary storage node to process the data to obtain the processed data. Then, the cloud management platform can also instruct the primary storage node to synchronize the processed data to the backup storage node.
[0084] Specifically, the cloud management platform can complete data processing and data synchronization in the following ways:
[0085] When there are multiple primary storage nodes serving a user, there are also multiple backup storage nodes, and each primary storage node can be assigned at least one backup storage node. Since the data the user needs to process is distributed across these multiple storage nodes, the cloud management platform can instruct these primary storage nodes to process this data to obtain processed data. Then, the cloud management platform can also instruct these primary storage nodes to synchronize the processed data to these backup storage nodes to achieve data consistency between the primary and backup nodes.
[0086] As in the example above, after obtaining the epoch 6 of primary storage node 1, the epoch 6 of primary storage node 2, and the epoch 6 of primary storage node 3, the cloud management platform can notify primary storage nodes 1 to 3 to change the version of data X1, data X2, data Y1, data Y2, data Z1, and data Z2 from V1 to V2 respectively.
[0087] Next, the cloud management platform can also notify primary storage node 1 to synchronize data X1 and data X2 (version V2) to backup storage node 1. Primary storage node 1 will then synchronize data X1 and data X2 (version V2) to backup storage node 1. It's worth noting that primary storage node 1 completes the synchronization of data X1 and data X2 in time 21, primary storage node 2 completes the synchronization of data Y1 and data Y2 in time 23, and primary storage node 3 completes the synchronization of data Z1 and data Z2 in time 22.
[0088] 404. The cloud management platform determines the third phase, which has the latest end time, from the first and second phases.
[0089] After obtaining the second period, the cloud management platform can also compare the end time of the first period with the end time of the second period. If the end time of the first period is later than the end time of the second period, the cloud management platform can determine the first period as the third period. If the end time of the second period is later than the end time of the first period, the cloud management platform can determine the second period as the third period. The third period is the final period in which the data processing request arrives.
[0090] Specifically, the cloud management platform can determine the third phase in the following ways:
[0091] When there are multiple primary storage nodes serving a user, the cloud management platform can receive multiple second periods provided by these primary storage nodes. The cloud management platform can then compare the end time of the first period with the end times of these multiple second periods. If the end time of the first period is later than the end times of all the second periods, the cloud management platform can designate the first period as the third period. If the end time of any of the multiple second periods is later than the end times of the other second periods and the end time of the first period, the cloud management platform can designate that second period as the third period.
[0092] As in the example above, after obtaining epoch 6 of primary storage node 1, epoch 6 of primary storage node 2, and epoch 6 of primary storage node 3, since the end time of epoch 6 obtained by the cloud management platform is 18.5, the end time of epoch 6 of primary storage node 1 is 18, the end time of epoch 6 of primary storage node 2 is 19, and the end time of epoch 6 of primary storage node 3 is 20, the cloud management platform can determine epoch 6 of primary storage node 3 as the final epoch (i.e., the aforementioned third period) where the data processing request arrives.
[0093] It should be understood that this embodiment is only used to illustrate the execution of step 403 before step 404, and does not impose any restrictions on the execution order of steps 403 and 404. In practical applications, steps 403 and 404 can be executed in parallel, or step 403 can be executed later than step 404, etc.
[0094] 405. The cloud management platform receives data access requests sent by users. Data access requests are used to indicate data or processed data.
[0095] 406. The cloud management platform determines that the data access request arrives before the end time of the third period and notifies the backup storage node to provide the data to the user.
[0096] 407. The cloud management platform determines that the arrival time of the data access request is equal to or later than the end time of the third period, and notifies the backup storage node to provide the processed data to the user.
[0097] When a user needs to access their data, the cloud management platform can provide a data access interface to the user's client (e.g., a data access bar in the user interface). The user can then input their configured data access request into this interface through their client. In this way, the cloud management platform can receive the data access request sent by the user's client through the data access interface. This data access request can indicate to the user that they need to access their data, i.e., the data before or after processing.
[0098] Upon receiving a data access request, the cloud management platform can compare the arrival time of the data access request with the end time of the third period. If the arrival time of the data access request is earlier than the end time of the third period, the primary storage node may not have completed data processing yet, and the cloud management platform can notify the backup storage node to provide the user with the data before processing. If the arrival time of the data access request is equal to or later than the end time of the third period, the primary storage node may have completed data processing, and the cloud management platform can notify the backup storage node to provide the user with the processed data.
[0099] Specifically, the cloud management platform can return processed data to users in the following ways:
[0100] After determining that the arrival time of the data access request is later than the end time of the third period, the cloud management platform can further compare the time when the processed data is synchronized and the time when the data access request arrives. If the time when the processed data is synchronized is later than the time when the data access request arrives, it means that the primary storage node has completed data processing but has not completed data synchronization. The user needs to wait for the data synchronization to be completed. Therefore, the cloud management platform can notify the backup storage node to provide the processed data to the user at a target time. This target time is usually later than or equal to the time when the processed data is synchronized.
[0101] More specifically, the cloud management platform can return unprocessed or processed data to users in the following ways:
[0102] When there are multiple primary storage nodes serving a user, there are also multiple backup storage nodes. Upon receiving a data access request, the cloud management platform compares the arrival time of the data access request with the end time of the third period. If the arrival time of the data access request is earlier than the end time of the third period, the primary storage nodes may not have completed data processing yet, and the cloud management platform can notify the backup storage nodes to provide the user with the data before processing. If the arrival time of the data access request is equal to or later than the end time of the third period, the primary storage nodes may have completed data processing, and the cloud management platform can notify the backup storage nodes to provide the user with the processed data.
[0103] As in the example above, as shown in Figure 6 (Figure 6 is a schematic diagram of data provision provided in this application embodiment), when a user needs to access their data, the user can send a data access request to the cloud management platform. Assuming the data access request arrives at time 18, earlier than the end time (20) of epoch 6 of the primary storage node 3, the cloud management platform can notify backup storage nodes 1 to 3 to provide the user with data X1, X2, Y1, Y2, Z1, and Z2 of version V1 (Figure 6 illustrates this example). Assuming the data access request arrives at time 21, later than the end time (20) of epoch 6 of the primary storage node 3, but earlier than the time (23) when data Y1 and data Y2 complete synchronization, the cloud management platform can notify backup storage nodes 1 to 3 to provide the user with data X1, X2, Y1, Y2, Z1, and Z2 of version V2 at a later time (e.g., 23 or 24, etc.).
[0104] In this embodiment, when a user needs to process data stored on the primary storage node and the backup storage node, the user can send a data processing request to the cloud management platform. Since the data processing request indicates the data being processed, the cloud management platform can first obtain the first period in which the data processing request arrived, and then notify the primary storage node to provide the cloud management platform with the second period in which the data processing request arrived. Next, the cloud management platform can select the period with the latest end time from the first and second periods as the third period in which the data processing request arrived. Then, the cloud management platform can notify the primary storage node to process the data and synchronize the processed data to the backup storage node. When a user needs to access their data, the user can send a data access request to the cloud management platform. Since the data access request indicates that the user needs to access their data (i.e., the data before processing or the data after processing), if the data access request arrives before the end time of the third period, the cloud management platform notifies the backup storage node to return the data before processing to the user; if the data access request arrives after the end time of the third period, the cloud management platform notifies the backup storage node to return the processed data to the user, thus satisfying the user's data access needs. In the aforementioned process, the cloud management platform and the primary storage node negotiate to determine the final period (i.e., the third period) in which the user's data processing request arrives as the critical point for the data version. In other words, if the user's data access request arrives later than the end time of the final period, it indicates that the data processing is usually complete, and the cloud management platform can have the backup storage node return the new version of the data (i.e., the processed data) to the user. If the user's data access request arrives earlier than the end time of the final period, it indicates that the data processing is not yet complete, and the cloud management platform can have the backup storage node directly return the old version of the data (i.e., the data before processing) to the user. In this way, the user does not need to wait for the data processing to be completed before they can read their data, which can reduce the user's waiting time and thus improve the user experience to a certain extent.
[0105] Furthermore, in this embodiment, multiple primary storage nodes can independently generate multiple epochs to participate in the cloud management platform's process of determining the final epoch for the arrival time of data processing requests. This avoids over-centralization caused by the cloud management platform solely coordinating the entire data management process in terms of time. In other words, the data management process can be completed through negotiation between multiple primary storage nodes and the cloud management platform, which is beneficial for decentralization. The cloud management platform becomes a decentralized module, reducing its overhead and improving data management efficiency. Moreover, during the data management process, primary storage nodes do not need to engage in cross-node negotiation, further reducing their overhead.
[0106] Furthermore, in this embodiment of the application, after receiving the arrival times of data processing requests returned by multiple primary storage nodes, the cloud management platform can determine the final period (i.e., the data consistency point) of the arrival time of the data processing requests through a one-time comparison. This can efficiently confirm the final period, thereby further reducing the latency of the process of determining the final period.
[0107] The above is a detailed description of the data 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 7 is a structural schematic diagram of the cloud management platform provided in the embodiments of this application. As shown in Figure 7, the cloud management platform is used to manage the infrastructure providing cloud services. The infrastructure includes a primary storage node and a backup storage node. The primary storage node and the backup storage node store user data. The cloud management platform includes:
[0108] The receiving module 701 is used to receive a data processing request sent by the user and obtain the first period in which the data processing request arrives. The data processing request is used to indicate data.
[0109] Module 702 is provided to notify the primary storage node of the second period in which the data processing request arrives;
[0110] The first notification module 703 is used to notify the primary storage node to process the data, obtain the processed data, and synchronize the processed data to the backup storage node.
[0111] Module 704 is used to determine the third period with the latest end time from the first period and the second period;
[0112] The receiving module 701 is also used to receive data access requests sent by users, the data access requests being used to indicate data or processed data;
[0113] The second notification module 705 is used to determine that the arrival time of the data access request is earlier than the end time of the third period, and to notify the backup storage node to provide the data to the user.
[0114] The second notification module 705 is also used to determine that the time when the data access request arrives is equal to or later than the end time of the third period, and to notify the backup storage node to provide the processed data to the user.
[0115] In one possible implementation, the primary storage node is pre-configured with multiple periods. In any two adjacent periods, the end time of the previous period is the start time of the next period, and the second period is one of the multiple periods.
[0116] In one possible implementation, the duration of any one of the multiple periods is determined based on at least one of the following: a preset duration, a clock offset of a timer on the primary storage node, and a clock drift of the timer; wherein the timer is used to determine the start time and the end time of the period; the clock offset is used to indicate the duration required for the timer to send the start time of the period to the primary storage node, and the duration required for the timer to send the end time of the period to the primary storage node; and the clock drift is used to indicate the difference between the start time of the period determined by the timer and the start time of the period determined by the preset timer, and the difference between the end time of the period determined by the timer and the end time of the period determined by the preset timer.
[0117] In one possible implementation, the second notification module is used to determine that the time when the processed data is synchronized is later than the time when the data access request arrives, and to notify the backup storage node to provide the processed data to the user at a target time, which is later than or equal to the time when the processed data is synchronized.
[0118] In one possible implementation, there are multiple primary storage nodes, each storing data; a providing module is used to notify the multiple primary storage nodes of multiple second periods in which the data processing request arrives; and a determining module is used to determine the period with the latest end time from the first period and the multiple second periods as the third period.
[0119] In one possible implementation, the start times of multiple second periods are different, and the end times of multiple second periods are different.
[0120] In one possible implementation, there are multiple backup storage nodes, one of the multiple primary storage nodes corresponds to at least one of the multiple backup storage nodes, and the multiple backup storage nodes store data; a first notification module is used to notify the multiple primary storage nodes to process the data, obtain the processed data, and synchronize the processed data to the multiple backup storage nodes; a second notification module is used to notify the multiple backup storage nodes to provide data to the user; a third notification module is used to notify the multiple backup storage nodes to provide the processed data to the user.
[0121] In one possible implementation, the primary or backup storage node includes: a physical server, a bare metal server, a virtual machine, a container, or a microvirtual machine.
[0122] 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.
[0123] Please refer to Figure 8, which is a schematic diagram of a computing device provided in an embodiment of this application. As shown in Figure 8, the 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. The processor 801, the memory 802, and the communication interface 803 are coupled through the bus (not labeled in the figure). The memory 802 stores instructions. When the execution instructions in the memory 802 are executed, the computing device 800 executes the method performed by the cloud management platform in the above method embodiment.
[0124] The computing device 800 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 to implement a system-on-a-chip (SOC).
[0125] The processor 801 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.
[0126] The memory 802 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).
[0127] The memory 802 stores executable program code, and the processor 801 executes this executable program code to implement the functions of the aforementioned receiving module, providing module, first notification module, determining module, and second notification module, thereby realizing the aforementioned data management method based on the cloud management platform. That is, the memory 802 stores instructions for executing the aforementioned data management method based on the cloud management platform.
[0128] The communication interface 803 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 800 and other devices or communication networks.
[0129] In addition to the data bus, the 804 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.
[0130] Please refer to Figure 9, which is a schematic diagram of a computing device cluster provided in an embodiment of this application. As shown in Figure 9, the computing device cluster 900 includes at least one computing device 800.
[0131] As shown in Figure 9, the computing device cluster 900 includes at least one computing device 800. The memory 802 of one or more computing devices 800 in the computing device cluster 900 may store the same instructions for executing the aforementioned data management method based on the cloud management platform.
[0132] 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 data management method based on the cloud management platform. In other words, a combination of one or more computing devices 800 can jointly execute the aforementioned data management method based on the cloud management platform.
[0133] It should be noted that the memory 802 in different computing devices 800 within the computing device cluster 900 can store different instructions, each used to execute a portion of the functions of the aforementioned cloud management platform. That is, the instructions stored in the memory 802 of different computing devices 800 can implement the functions of one or more modules, such as the receiving module, the providing module, the first notification module, the determining module, and the second notification module.
[0134] In some possible implementations, one or more computing devices 800 in the computing device cluster 900 can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc.
[0135] Please refer to Figure 10, which is a schematic diagram of computer devices in a computer cluster provided in this application embodiment being connected via a network. As shown in Figure 10, two computing devices 800A and 800B are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0136] In one possible implementation, the memory in computing device 800A stores instructions for performing the functions of modules such as the receiving module. Meanwhile, the memory in computing device 800B stores instructions for performing the functions of modules such as the providing module, the first notification module, the determining module, and the second notification module.
[0137] It should be understood that the functions of computing device 800A shown in Figure 10 can also be performed by multiple computing devices. Similarly, the functions of computing device 800B can also be performed by multiple computing devices.
[0138] 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 FIG4.
[0139] 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 FIG4.
[0140] 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.
[0141] 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.
[0142] 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.
[0143] 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.
[0144] 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 data management method based on a cloud management platform, characterized in that, The cloud management platform is used to manage the infrastructure providing cloud services. The infrastructure includes a primary storage node and a backup storage node, which store user data. The method includes: The cloud management platform receives the data processing request sent by the user and obtains the first period in which the data processing request arrives. The data processing request is used to indicate the data. The cloud management platform notifies the primary storage node to provide the second period in which the data processing request arrives. The cloud management platform notifies the primary storage node to process the data, obtain the processed data, and synchronize the processed data to the backup storage node; The cloud management platform determines the third period, which has the latest end time, from the first period and the second period. The cloud management platform receives a data access request sent by the user, the data access request being used to indicate the data or the processed data; The cloud management platform determines that the data access request arrives before the end time of the third period, and notifies the backup storage node to provide the data to the user. The cloud management platform determines that the arrival time of the data access request is equal to or later than the end time of the third period, and notifies the backup storage node to provide the processed data to the user.
2. The method according to claim 1, characterized in that, The primary storage node is pre-configured with multiple periods. In any two adjacent periods, the end time of the previous period is the start time of the next period, and the second period is one of the multiple periods.
3. The method according to claim 2, characterized in that, The duration of any one of the plurality of periods is determined based on at least one of the following: a preset duration, the clock offset of the timer of the main storage node, and the clock drift of the timer; The timer is used to determine the start time and end time of the period. The clock offset is used to indicate the duration required for the timer to send the start time of the period to the main storage node, and the duration required for the timer to send the end time of the period to the main storage node; The clock drift is used to indicate the difference between the start time of the period determined by the timer and the start time of the period determined by the preset timer, and the difference between the end time of the period determined by the timer and the end time of the period determined by the preset timer.
4. The method according to any one of claims 1 to 3, characterized in that, The cloud management platform notifies the backup storage node to provide the user with the processed data, including: The cloud management platform determines that the time when the processed data is synchronized is later than the time when the data access request arrives, and notifies the backup storage node to provide the processed data to the user at a target time, wherein the target time is later than or equal to the time when the processed data is synchronized.
5. The method according to any one of claims 1 to 4, characterized in that, There are multiple main storage nodes, and the data is stored on the multiple main storage nodes. The second period in which the cloud management platform notifies the primary storage node of the arrival time of the data processing request includes: The cloud management platform notifies the multiple primary storage nodes to provide multiple second periods in which the data processing request arrives; The cloud management platform determines the third period, which has the latest end time, from the first period and the second period, including: The cloud management platform determines the period with the latest end time from the first period and the plurality of second periods as the third period.
6. The method according to claim 5, characterized in that, The multiple second periods have different start times and different end times.
7. The method according to claim 5 or 6, characterized in that, The number of backup storage nodes is multiple, and one of the multiple primary storage nodes corresponds to at least one backup storage node among the multiple backup storage nodes. The multiple backup storage nodes store the data. The cloud management platform notifies the primary storage node to process the data, obtain the processed data, and synchronizes the processed data to the backup storage node, including: The cloud management platform notifies the multiple primary storage nodes to process the data, obtain the processed data, and synchronizes the processed data to the multiple backup storage nodes; The cloud management platform notifies the backup storage node to provide the user with the data, including: The cloud management platform notifies the multiple backup storage nodes to provide the data to the user; The cloud management platform notifies the backup storage node to provide the user with the processed data, including: The cloud management platform notifies the multiple backup storage nodes to provide the processed data to the user.
8. The method according to claims 1 to 7, characterized in that, The primary storage node or the backup storage node includes: physical servers, bare metal servers, virtual machines, containers, or microvirtual machines.
9. A cloud management platform, characterized in that, The cloud management platform is used to manage the infrastructure providing cloud services. The infrastructure includes primary storage nodes and backup storage nodes, which store user data. The cloud management platform includes: A receiving module is configured to receive a data processing request sent by the user and obtain the first period in which the data processing request arrives, wherein the data processing request is used to indicate the data. A module is provided to notify the primary storage node of the second period in which the data processing request arrives; The first notification module is used to notify the primary storage node to process the data, obtain the processed data, and synchronize the processed data to the backup storage node; The determination module is used to determine the third period with the latest end time from the first period and the second period; The receiving module is further configured to receive a data access request sent by the user, the data access request being used to indicate the data or the processed data; The second notification module is used to determine that the arrival time of the data access request is earlier than the end time of the third period, and to notify the backup storage node to provide the data to the user. The second notification module is further configured to determine that the arrival time of the data access request is equal to or later than the end time of the third period, and notify the backup storage node to provide the processed data to the user.
10. The cloud management platform according to claim 9, characterized in that, The primary storage node is pre-configured with multiple periods. In any two adjacent periods, the end time of the previous period is the start time of the next period, and the second period is one of the multiple periods.
11. The cloud management platform according to claim 10, characterized in that, The duration of any one of the plurality of periods is determined based on at least one of the following: a preset duration, the clock offset of the timer of the main storage node, and the clock drift of the timer; The timer is used to determine the start time and end time of the period. The clock offset is used to indicate the duration required for the timer to send the start time of the period to the main storage node, and the duration required for the timer to send the end time of the period to the main storage node; The clock drift is used to indicate the difference between the start time of the period determined by the timer and the start time of the period determined by the preset timer, and the difference between the end time of the period determined by the timer and the end time of the period determined by the preset timer.
12. The cloud management platform according to any one of claims 9 to 11, characterized in that, The second notification module is used to determine that the time when the processed data completes synchronization is later than the time when the data access request arrives, and to notify the backup storage node to provide the processed data to the user at a target time, wherein the target time is later than or equal to the time when the processed data completes synchronization.
13. The cloud management platform according to any one of claims 9 to 12, characterized in that, There are multiple main storage nodes, and the data is stored on the multiple main storage nodes. The providing module is used to notify the multiple primary storage nodes to provide multiple second periods in which the data processing request arrives; The determining module is used to determine the period with the latest end time from the first period and the plurality of second periods as the third period.
14. The cloud management platform according to claim 13, characterized in that, The multiple second periods have different start times and different end times.
15. The cloud management platform according to claim 13 or 14, characterized in that, The number of backup storage nodes is multiple, and one of the multiple primary storage nodes corresponds to at least one backup storage node among the multiple backup storage nodes. The multiple backup storage nodes store the data. The first notification module is used to notify the plurality of primary storage nodes to process the data, obtain the processed data, and synchronize the processed data to the plurality of backup storage nodes; The second notification module is used to notify the plurality of backup storage nodes to provide the data to the user; The second notification module is used to notify the plurality of backup storage nodes to provide the processed data to the user.
16. The cloud management platform according to claims 9 to 15, characterized in that, The primary storage node or the backup storage node includes: physical servers, bare metal servers, virtual machines, containers, or microvirtual machines.
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 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, characterized 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.