Method, apparatus and computer program product for managing a backup system

By obtaining the status and score of the backup system and adjusting the backup plan using neural network, the complexity and performance problems of backup management in large backup systems are solved, and automated backup configuration is realized, which improves the performance and efficiency of the backup system.

CN112688974BActive Publication Date: 2024-12-20EMC IP HLDG CO LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201910986471.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2019-10-17
Publication Date
2024-12-20
Estimated Expiration
2039-10-17

AI Technical Summary

Technical Problem

In large backup systems, independently planning data backups for each backup client will lead to management complexity and performance issues, and existing solutions require a lot of human resources and may lead to unreasonable backup plans, affecting data protection.

Method used

By obtaining the status of the backup system, determining the reward score corresponding to the status, and using the neural network to adjust the backup plan based on the status and scores, realizing automated backup time planning configuration.

Benefits of technology

Improve the performance of the backup system, reduce management overhead, reduce manual operations, avoid unreasonable backup planning and duplicate work, and improve the efficiency of data protection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112688974B_ABST
    Figure CN112688974B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to methods, devices, and computer program products for managing a backup system. A method includes: obtaining the state of a backup system, the backup system including a backup server and at least one backup client, the backup server being communicatively coupled to the at least one backup client via a network and being used to back up data at the at least one backup client; determining a reward score corresponding to the state of the backup system; and determining configuration information for the backup system based on the state of the backup system and the reward score, the configuration information indicating a time schedule for the backup server to perform data backup on the at least one backup client. Embodiments of the present disclosure can adjust the backup plan of the backup system in real time based on the state of the backup system, thereby improving the performance of the backup system and reducing the management overhead of the backup system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure generally relate to the field of data storage, and more particularly to methods, apparatuses, and computer program products for managing a backup system. Background Art

[0002] In order to avoid data loss, a backup system is usually used to save data. The backup system usually includes a backup server and a backup client, wherein the backup client is connected to the backup server through a network, and the backup server is used to back up the data at the backup client.

[0003] To ensure data on backup clients is not lost, data on backup clients needs to be regularly backed up to the storage server. However, in large-scale backup systems, there are many backup clients. If data backups are independently scheduled for each backup client, it becomes difficult to manage backup time slots for all backup clients. Therefore, the backup schedules for all backup clients need to be centrally managed to achieve optimal system performance. Summary of the Invention

[0004] Embodiments of the present disclosure provide methods, apparatuses, and computer program products for managing a backup system.

[0005] In a first aspect of the present disclosure, a method for managing a backup system is provided. The method includes: obtaining a status of the backup system, the backup system comprising a backup server and at least one backup client, the backup server being communicatively coupled to the at least one backup client via a network and configured to back up data on the at least one backup client; determining a reward score corresponding to the status of the backup system; and, based on the status of the backup system and the reward score, determining configuration information for the backup system, the configuration information indicating a time schedule for the backup server to perform data backups on the at least one backup client.

[0006] In a second aspect of the present disclosure, a device for managing a backup system is provided. The 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 instructions for execution by the at least one processing unit. When executed by the at least one processing unit, the instructions cause the device to perform actions, the actions including: obtaining a status of a backup system, the backup system including a backup server and at least one backup client, the backup server being communicatively coupled to the at least one backup client via a network and configured to back up data at the at least one backup client; determining a reward score corresponding to the status of the backup system; and determining configuration information for the backup system based on the status of the backup system and the reward score, the configuration information indicating a time schedule for the backup server to perform data backups on the at least one backup client.

[0007] In a third aspect of the present disclosure, a computer program product is provided. The computer program product is tangibly stored in a non-transitory computer storage medium and includes machine-executable instructions. The machine-executable instructions, when executed by a device, cause the device to perform any of the steps of the method described in the first aspect of the present disclosure.

[0008] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the disclosure, nor is it intended to limit the scope of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings, wherein like reference numerals generally represent like components throughout the exemplary embodiments of the present disclosure.

[0010] Figure 1 A schematic diagram illustrating an example environment in which embodiments of the present disclosure can be implemented;

[0011] Figure 2 A schematic block diagram of a neural network for managing a backup system according to an embodiment of the present disclosure is shown;

[0012] Figure 3A A schematic diagram for training a performer network according to an embodiment of the present disclosure is shown;

[0013] Figure 3B A schematic diagram for training a critic network according to an embodiment of the present disclosure is shown;

[0014] Figure 4 A flowchart illustrating an example method for managing a backup system according to an embodiment of the present disclosure; and

[0015] Figure 5 A schematic block diagram of an example device that may be used to implement embodiments of the present disclosure is shown.

[0016] In the various drawings, the same or corresponding reference numerals denote the same or corresponding parts. DETAILED DESCRIPTION

[0017] The preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although preferred embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.

[0018] As used herein, the term "including" and its variations represent open inclusion, i.e., "including but not limited to." Unless otherwise stated, the term "or" means "and / or." The term "based on" means "based at least in part on." The terms "an example embodiment" and "an embodiment" mean "at least one example embodiment." The term "another embodiment" means "at least one additional embodiment." The terms "first," "second," etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0019] As mentioned above, to ensure data on backup clients is not lost, data on backup clients needs to be regularly backed up to the storage server. However, in large-scale backup systems, there are many backup clients. If data backups are independently scheduled for each backup client, it becomes difficult to manage backup time slots for all backup clients. Therefore, the backup schedules for all backup clients need to be managed uniformly to achieve optimal system performance.

[0020] In traditional solutions, system administrators typically manually configure backup plans for each backup client using the backup server's backup management tools. However, this approach often has the following limitations: 1) An unreasonable backup plan may cause some backups to fail or perform poorly, thus compromising data protection; 2) Backup systems often have many factors that can affect backup tasks, so managing backup plans requires significant human resources and effort; and 3) In many cases, backup plans may need to be redefined (e.g., due to network routing changes, registration of new backup clients, and hardware upgrades on the backup server), resulting in a lot of duplication of work.

[0021] An embodiment of the present disclosure proposes a solution for managing a backup system. In this solution, the status of the backup system is acquired. The backup system includes a backup server and at least one backup client. The backup server is communicatively coupled to the at least one backup client via a network and is used to back up data at the at least one backup client. A reward score corresponding to the status of the backup system is determined. In addition, based on the status of the backup system and the reward score, a neural network is used to determine configuration information for the backup system. The configuration information indicates a time schedule for the backup server to perform data backups on the at least one backup client. In this way, the embodiments of the present disclosure can adjust the backup plan of the backup system in real time based on the status of the backup system, thereby improving the performance of the backup system and reducing the management overhead of the backup system.

[0022] The embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. Figure 1A block diagram of an example environment 100 is shown in which embodiments of the present disclosure can be implemented. It should be understood that the structure of the example environment 100 is described for exemplary purposes only and does not imply any limitation on the scope of the present disclosure.

[0023] like Figure 1 As shown, example environment 100 may include a backup manager 110 and a backup system 120. Backup manager 110 may be implemented, for example, using any physical host, server, virtual machine, etc. Backup system 120 may include a backup server 121 and multiple backup clients 122-1, 122-2, and 122-3 (collectively or individually referred to as "backup clients 122"). Backup server 121 communicates with backup clients 122 via network 130 and is configured to back up data at one or more backup clients 122. Backup server 121 and / or backup clients 122 may be implemented, for example, using any physical host, server, virtual machine, etc.

[0024] In some embodiments, the backup manager 110 can obtain a status 101 of the backup system 120. The status 101 can include, for example, the status of the backup server 121 (also referred to as "server status"), the status of multiple backup clients 122 (also referred to as "client status"), and the network status. In some embodiments, the status of the backup server 121 can include, for example, at least one of the following: storage usage at the backup server 121, CPU usage at the backup server 121 (e.g., during data backup for one or more backup clients 122), memory usage at the backup server 121 (e.g., during data backup for one or more backup clients 122), and input / output (I / O) operation usage at the backup server 121. In some embodiments, the status of each backup client 122 may include, for example, at least one of the following: CPU usage of the backup client 122 (e.g., during data backup), memory usage of the backup client 122 (e.g., during data backup), I / O operation usage of the backup client 122 (e.g., during data backup), number of files at the backup client 122, size of data at the backup client 122, duration of the last data backup performed on the backup client 122, and result (e.g., success or failure) of the last data backup performed on the backup client 122. In some embodiments, the network status may include round-trip latency of the network and / or network bandwidth available for data backup.

[0025] In some embodiments, the backup manager 110 may determine a reward score 102 for the state 101 of the backup system 120. The reward score 102 may be, for example, a reward for the last backup action performed by the backup system 120, which may be obtained based on the state 101 of the backup system 120. In some embodiments, for example, the backup server 121 may include multiple backup tasks for performing data backups for multiple backup clients 122, wherein each backup task may correspond to one backup client 122 and each backup client 122 may correspond to one or more backup tasks (for example, different backup tasks may be created for different data types or different disks at each backup client 122). In some embodiments, the state 101 of the backup system 120 may indicate the duration and result of the last execution of each of the multiple backup tasks. In some embodiments, the backup manager 110 may determine the reward score 102 based on the duration and result of the last execution of each of the multiple backup tasks, as shown in the following formula (1):

[0026]

[0027] Where N represents the number of backup tasks; T n represents the duration of the last execution of the nth backup task; and P n Represents the result of the last execution of the nth backup task, for example, 1 represents success and 0 represents failure. As can be seen from formula (1), when the backup task in the backup system is successfully completed in a shorter time, a higher reward score can be obtained. Reward score 102 can be used to measure the quality of the current status 101 of the backup system 120. Alternatively, in other embodiments, reward score 102 can also be determined based on other information indicated in the status 101 of the backup system 120.

[0028] In some embodiments, the backup manager 110 may determine configuration information 103 for the backup system 120 based on the backup system 120 status 101 and the reward score 102. This configuration information 103 corresponds to the backup action to be performed by the backup system 120. For example, this configuration information 103 may indicate the time schedule for the backup server 121 to perform data backups for multiple backup clients 122. Hereinafter, "configuration information" for the backup system may also be referred to as a "backup action." In some embodiments, the configuration information 103 may be represented using a 1×N array, where N represents the number of backup tasks and each element in the array represents the time at which the corresponding backup task is to be executed. It should be understood that N will change dynamically as the number of backup clients and / or backup tasks changes. In some embodiments, the backup manager 110 may configure the configuration information 103 to the backup server 121. Based on this configuration information 103, the backup server 121 will perform data backups for one or more of the multiple backup clients 122 at the specified time.

[0029] In some embodiments, the backup manager 110 can utilize a neural network to determine the backup action to be performed by the backup system 120 based on the state 101 and the reward score 102 of the backup system 120. This neural network can be designed, for example, based on the Deep Deterministic Policy Gradient (DDPG) algorithm to implement continuous control. The DDPG algorithm is designed based on the Deep Q-Network (DQN) and improves the stability and convergence of the Actor-Critic (Actor-Critic) network, making it more suitable for handling backup planning problems for backup systems.

[0030] Figure 2 FIG. 2 shows a schematic block diagram of a neural network 200 for managing a backup system according to an embodiment of the present disclosure. The neural network 200 can be used, for example, in Figure 1 The backup manager 110 is shown as being implemented therein.

[0031] like Figure 2As shown, the neural network 200 may generally include a performer network 210 and a critic network 260, both of which may receive the state 101 of the backup system 120. The performer network 210 and the critic network 260 are coupled to each other. The neural network 200 may also include an action gradient module 220 and a policy gradient module 230, both of which are used to update the network parameters of the performer network 210 based on the output of the critic network 260. Hereinafter, the action gradient module 220 and the policy gradient module 230 are also collectively referred to as the "first sub-network" for updating the network parameters of the performer network 210. The neural network 200 may also include a temporal difference (TD) error module 240 and a target Q network 250, both of which are used to update the network parameters of the critic network 260 based on the output of the critic network 260 and the reward score 102 corresponding to the state 101. Hereinafter, the TD error module 240 and the target Q network 250 are also collectively referred to as the "second sub-network" for updating the network parameters of the critic network 260.

[0032] Figure 3A FIG. 2 shows a schematic diagram for training a performer network 210 according to an embodiment of the present disclosure. Figure 3A As shown, the performer network 210 may include a performer evaluation network 211 and a performer target network 212, wherein the network parameters of the performer evaluation network 211 (also referred to as "first network parameters") may be updated as the performer network 210 is trained, and the network parameters of the performer target network 212 are typically determined based on empirical values ​​and may be constant.

[0033] The performer evaluation network 211 and the performer target network 212 may receive the status 301 of the backup system 120 at the current moment (e.g., it may be Figure 1101 shown). The performer evaluation network 211 can determine a backup action 302 at the current moment based on the state 301 obtained at the current moment and the first network parameter. The performer target network 212 can determine a target backup action 303 at the current moment based on the state 301 obtained at the current moment. The backup action 302 and the target backup action 303 can be provided to the critic network 260. The critic network 260 can generate an evaluation 304 for the backup action 302 based on the backup action 302, the target backup action 303, and the state 301 of the backup system 120 at the current moment, and provide the evaluation 304 to the action gradient module 220. The action gradient module 220 can determine an action gradient 305 for the evaluation 304 with respect to the backup action 302, and provide the action gradient 305 to the policy gradient module 230. The policy gradient module 230 can determine a policy gradient 306 for the first network parameter with respect to the backup action 302, wherein the action gradient 305 will determine how fast the policy gradient rises. Policy gradient 306 is used to update the network parameters (i.e., first network parameters) of performer evaluation network 211, so that performer evaluation network 211 determines the backup action at the next moment based on the state of backup system 120 obtained at the next moment (e.g., after backup action 302 is applied to backup system 120) and the updated first network parameters. During the training of performer network 210, the network parameters of policy gradient module 230 and performer evaluation network 211 are updated.

[0034] Figure 3B FIG. 2 shows a schematic diagram for training a reviewer network 260 according to an embodiment of the present disclosure. Figure 3B As shown, the critic network 260 may include a critic evaluation network 261 and a critic target network 262, wherein the network parameters of the critic evaluation network 261 (also referred to as "second network parameters") may be updated as the critic network 260 is trained, and the network parameters of the critic target network 262 are generally determined based on empirical values ​​and may be unchanged.

[0035] The critic evaluation network 261 may receive the backup action 302 at the current moment provided by the performer evaluation network 211, and determine an evaluation 304 for the backup action 302 based on the state 301 of the backup system 120 at the current moment and the second network parameter. The critic target network 262 may receive the target backup action 303 at the current moment provided by the performer target network 212, and determine a target evaluation 307 for the target backup action 303 based on the state 301 of the backup system 120 at the current moment. The evaluation 304 and the target evaluation 307 may be provided to the TD error module 240. The TD error module 240 may determine an error 308 between the evaluation 304 and the target evaluation 307, and provide the error 308 to the target Q network 250. The target Q network 250 may determine the target evaluation 307 based on the reward score 309 corresponding to the state 301 (e.g., which may be as shown in FIG. 2 ). Figure 1 The reward score 102 shown in FIG. 1 and the error 308 are used to generate an output 310 for updating the network parameters (i.e., the second network parameters) of the critic evaluation network 261, so that the critic evaluation network 261 determines the evaluation of the backup action at the next moment provided by the performer evaluation network 211 based on the state of the backup system 120 obtained at the next moment (e.g., after the backup action 302 is applied to the backup system 120) and the updated second network parameters. During the training of the critic network 260, the network parameters of the TD error module 240, the target Q network 250, and the critic evaluation network 261 will be updated.

[0036] In this way, by training the performer network 210 and the critic network 260, Figure 2 The neural network 200 shown can automatically adjust the configuration information (i.e., backup actions) for the backup system 120 in real time based on the acquired status of the backup system 120, thereby improving the performance of the backup system 120. Since a large number of manual operations for managing the backup system are replaced by artificial intelligence, the management overhead of the backup system 120 will be greatly reduced.

[0037] Figure 4 FIG. 4 is a flow chart showing an example method 400 for managing a backup system according to an embodiment of the present disclosure. For example, the method 400 may be performed by Figure 1 The following is performed by the backup manager 110 shown in FIG. Figure 1 It should be understood that the method 400 may also include additional actions not shown and / or may omit actions shown, and the scope of the present disclosure is not limited in this respect.

[0038] At block 410 , the backup manager 110 obtains a status of a backup system including a backup server and at least one backup client, the backup server being communicatively coupled to the at least one backup client via a network and configured to back up data at the at least one backup client.

[0039] In some embodiments, the status of the backup system includes at least one of: a server status of the backup server; a client status of each of the at least one backup client; and a network status of the network.

[0040] In some embodiments, the server status includes at least one of the following: storage usage of the backup server; CPU usage of the backup server; memory usage of the backup server; and input / output operation usage of the backup server.

[0041] In some embodiments, the client status of the backup client includes at least one of the following: CPU usage of the backup client; memory usage of the backup client; input / output operation usage of the backup client; the number of files at the backup client; the size of data at the backup client; the duration of the last data backup performed on the backup client; and the results of the last data backup performed on the backup client.

[0042] In some embodiments, the network status includes at least one of: a round trip delay of the network; and an available network bandwidth of the network.

[0043] At block 420 , the backup manager 110 determines a reward score corresponding to the status of the backup system.

[0044] In some embodiments, the backup server includes a plurality of backup tasks for performing data backup for at least one backup client, and the status of the backup system indicates a duration and a result of a last execution of each of the plurality of backup tasks. In some embodiments, determining the reward score includes determining the reward score based on the duration and the result of the last execution of each of the plurality of backup tasks.

[0045] At block 430 , the backup manager 110 determines configuration information for the backup system based on the status of the backup system and the reward score, the configuration information indicating a time schedule for the backup server to perform data backup on at least one backup client.

[0046] In some embodiments, determining the configuration information includes: determining the configuration information for the backup system using a neural network based on the status of the backup system and the reward score.

[0047] In some embodiments, the neural network includes a performer network and a critic network, the performer network includes a performer evaluation network and a performer target network, the critic network includes a critic evaluation network and a critic target network, and the neural network further includes a first sub-network for updating first network parameters of the performer evaluation network and a second sub-network for updating second network parameters of the critic evaluation network.

[0048] In some embodiments, the performer evaluation network is configured to determine configuration information for the backup system at the current moment based on the state of the backup system obtained at the current moment and the first network parameter of the performer evaluation network, and the configuration information is provided to the critic evaluation network.

[0049] In some embodiments, the performer target network is configured to determine target configuration information for the backup system at the current moment based on the state of the backup system acquired at the current moment, and the target configuration information is provided to the critic target network.

[0050] In some embodiments, the reviewer evaluation network is configured to determine an evaluation of the configuration information based on the status of the backup system acquired at the current moment and a second network parameter of the reviewer evaluation network, and provide the evaluation to the first sub-network and the second sub-network.

[0051] In some embodiments, the reviewer target network is configured to determine a target evaluation of the target configuration information based on a status of the backup system obtained at a current moment, and the target evaluation is provided to the second sub-network.

[0052] In some embodiments, the first sub-network is configured to update a first network parameter based on the evaluation.

[0053] In some embodiments, the second sub-network is configured to update second network parameters based on a difference between the evaluation and the target evaluation and the reward score.

[0054] Figure 5 1 shows a schematic block diagram of an example device 500 that can be used to implement embodiments of the present disclosure. Figure 1 The backup manager 110 shown may be implemented by the device 500. Figure 5As shown, the device 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 502 or loaded from a storage page 508 into a random access memory (RAM) 503. Various programs and data required for the operation of the device 500 can also be stored in the RAM 503. The CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0055] Various components in device 500 are connected to I / O interface 505, including: input unit 506, such as a keyboard, mouse, etc.; output unit 507, such as various types of displays, speakers, etc.; storage unit 508, such as a magnetic disk, optical disk, etc.; and communication unit 509, such as a network card, modem, wireless communication transceiver, etc. Communication unit 509 allows device 500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0056] The various processes and processing described above, such as method 400, may be performed by processing unit 501. For example, in some embodiments, method 400 may be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as storage page 508. In some embodiments, part or all of the computer program may be loaded and / or installed onto device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by CPU 501, one or more actions of method 400 described above may be performed.

[0057] 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 carrying computer-readable program instructions for executing various aspects of the present disclosure.

[0058] Computer-readable storage media can be a tangible device that can hold and store instructions used by an instruction execution device. Computer-readable storage media can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (non-exhaustive list) of computer-readable storage media include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, for example, a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination thereof. The computer-readable storage media used herein is not to be interpreted as a transient signal itself, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagated by a waveguide or other transmission medium (for example, a light pulse by a fiber optic cable), or an electrical signal transmitted by a wire.

[0059] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, 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 can include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions to be stored in the computer-readable storage medium in each computing / processing device.

[0060] The computer program instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Smalltalk, C++, and conventional procedural programming languages ​​such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., utilizing an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions. The electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present disclosure.

[0061] Various aspects of the present disclosure are described herein with reference to flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, and combinations of blocks in the flowcharts and / or block diagrams, can be implemented by computer-readable program instructions.

[0062] 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 device, thereby producing a machine such that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device is generated that implements the functions / actions specified in one or more blocks in the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, where these instructions cause the computer, programmable data processing device, and / or other device to operate in a specific manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing various aspects of the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0063] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more blocks in the flowchart and / or block diagram.

[0064] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the systems, methods and computer program products according to multiple embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and the part of the module, program segment or instruction contains one or more executable instructions for realizing the prescribed logical function. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the prescribed function or action, or can be implemented by a combination of dedicated hardware and computer instructions.

[0065] While various embodiments of the present disclosure have been described above, the foregoing description is intended to be illustrative, non-exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, their practical applications, or technical improvements to existing technologies, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A method for managing a backup system, include: Acquiring a status of a backup system, the backup system comprising a backup server and at least one backup client, the backup server being communicatively coupled to the at least one backup client via a network and being used to back up data at the at least one backup client; determining a reward score corresponding to the state of the backup system, wherein the backup server includes a plurality of backup tasks for performing data backup for the at least one backup client, and the state of the backup system indicates a duration and a result of a last execution of each of the plurality of backup tasks, and determining the reward score comprises: determining the reward score based on the duration and the result of the last execution of each backup task, wherein the less the completion time of each backup task in the backup system is, the higher the reward score is; determining configuration information for the backup system using a neural network based on the state of the backup system and the reward score; and Based on the configuration information for the backup system, a time schedule for the backup server to perform data backup on the at least one backup client is reconfigured in real time.

2. The method according to claim 1, wherein the status of the backup system comprises at least one of the following: The server status of the backup server; a client status of each backup client of the at least one backup client; and The network status of the network.

3. The method according to claim 2, wherein the server status comprises at least one of the following: Storage usage of the backup server; CPU usage of the backup server; Memory usage of the backup server; and The input / output operation usage of the backup server.

4. The method according to claim 2, wherein the client status of the backup client comprises at least one of the following: CPU usage of the backup client; Memory usage of the backup client; Input / output operation usage of the backup client; The number of files at the backup client; The data size at the backup client; the duration of the last data backup performed on the backup client; as well as The result of the last data backup performed on the backup client.

5. The method according to claim 2, wherein the network status comprises at least one of the following: the round trip delay of the network; and The available network bandwidth of the network.

6. The method of claim 1, wherein the neural network comprises a performer network and a critic network, the performer network comprises a performer evaluation network and a performer target network, the critic network comprises a critic evaluation network and a critic target network, the neural network further comprises a first sub-network for updating a first network parameter of the performer evaluation network and a second sub-network for updating a second network parameter of the critic evaluation network, and in: The performer evaluation network is configured to: determine the configuration information for the backup system at the current moment based on the state of the backup system acquired at the current moment and the first network parameter of the performer evaluation network, the configuration information being provided to the critic evaluation network; The performer target network is configured to: determine target configuration information for the backup system at the current moment based on the state of the backup system acquired at the current moment, the target configuration information being provided to the critic target network; The reviewer evaluation network is configured to: determine an evaluation of the configuration information based on the state of the backup system acquired at the current moment and the second network parameter of the reviewer evaluation network, the evaluation being provided to the first sub-network and the second sub-network; The reviewer target network is configured to: determine a target evaluation of the target configuration information based on the state of the backup system acquired at the current moment, and the target evaluation is provided to the second sub-network; The first sub-network is configured to: update the first network parameter based on the evaluation; as well as The second sub-network is configured to update the second network parameters based on a difference between the evaluation and the target evaluation and the reward score.

7. The method according to claim 1, wherein the neural network is based on a deep deterministic policy gradient (DDPG) algorithm for achieving continuous control, and the DDPG algorithm is designed based on a deep Q network (DQN). 8 . The method according to claim 1 , wherein the configuration information is represented by a 1×N array, N represents the number of backup tasks, and each element in the 1×N array indicates the execution time of the corresponding backup task.

9. A device for managing a backup system, include: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the apparatus to perform actions comprising: Acquiring a status of a backup system, the backup system comprising a backup server and at least one backup client, the backup server being communicatively coupled to the at least one backup client via a network and being used to back up data at the at least one backup client; determining a reward score corresponding to the state of the backup system, wherein the backup server includes a plurality of backup tasks for performing data backup for the at least one backup client, and the state of the backup system indicates a duration and a result of a last execution of each of the plurality of backup tasks, and determining the reward score comprises: determining the reward score based on the duration and the result of the last execution of each backup task, wherein the less the completion time of each backup task in the backup system is, the higher the reward score is; determining configuration information for the backup system using a neural network based on the state of the backup system and the reward score; and Based on the configuration information for the backup system, a time schedule for the backup server to perform data backup on the at least one backup client is reconfigured in real time.

10. The apparatus according to claim 9, wherein the state of the backup system comprises at least one of the following: The server status of the backup server; a client status of each backup client of the at least one backup client; and The network status of the network.

11. The apparatus according to claim 10, wherein the server status comprises at least one of the following: Storage usage of the backup server; CPU usage of the backup server; Memory usage of the backup server; and The input / output operation usage of the backup server.

12. The apparatus according to claim 10, wherein the client status of the backup client comprises at least one of the following: CPU usage of the backup client; Memory usage of the backup client; Input / output operation usage of the backup client; The number of files at the backup client; The data size at the backup client; the duration of the last data backup performed on the backup client; as well as The result of the last data backup performed on the backup client.

13. The apparatus according to claim 10, wherein the network status comprises at least one of the following: the round trip delay of the network; and The available network bandwidth of the network.

14. The apparatus of claim 9, wherein the neural network comprises a performer network and a critic network, the performer network comprises a performer evaluation network and a performer target network, the critic network comprises a critic evaluation network and a critic target network, the neural network further comprises a first sub-network for updating a first network parameter of the performer evaluation network and a second sub-network for updating a second network parameter of the critic evaluation network, and in: The performer evaluation network is configured to: determine the configuration information for the backup system at the current moment based on the state of the backup system acquired at the current moment and the first network parameter of the performer evaluation network, the configuration information being provided to the critic evaluation network; The performer target network is configured to: determine target configuration information for the backup system at the current moment based on the state of the backup system acquired at the current moment, the target configuration information being provided to the critic target network; The reviewer evaluation network is configured to: determine an evaluation of the configuration information based on the state of the backup system acquired at the current moment and the second network parameter of the reviewer evaluation network, the evaluation being provided to the first sub-network and the second sub-network; The reviewer target network is configured to: determine a target evaluation of the target configuration information based on the state of the backup system acquired at the current moment, and the target evaluation is provided to the second sub-network; The first sub-network is configured to: update the first network parameter based on the evaluation; as well as The second sub-network is configured to update the second network parameters based on a difference between the evaluation and the target evaluation and the reward score.

15. A computer program product tangibly stored in a computer storage medium and comprising machine executable instructions which, when executed by a device, cause the device to perform the method according to any one of claims 1-8.