IP Library Granted Patent US 12711018
Granted Patent B2
US 12711018 · App. 19/060,320 · Granted Aug 18, 2026

Data backup method and apparatus

Inventors: Xiangle Cheng (Hangzhou, CN); Xiang Shi (Shenzhen, CN); Guangjun He (Shenzhen, CN); Jun Liu (Chengdu, CN)
Assignee: Huawei Technologies Co., Ltd.
G06F11/1461G06F2201/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12711018
App. No.
19/060,320
Filed
Feb 21, 2025
Granted
Aug 18, 2026
Kind
B2
Art Unit
2165
USPC
707/654
Abstract

A data backup method and apparatus are provided. The data backup method includes: obtaining first backup data volumes and first job completion times of a plurality of service objects, wherein the first backup data volumes and the first job completion times correspond to last backup jobs of the plurality of service objects; obtaining a scheduling sequence of next backup jobs of the plurality of service objects based on the first backup data volumes and the first job completion times; and sending a scheduling indication to a client based on the scheduling sequence of the next backup jobs of the plurality of service objects, wherein the scheduling indication includes an identifier of a service object corresponding to a backup job that is to be scheduled.

Claims (76)

1 . A data backup method, applied to an electronic device, the method comprising:

obtaining first backup data volumes and first job completion times of a plurality of service objects, wherein the first backup data volumes and the first job completion times correspond to last backup jobs of the plurality of service objects;

obtaining a scheduling sequence of next backup jobs of the plurality of service objects based on the first backup data volumes and the first job completion times, including:

inputting the first backup data volumes and the first job completion times into a second machine learning model, to obtain second backup data volumes and second job completion times of the plurality of service objects, wherein the second backup data volumes and the second job completion times correspond to the next backup jobs of the plurality of service objects;

determining a ratio of a second backup data volume corresponding to a first service object to a second job completion time corresponding to the first service object, to obtain an easiness degree of a next backup job of the first service object, wherein the first service object is any one of the plurality of service objects;

obtaining a remaining start time of the next backup job of the first service object based on the second job completion time corresponding to the first service object;

after easiness degrees of the next backup jobs of the plurality of service objects and remaining start times of the next backup jobs of the plurality of service objects are all obtained, obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects; and

sending a scheduling indication to a client based on the scheduling sequence of the next backup jobs of the plurality of service objects, wherein the scheduling indication comprises an identifier of a service object corresponding to a backup job that is to be scheduled.

2 . The method according to claim 1 , wherein the obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the first backup data volumes and the first job completion times comprises:

inputting the first backup data volumes and the first job completion times into a first machine learning model, to obtain the scheduling sequence of the next backup jobs of the plurality of service objects.

3 . The method according to claim 1 , wherein before the obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects, the method further comprises:

determining whether to cancel the next backup job of the first service object; and

wherein the obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects comprises:

based on the next backup job of the first service object being not canceled, obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects.

4 . The method according to claim 1 , wherein the obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects comprises:

determining ratios of the easiness degrees of the next backup jobs of the plurality of service objects to the remaining start times of the next backup jobs of the plurality of service objects, to obtain scheduling thresholds of the next backup jobs of the plurality of service objects; and

ranking the scheduling thresholds of the next backup jobs of the plurality of service objects in descending order, to obtain the scheduling sequence of the next backup jobs of the plurality of service objects.

5 . The method according to claim 3 , wherein the determining whether to cancel the next backup job of the first service object comprises:

determining whether the remaining start time of the next backup job of the first service object is less than 0;

based on the remaining start time of the next backup job of the first service object being less than 0, determining a cancellation probability of the next backup job of the first service object; and

based on the cancellation probability of the next backup job of the first service object being greater than a preset threshold, determining to cancel the next backup job of the first service object.

6 . The method according to claim 5 , wherein after the determining whether the remaining start time of the next backup job of the first service object is less than 0, the method further comprises:

based on the remaining start time of the next backup job of the first service object being greater than or equal to 0, determining not to cancel the next backup job of the first service object.

7 . The method according to claim 5 , wherein after the determining the cancellation probability of the next backup job of the first service object, the method further comprises:

based on the cancellation probability of the next backup job of the first service object being less than or equal to the preset threshold, determining not to cancel the next backup job of the first service object.

8 . The method according to claim 1 , wherein after the sending the scheduling indication to the client based on the scheduling sequence of the next backup jobs of the plurality of service objects, the method further comprises:

receiving a transmit rate and a receive rate of a backup job of a second service object in a last periodicity that are sent by the client, wherein the backup job of the second service object is being executed;

obtaining a rate limit of the backup job of the second service object in a next periodicity based on the transmit rate and the receive rate; and

sending a rate limiting indication to the client, wherein the rate limiting indication comprises the rate limit of the backup job of the second service object in the next periodicity.

9 . The method according to claim 8 , wherein the obtaining the rate limit of the backup job of the second service object in the next periodicity based on the transmit rate and the receive rate comprises:

inputting the transmit rate and the receive rate into a third machine learning model, to obtain a receive rate of the backup job of the second service object in the next periodicity; and

obtaining the rate limit of the backup job of the second service object in the next periodicity based on the receive rate of the backup job of the second service object in the next periodicity.

10 . The method according to claim 9 , wherein the obtaining the rate limit of the backup job of the second service object in the next periodicity based on the receive rate of the backup job of the second service object in the next periodicity comprises:

obtaining a preset bandwidth of a first port, wherein the first port is configured to execute the backup job of the second service object;

obtaining a sum of receive rates, in the next periodicity, of all backup jobs whose backup data is transmitted by the first port; and

obtaining the rate limit of the backup job of the second service object in the next periodicity based on the preset bandwidth of the first port, the receive rate of the backup job of the second service object in the next periodicity, and the sum of the receive rates.

11 . The method according to claim 1 , further comprising:

obtaining a target machine learning model through training, wherein the target machine learning model comprises at least one of a first machine learning model, the second machine learning model, and a third machine learning model, the first machine learning model is used to predict a scheduling sequence of next backup jobs of service objects, the second machine learning model is used to predict a second backup data volume and a second job completion time of a service object, and the third machine learning model is used to predict a receive rate of a backup job of a service object in a next periodicity.

12 . The method according to claim 11 , wherein the obtaining the target machine learning model through training comprises:

obtaining historical backup data volumes and historical job completion times of the plurality of service objects, wherein the historical backup data volumes and the historical job completion times correspond to completed backup jobs of the plurality of service objects;

obtaining a preset machine learning model;

inputting the historical backup data volumes and the historical job completion times of the plurality of service objects into the preset machine learning model, to obtain predicted backup data volumes and predicted job completion times of the plurality of service objects; and

performing convergence training based on the predicted backup data volumes and the predicted job completion times to obtain the target machine learning model.

13 . The method according to claim 11 , wherein the obtaining the target machine learning model through training comprises:

obtaining historical receive rates and historical transmit rates of completed backup jobs of the plurality of service objects;

obtaining a preset machine learning model;

inputting the historical receive rates and the historical transmit rates into the preset machine learning model, to obtain predicted receive rates of backup jobs of the plurality of service objects; and

performing convergence training based on the predicted receive rates to obtain the target machine learning model.

14 . A backup apparatus, comprising:

one or more processors; and

a memory, configured to store one or more programs, wherein

upon the one or more programs being executed by the one or more processors, the one or more processors are enabled to implement a method comprising:

obtaining first backup data volumes and first job completion times of a plurality of service objects, wherein the first backup data volumes and the first job completion times correspond to last backup jobs of the plurality of service objects;

obtaining a scheduling sequence of next backup jobs of the plurality of service objects based on the first backup data volumes and the first job completion times, including:

inputting the first backup data volumes and the first job completion times into a second machine learning model, to obtain second backup data volumes and second job completion times of the plurality of service objects, wherein the second backup data volumes and the second job completion times correspond to the next backup jobs of the plurality of service objects;

determining a ratio of a second backup data volume corresponding to a first service object to a second job completion time corresponding to the first service object, to obtain an easiness degree of a next backup job of the first service object, wherein the first service object is any one of the plurality of service objects;

obtaining a remaining start time of the next backup job of the first service object based on the second job completion time corresponding to the first service object;

after easiness degrees of the next backup jobs of the plurality of service objects and remaining start times of the next backup jobs of the plurality of service objects are all obtained, obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects; and

sending a scheduling indication to a client based on the scheduling sequence of the next backup jobs of the plurality of service objects, wherein the scheduling indication comprises an identifier of a service object corresponding to a backup job that is to be scheduled.

15 . The apparatus according to claim 14 , wherein the obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the first backup data volumes and the first job completion times comprises:

inputting the first backup data volumes and the first job completion times into a first machine learning model, to obtain the scheduling sequence of the next backup jobs of the plurality of service objects.

16 . The apparatus according to claim 14 , wherein before the obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects, the method further comprises:

determining whether to cancel the next backup job of the first service object; and

wherein the obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects comprises:

based on the next backup job of the first service object being not canceled, obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects.

17 . The apparatus according to claim 14 , wherein the obtaining the scheduling sequence of the next backup jobs of the plurality of service objects based on the easiness degrees of the next backup jobs of the plurality of service objects and the remaining start times of the next backup jobs of the plurality of service objects comprises:

determining ratios of the easiness degrees of the next backup jobs of the plurality of service objects to the remaining start times of the next backup jobs of the plurality of service objects, to obtain scheduling thresholds of the next backup jobs of the plurality of service objects; and

ranking the scheduling thresholds of the next backup jobs of the plurality of service objects in descending order, to obtain the scheduling sequence of the next backup jobs of the plurality of service objects.

18 . The apparatus according to claim 16 , wherein the determining whether to cancel the next backup job of the first service object comprises:

determining whether the remaining start time of the next backup job of the first service object is less than 0;

based on the remaining start time of the next backup job of the first service object being less than 0, determining a cancellation probability of the next backup job of the first service object; and

based on the cancellation probability of the next backup job of the first service object being greater than a preset threshold, determining to cancel the next backup job of the first service object.

19 . The apparatus according to claim 18 , wherein after the determining whether the remaining start time of the next backup job of the first service object is less than 0, the method further comprises:

based on the remaining start time of the next backup job of the first service object being greater than or equal to 0, determining not to cancel the next backup job of the first service object.

20 . The apparatus according to claim 18 , wherein after the determining the cancellation probability of the next backup job of the first service object, the method further comprises:

based on the cancellation probability of the next backup job of the first service object being less than or equal to the preset threshold, determining not to cancel the next backup job of the first service object.