Data processing method and apparatus

By dynamically adjusting the number of execution units and executing tasks in parallel, the data backup system solves the backup performance problem that existing technologies cannot meet users' high requirements, achieving promising processing performance and stable backup and recovery results.

WO2026097786A1PCT designated stage Publication Date: 2026-05-15HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
Filing Date
2025-04-18
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing data backup solutions cannot meet users' high requirements for backup performance and reliability, resulting in an inability to provide users with promised processing performance.

Method used

The data backup system monitors processing performance and dynamically adjusts the number of execution units to ensure that the processing performance promised by the user is achieved, including parallel execution of target processing tasks to improve performance.

Benefits of technology

It delivers guaranteed processing performance to users, meeting their high requirements for backup and recovery performance while avoiding impact on the execution of other tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025089851_15052026_PF_FP_ABST
    Figure CN2025089851_15052026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are a data processing method and apparatus, which relate to the technical field of cloud computing. The method is applied to a data backup system. The data backup system pre-stores a data processing policy for target data, wherein the data processing policy is used for indicating a target performance for processing the target data, and the target performance is the performance promised to a user by the data backup system. On this basis, after detecting a target processing task that indicates the processing of the target data, the data backup system executes the processing task by means of M execution units; during the execution of the processing task, the performance of the data backup system for processing the target data is acquired; and when the performance of the data backup system for processing the target data does not reach the target performance promised to the user, the number of execution units for executing the processing task in parallel is increased, so as to improve the performance of the data backup system for processing the target data, such that the data backup system provides for the target data the target performance promised to the user, and the data backup system thus provides for the user the performance that can be promised.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing method and apparatus

[0001] This application claims priority to Chinese Patent Application No. 202411586727.2, filed with the State Intellectual Property Office of China on November 7, 2024, entitled “Data Processing Method and Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of cloud computing technology, and in particular to a data processing method and apparatus. Background Technology

[0003] Currently, to prevent data loss, data backup systems are typically used to back up data. The backup scheme employed in this technology pre-sets a maximum backup rate for the data to be backed up, and the data backup system must not exceed this maximum rate when performing backup tasks on that data. However, while this backup scheme can prevent a single data backup task from consuming the entire performance of the data backup system, thus ensuring that multiple data backup tasks can be executed smoothly simultaneously, this scheme is no longer sufficient to meet the increasingly stringent reliability requirements of users. Summary of the Invention

[0004] This application provides a data processing method and apparatus that can provide users with guaranteed processing performance.

[0005] In a first aspect, a data processing method is provided, applied to a data backup system. The data backup system stores a data processing strategy for target data, the data processing strategy indicating a target performance when processing the target data. The data backup system includes a storage device storing the target data, and the storage device is located in at least one data center. The method includes: in response to a target processing task, executing the target processing task through M execution units, where M is a positive integer greater than or equal to 1, the target processing task indicating the processing of target data, the processing of target data including backing up target data or restoring target data; during the execution of the target processing task, acquiring the performance of the data backup system in processing the target data; when the performance of the data backup system in processing the target data is less than the target performance, determining to add N execution units to execute the target processing task, where N is a positive integer greater than or equal to 1; and executing the target processing task in parallel with the added N execution units and the M execution units.

[0006] In the above scheme, the data backup system pre-stores a data processing strategy for the target data. This strategy indicates the target performance when processing the target data, which is the processing performance promised by the data backup system to the user; in other words, it is the performance the user expects the data backup system to achieve when processing the target data. Based on this, after detecting the target processing task indicating the processing of the target data, the data backup system first executes the target processing task through M execution units. During the execution of the target processing task, the system acquires the performance of the data backup system in processing the target data and determines whether the performance meets the promised performance. If the performance does not meet the promised performance, the system determines to add N execution units to execute the target processing task, and then executes the target processing task in parallel through N+M execution units to improve the performance. This ensures that the data backup system's performance meets the promised performance, thus enabling the data backup system to provide the user with the promised processing performance. For example, the processing performance could be the data backup performance when backing up the target data, or the data recovery performance when restoring the target data.

[0007] In one possible implementation, when M is a positive integer greater than 1, the target processing task is executed by M execution units, including: executing the target processing task in parallel by M execution units; the method further includes: when the performance of the data backup system in processing the target data is greater than the target performance, reducing the number of execution units that execute the target processing task in parallel.

[0008] In this implementation, when the performance of the data backup system in processing the target data exceeds the processing performance promised to the user, the number of execution units that execute the processing tasks in parallel is reduced. This reduces the performance of the data backup system in processing the target data, thereby helping to reduce the computing resources occupied by the target processing task while ensuring the promised processing performance to the user, and preventing the target processing task from affecting other tasks being executed by the data backup system.

[0009] In another possible implementation, the target performance includes the target rate when processing the target data, and the performance of the data backup system in processing the target data includes the rate at which the data backup system processes the target data (hereinafter referred to as the data processing rate).

[0010] In this implementation, by setting target performance, including the target rate when processing target data, that is, the rate that the user expects the data backup system to achieve when processing target data, a promise can be made to the user regarding the rate when processing target data. This helps to provide different data processing rates for different users and different data processing rates for different production data of users. In turn, it helps to provide a data processing solution with a promise in terms of rate for different users. The data processing solution includes data backup solution and data recovery solution, etc.

[0011] In another possible implementation, the target performance includes the target time for processing the target data, and the performance of the data backup system in processing the target data includes the time required for the data backup system to process the target data (hereinafter referred to as data processing time).

[0012] In this implementation, by setting target performance, including the target time for processing target data, that is, the time that the user expects the data backup system to use to process the target data, the maximum time to process the target data can be promised to the user. This helps to provide different data processing times for different users and different data processing times for different production data of users. In turn, it helps to provide a data processing solution with a commitment to time dimension for different users. The data processing solution includes data backup solution and data recovery solution, etc.

[0013] In another possible implementation, before executing the target processing task through M execution units, the method further includes: obtaining a first execution rate of the execution units, the first execution rate being used to indicate the amount of data processed per unit time when the execution units process data; and determining the number of execution units to be M for executing the target processing task based on the first execution rate of the execution units and the target performance.

[0014] In this implementation, after the data backup system detects the target processing task, it determines the number of execution units needed to execute the task based on the execution rate of the execution units stored in the system and the user's desired performance. That is, the number of execution units required to achieve the target performance, for example, M units. Then, the target processing task is executed using these M execution units. This helps reduce the gap between the number of execution units used to execute the target task and the actual required number, thereby reducing the magnitude of subsequent adjustments to the number of execution units and helping to avoid affecting other tasks being performed by the data processing system.

[0015] Optionally, the first execution rate is the historical execution rate of the execution unit, or the first execution rate is the rate set by the user. The historical execution rate refers to the execution rate of the execution unit before it executed the target processing task.

[0016] In another possible implementation, an execution unit pool is deployed on the data backup system, the execution unit pool including at least one execution unit; the target processing task is executed by M execution units, including: the target processing task is executed by the M execution units of the execution unit pool.

[0017] In this implementation, an execution unit pool is pre-deployed on the data backup system, and the execution unit pool includes at least one execution unit. Based on this, after detecting a target processing task, the data backup system can directly obtain M execution units from the execution unit pool and execute the target processing task using these M execution units. This helps to improve the execution rate of the target processing task, thereby improving the data processing capability of the data backup system.

[0018] In another possible implementation, determining the number of execution units for performing the target processing task as N includes: obtaining the second execution rate of the execution units, which indicates the amount of data processed per unit time when the execution units process the target data; determining the number of execution units for performing the target processing task as K based on the second execution rate of the execution units and the target performance, where K is a positive integer greater than M; and determining to add N execution units to perform the target processing task, where N is the difference between K and M.

[0019] In this implementation, when the performance of the data backup system in processing the target data is less than the target performance, the number of execution units used to perform the target processing task is determined to be K based on the second execution rate of the execution unit when processing the target data and the target performance. This helps to improve the accuracy of the determined K.

[0020] In another possible implementation, the data backup system stores the system performance of the data backup system, which indicates the amount of data processed per unit time when the data backup system processes data. In response to a target processing task, the method further includes: obtaining a data processing strategy, which indicates the target system performance when processing target data; storing the data processing strategy when the system performance of the data backup system is greater than or equal to the target system performance; the data processing strategy instructing the data backup system to process the target data based on the data processing strategy; updating the system performance of the data backup system to obtain the updated system performance of the data backup system; the updated system performance of the data backup system is the difference between the system performance of the data backup system before the update and the target system performance.

[0021] In this implementation, after obtaining the data processing strategy for the target data provided by the user, the data backup system determines whether its system performance is sufficient to meet the target system performance requirements for processing the target data. If so, the data backup system stores the data processing strategy for processing the target data. This ensures that the system performance of the data backup system during actual processing of the target data supports the required target performance, thus increasing the probability that the data backup system can deliver the promised processing performance.

[0022] Furthermore, by updating the system performance of the data backup system, it is possible to accurately determine whether the system performance of the data backup system can meet the needs of other data when the data processing strategy receives other data. This helps to avoid data processing strategies that accept too much data, which could lead to the actual system performance of the data backup system being unable to support the performance requirements of too much data.

[0023] In another possible implementation, the system performance of the data backup system includes the data backup performance of the data backup system, which is used to indicate the amount of data backed up per unit time by the data backup system; wherein, the data backup performance includes the minimum of the network bandwidth, write bandwidth and data processing rate of the data backup system.

[0024] In another possible implementation, the system performance of the data backup system includes the data recovery performance of the data backup system, which is used to indicate the amount of data recovered per unit time when the data backup system recovers data; wherein, the data recovery performance includes the minimum value among the network bandwidth, read bandwidth and execution rate of the data backup system.

[0025] In another possible implementation, the data backup system stores a first quantity value, M; before executing the target processing task through M execution units, the method further includes: obtaining the first quantity value.

[0026] In another possible implementation, the target performance includes the target rate when processing the target data, M satisfying the following formula (1):

[0027] In another possible implementation, the target performance includes the target time for processing the target data, M satisfying the following formula (2):

[0028] In another possible implementation, the target processing task is executed by M execution units, including: creating the M execution units; and executing the target processing task through the created M execution units.

[0029] In this implementation, the data backup system creates execution units in real time when a target processing task needs to be executed, thus avoiding the occupation of the data backup system's computing resources.

[0030] In another possible implementation, during the execution of the target processing task, the performance of the data backup system in processing the target data is obtained, including: during the execution of the target processing task, the performance of the data backup system in processing the target data is obtained according to the first cycle.

[0031] In another possible implementation, the data backup system stores a second quantity value, which is N; determining the number of execution units used to perform the target processing task is N, including: obtaining the second quantity value; determining the second quantity value as the number of additional execution units.

[0032] In another possible implementation, the target performance includes the target rate when processing the target data, and K satisfies the following formula (3):

[0033] In another possible implementation, the target performance includes the target time for processing the target data, and K satisfies the following formula (4):

[0034] The execution time refers to the time that the data backup system has processed the target data, or in other words, the time that the data backup system has executed the target processing task.

[0035] In another possible implementation, the second execution rate includes the average rate of the M execution rates of the M execution units, wherein the execution rate of an execution unit is the rate at which the execution unit processes the target data, or in other words, the execution rate of an execution unit is the amount of target data processed by the execution unit per unit time.

[0036] In another possible implementation, the second execution rate includes the maximum rate among the M execution rates of the M execution units.

[0037] In another possible implementation, the second execution rate includes the minimum rate among the M execution rates of the M execution units.

[0038] In another possible implementation, the data processing strategy is used to indicate the target system performance when processing target data in the first time period; when the system performance of the data backup system is greater than or equal to the target system performance, the data processing strategy is stored, including: when the system performance of the data backup system in the first time period is greater than or equal to the system performance required for the target time period, the data processing strategy is stored; the system performance of the data backup system is updated to obtain the updated system performance of the data backup system, including: updating the system performance of the data backup system in the first time period to obtain the updated system performance of the data backup system; the updated system performance of the data backup system in the first time period is the difference between the system performance of the data backup system in the first time period before the update and the target system performance.

[0039] In another possible implementation, the method further includes: when the system performance of the data backup system is less than that of the target system, outputting recommendation information; the recommendation information is used to indicate the system performance of the data backup system.

[0040] In another possible implementation, when the system performance of the data backup system is less than the performance of the target system, recommendation information is output, including: when the system performance of the data backup system in a first time period is less than the performance of the target system, recommendation information is output; the recommendation information is used to indicate at least one of the system performance of the data backup system in the first time period or the system performance of the data backup system in a second time period, wherein the system performance of the data backup system in the second time period is greater than or equal to the performance of the target system.

[0041] In another possible implementation, data backup performance includes the maximum of the network bandwidth, write bandwidth, and data processing rate of the data backup system. Alternatively, data backup performance includes the average of the network bandwidth, write bandwidth, and data processing rate of the data backup system.

[0042] In another possible implementation, data recovery performance includes the maximum of the network bandwidth, read bandwidth, and execution rate of the data backup system. Alternatively, data recovery performance includes the average of the network bandwidth, read bandwidth, and execution rate of the data backup system.

[0043] In another possible implementation, data backup performance includes the minimum of the write bandwidth of the data backup system or the data processing rate of the data backup system. Alternatively, data backup performance includes the maximum of the write bandwidth of the data backup system or the data processing rate of the data backup system. Or, data backup performance includes the average of the write bandwidth of the data backup system or the data processing rate of the data backup system.

[0044] In another possible implementation, data backup performance includes the minimum of the network bandwidth and the data processing rate of the data backup system. Alternatively, data backup performance includes the maximum of the network bandwidth and the data processing rate of the data backup system. Or, data backup performance includes the average of the network bandwidth and the data processing rate of the data backup system.

[0045] In another possible implementation, data backup performance includes the minimum of the network bandwidth and the write bandwidth of the data backup system. Alternatively, data backup performance includes the maximum of the network bandwidth and the write bandwidth of the data backup system. Or, data backup performance includes the average of the network bandwidth and the write bandwidth of the data backup system.

[0046] In another possible implementation, data recovery performance includes the minimum of the read bandwidth and the execution rate of the data backup system. Alternatively, data recovery performance includes the maximum of the read bandwidth and the execution rate of the data backup system. Or, data recovery performance includes the average of the read bandwidth and the execution rate of the data backup system.

[0047] In another possible implementation, data recovery performance includes the minimum of the network bandwidth and execution rate of the data backup system. Alternatively, data recovery performance includes the maximum of the network bandwidth and execution rate of the data backup system. Or, data recovery performance includes the average of the network bandwidth and execution rate of the data backup system.

[0048] In another possible implementation, data recovery performance includes the minimum of the network bandwidth and read bandwidth of the data backup system. Alternatively, data recovery performance includes the maximum of the network bandwidth and read bandwidth of the data backup system. Or, data recovery performance includes the average of the network bandwidth and read bandwidth of the data backup system.

[0049] In another possible implementation, the method further includes: obtaining the system performance of the data backup system; storing the system performance of the data backup system;

[0050] Another possible implementation involves obtaining the system performance of the data backup system, including: obtaining the system performance of the data backup system according to a second cycle.

[0051] In another possible implementation, the method further includes: after the data backup system completes the target processing task, sending processing result information of the target processing task, including the performance of the data backup system in processing the target data. In this implementation, by sending the processing result information of the target processing task to the user's electronic device, the user can promptly understand whether the performance of the data backup system in processing the target data has met the target performance promised by the data backup system, thereby improving the user experience.

[0052] In another possible implementation, the processing result information also includes the target performance indicated by the data processing strategy for the target data.

[0053] In this implementation, by setting the processing result information of the target data to include the target performance promised to the user by the data backup system, users can compare the performance of the data backup system in processing the target data with the target performance promised to the user, thereby improving the user experience.

[0054] In another possible implementation, the method further includes: storing execution information of the target processing task, the execution information including at least one of the number of execution units executing the target processing task or the execution rate of the execution units when processing the target data.

[0055] In another possible implementation, the method further includes: obtaining the processing results of multiple data; the processing result of a data includes whether it meets the standard or not, where meeting the standard is used to characterize that the performance of the data processing system in processing a data is greater than or equal to the performance indicated by the data processing strategy of the data, and not meeting the standard is used to characterize that the performance of the data backup system in processing the first data is less than the performance indicated by the data processing strategy of the data; when the compliance rate of the processing results of multiple data is less than the compliance threshold, the system performance of the data backup system is improved.

[0056] Another possible implementation involves improving the system performance of the data backup system, including: increasing at least one of the following: increasing the network bandwidth, write bandwidth, or data processing rate of the data backup system.

[0057] In another possible implementation, the method further includes: reducing the system performance of the data backup system when the pass rate of the processing results of the multiple data exceeds the pass threshold.

[0058] Another possible implementation involves reducing the system performance of the data backup system, including reducing at least one of the following: reducing the network bandwidth, write bandwidth, or data processing rate of the data backup system.

[0059] In a second aspect, a data processing apparatus is provided, comprising: functional units for performing any of the methods provided in the first aspect, wherein the actions performed by each functional unit are implemented by hardware or by hardware executing corresponding software. For example, the data processing apparatus may include: an execution module, an acquisition module, and a determination module; the execution module is configured to execute a target processing task through M execution units in response to the target processing task, where M is a positive integer greater than or equal to 1, the target processing task being used to instruct the processing of target data, the processing of target data including backing up target data or restoring target data; the acquisition module is configured to acquire the performance of a data backup system in processing the target data during the execution of the target processing task; the determination module is configured to determine, when the performance of the data backup system in processing the target data is less than the target performance, to add N execution units to execute the target processing task, where N is a positive integer greater than or equal to 1; the execution module is further configured to execute the target processing task in parallel with the added N execution units and the M execution units.

[0060] Thirdly, a data backup system is provided, comprising a processor, a memory, and a computer program / instructions stored in the memory; the processor executes the computer program / instructions to cause the data backup system to perform any of the methods provided in the first aspect above.

[0061] Fourthly, a data backup system is provided, comprising a computing device and a storage device. The computing device includes a processor, a memory, and computer programs / instructions stored in the memory. The processor executes the computer programs / instructions to cause the data backup system to perform any of the methods provided in the first aspect above. The storage device is used to store data.

[0062] Fifthly, a processor is provided that can be used to execute any of the methods provided in the first aspect above.

[0063] In a sixth aspect, a chip is provided, comprising: a processor and a power supply circuit; the power supply circuit can be used to supply power to the chip; the processor can be used to execute any of the methods provided in the first aspect above.

[0064] In a seventh aspect, a computing device is provided, comprising: a processor, a memory, and computer programs / instructions stored in the memory; the processor executes the computer programs / instructions to cause the computing device to perform any of the methods provided in the first aspect above.

[0065] Eighthly, a computing device cluster is provided, comprising: at least one computing device, each computing device including a processor, a memory, and computer programs / instructions stored in the memory; the processor of each computing device executes the computer programs / instructions to enable the computing device cluster to implement any of the methods provided in the first aspect above.

[0066] Ninthly, a computer program product is provided, comprising a computer program / instructions that, when executed by a computing device, implement any of the methods provided in the first aspect above.

[0067] In a tenth aspect, a computer-readable storage medium is provided, on which a computer program / instructions are stored, which, when executed by a computing device, implement any of the methods provided in the first aspect above.

[0068] The technical effects of any of the implementation methods in aspects two through ten can be seen in the technical effects of different implementation methods in aspect one above, and will not be repeated here. Attached Figure Description

[0069] Figure 1 is a schematic diagram of a related technology provided in an embodiment of this application;

[0070] Figure 2 is a schematic diagram of a data backup system provided in an embodiment of this application;

[0071] Figure 3 is a schematic diagram of a backup service program provided in an embodiment of this application;

[0072] Figure 4 is a flowchart of a data processing method provided in an embodiment of this application;

[0073] Figure 5 is a flowchart of another data processing method provided in an embodiment of this application;

[0074] Figure 6 is a schematic diagram of a strategy configuration interface provided in an embodiment of this application;

[0075] Figure 7 is a schematic diagram of the system performance provided in an embodiment of this application;

[0076] Figure 8 is a flowchart of another data processing method provided in an embodiment of this application;

[0077] Figure 9 is a schematic diagram of a data processing method provided in an embodiment of this application;

[0078] Figure 10 is a schematic diagram of a data processing device provided in an embodiment of this application;

[0079] Figure 11 is a schematic diagram of a computing device provided in an embodiment of this application;

[0080] Figure 12 is a schematic diagram of a computing device cluster provided in an embodiment of this application;

[0081] Figure 13 is a schematic diagram of the connection of a computing device cluster provided in an embodiment of this application. Detailed Implementation

[0082] To facilitate understanding, the interpretation of some terms involved in the embodiments of this application will be explained first.

[0083] In the embodiments of this application, the terminology used is for the purpose of describing particular embodiments only and is not intended to be limiting of the embodiments of this application. As used in the specification and appended claims of the embodiments of this application, the singular expressions “a,” “an,” “the,” “the,” “the,” and “this” are intended to include expressions such as “one or more” unless the context clearly indicates otherwise. It should also be understood that in the following embodiments of the embodiments of this application, “at least one” and “one or more” refer to one or more (including two).

[0084] References to "one embodiment" or "some embodiments" in this specification mean that one or more embodiments of the present application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized. The term "connection" includes direct connections and indirect connections, unless otherwise stated. "First" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated.

[0085] In the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.

[0086] A Service Level Agreement (SLA) is a crucial metric for measuring the performance and quality of backup services. An SLA outlines the specific agreements and commitments between the backup service provider and the user regarding the backup service. SLAs may include metrics such as recovery time objective (RTO), recovery point objective (RPO), and service availability. These metrics collectively ensure the reliability, stability, and efficiency of the backup service, thereby guaranteeing the security of user data and business continuity.

[0087] Quality of Service (QoS) refers to the ability to provide better service for specified network communications. It is a network security mechanism that can be used to solve problems such as network latency and congestion.

[0088] In this embodiment, the data backup system can be used to process data, including backing up and restoring data. The performance during data processing is referred to as processing performance. Specifically, the performance during data backup is called data backup performance (which can be simply referred to as backup performance), and the performance during data restoration is called data restoration performance (which can be simply referred to as restoration performance). Processing performance can be the backup service performance indicated by the SLA, or the service capabilities provided by network communication indicated by QoS.

[0089] Full backup: also known as complete backup, refers to the backup of all data at a specific point in time.

[0090] Incremental backup: This means that after one backup, each subsequent backup only needs to back up the files that have been added or modified compared to the previous backup.

[0091] The technical solutions provided in the embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0092] To prevent data loss, relevant technologies typically use data backup systems to back up data. Current backup methods involve pre-setting a maximum backup rate for the data to be backed up, and the data backup system must not exceed this maximum rate when performing backup tasks on the data to be backed up.

[0093] For example, as shown in Figure 1, the backup performance of data backup system a is 1500MB / s, meaning it can back up 1500MB of data per second. Based on this, the maximum speed set by data backup system a for data a is 500MB / s, meaning that the rate at which data backup system a writes data a to storage device a must not exceed (i.e., be less than) 500MB / s. The maximum speed set by data backup system a for data b is 1000MB / s, meaning that the rate at which data backup system a writes data b to storage device a must not exceed (i.e., be less than) 1000MB / s.

[0094] While this approach avoids a single data backup task consuming all performance, thus ensuring the smooth execution of multiple data backup tasks simultaneously—for example, preventing backup tasks for data a or data b from consuming all the performance of backup system a, allowing backup tasks for data a and data b to execute smoothly at the same time—this backup solution is no longer sufficient to meet users' increasingly stringent requirements for backup performance and reliability.

[0095] In view of this, embodiments of this application provide a data processing method applied to a data backup system. The data backup system pre-stores a data processing strategy for target data. The data processing strategy indicates the target performance when processing the target data. This target performance is the processing performance promised by the data backup system to the user; in other words, it is the performance that the user expects the data backup system to achieve when processing the target data. Based on this, after detecting the target processing task indicating the processing of target data, the data backup system first executes the target processing task through M execution units. During the execution of the target processing task, the system obtains the performance of the data backup system in processing the target data and determines whether the performance of the data backup system in processing the target data reaches the processing performance promised to the user. If the performance of the data backup system in processing the target data does not reach the processing performance promised to the user, the data backup system determines to add N execution units to execute the target processing task, and executes the target processing task in parallel through N+M execution units to improve the performance of the data backup system in processing the target data. This enables the data backup system to achieve the processing performance promised to the user, thereby enabling the data backup system to provide the user with the promised processing performance. For example, the processing performance can be the data backup performance when backing up the target data, the data recovery performance when restoring the target data, etc.

[0096] It should be noted that the various implementations of the above data processing methods will be introduced in the embodiments shown in Figures 4 to 8, and will not be described in detail here.

[0097] Next, the system architecture involved in the technical solution provided by the embodiments of this application will be further described in conjunction with the accompanying drawings.

[0098] As shown in Figure 2, this application embodiment provides a data backup system applied to the above-described data processing method. The data backup system may include a computing device and a first storage device (also referred to as a backup storage device), and the computing device can communicate with the first storage device. The computing device can be used to execute the data processing method provided in this application embodiment, and the first storage device can be used to store backup data.

[0099] In this embodiment, the data backup system may further include a second storage device (also referred to as a production storage device), which can be used to store production data. The computing device can communicate with the second storage device. For example, during the execution of a target service by the computing device, target data is generated, and the computing device stores the target data in the second storage device.

[0100] To ensure data security, the computing device backs up the target data stored in the second storage device to the first storage device by executing the data processing method provided in the embodiments of this application. In other words, the backup data stored in the first storage device is backup data of the target data. Subsequently, the computing device can also restore the backup data of the target data stored in the first storage device to the second storage device by executing the data processing method provided in the embodiments of this application; that is, the backup data of the target data stored in the first storage device is written to the second storage device.

[0101] In this embodiment, the process of backing up the target data to the first storage device can be referred to as backing up data or performing a data backup task. The process of restoring the backup data of the target data to the second storage device can be referred to as restoring data or performing a data recovery task.

[0102] It should be noted that the reason why the embodiments of this application define a first storage device and a second storage device is to distinguish between two types of storage devices with different purposes. The second storage device is used to store production data, and the first storage device is used to store backup data of the production data.

[0103] Based on the above, both the first storage device and the second storage device are storage devices included in the data backup system. The storage devices included in the data backup system can be located in at least one data center.

[0104] It should be noted that the embodiments of this application do not limit the number of computing devices, the number of first storage devices, and the number of second storage devices included in the data backup system. The data backup system shown in Figure 2, which includes one computing device, one first storage device, and one second storage device, is only an example for illustration.

[0105] Alternatively, the computing device for the data backup system can be a terminal device or a network device, etc.

[0106] Terminal devices may include ultra-mobile personal computers (UMPCs), laptops, netbooks, desktop computers, all-in-one computers, etc.

[0107] It should be noted that the embodiments of this application do not limit the device form of the terminal device; the above is merely an illustrative example.

[0108] Network devices can include servers, bare metal servers, etc. A server can be a single physical server, or two or more physical servers that share different responsibilities and work together to achieve the various functions of the server. For example, a server can be a blade server, a high-density server, a rack server, or a tower server.

[0109] It should be noted that the embodiments of this application do not limit the device form of the network device; the above is merely an illustrative example.

[0110] Optionally, the first storage device of the data backup system may include at least one disk, which may be used to store data.

[0111] For example, a disk may include a solid state disk / drive (SSD), a hard disk drive (HDD), or a hybrid hard disk (HHD).

[0112] It should be noted that the embodiments of this application do not limit the type or number of disks included in the first storage device; the above is merely an illustrative example.

[0113] For example, when the first storage device includes multiple disks, the multiple disks can form a redundant array of independent disks (RAID), a just a bunch of disks (JBOD), etc.

[0114] For example, the first storage device can be any storage device in a storage system, wherein the storage system can be a distributed storage system or a centralized storage system.

[0115] It should be noted that for information regarding the second storage device, please refer to the information regarding the first storage device; it will not be repeated here.

[0116] In this embodiment, the computing device and the first processing device of the data backup system can be set up independently, or they can be combined into one device. When the computing device and the first storage device are combined into one device, the combined device can be called an all-in-one machine, a backup all-in-one machine, etc.

[0117] As shown in Figure 2, the data backup system can also communicate with electronic devices. The electronic devices can be used to send data processing strategies for the target data to the data backup system. For example, the data processing strategy for the target data may include at least one of a data backup strategy (which may be simply referred to as a backup strategy) or a data recovery strategy (which may be simply referred to as a recovery strategy). The backup strategy indicates the performance when backing up the target data, and the recovery strategy indicates the performance when restoring the target data.

[0118] For example, electronic devices can be tablet computers, handheld computers, personal computers (PCs), personal digital assistants (PDAs), ultra-mobile personal computers (UMPCs), laptops, netbooks, desktop computers, or all-in-one computers, etc.

[0119] It should be noted that the embodiments of this application do not limit the type of electronic device; the above is merely an illustrative example.

[0120] The following provides an exemplary description of the application scenarios of the data backup system according to embodiments of this application.

[0121] Example 1: The data backup system provided in this application embodiment is applied to a cloud platform, and the cloud platform provides cloud services through the data backup system provided in this application embodiment. For example, cloud services include data backup services (which can be simply referred to as backup services), data recovery services (which can be simply referred to as recovery services), etc.

[0122] For example, a user can communicate with a cloud platform's data backup system (e.g., a computing device) via an electronic device to purchase cloud services with target performance for target data. For instance, the cloud service with target performance may include a data backup service with first performance and / or a data recovery service with second performance. Subsequently, the cloud platform, through the data backup system provided in this embodiment, provides the user with cloud services that achieve the target performance, thereby providing the user with cloud services with guaranteed performance. For example, the cloud service with guaranteed performance includes a data backup service with guaranteed backup performance (i.e., first performance) and a data recovery service with guaranteed backup recovery performance (i.e., second performance).

[0123] It should be noted that the reason why the first performance and the second performance are defined in the embodiments of this application is to distinguish the performance of different services. The first performance and the second performance can be the same or different, and the embodiments of this application do not impose any restrictions on this.

[0124] For example, the cloud platform for the data backup system provided in the embodiments of this application can be a public cloud, a private cloud, a hybrid cloud, etc.

[0125] It should be noted that the embodiments of this application do not limit the type of cloud platform for the application data backup system; the above is merely an illustrative example.

[0126] Example 2: The data backup system provided in this application embodiment is applied to an Internet data center (IDC). The IDC provides data processing services (which can be simply referred to as processing services) through the data backup system provided in this application embodiment. For example, the data processing services may include data backup services (which can be simply referred to as backup services), data recovery services (which can be simply referred to as recovery services), etc.

[0127] For example, a user communicates with an IDC's data backup system (e.g., a computing device) via an electronic device, specifying a processing service with a target performance for target data. For instance, the processing service with the target performance may include a data backup service with a first performance level and / or a data recovery service with a second performance level. Subsequently, the IDC, through the data backup system provided in this application embodiment, provides a processing service that achieves the target performance, thereby realizing the provision of a processing service with guaranteed performance. For example, a processing service with guaranteed performance includes a data backup service with guaranteed backup performance (i.e., the first performance level) and / or a data recovery service with guaranteed recovery performance (i.e., the second performance level).

[0128] For further explanation of other relevant details in Example 2, please refer to the explanation in Example 1. These details will not be repeated here.

[0129] It should be noted that the embodiments of this application do not limit the application scenarios of the data backup system; the above are merely illustrative examples.

[0130] It should be noted that the data backup system shown in Figure 2 does not constitute a limitation on the system architecture for implementing the data processing method provided in the embodiments of this application.

[0131] In terms of software, this application provides a backup service program that can be used to implement the data processing method provided in this application.

[0132] It should be noted that the name of the backup service program is not limited in the embodiments of this application. For example, the backup service program can also be called a backup program, data backup program, backup software, data backup software, etc.

[0133] As exemplified by Figure 2, the backup service program can be deployed on the computing device of the data backup system. Based on this, the computing device of the data backup system can execute the data processing method provided in the embodiments of this application by running the backup service program.

[0134] In other words, in the embodiments of this application, the execution of an operation by the backup service program can be considered as the execution of an operation by the computing device during the running of the backup service program, or it can be considered as the computing device executing an operation through the backup service program, which will not be elaborated further.

[0135] Optionally, embodiments of this application also provide an execution unit pool, which may include at least one execution unit. Each execution unit in the at least one execution unit may be used to execute a data processing unit.

[0136] It should be noted that in the embodiments of this application, at least one can be one, or there can be multiple, wherein multiple can be two or more, which will not be elaborated further.

[0137] For example, as shown in Figure 2, the execution unit pool includes execution unit 1, ..., execution unit Q, where Q is a positive integer greater than 1. The execution unit pool is deployed on the computing device of the data backup system. That is, the computing device can perform data processing tasks through the execution units in the execution unit pool.

[0138] For example, the execution unit can be a computing node used to perform data processing tasks. These data processing tasks include at least one of a data backup task or a data recovery task.

[0139] The compute node can be any of the following: a backup executor deployed in a virtual machine, a backup executor deployed in a container, an execution process in a serverless architecture, or a backup execution thread.

[0140] It should be noted that the embodiments of this application do not limit the type of execution unit; the above is merely an illustrative example.

[0141] In one example, the execution unit pool comprises multiple execution units, where the multiple execution units can be of the same type. For example, the execution unit pool may consist of multiple execution units that are all processes.

[0142] In another example, the execution unit pool comprises multiple execution units, where the types of execution units can be different. For instance, among the multiple execution units included in the execution unit pool, one part consists of processes, and another part consists of backup programs.

[0143] Figure 3 is a schematic diagram of a backup service program provided in an embodiment of this application.

[0144] For example, as shown in Figure 3, the backup service program may include a management module. This management module can be used to evaluate system performance, update system performance, and pre-allocate system performance for target data indicated by the data processing strategy. The data processing strategy includes a data backup strategy (which may be simply referred to as a backup strategy) and / or a data recovery strategy (which may be simply referred to as a recovery strategy).

[0145] This application does not limit the name of the management module. For example, the management module can also be called the management subsystem, management server, etc.

[0146] Optionally, the management module includes an evaluation module, which can be used to evaluate system performance, update system performance, etc.

[0147] Optionally, the management module includes a control module, which can be used to pre-allocate system performance, etc., for target data indicated by the processing strategy.

[0148] It should be noted that the above division of the management module is only an illustrative example. For example, the management module may also be divided into more or fewer modules, or the management module may be used as a whole to implement the data processing method provided in the embodiments of this application.

[0149] In this embodiment of the application, the backup service program may further include an execution module, which may be used to perform data processing tasks (which may be simply referred to as processing tasks). For example, the data processing task may include at least one of a data backup task or a data recovery task.

[0150] It should be noted that the names of the execution modules are not limited in the embodiments of this application. For example, the execution module can be called an execution subsystem, an execution server, etc.

[0151] For example, the execution module and the execution unit pool can be collectively referred to as the backup execution subsystem.

[0152] It should be noted that the backup service program shown in Figure 3 does not constitute a limitation on the execution of the backup service program provided in the embodiments of this application.

[0153] It should be noted that the system architecture and application scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.

[0154] For ease of understanding, the data processing method provided in the embodiments of this application will be described exemplarily below with reference to the above system architecture and accompanying drawings.

[0155] Figure 4 is a flowchart of a data processing method provided in an embodiment of this application. Exemplarily, the data processing method may include the following steps 401-403. In this embodiment, "step" can be abbreviated as "S", and will not be described further thereafter.

[0156] The following describes an example of the embodiments of this application, using the data backup system shown in Figure 2 executing the data processing method shown in Figure 4 as an example.

[0157] S401: The computing device acquires the system performance of the data backup system.

[0158] System performance is used to indicate the amount of data that the data backup system can process per unit of time.

[0159] For example, in the embodiments of this application, the unit of time can be per second, per minute, per hour, etc.

[0160] It should be noted that the embodiments of this application do not limit the length of the unit time; the above is merely an illustrative example. The following description uses a unit time of one second as an example to illustrate the embodiments of this application.

[0161] For example, in the embodiments of this application, the unit of data volume can be byte (Byte), kilobyte (KB), megabyte (MB), gigabyte (GB), terabyte (TB), etc.

[0162] It should be noted that the units for data volume are not limited in the embodiments of this application; the above is merely an illustrative example. The following description uses GB as the unit of data volume to illustrate the embodiments of this application.

[0163] Optionally, the system performance of a data backup system can vary depending on the scenario. The following examples, from scenario 1 to scenario 3, illustrate this.

[0164] Case 1: System performance (C_sys) includes system backup performance (C_sys_backup).

[0165] System backup performance refers to the performance of a data backup system in backing up data, or in other words, the performance of a data backup system in performing data backup tasks. Therefore, system backup performance can be used to indicate the amount of data a data backup system can back up per unit of time.

[0166] For example, as shown in Figure 2, system backup performance refers to the performance of the data backup system in backing up target data in the second storage device to the first storage device, wherein system backup performance is used to indicate the amount of data backed up per unit time.

[0167] Optionally, the computing device may obtain system backup performance based on at least one of the write bandwidth of the first storage device, the network bandwidth of the data backup system, or the execution speed of the data backup system. The following examples, using methods 1 to 7, illustrate various implementations of the computing device obtaining system backup performance.

[0168] Method 1: The computing device obtains the system backup performance based on the write bandwidth of the first storage device.

[0169] The write bandwidth (C_s1) is used to indicate the amount of data that the first storage device can write per unit time, that is, the amount of data that the calculation device can write to the first storage device per unit time.

[0170] In this embodiment, the computing device can use the write bandwidth of the first storage device as the system backup performance. For example, the computing device stores the write bandwidth of the first storage device, where the write bandwidth is A GB / s. Based on this, after obtaining the write bandwidth of the first storage device, the computing device determines the system backup performance to be A GB / s, thereby achieving the acquisition of system backup performance.

[0171] It should be noted that the embodiments of this application do not limit the write bandwidth of the first storage device to the storage location of the computing device. For example, the write bandwidth of the first storage device may be in the memory of the computing device, or stored in the hard disk of the computing device.

[0172] In this approach, system backup performance is obtained solely based on the write bandwidth of the first storage device, which helps to improve the efficiency of obtaining system backup performance.

[0173] Method 2: The computing device obtains the system backup performance based on the network bandwidth of the data backup system.

[0174] Here, network bandwidth (C_n) refers to the bandwidth between different devices in the data backup system. For example, network bandwidth can be the network bandwidth between a computing device and a first storage device, or network bandwidth can be the network bandwidth between a second storage device and a first storage device in the data backup system.

[0175] In this embodiment, the computing device can use network bandwidth as a system backup system. For example, the computing device stores the network bandwidth of the data backup system, where the network bandwidth is B GB / s. Based on this, after obtaining the network bandwidth of the data backup system, the computing device determines the system backup performance to be B GB / s, thereby achieving the acquisition of system backup performance.

[0176] It should be noted that the embodiments of this application do not limit the network bandwidth of the data backup system to the storage location of the computing device. For example, the network bandwidth of the data backup system can be in the memory of the computing device, or stored in the hard disk of the computing device.

[0177] In this approach, system backup performance is obtained solely based on the network bandwidth of the data backup system, which helps to improve the efficiency of obtaining system backup performance.

[0178] Method 3: The computing device obtains the system backup performance based on the execution rate (C_b) of the data backup system. Here, the number of executions of the data backup system refers to the total execution performance of at least one execution unit of the data backup system.

[0179] The total execution performance of at least one execution unit is used to indicate the total amount of data that at least one execution unit can process (i.e., back up or restore) in parallel per unit time.

[0180] For example, at least one execution unit includes 10 execution units, and the execution rate of one execution unit is c GB / s. That is, one execution unit can process c GB of data per unit time, and the total execution performance of at least one execution unit is 10*c GB / s.

[0181] In one example, the computing device stores the execution rate of the data backup system, which is C GB / s. Based on this, after obtaining the execution rate of the data backup system, the computing device determines the system backup performance to be C GB / s, thereby achieving the acquisition of system backup performance.

[0182] For example, when a data backup system is applied to a cloud platform, the execution rate of the data backup system stored in the computing device can be provided by the cloud service provider. For instance, the cloud service provider sends the execution rate of the data backup system to the computing device via an electronic device, and the computing device receives and stores the execution rate of the data backup system.

[0183] It should be noted that the embodiments of this application do not limit the execution speed of the data backup system in terms of the storage location of the computing device. For example, the execution speed of the data backup system can be in the memory of the computing device, or stored in the hard disk of the computing device.

[0184] In another example, a pool of execution units is deployed on the computing device, comprising Z execution units, where Z is a positive integer greater than 1. The computing device stores the execution rate of each execution unit, which is c GB / s. Based on this, the computing device obtains the number of execution units in the pool and uses Z*c GB / s as the execution rate of the data backup system, thereby acquiring the system backup performance.

[0185] The following example, using z*c equal to C, illustrates the embodiments of this application.

[0186] In this approach, system backup performance is obtained solely based on the execution rate of the data backup system, which helps improve the efficiency of obtaining system backup performance data.

[0187] Method 4: The computing device obtains the system backup performance of the data backup system based on the write bandwidth of the first storage device, the network bandwidth of the data backup system, and the execution speed of the data backup system.

[0188] For example, the system backup performance satisfies the following formula (5): C_sys_backup=Fun(C_n,C_s1,C_b) (5)

[0189] Fun is used to characterize the function used to determine the performance of system backup.

[0190] In one example, Fun is a function for finding the minimum value. That is, the computing device takes the minimum value among the network bandwidth (C_n) of the data backup system, the write bandwidth (C_s1) of the first storage device, and the execution speed (C_b) of the data backup system as the system backup performance. For example, if A > B > C, the computing device determines the system backup performance to be C GB / s, thereby obtaining the system backup performance.

[0191] In another example, Fun is a function for finding the maximum value. That is, the computing device uses the maximum value among the network bandwidth of the data backup system, the write bandwidth of the first storage device, and the execution rate of the data backup system as the system backup performance. For example, if A > B > C, the computing device determines the system backup performance to be A GB / s, thus obtaining the system backup performance.

[0192] In another example, Fun is an average value function, meaning the computing device uses the average of the network bandwidth of the data backup system, the write bandwidth of the first storage device, and the execution rate of the data backup system as the system backup performance. For instance, the computing device determines the system backup performance as D GB / s, where D = (A + B + C) / 3, thereby obtaining the system backup performance.

[0193] It should be noted that other relevant explanations for Method 4 can be found in the explanations for Methods 1 to 3, and will not be repeated here.

[0194] In this method, the system backup system is obtained based on the write bandwidth of the first storage device, the network bandwidth of the data backup system, and the execution rate of the data backup system. Since the write bandwidth of the first storage device, the network bandwidth of the data backup system, and the execution rate of the data backup system can comprehensively reflect the performance of the data backup system, it helps to improve the accuracy of the obtained system backup system.

[0195] Method 5: The computing device obtains the system backup performance based on the write bandwidth of the first storage device and the network bandwidth of the data backup system.

[0196] It should be noted that the relevant explanations for Method 5 can be found in the explanations for Methods 1 to 4, and will not be repeated here.

[0197] In this approach, the system backup performance is obtained based on the write bandwidth of the first storage device and the network bandwidth of the data backup system, which helps to provide diversity in the ways of obtaining system backup performance.

[0198] Method 6: The computing device obtains the system backup performance based on the network bandwidth and execution speed of the data backup system.

[0199] It should be noted that the relevant explanations for Method 6 can be found in the explanations for Methods 1 to 5, and will not be repeated here.

[0200] In this approach, system backup performance is obtained based on the network bandwidth and execution rate of the data backup system, which helps to provide diversity in the ways to obtain system backup performance.

[0201] Method 7: The computing device obtains the system backup performance based on the write bandwidth of the first storage device and the execution rate of the data backup system.

[0202] It should be noted that the relevant explanations for Method 7 can be found in the explanations for Methods 1 to 6, and will not be repeated here.

[0203] In this approach, the system backup performance is obtained based on the write bandwidth of the first storage device and the execution rate of the data backup system, which helps to provide diversity in the ways of obtaining system backup performance.

[0204] Case 2: System performance includes system recovery performance (C_sys_restore).

[0205] System recovery performance refers to the performance of a data backup system in restoring data, or in other words, the performance of a data backup system in performing data recovery tasks. Therefore, system recovery performance can be used to indicate the amount of data a data backup system can recover per unit of time.

[0206] For example, as shown in Figure 2, system recovery performance refers to the performance of the data backup system in restoring backup data of target data stored in the first storage device to the second storage device, wherein system recovery performance is used to indicate the amount of data restored per unit time.

[0207] Optionally, the computing device may obtain system recovery performance based on at least one of the read bandwidth of the first storage device, the network bandwidth of the data backup system, or the execution rate of the data backup system. The following examples, using methods a to g, illustrate various implementations of the computing device obtaining system recovery performance.

[0208] In method a, the computing device obtains the system recovery performance based on the write bandwidth of the first storage device.

[0209] The read bandwidth (C_s2) is used to indicate the amount of data that the first storage device can read per unit time, that is, the amount of data that the computing device can read from the first storage device per unit time.

[0210] In this embodiment, the computing device can use the write bandwidth of the first storage device as the system backup performance. For example, the computing device stores the read bandwidth of the first storage device, where the read bandwidth is E GB / s. Based on this, after obtaining the read bandwidth of the first storage device, the computing device determines the system recovery performance to be E GB / s, thereby achieving the acquisition of system recovery performance.

[0211] It should be noted that other relevant explanations for method a can be found in the explanations for method 1 above, and will not be repeated here.

[0212] Method b: The computing device obtains the system recovery performance based on the network bandwidth of the data backup system.

[0213] In method c, the computing device obtains the system recovery performance based on the total execution performance of executing one execution unit.

[0214] In method d, the computing device obtains the system recovery performance of the data backup system based on the read bandwidth of the first storage device, the network bandwidth of the data backup system, and the execution speed of the data backup system.

[0215] For example, the system backup performance satisfies the following formula (6): C_sys_restore = Fun(C_n, C_s2, C_b) (6)

[0216] Fun is used to characterize the function used to determine the performance of system backup.

[0217] For example, Fun is a function for finding the minimum value. That is, the computing device takes the minimum value among the network bandwidth (C_n) of the data backup system, the write bandwidth (C_s2) of the first storage device, and the execution speed (C_b) of the data backup system as the system backup performance. For example, if A > B > C, the computing device determines the system backup performance to be C GB / s, thereby obtaining the system backup performance.

[0218] In method e, the computing device obtains the system recovery performance based on the read bandwidth of the first storage device and the network bandwidth of the data backup system.

[0219] In method f, the computing device obtains the system recovery performance based on the network bandwidth and execution rate of the data backup system.

[0220] In method g, the computing device obtains the system recovery performance based on the read bandwidth of the first storage device and the execution rate of the data backup system.

[0221] It should be noted that other relevant explanations for methods b to g can be found in the explanations for methods 2 to 7 above, and will not be repeated here.

[0222] Scenario 3: System performance includes system backup performance and system recovery performance.

[0223] It should be noted that the relevant explanations for situation 3 can be found in the explanations for situations 1 and 2 above, and will not be repeated here.

[0224] Optionally, system performance includes the performance of the data backup system within each unit of time during the target time period. The performance within a unit of time indicates the amount of data the data backup system can process within that unit of time. In other words, system performance is continuous performance over time.

[0225] For example, the target time period could be from 0:00 to 24:00. This helps to improve the comprehensiveness of the time dimension of system performance.

[0226] It should be noted that the embodiments of this application do not limit the criteria for dividing the target time; the above is merely an illustrative example.

[0227] In one example, the system performance of the data backup system can be the same at different time units. For example, the system performance 1 from 0:00 to 0:1 and the system performance 2 from 0:1 to 0:2 can be the same.

[0228] In another example, the performance of the data backup system can vary at different time intervals. For example, the performance of the system from 0:3 to 0:4 can be different (e.g., performance 3) and from 0:5 to 0:6 can be different (e.g., performance 4).

[0229] Optionally, system performance is represented by an array, which includes multiple elements. These multiple elements indicate the performance of the data backup system over multiple units of time within the target time period, while a single element indicates the performance of the data backup system over a single unit of time within the target time period.

[0230] For example, the target time period is 0:00-24:00, and the unit of time is seconds. System_Backup_Quota[86400 seconds] = {X1, X2, ...}, where 86400 seconds represents the number of units of time within the target time period, and System_Backup_Quota represents the quota for system backup performance (which can be called the system backup quota). i This is used to characterize the system backup performance in the i-th unit of time within a target time period. For example, X1 indicates that the system backup performance from 0:00 to 0:1 is X1 GB / s, meaning that the data backup system can back up X1 GB of data from 0:00 to 0:1. System_Restore_Quota[86400 seconds] = {Y1, Y2, ...}, where System_Restore_Quota is used to characterize the system recovery performance quota (which can be called the system recovery quota), Y... i Y1 is used to characterize the system recovery performance of the i-th unit time within the target time period. For example, Y1 indicates that the system recovery performance of 0:00-0:1 is Y1 GB / s, which means that the data backup system can recover Y1 GB of data in 0:00-0:1.

[0231] In the above embodiments, by setting the system performance to include the performance of each unit of time within the target time period, it is helpful to accurately evaluate the performance of the data backup system at different times, thereby helping to improve the accuracy of system performance and, in turn, helping to improve the accuracy of subsequent pre-allocation of system performance for different data.

[0232] For example, in terms of software, a computing device can evaluate the system performance of a data backup system through an evaluation module, thereby obtaining the system performance of the data backup system.

[0233] S402: System performance of the computing device storage data backup system.

[0234] In this embodiment of the application, after the computing device obtains the system performance of the data backup system, it can store the system performance of the data backup system.

[0235] For example, a computing device may store the system performance of a data backup system in a storage device such as memory or a hard disk.

[0236] It should be noted that the embodiments of this application do not limit the storage location of the data backup system's system performance; the above is merely an illustrative example.

[0237] For example, in terms of software, after the evaluation module obtains the system performance of the data backup system, it transmits the system performance data of the data backup system to the control module. After receiving the system performance data of the data backup system, the control module stores the system performance data of the data backup system.

[0238] In the above embodiments, by obtaining the system performance of the data backup system, the data backup capability and / or data recovery capability of the data backup system can be evaluated. This allows for an accurate determination of whether the current system performance of the data backup system can meet the user's needs when the user requests backup or recovery performance of a specified capability. This, in turn, helps to provide users with reliable processing performance that can be guaranteed.

[0239] Optionally, S403: The computing device updates the system performance of the data backup system according to the second cycle.

[0240] In this embodiment of the application, the computing device acquires the system performance of the data backup system according to a second cycle, and uses the latest acquired system performance of the data backup system to update the previously stored system performance, thereby realizing the updating of the system performance of the data backup system according to the second cycle.

[0241] For example, the computing device first acquires system performance 1 at a first moment and uses system performance 1 as the system performance of the data backup system. Then, at a second moment, the computing device acquires system performance 2 again and uses system performance 2 as the system performance of the data backup system; that is, it updates the system performance of the data backup system to system performance 2. The second moment and the first moment are separated by a second period.

[0242] For example, the second cycle can be 1 day, 3 days, 7 days, etc.

[0243] It should be noted that the specific value of the second period is not limited in the embodiments of this application; the above is merely an illustrative example. The second period can be dynamically determined according to the actual scenario. For example, when parameters such as network bandwidth, read bandwidth, write bandwidth, and the execution rate of the data backup system change frequently, the second period can be set relatively small. Conversely, when parameters such as network bandwidth, read bandwidth, write bandwidth, and the execution rate of the data backup system do not change frequently, the second period can be set relatively large.

[0244] In the above embodiments, by setting the system performance of the data backup system to be updated according to a second cycle, on the one hand, when system performance fluctuates, performance data that better reflects the current performance of the data backup system can be obtained in a timely manner, thereby helping to ensure the accuracy and reliability of the system performance data held by the computing device. On the other hand, after the data backup system expands or shrinks its resources, the latest system performance data can be obtained in a timely manner, further helping to ensure the accuracy and reliability of the system performance data held by the computing device.

[0245] The above embodiments detail a scheme for evaluating the system performance of a data backup system. Below, with reference to Figures 5 and 6, we introduce a scheme for pre-allocating system performance for target data specified by the user in the data backup system.

[0246] It should be noted that the following will only elaborate on the differences between the two schemes, and will not repeat the similarities.

[0247] Figure 5 is a flowchart of another data processing method provided in an embodiment of this application. Exemplarily, this data processing method includes steps S501-S505.

[0248] S501: Data processing strategy for computing devices to acquire target data.

[0249] For ease of description, the data processing strategy for the target data will be referred to as the target processing strategy below, and will not be elaborated further.

[0250] The target processing strategy is used to indicate the target performance when processing target data. This target performance is the performance that the user expects the data backup system to achieve when processing the target data.

[0251] Optionally, the target processing strategy includes various cases, which are illustrated below by examples from cases a to c.

[0252] In scenario a, the target processing strategy includes a target data backup strategy (which can be simply referred to as the target backup strategy). The target backup strategy is the strategy for backing up the target data.

[0253] The target backup strategy is used to indicate the first performance (also referred to as data backup performance or backup performance) when backing up target data; that is, the target performance includes the first performance. For example, as shown in Figure 2, the target backup strategy is used to indicate the first performance when the computing device backs up the target data stored in the second storage device to the first storage device. This first performance is the performance that the user expects the data backup system to achieve when backing up the target data.

[0254] For example, the target backup policy includes a target identifier, which is used to indicate target data. The computing device uses the target identifier included in the target backup policy to determine the performance of the target backup policy when processing the target data.

[0255] In one example, the target identifier is the identifier of the data source that generates the target data. For example, the target identifier could be the identifier of the virtual machine that generates the target data, the identifier of the container that generates the target data, etc.

[0256] In another example, the target identifier is the identifier of the carrier that stores the target data. For example, the target identifier can be the identifier of the file that stores the target data (also called the file identifier) ​​or the identifier of the database that stores the target data (also called the database identifier).

[0257] For example, the target backup policy includes a first performance characteristic. The computing device determines the performance characteristic of the target processing policy used to instruct the backup of target data as a first performance characteristic based on the first performance characteristic included in the target backup policy.

[0258] Optionally, the target backup policy is also used to indicate the backup time period, which indicates the time period during which the target data is backed up.

[0259] In one example, the target backup strategy includes a first moment, which indicates the start time of the backup target data.

[0260] Based on this, the data backup system can determine the initial time required to back up the target data by considering the initial performance and the amount of data to be backed up. The data backup system can then determine the backup time period based on the initial time and the initial time. The difference between the initial time and the initial time is the initial time, and the time period between the initial time and the initial time is the backup time period. For example, if the initial time is 00:00 and the initial time is 30 minutes, then the backup time period indicated by the target backup strategy is 00:00 to 00:30.

[0261] For example, the amount of target data to be backed up can be determined based on the amount of target data backed up in the past.

[0262] Example 1a: The amount of target data to be backed up is the average amount of target data from multiple historical backups. For example, the amount of target data from multiple historical backups includes the amount of target data from the three most recent backups, which are 15GB, 28GB, and 20GB respectively. The amount of target data to be backed up is 21GB (average).

[0263] Example 1b: The amount of target data to be backed up is the maximum value among the target data amounts from multiple historical backups. For example, the target data amounts from multiple historical backups include the target data amounts from the three most recent backups, which are 15GB, 28GB, and 20GB respectively. The target data amount to be backed up is 28GB (the maximum value).

[0264] Example 1c: The amount of target data to be backed up is the minimum amount of target data from multiple historical backups. For example, the amount of target data from multiple historical backups includes the amount of target data from the three most recent backups, which are 15GB, 28GB, and 20GB respectively. The amount of target data to be backed up is 15GB (minimum).

[0265] Example 1d: The amount of target data to be backed up is the amount of target data in the most recent backup. For example, if the amount of target data in the most recent backup was 20GB, then the amount of target data to be backed up is 20GB.

[0266] It should be noted that the target data in Examples 1a-1d above refers to data with target identifiers.

[0267] In another example, the target backup policy includes a first time point and a third time point. The time period between the first time point and the third time point is the backup time period. For example, if the target backup policy includes 0:00 (i.e., the first time point) and 0:40 (i.e., the third time point), then the backup time period includes the time period between 0:00 and 0:40.

[0268] Example 2a: The target backup policy is used to instruct that the backup of the target data should begin at the first moment and be completed before the third moment.

[0269] Example 2b: The target backup policy is used to instruct that the backup of the target data should begin at the first moment and be completed at the third moment.

[0270] In another example, the target backup strategy includes a first moment and a first duration. For details regarding the first moment, the first duration, and the backup time period, please refer to the descriptions in the above embodiments; they will not be repeated here.

[0271] It should be noted that the embodiments of this application do not limit the method of determining the backup time period; the above is merely an illustrative example.

[0272] In this embodiment, the target backup strategy indicates the time period for backing up the target data (i.e., the backup time period). In this way, when pre-allocating system performance for backing up the target data, the system performance quota of the data backup system during the backup time period can be allocated to the target data, which helps to ensure the accuracy of system performance allocation and thus helps to make full use of the system performance quota of the data backup system in each time period.

[0273] Optionally, the target backup strategy includes backup types. For example, backup types include full backups or incremental backups.

[0274] It should be noted that the embodiments of this application do not limit the type of backup; the above is merely an illustrative example.

[0275] In this embodiment, by setting the data backup strategy to include backup types, the data backup system can pre-allocate system performance quotas to target data according to the backup type, thereby helping to improve the accuracy of performance pre-allocation.

[0276] In scenario b, the target processing strategy includes the target data recovery strategy (which can be simply referred to as the target recovery strategy). The target recovery strategy is the strategy for recovering the target data.

[0277] The target recovery strategy is used to indicate a second performance characteristic (also referred to as data recovery performance or recovery performance) when restoring the target data; that is, the target performance includes the second performance characteristic. For example, as shown in Figure 2, the target recovery strategy is used to indicate the second performance characteristic when the computing device restores backup data of the target data stored on the first storage device to the second storage device. This second performance characteristic is the performance that the user expects the data backup system to achieve when restoring the target data.

[0278] In the embodiments of this application, the second performance and the first performance may be the same or different, and the embodiments of this application do not impose any restrictions on this.

[0279] Optionally, the target recovery strategy is used to indicate the recovery time period, which in turn indicates the time period during which the target data is to be recovered.

[0280] In the embodiments of this application, the recovery time period and the backup time period may be the same or different, and the embodiments of this application do not impose any restrictions on this.

[0281] In this embodiment, by specifying the time period (i.e., the backup time period) for restoring the target data in the target recovery strategy, when pre-allocating system performance for restoring the target data, the system performance quota of the data backup system during the backup time period can be allocated to the target data, thereby helping to ensure the accuracy of system performance allocation and thus helping to make full use of the system performance quota of the data backup system in each time period.

[0282] It should be noted that other relevant explanations for situation b can be found in the explanations for situation a, and will not be repeated here.

[0283] In scenario c, the target processing strategy includes a data backup strategy and a data recovery strategy.

[0284] It should be noted that the relevant explanations for situation c can be found in the explanations for situations a and b above, and will not be repeated here.

[0285] Optionally, the target processing strategy can be implemented in various ways. Hereinafter, we will introduce the methods 1 to 2 as examples.

[0286] Method 1: The data backup system is applied to a cloud platform or IDC. S501 includes the following S501a-S501c.

[0287] S501a: Electronic device displays a strategy configuration interface, which is used to obtain the target processing strategy.

[0288] In one example, as shown in Figure 5, after a user purchases cloud services from a cloud platform through an electronic device, the electronic device displays a policy configuration interface provided by the cloud platform. The policy configuration interface is used to input the target processing policy specified by the user, and the electronic device obtains the target processing policy from the policy configuration interface.

[0289] In another example, as shown in Figure 5, after the IDC is set up, the user's electronic device communicates with the IDC. The electronic device displays the policy configuration interface provided by the IDC. The policy configuration interface is used to input the target processing policy specified by the user, and the electronic device obtains the target processing policy from the policy configuration interface.

[0290] The following section uses the target backup policy as an example to illustrate the policy configuration interface.

[0291] For example, as shown in Figure 6(a), the electronic device displays a policy configuration interface. The policy configuration interface may include a first performance control, which is used to input the target backup performance (i.e., the first performance). As shown in Figure 6(b), the user inputs the first performance on the first performance control. The electronic device can obtain the first performance that the user expects to achieve. In this way, the user can pass the expected first performance to the electronic device, so that the electronic device can pass the first performance to the data backup system.

[0292] For example, as shown in Figure 6(a), the policy configuration interface may include a first time control, which is used to input the backup time, indicating the backup time period. As shown in Figure 6(b), the user inputs the backup time on the first time control, and the electronic device can obtain the backup duration input by the user. In this way, the desired backup time period of the target data can be passed to the electronic device through the target backup policy, so that the electronic device can pass the backup time period of the target data to the data backup system.

[0293] The backup time may include a backup time period (e.g., the first moment and the third moment), or the backup time may include the first moment, or the backup time may include the first moment and the first duration.

[0294] For example, as shown in Figure 6(a), the policy configuration interface may include a first data control for inputting an identifier that indicates the target data. As shown in Figure 6(b), the user can input the target identifier (i.e., the identifier of the target data) on the first data control. The electronic device can obtain the target identifier input by the user. In this way, the identifier of the data to be backed up can be passed to the electronic device through the target backup policy, so that the electronic device can pass the identifier of the backed-up data to the data backup system.

[0295] For example, as shown in Figure 6(a), the policy configuration interface may include a first type control for inputting the backup type, which may include full backup or incremental backup. As shown in Figure 6(b), the user can input "full backup" on the first type control. The electronic device can obtain the user's input of "full backup," thus enabling the target backup policy to pass the desired backup type to the electronic device, which in turn passes the backup type to the data backup system.

[0296] Optionally, the policy configuration interface can be used to indicate the configuration of backup and / or recovery policies.

[0297] In one example, the policy configuration interface is used to instruct on configuring backup policies. That is, the policy configuration interface can be used to configure backup policies independently. This helps improve the accuracy of the configured backup policies.

[0298] In another example, the policy configuration interface is used to indicate the configuration of the recovery policy. That is, the policy configuration interface can be used to configure the recovery policy independently. This helps improve the accuracy of the configured recovery policy.

[0299] In yet another example, the policy configuration interface is used to instruct on configuring backup and recovery policies. In other words, the policy configuration interface can be used to configure both backup and recovery policies simultaneously, thus improving the efficiency of configuring these policies.

[0300] S501b: The electronic device obtains the target processing policy from the policy configuration interface and sends the target processing policy to the computing device.

[0301] In this embodiment, after the user inputs the target processing policy on the policy configuration interface, the electronic device can obtain the target processing policy from the policy configuration interface. Then, the electronic device can send the target processing policy to the computing device to transmit the target processing policy to the data backup system.

[0302] S501c: The computing device receives the target processing strategy sent by the electronic device.

[0303] In this embodiment of the application, the computing device receives the target processing strategy sent by the electronic device, thereby realizing the acquisition of the target processing strategy provided by the user.

[0304] In the above embodiments, the electronic device obtains the target processing policy provided by the user through the policy configuration interface, and remotely transmits the target processing policy to the computing device of the data backup system via the network, enabling the data backup system to obtain the target processing policy formulated by the user for the target data. This helps to improve the convenience for users to transmit target processing policies to the data backup system.

[0305] Method 2: The data backup system is applied to the IDC. S501 includes the following S501d-S501e.

[0306] S501d: The computing device displays the policy configuration interface, which is used to obtain the target processing policy.

[0307] For example, the computing device of the data backup system is equipped with a display screen, through which a policy configuration interface is shown. The user enters the target processing policy on the policy configuration interface displayed on the computing device's screen.

[0308] S501e: Target processing strategy on the computing device's strategy configuration interface.

[0309] For example, after the user enters the target processing policy on the policy configuration interface displayed on the screen, the computing device obtains the target processing policy.

[0310] For other relevant explanations of S501d-S501e, please refer to the explanations of S501a-S501c, which will not be repeated here.

[0311] In the above embodiments, users directly set processing policies on the computing devices of the data backup system, which helps to improve the diversity of ways to set target processing policies.

[0312] Optionally, S502: The computing device determines whether the system performance of the data backup system is greater than or equal to the performance of the target system.

[0313] In this embodiment, the target processing strategy can be used to indicate the target system performance when processing target data. This target system performance is the performance required by the data backup system when processing the target data. After obtaining the target processing strategy, the computing device obtains the target system performance indicated by the target processing strategy. Then, the computing device obtains the system performance of the data backup system and determines whether the system performance of the data backup system is greater than or equal to the target system performance. If the determination result is that the system performance of the data backup system is greater than or equal to the target system performance, the computing device executes S503 and S504 to allocate system performance to the target processing strategy. If the determination result is that the system performance of the data backup system is less than the target system performance, the computing device executes S505 to recommend a data processing scheme to the user.

[0314] For example, the system performance of the data backup system in S502 refers to the system performance currently available to the data backup system, or the system performance currently remaining in the data backup system, or the system performance that the data backup system can allocate. For instance, the system performance is the latest system performance obtained by the computing device from memory or hard disk.

[0315] For computing devices to obtain target system performance based on the target processing strategy, there are multiple implementation methods. The following will introduce examples using method a and method b.

[0316] In method a, the target performance indicated by the target processing strategy includes the target rate when processing target data. Based on this, the computing device can use the value of the target rate as the target system performance.

[0317] For example, if the target performance is 5GB / s, then the target system performance is 5GB / s.

[0318] In method b, the target performance indicated by the target processing strategy includes the target duration for processing the target data. Based on this, the computing device can obtain the target system performance according to the target duration and the amount of target data to be backed up.

[0319] For example, the performance of the target system satisfies the following formula (7):

[0320] For example, if the target duration is 10 seconds (s) and the target data to be backed up is 50G, then the target system performance is 5GB / s.

[0321] It should be noted that the description of the amount of target data to be backed up can be found in the description in the above embodiments, and will not be repeated here.

[0322] Optionally, S502 includes multiple implementations, which are exemplified below using method 1 and method 2.

[0323] Method 1, S502 includes: the computing device determining whether the system performance of the data backup system is greater than or equal to the target system performance in the first time period.

[0324] Example 1a: The target processing strategy includes a target backup strategy. The computing device determines whether the data backup performance of the data backup system during the backup time period is greater than or equal to the first performance. If the determination result is that the data backup performance of the data backup system during the backup time period is greater than or equal to the first performance, then S503 and S504 are executed. Conversely, if the determination result is that the data backup performance of the data backup system during the backup time period is less than the first performance, then S505 is executed.

[0325] For example, the target backup strategy indicates a first performance of 5GB / s, the target processing strategy indicates a backup time period of 0:00-0:01, and the data backup performance of the data backup system is System_Backup_Quota[86400 seconds] = {X1, X2, ...}. Based on this, if the data backup system's performance during 0:00-0:01 is greater than or equal to 5GB / s, the result is that the data backup system's performance during the backup time period is greater than or equal to the first performance. If the data backup system's performance during 0:00-0:01 is less than 5GB / s, the result is that the data backup system's performance during the backup time period is less than the first performance.

[0326] In one example, the data backup performance of a data backup system within a backup time period can be the average of multiple performance metrics within that period. For instance, the system performance of the data backup system from 00:00 to 00:01 can be X1, ..., X... 60 The average value.

[0327] In another example, the data backup performance of a data backup system during a backup period can be the maximum of several performance metrics within that period. For instance, the system performance of the data backup system from 00:00 to 00:01 can be X1, ..., X... 60 The maximum value in.

[0328] In another example, the data backup performance of a data backup system during a backup period can be the minimum of multiple performance metrics within that period. For instance, the system performance of the data backup system from 00:00 to 00:01 can be X1, ..., X... 60 The minimum value in.

[0329] Example 2a: The target processing strategy includes a target recovery strategy. The computing device determines whether the data recovery performance of the data backup system during the recovery period is greater than or equal to the second performance. If the determination result is that the data recovery performance of the data backup system during the recovery period is greater than or equal to the second performance, then S503 and S504 are executed. Conversely, if the determination result is that the data recovery performance of the data backup system during the recovery period is less than the second performance, then S505 is executed.

[0330] For further explanation of other relevant details in Example 2a, please refer to the explanation of Example 1a above, which will not be repeated here.

[0331] In this approach, by determining whether the system performance within a specified time period is greater than the target system performance required by the processing strategy, the accuracy of the system performance pre-allocation of the data backup system can be improved, thereby helping to ensure that the data backup system can provide users with backup or recovery services with guaranteed performance.

[0332] Method 2, S502 includes: the computing device determining whether the system performance of the data backup system during the target time period is greater than or equal to the target system performance.

[0333] Example 1a: The target processing strategy includes a target backup strategy. The computing device determines whether the data backup performance of the data backup system within the target time period is greater than or equal to the first performance. If the determination result is that the data backup performance of the data backup system within the target time period is greater than or equal to the first performance, then S503 and S504 are executed. Conversely, if the determination result is that the data backup performance of the data backup system within the target time period is less than the first performance, then S505 is executed.

[0334] Example 2a: The target processing strategy includes a target recovery strategy. The computing device determines whether the data recovery performance of the data backup system within the target time period is greater than or equal to the second performance. If the determination result is that the data recovery performance of the data backup system within the target time period is greater than or equal to the second performance, then S503 and S504 are executed. Conversely, if the determination result is that the data recovery performance of the data backup system within the target time period is less than the second performance, then S505 is executed.

[0335] It should be noted that other relevant instructions for Method 2 can be found in the instructions for Method 1, and will not be repeated here.

[0336] In this approach, determining whether to store the target processing strategy by judging whether the system performance of the data backup system is greater than or equal to the target system performance during the target time period helps to increase the diversity of ways to determine whether to accept the target processing strategy.

[0337] It should be noted that S502 is an optional step. That is to say, after the computing device obtains the target processing strategy, it can skip S502 and directly execute S503.

[0338] S503: Data processing strategy for target data stored on the computing device. The data processing strategy for target data is used to instruct the data backup system to process the target data based on the data processing strategy.

[0339] For example, a computing device may store the target storage strategy in storage media such as memory or hard disk.

[0340] It should be noted that the embodiments of this application do not limit the storage location of the target processing strategy; the above is merely an illustrative example.

[0341] In this embodiment, by storing the target processing strategy, when processing the target data later, such as backing up or restoring the target data, it is possible to accurately determine whether the performance of the data backup system in processing the target data has reached the user's expected performance, thereby helping to provide data backup or data recovery services with guaranteed performance.

[0342] In the above embodiments, after the computing device determines that the system performance of the data backup system is greater than or equal to the target system performance, it stores the target processing strategy to accept the target processing strategy requested by the user, and then processes the target data according to the target processing strategy, such as backing up the target data or restoring the target data. This helps to ensure that the data backup system can achieve the target system performance indicated by the target processing strategy, thereby helping to provide the user with the data processing scheme indicated by the target processing strategy and the target system performance indicated by the target processing strategy.

[0343] S504: Calculate the system performance of the data backup system after the device updates, and obtain the system performance of the updated data backup system.

[0344] The updated data backup system performance is the difference between the performance of the data backup system before the update and the performance of the target system.

[0345] In this embodiment, after the computing device determines that the system performance of the data backup system is greater than or equal to the target system performance, it can update the system performance of the data backup system to obtain the updated system performance. That is, the target system performance indicated by the processing strategy is subtracted from the system performance of the data backup system to obtain the updated system performance.

[0346] For example, the target processing policy includes a target backup policy, which indicates Policy_Backup_Quota[T] = {N, N, ...}, where Policy_Backup_Quota is used to characterize the first performance indicated by the target backup policy (also known as the quota of the first performance), T is used to characterize the number of backups per unit time within the backup period, and N... i This is used to characterize the target system performance at the i-th unit of time within the backup time period, where i is a positive integer. For example, if the unit of time is seconds, System_Backup_Quota[86400 seconds] = {X1, X2, ...}, T is 60 seconds, and N1-N 60 Each value in the table is 5, and the updated data backup performance is System_Backup_Quota[86400 seconds] = {X1-5, X2-5, ..., X...} 60 -5,X 61 , ...}.

[0347] In the above embodiments, by determining the relationship between the system performance of the data backup system and the target system performance indicated by the target processing strategy, and updating the system performance of the data backup system when the system performance of the data backup system is greater than or equal to the target system performance, the current system performance of the data backup system is pre-allocated to the target processing strategy. This helps the data backup system understand the actual remaining available system performance and avoids the data backup system accepting too many data processing strategies when its system performance is insufficient to meet the needs of the data processing strategy, thus preventing the actual system performance of the data backup system from meeting the needs of the data processing system and failing to provide the pre-promised performance to the user.

[0348] Optionally, S505: The computing device sends recommendation information to the electronic device, the recommendation information being used to indicate the system performance of the data backup system.

[0349] In this embodiment, when the performance of the data backup system is less than that of the target system—that is, when the performance of the data backup system cannot provide the target performance for the user (e.g., the data backup system cannot achieve the first performance specified by the user when backing up the target data, or the data backup system cannot achieve the second performance specified by the user when restoring the target data)—the computing device can send recommendation information to the electronic device. This allows the user to determine the current system performance that the data backup system can provide based on the recommendation information, thereby re-formulating a processing strategy for the target data, and ultimately, formulating a processing strategy that the data backup system can support for the target data.

[0350] Optionally, the recommended information includes multiple scenarios, which are illustrated below using scenarios a through c.

[0351] In scenario a, the recommended information includes the system performance of the data backup system during the target time period.

[0352] In one example, the target processing strategy is a data backup strategy. Based on this, the recommendation information includes the data backup performance of the data backup system during the target time period. For example, System_Backup_Quota[86400 seconds] = {X1, X2, ...}, and the recommendation information can be used to indicate that the data backup performance of the data backup system from 0:00 to 24:00 is {X1, X2, ...}.

[0353] In another example, the target processing strategy is a data recovery strategy. Based on this, the recommended information includes the data recovery performance of the data backup system within the target time period.

[0354] In this scenario, by setting recommended information including the system performance of the data backup system during the target time period, users can understand the remaining available system performance for each time period based on the recommended information, thereby helping users to formulate appropriate data processing strategies for the target data.

[0355] In scenario b, the recommended information includes the system performance of the data backup system during the second time period. Specifically, the system performance of the data backup system during the second time period should be greater than or equal to the target system performance.

[0356] For example, as shown in Figure 7, the target processing strategy requests the backup of target data during the time period between time unit 1 and time unit 3, for example, by execution unit 3. Since the time period between time unit 1 and time unit 3 is already scheduled to indicate the schemes of data processing strategy 1 and data processing strategy 2, for example, it is expected that during the time period between time unit 1 and time unit 3, the scheme of data processing strategy 1 needs to be executed by execution units 1 and 2, and the scheme of data processing strategy 2 needs to be executed by execution units 3, 4, and 5. Therefore, the system performance during the time period between time unit 1 and time unit 3 is lower than the target system performance. Based on this, the recommendation information may include the system performance for the time period after time unit 3.

[0357] It should be noted that the duration of the time unit in the embodiments of this application is not limited.

[0358] In this scenario, by setting recommended information that includes the system performance of the data backup system in the second time period, it not only helps reduce the amount of data in the recommended information, but also helps users adjust the backup time of the target data based on the recommended information, so that the backup time is adjusted to the time period during which the data backup system can provide the first performance, thereby helping to ensure that the performance of the target data being backed up can meet the user's expectations.

[0359] In scenario c, recommended information includes the system performance of the data backup system during the first time period.

[0360] It should be noted that other relevant explanations for situation c can be found in the explanations for situations a and b, and will not be repeated here.

[0361] In this scenario, by setting recommended information that includes system performance within a first time period, users can understand the remaining available system performance within that time period. This allows users to adjust their target performance based on the recommended information, for example, by adjusting the target performance to be less than the currently available system performance. This enables the system to formulate data processing strategies that can be implemented for the target data.

[0362] In the above embodiments, when the current system performance of the data backup system is insufficient to meet the user's expected performance, recommendation information is sent to the electronic device to recommend the current performance that the data backup system can promise, which helps to improve the user experience.

[0363] The above embodiments detail the system performance of the pre-allocated data backup system for target data. The following, with reference to Figures 8 and 9, describes the scheme for the data backup system to perform target data processing tasks.

[0364] It should be noted that the following will only elaborate on the differences between the two schemes, and will not repeat the similarities.

[0365] Figure 8 is a flowchart of another data processing method provided in an embodiment of this application. The data processing method includes the following steps S801-S804.

[0366] For example, based on the solutions of the above embodiments, the data backup system can acquire data processing strategies for multiple data sets. For instance, as shown in Figure 9, the data processing strategies for multiple data sets include a data processing strategy for target data and a data processing strategy 1 for data 1. Based on this, the computing device of the data backup system can process the target data according to the data processing strategy for the target data, for example, backing up or restoring the target data. The computing device of the data backup system can also process data 1 according to data processing strategy 1 for data 1.

[0367] The following section uses target data as an example to introduce a data backup system that processes data according to data processing strategies and provides users with a solution that promises performance.

[0368] S801: The computing device responds to the target processing task by executing the target processing task through M execution units.

[0369] Where M is a positive integer greater than or equal to 1, the target processing task is used to instruct the processing of target data, which includes backing up or restoring target data. In other words, the target processing task is used to instruct the backup or restoration of target data. In this embodiment, when the computing device detects a target event, it triggers a target processing task, and the target event is used to instruct the execution of the target processing task. Subsequently, in response to the target processing task, the computing device executes the target processing task through M execution units according to the target processing strategy, thereby achieving the processing of different data according to different data processing strategies, and thus meeting the performance requirements of different data.

[0370] In one example, M is 1, meaning that the computing device performs the target processing task through an execution unit.

[0371] In another example, M is a positive integer greater than 1. Based on this, the computing device can execute the target processing task in parallel using M execution units.

[0372] In another example, M is a positive integer greater than 1. Based on this, the computing device can execute the target processing task through M execution units. That is, there is no limitation on how the target processing task is executed by the M execution units. For example, the computing device can execute the target processing task serially through the M execution units, or the computing device can execute the target processing task concurrently through the M execution units.

[0373] Optionally, the target processing task includes various scenarios, which are illustrated below using scenarios 1 and 2.

[0374] Scenario 1: The target processing task includes a target data backup task (hereinafter referred to as the target backup task). The target backup task is used to instruct the backup of the target data.

[0375] When the target processing task is a target backup task, the computing device, in response to the target backup task, performs the operation of backing up the target data through M execution units. For example, referring to Figure 2, the computing device, in response to the target backup task, performs the operation of backing up the target data stored in the second storage device to the first storage device through M execution units.

[0376] Based on scenario 1, the target event includes a data backup event. When the computing device detects a data backup event for the target data, it triggers the target processing task.

[0377] Example 1a: The data backup event includes the start time of the backup target data.

[0378] For example, the target backup policy (i.e., the data backup policy for the target data) includes the start time for backing up the target data. For instance, the target backup policy instructs that the target data be backed up at a first specified time. Based on this, the computing device triggers the target backup task when it detects the first specified time. For example, if the first specified time is 00:00 every day, the computing device triggers the target backup task when it detects 00:00 every day.

[0379] Example 1b: The data backup event includes a backup request, which is used to request the backup of the target data.

[0380] For example, a user sends a backup request to a computing device via an electronic device, and the computing device triggers a target backup task upon receiving the backup request.

[0381] It should be noted that the embodiments of this application do not limit the types of backup events; the above are merely illustrative examples.

[0382] Scenario 2: The target processing task includes a target data recovery task (hereinafter referred to as the target recovery task). The target recovery task is used to instruct the recovery of the target data.

[0383] When the target processing task is a target recovery task, the computing device, in response to the target recovery task, performs the operation of restoring the target data through M execution units. For example, referring to Figure 2, the computing device, in response to the target recovery task, performs the operation of restoring backup data of the target data stored in the first storage device to the second storage device through M execution units.

[0384] In this embodiment, the target event includes a data recovery event. When the computing device detects a data recovery event for the target data, it triggers a target recovery task.

[0385] Example 2a: The data recovery event includes the start time of the target data recovery.

[0386] For example, the target recovery strategy (i.e., the strategy for recovering the target data) includes the start time for recovering the target data. For instance, the target recovery strategy indicates that the target data should be recovered at a third time. Based on this, the computing device triggers the target recovery task when it detects the third time. For example, if the third time is 3:00 AM every Sunday, the computing device triggers the target recovery task when it detects 3:00 AM every Sunday.

[0387] Example 2b: The data recovery event includes a data recovery request, which is used to request the recovery of the target data.

[0388] For example, a user sends a data recovery request to a computing device via an electronic device, and the computing device triggers a target recovery task upon receiving the data recovery request.

[0389] Example 2c: Data recovery events include system failures.

[0390] For example, if a computing device detects a system failure (e.g., a system crash), the computing device triggers a target recovery task.

[0391] It should be noted that the embodiments of this application do not limit the types of data recovery events; the above is merely an illustrative example.

[0392] Optionally, there are multiple ways to determine M. Hereinafter, we will introduce the methods 1 and 2 as examples.

[0393] The following describes Method 1 by way of example through S1-S2.

[0394] S1: The computing device acquires the first execution rate of the execution unit.

[0395] The first execution rate is used to indicate the amount of data processed by the execution unit per unit time.

[0396] In one example, the operations and maintenance personnel send a first execution rate to the computing device via an electronic device. Upon receiving the first execution rate, the computing device stores it. Subsequently, in response to a target processing task, the computing device retrieves the first execution rate.

[0397] In another example, after the computing device completes the processing task of the first data, it stores the processing information of the first data. This processing information includes a first execution rate during the data backup system's processing of the first data by the execution unit. This first execution rate is the execution rate at which the execution unit processes the first data, that is, the amount of first data that the execution unit can process per unit of time. Subsequently, in response to the target processing task, the computing device obtains the first execution rate, which is the historical execution rate of the execution unit.

[0398] S2: The computing device determines the number of execution units to be used to perform the target processing task to be M, based on the first execution rate of the execution unit and the target performance.

[0399] In one example, the target performance includes the target rate when processing the target data. Based on this, in order for the M execution units to achieve the target rate when performing the target processing task, M satisfies the following formula (1):

[0400] For example, if the target speed is 10GB / s and the first execution speed of a single execution unit is 1GB / s, then M is 10. That is to say, 10 execution units are needed to execute the target processing task to achieve the user's expected speed of 10GB / s.

[0401] In another example, the target performance includes the target time for processing the target data. Based on this, in order to ensure that the time taken for M execution units to process the target data is no greater than the target time, M satisfies the following formula (2):

[0402] The total amount of target data refers to the total amount of target data to be processed, or in other words, the total amount of target processing tasks to be processed.

[0403] For example, if the total data size of the target data is 100GB, the first execution rate of the execution unit is 1GB / s, and the target duration is 10 seconds, meaning the user expects to process 100GB of data within 10 seconds, then M equals 10. Since one execution unit can process 1GB of data per second, 10 execution units can process 10GB of data in parallel. Therefore, 10 execution units can process 100GB of data in 10 seconds.

[0404] It should be noted that the embodiments of this application do not limit the formula that M satisfies; the above is merely an illustrative example.

[0405] In the above implementation, by estimating the number of execution units to perform the target processing task based on the first execution rate of the execution unit and the target performance expected by the user, it helps to reduce the gap between the obtained number of execution units and the actual number of execution units needed, thereby helping to reduce the extent to which the number of execution units needs to be adjusted according to the actual execution rate of the execution units in the future.

[0406] Hereinafter, Method 2 will be described by way of example using S3.

[0407] Optionally, the data backup system stores a first quantity value, which is M.

[0408] For example, maintenance personnel send a first quantity value to a computing device via an electronic device, and the computing device stores the first quantity value after receiving it. This first quantity value is the initial number of execution units that perform the processing task.

[0409] It should be noted that the embodiments of this application do not limit the memory in which the computing device stores the first quantity value. For example, the computing device can store the first quantity value in memory, hard disk or other storage devices.

[0410] S3: The computing device responds to the target processing task and acquires a first quantity value.

[0411] In this embodiment of the application, in response to a target processing task, the computing device retrieves a first quantity value from its memory to obtain a first quantity value of execution units for executing the target processing task, for example, the first quantity value is M. Then, the computing device executes the target processing task using the M execution units.

[0412] It should be noted that other related explanations for S3 can be found in the explanations for S1-S2, and will not be repeated here.

[0413] In the above implementation, a pre-stored first quantity value is used as the initial number of execution units for the target processing task. This helps to improve the efficiency of obtaining the initial number of execution units, thereby improving the execution efficiency of the target processing task.

[0414] There are multiple ways to obtain M execution units. The following examples, using method a and method b, illustrate this approach.

[0415] Method a, which involves “executing the target processing task through M execution units”, includes the following S4 and S5.

[0416] Optionally, the computing device of the data backup system is equipped with an execution unit pool, which includes at least one execution unit.

[0417] S4: The computing device obtains M execution units from the execution unit pool.

[0418] In this embodiment of the application, the computing device, in response to the target processing task, obtains M execution units from the execution unit pool to execute the target processing task.

[0419] S5: The computing device executes the target processing task by acquiring M execution units from the execution unit pool.

[0420] In this embodiment of the application, after the computing device obtains M execution units from the execution unit pool, it executes the target processing task through the M execution units from the execution unit pool.

[0421] In the above implementation, by pre-deploying an execution unit pool on the computing device and directly obtaining the started execution unit from the execution unit pool when the target processing task needs to be executed, it helps to improve the execution efficiency of the target processing task.

[0422] Method b, which involves "executing the target processing task through M execution units", includes the following steps S6 and S7.

[0423] S6: The computing device creates M execution units.

[0424] In this embodiment of the application, the computing device creates M execution units in response to the target processing task to execute the target processing task.

[0425] S7: The computing device executes the target processing task in parallel by creating M execution units.

[0426] In this embodiment of the application, after the computing device creates M execution units, it executes the target processing task through the created M execution units.

[0427] In the above implementation, when the target processing task needs to be executed, the required M execution units are created in real time. This helps to avoid the computing resources of the computing device being occupied in advance, thereby helping to improve the utilization rate of the computing resources of the computing device.

[0428] It should be noted that schemes a and b, as well as schemes 1 and 2, can be used in combination or individually. This application does not impose any restrictions on this.

[0429] S802: During the execution of the target processing task by the computing device, the performance of the data backup system in processing the target data is obtained.

[0430] In this embodiment of the application, during the execution of the target processing task by the computing device, the performance of the data backup system in processing the target data is obtained, so as to determine whether the performance of the data backup system in processing the target data has reached the target performance promised to the user.

[0431] The performance of the data backup system in processing target data includes several scenarios, which will be described below using scenarios 1 and 2.

[0432] Scenario 1: The performance of the data backup system in processing the target data includes the rate at which the data backup system processes the target data.

[0433] The rate at which the data backup system processes the target data is used to indicate the amount of target data processed by the data backup system per unit time.

[0434] In one example, the computing device obtains the time taken for M execution units to execute the target processing task and the amount of target data processed by the M execution units. Based on the time taken for the M execution units to execute the target processing task and the amount of target data processed by the M execution units, the data backup system calculates the rate at which it processes the target data. For example, if the time taken for the M execution units to execute the target processing task is T1, and the amount of target data processed by the M execution units is Q1, then the rate at which the data backup system processes the target data is Q1 / T1.

[0435] In another example, the computing device obtains the processing rate of the target data by each of the M execution units, and based on the processing rate of the target data by each of the M execution units, obtains the processing rate of the target data by the data backup system. For example, the processing rate of the target data by the data backup system is... S i Used to characterize the rate at which the i-th execution unit processes the target data, where i is a positive integer greater than or equal to 1.

[0436] Scenario 2: The performance of the data backup system in processing the target data includes the time required for the data backup system to process the target data.

[0437] In one example, the computing device obtains the time taken for M execution units to execute the target processing task and the amount of data processed by the M execution units. Based on the time taken for the M execution units to execute the target processing task and the amount of target data processed by the M execution units, it obtains the time required for the data backup system to process the target data. For example, the total amount of target data is Q, the amount of target data already processed by the M execution units is Q1, the remaining amount of target data to be processed is Q2 (i.e., Q-Q1), the time taken for the M execution units to execute the target processing task is T1, and the rate at which the data backup system processes the target data is S. Then, the time required for the data backup system to process the target data is T1+Q2 / S.

[0438] It should be noted that other relevant explanations for situation 2 can be found in the explanation for situation 1, and will not be repeated here.

[0439] Optionally, S802 includes: the performance of the data backup system in processing target data according to the first cycle during the execution of the target processing task by the computing device.

[0440] In this embodiment of the application, during the execution of a target processing task by the computing device through the execution units, the performance of the data backup system in processing the target data is obtained according to a first cycle, so as to adjust the number of execution units executing the target processing task according to the first cycle. For example, the computing device obtains the performance of the data backup system in processing the target data during the parallel processing of the target task by M execution units.

[0441] Optionally, the duration of the first cycle can be any value between 1 minute and 10 minutes.

[0442] In one example, the target time interval is 1 minute, meaning that the computing device obtains the performance data of the data backup system in processing the target data every minute. This helps to adjust the number of execution units performing the target processing tasks in a timely manner when the performance of the data backup system in processing the target data fails to meet the target performance, thereby helping to ensure that the performance of the data backup system in processing the target data meets the target performance promised to the user.

[0443] In another example, the target time interval is 10 minutes, meaning the computing device retrieves the target data every 10 minutes to assess the performance of the data backup system in processing the target data. This helps reduce the computing resources consumed by the data backup system while processing the target data.

[0444] In another example, the target time interval is 5 minutes. This means that the computing device checks the performance of the data backup system in processing the target data every 5 minutes. This not only helps control the computing resources used by the data backup system during target data processing but also allows for timely adjustment of the number of execution units performing the target processing tasks. Ultimately, this helps ensure that the data backup system's performance in processing the target data meets the performance targets promised to the user.

[0445] It should be noted that the specific duration of the first cycle is not limited in the embodiments of this application; the above is merely an illustrative description. For example, the first cycle can be dynamically selected based on the time required to execute the target processing task. For instance, if the time required to execute the target processing task is long, the first cycle can be set relatively long; conversely, if the time required to execute the target processing task is short, the first cycle can be set relatively short.

[0446] Optionally, S803: The computing device determines whether the relationship between the performance of the data backup system in processing the target data and the target performance meets the target conditions.

[0447] In this embodiment, the process ends when the relationship between the performance of the data backup system in processing target data and the target performance meets the target condition. If the relationship between the performance of the data backup system in processing target data and the target performance does not meet the target condition, the computing device executes S804 to adjust the performance of the data backup system in processing target data.

[0448] In one example, referring to Case 1 in S802, the computing device determines whether the relationship between the rate at which the data backup system processes the target data and the target rate meets the target condition. If the determination result is that the relationship between the rate at which the data backup system processes the target data and the target rate meets the target condition, the process ends. Conversely, if the determination result is that the relationship between the rate at which the data backup system processes the target data and the target rate does not meet the target condition, the computing device executes S804.

[0449] In another example, combining with case 2 in S802, the computing device determines whether the relationship between the time required for the data backup system to process the target data and the target time meets the target condition. If the determination result is that the relationship between the time required for the data backup system to process the target data and the target time meets the target condition, the process ends. Conversely, if the determination result is that the relationship between the time required for the data backup system to process the target data and the target time does not meet the target condition, the computing device executes S804.

[0450] In this embodiment of the application, the relationship between the performance of the data backup system in processing target data and the target performance satisfies the target condition, including multiple cases. Hereinafter, cases a and b are used as examples.

[0451] Case a: The relationship between the performance of the data backup system in processing the target data and the target performance satisfies the target conditions, including: the performance of the data backup system in processing the target data is equal to the target performance.

[0452] In one example, in conjunction with Case 1 in S802, the target performance includes the target rate, and the performance of the data backup system in processing the target data is equal to the target performance, including: the rate at which the data backup system processes the target data is equal to the target rate.

[0453] For example, if the target data processing rate is 5GB / s, and the data backup system processes the target data at a rate of 5GB / s, then the data backup system's performance in processing the target data and the relationship between the target data processing rate and the target performance meet the target condition. Conversely, if the data backup system's processing rate of the target data is not 5GB / s, then the data backup system's performance in processing the target data and the relationship between the target data processing rate and the target performance do not meet the target condition.

[0454] In another example, in conjunction with Case 2 in S802, the target performance includes the target duration, and the performance of the data backup system in processing the target data is equal to the target performance, including: the time required for the data backup system to process the target data is equal to the target duration.

[0455] For example, if the target duration is 30 minutes, and the time required for the data backup system to process the target data is also 30 minutes, then the data backup system's processing time for the target data equals the target data duration. In this case, the relationship between the data backup system's performance in processing the target data and its target performance meets the target condition. Conversely, if the time required for the data backup system to process the target data is not 30 minutes, then the data backup system's processing time for the target data does not equal the target duration. Therefore, the relationship between the data backup system's performance in processing the target data and its target performance does not meet the target condition.

[0456] In the above embodiments, when the performance of the data backup system in processing the target data is equal to the target performance, the computing device determines that the relationship between the performance of the data backup system in processing the target data and the target performance meets the target condition. That is, the number of execution units is not adjusted. This helps to ensure the reliability and accuracy of providing users with promised performance.

[0457] Case b: The relationship between the performance of the data backup system in processing the target data and the target performance meets the target conditions, including: the difference between the performance of the data backup system in processing the target data and the target performance is less than or equal to the difference threshold.

[0458] Optionally, the difference threshold can be any value between 1% * target performance and 10% target performance.

[0459] In one example, the difference threshold is 1% * target performance. This helps reduce the gap between the performance of the data backup system in processing the target data and the target performance, which not only helps the data backup system provide users with promised performance, but also helps control the computing resources used.

[0460] In another example, the difference threshold is set at 10% of the target performance. This helps reduce the probability of adjusting the number of execution units, thereby helping to reduce the computational resources consumed during the processing of the target data.

[0461] In another example, the difference threshold is 5% of the target performance. This not only helps control the amount of computing resources used when processing the target data, but also helps to account for the performance gap between the data backup system's performance in processing the target data and the target performance.

[0462] It should be noted that the specific value of the difference threshold is not limited in the embodiments of this application; the above is merely an illustrative example. For example, the difference threshold can be dynamically selected based on the actual scenario (e.g., the magnitude of the target performance). When the target performance is large, a relatively large value can be selected for the difference threshold; when the target performance is small, a relatively small value can be selected for the difference threshold.

[0463] In one example, in conjunction with Case 1 in S802, the target performance includes the target rate, and the difference between the performance of the data backup system in processing the target data and the target performance is less than or equal to the difference threshold, including: the difference between the rate at which the data backup system processes the target data and the target rate is less than or equal to the difference threshold.

[0464] For example, if the target data rate is 5 GB / s, the difference threshold is 0.25, and the data backup system processes the target data at a rate of S, then when S is 5.1 GB / s, the difference between 5.1 and 5 is 0.1, and 0.1 is less than 0.25. This means the difference between the data backup system's processing rate and the target data rate is less than the difference threshold, and the relationship between the data backup system's performance in processing the target data and the target performance meets the target condition. However, when S is 4 GB / s, the difference between 4 and 5 is 1, and 1 is greater than 0.25. This means the difference between the data backup system's processing rate and the target data rate is greater than the difference threshold, and the relationship between the data backup system's performance in processing the target data and the target performance does not meet the target condition.

[0465] In another example, in conjunction with case 2 in S802, the target performance includes the target duration, and the difference between the performance of the data backup system in processing the target data and the target performance is less than or equal to the difference threshold, including: the difference between the time required for the data backup system to process the target data and the target duration is less than or equal to the difference threshold.

[0466] For example, if the target duration is 30 minutes, the difference threshold is 1.5, and the time required for the data backup system to process the target data is T, then when T is 29 minutes, since the difference between 29 and 30 is 1, and 1 is less than 1.5, the difference between the time required for the data backup system to process the target data and the target duration is less than the difference threshold. Therefore, the relationship between the performance of the data backup system in processing the target data and the target performance meets the target condition. However, when T is 35 minutes, since the difference between 35 and 30 is 5, and 5 is greater than 1.5, the difference between the time required for the data backup system to process the target data and the target duration is greater than the difference threshold. Therefore, the relationship between the performance of the data backup system in processing the target data and the target performance does not meet the target condition.

[0467] In the above embodiments, when the performance of the data backup system in processing the target data and the difference between the target performance and the target performance are less than or equal to the difference threshold, the computing device determines that the relationship between the performance of the data backup system in processing the target data and the target performance meets the target condition. That is, the number of execution units is not adjusted. This helps to reduce the probability of adjusting the number of execution units, thereby helping to reduce the frequency of adjusting the number of execution units and thus helping to reduce the computing resources occupied.

[0468] S804: The computing device adjusts the number of execution units for performing the target processing task.

[0469] In this embodiment of the application, when the performance of the data backup system in processing target data and the relationship between the target performance do not meet the target conditions, the computing device adjusts the number of execution units that perform the target processing task, thereby adjusting the performance of the data backup system in processing target data so that the performance of the data backup system in processing target data and the relationship between the target performance meet the target conditions, thereby enabling the performance of the data backup system in processing target data to reach the target performance promised to the user.

[0470] In the above embodiments, the data backup system pre-stores a data processing strategy for the target data. This strategy indicates the target performance when processing the target data, which is the performance promised by the data backup system to the user. Based on this, after detecting the target processing task indicating the processing of the target data, the data backup system first executes the target processing task through M execution units. During the execution of the target processing task, the system acquires the performance of the data backup system in processing the target data and determines whether the performance meets the promised target performance. If the target conditions are not met, the computing device adjusts the number of execution units executing the target processing task. Thus, by using appropriate target conditions, not only can the data backup system achieve the promised target performance in processing the target data, enabling it to provide the user with a guaranteed performance, but it also helps the data backup system avoid consuming excessive computing resources during the processing of the target data.

[0471] Hereinafter, taking case a in S802 above as an example, S804 of the present application embodiment will be described by way of example.

[0472] Optionally, when the performance of the data backup system in processing the target data is less than the target performance, the computing device increases the number of target processing tasks executed. The following sections, S804a-S804b, describe a scheme for increasing the number of target processing tasks executed.

[0473] S804a: When the performance of the data backup system in processing the target data is less than the target performance, the computing device determines to add N execution units to execute the target processing task, where N is a positive integer greater than or equal to 1.

[0474] For example, when the performance of the data backup system in processing the target data is less than the target performance, that is, when the performance of the data backup system in processing the target data does not reach the performance promised to the user, the computing device determines the number of execution units that need to be added in order to improve the performance of the data backup system in processing the target data.

[0475] The first implementation scheme of S804a is described below through S8-S10.

[0476] S8: The second execution rate at which the computing device acquires the execution unit to execute the target processing task.

[0477] In one example, the second execution rate of the execution unit in performing the target processing task includes: the rate at which any one of the M execution units processes the target data.

[0478] For example, the M execution units include execution unit 1, execution unit 2, and execution unit 3. Execution unit 1 processes the target data at a rate of 4.8 GB / s, execution unit 2 processes the target data at a rate of 5.0 GB / s, and execution unit 3 processes the target data at a rate of 5.5 GB / s. Based on this, the second execution rate of the execution units in performing the target processing task can be any one of 4.8 GB / s, 5.0 GB / s, or 5.5 GB / s.

[0479] In this example, the rate at which any one of the M execution units processes the target data is used as the second execution rate of the execution unit in executing the target processing task. This helps to improve the speed at which the second execution rate of the execution unit in executing the target processing task is obtained.

[0480] In another example, the second execution rate of the execution unit for the target processing task includes: the average rate at which each of the M execution units executes the target processing task.

[0481] For example, the M execution units include execution unit 1, execution unit 2, and execution unit 3. Execution unit 1 processes the target data at a rate of 4.8 GB / s, execution unit 2 processes the target data at a rate of 5.0 GB / s, and execution unit 3 processes the target data at a rate of 5.5 GB / s. Based on this, the second execution rate of the execution units in performing the target processing task can be (4.8 + 5.0 + 5.5) / 3 = 5.1 GB / s.

[0482] In this example, the average rate at which each of the M execution units executes the target processing task is used as the second execution rate of the execution unit executing the target processing task. This helps to improve the accuracy of obtaining the second execution rate of the execution unit executing the target processing task.

[0483] In another example, the second execution rate of the execution unit for the target processing task includes: the maximum rate at which the M execution units execute the target processing task.

[0484] For example, the M execution units include execution unit 1, execution unit 2, and execution unit 3. Execution unit 1 processes the target data at a rate of 4.8 GB / s, execution unit 2 processes the target data at a rate of 5.0 GB / s, and execution unit 3 processes the target data at a rate of 5.5 GB / s. Based on this, the second execution rate of the execution units in performing the target processing task can be 5.5 GB / s.

[0485] In this example, the maximum rate at which the target processing task is executed among the M execution units is used as the second execution rate of the execution unit to execute the target processing task. This helps to diversify the ways to obtain the second execution rate.

[0486] In another example, the second execution rate of the execution unit for the target processing task includes: the minimum rate at which the target processing task is executed among the M execution units.

[0487] For example, the M execution units include execution unit 1, execution unit 2, and execution unit 3. Execution unit 1 processes the target data at a rate of 4.8 GB / s, execution unit 2 processes the target data at a rate of 5.0 GB / s, and execution unit 3 processes the target data at a rate of 5.5 GB / s. Based on this, the second execution rate of the execution units in performing the target processing task can be 4.8 GB / s.

[0488] In this example, the minimum rate at which the target processing task is executed among the M execution units is used as the second execution rate of the execution unit to execute the target processing task. This helps to diversify the ways to obtain the second execution rate.

[0489] In yet another example, the execution unit performs the second execution rate of the target processing task, satisfying the following formula (8):

[0490] Wherein, S1 is used to characterize the second execution rate of the execution unit in executing the target processing task, Q1 is used to characterize the amount of target data processed by the M execution units, and T1 is used to characterize the duration of the M execution units in executing the target processing task.

[0491] In this example, the second execution rate of the execution unit to execute the target processing task is obtained through the above (8), which helps to obtain the diversity of ways to obtain the second execution rate.

[0492] S9: The computing device determines the number of execution units to be used to perform the target processing task to be K, based on the second execution rate of the execution unit and the target performance.

[0493] In this embodiment of the application, after the computing device obtains the second execution rate of the execution unit executing the target processing task, it determines the number of execution units used to execute the target processing task in combination with the target performance expected by the user.

[0494] Example 1, the target performance includes the target rate when processing target data. Based on this, K satisfies the following formula (3):

[0495] Example 2, the target performance includes the target time for processing the target data. Based on this, K satisfies the following formula (4):

[0496] The execution time is the time that the M execution units have spent executing the target processing task, and the remaining amount of target data to be processed is the difference between the total amount of target data and the amount of target data processed by the M execution units.

[0497] S10: The computing device determines to add N execution units to perform the target processing task, where N is the difference between K and M.

[0498] In this approach, the number of execution units used to perform the target processing task is determined by the actual execution rate of the execution unit (i.e., the second execution rate), thereby determining the number of execution units that need to be added. This improves the accuracy of the determined number and helps to provide users with commensurate performance.

[0499] The first implementation scheme of S804a is described below through S11-S12.

[0500] S11: The computing device acquires a second quantity value, wherein the second quantity value is N;

[0501] For example, the data backup system stores a second quantity value, which indicates the number of execution units adjusted each time the number of execution units is adjusted. Based on this, when the computing device determines that the performance of the data backup system in processing the target data is less than the target performance, it obtains the second quantity value. The second quantity value may be provided to the computing device by a cloud service provider. Alternatively, it may be determined by the computing device based on historical experience; this embodiment of the application does not impose any limitations on this.

[0502] It should be noted that the specific numerical value of the second quantity value in the embodiments of this application is not limited.

[0503] S12: The computing device determines that the number of additional execution units is N.

[0504] In this approach, by pre-storing the number of execution units that need to be added, it not only helps to improve the speed of determining the number of units to be added, but also helps to increase the diversity of ways to determine the number of units.

[0505] S804b: The computing device executes the target processing task through N execution units and M execution units.

[0506] In this embodiment, after determining that N execution units need to be added, the computing device acquires N execution units and executes the target processing task together with the M execution units. That is, the target processing task is executed by N+M execution units.

[0507] For example, a computing device can execute a target processing task in parallel using N execution units. The performance of K (i.e., N+M) execution units in processing target data is greater than that of M execution units.

[0508] In this example, by increasing the number of execution units to execute target processing tasks in parallel, the performance of the data backup system in processing target data is improved. This not only helps to increase the speed of executing target processing tasks but also helps to reduce the execution speed requirements of individual execution units, thereby reducing the hardware infrastructure requirements of computing devices and ultimately reducing costs. Furthermore, it also allows for adjusting the performance of the data backup system in processing target data by changing the number of execution units.

[0509] In one example, the computing device can obtain K execution units from the execution unit pool, which helps to improve the speed of obtaining K execution units. In another example, the computing device can create K execution units to obtain K execution units, which helps to avoid K execution units occupying the computing device's computing resources, thereby helping to improve the computing device's computing resource utilization.

[0510] The above embodiments detail a scheme to improve the performance of a data backup system in processing target data by increasing the number of execution units used to perform target processing tasks. This application also provides a second scheme to improve the performance of a data backup system in processing target data. In this second scheme, the computing device can improve the performance of the data backup system in processing target data by adjusting the type of execution units used to perform the target processing tasks. For example, M execution units can be M threads, and N execution units can be N containers.

[0511] It should be noted that the relevant descriptions of the second solution can be found in the descriptions of the above embodiments, and will not be repeated here.

[0512] In the above embodiments, when the performance of the data backup system in processing the target data is less than the target performance, that is, when the performance of the data backup system in processing the target data does not reach the performance promised to the user (i.e., the target performance), the computing device increases the number of execution units to execute the target processing task, that is, increases the number of execution units that execute the target processing task, thereby improving the performance of the data backup system in processing the target data, and thus helping the performance of the data backup system in processing the target data to reach the performance promised to the user.

[0513] Optionally, when the performance of the data backup system in processing the target data exceeds the target performance, the computing device reduces the number of execution units executing the target processing task. The following sections, using S804c-S804d, describe schemes for reducing the number of execution units executing the target processing task.

[0514] S804c: When the performance of the data backup system in processing the target data exceeds the target performance, the computing device determines to reduce the number of execution units by P, where P is a positive integer less than M.

[0515] S804d: The computing device executes the target processing task through R execution units, where R is the difference between M and P, and R is a positive integer greater than or equal to 1.

[0516] It should be noted that the relevant explanations for S804c-S804d can be found in the explanations for S804a-S804b mentioned above, and will not be repeated here.

[0517] Based on the above scheme, the data backup system can provide data backup or data recovery services with different performance levels for different levels of data.

[0518] In one example, as shown in Table 1, users can divide data into L1, L2, and L3 levels and set different target rates (including backup or recovery rates) for the data processing strategies of different data levels. The data backup system can then provide data backup or recovery services with different performance levels based on the data processing strategies for each level. For example, it can provide a data backup service with a backup rate of 2GB / s for L1 level data and a data backup service with a backup rate of 1GB / s for L2 level data.

[0519] Table 1

[0520] In another example, as shown in Table 2, users can divide data into L1, L2, and L3 levels and set different target durations (including backup or recovery durations) for the data processing strategies of different data levels. The data backup system can then provide data backup or recovery services with varying performance levels based on the data processing strategies for each level. For example, the data backup service for L1 level data might complete in 30 minutes, while the data backup service for L2 level data might complete in 60 minutes.

[0521] Table 2

[0522] In the above embodiments, when the performance of the data backup system in processing the target data exceeds the target performance, it indicates that the performance of the data backup system in processing the target data has exceeded the target performance promised to the user. Based on this, the computing device reduces the number of execution units performing the target processing tasks, thereby reducing the performance of the data backup system in processing the target data, and thus helping to avoid wasting the computing resources of the computing device. Furthermore, it is also possible to limit the execution speed of the target processing tasks by the data backup system, that is, to limit the maximum rate at which the data backup system executes the target processing tasks.

[0523] In the above embodiments, after the data backup system detects a target processing task indicating that the target data should be processed, it first executes the target processing task through M execution units. During the execution of the target processing task, the system obtains the performance of the data backup system in processing the target data and determines whether the performance of the data backup system in processing the target data meets the processing performance promised to the user. If the performance of the data backup system in processing the target data does not meet the processing performance promised to the user, the data backup system determines to add N execution units to execute the target processing task, and executes the target processing task in parallel through N+M execution units to improve the performance of the data backup system in processing the target data. This enables the data backup system to achieve the processing performance promised to the user, thereby enabling the data backup system to provide the user with the promised processing performance. For example, the processing performance can be the data backup performance when backing up the target data, the data recovery performance when restoring the target data, etc.

[0524] Optionally, the data processing method further includes: after the data backup system has completed the target processing task, the computing device sends the processing result information of the target processing task to the electronic device, the processing result information including the performance of the data backup system in processing the target data.

[0525] By sending the processing results of the target processing task to the user's electronic device, the user can understand in a timely manner whether the performance of the data backup system in processing the target data has achieved the target performance promised by the data backup system to the user, thereby helping to improve the user experience.

[0526] Optionally, the processing result information also includes the target performance indicated by the data processing strategy for the target data. By setting the target data processing result information to include the target performance promised to the user by the data backup system, users can compare the performance of the data backup system in processing the target data with the target performance promised to the user, thereby improving the user experience.

[0527] Optionally, the data processing method further includes: storing execution information of the target processing task, wherein the execution information includes at least one of the number of execution units executing the target processing task or the execution rate of the execution units when processing the target data.

[0528] For example, a computing device may store the execution information of a target processing task in a storage medium such as memory or a hard disk.

[0529] In one example, execution information includes the execution rate at which the execution unit performs the target processing task.

[0530] In this example, the execution rate of the target processing task is stored in the execution unit. In this way, the execution rate of the target processing task can be used as a reference rate (i.e., the first execution rate) for the first execution cycle when other data processing tasks are executed, thereby helping to improve the accuracy of the number of execution units in the first execution cycle of other data processing tasks.

[0531] In another example, the execution information includes the number of execution units that perform the target processing task.

[0532] In yet another example, the execution information includes the number of execution units performing the target processing task and the execution rate of the execution units performing the target processing task.

[0533] In this embodiment, by storing the execution information of the target processing task, the data backup system can optimize the process of determining the number of execution units for the processing task to be executed based on the execution information of historically executed processing tasks, thereby helping to improve the accuracy of the determination result of the number of execution units.

[0534] Optionally, the data processing method may also include the following steps S13-S15.

[0535] S13: The computing device acquires the processing results of multiple data, wherein the processing result of one data includes whether it meets the standard or not.

[0536] Among them, "meeting the standard" is used to characterize the performance of the data processing system in processing one piece of data as greater than or equal to the performance indicated by the data processing strategy for one piece of data, while "not meeting the standard" is used to characterize the performance of the data backup system in processing the first piece of data as less than the performance indicated by the data processing strategy for one piece of data.

[0537] For example, after a computing device performs multiple data processing tasks, it obtains the processing results of multiple data to assess the compliance rate of the current data backup system.

[0538] S14: When the pass rate of multiple data processing results is less than the pass threshold, the computing device improves the system performance of the data backup system.

[0539] For example, improving the system performance of a data backup system includes: increasing at least one of the following: increasing the network bandwidth of the data backup system, the write bandwidth of the data backup system, or the data processing rate of the data backup system.

[0540] For example, increasing the data processing speed of a data backup system includes increasing the number of execution units in the execution unit pool.

[0541] In the above embodiments, if the pass rate of multiple data processing results is less than the pass threshold, it indicates that the current system performance of the data backup system is low. By improving the system performance of the data backup system, the system performance of the data backup system can be flexibly adjusted, which helps to improve the pass rate of the processing tasks to be processed, thereby ensuring the service quality of the data backup system.

[0542] S15: When the pass rate of multiple data processing results exceeds the pass threshold, the computing device reduces the system performance of the data backup system.

[0543] For example, reducing the system performance of a data backup system includes: reducing at least one of the following: reducing the network bandwidth of the data backup system, the write bandwidth of the data backup system, or the data processing rate of the data backup system.

[0544] For example, reducing the rate at which a data backup system processes data includes reducing the number of execution units in the execution unit pool.

[0545] In the above embodiments, if the pass rate of multiple data processing results is greater than the pass threshold, it indicates that the current system performance of the data backup system is wasted. By reducing the system performance of the data backup system, the system performance of the data backup system can be flexibly adjusted. This not only helps to avoid wasting the resources of the data backup system, but also helps to improve the resource utilization of the data backup system, thereby reducing costs.

[0546] The foregoing mainly describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the above functions, the data processing apparatus includes hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, the embodiments of this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this application.

[0547] This application embodiment can, according to the above method, exemplarily divide a data processing device into functional modules. For example, the data processing device may include functional modules corresponding to each functional division, or two or more functions may be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division; in actual implementation, there may be other division methods.

[0548] For example, Figure 10 shows a possible schematic diagram of the data processing apparatus (i.e., data processing apparatus 1000) involved in the above embodiments. The actions performed by the data processing apparatus 1000 can be executed by a computing device or implemented by executing corresponding software through a computing device. The data processing apparatus 1000 may include: an execution module 1001, an acquisition module 1002, and a determination module 1003. The execution module 1001 is used to execute a target processing task through M execution units in response to a target processing task, where M is a positive integer greater than or equal to 1, and the target processing task is used to indicate the processing of target data, which includes backing up target data or restoring target data. For example, as shown in S801 of Figure 8. The acquisition module 1002 is used to acquire the performance of the data backup system in processing the target data during the execution of the target processing task. For example, as shown in S802 of Figure 8. The determination module 1003 is used to determine to add N execution units to execute the target processing task when the performance of the data backup system in processing the target data is less than the target performance, where N is a positive integer greater than or equal to 1. The execution module 1001 is also used to execute the target processing task in parallel by adding N execution units and M execution units.

[0549] Optionally, when M is a positive integer greater than 1, the execution module 1001 is specifically used to: execute the target processing task through M execution units, including: execute the target processing task in parallel through M execution units; the execution module 1001 is also used to: reduce the number of execution units that execute the target processing task in parallel when the performance of the data backup system in processing the target data is greater than the target performance.

[0550] Optionally, the target performance includes the target rate when processing the target data, and the performance of the data backup system in processing the target data includes the rate at which the data backup system processes the target data.

[0551] Optionally, the target performance includes the target time for processing the target data, and the performance of the data backup system in processing the target data includes the time required for the data backup system to process the target data.

[0552] Optionally, before executing the target processing task through M execution units, the determining module 1003 is further configured to: obtain the first execution rate of the execution unit, the first execution rate being used to indicate the amount of data processed per unit time when the execution unit processes data; and determine the number of execution units used to execute the target processing task as M based on the first execution rate of the execution unit and the target performance.

[0553] Optionally, an execution unit pool is deployed on the data backup system, and the execution unit pool includes at least one execution unit; the execution module 1001 is specifically used to execute the target processing task through the M execution units of the execution unit pool.

[0554] Optionally, the determining module 1003 is specifically used to: obtain the second execution rate of the execution unit, the second execution rate being used to indicate the amount of data processed per unit time when the execution unit processes the target data; determine the number of execution units used to execute the target processing task as K based on the second execution rate of the execution unit and the target performance, where K is a positive integer greater than M; and determine to add N execution units to execute the target processing task, where N is the difference between K and M.

[0555] Optionally, the data processing device 1000 further includes a management module 1004; the data backup system stores the system performance of the data backup system, which is used to indicate the amount of data processed per unit time when the data backup system processes data; in response to a target processing task, the management module 1004 is used to: obtain a data processing strategy, which is used to indicate the target system performance when processing target data; when the system performance of the data backup system is greater than or equal to the target system performance, store the data processing strategy; the data processing strategy is used to instruct the data backup system to process the target data based on the data processing strategy; update the system performance of the data backup system to obtain the updated system performance of the data backup system; the updated system performance of the data backup system is the difference between the system performance of the data backup system before the update and the target system performance.

[0556] Optionally, the system performance of the data backup system includes the data backup performance of the data backup system, which is used to indicate the amount of data backed up by the data backup system per unit time; wherein, the data backup performance includes the minimum value among the network bandwidth, write bandwidth, and data processing rate of the data backup system.

[0557] Optionally, the system performance of the data backup system includes the data recovery performance of the data backup system, which indicates the amount of data recovered per unit time when the data backup system recovers data; wherein, the data recovery performance includes the minimum value among the network bandwidth, read bandwidth, and execution rate of the data backup system.

[0558] Optionally, the data backup system stores a first quantity value, which is M; before executing the target processing task through M execution units, the method further includes: obtaining the first quantity value.

[0559] Optionally, the target performance includes the target rate when processing the target data, M satisfying the following formula (1):

[0560] Optionally, the target performance includes the target time for processing the target data, M satisfying the following formula (2):

[0561] Optionally, the first execution rate is the historical execution rate of the execution unit, or the first execution rate is the rate set by the user. The historical execution rate refers to the execution rate of the execution unit before it executed the target processing task.

[0562] Optionally, the execution module 1001 is specifically used to: create the M execution units; and process the target task through the created M execution units.

[0563] Optionally, during the execution of the target processing task, the acquisition module 1002 is specifically used to: during the execution of the target processing task, acquire the performance of the data backup system in processing target data according to the first cycle.

[0564] Optionally, the data backup system stores a second quantity value, which is N; the determining module 1002 is specifically used to: obtain the second quantity value; and determine the second quantity value as the number of execution units to be added.

[0565] Optionally, the target performance includes the target rate when processing the target data, K satisfying the following formula (3):

[0566] Optionally, the target performance includes the target time for processing the target data, K satisfying the following formula (4):

[0567] Optionally, the second execution rate includes the average rate of the M execution rates of the M execution units, wherein the execution rate of an execution unit is the rate at which the execution unit processes the target data, or in other words, the execution rate of an execution unit is the amount of target data processed by the execution unit per unit time.

[0568] Optionally, the second execution rate includes the maximum rate among the M execution rates of the M execution units. Alternatively, the second execution rate includes the minimum rate among the M execution rates of the M execution units.

[0569] Optionally, the management module 1004 is specifically used for: storing data processing strategies when the system performance of the data backup system in the first time period is greater than or equal to the system performance required in the target time period; updating the system performance of the data backup system to obtain the updated system performance of the data backup system, including: updating the system performance of the data backup system in the first time period to obtain the updated system performance of the data backup system; the updated system performance of the data backup system in the first time period is the difference between the system performance of the data backup system in the first time period before the update and the target system performance.

[0570] Optionally, the management module 1004 is also used to: output recommendation information when the system performance of the data backup system is less than that of the target system; the recommendation information is used to indicate the system performance of the data backup system.

[0571] Optionally, the management module 1004 is specifically used to: output recommendation information when the system performance of the data backup system in the first time period is less than the target system performance; the recommendation information is used to indicate at least one of the system performance of the data backup system in the first time period or the system performance of the data backup system in the second time period, wherein the system performance of the data backup system in the second time period is greater than or equal to the target system performance.

[0572] Optionally, data backup performance includes the maximum of the network bandwidth, write bandwidth, and data processing rate of the data backup system. Alternatively, data backup performance includes the average of the network bandwidth, write bandwidth, and data processing rate of the data backup system.

[0573] Optionally, data recovery performance includes the maximum of the network bandwidth, read bandwidth, and execution rate of the data backup system. Alternatively, data recovery performance includes the average of the network bandwidth, read bandwidth, and execution rate of the data backup system.

[0574] Optionally, data backup performance includes the minimum of the write bandwidth of the data backup system or the data processing rate of the data backup system. Alternatively, data backup performance includes the maximum of the write bandwidth of the data backup system or the data processing rate of the data backup system. Or, data backup performance includes the average of the write bandwidth of the data backup system or the data processing rate of the data backup system.

[0575] Optionally, data backup performance includes the minimum of the network bandwidth and the data processing rate of the data backup system. Alternatively, data backup performance includes the maximum of the network bandwidth and the data processing rate of the data backup system. Or, data backup performance includes the average of the network bandwidth and the data processing rate of the data backup system.

[0576] Optionally, data backup performance includes the minimum of the network bandwidth and the write bandwidth of the data backup system. Alternatively, data backup performance includes the maximum of the network bandwidth and the write bandwidth of the data backup system. Or, data backup performance includes the average of the network bandwidth and the write bandwidth of the data backup system.

[0577] Optionally, data recovery performance includes the minimum of the read bandwidth and the execution rate of the data backup system. Alternatively, data recovery performance includes the maximum of the read bandwidth and the execution rate of the data backup system. Or, data recovery performance includes the average of the read bandwidth and the execution rate of the data backup system.

[0578] Optionally, data recovery performance includes the minimum of the network bandwidth and execution rate of the data backup system. Alternatively, data recovery performance includes the maximum of the network bandwidth and execution rate of the data backup system. Or, data recovery performance includes the average of the network bandwidth and execution rate of the data backup system.

[0579] Optionally, data recovery performance includes the minimum of the network bandwidth and read bandwidth of the data backup system. Alternatively, data recovery performance includes the maximum of the network bandwidth and read bandwidth of the data backup system. Or, data recovery performance includes the average of the network bandwidth and read bandwidth of the data backup system.

[0580] Optionally, the management module 1004 is also used to: obtain the system performance of the data backup system; and store the system performance of the data backup system.

[0581] Optionally, the management module 1004 is specifically used to: determine the system performance of the data backup system according to the second cycle.

[0582] Optionally, the management module 1004 is also used to: send the processing result information of the target processing task after the data backup system has completed the target processing task, the processing result information including the performance of the data backup system in processing the target data.

[0583] Optionally, the processing result information may also include the target performance indicated by the data processing strategy for the target data.

[0584] Optionally, the management module 1004 is further configured to: store execution information of the target processing task, the execution information including at least one of the number of execution units executing the target processing task or the execution rate of the execution units when processing the target data.

[0585] Optionally, the management module 1004 is also used to: obtain the processing results of multiple data; the processing result of a data includes whether it meets the standard or not, where meeting the standard is used to characterize that the performance of the data processing system in processing a data is greater than or equal to the performance indicated by the data processing strategy of the data, and not meeting the standard is used to characterize that the performance of the data backup system in processing the first data is less than the performance indicated by the data processing strategy of the data; when the compliance rate of the processing results of multiple data is less than the compliance threshold, the system performance of the data backup system is improved.

[0586] Optionally, the management module 1004 is specifically used to: increase at least one of the following: network bandwidth of the data backup system, write bandwidth of the data backup system, or data processing rate of the data backup system.

[0587] Optionally, the management module 1004 is also used to: reduce the system performance of the data backup system when the compliance rate of the processing results of the multiple data exceeds the compliance threshold.

[0588] Optionally, the management module 1004 is specifically used to reduce the system performance of the data backup system, including reducing at least one of the following: reducing the network bandwidth, write bandwidth, or data processing rate of the data backup system.

[0589] For a detailed description of the above-mentioned optional methods, please refer to the foregoing method embodiments, which will not be repeated here. Furthermore, the explanation of any of the data processing apparatus 1000 provided above and the description of its beneficial effects can be found in the corresponding method embodiments described above, and will not be repeated here.

[0590] In this embodiment, the execution module 1001, acquisition module 1002, determination module 1003, and management module 1004 can all be implemented in software or in hardware. For example, the implementation of the execution module 1001 will be described below. Similarly, the implementation of the execution module 1001, acquisition module 1002, determination module 1003, and management module 1004 can refer to the implementation of the execution module 1001.

[0591] As an example of a software functional unit, the execution module 1001 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, the execution module 1001 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0592] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

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

[0594] The execution module 1001 includes multiple computing devices that can be distributed within the same region or in different regions. Similarly, the execution module 1001 can be distributed within the same Availability Zone (AZ) or in different AZs. Likewise, the execution module 1001 can be distributed within the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0595] It should be noted that, in other embodiments, the execution module 1001 can be used to execute any step in the data processing method, the acquisition module 1002 can be used to execute any step in the data processing method, the determination module 1003 can be used to execute any step in the data processing method, and the management module 1004 can be used to execute any step in the data processing method. The steps implemented by the execution module 1001, the acquisition module 1002, the determination module 1003, and the management module 1004 can be specified as needed. By implementing different steps in the data processing method through the execution module 1001, the acquisition module 1002, the determination module 1003, and the management module 1004, all functions of the data storage device can be realized.

[0596] This application also provides a computing device 1100. As shown in FIG11, the computing device 1100 includes: a bus 1102, a processor 1104, a memory 1106, and a communication interface 1108. The processor 1104, the memory 1106, and the communication interface 1108 communicate with each other via the bus 1102. The computing device 1100 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 1100.

[0597] Bus 1102 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 11, but this does not imply that there is only one bus or one type of bus. Bus 1102 can include pathways for transmitting information between various components of computing device 1100 (e.g., memory 1106, processor 1104, communication interface 1108).

[0598] The processor 1104 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0599] The memory 1106 may include volatile memory, such as random access memory (RAM). The processor 1104 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive, or solid-state drive.

[0600] The memory 1106 stores executable program code, and the processor 1104 executes the executable program code to implement the functions of the aforementioned execution module 1001, acquisition module 1002, determination module 1003, and management module 1004, thereby realizing the data processing method. That is, the memory 1106 stores instructions for executing the data processing method.

[0601] The communication interface 1108 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 1100 and other devices or communication networks.

[0602] For example, the computing device 1100 described above may be the computing device of the data backup system shown in FIG2.

[0603] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0604] As shown in Figure 12, the computing device cluster 1200 includes at least one computing device 1100. The memory 1106 of one or more computing devices 1100 in the computing device cluster may store the same instructions for performing data processing methods.

[0605] In some possible implementations, the memory 1106 of one or more computing devices 1100 in the computing device cluster may also store partial instructions for executing data processing methods. In other words, a combination of one or more computing devices 1100 can jointly execute instructions for executing data processing methods.

[0606] It should be noted that the memory 1106 in different computing devices 1100 within the computing device cluster can store different instructions, which are used to execute certain functions of the data processing device. That is, the instructions stored in the memory 1106 of different computing devices 1100 can implement the functions of one or more modules among the execution module 1001, the acquisition module 1002, the determination module 1003, and the management module 1004.

[0607] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 13 illustrates one possible implementation. As shown in Figure 13, computing device 1100A and computing device 1100B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device.

[0608] In this type of possible implementation, the memory 1106 in computing device 1100A stores instructions for executing the functions of execution module 1001 and acquisition module 1002. Meanwhile, the memory 1106 in computing device 1100B stores instructions for executing the functions of determination module 1003 and management module 1004.

[0609] The connection method between the computing device clusters shown in Figure 13 can be considered as follows: taking into account that the data processing method provided in this application embodiment needs to perform a large amount of computation, it is considered that the functions of the determination module 1003 and the management module 1004 are handed over to the computing device 1100B.

[0610] It should be understood that the functions of computing device 1100A shown in Figure 13 can also be performed by multiple computing devices 1100. Similarly, the functions of computing device 1100B can also be performed by multiple computing devices 1100.

[0611] This application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to the connection method of the computing device cluster shown in Figures 12 and 13. The difference is that the memory 1106 of one or more computing devices 1100 in this computing device cluster can store the same instructions for executing data processing methods.

[0612] In some possible implementations, the memory 1106 of one or more computing devices 1100 in the computing device cluster may also store partial instructions for executing data processing methods. In other words, a combination of one or more computing devices 1100 can jointly execute instructions for executing data processing methods.

[0613] This application also provides a data backup system, which includes a processor, a memory, and a computer program / instructions stored in the memory; the processor executes the computer program / instructions to cause the data backup system to perform the above-described method.

[0614] This application also provides a data backup system, which includes a computing device and a storage device. The computing device includes a processor, a memory, and computer programs / instructions stored in the memory. The processor executes the computer programs / instructions to cause the data backup system to perform the above-described method, and the storage device is used to store data.

[0615] This application also provides a processor that can be used to execute the above methods.

[0616] This application also provides a chip, including: a processor and a power supply circuit; the power supply circuit can be used to supply power to the processor; the processor can be used to execute the above-described method.

[0617] This application also provides a computing device, which may include a processor, a memory, and computer programs / instructions stored in the memory; the processor executes the computer programs / instructions to enable the computing device to implement the above-described methods.

[0618] This application also provides a computing device cluster, which includes at least one computing device; each computing device includes a processor, a memory, and computer programs / instructions stored in the memory, wherein the processor of each computing device executes the computer programs / instructions stored in the memory of each computing device to enable each computing device to implement the above-described method.

[0619] This application also provides a computer program product. The computer program product includes a computer program / instructions that are capable of running on a computing device or stored on any usable medium. When the computer program / instructions are executed on at least one computing device, the at least one computing device can perform the methods described above.

[0620] This application also provides a computer-readable storage medium, which can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The computer-readable storage medium stores a computer program / instructions that, when executed on at least one computing device, enable the at least one computing device to perform the described method.

[0621] For example, the available media may be magnetic media (e.g., floppy disks, magnetic disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state drives (SSDs)).

[0622] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

A data processing method, characterized in that, An application is made in a data backup system, the data backup system storing a data processing strategy for target data, the data processing strategy for the target data being used to indicate target performance when processing the target data, the data backup system including a storage device storing the target data, the storage device being located in at least one data center, the method comprising: In response to a target processing task, the target processing task is executed by M execution units, where M is a positive integer greater than or equal to 1. The target processing task is used to instruct the processing of the target data, and the processing of the target data includes backing up the target data or restoring the target data. During the execution of the target processing task, the performance of the data backup system in processing the target data is obtained; When the performance of the data backup system in processing the target data is less than the target performance, it is determined that N execution units will be added to execute the target processing task, where N is a positive integer greater than or equal to 1; The target processing task is executed in parallel by the added N execution units and M execution units. The method according to claim 1, characterized in that, When M is a positive integer greater than 1, The execution of the target processing task through M execution units includes: executing the target processing task in parallel through the M execution units; The method further includes: when the performance of the data backup system in processing the target data is greater than the target performance, reducing the number of execution units that execute the target processing task in parallel. The method according to claim 1 or 2, characterized in that, Before executing the target processing task through M execution units, the method further includes: The first execution rate of the execution unit is obtained, and the first execution rate is used to indicate the amount of data processed by the execution unit per unit time when processing data. Based on the first execution rate of the execution unit and the target performance, the number of execution units used to execute the target processing task is determined to be M. The method according to any one of claims 1-3 is characterized in that, The data backup system is equipped with an execution unit pool, which includes at least one execution unit. The execution of the target processing task through M execution units includes: The target processing task is executed by the M execution units in the execution unit pool. The method according to any one of claims 1-4, characterized in that, The step of determining to add N execution units to execute the target processing task includes: The second execution rate of the execution unit is obtained, and the second execution rate is used to indicate the amount of data processed by the execution unit per unit time when processing the target data; Based on the second execution rate of the execution unit and the target performance, the number of execution units used to execute the target processing task is determined to be K, where K is a positive integer greater than M; It is determined that N execution units will be added to execute the target processing task, where N is the difference between K and M. The method according to any one of claims 1-5 is characterized in that, The target performance includes the target rate when processing the target data, and the performance of the data backup system in processing the target data includes the rate at which the data backup system processes the target data; or... The target performance includes the target time for processing the target data, and the performance of the data backup system in processing the target data includes the time required for the data backup system to process the target data. The method according to any one of claims 1-6, characterized in that, The data backup system stores the system performance of the data backup system, and the system performance is used to indicate the amount of data processed by the data backup system per unit time. Prior to the response to the target processing task, the method further includes: The data processing strategy is obtained, and the data processing strategy is used to indicate the target system performance when processing the target data; When the system performance of the data backup system is greater than or equal to the performance of the target system, the data processing strategy is stored, and the data processing strategy is used to instruct the data backup system to process the target data based on the data processing strategy. The system performance of the data backup system is updated to obtain the updated system performance of the data backup system, wherein the updated system performance of the data backup system is the difference between the system performance of the data backup system before the update and the target system performance. The method according to claim 7, characterized in that, The system performance of the data backup system includes the data backup performance and / or the data recovery performance of the data backup system. The data backup performance is used to indicate the amount of data backed up per unit time when the data backup system backs up data, and the data recovery performance is used to indicate the amount of data recovered per unit time when the data backup system recovers data. The data backup performance includes the minimum of the network bandwidth, write bandwidth, and data processing rate of the data backup system; the data recovery performance includes the minimum of the network bandwidth, read bandwidth, and execution rate of the data backup system. A data processing device, characterized in that, An application is made in a data backup system, the data backup system storing a data processing strategy for target data, the data processing strategy indicating target performance when processing the target data, the data backup system including a storage device storing the target data, the storage device being located in at least one data center, the data processing device comprising: An execution module is configured to execute a target processing task through M execution units in response to the target processing task, where M is a positive integer greater than or equal to 1, the target processing task being used to instruct the processing of the target data, the processing of the target data including backing up the target data or restoring the target data; The acquisition module is used to acquire the performance of the data backup system in processing the target data during the execution of the target processing task; The determination module is used to determine, when the performance of the data backup system in processing the target data is less than the target performance, to add N execution units to execute the target processing task, where N is a positive integer greater than or equal to 1; The execution module is also used to execute the target processing task in parallel by adding N execution units and the M execution units. The apparatus according to claim 9 is characterized in that, When M is a positive integer greater than 1, The execution module is specifically used to: execute the target processing task in parallel through M execution units; The determining module is further configured to: reduce the number of execution units that execute the target processing task in parallel when the performance of the data backup system in processing the target data is greater than the target performance. The apparatus according to claim 9 or 10 is characterized in that, Before executing the target processing task through M execution units, the determining module is further configured to: In response to the target processing task, a first execution rate of the execution unit is obtained, wherein the first execution rate is used to indicate the amount of data processed by the execution unit per unit time when processing data; Based on the first execution rate of the execution unit and the target performance, the number of execution units used to execute the target processing task is determined to be M. The apparatus according to any one of claims 9-11 is characterized in that, The data backup system is deployed with an execution unit pool, which includes multiple execution units; the execution module is specifically used for: The target processing task is executed by the M execution units in the execution unit pool. The apparatus according to any one of claims 9-12 is characterized in that, The determining module is specifically used for: The second execution rate of the execution unit is obtained, and the second execution rate is used to indicate the amount of data processed by the execution unit per unit time when processing the target data; Based on the second execution rate of the execution unit and the target performance, the number of execution units used to execute the target processing task is determined to be K, where K is a positive integer greater than M; It is determined that N execution units will be added to execute the target processing task, where N is the difference between K and M. The apparatus according to claim 9 is characterized in that, The target performance includes the target rate when processing the target data, and the performance of the data backup system in processing the target data includes the rate at which the data backup system processes the target data; or... The target performance includes the target time for processing the target data, and the performance of the data backup system in processing the target data includes the time required for the data backup system to process the target data. The apparatus according to any one of claims 9-14 is characterized in that, The data backup system stores the system performance of the data backup system, which indicates the amount of data processed by the data backup system per unit time; the device further includes a management module, which, in response to the target processing task, is used to: The data processing strategy is obtained, and the data processing strategy is used to indicate the target system performance when processing the target data; When the system performance of the data backup system is greater than or equal to the performance of the target system, the data processing strategy is stored. The data processing strategy is used to instruct the data backup system to process the target data based on the data processing strategy; The system performance of the data backup system is updated to obtain the updated system performance of the data backup system, wherein the updated system performance of the data backup system is the difference between the system performance of the data backup system before the update and the target system performance. The apparatus according to claim 15 is characterized in that, The system performance of the data backup system includes the data backup performance and / or the data recovery performance of the data backup system. The data backup performance is used to indicate the amount of data backed up by the data backup system per unit time, and the data recovery performance is used to indicate the amount of data recovered by the data backup system per unit time when recovering data. The data backup performance includes the minimum of the network bandwidth, write bandwidth, and data processing rate of the data backup system; the data recovery performance includes the minimum of the network bandwidth, read bandwidth, and execution rate of the data backup system. A computing device cluster, characterized in that, The computing device cluster includes at least one computing device; Each of the at least one computing device includes a processor, a memory, and a computer program / instructions stored in the memory; The processor of each computing device executes computer programs / instructions stored in the memory of each computing device to enable each computing device to implement the method as described in any one of claims 1-8. A computer program product, characterized in that, The computer program product includes a computer program / instruction, which, when executed by a computing device, implements the method as described in any one of claims 1-8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program / instruction, which, when executed by a computing device, implements the method as described in any one of claims 1-8.