US11461133B2 - Method for managing backup jobs, electronic device and computer program product - Google Patents
Method for managing backup jobs, electronic device and computer program product Download PDFInfo
- Publication number
- US11461133B2 US11461133B2 US16/888,787 US202016888787A US11461133B2 US 11461133 B2 US11461133 B2 US 11461133B2 US 202016888787 A US202016888787 A US 202016888787A US 11461133 B2 US11461133 B2 US 11461133B2
- Authority
- US
- United States
- Prior art keywords
- backup
- jobs
- executed
- job
- expected
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Definitions
- Embodiments of the present disclosure relate to the field of computers, and in particular, to a method for managing backup jobs, an electronic device, and a computer program product.
- the embodiment of the present disclosure provides a solution for managing backup jobs.
- a method for managing backup jobs includes: determining expected execution durations of a group of to-be-executed backup jobs; dividing the group of to-be-executed backup jobs into a plurality of backup job subsets based on the expected execution durations, wherein a difference between the expected execution durations of every two backup jobs in each backup job subset does not exceed a predetermined threshold duration; and adjusting an execution plan of the group of to-be-executed backup jobs to cause the backup jobs in at least one backup job subset in the plurality of backup job subsets to simultaneously begin to be executed.
- an electronic device includes: at least one processing unit and at least one memory.
- the at least one memory is coupled to the at least one processing unit, and stores an instruction configured to be executed by the at least one processing unit.
- the instruction is executed by the at least one processing unit to cause the device to execute actions.
- the actions include: determining expected execution durations of a group of to-be-executed backup jobs; dividing the group of to-be-executed backup jobs into a plurality of backup job subsets based on the expected execution durations, wherein a difference between the expected execution durations of every two backup jobs in each backup job subset does not exceed a predetermined threshold duration; and adjusting an execution plan of the group of to-be-executed backup jobs to cause the backup jobs in at least one backup job subset in the plurality of backup job subsets to simultaneously begin be executed.
- a computer program product is provided.
- the computer program product is stored in a non-transient computer storage medium, and includes a machine-executable instruction.
- the machine executable instruction is operated in a device to cause the device to execute any step of the method described according to the first aspect of the present disclosure.
- FIG. 1 illustrates a schematic diagram of an example environment where embodiments of the present disclosure may be implemented
- FIG. 2 illustrates a flow chart of a process of managing backup jobs according to an embodiment of the present disclosure
- FIG. 3 illustrates a schematic diagram of execution of backup jobs according to one embodiment of the present disclosure
- FIG. 4 illustrates a schematic diagram of adjustment of an execution plan of backup jobs according to an embodiment of the present disclosure
- FIG. 5 illustrates a flow chart of a process of adjusting an execution plan according to an embodiment of the present disclosure
- FIG. 6 illustrates a schematic block diagram of an example device configured to implement the embodiments of the summary of the present disclosure.
- the term “include,” “comprise” and variations thereof mean open-ended inclusion, that is, “including but not limited to.” Unless specifically stated, the term “or” means “and/or.” The term “based on” means “based at least in part on.” The terms “one example embodiment” and “one embodiment” mean “at least one example embodiment.” The term “another embodiment” means “at least one further embodiment.” The terms “first,” “second,” etc. may refer to different or the same objects. Other explicit and implicit definitions may be included below.
- the number and scale of backup jobs to be processed by a backup device has also become larger.
- the administrator may only generally specify a backup mode of each backup job and a backup frequency of each backup job.
- the administrator may specify whether each backup job is a full volume backup or an incremental backup, and for example, may specify that the backup jobs need to be executed once every 24 hours.
- a method for managing backup jobs is provided.
- expected execution durations of a group of to-be-executed backup jobs may be determined, and the group of to-be-executed backup jobs are divided into a plurality of backup job subsets based on the expected execution durations, wherein a difference between expected execution durations of every two backup jobs in each backup job subset does not exceed a predetermined threshold duration.
- an execution plan of the group of to-be-executed backup jobs is adjusted to cause the backup jobs in at least one backup job subset in the plurality of backup job subsets to simultaneously begin to be executed.
- the embodiment of the present disclosure may cause a plurality of backup jobs with the same expected execution durations to simultaneously begin to be executed, thereby ensuring the stability of execution of the backup jobs.
- FIG. 1 illustrates a schematic diagram of environment 100 where the embodiment of the present disclosure may be implemented.
- environment 100 includes computing device 120 and backup storage device 130 .
- Computing device 120 may manage a plurality of to-be-executed backup jobs 110 .
- computing device 120 may also receive an execution plan associated with the plurality of backup jobs 110 .
- the execution plan may specify, for example, predetermined start times when backup jobs 110 are expected to begin to be executed and expected backup frequencies of executing backup jobs 110 .
- Computing device 120 may cause backup jobs 110 to be executed based on the execution plan, so as to write to-be-backed-up data to backup storage device 130 , for example, to store the data as backup data block 140 .
- computing device 120 may determine expected execution durations of backup jobs 110 , and adjust the execution plan of backup jobs 110 based on the expected execution durations.
- a process of managing the backup jobs according to the embodiment of the present disclosure will be described below with reference to FIGS. 2 to 5 .
- FIG. 2 illustrates a flow chart of process 200 of managing backup jobs according to some embodiments of the present disclosure. Process 200 may be implemented, for example, by computing device 120 shown in FIG. 1 .
- computing device 120 determines expected execution durations of a group of to-be-executed backup jobs 110 .
- computing device 120 may, for example, determine the expected execution durations of the group of to-be-executed backup jobs 110 based on a group of historical backup jobs.
- computing device 120 may acquire historical execution information of one group of historical backup jobs. For example, computing device 120 may acquire a size of backup data of the group of historical backup jobs and execution durations or execution speeds thereof. Subsequently, computing device 120 may determine the expected execution durations of the group of to-be-executed backup jobs 110 based on the historical execution information.
- computing device 120 may determine the execution durations of the historical backup jobs of the same sizes as those of the backup jobs 110 as the expected execution durations. As another example, computing device 120 may also, for example, determine the expected execution durations of backup jobs 110 based on linear fitting of the durations of the historical backup jobs. For example, when there is no historical backup job that is exactly of the same size as that of backup job 110 , computing device 120 may, for example, determine the expected execution duration of backup job 110 based on linear fitting of execution duration of a historical backup job of an approximate size.
- computing device 120 may, for example, also use a machine learning method to determine the expected execution durations of backup jobs 110 .
- computing device 120 may, for example, use the historical execution information of the historical backup jobs as training data of a machine learning model.
- the historical execution information may include, for example, the sizes and the execution durations of the historical backup jobs and the number of concurrent backup jobs during execution.
- the model will be able to determine expected execution times of backup jobs of specific sizes by inputting specific calculation conditions such as a specific number of concurrent backup jobs and the like, thereby determining the expected execution durations of the group of to-be-executed backup jobs 110 .
- computing device 120 divides the group of to-be-executed backup jobs 110 into a plurality of backup job subsets based on the expected execution durations. A difference between the expected execution durations of every two backup jobs in each backup job subset does not exceed a predetermined threshold duration.
- computing device 120 may, for example, divide a backup cycle into a plurality of time windows, and assign backup jobs with expected end time falling within the same time window into the same backup job subset.
- the expected end time may be determined based on the time when the backup jobs are expected to begin to be executed and the expected execution durations.
- a time window may be determined to be 1 minute in size. For a plurality of backup jobs that are expected to begin to be executed at 10 am, backup jobs 110 with the expected end time falling within the time window between 10:10 and 10:11 will be assigned to the same backup job subset. In this way, the backup jobs with the same expected execution durations may be uniformly managed.
- computing device 120 may also consider the maximum number of concurrent backup jobs allowed by a backup system. For example, computing device 120 may make the number of backup jobs in each backup job subset not to exceed a predetermined threshold number.
- the threshold number may be, for example, the maximum number of concurrent backup jobs.
- FIG. 3 illustrates a schematic diagram 300 of executing backup jobs according to the embodiment of the present disclosure.
- a group of to-be-executed backup jobs includes 31 backup jobs, i.e., backup job 301 to backup job 331 .
- these backup jobs are expected to begin to be executed at the time T 0 , and for example, an expected backup cycle is specified as 24 hours.
- FIG. 3 illustrates, for example, a situation where these backup jobs are executed on the first day.
- these backup jobs are continuously executed based on the maximum number of concurrent backup jobs allowed.
- the maximum number of concurrent backup jobs is nine.
- the execution duration of each backup job may change in each backup process.
- backup job 301 starts backup from the time T 0 and takes 10 minutes to back up, and may take 15 minutes on the second day.
- the start time of backup job 310 originally started at T 0 +12 minutes on the first day will change to T 0 +12 minutes on the second day. This makes backup job 310 fail to meet a frequency requirement of backup once every 24 hours, which may lead to a risk of loss of the backup data.
- computing device 120 may determine the expected execution durations of backup job 301 to backup job 331 , and group backup job 301 to backup job 331 based on the expected execution durations. As an example, computing device 120 may, for example, determine the execution durations of these backup jobs on the first day as the expected execution durations, and then group backup job 301 to backup job 331 below according to the constraints of the threshold duration and the maximum number of concurrent jobs:
- Second subset ⁇ backup job 327 , backup job 329 , and backup job 330 ⁇ ;
- Ninth subset ⁇ backup job 304 , backup job 306 , backup job 308 , backup job 309 , backup job 318 , backup job 323 , and backup job 326 ⁇ .
- the embodiment of the present disclosure may perform unified management on the original large number of backup jobs.
- computing device 120 adjusts the execution plan of the group of to-be-executed backup jobs 110 , to cause backup jobs in at least one backup job subset in the plurality of backup job subsets to simultaneously begin to be executed.
- computing device 120 may adjust the execution plan of the group of backup jobs according to the maximum number of concurrent backup jobs.
- FIG. 4 illustrates a schematic diagram 400 of adjustment of the execution plan of the backup jobs according to an embodiment of the present disclosure.
- computing device 120 may first consider the first subset ⁇ backup job 331 ⁇ with the longest expected execution duration, and sequentially consider the remaining backup job subsets with expected execution durations. For example, computing device 120 may determine that a remaining subset with the longest expected execution duration is the second subset ⁇ backup job 327 , backup job 329 , and backup job 330 ⁇ . Considering that the total number of backup jobs in the second subset and the first subset does not exceed the maximum number of concurrent backup jobs, computing device 120 may adjust the backup jobs to cause the backup jobs in the second subset and the backup jobs in the first subset to simultaneously begin to be executed.
- the seventh subset ⁇ backup job 310 , backup job 311 , backup job 312 , backup job 314 , backup job 315 , backup job 319 , backup job 320 , backup job 324 , and backup job 325 ⁇ has the longest expected execution duration.
- computing device 120 may adjust the execution plan to cause the backup jobs in the seventh subset to be executed at the end of execution of the backup jobs in the first subset.
- computing device 120 may, for example, determine the execution plan as shown in FIG. 4 . In this way, backup jobs with approximate expected execution durations simultaneously begin to be executed all the time, thereby making the execution of the backup jobs more stable.
- computing device 120 may also adjust the execution plan, so that there is no overlap in the execution of two adjacent backup job subsets, thereby further improving the stability of the execution of the backup jobs.
- the process of block 206 will be described below with reference to FIG. 5 .
- FIG. 5 illustrates a flow chart of a process of adjusting the execution plan according to the embodiment of the present disclosure.
- computing device 120 may determine expected end time of backup jobs in a first backup job subset in the plurality of backup job subsets. Still referring to the example of FIG. 4 , the first subset is used as an example of the first backup job subset. Computing device 120 may, for example, determine the expected end time as T 2 based on the expected execution time of backup job 331 in the first subset.
- computing device 120 may determine a target time point based on the expected end time. Specifically, computing device 120 may, for example, determine the latest expected end time in this backup job subset as the target time point. For the example of FIG. 4 , considering that there is only one backup job 331 in the first backup job subset, computing device 120 may determine the expected end time T 2 as the target time point.
- computing device 120 may set the expected start time of the backup jobs in the second backup job subset in the plurality of backup job subsets to be later than the target time point.
- computing device 120 may set a time buffer window between the executions of the backup jobs from different subsets. For example, computing device 120 may set a time point T 3 at a period of time after the expected end time T 2 as the expected start time of the second backup job subset. It should be understood that the lengths of the time buffer windows between different backup job subsets that are not executed concurrently may be set as different sizes as needed.
- computing device 120 can ensure that the execution of a previous backup job will no longer affect the time point when a subsequent backup job begins to be executed, thereby ensuring that the backup jobs are always backed up at the frequency expected by a user. This may further reduce the risk of loss of the backup data due to failure to satisfy the backup frequency.
- computing device 120 may also adjust the predetermined start time of the backup jobs. Specifically, computing device 120 may determine the predetermined start time of the group of to-be-executed backup jobs based on the execution plan associated with the group of to-be-executed backup jobs. Taking FIG. 3 as an example, computing device 120 may, for example, determine the predetermined start time of backup job 330 to backup job 331 as T 0 .
- computing device 120 may also adjust the execution plan according to determination of idle time existing before the predetermined start time of at least one backup job in the group of to-be-executed backup jobs, so that the at least one backup job is executed before the predetermined start time. As shown in FIG. 4 , computing device 120 may, for example, determine that the backup system has certain idle time before the time point T 0 according to the execution plan of all the backup jobs. On the premise that the previous backup jobs have a certain time buffer window, computing device 120 may cause at least one backup job to be executed before the predetermined start time. For example, computing device 120 may cause backup job 331 to be executed at the time T 1 before the predetermined start time T 0 . By utilizing the idle time of the system to the maximum extent, the embodiment of the present disclosure may further improve the efficiency of the backup system.
- FIG. 6 illustrates a schematic block diagram of example device 600 configured to implement the embodiments of the summary of the present disclosure.
- computing device 120 may be implemented by device 600 .
- device 600 includes central processing unit (CPU) 601 , which may perform various appropriate actions and processing according to a computer program instruction stored in read-only memory (ROM) 602 or a computer program instruction loaded from storage unit 608 into random access memory (RAM) 603 .
- ROM read-only memory
- RAM random access memory
- various programs and data required for the operation of device 600 may also be stored.
- CPU 601 , ROM 602 , and RAM 603 are connected to each other through bus 604 .
- Input/output (I/O) interface 605 is also connected to bus 604 .
- I/O interface 605 Several components in device 600 are connected to I/O interface 605 , including: input unit 606 , such as a keyboard and a mouse; output unit 607 , such as various types of displays and speakers; storage unit 608 , such as a disk and an optical disc; and communication unit 609 , such as a network card, a modem, and a wireless communication transceiver.
- Communication unit 609 allows device 600 to exchange information/data with other devices through a computer network, such as the Internet, and/or various telecommunication networks.
- process 200 may be performed by processing unit 601 .
- process 200 may be implemented as a computer software program that is tangibly included in a machine-readable medium, such as storage unit 608 .
- part or all of computer programs may be loaded and/or installed on device 600 via ROM 602 and/or communication unit 609 .
- the computer programs When the computer programs are loaded into RAM 603 and executed by CPU 601 , one or more actions of process 200 described above may be executed.
- the present disclosure may be a method, an apparatus, a system, and/or a computer program product.
- the computer program product may include a computer-readable storage medium on which computer-readable program instructions configured to execute various aspects of the present disclosure are stored.
- the computer-readable storage medium may be a tangible device that may maintain and store instructions used by an instruction execution device.
- the computer-readable storage medium may be, for example, but not limited to, an electric storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
- Non-exhaustive list of computer-readable storage media include: portable computer disks, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), static random access memories (SRAMs), portable compact disc read-only memories (CD-ROMs), digital versatile discs (DVDs), memory sticks, floppy disks, mechanical encoding devices such as a punch card or a protruding structure in a groove stored with instructions, and any suitable combination of the foregoing.
- RAMs random access memories
- ROMs read-only memories
- EPROMs or flash memories erasable programmable read-only memories
- SRAMs static random access memories
- CD-ROMs compact disc read-only memories
- DVDs digital versatile discs
- memory sticks floppy disks
- mechanical encoding devices such as a punch card or a protruding structure in a groove stored with instructions
- the computer-readable storage media used here are not interpreted as transient signals per se, such as radio waves or other freely propagated electromagnetic waves, electromagnetic waves propagated through waveguides or other transmission media (such as light pulses passing through fiber optic cables), or electrical signal transmitted via electrical wires.
- the computer-readable program instructions described here can be downloaded from the computer-readable storage media to various computing/processing devices, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network and/or a wireless network.
- the network may include a copper transmission cable, fiber optic transmission, wireless transmission, a router, a firewall, a switch, a gateway computer and/or an edge server.
- a network adapter card or network interface in each computing/processing device receives the computer-readable program instruction from the network, and forwards the computer-readable program instruction for storage in the computer-readable storage medium in each computing/processing device.
- the computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcodes, firmware instructions, state setting data, or source or object codes written in any combination of one or more programming languages.
- the programming languages include object-oriented programming languages, such as Smalltalk and C++, and conventional procedural programming languages, such as “C” language or similar programming languages.
- the computer-readable program instructions may be executed entirely on a user computer, executed partially on a user computer, executed as a stand-alone software package, executed partially on a user computer and partially on a remote computer, executed entirely on a remote computer or executed on a server.
- the remote computer can be connected to a user computer through any kind of networks, including a local area network (LAN) or a wide area network (WAN), or connected to an external computer (such as through the Internet by using an Internet service provider).
- LAN local area network
- WAN wide area network
- an electronic circuit is personalized by using state information of the computer-readable program instructions, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA).
- the electronic circuit may execute the computer-readable program instructions to implement various aspects of the present disclosure.
- These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatuses, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing apparatuses, a device for implementing the functions/actions specified in one or more blocks in the flow charts and/or the block diagrams is generated.
- These computer-readable program instructions may also be stored in a computer-readable storage medium, and these instructions cause a computer, a programmable data processing apparatus, and/or other devices to work in a specific manner. Therefore, the computer-readable medium storing the instructions includes: an article of manufacture that includes instructions for implementing various aspects of the functions/actions specified in one or more blocks in the flow charts and/or the block diagrams.
- the computer-readable program instructions can also be loaded onto a computer, other programmable data processing apparatuses, or other device, so that a series of operating steps can be performed on the computer, other programmable data processing devices, or other devices to produce a computer-implemented process, so that the instructions executed on the computer, other programmable data processing apparatuses, or other devices implement the functions/actions specified in one or more blocks in the flow charts and/or the block diagrams.
- each block in the flow charts or the block diagrams may represent a part of a module, a program segment or an instruction, and a part of the module, the program segment or the instruction comprises one or more executable instructions for realizing a specified logic function.
- the functions marked in the block may also happen in an order different from that marked in the accompanying drawing in some alternative implementations. For example, actually, two continuous blocks may be basically concurrently executed and may also be executed according to the opposite order sometimes, depending on the functions involved.
- each block in the block diagrams and/or the flow charts as well as a combination of the blocks in the block diagrams and/or the flow charts may be realized by using a special system used for executing the specified function or action and based on hardware or may be realized by using a combination of special hardware and a computer instruction.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Retry When Errors Occur (AREA)
Abstract
Description
Claims (15)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010117692.3 | 2020-02-25 | ||
| CN202010117692.3A CN113377572B (en) | 2020-02-25 | 2020-02-25 | Method, electronic device and computer program product for managing backup jobs |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20210263770A1 US20210263770A1 (en) | 2021-08-26 |
| US11461133B2 true US11461133B2 (en) | 2022-10-04 |
Family
ID=77365211
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US16/888,787 Active 2041-04-06 US11461133B2 (en) | 2020-02-25 | 2020-05-31 | Method for managing backup jobs, electronic device and computer program product |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US11461133B2 (en) |
| CN (1) | CN113377572B (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110597659B (en) * | 2019-08-28 | 2024-06-04 | 华为技术有限公司 | Backup processing method and server |
| CN114020539B (en) * | 2022-01-05 | 2022-03-18 | 国家超级计算天津中心 | Block storage self-adaptive backup system based on cloud environment |
| US12401577B2 (en) * | 2023-02-28 | 2025-08-26 | Rubrik, Inc. | Techniques for automatic service level agreement generation |
| US20240320577A1 (en) * | 2023-03-20 | 2024-09-26 | Sap Se | Automated Batch Sizing of Background Jobs |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060242648A1 (en) * | 2005-04-21 | 2006-10-26 | Francesca Guccione | Workload scheduling method and system with improved planned job duration updating scheme |
| US20170109199A1 (en) * | 2015-10-15 | 2017-04-20 | Red Hat, Inc. | Scheduling multi-phase computing jobs |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8566287B2 (en) * | 2010-01-29 | 2013-10-22 | Hewlett-Packard Development Company, L.P. | Method and apparatus for scheduling data backups |
| CN109726093B (en) * | 2017-10-27 | 2022-03-22 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for executing test cases |
| CN110058966B (en) * | 2018-01-18 | 2023-11-14 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for data backup |
| CN110058958B (en) * | 2018-01-18 | 2023-07-25 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for managing data backup |
| CN110609763B (en) * | 2018-06-15 | 2023-05-05 | 伊姆西Ip控股有限责任公司 | Method, electronic device, and computer-readable medium for managing and executing data backup jobs |
-
2020
- 2020-02-25 CN CN202010117692.3A patent/CN113377572B/en active Active
- 2020-05-31 US US16/888,787 patent/US11461133B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060242648A1 (en) * | 2005-04-21 | 2006-10-26 | Francesca Guccione | Workload scheduling method and system with improved planned job duration updating scheme |
| US20170109199A1 (en) * | 2015-10-15 | 2017-04-20 | Red Hat, Inc. | Scheduling multi-phase computing jobs |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113377572B (en) | 2024-07-09 |
| US20210263770A1 (en) | 2021-08-26 |
| CN113377572A (en) | 2021-09-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11461133B2 (en) | Method for managing backup jobs, electronic device and computer program product | |
| US11243717B2 (en) | Method, electronic device and computer program product for processing data | |
| US11599519B2 (en) | Method, electronic device and computer program product for data management | |
| CN112685224B (en) | Task management method, device and computer program product | |
| US11314553B2 (en) | Method, apparatus, and computer program product for determining usage change rate of storage system | |
| US11669412B2 (en) | Method, electronic device and computer program product for storage management | |
| CN114064262B (en) | Method, apparatus and program product for managing computing resources in a storage system | |
| US10936297B2 (en) | Method, device, and computer program product for updating software | |
| US20190129807A1 (en) | Method and device for managing a virtual machine | |
| US11922045B2 (en) | Method, device and computer program product for data backup | |
| CN113722007B (en) | Configuration method, device and system of VPN branch equipment | |
| US11294773B2 (en) | Method, apparatus and computer program product for managing backup system | |
| US20220035527A1 (en) | Method, electronic device and computer program product for processing operation commands | |
| US11340825B1 (en) | Method, device, and computer program product for managing storage system | |
| US20220107750A1 (en) | Method, electronic device, and computer program product for processing data | |
| US11604704B2 (en) | Method, device and computer program product for data backup | |
| US11507471B2 (en) | Method, apparatus and computer program product for managing backup system | |
| US11153232B2 (en) | Method, device and computer program product for backing up data | |
| US11513718B2 (en) | Method, electronic device and computer program product for configuring buffer size associated with backup threads | |
| US20230376545A1 (en) | Method and apparatus for controlling scraping pressure | |
| US20190258462A1 (en) | Batch script decomposer | |
| CN117112374A (en) | A display method, device, equipment and storage medium | |
| US10437753B1 (en) | Calibration on high-speed IO interfaces | |
| US20230130801A1 (en) | Method, electronic device, and computer program product for model training and duration prediction | |
| US11966584B2 (en) | Method, device, and computer program product for managing storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| AS | Assignment |
Owner name: EMC IP HOLDING COMPANY LLC, MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIU, MIN;ZHANG, MING;WANG, REN;AND OTHERS;SIGNING DATES FROM 20200318 TO 20200319;REEL/FRAME:052838/0338 |
|
| AS | Assignment |
Owner name: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, NORTH CAROLINA Free format text: SECURITY AGREEMENT;ASSIGNORS:DELL PRODUCTS L.P.;EMC IP HOLDING COMPANY LLC;REEL/FRAME:053531/0108 Effective date: 20200818 |
|
| AS | Assignment |
Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT, TEXAS Free format text: SECURITY INTEREST;ASSIGNORS:DELL PRODUCTS L.P.;EMC IP HOLDING COMPANY LLC;REEL/FRAME:053578/0183 Effective date: 20200817 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT, TEXAS Free format text: SECURITY INTEREST;ASSIGNORS:DELL PRODUCTS L.P.;EMC IP HOLDING COMPANY LLC;REEL/FRAME:053574/0221 Effective date: 20200817 Owner name: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT, TEXAS Free format text: SECURITY INTEREST;ASSIGNORS:DELL PRODUCTS L.P.;EMC IP HOLDING COMPANY LLC;REEL/FRAME:053573/0535 Effective date: 20200817 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| AS | Assignment |
Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058001/0371 Effective date: 20211101 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108;ASSIGNOR:CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH;REEL/FRAME:058001/0371 Effective date: 20211101 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| AS | Assignment |
Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060333/0001 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060333/0001 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060332/0864 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060332/0864 Effective date: 20220329 Owner name: EMC IP HOLDING COMPANY LLC, TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060333/0106 Effective date: 20220329 Owner name: DELL PRODUCTS L.P., TEXAS Free format text: RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535);ASSIGNOR:THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT;REEL/FRAME:060333/0106 Effective date: 20220329 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |